1 Ostatnio edytowany przez drac030 (2010-09-02 16:42:38)

W zeszły weekend podpinaliśmy moją IDEę (która u mnie od miesięcy działa absolutnie bez pudła) do komputera mono. Jest to Atari ze stereo, VBXE i 1 MB RAM-u. Wszystko było dobrze, póki nie postanowiliśmy posłuchać muzyczki Husaka z Bank Bang. Okazało się, że gra nie chce chodzić.

Zmieniłem loader z SD-Load na MS-DOS. To samo. Ściągnęliśmy MS-DOS 4.6 z forum. To samo. Za każdym razem gra się wykrzaczała, mniej lub bardziej malowniczo, i, co było bardzo podejrzane, w zasadzie za każdym razem inaczej. Na ogół był to po prostu zwis przy depakingu, ale czasem fakap był bardzo malowniczy (raz udało się jej w ten sposób włączyć tryb stdres VBXE, sieczka miała rozdzielczość 320x240 i 256 kolców...) i w innym miejscu.

Ściągnęliśmy nową kopię Bank Bang z sieci (od Fandala). Porównanie z moją binarką: zero różnic. Odpaliliśmy z SIO - poszła. Raz, drugi, trzeci.

W tym momencie podejrzenie przeniosło się na twardziel. Sprawdziliśmy stabilność I/O przez kopiowanie tego samego pliku (BANKBANG.XEX, ~42k) kilkadziesiąt razy w inne miejsce i porównanie kopii z oryginałem (oczywiście nie ręcznie: plikiem BAT). Zero różnic. Przeciąganie zawalonych plikami partycji CLX-em (który analizuje strukturę dysku bardzo dokładnie i zwykle wydziera mordę od razu, jak tylko transmisja się krzaczy) dało taki sam efekt: no errors.

W końcu wzięliśmy się za bebeszenie samej binarki gry podejrzewając, że jest jakoś uzależniona np. od tego, w którym miejscu przed wystąpieniem VBL-a jest uruchamiana. Efekt: nic podejrzanego tam nie ma, cytuję mono: "To nie ma prawa nie działać".

Sprzęt: SpartaDOS X 4.42f cały czas działała absolutnie stabilnie, zero zawisów. Był jeden wyjątek, kiedy po naciśnięciu RESET komp się nie wiedzieć czemu zrestartował na zimno, ale to raz przez cały dzień, więc można powiedzieć, że to nieważne (przypadek, któryś program coś namieszał). Co więcej, jedyne dwa razy, kiedy udało się w wyniku licznych prób uruchomić Bank Bang - to były właśnie uruchomienia spod Sparty X. Tylko że to też się udawało bardzo rzadko. Z loaderów - nie poszła ani razu.

Teraz podpiąłem ten sam dysk i ten sam interfejs IDEa do mojego kompa. Efekt: Bank Bank śmiga, uruchamia się za każdą próbą. Tak samo "stereofoniczny" Draconus, którego u mono nie mogliśmy odpalić z IDEa za chińskiego boga (zwis po obrazku tytułowym). Natomiast, przypomnę, u mono obie gry chodziły z SIO.

Tylko że ja mam "prawie gołe" 130XE, jedynym rozszerzeniem w nim jest VBXE, obecnie z rdzeniem A. Czyli, z punktu widzenia programu, komp ma gołe 128k.

Pytanie, co tam jest nie tak. Może coś oczywistego przegapiliśmy, ale mnie się wydaje, że to nie jest jakiś oczywisty przypadek. DOS, dość skomplikowany i wykorzystujący intensywnie pamięć EXT, działa i nawet udaje mu się czasem załadować program, którego nie może załadować żaden loader.

Przyszło mi do głowy, że może winne jest MMU albo coś, co tam za MMU robi, sterując pamięcią, zainstalowane razem z rozszerzeniem 1 MB. Być może przy podłączaniu i odłączaniu romu IDEi dzieje się coś z wewnętrznym ROM-em Atari, może on momentami znika albo się jakoś krzaczy, co powoduje walenie się przerwań VBL i/lub kodu samego SIO (do którego wykonywanie programu wraca po powrocie z ROM-u IDEi).

Niestety nie sprawdziliśmy, jak się zachowuje ładowanie z SIO przy aktywnej IDEi, tzn. przy jednym dysku przemontowanym na SIO - wtedy wywołania SIO i tak "idą" przez ROM IDEi, więc gdyby przy tym robiły się krzaki, to i SIO by się sypało. Nie przyszło mi to do głowy na czas :/

Ma ktoś jakiś pomysł, co tam nie działa i w jaki sposób?

PS. A i jeszcze jedno, może zupełnie bez związku, ale jak wiadomo, powszechna fama jest taka, że "u Pinokia nie działa". Otóż, komp Pinokia też ma 1 MB i IDEa.

KMK
? HEX$(6670358)

2

