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 |