Coming soon to a Pac-Land cab/board near you...

cmonkey

Active member
vacBacker
Feedback
4 (100%)
Credits
1,658CR
The video says it all really. Something I've been working on for the past couple of weeks.

Enjoy!
smiley1.gif


 

cmonkey

Active member
vacBacker
Feedback
4 (100%)
Credits
1,658CR
RGP said:
Well done! Any chance of getting a free play with attract done as well?

(btw, Mr Super Hang On expert we need one for that too)

A free play with attract could definitely be on the cards but there's very little room left in the 2 roms for code alterations. In both the Bally Midway and Namco rom 0 there's 150 bytes free, in the Namco rom 1 there's 119 bytes free but in the Bally Midway rom 1 there's only 102 bytes free. All rom alterations to enable high score saving have so far been limited to touching rom 1 as I wanted to make it a 1 rom/1 ram swap mod. There's now only 37 bytes free in rom 1 and I still haven't come up with a software solution to reset the high scores to zero yet (should the user wish to do so). I've got an idea on how to do that but I've a feeling that I can't squeeze those alterations into the remaining 37 free bytes so it may well spill over into rom 0.

OK, I could do with a couple of beta testers for this mod please. To qualify you need the following :-

1) a Bally Midway board with Jamma adapter (unless you've got a dedicated cab
smiley2.gif
) as I haven't ported the code alterations to the Namco roms yet unfortunately

2) preferably your board should have a socketed ram at position 9N and a socketed eprom at position 8D, if not then you'll need to socket them so I hope you're comfortable with a desoldering tool!

3) to be pretty good at playing Pac-Land (i.e. to be able to get to round 20+). Although if you really suck then I can provide a hacked rom with infinite lives to make your life easier
smiley36.gif


4) to have a good eye for detail for spotting anything that might potentially be out of the ordinary in the game play. In theory there shouldn't be any side effects of this whatsoever as it only preserves the 80 bytes of high score table in CPU address space $2140-$218f but that's the idea behind beta testing. I've been running this code for a few days on my cab and haven't noticed anything untoward yet

I can provide the replacement eprom at 8D and a replacement 2Kb Dallas DS1220AB NVRAM module for 9N. If you're a really good beta tester I'll even let you keep the eprom and NVRAM module (they're not cheap either).

Any willing guinea pigs volunteers?
 

Alpha1

Do the Shake and 'VAC
Staff member
vacBacker
Feedback
95 (99%)
Credits
5,435CR
cmonkey said:
RGP said:
Well done! Any chance of getting a free play with attract done as well?

(btw, Mr Super Hang On expert we need one for that too)

A free play with attract could definitely be on the cards but there's very little room left in the 2 roms for code alterations. In both the Bally Midway and Namco rom 0 there's 150 bytes free, in the Namco rom 1 there's 119 bytes free but in the Bally Midway rom 1 there's only 102 bytes free. All rom alterations to enable high score saving have so far been limited to touching rom 1 as I wanted to make it a 1 rom/1 ram swap mod. There's now only 37 bytes free in rom 1 and I still haven't come up with a software solution to reset the high scores to zero yet (should the user wish to do so). I've got an idea on how to do that but I've a feeling that I can't squeeze those alterations into the remaining 37 free bytes so it may well spill over into rom 0.

OK, I could do with a couple of beta testers for this mod please. To qualify you need the following :-

1) a Bally Midway board with Jamma adapter (unless you've got a dedicated cab
smiley2.gif
) as I haven't ported the code alterations to the Namco roms yet unfortunately

2) preferably your board should have a socketed ram at position 9N and a socketed eprom at position 8D, if not then you'll need to socket them so I hope you're comfortable with a desoldering tool!

3) to be pretty good at playing Pac-Land (i.e. to be able to get to round 20+). Although if you really suck then I can provide a hacked rom with infinite lives to make your life easier
smiley36.gif


4) to have a good eye for detail for spotting anything that might potentially be out of the ordinary in the game play. In theory there shouldn't be any side effects of this whatsoever as it only preserves the 80 bytes of high score table in CPU address space $2140-$218f but that's the idea behind beta testing. I've been running this code for a few days on my cab and haven't noticed anything untoward yet

