    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