Jump to content
IGNORED

Hack'em! / Hangly Man combined :)


Nukey Shay

Recommended Posts

Latest tweaks...

 

The "game over" sprite was occasionally skewed or clipped (when other sprites happened to be in the same horizontal area). This is fixed.

There have been a few gripes about the maze color being too dark, so I spent a few bytes to put in a data table to use instead of using the EOR/XOR value directly. So now the maze can be any color. Bumped up the brightness a bit on both the standard colors and the flash color. This also corrects the green maze color in the PAL versions.

The bottom maze line has been increased to 2 scanlines to match the rest of the maze...easily accomplished just by moving the clears to PF0-2 a bit lower.

2 more bits of ram free 8)

 

Is the 7800 still glitching?

Hack__Em.zip

Link to comment
Share on other sites

Sorry, Nukey, didn't get another chance to play until this evening. I played the 16k NTSC build you posted today.

 

The good news is, the mirror dots have disappeared on my 7800, I didn't see any glitches when losing a life, and the new, brighter maze color looks great. The game still "hangs" when I press the joystick button to start a new game, however, thanks to the updated graphics, I discovered it wasn't really a hang at all. For some reason, unless I fiddle with the game select or reset switches before hitting the fire button, the game starts paused! Fortunately, hitting the 7800's pause button unpauses the game like it's supposed to. So,why would the game start paused on a 7800, but not a 2600, assuming both are started with their color/pause switches "up"? Does the game try to detect when its running on a 7800, and then change the functionality of the color/pause switch accordingly?

 

One new curious bit of behavior I did see in the newer build: When I was just about through with the strawberry maze, the ghosts slowed down and the background siren dropped in pitch, back to what it was when the level began. Edit: I've seen this happen in pretty much every level, and it was usually during a ghost reversal.

 

Edit: In Hack 'Em Plus, is the maze supposed to go dark every time a fruit is eaten? In arcade Pac-Man Plus, the maze usually remains lit in that case.

Edited by skunkworx
Link to comment
Share on other sites

