Autor Wątek: Składanka 190in1 - szukam romu  (Przeczytany 4733 razy)

siudym

  • Użytkownik
  • *
  • Wiadomości: 68
    • Zobacz profil
« Ostatnia zmiana: 19.03.2019, 15:01:18 wysłana przez siudym »

krzysiobal

  • Stały bywalec PG
  • *****
  • Wiadomości: 385
  • Naprawie pegasusa każdemu!
    • Zobacz profil
Odp: Składanka 190in1 - szukam romu
« Odpowiedź #1 dnia: 20.03.2019, 16:23:31 »
To chyba to, lista gier się zgadza:
https://www.ebay.com/itm/Super-190-in-1-NES-Nintendo-Entertainment-System-Game-Tested-Working-RARE-/283305218594#shpCntId
http://www.videogameobsession.com/videogame/hk/nes190.htm

Mam dejavu jakbym widział to menu jakoś niedawno, niestety nie mogę sobie przypomnieć w jakich okolicznościach to było.

Ciekawe, że 168-in-1 oraz 100-in-1 zawierają jedną grę UNROM (Contra) oraz reszta to NROM-256 i NROM-128.
Początkowo myślałem że ta składanka to tylko jaiś prosty hack 100-in-1 zmieniający nazwę oraz kolejność gier. Ale z tego co widzę nie ma na niej Contry więć sama płytka może mieć zupełnie inną konstrukcje (i inny mapper) niż 168-in1/100-in-1 (taka wiadomość, gdyby komuś przyszło to dumpować używając mappera 15 i nie osiągnąłby działającej gry).
« Ostatnia zmiana: 21.03.2019, 01:59:12 wysłana przez krzysiobal »

siudym

  • Użytkownik
  • *
  • Wiadomości: 68
    • Zobacz profil
Odp: Składanka 190in1 - szukam romu
« Odpowiedź #2 dnia: 21.03.2019, 07:53:48 »
Wydaje mi sie, ze kart byl z 1990 roku (nazwa battlecity czesto zmieniana na rok wydania karta). Wersja na NES ma 1991 co by sie zgadzalo rok po chinskiej. Zreszta ja tego typu karty widywalem w PL jakos w latach 92/93 juz. Mozliwe, ze Contra 100/in1 jest wzorowany na TYM karcie nie odwrotnie. Moze nie ma dumpu wogole?



Nie znam mappera, zgralem KAZZO jako CNROM samo menu, ale z bledami grafiki (myslalem, ze pierwsze 8KB CHR ROM bedzie dla menu, ale wychodzi, ze nie). Moze jak skrypt pod Kazzo na ten mapper dostane, to da sie zgrac. Daje chyba poprawnie zgrane PRG menu, chr niestety nie. Zerkajac na PRG to cale pierwsze 32KB PRG jest dla menu:

http://wyslijto.pl/files/download/7t9seoppe8

Ciekawe jakby podmienic CHR na ten ze 100in1 :)

EDIT: Wyodrebnilem PRG z 190in1 i dodalem CHR z Menu 100in1:

http://wyslijto.pl/files/download/mc4atacku7

« Ostatnia zmiana: 21.03.2019, 10:15:02 wysłana przez siudym »

krzysiobal

  • Stały bywalec PG
  • *****
  • Wiadomości: 385
  • Naprawie pegasusa każdemu!
    • Zobacz profil
Odp: Składanka 190in1 - szukam romu
« Odpowiedź #3 dnia: 21.03.2019, 13:12:01 »
Na tym (i wielu innych pirackich kardridżach) jest obecny układ dioda-rezystor-kondensator, który służy do generowania sygnału /RESET na podstawie sygnału M2 (jeśli M2 oscyluje to /RESET=1, a jeśli M2 stoi to /RESET=0).
Ten /RESET jest podpięty do wejścia resetującego zatrzaski, więc nawet zapis do rejestru zmieniającego bank nic nie da, bo /RESET będzie go zerował, w efekcie nie da się nic zdumpować (Kazzo chyba nie generuje sygnału na M2 gdy nic się nie dzieje, nie mówiąc już o zaleznościach czasowych)

Rozwiązanie dla tego konkretnego kardridża do zwarcie katody diody do zasilania.

Mogę przanalizowac połączenia aby Ci powiedzieć jak skrypt do dumpowania ma wyglądać.

krzysiobal

  • Stały bywalec PG
  • *****
  • Wiadomości: 385
  • Naprawie pegasusa każdemu!
    • Zobacz profil
Odp: Składanka 190in1 - szukam romu
« Odpowiedź #4 dnia: 21.03.2019, 14:36:28 »
Proszę:



Reg @ $8000-$ffff, no bus conflicts
   fedcda9876543210    76543210]
A~[1.PPPPPPmPvCCCCC] D~[......CC]
     ||||||||||||||           ||
     |||||||||+++++-----------++-- 8kb CHR bank
     ||||||||+-------------------- PRG mode (0=32K, 1=16K)
     ||||||+---------------------- mirroring (0=V, 1=H)
     ++++++-+--------------------- 16kB PRG bank (A6 = PRG-A20. A8=PRG-A14, A9=PRG-A15, ...)
          

Poniżej skrypt do dumpowania w Kazzo (mapperowi przypisałem nr 0, ale po zdumpowaniu trzeba mu nadać innym nr i zmodyfikować FCEUX). Oczywiście katoda dioda musi być podłączona do +5V.

board <- {
   mappernum = 0,
   cpu_rom = {
      size_base = 16 * mega, size_max = 16 * mega, banksize = 0x4000
   },
   ppu_rom = {
      size_base = 8 * mega, size_max = 8 * mega, banksize = 0x2000
   },
   ppu_ramfind = false, vram_mirrorfind = false
};

function cpu_dump(d, pagesize, banksize) {
  for (local i = 0; i < pagesize; i += 1) {
    cpu_write(d, 0x8000 | ((i & 0x3F) << 8) | (1 << 5) | (i & 0x40), 0);
    cpu_read(d, 0x8000, 0x4000);
  }
}


function ppu_dump(d, pagesize, banksize) {
  for (local i = 0; i < pagesize; i += 1) {
    cpu_write(d, 0x8000 | (i >> 2), i & 0x3)
    ppu_read(d, 0x0000, 0x2000);
  }
}
« Ostatnia zmiana: 21.03.2019, 14:56:56 wysłana przez krzysiobal »