The NEW Build Your Own Arcade Controls
Main => Software Forum => Topic started by: Kevin Mullins on September 02, 2009, 02:32:03 am
-
Trying to repair a Pole Position II board set, but the one ROM that is the problem child is a "custom IC". There's workarounds for this, but I'm trying to find the best one of the bunch. (some have wrong track signage and such)
Anyone have some of the OLDER mame sets when there was still multiple bootleg versions ? (most likely pre- v0.80 maybe, really not sure)
poleps2
poleps2a
poleps2b
poleps2c
etc
etc
I have a couple different sets of files I've tried already, but one set is causing problems and I'm trying to verify if the files I have came from a particular bootleg set or not.
In particular I'm looking for a poleps2a that contains a "176.3L" and "177.4L".
I can explain further if need be..... hell, I'm already confused as it is anyways.
EDIT: Looks like Pole Position 2 was added at MAME version 36b11, so may have to look further back through the ROM changes than I originally thought.
I'm also on the lookout for these two files:
176-V3.3L
177-V3.4L
Note that they have "-V3" instead of the "-V2" I keep finding so far.
-
checkout rule #5
you are not allowered to ask mame romsets directly, which is piracy.
Howover, you can try a board repair service listed here:
http://wiki.arcadecontrols.com/wiki/Vendors
And there is a vendoer which should could burn the chip for the original board, so you should contact this:
http://wiki.arcadecontrols.com/wiki/HobbyROMS
-
I figured that would come up in sort of fashion .... :P
Let me be a little clearer.
I am NOT looking for a full rom SET or anything of that nature.
I am looking for particular ROMs for a Pole Position II in order to repair a bad set.
All of the Pole Position ROMs in MAME have been renamed and shuffled around umpteen times. I am looking for a version that may have been removed in the newer MAME versions for the fact that it was similar enough to others, namely the bootleg versions.
There was a bootleg version set for Pole Position II at one time that used ROMs at locations 3L and 4L but NOT at location 4K.
Location 4K is the problem chip and also a "custom" chip.
You are more than welcome to dig through here and see what I'm talking about.
http://tech.quarterarcade.com/tech/MAME/src/polepos.c.html.aspx?g=2113
831: /* Z8002 #1 memory/ROM data */
832: ROM_REGION( 0x10000, REGION_CPU2, 0 )
833: ROM_LOAD16_BYTE( "176.3l", 0x0001, 0x2000, CRC(8aeaec98) SHA1(76b3bbb64a17090bf28858f1e91d2206a3beaf5b) )
834: ROM_LOAD16_BYTE( "177.4l", 0x0000, 0x2000, CRC(7051df35) SHA1(cf23118ab05f5af273d756f97e6453496a276c9a) )
versus
900: /* Z8002 #1 memory/ROM data */
901: ROM_REGION( 0x10000, REGION_CPU2, 0 )
902: ROM_LOAD16_BYTE( "176-v2.3l", 0x0001, 0x2000, CRC(848ab742) SHA1(75ee8864daa1bab42ef92afbc37c1c818bbd1d14) )
903: ROM_LOAD16_BYTE( "177-v2.4l", 0x0000, 0x2000, CRC(643483f7) SHA1(020822f623b8e65c6016492266b6e328f7637b68) )
904: ROM_LOAD16_BYTE( "rom-v2.4k", 0x4000, 0x1000, CRC(2d70dce4) SHA1(81c8bac3435289de78cf2aa13faf211dda0fa827) )
or this
970: /* Z8002 #1 memory/ROM data */
971: ROM_REGION( 0x10000, REGION_CPU2, 0 )
972: ROM_LOAD16_BYTE( "3lcpu.rom", 0x0001, 0x2000, CRC(cf95a6b7) SHA1(6a8419af8a52d3a8c88663b67845e4cb18e35723) )
973: ROM_LOAD16_BYTE( "177-v2.4l", 0x0000, 0x2000, CRC(643483f7) SHA1(020822f623b8e65c6016492266b6e328f7637b68) )
974: ROM_LOAD16_BYTE( "cpu-4k.rom", 0x4000, 0x1000, CRC(97a496b3) SHA1(fe79d2376c5fa9fe242905a841a1c894a5ccfba4) )
Note that two of those have reference to a 4K.... and the other one does NOT.
I'm looking for the PP2 version that does NOT have a 4K.
I was also sent two files that were suppose to be these, but after burning them it come up with a video RAM error. Those two files have a slightly different name than what's commonly found amongst the roms I have found so far via mame, so I am trying to find the origin of those two files to verify if they are corrupt. (hoping the originals may have just been lost during all the mame changes in an older version of mame)
And then when you toss in the fact that Atari boards and Namco boards have different chip location designations, yeah, it gets a tad confusing to sift through ROM files that have been merged, deleted, modified, or whatever at every MAME update since v36.
If I wanted to pirate stuff I wouldn't have bothered to post here.
And there is a vendoer which should could burn the chip for the original board, so you should contact this:
http://wiki.arcadecontrols.com/wiki/HobbyROMS
Ah yes..... Steph..... great guy, wonderful service. He's helped me out in the past and therefore I share whatever unusual ROM data I happen to come across with him.
I've been sharing my PP2 excursion along with any ROM files I may come across in hopes that they will be better sorted to help someone else in the future repair this 4K chip problem.
Besides.... when it comes to replacing ROMs, all these "repair" services have to come up with the appropriate files from "somewhere".
Even the "replacement" 4K chips that you may find at vendors like Bob Roberts for instance are a code hacked version....... why..... because it was an Atari CUSTOM chip originally......guess who doesn't support it any longer..... Atari.
But no worries mate...... we'll figure it out one way or another. :cheers:
-
I figured that would come up in sort of fashion .... :P
Let me be a little clearer.
I am NOT looking for a full rom SET or anything of that nature.
I am looking for particular ROMs for a Pole Position II in order to repair a bad set.
All of the Pole Position ROMs in MAME have been renamed and shuffled around umpteen times. I am looking for a version that may have been removed in the newer MAME versions for the fact that it was similar enough to others, namely the bootleg versions.
There was a bootleg version set for Pole Position II at one time that used ROMs at locations 3L and 4L but NOT at location 4K.
Location 4K is the problem chip and also a "custom" chip.
You are more than welcome to dig through here and see what I'm talking about.
http://tech.quarterarcade.com/tech/MAME/src/polepos.c.html.aspx?g=2113
831: /* Z8002 #1 memory/ROM data */
832: ROM_REGION( 0x10000, REGION_CPU2, 0 )
833: ROM_LOAD16_BYTE( "176.3l", 0x0001, 0x2000, CRC(8aeaec98) SHA1(76b3bbb64a17090bf28858f1e91d2206a3beaf5b) )
834: ROM_LOAD16_BYTE( "177.4l", 0x0000, 0x2000, CRC(7051df35) SHA1(cf23118ab05f5af273d756f97e6453496a276c9a) )
The filenames aren't that important, the checksums / SHA1 are the unique identifier
from http://mamedev.org/source/src/mame/drivers/polepos.c.html
1630 /*
1631 Pole Position 2 - Atari Version
1632
1633 CPU/Sound Board: A039185
1634 Video Board: A039187
1635
1636 Pole Position 2 uses the same hardware as Pole Position except there a
1637 couple of extra roms.
1638 */
1639
1640 ROM_START( polepos2a )
1641 /* Z80 memory/ROM data */
1642 ROM_REGION( 0x10000, "maincpu", 0 )
1643 ROM_LOAD( "136014.180", 0x0000, 0x2000, CRC(f85212c4) SHA1(666e55a7662247e72393b105b3e719be4233f1ff) )
1644 ROM_LOAD( "136014.183", 0x2000, 0x1000, CRC(a9d4c380) SHA1(6048a8e858824936901e8e3e6b65d7505ccd82b4) )
1645
1646 /* Z8002 #1 memory/ROM data */
1647 ROM_REGION( 0x10000, "sub", 0 )
1648 ROM_LOAD16_BYTE( "136014.176", 0x0001, 0x2000, CRC(8aeaec98) SHA1(76b3bbb64a17090bf28858f1e91d2206a3beaf5b) )
1649 ROM_LOAD16_BYTE( "136014.177", 0x0000, 0x2000, CRC(7051df35) SHA1(cf23118ab05f5af273d756f97e6453496a276c9a) )
in other words, the roms you're asking for belong to
GAME( 1983, polepos2a,polepos2, polepos, polepos2, polepos2, ROT0, "Namco (Atari license)", "Pole Position II (Atari)", 0 )
in the current version of MAME.
Although this seems too obvious, I'm not sure it's what you actually want to know?
-
in other words, the roms you're asking for belong to
GAME( 1983, polepos2a,polepos2, polepos, polepos2, polepos2, ROT0, "Namco (Atari license)", "Pole Position II (Atari)", 0 )
in the current version of MAME.
Although this seems too obvious, I'm not sure it's what you actually want to know?
Right..... but what I'm looking for is a version of PP II that does not require
cpu-4K.rom CRC 97A496B3
or
rom-v2.4k CRC 2d70dce4
There is a set that supposedly ONLY had chips in the locations for 136014.176 and 136014.177 (locations 3L and 4L respectively) (or also known as 3l.cpu and 4l.cpu)
in MAME if I remove the cpu-4K.rom file from the current bootleg version it crashes. (missing error obviously)
I'm almost certain the two files I'm after are from a bootleg version of the game.
I was sent two files that were supposed to be what I'm looking for, but the machine comes up with an error. The ROMs verified good according to the files sent to me. So I'm not even certain these are the right files or if they are just corrupted and not working properly. They were named 176-V3.3L and 177-V3.4L (supposedly NO 4K ROM required)
Neither of the files sent to me are recognized by ROMIDENT.
I'd be more than happy to e-mail these to someone to look at..... but I never get a response of any kind via the MAME site http://mamedev.org/ for this or any other message I have ever sent there, hence why I posted here.
-
The two files sent to me that I am trying to find the origin of are:
176-V3.3L CRC - A3579CA3 SHA1 - 50bb874f8eff4a7dbf066f80b46a0c97ece75f8b
and
177-V3.4L CRC - 315BD13C SHA1 - 5ce01285da44bf34b9f8683cf006c068608ccaf8
So far I've hit a brick wall on these.
-
Ok, so I took a shot in the dark to try and re-create the error we are getting on the real machine by manipulating with MAME a little.
Now I happen to be using MAME32v90.... no particular reason, just what I had handy on my PC.
I deleted all the PP2 ROMS and chose the one "bootleg" version to start with.
Of course by itself it was missing a lot of files, so rounding those up and adding them into the ROM I got it to run normally. (without the parent ROM etc)
Next I deleted the original 3lcpu.rom and 4lcpu.rom files.
Copied my 176-V3.3L and 177-V3.4L files into the ROM and renamed them to match the previously deleted files.
Deleted the cpu-4k.rom file, but it would not even start with that file completely missing.
So I opened a copy of it and deleted all the contents leaving an empty file. That way MAME would at least see the file listed.
Obviously it's going to initially give me Checksum Errors, File Length Errors, etc "game may not play correctly" because the files are altered...... but guess what ?
It ran fine....... no system errors. Essentially NO 4K chip data.
(no RAM 20 error which is our problem on the real machine with these files)
Note checksums highlighted in this screenshot.
-
why not use
poleps2a.zip
this don't use the 4k rom.
-
What MAME version ? (if any particular)
Does it run without the parent ROM set ?
Most parent ROM sets I've seen include the three files from the bootleg version.
(3l.cpu, 4l.cpu and cpu-4k.rom)
Of course my eyes burn from reading, so I could be mistaken without looking again.
-
do exactly what you did with the 2b
replace the 3l 4l with yours
remove 4k rom.
it should run wihtout 4k.
of course you will get CRC/SHA erro on those 2 files. But it should run without looking for 4k.
-
Yes, that indeed did work. No 4K.
I viewed the file data and honestly there only seems to be a couple tidbits of difference between the ones sent to me and MAME's 136014.176 and 136014.177
So I'm starting to think they were supposed to be one and the same, just ever so slightly corrupted.
But also now brings about the question since that MAME version doesn't have a 4K file...... which boardset is it for ? Since there are two possible "Atari" boards, both requiring different ROM setups. The -22 (which is what we are working on) so happens to absolutely needs the 4K.
-
the chip at 4k on original pole position 2 boards is not a ROM. It is a custom Namco protection device. It cannot be 'dumped' or replaced with a ROM when using the original PP2 ROM code as it will not behave like a protection chip.
MAME simulates the protection device for all original Pole Position 2 sets.
The bootleg versions have the ROM at 4k ROM instead of the protection device and the code in the other 2 roms has been modified to read data from that ROM instead of using the protection device. This is a workaround for the protection on the bootleg boards, there is no guarantee it will work on an original.
If the chip at 4k is dead, and using the bootleg roms
/* Z8002 #1 memory/ROM data */
ROM_REGION( 0x10000, "sub", 0 )
ROM_LOAD16_BYTE( "3lcpu.rom", 0x0001, 0x2000, CRC(cf95a6b7) SHA1(6a8419af8a52d3a8c88663b67845e4cb18e35723) )
ROM_LOAD16_BYTE( "4lcpu.rom", 0x0000, 0x2000, CRC(643483f7) SHA1(020822f623b8e65c6016492266b6e328f7637b68) )
ROM_LOAD16_BYTE( "cpu-4k.rom", 0x4000, 0x1000, CRC(97a496b3) SHA1(fe79d2376c5fa9fe242905a841a1c894a5ccfba4) )
doesn't work, then you have no other options. All the original sets require the protection device to be at 4k.
-
The bootleg versions have the ROM at 4k ROM instead of the protection device and the code in the other 2 roms has been modified to read data from that ROM instead of using the protection device. This is a workaround for the protection on the bootleg boards, there is no guarantee it will work on an original.
The 3lcpu.rom, 4lcpu.rom and cpu-4k.rom do in fact work on original hardware. (a 2764, 2764, 2716 ROM respectively) We have a set running right now. The problem with those is there are graphic differences/mixed from both Namco and Atari versions. But it does work and will fix a dead 4K.
If the chip at 4k is dead, and using the bootleg roms doesn't work, then you have no other options. All the original sets require the protection device to be at 4k.
Right..... what I was given is a set of 3L and 4L files that were dumped from a working PP2 boardset that does NOT have a 4K.
There seems to be very little difference between these two files and the ones found in MAME. But there are indeed differences. Problem is I can get them to work in MAME, but not on the original hardware. (even though they were pulled from original hardware)
My purpose is to find out why they don't work on our original hardware and what any other changes may be needed in order to get them to work. (I was told nothing else was needed)
-
MAME simulates the protection device for all original Pole Position 2 sets.
Can you enlighten me on how this is being done ?
More or less just to clarify if it's coded in "MAME" or if it's modified ROM data.
Want to know if the bootleg version "poleposb" is utilizing this 4K simulation in any way. (in MAME since it has the cpu-4k.rom )
I know it won't run without it.
And I can recreate the proper Error IC25 for a bad 4K using the original 3lcpu.rom and 4lcpu.rom by modifying the 4K ....... but it runs fine when I use the modified 3L and 4L files sent to me and a blank 4K.
-
The bootleg versions have the ROM at 4k ROM instead of the protection device and the code in the other 2 roms has been modified to read data from that ROM instead of using the protection device. This is a workaround for the protection on the bootleg boards, there is no guarantee it will work on an original.
The 3lcpu.rom, 4lcpu.rom and cpu-4k.rom do in fact work on original hardware. (a 2764, 2764, 2716 ROM respectively) We have a set running right now. The problem with those is there are graphic differences/mixed from both Namco and Atari versions. But it does work and will fix a dead 4K.
If the chip at 4k is dead, and using the bootleg roms doesn't work, then you have no other options. All the original sets require the protection device to be at 4k.
Right..... what I was given is a set of 3L and 4L files that were dumped from a working PP2 boardset that does NOT have a 4K.
There seems to be very little difference between these two files and the ones found in MAME. But there are indeed differences. Problem is I can get them to work in MAME, but not on the original hardware. (even though they were pulled from original hardware)
My purpose is to find out why they don't work on our original hardware and what any other changes may be needed in order to get them to work. (I was told nothing else was needed)
If you know they came from a working PCB then it sounds likely that they came from an alternate version of the game that was either not protected, or some kind of bootleg that had the protection removed. It would only take small modifications to the roms to remove the need for the 4K protection chip if you knew what you were doing.
Maybe there were some other workarounds on the PCB they were taken from? Different main program roms? How much do you know about the board they were taken from? (are you sure it was a PP2 not a PP)
Anyway, as for the protection
GAME( 1983, polepos2, 0, polepos, polepos2, polepos2, ROT0, "Namco", "Pole Position II", 0 )
GAME( 1983, polepos2a,polepos2, polepos, polepos2, polepos2, ROT0, "Namco (Atari license)", "Pole Position II (Atari)", 0 )
GAME( 1983, polepos2b,polepos2, polepos, polepos2, polepos, ROT0, "bootleg", "Pole Position II (bootleg)", 0 )
these are the game defs for Pole Position 2 in MAME. note the last entry before ROT0. On the 2 original Pole Position 2 sets it's 'polepos2' and on the bootleg it's polepos. This tells MAME which INIT function to use for the set.
static DRIVER_INIT( polepos )
{
polepos_gear_bit = 2;
}
static DRIVER_INIT( polepos2 )
{
/* note that the bootleg version doesn't need this custom IC; it has a hacked ROM in its place */
memory_install_read16_handler(cputag_get_address_space(machine, "sub", ADDRESS_SPACE_PROGRAM), 0x4000, 0x5fff, 0, 0, polepos2_ic25_r);
DRIVER_INIT_CALL(polepos);
}
As you can see the polepos2 init adds a handler to the memory area 0x4000 - 0x5fff which is where the protection device 'lives' on that hardware. Without that handler the driver defaults to reading from the '4k' rom (which is what happens on the bootleg set which doesn't install the handler)
static READ16_HANDLER( polepos2_ic25_r )
{
int result;
/* protection states */
static INT16 last_result;
static INT8 last_signed;
static UINT8 last_unsigned;
offset = offset & 0x1ff;
if (offset < 0x100)
{
last_signed = offset & 0xff;
result = last_result & 0xff;
}
else
{
last_unsigned = offset & 0xff;
result = (last_result >> 8) & 0xff;
last_result = (INT8)last_signed * (UINT8)last_unsigned;
}
// logerror("%04X: read IC25 @ %04X = %02X\n", cpu_get_pc(space->cpu), offset, result);
return result | (result << 8);
}
This is the actual function that simulates the logic of the protection device in MAME.
If you added the 2 roms you have to MAME, but used one of the sets which has the protection device mapped at 4k (calls the polepos2 init) then the protection device will still be emulated, and thus if the roms require them, will still work in MAME. If you added them to a set which doesn't call the polepos2 init, and they still work, without any 4K rom, then it means that they really don't rely on the 4k ROM and don't rely on the protection chip.
-
It would only take small modifications to the roms to remove the need for the 4K protection chip if you knew what you were doing.
That's my problem.... ain't got a clue when it comes to that side of things.
Maybe there were some other workarounds on the PCB they were taken from? Different main program roms? How much do you know about the board they were taken from? (are you sure it was a PP2 not a PP)
My understanding from the fella who dumped them and sent them to me was that this was indeed an unaltered PP2 boardset.
these are the game defs for Pole Position 2 in MAME. note the last entry before ROT0. On the 2 original Pole Position 2 sets it's 'polepos2' and on the bootleg it's polepos. This tells MAME which INIT function to use for the set.
Makes sense..... PP1 didn't use a 4K at all.
If you added them to a set which doesn't call the polepos2 init, and they still work, without any 4K rom, then it means that they really don't rely on the 4k ROM and don't rely on the protection chip.
Exactly why I have been trying by using the bootleg set.
And with these two files and a "modified" 4K file, the game runs fine.
The only reason I seem to need the "modified" 4K in there at all is that MAME wants pop up and say it's not found therefore can't run. But as long as I throw a dummy 4K file in there all is good.
Just to reiterate my purpose is that I can get them to work in MAME, just not on our set of boards. But the potential certainly seems to be there. Just a matter of narrowing down a difference somewhere. Could very well be on the boards, but I just can't see that if they were dumped from an otherwise unmodified working boardset. And this noardset works fine with the originals in it.
So I guess I'll keep poking at it.
I downloading hasn't been working here, but I uploaded two sets of the bootleg versions in that Testing.zip
One set is all MAME bootleg original aside from the 4K file, which I just dummied. Pops up an IC 25 error as expected.
The other set is these two files I'm working with and the same dummy 4K..... and it works.
-
It would only take small modifications to the roms to remove the need for the 4K protection chip if you knew what you were doing.
That's my problem.... ain't got a clue when it comes to that side of things.
Maybe there were some other workarounds on the PCB they were taken from? Different main program roms? How much do you know about the board they were taken from? (are you sure it was a PP2 not a PP)
My understanding from the fella who dumped them and sent them to me was that this was indeed an unaltered PP2 boardset.
these are the game defs for Pole Position 2 in MAME. note the last entry before ROT0. On the 2 original Pole Position 2 sets it's 'polepos2' and on the bootleg it's polepos. This tells MAME which INIT function to use for the set.
Makes sense..... PP1 didn't use a 4K at all.
If you added them to a set which doesn't call the polepos2 init, and they still work, without any 4K rom, then it means that they really don't rely on the 4k ROM and don't rely on the protection chip.
Exactly why I have been trying by using the bootleg set.
And with these two files and a "modified" 4K file, the game runs fine.
The only reason I seem to need the "modified" 4K in there at all is that MAME wants pop up and say it's not found therefore can't run. But as long as I throw a dummy 4K file in there all is good.
Just to reiterate my purpose is that I can get them to work in MAME, just not on our set of boards. But the potential certainly seems to be there. Just a matter of narrowing down a difference somewhere. Could very well be on the boards, but I just can't see that if they were dumped from an otherwise unmodified working boardset. And this noardset works fine with the originals in it.
So I guess I'll keep poking at it.
I downloading hasn't been working here, but I uploaded two sets of the bootleg versions in that Testing.zip
One set is all MAME bootleg original aside from the 4K file, which I just dummied. Pops up an IC 25 error as expected.
The other set is these two files I'm working with and the same dummy 4K..... and it works.
Could you get a complete dump of the board that your new set comes from? It seems a little strange that there would be an original PP2 that doesn't use the protection chip at 4K, but it sounds like you have an otherwise unsupported set which should be supported (however it would only make sense to support it once it's been confirmed which other roms the ones you're trying to use should pair with) It probably doesn't help you a great deal, but the set should be added as a clone, which may help other people with similar problems at least.
Likewise a complete dump of the roms from the board you're trying to fix would help diagnose which set it should have on it.
I think one of the problems with the older sets is that most of them were hacked together from partial dumps, and thus it was never clear what should go with what.
It's certainly not the easiest of situations to diagnose. I can think of no reason to explain what you're seeing, especially considering you've said the existing bootleg set works but with incorrect graphics (which almost rules out any compatibility issue between the video program and the main program causing the roms you're trying to not work at all)