Dyskusja:Wykrycie VBXE
From Atariki
Wersja z dnia 11:23, 6 sie 2009 KMK (Dyskusja | wkład) ← Previous diff |
Wersja z dnia 10:35, 14 sie 2009 Xxl (Dyskusja | wkład) (do rozważenia) Next diff → |
||
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 dnia 10:35, 14 sie 2009
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)