What's new

Apocalypse

Staff member
Legendary
Joined
Dec 6, 2017
Messages
3,719
Reaction score
6,401
Location
New-Zealand
It's just an idea, it might reach the proto stage in the future.
I will try to put together various information about it here.
Please give me your feeling about that. Do you have a preferred choice? Etc.

To me there are 2 options for a multi:
1) designing a specific romboard so any boardset could be use as donor by just removing the OG romboard. Problem there's on custom on the romboard used for sprites generation so this has to be reverse engineered first, quite a long and painful work. Or the chip could be scavenged from the OG donor but it's SMD work, not accessible to anyone (plus you kill an OG game for that).
2) designing a mutli board that fits on the sockets on an OG romboard. Problem: layout is different from one romboard to an other so the design would have to include several small boards interconnected with flat cables in order to have flexibility and accommodate different socket positions.

Then there are 34 different known romsets so far:
Gunforce (World)
Gunforce (USA)
Gunforce (Japan)
Blade Master (World)
Cross Blades! (Japan)
Lethal Thunder (Japan)
Thunder Blaster (World)
Undercover Cops (World)
Undercover Cops (Japan)
Undercover Cops Alpha Renewal (World)
Undercover Cops Alpha Renewal (Japan)
Mystic Riders (World)
Gun Hohki (Japan)
Mystic Riders (World) rev.b
Major Title 2 (World)
Major Title 2 (Japan)
The Irem Skins Game (USA Set 1)
The Irem Skins Game (USA Set 2)
Major Title 2 (World) '016'
Hook (World)
Hook (USA)
Hook (Japan)
R-Type Leo (World)
R-Type Leo (Japan)
In The Hunt (World)
In The Hunt (USA)
Kaitei Daisensou (Japan)
Ninja Baseball Batman (USA)
Yakyuu Kakutou League-Man (Japan)
Perfect Soldiers (Japan)
Sky Soldiers (World)
Dream Soccer 94 (Japan)
Gunforce 2 (US)
Geostorm (Japan)

But that's "only" 14 different games.
So next question is, does the mutli have to support all romsets or only all different games. If so which versions must be used?
In any case it would require decrypted sound ROMs.
Re-encrypting ROMs for each different encrypted sound CPU is too messy, some opcodes aren't available in the decryption table from one game to an other so only option is to handcraft new subroutines using known opcodes to simulates the missing opcodes. I did it for R-Type Leo on Major Title 2 as vxc version was bugged (everything is explained on my blog) but I'm not going to do it for every possible CPU combination.

There are 5 different ROM memory region (names according to MAME):
- maincpu
- soundcpu
- gfx1 (tiles)
- gfx2 (sprites)
- irem

If we just take the biggest rom size used by the games this would make a maximum of:
- maincpu: 1Mb per game
- soundcpu: 128kb per game
- gfx1: 2Mb per game
- gfx2: 8Mb per game
- irem: 512kb per game

That's a total of 160Mb needed (for 14 games) if you want to "reserve" the same space for each game (although most don't need that much space).
No really doable with through holes ROMs, not really a problem with SMD devices.
However if the multi were ROM based it wouldn't be legal to include games...

An other option (which I like better) would be to use RAM for each ROM area and load them with the appropriate data read from a SD card for instance.
This way it's up to the user to find and download the romsets for the games he wants to play. Also all games would be supported this way.
 

donluca

Enthusiast
Joined
Sep 23, 2015
Messages
252
Reaction score
157
Location
Italy
Definitely the first approach.

I'm one of those "do it right or don't do it at all" guy, but that's just me.

Regarding re-encrypting the ROMs to support the various games: make a romboard which can be updated and start doing your thing. Keep it opensource and when you're tired, just leave it and let other guys get in and figure out the other games.

I'd try to make at least the more desirable games work, such as R-Type Leo before letting other people finish the work, so you have a desirable product which people will want to buy.
 

brizzo

Staff member
Champion
Joined
Jun 21, 2017
Messages
839
Reaction score
2,414
Location
Canada
This is an exciting thread! I am hopeful this can give some insight to the technical challenges when designing multi hardware.

When it comes to multi cart designs, the question is always how to load the ROMs onto device, and how to select game to play


Replacing the sub board is the best solution. What package / pin count is the sprite generator? Depending on what is known/not known, I could maybe be convinced to help RE the chip.

It is of course possible to program NOR Flash using MCU, loading data from SD card. (concept: mcu stores hash of currently programmed data, upon power checks stored hash vs hash on sd card and re-programs nor flash if required).

A few searches it seems M92 would be straight forward to write a game menu select, implement bank switching registers with small fpga on the bus.


Now I just need a M92 board for poking :D
 

