farmerbb / RED-Project

ROM Extraction Documentation Project
194 stars 10 forks source link

Ms. Pac-Man 40th Anniversary Firmware Update #43

Open charlieglide opened 2 years ago

charlieglide commented 2 years ago

There is a new firmware update on Arcade1Up which has extractable rom content. So far I have verified that "Rompers" and "Tower of Druaga" have data which works with MAME (they have the copyright BNEI note instead of NAMCO, but they work). I also was able to see files from "Rolling Thunder". If you open up the firmware disc file with a hex editor you can see the matching data.

You can download the firmware update here:

https://arcade1up.com/pages/ms-pac-man%E2%84%A2-40th-anniversary-black-head-to-head-firmware-update

Maybe someone can write a program to extract the data.

einstein95 commented 2 years ago

The Firmware.img file is just a GPT-partitioned disk image. You can open both it and the data partition inside it in 7z, which gives you the games as files

einstein95 commented 2 years ago

My notes for splitting+renaming the files to make MAME-compatible sets. Filenames marked with * don't match any ROM in MAME

(galaga88)
G8-CHR0.rom g8_chr-0.bin
G8-CHR1.rom g8_chr-1.bin
G8-CHR2.rom g8_chr-2.bin
G8-CHR3.rom g8_chr-3.bin*
G8-CHR8.rom g8_chr-8.bin*
G8-OBJ0.rom g8_obj-0.bin
G8-OBJ1.rom g8_obj-1.bin
G8-OBJ2.rom g8_obj-2.bin
G8-OBJ3.rom g8_obj-3.bin
G8-OBJ4.rom g8_obj-4.bin
G8-OBJ5.rom g8_obj-5.bin
G8-PRG0.rom g81_p0.bin
G8-PRG1.rom g81_p1.bin
G8-PRG5.rom g81_p5.bin
G8-PRG6.rom g82_p6.bin*
G8-PRG7.rom g82_p7.bin
G8-SND0.rom g81_s0.bin
G8-SND1.rom g81_s1.bin
G8-VOI0.rom g81_v0.bin
G8-VOI1.rom g81_v1.bin
G8-VOI2.rom g81_v2.bin
G8-VOI3.rom g81_v3.bin
G8-VOI4.rom g81_v4.bin
G8-VOI5.rom g81_v5.bin
            cus64-64a1.mcu

(pacmania)
PM-CHR0.rom pn_chr-0.bin*
PM-CHR1.rom pn_chr-1.bin*
PM-CHR2.rom pn_chr-2.bin
PM-CHR3.rom pn_chr-3.bin
PM-CHR8.rom pn2_c8.bin*
PM-OBJ0.rom pn_obj-0.bin
PM-OBJ1.rom pnx_obj1.bin
PM-PRG6.rom pn_prg-6.bin
PM-PRG7.rom pn2_p7.bin*
PM-SND0.rom pn2_s0.bin
PM-SND1.rom pn2_s1.bin
PM-VOI0.rom pn2_v0.bin
            cus64-64a1.mcu

(rompers)
RO-CHR0.rom rp_chr-0.bin*
RO-CHR1.rom rp_chr-1.bin
RO-CHR2.rom rp_chr-2.bin
RO-CHR3.rom rp_chr-3.bin
RO-CHR8.rom rp1_chr8.bin*
RO-OBJ0.rom rp_obj-0.bin
RO-OBJ1.rom rp_obj-1.bin
RO-OBJ2.rom rp_obj-2.bin
RO-OBJ3.rom rp_obj-3.bin
RO-OBJ4.rom rp_obj-4.bin
RO-OBJ5.rom rp1_obj5.bin
RO-OBJ6.rom rp1_obj6.bin
RO-PRG4.rom rp1_prg4.bin
RO-PRG5.rom rp1_prg5.bin
RO-PRG6.rom rp1prg6b.bin
RO-PRG7.rom rp1prg7b.bin*
RO-SND0.rom rp1_snd0.bin
RO-VOI0.rom rp_voi-0.bin
            cus64-64a1.mcu

