Jump to content



0

Hack Idea.. Jr. Pacman - "fast edition" ?


23 replies to this topic

#1 NE146 OFFLINE  

NE146

    Dumbass Atari Fan

  • 12,576 posts
  • Location:Seattle, WA

Posted Mon Nov 3, 2003 6:59 PM

Here's an idea.. Let's face the fact that Jr. Pacman is a GREAT port. It's such a great port that it shares the same weakness as the arcade game.. and that's, it's difficult! Not that difficult to the point of non-enjoyment. But yes, it is quite challenging. So imagine if someone was able to do a hack to make Jr. Pac go a little faster... (just like in the modded arcade game) :P

As lots of you know, even players who collect the actual arcade game have it modded so that ol' Jr. Pac is set to fast speed. It doesn't make the game any less challenging (by much). The game actually gets a lot more playable! It's FUN to zoom through those mazes at fast speed. It gives you half a chance and believe it or not it's still pretty challenging.

Put it this way, the majority of commercial Ms Pacs out there are set to fast speed right? Does that make it any easier? Not really.. it's still hard to make it past 200k.. If you can make it to 300k my hat is off to you. But the game is still lots of fun. Well, it's the SAME for Jr. Pacman! :) The fast speed really lends itself to the large mazes and other challenges such as the enlarged dots, and aggressive ghosts.

So yeah we all know that the fast Jr.Pac is available on Mame via cheats. But what would REALLY rock is if someone could hack the 5200 version to allow a fast Jr. Pacman. In this player's old Pac-hands I really do believe this would up the enjoyment of this particular game by a ton! :D

So... what do you think? Is there anyone out there capable of this? :ponder: If a hacked rom could be created, that'd be a kick ass thing for the Als to put to cart :D

#2 Nukey Shay OFFLINE  

Nukey Shay

    Sheik Yerbouti

  • 20,458 posts
  • Location:The land of Gorch

Posted Mon Nov 3, 2003 7:19 PM

Sure...should be relatively easy to find, since routines are often handled as seperate subroutines in computer programs (via JSR's). Just scan down the list of JSR's, and NOP them out one-by-one until you locate the one that handles movement. By squeezing in another JSR, you should be able to repeat it (Jr. moving twice as fast as normal).

#3 Nukey Shay OFFLINE  

Nukey Shay

    Sheik Yerbouti

  • 20,458 posts
  • Location:The land of Gorch

Posted Mon Nov 3, 2003 7:29 PM

Just looked at "the 5200 man's" conversion for the 800, and there are 3 places that have a string of 3 NOPs where you can squeeze in an additional JSR : $87B8, $894A, and $8957. The main program's jump table is at $8A53...so just NOP out the JSR's one-by-one and experiment.

#4 Nukey Shay OFFLINE  

Nukey Shay

    Sheik Yerbouti

  • 20,458 posts
  • Location:The land of Gorch

Posted Mon Nov 3, 2003 9:01 PM

Found it (on the 800 version anyway)

600E : JSR $8094 - Jump to time check routine
6011 : BEQ +$10 - Branch if not time to move yet

So you can just c 6011 ea ea to remove the branch, and Jr. is super-speedy :) (like fastchip PacMan in the arcade)

Contents of the time check routine...
8094 : LDA $FD
8096 : BNE +$06
8098 : LDA $1094
809B : AND #$01
809D : RTS
809E : LDA $1095
80A1 : AND #$01
80A3 : RTS

So by searching the 5200 rom for the AND #$01/RTS combo (s 0000 ffff 29 01 60), you should be able to track down where the program is called to. It should look similar to the above. Then search for the JSR that jumps there, and NOP out the branch below it.

Note: the routine to check if you've collided with the fruit is not checked on every frame. So there is the slight chance that you will miss eating the fruit occasionally when moving fast :P

There is a similar check done to move the monsters. So if this version gets too easy, you can c 8091 a9 to change that :D

#5 sku_u OFFLINE  

sku_u

    Quadrunner

  • 13,984 posts

Posted Mon Nov 3, 2003 9:51 PM

I'd be down for both this and a hyper Ms. Pac-man hack. Then I'd be able to break a million :P

#6 Nukey Shay OFFLINE  

