Assembler-Beispiel 58 - CLI.asm
Aus C64-Wiki
Zur Navigation springenZur Suche springen
; Dieses Programm erweitert die originale Interrupt-Service-Routine. ; Solange der Feuerknopf am Joystick des Control-Port 2 gedrückt wird, flimmert der Bildschirmrahmen. ; Nach der Rückkehr ins Basic ist die Routine natürlich immer noch aktiv. ; Programmstart mit SYS 49152 *=$c000 ; Startadresse des Programms sei ; Interrupts sperren lda #<isr sta $0314 ; Vektor für neue Interrupt Service-Routine ändern lda #>isr sta $0315 cli ; Interrupts zulassen rts isr lda #%00010000 ; Feuerknopf-Bit des Control-Port 2 maskieren bit $dc00 ; Bitweise UND-Verknüpfung dem Inhalt des Registers PRA des CIA 1 bne nicht ; wenn Feuerknopf nicht gedrückt --> Sprung in alte IRQ-Routine inc $d020 ; wenn Feuerknopf gedrückt --> VIC-Register Rahmenfarbe um 1 erhöhen nicht jmp $ea31 ; Sprung in die alte IRQ-Routine