ekorz

Multi Boyz 4 Pi
Legendary
Multi Boyz
Joined
Aug 21, 2016
Messages
3,932
Reaction score
4,301
Location
Boston, MA
There's a Major Title 2 on YAJ ending in 12 hours. Want it? :thumbsup:

I'd like to support this multi in some way, so I'm happy to (try to) buy it and have it shipped.
 

ShootTheCore

Enlightened
Joined
Jan 20, 2016
Messages
1,841
Reaction score
2,831
Location
Logan UT
I think your second approach would be better - use an OG game board, just target one of the two most common M92 boards, Gunforce or Major Title 2. As much as I personally CRAVE an Irem M92 Multi, I think the market demand for one is similar to Darksoft's Taito F3 - 100 units, maybe 200 because of R-Type Leo. For a low-production run product, why make the engineering any more complicated than it has to be?

As for the romsets question, I'd say to get all 14 games working for the initial release with unencryped sound code and the game board set to Unprotect on the sound chip. Then get the other 20 regional variances working later as demand calls for them.

As for the ROM, RAM, Flash question of implementation, I say go with using flash to simulate EPROMs inserted into the sockets. The games shouldn't take too long to flash anyway and the engineering for the flash implementation would be similar to what Darksoft has already accomplished with his CPS2 and Taito F3 Multis.

I'd also be happy to contribute to this effort in whatever way I can - hardware donations or cash.
 

Apocalypse

Staff member
Legendary
Joined
Dec 6, 2017
Messages
3,719
Reaction score
6,401
Location
New-Zealand
Definitely the first approach.

I'm one of those "do it right or don't do it at all" guy, but that's just me.

Regarding re-encrypting the ROMs to support the various games: make a romboard which can be updated and start doing your thing. Keep it opensource and when you're tired, just leave it and let other guys get in and figure out the other games.

I'd try to make at least the more desirable games work, such as R-Type Leo before letting other people finish the work, so you have a desirable product which people will want to buy.
Actually I've decrypted all romsets and as all romboards can run decrypted code there's no point in re-encrypting them.

This is an exciting thread! I am hopeful this can give some insight to the technical challenges when designing multi hardware.

When it comes to multi cart designs, the question is always how to load the ROMs onto device, and how to select game to play


Replacing the sub board is the best solution. What package / pin count is the sprite generator? Depending on what is known/not known, I could maybe be convinced to help RE the chip.

It is of course possible to program NOR Flash using MCU, loading data from SD card. (concept: mcu stores hash of currently programmed data, upon power checks stored hash vs hash on sd card and re-programs nor flash if required).

A few searches it seems M92 would be straight forward to write a game menu select, implement bank switching registers with small fpga on the bus.


Now I just need a M92 board for poking :D
Custom comes in QFP160 package.

I think your second approach would be better - use an OG game board, just target one of the two most common M92 boards, Gunforce or Major Title 2. As much as I personally CRAVE an Irem M92 Multi, I think the market demand for one is similar to Darksoft's Taito F3 - 100 units, maybe 200 because of R-Type Leo. For a low-production run product, why make the engineering any more complicated than it has to be?

As for the romsets question, I'd say to get all 14 games working for the initial release with unencryped sound code and the game board set to Unprotect on the sound chip. Then get the other 20 regional variances working later as demand calls for them.

As for the ROM, RAM, Flash question of implementation, I say go with using flash to simulate EPROMs inserted into the sockets. The games shouldn't take too long to flash anyway and the engineering for the flash implementation would be similar to what Darksoft has already accomplished with his CPS2 and Taito F3 Multis.

I'd also be happy to contribute to this effort in whatever way I can - hardware donations or cash.
Yep that's what I thought too. Why sinking hundreds of hours of engineering for only few units produced.
Do people realise it might be the unique multi-M92 opportunity?
So if it had to be a reality it would be simple and affordable or not at all IMO.
 

PascalP

Legendary
Joined
Jan 17, 2016
Messages
5,467
Reaction score
3,535
Location
The Netherlands
I think your second approach would be better - use an OG game board, just target one of the two most common M92 boards, Gunforce or Major Title 2. As much as I personally CRAVE an Irem M92 Multi, I think the market demand for one is similar to Darksoft's Taito F3 - 100 units, maybe 200 because of R-Type Leo. For a low-production run product, why make the engineering any more complicated than it has to be?
this would be my pick, would buy for sure!
My Gunforce board is ready for it :D
 

brizzo

Staff member
Champion
Joined
Jun 21, 2017
Messages
839
Reaction score
2,414
Location
Canada
There's a Major Title 2 on YAJ ending in 12 hours. Want it? :thumbsup:

