Dzięki za odzew. Jesteś pewny, że ten PAL jest dobrze zdumpowany? Niektóre z wyjść (pin 12, pin 13) na pewno powinny być kombinacyjne, a analzując ten plik, tutaj wszystko się zmienia nieregularnie. Może by zmniejszyć prędkość odczytu?
Kilka razy spotkałem się aby PAL generował przerwania (np. Kid Dracula, Dragon Ball Z3/Z4), Super Mario Bros 2J, ale tutaj całość jest tak mądrze pomyślana, że w zasadzie ostatni z liczników 74161 mógłby generować przerwanie (wystarczy tylko zanegować to wyjście). Zresztą, są jeszcze dwie niewykorzystane wolne bramki NAND które możnaby wykorzystać jako negatory. Jednak mojego domysły jak ten mapper działa są chyba poprawne, bo gra pod emulatorem działa bez problemu (nie ma artefaktów, przerwanie jest zgłaszane w odpowiednim momencie, inaczej grafika by się źle wyświetlała)
Druga rzecz która mnie ciekawi to czym jest właściwie CLK doprowadzony do tych liczników (który pochodzi od PALa). Czy jest to M2 tylko opóźnione, odwrócone czy coś może więcej.
--
Sam w wolnej chwili zrobiłem proste urządzenie wspomagające analizę PALów (jeszcze nie automatycznie), który "torturuje" taki scalak i generuje z niego równania . Jak będzie wszystko automatycznie (czyli podpisujemy koncówki i klikamy jeden przycisk), to Ci sprezentuje jedną jego sztukę
Akurat GALów nigdy nie programowałem, ale wydaje mi się, że to chyba Lattice je produkował i stworzył do nich oprogramowanie (podobne jak Xilinx czy Altera do FPGA/CPLD). Chyba więc to oprogramowanie potrafi z równań generować pliki jed, zwłaszcza że sam ten proces nie jest chyba taki oczywisty - pliki jed bardzo zależą od wewnętrznej budowy danego układu.
---
Generalnie zagadnienie nie jest proste (automatyczna analiza układów z pamięcią w zasadzie nie jest możliwa). PAL16L8 (stosowany w 99%) jest jednak szczególnym przypadkiem, co upraszcza sprawę, bo każde wyjście może być albo:
* kombinacyjne, zależne tylko od wejść,
* zatrzaskowe (latch) - zapamiętujące jakąś wartość przy spełnieniu odpowiedniego warunku - wartość ta jest wtedy widoczna na jednym z wyjść,
* kombinacyjne, zależne od wejść i wyjść typu latch
--