Jump to content
IGNORED

Hack'em! / Hangly Man combined :)


Nukey Shay

Recommended Posts

Yes...this kernal only multiplexes 6 sprites. And it's not possible to make detailed shapes using playfield pixels (which is what the dots are). A SuperPac hack would not resemble the arcade much...less doable than hacking this into Ms.Pac.

 

Another addition:

The Fire Button can be used to begin a new game at the cherry level. Less reaching for the console switches :)

hack_em_hanglyman.zip

Link to comment
Share on other sites

Not yet...but it's getting there :)

 

I just eliminated the lower line (why waste a WSYNC just to save zeros to the sprites :?), and lowered the score font to 6 points. This gave me 128 additional cycles in the body (and an additional 64 could be had by lowering the score font to 5 points)...but I have no idea how these changes will affect a real television. Z26 reports (what appears to be) a steady 262 scanlines...with just a slight hiccup when the boot screen disappears. Anyone confirm? How well was/is it running on a CC2?

hack_em_hanglyman.zip

Link to comment
Share on other sites

BTW since I'm a total dip when it comes to cycle times...I just hacked in a few instructions to save the state of INTIM to the score. The first 2 digits is what's left when coming out of the display kernal (bank1), and the next 2 digits is what's left for the rest of the program. Optimally, they should both be at least 01 I guess...but it looks like the kernal's hits right AT zero occasionally. I might have to reduce the height of the score after all :(

Searching for more to cut...

hackem_timecheck.zip

Link to comment
Share on other sites

Here's the score font reduced to 5 points.  Anyone notice a jitter?

 

I've noticed only ONE screen jitter so far (a very brief one, too)! By jove, I think he's got it! 8)

 

I'm also loving the game cycle through with the reset switch!

 

Now, lest you think that I've gotten over being a bitch, I did take note that the "GO" pause is somewhat intermittent this time around. I can't tell if there's any pattern to it but the game will just start running without a button press about 1/3 of the time (???). This happens at both screen clears and after deaths.

 

The "halos" will also occasionally flash across the screen (no longer related to ghost positioning). It's very minor and very brief. Hardly worth mentioning really.

 

Things are looking great, Nukey! :D

Link to comment
Share on other sites

I've noticed only ONE screen jitter so far (a very brief one, too)!
Even one is too many ;) One way to try to correct it is to replace the delay loops used by the display (in critical timing areas) with non-critical instructions that follow them that happen on each frame. That saves cycles each pass, and makes INTIM less likely to reach zero before the bank flips back. I did get 1 glitch following the program area when executing bank2 (see the time check version below...the middle score digits used to report the INTIM status is right at 00 instead of being at least 01).

 

 

I'm also loving the game cycle through with the reset switch!
Thx...it was a learning experience putting multiple modes on a single switch.

 

 

Now, lest you think that I've gotten over being a bitch, I did take note that the "GO" pause is somewhat intermittent this time around.  I can't tell if there's any pattern to it but the game will just start running without a button press about 1/3 of the time (???).  This happens at both screen clears and after deaths.
I changed the game to pause when B&W is selected...but it's still supposed to pause following deaths. If it's not, I must have messed up something ;) Thanks for the headsup :thumbsup:

 

 

The "halos" will also occasionally flash across the screen (no longer related to ghost positioning).  It's very minor and very brief.  Hardly worth mentioning really.
Yeah...the 2 cycles I needed have been robbed from the dot display in half of the circumstances. This makes the pixel appear in the right column of dots occasionally instead of being above the monsters all the time.

post-222-1092216089_thumb.jpg

Link to comment
Share on other sites

Altered the pause feature a bit. By setting B&W, it can be activated at any point in the game (even during intermissions...tho it will show the game board). And it's back to always waiting for a button press on each board. Only one small problem with this is that if a fruit is on-screen, the timer will be thrown off (the frame counter is still being updated to animate the sprites during pause).

hack_em_hanglyman.zip

Link to comment
Share on other sites

