FSM: Byte ausgeben (bei der 1571: $9228) Einsprung von $BF91: BF83: 4C 15 AD JMP $AD15 ATN-Modus testen Einsprung von $AAC8, $BAE3, $BB59, $BE8E, $BE93, $BE99, $BE9F, $BEA4, $BEB2, $BFAD: BF86: 48 PHA <-- Einsprung Einsprung von $BF8D, $BF97: BF87: AD 01 40 LDA $4001 Normalen Bus auslesen BF8A: CD 01 40 CMP $4001 BF8D: D0 F8 BNE $BF87 und entprellen BF8F: 29 FF AND #$FF nz-Flags neu setzen BF91: 30 F0 BMI $BF83 ATN, (dann Abbruch) ==> BF93: 45 76 EOR $76 letzter FSM-Clock-Zustand BF95: 29 04 AND #$04 (b2: CLOCK IN) BF97: F0 EE BEQ $BF87 Clock-gekippt ? nein, ==> BF99: 68 PLA Ja: Byte ausgeben BF9A: 8D 0C 40 STA $400C Byte in FSM-Schieberegister schreiben BF9D: A5 76 LDA $76 neuen Clock-Zustand merken BF9F: 49 04 EOR #$04 BFA1: 85 76 STA $76 BFA3: A9 08 LDA #$08 Schiebevorgang abwarten Einsprung von $BFA8: BFA5: 2C 0D 40 BIT $400D b3=1: Vorgang beendet ? BFA8: F0 FB BEQ $BFA5 nein, ==> BFAA: 60 RTS Previous Page / Next Page |