JIDLE - Hauptleerschleife ($ebe7)
B0F0: 78 SEI
B0F1: A9 10 LDA #$10 automatische ATN-Beantwortung einschalten
B0F3: 8D 01 40 STA $4001 Bus-Leitungen freigeben
B0F6: 58 CLI
B0F7: A5 7B LDA $7B Ist das Befehlsmodus-Flag gesetzt ?
B0F9: F0 0A BEQ $B105 nein, ==>
B0FB: A9 00 LDA #$00 Flag loeschen
B0FD: 85 7B STA $7B
B0FF: 20 04 80 JSR $8004 und Befehl auswerten
B102: 20 BB AC JSR $ACBB FSM abschliessen
Einsprung von $B0F9, $B158:
B105: 58 CLI
B106: A9 01 LDA #$01 Bus-Modus-Flag testen
B108: 24 76 BIT $76 b0=1: Ist ein ATN aufgetreten ?
B10A: F0 03 BEQ $B10F nein, ==>
B10C: 4C 30 FF JMP $FF30 JATNSRV: ATN bedienen
Drive-LED ein-/ausschalten
Einsprung von $B10A:
B10F: A5 87 LDA $87 Ist der Cachepuffer veraendert ?
B111: D0 1E BNE $B131 ja, (LED an) ==>
B113: A0 09 LDY #$09 8 Jobpuffer pruefen
B115: A2 0E LDX #$0E 14 Kanaele pruefen
Einsprung von $B126:
B117: B5 A8 LDA $A8,X ist der Kanal aktiv ?
B119: C9 FF CMP #$FF <> $ff
B11B: D0 14 BNE $B131 ja, ==>
B11D: 88 DEY
B11E: 30 05 BMI $B125 sind alle Jobpuffer getestet ? ja, ==>
B120: B9 02 00 LDA $0002,Y b7=1: ist Job noch aktiv ?
B123: 30 0C BMI $B131 ja, ==>
Einsprung von $B11E:
B125: CA DEX
B126: 10 EF BPL $B117 sind noch Kanaele zu pruefen ? ja, ==>
B128: A5 79 LDA $79 b6=0: Drive-LED ausschalten
B12A: 29 BF AND #$BF
B12C: 85 79 STA $79
B12E: 4C 37 B1 JMP $B137 ==>
Einsprung von $B111, $B11B, $B123:
B131: A5 79 LDA $79 b6=1: Drive-LED einschalten
B133: 09 40 ORA #$40
B135: 85 79 STA $79
Fehlerblinken ein-/ausschalten
Einsprung von $B12E:
B137: A5 25 LDA $25 wurde die Diskette gewechselt ?
B139: F0 03 BEQ $B13E nein, ==>
B13B: 20 6E 92 JSR $926E alle SA freigeben
Einsprung von $B139:
B13E: AE AB 02 LDX $02AB Fehlerflag pruefen
B141: F0 08 BEQ $B14B =0: kein Fehler aufgetreten, ==>
B143: A5 79 LDA $79 b5=1: Fehlerblinken einschalten
B145: 09 20 ORA #$20
B147: 85 79 STA $79
B149: D0 06 BNE $B151
Einsprung von $B141:
B14B: A5 79 LDA $79 b5=0: Fehlerblinken ausschalten
B14D: 29 DF AND #$DF
B14F: 85 79 STA $79
Einsprung von $B149:
B151: A5 9C LDA $9C Verzoegerungszeit fuer 'Cache schreiben'
B153: D0 03 BNE $B158 vorbei ? nein, ==>
B155: 20 5B B1 JSR $B15B ja: Cache schreiben
Einsprung von $B153:
B158: 4C 05 B1 JMP $B105 weiter warten ==>
Previous Page / Next Page