Byte aus Record-Puffer holen ($e120)
Einsprung von $930A:
A0A6: A9 80 LDA #$80 Ist b7=1: 'Record existiert nicht' ?
A0A8: 20 E4 9C JSR $9CE4 (Dateistatus testen)
A0AB: D0 3F BNE $A0EC ja, (50, Record not Present) ==>
A0AD: 20 69 90 JSR $9069 Kanal-/Puffernummer holen
A0B0: B5 BB LDA $BB,X Recordende erreicht ?
A0B2: D9 42 02 CMP $0242,Y
A0B5: F0 2A BEQ $A0E1 ja, (naechsten Record lesen) ==>
A0B7: F6 BB INC $BB,X Pufferzeiger erhoehen
A0B9: D0 0E BNE $A0C9 Pufferende erreicht ?
A0BB: AD 01 01 LDA $0101 ja, Flag '2. Teil des Records geladen'
A0BE: 09 10 ORA #$10 setzen (s. $a286)
A0C0: 8D 01 01 STA $0101
A0C3: 20 BF 9F JSR $9FBF (ueber-)naechsten Datenblock lesen
Einsprung von $A22D:
A0C6: 20 69 90 JSR $9069 Kanal- und Puffernummer holen
Einsprung von $A0B9:
A0C9: A1 BB LDA ($BB,X) Byte aus Record holen
Einsprung von $A0E9:
A0CB: 99 3B 02 STA $023B,Y Byte in Ausgabepuffer schreiben
A0CE: A9 89 LDA #$89 b3=1: EOI-Flag loeschen
A0D0: 99 34 02 STA $0234,Y
A0D3: B5 BB LDA $BB,X Steht der Pufferzeiger auf dem letzten
A0D5: D9 42 02 CMP $0242,Y auszugebenden Byte ?
A0D8: F0 01 BEQ $A0DB ja, (EOI-Flag setzen)==>
A0DA: 60 RTS
Einsprung von $A0D8:
A0DB: A9 81 LDA #$81 b3=0: EOI-Flag setzen
A0DD: 99 34 02 STA $0234,Y
A0E0: 60 RTS
Previous Page / Next Page