Nukey Shay

    Sheik Yerbouti

  • 20,458 posts
  • Location:The land of Gorch

Posted Mon Nov 3, 2003 10:52 PM

F1 contains the speedy Jr.
F2 contains speedy Jr + speedy monsters.

#7 Video OFFLINE  

Video

    Quadrunner

  • 6,745 posts
  • Location:Here

Posted Mon Nov 3, 2003 11:07 PM

My main complaint for any of the home versions of the pac=man games is the fact that most arcade machines were moded with double speed player chips. In fact, I don't thinK I've ever played a Pac-Man or Ms.Pac-Man arcade machine in which the hero moves the same speed as the ghost. And yet, every home version ever, has the characture move the same as the ghosts, and no option on the game to double your speed.

Of course, that makes it play differently from the arcade which makes them feel like two different games, so I don't know, maybe it's a good thing?

Anyhow, double player speed would be cool for any of the pac-man games IMO

#8 Nukey Shay OFFLINE  

Nukey Shay

    Sheik Yerbouti

  • 20,458 posts
  • Location:The land of Gorch

Posted Mon Nov 3, 2003 11:11 PM

sku_u, here's a MsPacMan speedup bin...

Attached Files



#9 NE146 OFFLINE  

NE146

    Dumbass Atari Fan

  • 12,576 posts
  • Location:Seattle, WA

Posted Tue Nov 4, 2003 1:39 AM

HOLY CRAP, NUKEY ROCKS!!!!!!!!!!!!!!!1 That's EXACTLY what I was looking for! I just popped in jrPac to the Xbox and it's 100% MORE FUN!!!

You friggin rule Nukey. It's this kind of simple hack that makes all the difference in my opinion.. in this case, it's one little nifty gameplay tweak. I just had a ABSOLUTE BLAST playing 5200 Jr Pac (moreso than I ever did with the regular). And it's still challenging like I said... The extra speed really just evens out the gameplay imho 8)

THANK U MY BRUTHA! WOOHOOOOO! :D :D

Posted Image Posted Image

So Al.... would it be possible to stick this fast rom onto a SuperPac cart if I order it? I mean those things aren't pre-assembled already are they? :P

ok.. now to check out the MsPac version... btw.. I didn't bother with the fast ghosts yet.. yeesh! I'm scared to even try that one :lol:

#10 Nukey Shay OFFLINE  

Nukey Shay

    Sheik Yerbouti

  • 20,458 posts
  • Location:The land of Gorch

Posted Tue Nov 4, 2003 7:05 AM

Try out this one...it lets you throttle the speed :)
I was trying to work out a scheme that would let both players throttle, but it wouldn't fit in the available space :( So player 1's trigger slows both players down to normal speed whenever it's used.

Program changes (original version above):
A094 : LDX #$00 ;load x with an offset
A096 : CPX $FD ;check the energizer count down timer
A098 : BEQ +$01 ;branch if not active
A09A : INX ;bump up the offset to use the "energized" speed
A09B : LDA $1094,X ;load the appropriate speed counter
A09E : ORA $C010 ;toss the joystick trigger flag in
A0A1 : AND #$01 ;check bit 1 to see if we should move
A0A3 : RTS ;return to the main program

As you can see, Jr.Pac has two speeds (just like the monsters). One for when an energizer is active and a different one when an energizer is not. I dunno the purpose of two speeds...perhaps somebody else does (please!)
Anyway, the program originally had seperate routines to handle each speed. I was able to save some bytes by using X as an offset and have the same routine handle both speeds. I would have liked to have been able to ORA $C010,Y...but there is no space left to squeeze in an instruction to load Y with the player number :sad: And since Atari buttons work backwards (a value of 1 when the button is NOT pressed), the throttle works in reverse as well (speed up when the button is NOT pressed).
Finally, AND #$01 will bump the accumulator down to zero if the button is pressed and it's not time to move yet. I would have also liked to have simply AND $C010,Y, but that has a nasty habit of freezing Jr. :P

#11 Nukey Shay OFFLINE  

Nukey Shay

    Sheik Yerbouti

  • 20,458 posts
  • Location:The land of Gorch