BTW during pause on a 2600/emulator, the sound channels will be cleared.  I dunno how to accomplish this on a real 7800 (because I gather that it's hardware pause can be done at any point in the program...correct?).

 

Think of the 7800 pause button like the 2600 color/B&W switch except with a spring. When you push it, it goes to B&W mode, when you release it, it goes back to color.

The pause is done in software not hardware.

 

Mitch

Link to comment
Share on other sites

The newest posted version is now pausing following deaths and intermission screens but still not pausing following regular board clears.

 

The screen jumps are really small now too. Pretty infrequent and more like a "stutter" rather than an actual "jump". I don't know if this description would make any sense to those who haven't been seeing it but on older builds of the game the whole screen would jump to the point that you couldn't make anything out for a second or so (almost like a very fast PAL roll). This time around there’s only a slight vertical movement of the screen that doesn't result in the picture being un-viewable and the duration is very brief (not even quite a second).

 

I also haven’t gotten any ghosts stuck in a horizontal line for quite a few builds now. In fact, I don’t think that I’ve seen it at all since the combining of the two games.

 

I am SO loving this game! As I told Nukey in a PM, I don't think that I’ve played this much Pac-Man since 1982! 8)

Link to comment
Share on other sites

I can't figure it out...it pauses 100% of the time in Z26 :? The 2nd controller port wouldn't do anything, right? (grasps at straws).

 

@sdamon--

I dunno if there's any way around that problem then :( But it doesn't really matter...so long as the pause between boards works properly :ponder:

 

104 bytes free currently...screen jitter seems to be more infrequent now (perhaps once in 10 games). Working on this playing just bits and pieces of games I'm really starting to suck at it :lol: The monster problem is still in there as well...it almost always appears to be the pink monster that does it (?). Still haven't nailed that one, I've noticed it in pretty much every build. Rechecked all of the XOR's that do the monster turnaround, and all of them check out...so somehow, that bit of code is being executed when it shouldn't be. Time to recheck all of the branches! :P

 

If it IS a bad branch someplace, that would also explain the screen jitter (if the value of X is out of range of 0-3)...since even more code would be executed on that frame! I sure hope that is it...because this problem is driving me crazy.

hack_em_hanglyman.zip

Link to comment
Share on other sites

Wow...this is odd. I did a bugfix a long time ago, but I can't remember what this is supposed to be doing. Probably before I had the XOR's figured out. But if this is the problem, the monsters should be good now 8)

 

Energizer_next:

      clc

      lda    MonsterX,x      ;4 Check horizontal loc.

      cmp    #$42            ;2 skip if monster is

      beq    Reversal_next   ;2 ...leaving the box


;hmm...?
;       bcc    PPnosub         ;2 branch if on the left
;       sec                    ;2 
;       sbc    #$03            ;2 subtract 3 if on the right??
;PPnosub:



      and    #$07            ;2 skip if at an intersection

      bne    Reversal_reverse;2 ...i.e. divisible by 8

      lda    MonsterY,x      ;4 Check vertical loc.

      and    #$07            ;2 skip if at an intersection

      beq    Reversal_next   ;2 ...i.e. divisible by 8

Reversal_reverse:

      lda    MonsterDirs     ;3 Either horiz. or vert. is

      eor    Monster_xor,x   ;4 not divisible by 8...so

      sta    MonsterDirs     ;3 reverse it's direction

Reversal_next:

 

The commented out section in the middle is in question. For some reason, I had been subtracting 3 from the monster's horizontal location when checking to see if it was at an intersection -only- when it was on the right side. Come to think of it, I haven't seen a monster go thru walls vertically! This could be it. To help determine this, I'm just checking the entergizer effects when monsters are on the right half of the board. If it's there for a reason, one should be bumping thru a wall eventually (so far, I haven't seen it).

 

* crosses fingers

hack_em_hanglyman.zip

Link to comment
Share on other sites

If it's there for a reason, one should be bumping thru a wall eventually (so far, I haven't seen it).

 

* crosses fingers

 

Are you hoping to see it? Cause I just did on the yet newest build posted. The ghost got stuck in a horizontal movement going on the left side of the maze and moved over to the right side. I wish that I could tell you more but I didn't even realize that I was seeing it until I unfortunately cleared the maze.

Link to comment
Share on other sites

Nope...it's still there. It also has nothing to do with the turnaround. In one game, I was looking right at Inky (when blue). It was moving down the left-hand column, and bluetime ran out when it reached the tunnel height. Continuing downward, it changed direction just short of the lowest corridor wall, then moved to the left off the screen.

So the new theory is that the ram location used as a temp placeholder for monsterX's is being corrupted somehow...

Link to comment
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.
Note: Your post will require moderator approval before it will be visible.

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...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...