    Kanal oeffnen und entsprechende Zahl Puffer zuordnen ($d1df)
    E: a  : Anzahl der Puffer (0, 1, oder 2 Puffer)
       $52: Sekundaeradresse
    A: $50: neue Kanalnummer
    Wenn kein Kanal oder Puffer gefunden wird, erfolgt kein Ruecksprung in die
    aufrufende Routine

    Einsprung von $9BC8:

    9157: 38        SEC              <-- Schreibkanal suchen
    9158: B0 01     BCS $915B

    Einsprung von $89F4, $8A23, $9B0F, $B182:

    915A: 18        CLC              <-- Lesekanal suchen

    Einsprung von $9158:

    915B: 08        PHP
    915C: 85 40     STA $40          Anzahl der gesuchten Puffer merken
    915E: 20 9E 91  JSR $919E        Kanal freigeben
    9161: 20 DB 92  JSR $92DB        freien Kanal suchen
    9164: 85 50     STA $50          und als aktuellen Kanal merken
    9166: A6 52     LDX $52          Sekundaeradresse holen
    9168: 28        PLP
    9169: 90 02     BCC $916D        Lesekanal ? ja, ==>
    916B: 09 80     ORA #$80         b76=10: Flag: Schreibkanal

    Einsprung von $9169:

    916D: 95 A8     STA $A8,X        Kanal der SA zuordnen
    916F: 29 3F     AND #$3F
    9171: A8        TAY
    9172: A9 FF     LDA #$FF         Pufferzuordnung loeschen
    9174: 99 D1 00  STA $00D1,Y      1. Puffer
    9177: 99 D8 00  STA $00D8,Y      2. Puffer
    917A: 99 65 02  STA $0265,Y      SS-Puffer
    917D: C6 40     DEC $40          Soll ein Puffer gesucht werden ?
    917F: 30 1C     BMI $919D        nein, ==>
    9181: 20 04 92  JSR $9204        freien Puffer suchen
    9184: 10 08     BPL $918E        Puffer gefunden ? ja, ==>

    Einsprung von $9198, $9B44, $9BFC:

    9186: 20 CE 91  JSR $91CE        Puffer wieder freigeben
    9189: A9 70     LDA #$70         70, no Channel
    918B: 4C 7C 80  JMP $807C

    Einsprung von $9184:

    918E: 99 D1 00  STA $00D1,Y      1. Puffer merken
    9191: C6 40     DEC $40          noch einen Puffer suchen ?
    9193: 30 08     BMI $919D        nein, ==>
    9195: 20 04 92  JSR $9204        freien Puffer suchen
    9198: 30 EC     BMI $9186        keinen Puffer gefunden ? ja, ==>
    919A: 99 D8 00  STA $00D8,Y      2. Puffer merken

    Einsprung von $917F, $9193:

    919D: 60        RTS

        Previous Page / Next Page