I jeszcze jeden szybki test, procedura odczytu bajtu z "mini/pack":
F65D: A0 08 LDY #$08
F65F: AD 1F D0 LDA CONSOL
F662: F0 D8 BEQ $F63C
F664: 20 25 F7 JSR $F725 ;[contract]
F725: A9 10 LDA #$10
F727: 2C 0F D2 BIT SKSTAT
F72A: 60 RTS
F667: D0 F6 BNE $F65F
F669: A2 00 LDX #$00
F66B: 8E 1A D0 STX COLBK
F66E: E8 INX
F66F: 30 1C BMI $F68D
F671: 2C 0F D2 BIT SKSTAT
F674: F0 F8 BEQ $F66E
F676: A9 08 LDA #$08
F678: 8D 1A D0 STA COLBK
F67B: E0 36 CPX #$36
F67D: B0 0A BCS $F689
F67F: 66 49 ROR $49
F681: E0 1B CPX #$1B
F683: 26 30 ROL STATUS
F685: 88 DEY
F686: D0 D7 BNE $F65F
F688: 60 RTSi tej wersji która patchowałem;
0758: A0 08 LDY #$08
075A: EA NOP
075B: AD 1F D0 LDA CONSOL
075E: F0 D6 BEQ $0736
0760: 20 5E 08 JSR $085E ;[contract]
085E: A9 10 LDA #$10
0860: 2C 0F D2 BIT SKSTAT
0863: 60 RTS
0763: D0 F6 BNE $075B
0765: A2 00 LDX #$00
0767: 8E 1A D0 STX COLBK
076A: E8 INX
076B: 30 1E BMI $078B
076D: 2C 0F D2 BIT SKSTAT
0770: F0 F8 BEQ $076A
0772: A9 08 LDA #$08
0774: 8D 1A D0 STA COLBK
0777: EC 0A 07 CPX $070A
077A: B0 0B BCS $0787
077C: 66 49 ROR $49
077E: EC 0B 07 CPX $070B
0781: 26 30 ROL STATUS
0783: 88 DEY
0784: D0 D5 BNE $075B
0786: 60 RTS
compare_table:
070A: 36 1BRóżnice są kosmetyczne! Właściwie nie powinno to mieć żadnego znaczenia. Wersja "patched" ma właściwe kod tożsamy z tym co się znajdzie w "KSO 2000", tzn. wartości do porównań długości zmierzonych impulsów pobiera z tabeli, wersja "mini&pack" ma te długości zaszyte bezpośrednio w kodzie. Różnica jest taka że CPX $xxxx od CPX #$xx wykonuje się o dwa cykle dłużej.
U mnie działają wszystkie z tych wersji. Naprawdę nie wiem co może być przyczyną tego że u Ciebie nie działa. Próbowałeś ładować jakoś inaczej niż z AVG? SIO2PC? (np. używając RespeQT i Boot Atari Executable)? Ew. czy możesz sprawdzić jeszcze czy jeżeli wykonasz po załadowaniu tej mojej wersji "patched" warm-start (RESET) to czy to cokolwiek zmienia?












