Source code for 280 ZZZAP - Is it available?

so you didn't even do it yourself and posted a bullshit pic showing something else. seems like you didn't understand your own assignment. The original question was if you could replace the crash text with more characters. You posted a pic of text on screen while the game is not even playing.

It's MAME, moron.
I went into the debugger and jumped to the altered code so I wouldn't have to waste time "playing" the game.

Maybe one day you'll learn how microprocessor systems work.


Oooh, look -- altered ROMs:
Code:
$ ./mame64 -debug 280zzzap
zzzapc WRONG CHECKSUMS:
    EXPECTED: CRC(6e85aeaf) SHA1(ffa6bb84ef1f7c2d72fd26c24bd33aa014aeab7e)
       FOUND: CRC(b1a6283f) SHA1(c2387f1cf3b846678f854bc0d73e2bbd18575215)
WARNING: the machine might not run correctly.
Exited via the debugger
Average speed: 10.03% (3 seconds)
 
It's MAME, moron.
I went into the debugger and jumped to the altered code so I wouldn't have to waste time "playing" the game.

Maybe one day you'll learn how microprocessor systems work.
it only takes 2 seconds of game play to properly show a crash message.
 
1726250557453.png
oooh look
zzzapc does not even contain the crash text messages and altering only zzzapc cannot bypass the crash rom text like i said you got all cocky and didn't even do it
 
oooh look
zzzapc does not even contain the crash text messages and altering only zzzapc cannot bypass the crash rom text like i said you got all cocky and didn't even do it

No, shit, fucktard.
I clearly said I did the edits on top of the Spanish text, which (shocklingly) is in zzzapc.

So, are you done yet?

First meeting of the day was a little boring, so I tinkered a bit.
Blew away the Spanish text rather than try to squeeze it into the existing space for simplicity.
 
Do you have the address where that graphic is in the ROM's? I haven't had much time to look at these but I want to spend some time over the upcoming holidays.

There seems of be a bit of History between a couple of the members on this thread. I have no idea on that backstory. I'm certainly not going to get in the middle of that and hope it all gets worked out. Aren't we all here because we have fond memories of playing these games and want to see them preserved? This forum has a ton of talented members and many have an insane amount of knowledge in different areas. Others are learning more and getting better as we go. I appreciate the technical details so far and hope the rest is friendly banter back and forth.

I have probably forgotten more than I remember about Z-80 (which parts translate to 8080) but it is coming back. Back when these games came out I couldn't afford to own any and only played occasionally at the arcades. Had to resort to learning Z-80 assembly (BASIC was too slow) to program games on a TRS-80 if I wanted games to play at home. One of my games is available to play online running in an emulated TRS-80 in a browser. Incredible that it all works. You can check it out here:


So, perhaps a worthwhile project would be to reconstruct the source for 280 ZZZAP and other forgotten games. Makes patching much easier. Instead of inplace updates could recompile the whole thing.

I haven't done a lot on my 280 ZZZAP but do enjoy a game now and then. Need to pull the steering wheel and some point to see about getting the base plate and round button re-plated. Other than that just clean the mirror and completely secure the dash graphic.

This game seems to be a keeper. I had a Rush 2049 but after fixing it I sucked at playing that and it was huge. That one went. But I think 280 ZZZAP will stay for a while. Also have a Night Driver that I have working (except 2nd gear) and that is quite a bit different to play. It's cool but that one may go. Maybe not if I can fight the evil we all face. Not enough room!

Have fun and I look forward to more code snippets!
 
Are you able to post clear pics of the main and daughter pcb and possibly the schematics?

I have been putting together a thread on the Midway 8080 L Shaped PCB revision jumpers. Rev info on the main pcb might help if it is a board revision we don't have pictures of yet.

In case it's any help re looking at the code, here is some system info I have on 280 Zzzap.
Game: 280 Zzzap
Year: 1976
Game number: 610
6 x 1KB ROMs in sockets H to C
ROMs Info: ZZZAPH, ZZZAPG, ZZZAPF, ZZZAPE, ZZZAPD, ZZZAPC
ROM Range: 0000 - 17FF
RAM Range: 2000 - 3FFF
IO Ports: 00 to 07

I may already have pictures of the boards when I rebuilt them. Will have to take a look.
Looking forward to any info you can supply on the boards and schematics. They could be a great help, recording info on the different PCB revisions and the jumpers needed when checking/changing ROM/EPROM types.
 