Posted Tue Nov 4, 2003 10:48 PM

Update! I've got it straightened out (though I had to rob a bit of space from the end of the cart area). The throttle is now seperate for both players, and Jr. moves fast when the button is pressed (like normal "turbo" buttons).

Program changes:
* $A094
LDX#$00 ;load the offset into X as before
LDY $40 ;load the player number into Y
LDA $C010,Y ;is that player's button pressed?
BEQ+$03 ;branch ahead if so
JMP $BF80 ;...otherwise, skip to the normal routine (moved to $BF80)
LDA#$01 ;set bit 1 (always move Jr.)
RTS ;and return
NOP

* $BF80
CPX $FD ;check if energizer is active
BEQ+$01 ;branch ahead if not
INX ;bump up the index
LDA $1094,X ;load the appropriate timer
AND#$01 ;...and check bit 1
RTS ;then return

Attached Files



#12 Shannon OFFLINE  

Shannon

    Born To Be Insane

  • 7,193 posts
  • Pac-man Fever
  • Location:Arcade

Posted Wed Nov 5, 2003 4:52 AM

cool beans... Anyone ever consider fixing the maze graphics? There are a couple areas that are incorrect (too much free space) so your player (if you were fast enough with the stick) could do circles in that area.

I always loved the 5200/8-bit version of ms. pacman, but I hated the jerkiness of the ghosts/player in the starting levels.

#13 Nukey Shay OFFLINE  

Nukey Shay

    Sheik Yerbouti

  • 20,458 posts
  • Location:The land of Gorch

Posted Wed Nov 5, 2003 5:27 AM

Do you mean circle within a passageway? Nope, I haven't seen that (?)

#14 oesii OFFLINE  

oesii

    River Patroller

  • 3,989 posts
  • 8-bit from way back
  • Location:St. Petersburg, FL

Posted Wed Nov 5, 2003 10:56 AM

Nukey, you're going to port these over to the 8bit right? ;)

#15 NE146 OFFLINE  

NE146

    Dumbass Atari Fan

  • 12,576 posts
  • Location:Seattle, WA

Posted Wed Nov 5, 2003 11:25 AM

Whoah.. you mean there's more!?!?! Woot! I guess I don't really understand what the new ones are.. they at normal speed unless you press the button for fast? I'll check them out later tonight :D

By the way Nukey, I really dig Jr. Pacman-Fast Edition. :D Unless I spot something later on, so far it's perfect

I also tried out the MsPac, it's great too! But I noticed that once you get to the higher stages, the ghosts themselves get super fast as well to the point where they almost match MsPacs speed! I know in the arcade version the speed of MsPac picks up as well in relation to the ghosts.. but in the 5200 version her speed seems static. Is it just me?

#16 Nukey Shay OFFLINE  

Nukey Shay

    Sheik Yerbouti

  • 20,458 posts
  • Location:The land of Gorch

Posted Wed Nov 5, 2003 4:43 PM

The first file has Jr. moving fast unless player1's button is pressed (because the patch I wanted to do didn't fit in the space left over after optimising the logic routine). The fixed version corrects this by moving the routine to an unused spot in memory (so it is more like turbo versions of PacMan on other consoles...moving fast when the button is pressed).

oesii said:

Nukey, you're going to port these over to the 8bit right?   ;)
No need to, I hacked the 8-bit disk version originally to look at the program code. So anybody with a disk editor can do the patch themselves (the addresses at the top of the thread are the ones used by 8-bit Jr.)

#17 Nukey Shay OFFLINE  

Nukey Shay

    Sheik Yerbouti

  • 20,458 posts
  • Location:The land of Gorch

Posted Wed Nov 5, 2003 10:26 PM

Nukey Shay said:

As you can see, Jr.Pac has two speeds (just like the monsters).  One for when an energizer is active and a different one when an energizer is not.  I dunno the purpose of two speeds...perhaps somebody else does (please!)
I found out why it has two framerates (it's actually used in other games and the arcade pac's as well). The routine for handling sprites during the energizer period is slightly longer and takes up more machine cycles. So you need a seperate counter so that Pac's speed appears constant (though it's such a slight difference, you might not even notice it).

#18 Shannon OFFLINE  

