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 

 Fehler gefunden... Kategorie: Programmierung Basic (von das |_ Team - 11.09.2025 22:02)
 Als Antwort auf Speichermonitor - Optimierungsgesuch von das |_ Team - 2.01.2024 23:05
das |_ Team nutzt:  CC1-Unit V1.1, CC1-M-Unit V1.1, CC1-Station V1.1, Open-Micro, Open-Mini, Open-Midi, Open-Macro, Open-Maxi, Open-Mini M-Unit, Open-Mini Station, C-Control 2
Ich habe den Fehler jetzt lokalisiert:


Das 'NoHi' muss nach dem ersten END IF stehen!


Bei Platzierung hinter dem zweiten 'END IF' wird am Ende jeder Zifferngruppe die ANSI-Sequenz zur Rücksetzung der Farbattribute auch ausgegeben. Diese wird aber nur benötigt wenn eine direkt vorstehende Zifferngruppe durch die Highlightfunktion farblich hervorgehoben ist.
Erkannt habe ich den subtilen Fehler erst, nachdem ich ein Terminalprogramm ohne ANSI-Unterstützung zum Testen verwendet habe.

Nur die zu langsame Ausgabegeschwindigkeit war mir aufgefallen. Mit der heutigen Korrektur benötigt das Programm auf meiner Original C-Control 1.1 etwa 10 Sekunden weniger für die ursprüngliche Aufgabe. Siehe vorstehenden Post. \\


Beispielausgabe mit überschüssigen ANSI-Steuersequenzen enthalten:

?[34;47m ~ 07440ms   ?[1;37;44m  (A),(M),(Q),(H)=233?[0m,?[34;47m250?[0ma????????????????????????[34;47m(A)=       ???????500
 00500 (HiByte=001 LoByte=244)?[0m

 00500 001_244; 039?[0m 032?[0m 031?[0m 032?[0m  067?[0m 067?[0m 049?[0m 046?[0m  049?[0m 045?[0m 056?[0m 053?[0m  ' . CC1.1-85
 00512 002_000; 053?[0m 045?[0m 052?[0m 048?[0m  052?[0m 032?[0m 100?[0m 097?[0m  115?[0m 032?[0m 124?[0m 095?[0m  5-404 das |_
 00524 002_012; 032?[0m 084?[0m 101?[0m 097?[0m  109?[0m 032?[0m 040?[0m 000?[0m  005?[0m 013?[0m 220?[0m 026?[0m   Team (..._.
 00536 002_024; 010?[0m 005?[0m 015?[0m 046?[0m  031?[0m 044?[0m 000?[0m 005?[0m  013?[0m 252?[0m 026?[0m 010?[0m  .....,...n..
 00548 002_036; 005?[0m 015?[0m 046?[0m 031?[0m  044?[0m 000?[0m 005?[0m 014?[0m  028?[0m 026?[0m 000?[0m 005?[0m  ....,.......
 00560 002_048; 014?[0m 060?[0m 026?[0m 010?[0m  023?[0m 000?[0m 023?[0m 010?[0m  051?[0m 026?[0m 000?[0m 005?[0m  .<......3...
 00572 002_060; 014?[0m 124?[0m 026?[0m 010?[0m  023?[0m 000?[0m 023?[0m 010?[0m  051?[0m 026?[0m 000?[0m 023?[0m  .|......3...
 00584 002_072; 000?[0m 020?[0m 000?[0m 000?[0m  062?[0m 004?[0m 002?[0m 088?[0m  020?[0m 127?[0m 255?[0m 026?[0m  ....>..X.¦ .
 00596 002_084; 010?[0m 003?[0m 002?[0m 092?[0m  023?[0m 000?[0m 026?[0m 010?[0m  005?[0m 015?[0m 046?[0m 031?[0m  ...\........
 00608 002_096; 041?[0m 032?[0m 000?[0m 005?[0m  016?[0m 226?[0m 026?[0m 010?[0m  005?[0m 015?[0m 046?[0m 020?[0m  ) ...G......
 00620 002_108; 000?[0m 216?[0m 025?[0m 023?[0m  005?[0m 012?[0m 166?[0m 005?[0m  011?[0m 166?[0m 020?[0m 000?[0m  .+....ª..ª..
 00632 002_120; 217?[0m 025?[0m 023?[0m 005?[0m  012?[0m 166?[0m 020?[0m 000?[0m  218?[0m 025?[0m 023?[0m 005?[0m  +....ª..+...
 00644 002_132; 012?[0m 166?[0m 022?[0m 023?[0m  020?[0m 000?[0m 218?[0m 065?[0m  004?[0m 002?[0m 146?[0m 003?[0m  .ª....+A..Æ.
 00656 002_144; 002?[0m 195?[0m 020?[0m 000?[0m  008?[0m 027?[0m 000?[0m 004?[0m  026?[0m 010?[0m 020?[0m 000?[0m  .+..........
 00668 002_156; 013?[0m 027?[0m 000?[0m 004?[0m  026?[0m 011?[0m 031?[0m 013?[0m  010?[0m 000?[0m 022?[0m 020?[0m  ............
 00680 002_168; 032?[0m 022?[0m 021?[0m 032?[0m  022?[0m 022?[0m 032?[0m 022?[0m  023?[0m 032?[0m 031?[0m 032?[0m   .. .. .. .
 00692 002_180; 124?[0m 095?[0m 032?[0m 062?[0m  032?[0m 060?[0m 000?[0m 020?[0m  000?[0m 008?[0m 032?[0m 020?[0m  |_ > <.... .
?[34;47m ~ 07440ms   ?[1;37;44m  (A),(M),(Q),(H)=233?[0m,?[34;47m250?[0m



Beispielausgabe nach Berichtigung des Codes:


?[34;47m ~ 06240ms   ?[1;37;44m  (A),(M),(Q),(H)=233?[0m,?[34;47m250?[0ma????????????????????????[34;47m(A)=       ???????500
 00500 (HiByte=001 LoByte=244)?[0m

 00500 001_244; 039 032 031 032  067 067 049 046  049 045 056 053  ' . CC1.1-85
 00512 002_000; 053 045 052 048  052 032 100 097  115 032 124 095  5-404 das |_
 00524 002_012; 032 084 101 097  109 032 040 000  005 013 220 026   Team (..._.
 00536 002_024; 010 005 015 046  031 044 000 005  013 252 026 010  .....,...n..
 00548 002_036; 005 015 046 031  044 000 005 014  028 026 000 005  ....,.......
 00560 002_048; 014 060 026 010  023 000 023 010  051 026 000 005  .<......3...
 00572 002_060; 014 124 026 010  023 000 023 010  051 026 000 023  .|......3...
 00584 002_072; 000 020 000 000  062 004 002 088  020 127 255 026  ....>..X.¦ .
 00596 002_084; 010 003 002 092  023 000 026 010  005 015 046 031  ...\........
 00608 002_096; 041 032 000 005  016 226 026 010  005 015 046 020  ) ...G......
 00620 002_108; 000 216 025 023  005 012 166 005  011 166 020 000  .+....ª..ª..
 00632 002_120; 217 025 023 005  012 166 020 000  218 025 023 005  +....ª..+...
 00644 002_132; 012 166 022 023  020 000 218 065  004 002 146 003  .ª....+A..Æ.
 00656 002_144; 002 195 020 000  008 027 000 004  026 010 020 000  .+..........
 00668 002_156; 013 027 000 004  026 011 031 013  010 000 022 020  ............
 00680 002_168; 032 022 021 032  022 022 032 022  023 032 031 032   .. .. .. .
 00692 002_180; 124 095 032 062  032 060 000 020  000 008 032 020  |_ > <.... .
?[34;47m ~ 06240ms   ?[1;37;44m  (A),(M),(Q),(H)=233?[0m,?[34;47m250?[0m


Hier der berichtigte Codeteil:

 
 Procedure PrintLZHLbyte(b6) ' (Print with LeadingZerosHighLightBytes.)
 
 '3-stellige Dezimalausgabe eines Bytes mit fuehrenden Nullen und farblicher Hervorhebung bei Uebereinstimmung mit b19, bzw. b20:
 
      Put " "
 
      IF (b6 >< b19) AND (b6 >< b20) THEN
 
          PrintLZ(b6)
 
        ELSE
 
          IF b6=b19  THEN
           
            HiA : PrintLZ(b6)
         
             ELSE
           
            HiB : PrintLZ(b6)
         
          END IF
         
          NoHi ' Farbattribute nur setzen wenn zuvor 'HiA' und/oder 'HiB' durchlaufen wurden

      END IF
 
      '''NoHi - an dieser Stelle falsch (ca. 1,2 Sekunden mehr Zeitbedarf je Ausgabeabschnitt @9615 bd)
 
 RETURN


@Dietmar - Vielen Dank für den Tipp!



Passender Link: Imagedatei für C-Control 1.1 (8KB, 4MHz)

 Antwort schreiben

Bisherige Antworten: