*

Offline MWK

  • *****
  • 640
    • Zobacz profil
    • www.mwkpegasus.prv.pl
Czołem.

Następne wykopalisko i kolejny ukłon w stronę pirackiej myśli technicznej 8)
Tym razem "na warsztat" poszedł piracki N163 z grą Sangokushi II: Haou no Tairiku - tutaj Sangokushi III.
Osobiście nigdy nie spotkałem sie z tym mapperem.


Jak się pewnie domyślacie (a może nie?) ten piracki kartridż (niestety) nie obsługuje dodatkowych kanałów dźwiękowych.
Nie jest to jednak taka "fuszerka" jak w przypadku Suikan Pipe, tutaj brakujace ścieżki nie szumią tylko po prostu ich nie ma.
Pozostała funkcjonalność do sprawdzenia.

Kartridż leci do dic-sc7 w celu zdumpowania oraz przeprowadzenia gruntownej analizy.
Wam tymczasem przedstawiam bardzo krótkie porównanie jak brzmi ten pirat w porównaniu do oryginału:



Link do całej paczki (dump+rom+emulator) >> http://mwk1.vot.pl/contrabanda/stuff/Sangokushi3.rar
« Ostatnia zmiana: Czerwiec 24, 2018, 00:57:52 wysłana przez MWK »

*

Online Roben

  • Kraniarz
  • *****
  • 605
    • Zobacz profil
Odp: Piracki kartridż z grą Sangokushi II: Haou no Tairiku - Namco 163
« Odpowiedź #1 dnia: Czerwiec 17, 2018, 23:43:50 »
mam nadzieje że uda się go zdumpować, bo chętnie bym pozaglądał w hexedicie

*

Offline MWK

  • *****
  • 640
    • Zobacz profil
    • www.mwkpegasus.prv.pl
Odp: Piracki kartridż z grą Sangokushi II: Haou no Tairiku - Namco 163
« Odpowiedź #2 dnia: Czerwiec 21, 2018, 22:11:57 »
Narazie surowe pliki prosto od dic-sc7 >> http://mwk1.vot.pl/contrabanda/stuff/Sangokushi3.rar
Mapper (oczywiście) nieznany.


edit:: link apdejtowany - teraz jest w nim cała paczka.
« Ostatnia zmiana: Czerwiec 24, 2018, 00:56:27 wysłana przez MWK »

Odp: Piracki kartridż z grą Sangokushi II: Haou no Tairiku - Namco 163
« Odpowiedź #3 dnia: Czerwiec 22, 2018, 12:33:19 »
Chyba nie często zdarza się zasilanie na dwie baterie?
To jakieś specjalne podniesienie napięcia (bo to chyba szeregowo idzie) czy z braku miejsca na większą są zastosowane dwie mniejsze?

Odp: Piracki kartridż z grą Sangokushi II: Haou no Tairiku - Namco 163
« Odpowiedź #4 dnia: Czerwiec 22, 2018, 22:07:14 »
Rzeczywiście wygląda to na połączenie szeregowe zwiększające napięcie, najprawdopodobniej mają małe napięcie i razem zwiększają napięcie do wymaganego 3V. Wiele razy widziałem taki schemat tylko w kilku dziwnych pirackich cartach i tylko w pirackich cartach, za to w dużej części piratów nadal widziałem zwyczajną baterię CR2032 która występuje w starych cartach najczęściej. Tutaj w sumie też mogłaby się w środku zmieścić, dlaczego wykorzystali patent na 2 małe dziwne baterie to prawdopodobnie nigdy się nie dowiem odpowiedzi

*

Offline MWK

  • *****
  • 640
    • Zobacz profil
    • www.mwkpegasus.prv.pl
Odp: Piracki kartridż z grą Sangokushi II: Haou no Tairiku - Namco 163
« Odpowiedź #5 dnia: Czerwiec 22, 2018, 23:18:52 »
Jeśli o mnie chodzi to odpowiadam krótko - bo akurat takie mieli na stanie. To stara piracka szkoła. Zamiast jednej 3V dali dwa półtoraki BO BYĆ MOŻE kwestia rozmieszczenia komponentów na tym konkretnym PCB uniemożliwiała położenie jednej CR2032. ALBO taki mieli kaprys. Pewności stuprocentowej oczywiście nie mam.

Odp: Piracki kartridż z grą Sangokushi II: Haou no Tairiku - Namco 163
« Odpowiedź #6 dnia: Czerwiec 23, 2018, 23:21:08 »
Rozpracowany mapper + zmodyfikowany emulator wraz z działającą grą

https://obrazki.elektroda.pl/4193926600_1529788785.png

CAŁA PACZKA >> http://mwk1.vot.pl/contrabanda/stuff/Sangokushi3.rar

CPU bank : $6000 | $8000 | $a000 | $c000 | $e000 
register :  RAM  | $e000 | $e800 | $f000 |   -1 
[...P PPPP], mask: $fc00,

PPU bank : $0000 | $0400 | $0800 | $0c00 | $1000 | $1400 | $1800 | $1c00
register : $8000 | $8800 | $9000 | $9800 | $a000 | $a800 | $b000 | $b800
[CCCC CCCC], mask: $fc00

PPU bank : $2000 | $2400 | $2800 | $2c00
register : $c000 | $c800 | $d000 | $d800
[.... ...M], mask: $fc00

Counter: there is 15 bit counter, which counts up every M2 cycle and only if E=1. If counter wraps from $7fff to $0, it stops and IRQ is triggered (if irqs are enabled). Reloading high counter byte acknowledges interrupt.

$8400 [LLLL LLLL] - load low counter byte
$a400 [EHHH HHHH] - load high counter byte
mask: $e400

« Ostatnia zmiana: Czerwiec 24, 2018, 00:56:48 wysłana przez MWK »

*

Offline MWK

  • *****
  • 640
    • Zobacz profil
    • www.mwkpegasus.prv.pl
Odp: Piracki kartridż z grą Sangokushi II: Haou no Tairiku - Namco 163
« Odpowiedź #7 dnia: Czerwiec 24, 2018, 00:58:11 »
I wszystko jasne.

Odp: Piracki kartridż z grą Sangokushi II: Haou no Tairiku - Namco 163
« Odpowiedź #8 dnia: Czerwiec 24, 2018, 12:20:47 »
Mogę prosić o zgranie PALa? Jest jeszcze kilka drobnych rzeczy które mnie interesują w tym rozwiązaniu a nie jestem ich pewien na 100%.

Odp: Piracki kartridż z grą Sangokushi II: Haou no Tairiku - Namco 163
« Odpowiedź #9 dnia: Czerwiec 24, 2018, 22:02:56 »
Dwa ogniwa zastosowano z oszczędności miejsca na płytce oraz kasy.
Jeszcze na początku lat dziewięćdziesiątych bateria cr2032 była droższa niż dwie 1130 itd. 


Pewnie chodzi o ten licznik irq(namiary do pliku na PW).
Pierwszy raz się spotkałem z takim rozwiązaniem, aby to pal bezpośrednio generował przerwania.

Krzysio musisz coś wymyślić, aby na podstawie analizy pal-a uzyskać plik jedec.
Wtedy bardzo łatwo dałoby się podmienić na łatwiej programowalny np. gal16V8. 
Na dzień dzisiejszy usterka pal-a przenosi taki unikat do wieczności.


Odp: Piracki kartridż z grą Sangokushi II: Haou no Tairiku - Namco 163
« Odpowiedź #10 dnia: Czerwiec 24, 2018, 23:11:29 »
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

--

Odp: Piracki kartridż z grą Sangokushi II: Haou no Tairiku - Namco 163
« Odpowiedź #11 dnia: Czerwiec 25, 2018, 00:05:45 »
Pewny nigdy nie będę(wersje kombinacyjne), ale spróbuje na innym programatorze.
Pal-e najczęściej zgrywam starym progstarem zbudowanym jeszcze na układach tesli.
Programator działa pod dosem i mogę zmieniać algorytmy czasowe ręcznie.
Chociaż nie jestem pewny czy podczas odczytu nie przełącza się samoczynnie na domyślny dla eprom 27c020.

Podłączyłem oscyloskop i tak;
Kanał żółty PHI2
Kanał niebieski CLK



Krzysio wielkie dzięki za pamięć, daj znać jak będzie gotowy i chętnie za to zapłacę.
Gale można zaprogramować każdym programatorem od 500zł w górę.
Jeżeli układ nie jest zabezpieczony, to oprogramowanie samo przygotowuje odpowiednik plik konfiguracyjny. 

« Ostatnia zmiana: Czerwiec 25, 2018, 00:09:54 wysłana przez MWK »