Dyskusja:Wykrycie VBXE

From Atariki

Revision as of 08:03, 17 sie 2009; view current revision
←Older revision | Newer revision→
Jump to: navigation, search

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)

Tylko że jeśli nie jest zainstalowane VBXE (ani w ogóle nic) w większości komputerów w odpowiednich komórkach stron D6 i D7 pojawiają się przypadkowe wartości. A jeśli jest zainstalowane coś innego niż VBXE, wartości we wskazanych komórkach mogą przypadkowo się zgadzać z twoimi tu założeniami. Słowem, musisz jeszcze trochę nad tym popracować. KMK 00:17, 16 sie 2009 (CEST)
PS. Oczywiście, że można byłoby sprawdzić blitterem, ale przez MEMAC jest krócej. Myśl dalej. KMK 00:19, 16 sie 2009 (CEST)


Nie na większości tylko na pewnej części (sprawnych inaczej) atari na tych stronach pojawiają się wartości losowe... Faktycznie problem może niektórych przerastać, no to dla twojej wiedzy rozważmy ten przykład czyli najgorszy z możliwych przypadków, ten który może generować błąd. Załóżmy, że sprawdzenie będziemy przeprowadzać zawsze na atari z tą wadą, atari nie bdzie miało VBXE a testować będziemy 8 razy dziennie codziennie :-) chwileczkę, policzę na palcach.... tak, błąd wystąpi raz na ok. 20 lat, będziemy mieć wtedy siwe brody, pic sok jabłkowy przez słomkę i starać się rozpoznawać wnuczęta. A teraz obliczmy kiedy Twój program przestanie wskazywać prawdę... counting, o! już przy następnej aktualizacji rdzenia. I dlatego uważam, ze przyjąłes błędne założenie ze memac istnieje i jest niezmienny. Otóż memac jest umowna częścią obecnych rdzeni rodziny fx oraz jego funkcja się zmieni w kolejnej wersji. Jeśli natomiast potrzebujesz kolejnego absurdalnego pomysłu jak z blitterem to zainteresuj się detekcja poprzez definiowanie palety kolorów. Ok, dyskusja i tak jest bezcelowa ale z uśmiechem na ustach przyjmę aktualizacje artykułu "Wykrycie VBXE" po wypuszczeniu nowego rdzenia :) Xxl 10:03, 17 sie 2009 (CEST)

Personal tools