Stu's Incredible Pac-Man Hack Challenge
- Ast A. Moore
- Rick Dangerous
- Posts: 2641
- Joined: Mon Nov 13, 2017 3:16 pm
Re: Stu's Incredible Pac-Man Hack Challenge
Did you know there’s an actual emulator of Pac-Man for the Spectrum, that can use the original ROMs? You can’t get more authentic that that.
Last edited by Ast A. Moore on Sat Apr 18, 2020 2:27 pm, edited 1 time in total.
Every man should plant a tree, build a house, and write a ZX Spectrum game.
Author of A Yankee in Iraq, a 50 fps shoot-’em-up—the first game to utilize the floating bus on the +2A/+3,
and zasm Z80 Assembler syntax highlighter.
Author of A Yankee in Iraq, a 50 fps shoot-’em-up—the first game to utilize the floating bus on the +2A/+3,
and zasm Z80 Assembler syntax highlighter.
Re: Stu's Incredible Pac-Man Hack Challenge
yes, I think I'll put it centrally. I'll keep the other designs though as I hope to include Ms. Pacman as well.
- MatGubbins
- Dynamite Dan
- Posts: 1239
- Joined: Mon Nov 13, 2017 11:45 am
- Location: Kent, UK
Re: Stu's Incredible Pac-Man Hack Challenge
The map can be changed. It takes 768bytes of data to define it, followed by another 768bytes for the colour data.
Instructions for Spin 0.666
Load PacMan game as normal.
Pause the emulator when the keys/menu/fruits screen appears.
On the Spin menu select Tools > Z80 Assembler...
Copy/paste the all of the code below into the big white square, it will auto appear there, colourful.
On the Spin Assembler menu select File > Assemble...
Another box will appear, press OK, the box will vanish, with a few lines of words on the Assembler status.
The new map is now in the game.
UNPAUSE the emulator and you can now press S to play the game with the new map.
And now for the bad news......
The side exits need to be extended to the edges of the screen as the game code is looking for pacman to hit screen position 0 or 31 and flip him to the opposite side. When this code has been found and modified then it wll be possible to shorten the side lanes to your requirements.
The amount of dots to be collected is hard coded somewhere, so collecting all the dots in the new map won't allow a new screen to start.
The ghosts will roam as normal, but they are hard coded to the start positions, so when they are eaten they return to their spaced apart places as in the original map, this will overlap the smaller ghost house walls.
Power Pills will not pulse as they too are hard coded somewhere.
I don't know if this is a bug with the game but I found that the ghosts would change to scared mode after a certain amount of time even though I had not collected a power pill.
All of this needs to be found by someone else as I'm useless at decoding code that is not mine.
Anyway, enjoy what you've got.
Mat
Instructions for Spin 0.666
Load PacMan game as normal.
Pause the emulator when the keys/menu/fruits screen appears.
On the Spin menu select Tools > Z80 Assembler...
Copy/paste the all of the code below into the big white square, it will auto appear there, colourful.
On the Spin Assembler menu select File > Assemble...
Another box will appear, press OK, the box will vanish, with a few lines of words on the Assembler status.
The new map is now in the game.
UNPAUSE the emulator and you can now press S to play the game with the new map.
Code: Select all
ORG 25024
; score line
DEFB 83, 67, 79, 82, 69, 62, 48, 48, 48, 48, 48, 48, 32, 32, 32, 32, 72, 73, 45, 83, 67, 79, 82, 69, 62, 48, 48, 48, 48, 48, 48
; map data
DEFB 32, 32, 32, 32, 98, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96,107, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 99, 32, 32, 32
DEFB 32, 32, 32, 32, 97, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 97, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 97, 32, 32, 32
DEFB 32, 32, 32, 32, 97, 75, 98, 96, 99, 75, 98, 96, 96, 96, 99, 75, 97, 75, 98, 96, 96, 96, 99, 75, 98, 96, 99, 75, 97, 32, 32, 32
DEFB 32, 32, 32, 32, 97, 76,100, 96,101, 75,100, 96, 96, 96,101, 75,105, 75,100, 96, 96, 96,101, 75,100, 96,101, 76, 97, 32, 32, 32
DEFB 32, 32, 32, 32, 97, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 97, 32, 32, 32
DEFB 32, 32, 32, 32, 97, 75,102, 96,103, 75, 98, 99, 75,102, 96, 96,107, 96, 96,103, 75, 98, 99, 75,102, 96,103, 75, 97, 32, 32, 32
DEFB 32, 32, 32, 32, 97, 75, 75, 75, 75, 75, 97, 97, 75, 75, 75, 75, 97, 75, 75, 75, 75, 97, 97, 75, 75, 75, 75, 75, 97, 32, 32, 32
DEFB 32, 32, 32, 32,100, 96, 96, 96, 99, 75, 97,108, 96, 96,103, 32,105, 32,102, 96, 96,109, 97, 75, 98, 96, 96, 96,101, 32, 32, 32
DEFB 32, 32, 32, 32, 32, 32, 32, 32, 97, 75, 97, 97, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 97, 75, 97, 32, 32, 32, 32, 32 ,32, 32
DEFB 32,102, 96, 96, 96, 96, 96, 96,101, 75,100,101, 32, 98, 96, 42, 42, 42, 96, 99, 32,100,101, 75,100, 96, 96, 96, 96, 96, 96,103
DEFB 32, 32, 32, 32, 32, 32, 32, 32, 32, 75, 32, 32, 32, 97, 32, 32, 32, 32, 32, 97, 32, 32, 32, 75, 32, 32, 32, 32, 32, 32, 32, 32
DEFB 32,102, 96, 96, 96, 96, 96, 96, 99, 75, 98, 99, 32,100, 96, 96, 96, 96, 96,101, 32, 98, 99, 75, 98, 96, 96, 96, 96, 96, 96,103
DEFB 32, 32, 32, 32, 32, 32, 32, 32, 97, 75, 97, 97, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 97, 75, 97, 32, 32, 32, 32, 32, 32, 32
DEFB 32, 32, 32, 32, 98, 96, 96, 96,101, 75,100,101, 32,102, 96, 96,107, 96, 96,103, 32,100,101, 75,100, 96, 96, 96, 99, 32, 32, 32
DEFB 32, 32, 32, 32, 97, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 97, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 97, 32, 32, 32
DEFB 32, 32, 32, 32, 97, 75,102, 96, 99, 75,102, 96, 96, 96,103, 75,105, 75,102, 96, 96, 96,103, 75, 98, 96,103, 75, 97, 32, 32, 32
DEFB 32, 32, 32, 32, 97, 76, 75, 75, 97, 75, 75, 75, 75, 75, 75, 75, 37, 75, 75, 75, 75, 75, 75, 75, 97, 75, 75, 76, 97, 32, 32, 32
DEFB 32, 32, 32, 32,108, 96,103, 75,105, 75, 98, 99, 75,102, 96, 96,107, 96, 96,103, 75, 98, 99, 75,105, 75,102, 96,109, 32, 32, 32
DEFB 32, 32, 32, 32, 97, 75, 75, 75, 75, 75, 97, 97, 75, 75, 75, 75, 97, 75, 75, 75, 75, 97, 97, 75, 75, 75, 75, 75, 97, 32, 32, 32
DEFB 32, 32, 32, 32, 97, 75,102, 96, 96, 96,106,106, 96, 96,103, 75,105, 75,102, 96, 96,106,106, 96, 96, 96,103, 75, 97, 32, 32, 32
DEFB 32, 32, 32, 32, 97, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 97, 32, 32, 32
DEFB 32, 32, 32, 32,100, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96,101, 32, 32, 32
; lives and fruit counter display
DEFB 32, 32,113, 32,113, 32,113, 32,113, 32,113, 32,113, 32,113, 32, 32, 91, 92, 93, 94, 95, 83, 84, 90, 90, 90, 90, 90, 90, 90, 90
; colour data
DEFB 32, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71
DEFB 71, 71, 71, 71, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65
DEFB 71, 65, 65, 65, 65, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 65, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 65, 65, 65, 65
DEFB 65, 65, 65, 65, 65, 70, 65, 65, 65, 70, 65, 65, 65, 65, 65, 70, 65, 70, 65, 65, 65, 65, 65, 70, 65, 65, 65, 70, 65, 65, 65, 65
DEFB 65, 65, 65, 65, 65, 70, 65, 65, 65, 70, 65, 65, 65, 65, 65, 70, 65, 70, 65, 65, 65, 65, 65, 70, 65, 65, 65, 70, 65, 65, 65, 65
DEFB 65, 65, 65, 65, 65, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 65, 65, 65, 65
DEFB 65, 65, 65, 65, 65, 70, 65, 65, 65, 70, 65, 65, 70, 65, 65, 65, 65, 65, 65, 65, 70, 65, 65, 70, 65, 65, 65, 70, 65, 65, 65, 65
DEFB 65, 65, 65, 65, 65, 70, 70, 70, 70, 70, 65, 65, 70, 70, 70, 70, 65, 70, 70, 70, 70, 65, 65, 70, 70, 70, 70, 70, 65, 65, 65, 65
DEFB 65, 65, 65, 65, 65, 65, 65, 65, 65, 70, 65, 65, 65, 65, 65, 70, 65, 70, 65, 65, 65, 65, 65, 70, 65, 65, 65, 65, 65, 65, 65, 65
DEFB 65, 65, 65, 65, 65, 65, 65, 65, 65, 70, 65 ,65 ,70, 70, 70, 70, 70, 70, 70, 70, 70, 65, 65, 70, 65, 65, 65, 65, 65, 65, 65, 65
DEFB 65, 65, 65, 65, 65, 65, 65, 65, 65, 70, 65, 65, 70, 65, 65, 66, 66, 66, 65, 65, 70, 65, 65, 70, 65, 65, 65, 65, 65, 65, 65, 65
DEFB 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 65, 67, 67, 67, 67, 67, 65, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70
DEFB 65, 65, 65, 65, 65, 65, 65, 65, 65, 70, 65, 65, 70, 65, 65, 65, 65, 65, 65, 65, 70, 65, 65, 70, 65, 65, 65, 65, 65, 65, 65, 65
DEFB 65 ,65, 65, 65, 65, 65, 65, 65, 65, 70, 65, 65, 70, 70, 70, 70, 70, 70, 70, 70, 70, 65, 65, 70, 65, 65, 65, 65, 65, 65, 65, 65
DEFB 65, 65, 65, 65, 65, 65, 65, 65, 65, 70, 65, 65, 70, 65, 65, 65, 65, 65, 65, 65, 70, 65, 65, 70, 65, 65, 65, 65, 65, 65, 65, 65 ;
DEFB 65, 65, 65, 65, 65, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 65, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 65, 65, 65, 65 ;
DEFB 65, 65, 65, 65, 65, 70, 65, 65, 65, 70, 65, 65, 65, 65, 65, 70, 65, 70, 65, 65, 65, 65, 65, 70, 65, 65, 65, 70, 65, 65, 65, 65
DEFB 65, 65, 65, 65, 65, 70, 70, 70, 65, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 65, 70, 70, 70, 65, 65, 65, 65
DEFB 65, 65, 65, 65, 65, 65, 65, 70, 65, 70, 65, 65, 70, 65, 65, 65, 65, 65, 65, 65, 70, 65, 65, 70, 65, 70, 65, 65, 65, 65, 65, 65
DEFB 65, 65, 65, 65, 65, 70, 70, 70, 70, 70, 65, 65, 70, 70, 70, 70, 65, 70, 70, 70, 70, 65, 65, 70, 70, 70, 70, 70, 65, 65, 65, 65
DEFB 65, 65, 65, 65, 65, 70, 65, 65, 65, 65, 65, 65, 65, 65, 65, 70, 65, 70, 65, 65, 65, 65, 65, 65, 65, 65, 65, 70, 65, 65, 65, 65
DEFB 65, 65, 65, 65, 65, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 65, 65, 65, 65
The side exits need to be extended to the edges of the screen as the game code is looking for pacman to hit screen position 0 or 31 and flip him to the opposite side. When this code has been found and modified then it wll be possible to shorten the side lanes to your requirements.
The amount of dots to be collected is hard coded somewhere, so collecting all the dots in the new map won't allow a new screen to start.
The ghosts will roam as normal, but they are hard coded to the start positions, so when they are eaten they return to their spaced apart places as in the original map, this will overlap the smaller ghost house walls.
Power Pills will not pulse as they too are hard coded somewhere.
I don't know if this is a bug with the game but I found that the ghosts would change to scared mode after a certain amount of time even though I had not collected a power pill.
All of this needs to be found by someone else as I'm useless at decoding code that is not mine.
Anyway, enjoy what you've got.
Mat
Re: Stu's Incredible Pac-Man Hack Challenge
You're a few steps ahead of me Mat! This is my effort so far (I know why this is so). If I'm in the mood tomorrow I might have a butcher's at the code using the info you give.
Actually it's like a more extreme version of the infamous 'kill screen'!
- MatGubbins
- Dynamite Dan
- Posts: 1239
- Joined: Mon Nov 13, 2017 11:45 am
- Location: Kent, UK
Re: Stu's Incredible Pac-Man Hack Challenge
Nice progress there Dave!
Changing a block of wall 97 to a space 32 will allow pacman and the ghosts to roam freely around the empty space, when they reach left or right he will flip to the opposite side.
If they try to walk off the bottom of the screen it will crash the game.
Collect a power pill, eat a ghost or two, head to the ghost house, chomp them as they regenerate and watch that score double...double..double...
During the editing of the map I found that if a ghost ran into a dead end the game would freeze.
Good luck!
Changing a block of wall 97 to a space 32 will allow pacman and the ghosts to roam freely around the empty space, when they reach left or right he will flip to the opposite side.
If they try to walk off the bottom of the screen it will crash the game.
Collect a power pill, eat a ghost or two, head to the ghost house, chomp them as they regenerate and watch that score double...double..double...
During the editing of the map I found that if a ghost ran into a dead end the game would freeze.
Good luck!
Re: Stu's Incredible Pac-Man Hack Challenge
If you guys are interested I could probably adapt the screen editor used in AGDx to allow you to design the screens in there and save off the binary.
Re: Stu's Incredible Pac-Man Hack Challenge
the number of dots you have to eat to complete the level is held at address 28365.
Re: Stu's Incredible Pac-Man Hack Challenge
All fun and I'm more than happy to do this hack but I'd hardly call it 'arcade', I mean, it plays in a very jerky way with 8 x 8 pixel characters and it definitely doesn't have the number of dots, or more particularly the AI of the original. I'm not saying it's unplayable but it's a million miles away from being anything like the arcade! I wouldn't want the work I've done (with the help of Mat) here to be considered anything more than a hack job to be honest.
Meanwhile, the editor now counts the dots for you which is handy.
Meanwhile, the editor now counts the dots for you which is handy.
Re: Stu's Incredible Pac-Man Hack Challenge
and more specifically, since I AM working on a mini version of Pacman which will be a lot more like the arcade than this, I definitely wouldn't want this to be confused with that.
Re: Stu's Incredible Pac-Man Hack Challenge
yes, well I thought the same when they called it 'Donkey Kong Arcade' when basically it was just a hack and wasn't really any more like the arcade than the original I think a hack is a hack.
Re: Stu's Incredible Pac-Man Hack Challenge
Pac-Hack is kind of cute though. If I finish it I will more likely release it as something people can edit. I just like things described as what they are. If someone puts the time in and makes a really nice new version of Pacman that played like the arcade they could call it that couldn't they. If I downloaded something called 'Donkey Kong arcade' and found it was just a palette swap I'd be a bit disappointed.
Re: Stu's Incredible Pac-Man Hack Challenge
The default start X Y addresses for the ghosts are as follows:
RED 26564,26565
GREEN 26572,26573
MAGENTA 26580,26581
YELLOW 26588,26589
I now have the ghosts starting in their arcade default positions. However, doing this highlights an issue because when the red ghost turns blue and you eat it, it returns to its starting position, but does not go back to being red. Instead it stays blue. This allows you to eat that ghost several times over, getting a lot of points. So that is something that would need fixing, either by making the 'den' one space wider, or somehow causing the red one to reset back to red when it reaches its home space.
EIther way, the ghosts start in the right places.
Apart from that, it should just be a case of fixing the tunnels exits and making the power pills flash.
I've been calling this pac-hack throughout the thread and I think I'm pretty happy with that.
RED 26564,26565
GREEN 26572,26573
MAGENTA 26580,26581
YELLOW 26588,26589
I now have the ghosts starting in their arcade default positions. However, doing this highlights an issue because when the red ghost turns blue and you eat it, it returns to its starting position, but does not go back to being red. Instead it stays blue. This allows you to eat that ghost several times over, getting a lot of points. So that is something that would need fixing, either by making the 'den' one space wider, or somehow causing the red one to reset back to red when it reaches its home space.
EIther way, the ghosts start in the right places.
Apart from that, it should just be a case of fixing the tunnels exits and making the power pills flash.
I've been calling this pac-hack throughout the thread and I think I'm pretty happy with that.
Re: Stu's Incredible Pac-Man Hack Challenge
good shout. Or maybe better yet the Red one could start at the barrier where Pacman can't go.
Re: Stu's Incredible Pac-Man Hack Challenge
ok, so if I put the red one over the barrier it creates a gap that means you can enter the maze, so that won't work. Putting the red one in the lair works however. It's not arcade authentic but it might do for now.
Re: Stu's Incredible Pac-Man Hack Challenge
scratch that. If I put Red inside the barrier, he can't get out. So that's scuppered that idea. Going to have to do something with the reset which means more digging.
Re: Stu's Incredible Pac-Man Hack Challenge
difficult to say. I'll continue to experiment.
- MatGubbins
- Dynamite Dan
- Posts: 1239
- Joined: Mon Nov 13, 2017 11:45 am
- Location: Kent, UK
Re: Stu's Incredible Pac-Man Hack Challenge
That's a lot of code searching to get those bits fixed. Good job.
Re: Stu's Incredible Pac-Man Hack Challenge
thanks. I have one side of the tunnel working, just need to figure out the other.