(rthunder)
NS1-MCU.rom cus60-60a1.mcu
RT-CHR0.rom rt1_7.7r
RT-CHR1.rom rt1_8.7s
RT-CHR2.rom rt1_5.4r*
RT-CHR3.rom rt1_6.4s*
RT-MPR0.rom rt3_1b.9c*
RT-MPR1.rom rt1_17.f1
RT-MPR2.rom rt1_18.h1
RT-MPR3.rom rt3_19.k1
RT-MPR4.rom rt3_20.m1
RT-OBJ0.rom rt1_9.12h
RT-OBJ1.rom rt1_10.12k
RT-OBJ2.rom rt1_11.12l
RT-OBJ3.rom rt1_12.12m
RT-OBJ4.rom rt1_13.12p
RT-OBJ5.rom rt1_14.12r
RT-OBJ6.rom rt1_15.12t
RT-OBJ7.rom rt1_16.12u
RT-SPR0.rom rt3_2b.12c
RT-SPR1.rom rt3_3.12d
RT-VOI0.rom rt1_21.f3
RT-VOI1.rom rt2_22.h3
RT-XMCU.rom rt3_4.6b
RT-COLOR.rom:
    0x0000  rt1-1.3r
    0x0200  rt1-2.3s
    0x0400  rt1-3.4v
    0x0c00  rt1-4.5v
    0x1400  rt1-5.6u

MsPacMan.rom (mspacmab)
0x0000  boot1
0x1000  boot2*
0x2000  boot3
0x3000  boot4
0x4000  boot5
0x5000  boot6*
0x6000  5e
0x7000  5f
0x8000  82s123.7f
0x8020  82s126.4a
0x8120  82s126.1m

Galaga.rom (galaga)
0x0000  gg1_1b.3p
0x1000  gg1_2b.3m*
0x2000  gg1_3.2m
0x3000  gg1_4b.2l
0x4000  gg1_5b.3f
0x5000  gg1_7b.2c
0x6000  gg1_9.4l*
0x7000  gg1_11.4d
0x8000  gg1_10.4f
0x9000  prom-5.5n
0x9020  prom-3.1c
0x9120  prom-4.2n
0x9220  prom-1.1d

Galaxian.rom (galaxian)
0x0000  galmidw.u
0x0800  galmidw.v
0x1000  galmidw.w
0x1800  galmidw.y
0x2000  7l*
0x2800  1h.bin*
0x3000  1k.bin*
0x3800  6l.bpr

DigDug.rom (digdug)
0x0000  dd1a.1
0x1000  dd1a.2*
0x2000  dd1a.3
0x3000  dd1a.4
0x4000  dd1a.5*
0x5000  dd1a.6*
0x6000  dd1.7
0x7000  dd1.9*
0x7800  dd1.11
0x8800  dd1.15
0x9800  dd1.14
0xA800  dd1.13
0xB800  dd1.12
0xC800  dd1.10b
0xD800  136007.113
0xD820  136007.112
0xD920  136007.111
0xDA20  136007.110

RallyX.rom (rallyx)
0x0000  1b*
0x1000  rallyxn.1e*
0x2000  rallyxn.1h
0x3000  rallyxn.1k*
0x4000  8e*
0x5000  rx1-1.11n
0x5020  rx1-7.8p
0x5120  rx1-5.3p
0x5220  rx1-6.8m

Mappy.rom (mappy)
0x0000  mpx_3.1d*
0x2000  mp1_2.1c
0x4000  mpx_1.1b
0x6000  mp1_4.1k
0x8000  mp1_5.3b*
0x9000  mp1_6.3m
0xB000  mp1_7.3n
0xD000  mp1-5.5b
0xD020  mp1-7.5k
0xD120  mp1-6.4c
0xD220  mp1-3.3m

TheTowerofDruaga.rom (todruaga)
0x0000  td2_3.1d
0x4000  td2_1.1b*
0x8000  td1_4.1k
0xA000  td1_5.3b*
0xB000  td1_6.3m
0xD000  td1_7.3n
0xF000  td1-5.5b
0xF020  td1-7.5k
0xF420  td1-6.4c
0xF520  td1-3.3m

DigDugII.rom (digdug2o)
0x00000 d21_3.1d*
0x04000 d21_1.1b
0x08000 d21_4.1k
0x0A000 // 
0x0B000 d21_6.3m
0x0F000 d21_7.3n
0x13000 d21-5.5b
0x13020 // 
0x13120 d21-6.4c
0x13220 d21-3.3m

digdug digdug2o galaga galaga88 galaxian mappy mspacmab pacmania rallyx rompers rthunder todruaga

farmerbb commented 2 years ago

I just pushed an update to the arcade1up-extract.sh script to add support for this firmware update and the new games contained within.

https://github.com/farmerbb/RED-Project/blob/master/ROM%20Extraction/arcade1up-extract.sh