Jakiś pech mnie ostatnio prześladuje. Właśnie wykrzaczył mi się komputer, na którym testowałem rozszerzenie 4MB i po paru godzinach szukania przyczyny mam szczerą ochotę wyrzucić drania przez okno. Objawy wyglądają następująco: krótko po włączeniu, kiedy jest zimny, wstaje bez problemu i nawet zdąży zbootować SDX albo MyDOS z SIO2PC. Po krótkim czasie robi zwis. Po przyciśnięciu RESET już nie wstaje. Tylko w głośniku pojawia się typowy stuk, poprzedzający BOOT. Sprawdziłem, co w tym czasie robi i okazało się, że:
1. Gładko przechodzi całą procedurę startu systemu aż do BOOT
2. Zapętla się w procedurze SEND, na oczekiwaniu na ustawienie XMTDON (w IRQSTAT jest $FF)
3. POKEY zgłasza przerwanie po 51us od zapisu SEROUT, ustawiając linię IRQ w stan niski, ale CPU przerwania nie przyjmuje
4. Analiza wykonania procedury przerwania NMI wskazuje, że procesor ma ustawioną flagę I
5. Rozkaz CLI, podczas procedury startu, zaraz po powrocie z SYSINIT pojawia się na szynie danych, SYNC wskazuje na pobranie rozkazu.
6. Nie widać, żeby potem na szynie danych pojawiał się kiedykolwiek rozkaz SEI
7. Nie zaobserwowałem także (poza procedurą startu) pojawienia się rozkazu TXS
8. Procedura NMI ani razu nie przechodzi w całości, kończy się najdalej na sprawdzeniu flagi I (kiedy CRITIC jest jeszcze 0)
9. Z tego powodu, chociaż ekran jest otwarty prawidłowo, obraz nie ma szansy się pokazać, bo zawartość DMACTLS nie zostaje przepisana do rejestru sprzętowego.
Wygląda to tak, jakby CPU nie wykonywał rozkazu CLI (patrz p.5). Oczywiście procesor został wymieniony na inny - bez rezultatu. Wymieniłem także OS ROM (w przewidywaniu jakiejś słabości przy odczycie w/w rozkazu).
Chwilowo pomysły mi się skończyły. Jakby komuś jakaś myśl zaświtała, proszony się podzielić.