Programowanie: Jak wyłączyć ROM systemu
From Atariki
(Różnice między wersjami)
Wersja z dnia 10:20, 11 wrz 2005 Miker (Dyskusja | wkład) ← Previous diff |
Wersja z dnia 10:34, 30 sty 2006 Mikey (Dyskusja | wkład) (chyba jednak nie trzeba czekac na ramke) Next diff → |
||
Linia 7: | Linia 7: | ||
system_off equ * | system_off equ * | ||
- | |||
- | lda 20 ; czekamy do nastepnej ramki aby zaczac zmieniac wektory zaraz po ostatnim NMI | ||
- | cmp 20 | ||
- | beq *-2 | ||
lda #0 | lda #0 |
Wersja z dnia 10:34, 30 sty 2006
; ; procedura system_off - wylaczamy OS, podlaczamy RAM pod ROMem i ; zajmujemy sie na wlasna reke obsluga NMI ; system_off equ * lda #0 sta $d40e ; wylaczamy NMI sei ; oraz IRQ lda #$fe ; oraz podlaczamy RAM pod ROMem, wylaczajac OS sta $d301 ; poniewaz nie mamy juz systemu nalezy zadbac o wlasna obsluge przerwan NMI lda <NMI sta $fffa lda >NMI sta $fffb lda #$c0 ;wlaczamy NMI sta $d40e rts NMI bit $d40f ; sprawdzamy czy przerwanie to VBL czy DLI bpl _no jmp (DLI) _no sta $d40f jmp (VBL) DLI dta a(my_dli) ; my_vbl i my_dli to juz nasze procedury obslugi przerwan. VBL dta a(my_vbl)