Dyskusja:Wykrycie VBXE: Różnice pomiędzy wersjami
Nie podano opisu zmian |
do rozważenia |
||
| Linia 2: | Linia 2: | ||
:Założenie jest poprawne, rdzenie z ruchomym oknem MEMAC (jak dotąd) nie istnieją. [[Użytkownik:KMK|KMK]] 13:23, 6 sie 2009 (CEST) | :Założenie jest poprawne, rdzenie z ruchomym oknem MEMAC (jak dotąd) nie istnieją. [[Użytkownik:KMK|KMK]] 13:23, 6 sie 2009 (CEST) | ||
Założenie jest równie dobre jak sprawdzanie obecności VBXE poprzez wywoływanie funkcji BLITTERA i badanie efektu w pamięci. Myślę, że projektant sam podsunął dwa sposoby wykrycia karty: Podobnie jak robi to konfigurator (wydaje mi się jednak, że w wersji VBXE2 może to nie działać) oraz poprzez "Info registers: CORE_VERSION i MINOR_REVISION" - tu oprócz suchej informacji że VBXE jest zainstalowane mamy wprost podaną wersje. Przykład: | |||
_check_vbxe (pisane na szybko - należy sprawdzić czy działa i optymalizować) | |||
cpx CORE_VERSION_D6 | |||
bne _err1 | |||
cpy MINOR_REVISION_D6 | |||
beq _ok1 | |||
_err1 cpx CORE_VERSION_D7 | |||
bne _err2 | |||
cpy MINOR_REVISION_D7 | |||
beq _ok2 | |||
_err2 lda #0 | |||
rts | |||
_ok1 lda #$d6 | |||
rts | |||
_ok2 lda #$d7 | |||
rts | |||
W rejestrze X podajemy interesującą nas wersję a w rejestrze Y rewizję, po wyjściu z podprogramu w rejestrze A mamy stronę na której znajduje się INTERESUJĄCY nas rdzeń, jeśli go nie ma, dostajemy 0. [[Użytkownik:Xxl|Xxl]] 12:35, 14 sie 2009 (CEST) | |||
Wersja z 14 sie 2009, 12:35
Założenie dla tego programu jest błędne. Rdzeń VBXE zawiera kilka modułów, opisany tu sposób 'wykrycia' karty zakłada, że jeden z tych modułów (MEMAC) będzie niezmienny. Xxl 14:19, 3 sie 2009 (CEST)
- Założenie jest poprawne, rdzenie z ruchomym oknem MEMAC (jak dotąd) nie istnieją. KMK 13:23, 6 sie 2009 (CEST)
Założenie jest równie dobre jak sprawdzanie obecności VBXE poprzez wywoływanie funkcji BLITTERA i badanie efektu w pamięci. Myślę, że projektant sam podsunął dwa sposoby wykrycia karty: Podobnie jak robi to konfigurator (wydaje mi się jednak, że w wersji VBXE2 może to nie działać) oraz poprzez "Info registers: CORE_VERSION i MINOR_REVISION" - tu oprócz suchej informacji że VBXE jest zainstalowane mamy wprost podaną wersje. Przykład:
_check_vbxe (pisane na szybko - należy sprawdzić czy działa i optymalizować)
cpx CORE_VERSION_D6
bne _err1
cpy MINOR_REVISION_D6
beq _ok1
_err1 cpx CORE_VERSION_D7
bne _err2
cpy MINOR_REVISION_D7
beq _ok2
_err2 lda #0
rts
_ok1 lda #$d6
rts
_ok2 lda #$d7
rts
W rejestrze X podajemy interesującą nas wersję a w rejestrze Y rewizję, po wyjściu z podprogramu w rejestrze A mamy stronę na której znajduje się INTERESUJĄCY nas rdzeń, jeśli go nie ma, dostajemy 0. Xxl 12:35, 14 sie 2009 (CEST)