Das Open-Control-Projekt - Die Alternative zur C-Control-I


Das Forum zur C-Control-1
Welche C-Control-Varianten existieren?
Übersicht - Suchen - Neueste 50 Beiträge - Neuer Beitrag - Login - Registrieren
INFO - FAQ - CC2-Forum - CCPro-Forum 

 Statistikdaten ans Ende des USERFLASHs kopieren Kategorie: Open-Micro/Open-Mini/Open-Midi/Open-Macro/Open-Maxi (von Dietmar, Homepage - 30.08.2025 14:48)
 Als Antwort auf Statistik-Challenge: Statistik-Tabelle resident laden von das |_ Team - 3.08.2025 20:43
Dietmar nutzt:  Open-Micro, Open-Mini, Open-Midi, Open-Macro, Open-Maxi, Open-Mini Station
' -----------------------------------------------------------------------
' Statistik-Challenge: Auswertung Aufrufzahlen des C-Control/Intern Forum
' von Beitrag 1 bis 18165 - mit ansteigender Funktionalitaet. Mitmachen!
' Unter 1,6 Sekunden bleiben. Weitere Informationen im Forum (siehe Link).
' Link: https://ccintern.dharlos.de/forum/lesen.php?eintrag=18200
' ------------------------------------------------------------------------

' Statistikdaten ans Ende des USERFLASHs kopieren. Von Dietmar.

' Da die Originaltabelle überschrieben wird, kann dieses Programm immer
' nur einmal nach jeder Programmübertragung ausgeführt werden.

'option OPENMAXI
INCLUDE "omax.def"              'Definitionen fuer die Open-Maxi

DEFINE PUSH AD[1]
'DEFINE End2Host ivar [88]  ' bei END in den Hostmodus (unabh. vom START-Pin)

DIM von WORD
DIM bis WORD
DIM nach WORD
DIM adr WORD
DIM anzp WORD

DEFINE NVFCDIV &hffc7
DIM asmfrom WORD
DIM asmto   WORD
DIM asmzaehler WORD

#MARK_CODE_START
End2Host=ON

?"FSTATEND.BAS ":? 'Erste PRINT String Anweisung im Quelltext als Label nutzen (Lbit-Konvention).

PRINT "Tabellenindices in Datei: ("; : LOOKTAB Anzahl_Aufrufe,0,PUSH:?POP ;" Beitraege)"
PRINT
PRINT "Statistikdaten vom: "; : LOOKTAB Aufrufe_InfoID,2,PUSH:?POP; : LOOKTAB Aufrufe_InfoID,3,PUSH:?POP
PRINT "Update vorschlagen: "; : LOOKTAB Aufrufe_InfoID,4,PUSH:?POP; : LOOKTAB Aufrufe_InfoID,5,PUSH:?POP
PRINT

von=UPROGBASE+LOOKTAB(Anzahl_Aufrufe,-1)
bis=UPROGBASE+LOOKTAB(Aufrufe_InfoID,-1)
nach=&hfe00

PrintHex=ON
PRINT "Startadresse: "; : ?von      '(Include-Datei https://image.ghn-sensorik.de/L-Team/AUFRUF3a.TAB)
PRINT "Endadresse  : "; : ?bis      '(Include-Datei https://image.ghn-sensorik.de/L-Team/AUFRUF3a.INF)
PRINT "Beginn von OS2: "; : ?nach
PrintHex=OFF
PRINT "Um ";nach-bis;" Bytes nach hinten verschieben."

anzp=((bis-von+511) SHR 9) AND &b1111111      'Anzahl der Pages, die kopiert werden müssen
PRINT "anzp: "anzp

PrintHex=ON
WHILE anzp
  SUB nach,512
  SUB bis,512
  ?"Kopiere 512 Bytes von "bis" nach "nach".

  asmfrom=bis
  asmto=nach
  asmcopy

  SUB anzp,1
WEND
PrintHex=OFF

END

?"###";

FOR adr=0 TO 65535
  PUT PEEK(adr)
NEXT adr

END

' -----------------------------------------------------------------------

' USERFLASH-Speicherbereiche mittels Firmwareroutine verschieben

PROC asmcopy INLASM

' Auf der Open-Maxi muß FCDIV initialisiert werden, nur vor Einstieg in den
' Hostmode wird es vom OS automatisch gemacht.

! lda NVFCDIV
! sta FCDIV            'fFCLK = 20 MHz /8 /13 = 192.3 kHz (one-time writeable)

! ldhx #512
! sthx asmzaehler

#asmcopy_loop

! ldhx asmfrom
! lda ,x

! ldhx asmto

! pushx
! jsr FwW2Flash
! popx

! ldhx asmfrom
! aix #1
! sthx asmfrom

! ldhx asmto
! aix #1
! sthx asmto

! ldhx asmzaehler
! aix #-1
! sthx asmzaehler
! bne asmcopy_loop

! rts

END PROC

' -----------------------------------------------------------------------

include "OM_FW.PRO"

'"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""'
 GOTO MARK_DATA_START 'Codelabel-Trick zur Adressermittlung der Tabelle, sh."
 #MARK_DATA_START'https://ccintern.dharlos.de/forum/lesen.php?eintrag=17085 """"""
 Include "AUFRUF3a.TAB"'(https://image.ghn-sensorik.de/L-Team/AUFRUF3a.TAB) "    "
'"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""'    "
'"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""'    "
 GOTO MARK_DATA_FINAL 'Codelabel-Trick zur Adressermittlung der Tabelle, sh."    "
 #MARK_DATA_FINAL'https://ccintern.dharlos.de/forum/lesen.php?eintrag=17085 """"""
 Include "AUFRUF3a.INF"'(https://image.ghn-sensorik.de/L-Team/AUFRUF3a.INF) "
'"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""


Meine Homepage: http://ccintern.dharlos.de

 Antwort schreiben

Bisherige Antworten:

Statistikdaten am Ende des USERFLASHs lesen (von Dietmar - 30.08.2025 14:52)