Wykrycie VBXE: Różnice pomiędzy wersjami
Przejdź do nawigacji
Przejdź do wyszukiwania
mNie podano opisu zmian |
Nie podano opisu zmian |
||
| Linia 7: | Linia 7: | ||
vbxe_detect | vbxe_detect | ||
jsr ?try | jsr ?try | ||
bcc ? | bcc ?clr | ||
inc _vbxe_write+2 | inc _vbxe_write+2 | ||
| Linia 33: | Linia 33: | ||
</pre> | </pre> | ||
Wywołanie <code>JSR VBXE_DETECT</code> wraca z ustawionym znacznikiem C, gdy VBXE w komputerze nie ma, lub ze skasowanym znacznikiem C, gdy VBXE wykryto. W tej sytuacji pod adresem _vbxe_write+2 (1 bajt) jest numer strony, na której zdekodowana jest karta | Wywołanie <code>JSR VBXE_DETECT</code> wraca z ustawionym znacznikiem C, gdy VBXE w komputerze nie ma, lub ze skasowanym znacznikiem C, gdy VBXE wykryto. W tej ostatniej sytuacji pod adresem _vbxe_write+2 (1 bajt) jest numer strony, na której zdekodowana jest karta. | ||
Sposób działania: podprogram próbuje podłączyć bank 0 VRAM-u jako okno MEMAC A ( | Sposób działania: podprogram próbuje podłączyć bank 0 VRAM-u jako okno MEMAC A (pod $2000-$3FFF) i sprawdza, czy się coś zmieniło w odnośnym obszarze pamięci. | ||
Procedurę w powyższej postaci można wywołać tylko raz. | Procedurę w powyższej postaci można wywołać tylko raz. | ||
Wersja z 11 kwi 2009, 12:09
Procedura wykrycia VBXE na stronie $D6 lub $D7:
;
; 2009 by KMK/DLT
;
vbxe_detect
jsr ?try
bcc ?clr
inc _vbxe_write+2
?try ldx $3fff
ldy #$4c
lda #$80
jsr _vbxe_write
cpx $3fff
bne ?fnd
jsr ?clr
inx
stx $3fff
lda #$80
jsr _vbxe_write
cpx $3fff
bne ?fnd
sec
.byte $24
?fnd clc
?clr lda #$00
_vbxe_write
sta $d600,y
rts
Wywołanie JSR VBXE_DETECT wraca z ustawionym znacznikiem C, gdy VBXE w komputerze nie ma, lub ze skasowanym znacznikiem C, gdy VBXE wykryto. W tej ostatniej sytuacji pod adresem _vbxe_write+2 (1 bajt) jest numer strony, na której zdekodowana jest karta.
Sposób działania: podprogram próbuje podłączyć bank 0 VRAM-u jako okno MEMAC A (pod $2000-$3FFF) i sprawdza, czy się coś zmieniło w odnośnym obszarze pamięci.
Procedurę w powyższej postaci można wywołać tylko raz.