A rumuna macie tego samego? (znaczy się, ROM)? U mnie któreś demko krzyczy na jednej atarce "że to nie jest real XL/XE" ;P Jakieś stare, helmutoewe (atarka 320KB, włączony XL OS czy Qmeg - to samo). Co ciekawe, na innym egzemplarzu z rozszerzeniami (ale tylko z oryginalnym ROMem) jest o.k. A niby obraz na epromie taki sam... Wot, zagwostka ;)

Sikor umarł...

3

ROM standard, 10 maja 1983. Zresztą, jak napisałem, w kodzie nie ma nic podejrzanego, włączając w to, oidp, słownie jedno odwołanie do ROM-u, nielegalne :P, w celu włączenia trybu gr.15 (obrazek pokazujący się podczas ładowania).

KMK
? HEX$(6670358)

4

Drac030: w tym sęk, że u mnie też ROM jest taki sam na tych obu atarkach, a jednak... Nie wiem, czas odczytu inny cy cuś? Nieważne

Sikor umarł...

5

Jeśli obraz na epromie taki sam, to nie ROM jest winien, tylko coś innego. Np. rozszerzenie RAM-u, czy MMU, procesor z inną maską (demko może wywoływać nielegala i sprawdzać rezultat, który wydaje mu się poprawny). Trzeba przeanalizować kod i sprawdzić warunki, jakie program musi spełnić, żeby wyświetlić ten komunikat.

KMK
? HEX$(6670358)

6

tak z ciekawosci i jak Mono ma czas, maly test:
zaladowac na vbxe rdzen 1.20a lub r bez roznicy,
wlaczyc atarke na 20 minut,
potem wylaczyc, pare razy walnac reset i zapuscic nawet selftest, jak przeklamuje obraz i pojawiaja sie cuda to cos mi swita.

Absolutnie to nie wina VBXE ale mialem 2 atarki  ktore dzialaly jak brzytwa . Wlasnie  po podlaczeniu KMK,VBXE a nawet Myide zaczynaly sie problemy .Konfig podobny, 1 mega wg Pasia, stereo,

Dwa korce ziemniaków, gęsich jajek kopa, żeby móc to połknąć, tęgiego trza chłopa. GG3456993

7

a moze powod jest bardziej prozaiczny? tj. za slaby zasilacz wykladajacy sie przy ladowaniu z dysku czegos wiekszego (pisales ze to 42kb) przy jakichs specyficznych warunkach?

w sumie w takim przypadku kopiowanie tego pliku pewnie podobnie by skutkowalo, ale...

The UNIX Guru`s view of Sex:
unzip; strip; touch; finger; mount; fsck; more; yes; umount; sleep

8

jell: IDEa ma oddzielny zasilacz, a Maxflasza wyjmowaliśmy. Bez różnicy. No i przy słabym zasilaniu waliłoby się też z SIO (chyba?).

KMK
? HEX$(6670358)

9

Pierwsze, co bym zrobił, to zmodyfikował loader tak, żeby po załadowaniu nie uruchamiał programu, tylko robił zrzut pamięci na rozszerzoną i porównał to, co jest, z tym, co być powinno. Może jakieś wnioski by z tego wypłynęły.

Ceterum censeo Germaniam esse delendam.

10

No racja. Mono ma teraz inną IDEę, jak ją złoży, to powalczymy dalej.

KMK
? HEX$(6670358)

11 Ostatnio edytowany przez electron (2010-09-02 20:15:50)

Ja bym ewentualnie spróbował wyłączyc vbxe (poprzez skasowanie wszystkich wgranych rdzeni z FLASH i zimny start kompa) i sprawdził jeszcze raz, czy tutaj coś się nie gryzie

PS. wyłączyć chwilowo VBXE (do najbliższego rebootu) można też wpisując 0 pod adres 0xd6(7)ff.

pomidor

12

Dzięki Draco za wątek i pozostałym za porady. Testy z VBXE przeprowadzę w najbliższą sobotę, natomiast te z IDEA niestety będą musiały poczekać aż z Trubem podłączymy ją do Atari. Postaram się też zdobyć mocniejszy zasilacz. Chwilowo muszę niestety iść spać :(

hex, code and ror'n'rol
niewiedza buduje, wiedza rujnuje

13

Miałem przy montażu VBXE konflikt z kontrolerem IDE'a. Problem dotyczył sygnału EXTSEL :) - przed "uporządkowaniem" owego tematu działy się cuda. Cudeńka :)

Kontakt: pin@usdk.pl

14 Ostatnio edytowany przez drac030 (2010-09-02 22:54:11)

Moją teorię na temat MMU i interakcji z wewnętrznym ROM-em można byłoby sprawdzić tak:

start lda $0247
      ldx #$00
      ldy #$0F

loop  sta $D1FF
      sty $D01A
      stx $D1FF
      stx $D01A

      bit $11
      bmi loop

      rts

Zapuścić na godzinę i patrzeć, czy nie zawisło. Jak zawiśnie, to znaczy, że coś nie tak jest z wewnętrznym ROM-em. Jak nie - to wychodzi się przez Break.

KMK
? HEX$(6670358)