Shannon

    Born To Be Insane

  • 7,193 posts
  • Pac-man Fever
  • Location:Arcade

Posted Wed Nov 5, 2003 11:21 PM

/me wonders where the PAC-MAN speed hacks are...

:D

#19 Nukey Shay OFFLINE  

Nukey Shay

    Sheik Yerbouti

  • 20,458 posts
  • Location:The land of Gorch

Posted Thu Nov 6, 2003 1:41 AM

PacMan is really messy inside...with seperate routines to handle each direction (instead of just a universal routine that these two use). One thing that I noticed in the program is that it uses bit 1 to signify NOT to move...which would make coding the speed hack a bit easier (since I can just AND the joystick trigger on...causing the accumulator to flip to zero if the trigger is pressed and not change the bit if it isn't). Just a matter of tracking down all the entry points :P

But here's a quick .atr of the second disk version. Why the second version? Because it included the intermissions, and had a better WockaWocka sound. Run in computer mode, and use the stick trigger to throttle.

Program hacks:
* $599E
JSR $73AA ;add in a jump to the speed hack routine
NOP ;...and NOP out the remaining byte

* $73AA (unused area of memory)
LDY $2B ;load the player number into Y
LDA $A7 ;load in the time delay that's updated EVERYWHERE! :P
AND $0284,Y ;flip it to zero if the player's button is pressed
STA $A7 ;...and resave it for later.
LDA $93 ;Now do the test that was originally../
BIT $2A ;...at location $599E
RTS ;...and return

Attached Files



#20 Shannon OFFLINE  

Shannon

    Born To Be Insane

  • 7,193 posts
  • Pac-man Fever
  • Location:Arcade

Posted Thu Nov 6, 2003 9:38 PM

ok cool! thanks.... :D :thumbsup: :thumbsup: :thumbsup:

Quickly runs to xbox to try it out on atari emulator.

#21 toptenmaterial OFFLINE  

toptenmaterial

    River Patroller

  • 2,477 posts
  • Location:Providence, RI, USA

Posted Sun Jan 8, 2012 8:43 PM

Pardon my necrobump (and greetings from the future) but this is fascinating! There is a Ms Pac-Man machine in Saco, ME where I used to live, and it is also quite fast. I enjoyed it thoroughly. As NE had mentioned, it is still difficult, but the increased speed really made it more fun. I have no experience with Jr Pac outside of the 2600 cart.

So... what became of this hack? Anything noteworthy?

#22 82atari5200 OFFLINE  

82atari5200

    Moonsweeper

  • 418 posts
  • Destroyer of Eproms
  • Location:Orlando, Fl

Posted Sun Jan 8, 2012 10:31 PM

unfortunately, shortly after this thread, the hack turned to a life of drugs and was found dead amongst a pile of bible adventure games...

#23 toptenmaterial OFFLINE  

toptenmaterial

    River Patroller

  • 2,477 posts
  • Location:Providence, RI, USA

Posted Sun Jan 8, 2012 10:37 PM

View Post82atari5200, on Sun Jan 8, 2012 10:31 PM, said:

unfortunately, shortly after this thread, the hack turned to a life of drugs and was found dead amongst a pile of bible adventure games...

Not bad. :D

A lot of these old threads still contain pertinate information. I am a little curious as to whether or not writing/hacking for the 5200 is done any differently today than it was in '03. Or is all the coding still stuck in 1982, so to speak?

#24 negative1 OFFLINE  

negative1

    Combat Commando

  • 6 posts

Posted Sun Jan 22, 2012 6:48 AM

this would be cool to play..

i've been going through what few ports
of these there are (2600), pc, commodore 6400.

and i've played the regular 5200 versions..
all through emulators..

having a bug that is causing major issues though...

if you die, when the fruit/bonus blows up your
energizer, it becomes permanent and you can't
finish the maze... check out the upper left
weird looking sprite for the energizer
===============================================
Posted Image

has anybody run into this?
other than that it's a very hard version..

put up a decent replay over at HARP
(home action replay) 55k
==============================
http://www.homeactio...=5941&tourney=8

later
-1

Edited by negative1, Sun Jan 22, 2012 6:49 AM.





1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users