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)
