What's new

Mitsurugi-w

Arcade Admini-Moderator
Staff member
Immortal
Joined
Jun 12, 2015
Messages
7,963
Reaction score
10,317
Location
New Bern, NC USA
CURRENT PRICING: $225 with eproms / $205 with no eproms

Yes, the glorious M72 hardware, host of many great and sought after games like R-Type, X-Multiply, Ninja Spirit, etc. to name few.
As you may have seen my projects are always a mix of software hack and hardware design, I repeated the process once again.

There are 10 know games on this hardware:
- Air Duel
- Battle Chopper/Mr.Heli
- Dragon Breed (Japanese version)
- Gallop
- Daiku No Gensan (Japanese version of Hammerin' Harry)
- Image Fight
- Legend Of Hero Tonma
- Ninja Spirit/ Saigo No Nindou
- R-Type
- X-Multiply (Japanese version)
[EDIT]
Two more games added to the list:
- R-Type II (World version, converted from M84)
- Lightning Swords (known in Japan as Kengo, converted from encrypted V35 M84)
[EDIT 2]
One more game added to the list:
- Pound For Pound (World version, converted from M85, hacked controls to use joysticks instead of trackballs)


Hardware is identical between games except for R-Type which uses a simpler romboard with no samples capability.

Also the top board contains a different PAL chip between games and a protection chip (again, except R-Type which has no protection).
This PAL has 2 functions:
- work RAM offset
- program ROMs mapping
I probed it and discovered it was very simple in the way it works: address lines on one side, multiplexed /CE lines on the other side.
I chose to handcraft an "universal" PAL mapping RAM @ 0xA0000 (7 games out of 10 use that) and 4 consecutive banks of 128kB for program ROMs.
Then I patched the 3 games not using RAM @ 0xA0000: Dragon Breed, R-Type and X-Multiply.
And by arranging program ROMs correctly I could run all the games BUT...

There comes the protection: the MCU (i8751) used for protection does 2 things:
- boot up protection (prevent the game from running by throwing a RAM error on boot up)
- samples playing
I patched all games to boot without any MCU installed. This was a good start but games played without any sample now.
Thing is the sample playing mechanism isn't understood in MAME and instead is simulated.
I spent a good saturday afternoon trying to fully figuring it out. It's not that often I can find so much time to work on my projects (i.e. 3 or 4 hours consecutilvely) so I had to succeed.
In fact when the game wants to play a sample it sends a command to the MCU which in turn sends a command to the sound CPU. I thought I could simply fork data to be sent directly to the sound CPU, bypassing the MCU, but on real hardware the needed port isn't accessible by the main CPU. It also thought of writting diretly to the sound RAM but I was worried about synchronisation (were samples going to be played fully and at the right pitch without any cuts?) and it was probably a lot of work patching all games.
I ended up handcrafting an universal MCU for samples playing! Yes the same MCU code supporting all the games for the sample part.
Only problematic game I could foresee was Gallop as MAME states the MCU isn't used for protection at all but only for samples playing. I have the feeling things are going to be different for this game.
Anyway, this means a lot of great things:
- games with a faulty MCU can now be revived
- any game (except R-Type due to the specific romboard) can be converted to any other game (including R-Type)
So now you're asking yourself "Why not making a universal MCU for the protection part too?". Beacause internal ROM of the MCU is 4kB only. Of course I could use external ROM but:
- then my code would be visible
- I would have to design an additional daughter board for the MCU, external ROM and at least one LS373 in between to latch lower address lines as the 8751/8951 MCUs use the same port for lower address lines (A0~7) and data lines (D0~7).

So now that I have found a solution for each problem it was time for testing:

20180620_103501.jpg


20180620_103614.jpg


20180620_104155.jpg


20180620_104211.jpg


20180620_104225.jpg


20180620_104254.jpg


20180620_104311.jpg


20180620_104328.jpg


20180620_104341.jpg


20180620_104356.jpg


20180620_104419.jpg


20180620_104437.jpg


Known issues:
- Gallop: no samples at all => Fixed
- None ATM

Not bad I'd say!


Important information:
Games aren't preloaded in the multi, users must download romsets by themselves then generate appropriate rom files with the tool (for Windows) provided here in attachment:


View attachment M72_V2_ROM_GEN.zip

Steps:

1) Unzip all romsets at the same place


2) Unzip the M72_V2_ROM_GEN file attached, it contains:
- bps files for ROMs 01, 02 and 06
- M72_V2_ROM_GEN command file
- interleave.exe
- flips.exe


3) Simply run the M72_V2_ROM_GEN command file. It will generate ready to burn files for ROMs 01 to 10 (it's normal 03 doesn't exist):


Before burning any chip please check all files are exactly 4096kb in size except for 06 where it should be 2048kb.


Universal GAL file on the motherboard:
View attachment M72_motherboard_PAL.zip

