Freigeben einer SA ausser der des Kommandokanals; Puffer freigeben ($d227)
Schreib-/Lesekanaele ausser dem Kommandokanal schliessen
E: $52: Sekundaeradresse, die geschlossen werden soll

Einsprung von $872F, $915E, $9266, $9289, $9438, $943F, $9965,
              $99C5, $9A02, $A838, $B2E3:

919E: A5 52     LDA $52          Sekundaeradresse holen
91A0: C9 0F     CMP #$0F         Kommandokanal nicht
91A2: D0 01     BNE $91A5        schliessen
91A4: 60        RTS

Einsprung von $91A2:

91A5: A6 52     LDX $52          Aktuelle SA holen
91A7: B5 A8     LDA $A8,X        Zugehoerige Kanalnummer holen
91A9: C9 FF     CMP #$FF         'Kanal unbenutzt' ?
91AB: F0 20     BEQ $91CD        ja, ==>
91AD: 29 3F     AND #$3F         Kanalnummer isolieren
91AF: 85 50     STA $50          Als aktuelle Kanalnummer merken
91B1: A9 FF     LDA #$FF         SA als unbenutzt kennzeichnen
91B3: 95 A8     STA $A8,X        SA freigeben
91B5: A6 50     LDX $50          Kanalnummer wieder holen
91B7: A9 00     LDA #$00         Kanalstatus loeschen
91B9: 9D 34 02  STA $0234,X
91BC: 20 CE 91  JSR $91CE        Puffer und Zuordnung freigeben
91BF: A6 50     LDX $50
91C1: A9 01     LDA #$01         Entsprechendes Bit der Kanaltabelle setzen

Einsprung von $91C7:

91C3: CA        DEX              und damit den Kanal freigeben
91C4: 30 03     BMI $91C9
91C6: 0A        ASL              Bit an die richtige Stelle
91C7: D0 FA     BNE $91C3        schieben

Einsprung von $91C4:

91C9: 05 70     ORA $70          Bit setzen
91CB: 85 70     STA $70

Einsprung von $91AB:

91CD: 60        RTS

    Previous Page / Next Page