Looking forward to any info you can supply on the boards and schematics. They could be a great help, recording info on the different PCB revisions and the jumpers needed when checking/changing ROM/EPROM types.

All boards should just be modded to use a single 27128 -- regardless if whether they actually need all the ROM space.
 
I have probably forgotten more than I remember about Z-80 (which parts translate to 8080) but it is coming back.

I'd forgotten that ccf is complement carry flag, not clear carry flag -- that was the only bug in my first hack at the code :)

You're supposed to scf + ccf to clear the carry.
...or do an add a,$00, since that can't carry, which is what I ended up doing.
...2 bytes either way :)
 
I'd forgotten that ccf is complement carry flag, not clear carry flag -- that was the only bug in my first hack at the code :)

You're supposed to scf + ccf to clear the carry.
...or do an add a,$00, since that can't carry, which is what I ended up doing.
...2 bytes either way :)
"or a" / "and a" are single byte instructions that clear the carry. They also affect the zero flag so can be used as single byte replacements for "CP 0"
 
Looking forward to any info you can supply on the boards and schematics. They could be a great help, recording info on the different PCB revisions and the jumpers needed when checking/changing ROM/EPROM types.
despite the 6 2708 that are recorded in mame damn near all original 280zzzap pcbs actually used 3 tms2716 or 2716. for the sake of part availability you can leave the main board jumpers set to tms2716 and program common 2716 then pull pin21 and jump it to pin 24.
 
Last edited:
"or a" / "and a" are single byte instructions that clear the carry. They also affect the zero flag so can be used as single byte replacements for "CP 0"

Wasn't sure the logic operations affected carry, and didn't feel like googling :)
There are certainly certain times when it'd be useful to not have the carry flag be affected pending a branch.
 
Do you have the address where that graphic is in the ROM's? I haven't had much time to look at these but I want to spend some time over the upcoming holidays.

There's 3 pics in the animation, starting at $043e (including header).

You'll probably want do write some code to dump out the binary as ascii art like I did.

1726513911332.png
 
Awesome! Thank you for the tips! Trying to wrap up some hardware repairs on some games in the garage while the weather is nice. Typically get to focus more on coding when the weather turns bad and over the holidays. Will be a fun project.
 
I started to poke around at this a little more since the Sea Wolf project is done.
I'll prob dump it up on github when it's further along.
I've been following the thread regarding Seawolf and what you've done is amazing. What a great upgrade to a great game! Plus reconstructing the source is great for understanding the game, helps with troubleshooting, and opens up to enhancements.

Maybe one of the DIP switch settings instead of a different language could enable/disable a more Mature mode so some of the additional phrases when you crash that have already been discussed in the thread could be enabled/disabled. So it will work in a family friendly setting or let the game say what most people feel when they actually crash.....

As far as changes I think it would be better to not automatically start a game when a credit is added. If there are multiple credits then you need to press start for the next game. Would be better to just add credits and then use the start button when you're ready to start the first game. As it is the game starts as you drop the coin and you may not actually be ready to play. So I think that one change would be a welcome one and improve the game.

It is so cool that after all these years these games are getting some tweaks to improve them while retaining the spirit of the original game.
 
I've been following the thread regarding Seawolf and what you've done is amazing. What a great upgrade to a great game! Plus reconstructing the source is great for understanding the game, helps with troubleshooting, and opens up to enhancements.

Maybe one of the DIP switch settings instead of a different language could enable/disable a more Mature mode so some of the additional phrases when you crash that have already been discussed in the thread could be enabled/disabled. So it will work in a family friendly setting or let the game say what most people feel when they actually crash.....

As far as changes I think it would be better to not automatically start a game when a credit is added. If there are multiple credits then you need to press start for the next game. Would be better to just add credits and then use the start button when you're ready to start the first game. As it is the game starts as you drop the coin and you may not actually be ready to play. So I think that one change would be a welcome one and improve the game.

It is so cool that after all these years these games are getting some tweaks to improve them while retaining the spirit of the original game.
what you ask here is actually simple. just switch the highest address line on the chip that has text. just my 2 cents but the best improvement for this game would be to slow it down and add more time so its actually playable. i love this game for the title alone but i think in practice it is broken from the factory.
 
Back
Top Bottom