I'd like to support this multi in some way, so I'm happy to (try to) buy it and have it shipped.
I already placed a bid :thumbsup:

Custom comes in QFP160 package.
Do you have a net list or reverse engineered the rom board? (ie; strip parts, scan)

I'm assuming the MAME driver doesnt implement the features of this custom, but does its own 'fix' ? Will take a look at driver later tonight
 

RealMFnG

Legendary
Joined
Mar 27, 2016
Messages
4,411
Reaction score
3,358
Location
Northern California
Option 2 is better simply because movement > perfection. Also, sounds very much like lessons learned from the difficulty of working with Darksoft's CPS2 solution have been heeded here. Biggest complaint early about the CPS2 multi related to installation issues. Interconnected boards with ribbon cables would alleviate this tremendously.

Option 1 would make this project prohibitively expensive since the market would be restricted to 1) Those willing to take on the work to perform the surgery 2) Those unwilling to kill an OG board 3) All the reasons you mentioned in terms of time invested if re-engineering the custom chips ultimately is the route. Would limit what is already a niche market due to the need to make an ROI, resulting in a higher street price as already discussed.

Either way, no one would be disappointed at an M92 multi. No one. Preference is for simple text based OSD for games loaded to RAM. Remote board for game selection isn't as desirable.
 
Last edited:

ShootTheCore

Enlightened
Joined
Jan 20, 2016
Messages
1,841
Reaction score
2,831
Location
Logan UT
Given that it's only 14-34 games. I don't care if it uses an on screen display for changing games, or a remote board, or jumpers. I just want it to exist! :D
 

RealMFnG

Legendary
Joined
Mar 27, 2016
Messages
4,411
Reaction score
3,358
Location
Northern California
Yeah, preferences are nice to haves. Either way, I would not be upset in the slightest for a remote board or OSD.
 

rtw

Champion
Joined
Sep 28, 2015
Messages
1,250
Reaction score
1,211
Location
Norway
I would support this, best would be a dedicated PCB with donor chip or reverse engineering :D

Wouldn't one need to take the PLCC sound chip from a donor board as well ?
 

Apocalypse

Staff member
Legendary
Joined
Dec 6, 2017
Messages
3,719
Reaction score
6,401
Location
New-Zealand
I would support this, best would be a dedicated PCB with donor chip or reverse engineering :D

Wouldn't one need to take the PLCC sound chip from a donor board as well ?
No, sound code being decrypted you can use a normal Nec V35 CPU.
 

rtw

Champion
Joined
Sep 28, 2015
Messages
1,250
Reaction score
1,211
Location
Norway
I would support this, best would be a dedicated PCB with donor chip or reverse engineering :D

Wouldn't one need to take the PLCC sound chip from a donor board as well ?
No, sound code being decrypted you can use a normal Nec V35 CPU.
Thank you for clearing that up :)
How hard is it to source a V35 CPU these days ?

edit:
If you're sacrificing a PCB to get the sprite generator, you might as well reuse the V35 :)
 
Last edited:

brizzo

Staff member
Champion
Joined
Jun 21, 2017
Messages
839
Reaction score
2,414
Location
Canada
https://github.com/mamedev/mame/blob/master/src/mame/video/m92.cpp -- seems there are a lot of gaps in knowledge for complete emulation

@rtw sent me a link to Stefan Lindberg website, with all kinds of high quality pcb scans

irem_m92_sub-board.jpg
Scans adjusted and layered to view how the devices are interconnected to get an idea of their functions.

The 4 mask roms on the left are GRFX1 (tiles), with GRFX2 (sprites) on the right. The bus for GRFX2 (sprites) exits via CN2 connector and interfaces with the custom chip on the CPU/top board (IC63), where GRFX1 (tiles) is connected to custom on ROM/bottom board (IC18)

So far my opinion is its not completely unreasonable to reverse engineer the "TILE custom". Would be curious to see what registers are implemented for the bottom board custom, it may be less complicated than suspected. 160 pins to implement 2x8bit addr/data bus (MASK+SRAM), and 1x16bit addr/data bus (V30 CPU), taking a guess it essentially does DMA operations, along with operations found in the mame video driver.

Also the board connectors are easily available:
https://www.digikey.com/product-det...co-ltd/PCN10-64P-2.54DSA-72/H11167-ND/1036427
https://www.digikey.com/product-det...co-ltd/PCN10-96P-2-54DSA-72/H11218-ND/1036469

:D
 

twistedsymphony

Enlightened
Staff member
Immortal
Joined
Jul 21, 2015
Messages
10,222
Reaction score
9,735
Location
NH, USA
I'd definitely want one of these. I think with such a small game list low cost is a big factor. Also consider that there isn't a much genre variety here.