Multi GAL file for V1 kits not modified for Pound For Pound:
View attachment MULTI_M72_V1_GAL16V8.zip

Instructions to modify V1 kits:
Irem M72 multi kit installation & support

Multi GAL file for V1 kits modified for Pound For Pound and ALL V2 kits:
View attachment MULTI_M72_V2_GAL16V8.zip

Installation of the kit is solderless.
Kit is composed of two boards, one fit on the bottom board (background tiles) and the other one on the top board (main CPU code, sprites, samples), one 4 pin jumper cable, one universal GAL chip, one universal MCU chip and 6 PCB spacers.

1) Separate top board and bottom board from the middle board. On my boardset I had to separate the bottom board first by unclipping the two flat cables on one side , the small 4 pin power connector on the other side (JAMMA side) and then unclipping the spacer. Then I could access the 4 screws holding the top board.

2) Remove all ROMs/mask ROMs from the bottom boards (8 of them) and move jumpers as follow:
J2 = B
J3 = B
J4 = B
J5 = B

3) Install the smaller board from the kit, be careful no pin is bent or broken and check the position and alignment from the pictures below. The yellow arrow shows how the pins must be aligned with the socket underneath:

20180620_103614.jpg


20180709_150640.jpg


4) Connect the jumper cable to the square pins on the left.

5) Remove all ROMs/mask ROMs from the top board, so as the PAL chip and the MCU chip and move jumpers as follow:
J1 = A
J2 = A
J3 = B
J4 = A
J5 = B
J6 = B
J7 = A
J8 = empty
J9 = A
J10 = A
J11 = B
J12 = A

6) Install the bigger (really big!) board, be careful no pin is bent or broken and check the position and alignment from the pictures below. The yellow arrow shows how the pins must be aligned with the socket underneath:

20180620_103501.jpg


20180709_150831.jpg


7) Install the universal GAL chip and MCU chip (in the yellow rectangles on the picture above). Check notches match the silkscreen/original positioning.

8 ) Replace the spacers between the middle and the bottom board. 6 longer spacers are provided in the kit as few more millimetres clearance is needed once the kit in place:

20180709_144936.jpg


20180709_144920.jpg


20180709_151001.jpg


9) Reassemble the stack and connect the jumpers cable to the square pins of the top board of the kit. Wires must be flat (bottom pin connected to bottom pin on the other board, etc.)


Game selection:

game ---- dip1/2/3/4

Air Duel0000
Battle Chopper (Mr Heli)1000
Dragon Breed0100
Gallop (Cosmic Cop)1100
Daiku no gensan (Hamerrin' Harry)0010
Image Fight1010
Legend of Hero Tonma0110
Ninja Spirit1110
R-Type0001
R-Type II1001
X-Multiply0101
Lightning Swords0011
Pound For Pound0111
 
Last edited:
This is a continuation from the original old thread, but I need some help getting this to work.

I had ordered a v2 kit back in mid 2019. Since then, I have gotten around to installing it and I am using the romset Alexunderbase linked me to, which is known to be good. All jumpers correct for V2 install, all roms verified and all solder joints appear fine. Using a M27C160 for rom no 6, with all others being M27C322 type. Board ran perfectly when it was an original X Multiply.

My issue is I can't get past a white screen with some pink and green junk. It changes slightly if I change the game select dips on top board.

I have the same symptoms as Luigi in this post: https://www.arcade-projects.com/threads/irem-m72-multi-kit-installation-support.6273/post-159008

Last week I received a new MCU (mobo) and GAL (multi top board) from Mitsurugi. Jumpers all match install notes. No change.

Any other ideas? Defective universal GAL on the motherboard or possible issue with the multi itself? Universal GAL seems to be where this is pointing.

Thanks for any help.
 
Last edited:
@Mitsurugi-w i had a friend burn the roms for me. all games but r-type work. r-type loads to "RAM NG". what can we do to fix it?
 
You made sure to not mix up the 27c160 chip, right?
 
100% positive all chips r in the proper place. All other games work. Just r-type gives me the ram ng
 
Just received mine and installed.
The first time R-type runs, the playing area was enlarged so that I couldn’t see score and bottom of the screen.
The other games were OK then I restart with R-type and everything was fine. I think this was due to my TV maybe.
Awesome multi, one of my favorite for music and sprite type. That’s remind me of some Amiga’s shoot’em up !
 
Are these still being sold via this thread? If so, Id like to know pricing/availability!
 
Thanks. I think I will. Give me a couple days to find a decent box.
Just to post a follow up on my issue and the fix - my graphics problem/no boot issue ended up being a bad or incorrect version of the motherboard GAL. A new one from Mitsurugi fixed everything. Hope this helps someone if they run into the same issue down the road.
 
Last edited:
I will never be able to afford, or justify the price of any M72 board, I will keep my fingers crossed that my Daiku no Gen-san M84 board will eventually have the multi. No chance with the M92 😭
 
Back
Top