I can provide the replacement eprom at 8D and a replacement 2Kb Dallas DS1220AB NVRAM module for 9N. If you're a really good beta tester I'll even let you keep the eprom and NVRAM module (they're not cheap either).

Any willing guinea pigs volunteers?

Pacland lovers, come out of the shadows!!
 

bonehead

I'll get pix tonight
vacBacker
Feedback
49 (100%)
Credits
1,719CR
Very cool!!!!
One of the best games ever released in my opinion.

If you ever make anymore kits I would love to buy one.

Steve.

I would love to test it but can't get very far on the game.
 

cmonkey

Active member
vacBacker
Feedback
4 (100%)
Credits
1,658CR
I won't be making any kits as such as this mod can be easily done by anyone with an eprom burner. I will release the hacked roms for all the different versions of Pac-Land (Bally Midway/Namco japanese/Namco world) once I've ported the code to them and also a full document explaining exactly what was patched and where. This will serve as a small intro to rom hacking for the geeks amongst us!

The only other thing you'll need is an 2Kb NVRAM module (Dallas DS1220AB or similar) to replace the ram module at position 9N.

Simples!
smiley1.gif
 

RGP

Meeter & Greeter
Feedback
5 (100%)
Credits
2,039CR
D'oh! I have a single layer Namco board and JAMMA adapter.

When you come up in August maybe we can chat about these hacks, i'm an 8/16bit coder hacker from back then, just not sure how to setup the kit to mess about with arcade roms.

Thinking aloud, Free Play should be easy but need the extra bytes in the other ROM. Find a dip switch thats not used eg 2-8 as long as its mapped to address space etc, just have to check start 1/2 while in attract mode and jump to the trip select. Obviously wasting 9 bytes for "FREE PLAY" to be stored and its code to overwrite Credits 0
 

cmonkey

Active member
vacBacker
Feedback
4 (100%)
Credits
1,658CR
Which version of the Namco board have you got? World or Japan? Has your Pac Man got a short nose (world) or a long nose (Japan)? If I can't find a volunteer with a Bally Midway board then I'll make porting it to your board type a priority so you can be my tester!

All the hacking I do is done via the Mame debugger. In fact I spend more time in the Mame debugger these days than I do actually playing the damn games! It's only when I've finalised the hack and tested it to destruction in Mame that I then proceed to test on real hardware. You are of course taking a little risk here that the Mame emulation of the machine you're hacking is 100% accurate and as I've found out with Pac-Land that isn't the case. When I first tried this hack on my cab it exhibited behaviour that Mame simply can't replicate exactly. This is why I need a beta tester to prove to me that they're seeing the same things that I'm seeing when this is run on actual hardware rather than through emulation.

Unfortunately all 16 dip switches are already used by the Pac-Land code
smiley19.gif
This was the first method I'd thought about doing for resetting the high scores. It's unlikely that people ever will want to reset the high scores back to zero but I was thinking along the lines of taking the cab to the Play Expo this year and then resetting the scores at the end of the Saturday to allow the Sunday crowd to get a chance at getting their names on the high score table. At the moment this can be done by swapping the NVRAM into either the 9M or 9P position and then powering up the cab briefly and then powering it down again and swapping the NVRAM back to 9N. Hardly ideal, but a solution nonetheless. A software solution would be preferable though.

I'm probably going to map high score reset to the 'round select' feature that's hidden in the dip switches. I can't see any valid reason why someone would select 'round 1' using that feature (why would you when you can just start a normal game at round 1?) so I'll probably hook that and reset high scores if they select round 1. Not ideal, but with only a few free bytes to play with you've got to get creative! Believe me, to squeeze the high score save into the 70-odd bytes that I have done already I've had to use some pretty advanced coding techniques.
 

cmonkey

Active member
vacBacker
Feedback
4 (100%)
Credits
1,658CR
Just had a quick look at Sky Kid in Mame. The high score table is held in ram @ $5004 to $5044 (65 bytes). Each high score is comprised of 4 bytes for the score, 1 byte for the level reached and 8 bytes for the name. 13 bytes in total per high score, 5 high scores per table = 65 bytes.

The routine at $cff9 copies the default high score table in rom (@ $d00a) to ram at boot time.

It operates pretty much the same as Pac-Land does, which isn't surprising as the hardware is near identical. It has 6Kb of shared work/sprite ram which covers CPU address space $4800-$5fff. This will probably be made up of 3 x 2Kb 6116 rams (or equivalent), just like Pac-Land. To add high score save it would just be a case of identifying which one of these 3 rams covers address space $5000-$57ff and swapping it with an NVRAM module and patching the rom. The patches would be similar to the Pac-Land patches. Bonus is that there is 250 free bytes of space to play with at the end of the rom so it wouldn't be as much of a squeeze as it was to do Pac-Land!

Oh, and you'd also need to change the message that's displayed on the high score screen as "THESE ACE FIGHTERS WILL BE ADMIRED UNTIL THE SWITCH IS TURNED OFF!" would no longer be appropriate!
smiley36.gif


Put a high resolution, clear pic of the pcb up on here and I'll identify the 6Kb of work/sprite ram.

Here's a quick P.O.C. to show that I've found the high score table in ram and manually patched a cool score in for me! I hadn't even played the game at this point and I've still got a pretty good score!

 
Top