I would even suggest using a similar game selection mechanism to the STV multi (jumpers) instead of an LCD or on-screen menu for the sake of cost savings.

If you do go that route I would also suggest adding a header next to the jumpers for 5V, GND, Reset, and Write complete so that if someone does build a Selector it's connectors are all consolidated in one spot.

-----------------------------------------------------------------
Interest Expressed List:

1 Apocalypse
2 donluca ~
3 ekorz
4 ShootTheCore
5 PascalP
6 acblunden2
7 rtw
8 CPZ-SAVEYOURGAMES
9 twistedsymphony
10 Yippikaye
11 Darksoft
--- Page 2 ---
12 rewrite
13 Derick2k
14 jassin000
--- Page 3 ---
15 kuze
16 waiwainl
17 Nodoyuna
18 djsheep
19 LHantz
--- Page 4 ---
20 xtrasmiley
21 sk8er000
22 jepjepjep
23 nem ~
24 -Ace-
--- Page 5 ---
25 bagheera369
26 Michaelm
27 Sp33dFr34k
28 pulstarx
29 SEGASHIRO
30 Gakman
31 Shin
--- Page 6 ---
32 beast1x5
33 FairWitness
34 archimage
35 mncmt
36 sergiopolog
37 JRudebaugh
38 loegan43
39 undamned
40 waiwainl
41 tom5151
42 zizer
43 asra
44 truxpin
45 Dakken
46 8bitforlife
--- Page 7 ---
47 WhiteCrow
48 KAKAKOKEOKUKU
49 Tony Bogard
50 Logan McCloud
51 nio
52 DJLC
53 bytestorm ~
--- Page 8 ---
54 Mitsurugi-w ~
55 SiQux
56 caldwert
57 markedkiller78
58 McKie1
--- Page 9 ---
59 euphoria
60 frsj8112
61 mastercello
62 Astro X
63 mathewbeall
64 remvel
--- Page 10 ---
65 xodaraP
66 futasan
67 90sCyberThriller
68 fuzzbuddy
69 MoppelTheWhale
70 rickbonano
71 psykom1
72 xmas
73 AlxUnderBase
--- Page 11 ---
74 raidenmaniac1 x3
75 Pelly
--- Page 12 ---
76 Bigsingerdawg
77 nnap
--- Page 13 ---
78 fstrike
79 hardyhell
80 kebrank
81 stt1
82 Rg111
83 Frank_fjs
84 glstar x2
--- Page 14 ---
85 spacejockey
86 modology
87 superchill
--- Page 19 ---
88 LittleLarrySellers
--- Page 20 ---
89 arcadeqc
90 brentradio
--- Page 21 ---
91 hoagtech
92 opt2not
93 dexster
94 the Goat
95 RandomRetro
96 FakeNoose
97 u72 x2
--- Page 22 ---
98 hamster x2
99 Maskman
--- Page 23 ---
100 KRG
101 lemans123
102 tym01
103 benime
--- Page 24 ---
104 Paul79
105 RandomRetro
--- Page 25 ---
106 Bluetear
--- Page 26 ---
107 Invader
108 Battlesmurf x2
--- Page 28 ---
109 kikaso
110 Johnfan1986
111 mthngn
112 Atari
--- Page 29 ---
113 ccatalyst
114 Paranoid_Andy
115 sugar4salt
116 Joeybagadonuts
117 richtr8
118 nonosto
119 amstrick
120 fafar10
121 Djones26

UPDATE 2021-02-10
Don't see your name on the list? if you posted after the last update date, don't worry you'll be added next time I do an update.
 
Last edited:

Darksoft

Staff member
Immortal
Joined
Jun 12, 2015
Messages
9,213
Reaction score
10,876
Location
Poland
I think that there is another approach that would be using big Flashes that contains all games and are either pre-programmed or can be programmed at home via JTAG. In that way, you can easily change games with jumpers or even make a menu. The road stopper I think here is knowing how many type of Rom boards there are and how the "multi" would have to look like.
 

twistedsymphony

Enlightened
Staff member
Immortal
Joined
Jul 21, 2015
Messages
10,222
Reaction score
9,735
Location
NH, USA
think that there is another approach that would be using big Flashes that contains all games and are either pre-programmed or can be programmed at home via JTAG. In that way, you can easily change games with jumpers or even make a menu. The road stopper I think here is knowing how many type of Rom boards there are and how the "multi" would have to look like.
What if you built a generic board with ribbon cables to plug into the rom slots, that way the PCB wouldn't need to be designed around a specific ROM board.

If you made the hardware generic enough maybe you could have a "ROM Swap Board" that could work on other platforms too (like System C-2) with little more than just a firmware change and different ROM connectors.
 
Top