Jump to content
Sign in to follow this  
snorlaxnut

Ghost Trap (Mouse Trap hack).

Recommended Posts

Here's a new graphics hack I made today:

 

Ghost Trap: a hack of Mouse Trap.

 

Instead of the player being a mouse being chased by a bunch of cats, the player is now the ghost from Pac-Man beeing chased by a bunch of Pac-Men! And instead of changing into a dog, the ghost turns brown with a different look. I changed the little "x" thing under the score to look like a power pellet, but I don't know how to change the big X's in the maze.

 

Anyway, here's what I did so far. Enjoy!

post-861-1108519436_thumb.jpg

post-861-1108519437_thumb.jpg

ghost_trap.zip

Share this post


Link to post
Share on other sites

Very cool. So he eats the pellet, gets pissed off and then takes off after the Pac-men! heh!

Share this post


Link to post
Share on other sites

Seems the next logical step would be to try to tweak the colors so the "normal" ghost is blue, and the "Powered up" ghost is red or one of the other standard colors.

Share this post


Link to post
Share on other sites

Any more updates on this hack? It is a great addition to the Pac-Man family, especially with 7800 releases. Can the three Pac-Men be changed to one Pac-Man, one Ms. Pac-Man, and one Pac-Man Jr.?

Share this post


Link to post
Share on other sites

Not unless some serious savings can be done. The cats use 2 gfx tables, each roughly 100 bytes long containing 4 bitmaps (flipping between them gives you the animation). So the current way the kernal is set up, you'd need at least another 100-byte gfx table to change this into 3 unique enemies. A bigger problem is that the program doesn't need to keep track of different shapes, it just pulls the current enemy direction and grabs a pointer based on that. They are all using the same bitmaps.

 

Here's a disassembly I started a while ago. It's got a quarter page of freespace for hacking, and I evened up the scanline count (the original is @263...this is @258) if more cycle time is needed. I was trying to add the hawk (the only thing that it's really missing) :(

Mousetrap_hack_.zip

Edited by Nukey Shay

Share this post


Link to post
Share on other sites

...and here's an 8k version that seperates the program from the kernal. That solves the space issue.

 

Incidentally, multiple doors could be added very easily. The current playfield flicker alternates between no doors/doors every frame (with a bit in ram dictating which of the "doors" screen to use). The "no doors" frame could also decide between 2 screens the same way...providing 3 colors for them (one color for each of the frames, and an additional "merged" color that's also used for the maze).

If 3 bits were used, the screen could use 15hz flicker instead for the doors...and have each color door operate independantly.

 

The single fire button is the problem, but that could be solved (somewhat) by using the second joystick directions for buttons instead.

Mouse8k.zip

Share this post


Link to post
Share on other sites

What about changing the sound also? Instead of the "meow" sound can you drop off the "ow" part? That would make it more of a screech.

Share this post


Link to post
Share on other sites

Table LF69B holds all the sound effects

$F69B to $F6AF = music

$F6B0 to $F6BA = flip doors

$F6BB to $F6BF = pick up cheese

$F6C0 to $F6CB = pick up bone

$F6CC to $F6DA = cat meow

$F6DB to $F6F0 = dog bark

 

The first value in each table is the distortion (AUDC0) used for the sound effect. The rest are pitch values (AUDF0), merged with duration to hold the note (upper 3 bits). When a zero value is read, it kills the sound effect.

To make them shorter, just have the zero value hit sooner.

The sound effects can be made longer by adjusting the value of X that is loaded before the JSR $F9BB (this is the subroutine that saves the initial distortion value to AUDC0). All subsequent non-zero values are split...the lower 5** bits going to AUDF0, and the upper 4** bits LSR'ed (value=value/16) and stored to a duration counter in ram ($F7). The table offset (the value of X) is bumped up and saved to a seperate counter for next time ($F6).

 

** bit 4 is shared, as it makes little difference between 1 and 2 frames of duration.

Share this post


Link to post
Share on other sites

I finally decided to make a cartridge for this game. I was hopping for a better picture, maybe something that would work from the PacMan cartoon, but this is better than nothing.

 

Camara did not work, but here is the label.

post-5185-1197333552_thumb.jpg

post-5185-1198623325_thumb.jpg

Edited by Atari Dogs

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...