The good news is, the mirror dots have disappeared on my 7800, I didn't see any glitches when losing a life, and the new, brighter maze color looks great.
:thumbsup: Excellent! This is the trickiest glitch to correct (I've heard that it is present in the original Ebivision games as well). For some odd reason, writes to the PF registers appear to happen a bit slower on a 7800. So by reorganizing which instructions are handled first on the scanline, this corrects the phantoms. However, the monster GFX writes are happening just a bit slower now...this is noticable when a monster travels downward along the lower left border - small dots may appear for a split-second...depending on the location of other monsters. It was a worthy tradeoff to get rid of the phantoms IMO ;)

 

 

The game still "hangs" when I press the joystick button to start a new game, however, thanks to the updated graphics, I discovered it wasn't really a hang at all. For some reason, unless I fiddle with the game select or reset switches before hitting the fire button, the game starts paused! Fortunately, hitting the 7800's pause button unpauses the game like it's supposed to.
Hmm...time to start looking at the console switch routine. Must be something going wrong there.

 

 

So,why would the game start paused on a 7800, but not a 2600, assuming both are started with their color/pause switches "up"? Does the game try to detect when its running on a 7800, and then change the functionality of the color/pause switch accordingly?
Yup. The way that this works is due to the way a 7800 boots. When powered up, a program routine is sitting in ram (unlike the 2600...which just holds corrupted values). So all I needed to do was check for a couple specific values for the program to determine if the game is running on that console...and in the pause routine, it branches off accordingly. With a 2600, pause status is simple...just look at the state of the color/b&w switch. The 7800 switch operates the same way...but does not remain in the b&w position (so a ram bit is used instead to hold the state). It could be that this bit is stripped away by accident in the game reset routine...which would affect the 7800, but not the 2600 (because the actual b&w switch state is saved to that bit in a 2600).

 

 

One new curious bit of behavior I did see in the newer build: When I was just about through with the strawberry maze, the ghosts slowed down and the background siren dropped in pitch, back to what it was when the level began. Edit: I've seen this happen in pretty much every level, and it was usually during a ghost reversal.
Always there. What you are hearing is the result of the long timer rolling over. In the arcade game, this effect is visual...the monsters break away to their home corners. Because this game has no home corner routine, I wanted to have some way to signify that the monster personality change just happened...so I used the state of the long timer when calculating the current siren pitch and allowed the timer to roll over. This "personality change" provides clues in the "A" difficulty game as to which monster(s) are currently chasing you.

 

 

Edit: In Hack 'Em Plus, is the maze supposed to go dark every time a fruit is eaten? In arcade Pac-Man Plus, the maze usually remains lit in that case.
Good catch! Actually, the arcade game has the maze color remain unchanged (if it is currently off due to an energizer, it will remain off for the duration of the fruit's period as well). I'll need to look through the energizer routine for a bugfix. This was working correctly last year...and might have been missed when doing program optimizations.

 

 

Question to the hardware gurus:

The undefined bits in SWCHB (2,4, and 5)...are these used at all by either console? In the update, I was attempting to EOR bit 2 (in the ram copy "DifSw") to signify a board reset...which looks to work OK in emulation.

Link to comment
Share on other sites

This is the trickiest glitch to correct (I've heard that it is present in the original Ebivision games as well).

Not in the one sold by AtariAge ;)

 

Question to the hardware gurus:

The undefined bits in SWCHB (2,4, and 5)...are these used at all by either console? In the update, I was attempting to EOR bit 2 (in the ram copy "DifSw") to signify a board reset...which looks to work OK in emulation.

I'm not a hardware guru but these bits are not used by either console. You can use them for RAM if you would like. Before doing so though you must set the bits data direction.

 

  lda #%00110100
  sta SWBCNT

Link to comment
Share on other sites

Both bugs corrected. The green maze variations ignore a maze change when a fruit is eaten, and the 7800 pause should operate correctly now. As I guessed, the "unused" bit flip was interfering with the pause routine, as the B&W bit flip is checked prior to all other switches. So the unused bit signals that SWCHB has changed, and the 7800-specific routine reads the color/b&w switch to be in the color position (where the B&W bit flip should take place). Skipping this routine when the "unused" bit is flipped solved the problem, though the game will temporarily show "PAUSED" if a switch is held down.

 

In addition, I made the dot color to be variable (so they will become invisible along with the maze - same as the arcade).

 

BTW it appears that the arcade Pac Plus will not alter the maze color in the first 2 levels (it always stays on). Anyone confirm? This has been added to the game too.

Hack__Em.zip

Link to comment
Share on other sites

I dunno...Mame doesn't seem to do it on the second level either. I'll keep checking.

 

Question to the hardware gurus:

The undefined bits in SWCHB (2,4, and 5)...are these used at all by either console? In the update, I was attempting to EOR bit 2 (in the ram copy "DifSw") to signify a board reset...which looks to work OK in emulation.

I'm not a hardware guru but these bits are not used by either console. You can use them for RAM if you would like. Before doing so though you must set the bits data direction.

 

  lda #%00110100
  sta SWBCNT

Thanks! I always wondered what that location was used for (though I don't need to tap it for this hack...it still has 5 other free bits). Nice to know that a full byte is available if I need it :)

Link to comment
Share on other sites

  • 2 weeks later...

Another update:

There was a bug that prevented the maze/dot color from returning on higher levels (and also messes up the bluetime table occasionally)...this has been fixed. In addition, sounds have been added to the console switches...and the maze gfx has been altered to round off 90 deg. corners (eliminating the only visible HMOVE gap in the upper-left corner). Another prominent change is that the darkening effect has been removed from the Hanglyman2 variation...this game never existed, so I was free to do whatever I wanted with it (and it's already more difficult than the standard versions without the effect anyway).

Full list of changes in the log (dated 5/30 onward).

Hack__Em.zip

Edited by Nukey Shay
Link to comment
Share on other sites

I love how Hack 'em has Pac-Man Plus, Hangly-Man, and a new game mode that combines both. Oddly enough, I played more Hangly-Man and Pac-Man Plus in my youth than the original arcade Pac-Man. The dentist I used to go to used to have Pac-Man Plus and most of the "regular" Pac-Man machines I have seen locally were actually Hangly-Man.

Link to comment
Share on other sites

  • 2 weeks later...

Latest fixes:

 

The "zero" bluetime has been corrected (the monsters no longer change blue for a frame). And the hiding spot works like the arcade now (the monsters avoid it when the player rests there).

 

This will be the last update for the 8k version, as I've done some modifications to the 16k build that frees up much more space.

Hack__Em_Final8k_.zip

Hack__Em.zip

Edited by Nukey Shay
Link to comment
Share on other sites

  • 3 weeks later...

Latest version:

 

Full animated attract screen added...as well as a couple of others shown only during powerup. The monsters bounce in the box now, and they are finally the correct colors. Game variations include the number of monsters (like Atari's Jr. PacMan), and a highscore is recorded (with it's game mode color). The demo player has also been added.

HackEm.zip

Edited by Nukey Shay
Link to comment
Share on other sites

That's a bug. The demo player still uses all of the routines that you do (including the opening tune - tho it isn't heard). The check for actual input doesn't begin until the demo player starts to move, and remains active from that point. I was trying to get a slight pause in the game so that the level object is also shown in the center...but it got fudged a bit :P

Link to comment
Share on other sites

Great job, I'm amazed you have kept working on this for 2+ years. Just got my crocodile cart and thats the 16K version is one of the first games im going to try out on it.

 

BTW Is the flickering of the score a bug? I have played both the 8K and 16K on StellaX and Z26 and noticed it.

Link to comment
Share on other sites

Great job, I'm amazed you have kept working on this for 2+ years. Just got my crocodile cart and thats the 16K version is one of the first games im going to try out on it.

 

BTW Is the flickering of the score a bug? I have played both the 8K and 16K on StellaX and Z26 and noticed it.

I'm about 99% sure it isn't; reread the thread, somewhere he explains. I'm pretty sure it is flickered to get more stuff on that top line. :)

Link to comment
Share on other sites

BTW Is the flickering of the score a bug? I have played both the 8K and 16K on StellaX and Z26 and noticed it.

 

No bug. The score flickers because the 2600 is generally only capable of 3 sprite copies on a given scanline (that makes 6 sprites side-by-side). The score uses all 6...so in order to display the reserve lives and level icon, I had to draw them only on every other television frame. If you noticed, once the game is over there is no need to display the reserve lives and level icon...so the score no longer flickers to make room for them.

 

 

Latest version:

The demo player pause has been removed...and you can also begin a new game while the attract screen is shown. Because the box area is now exempt from the internal game map, I made it samller in height and gave those scanlines to the upper maze walls...so now the maze is more faithful to the arcade. This added 8 dots to the maze...so I threw in 2 more to even it out.

Hack__Em.zip

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...