Jump to content
IGNORED

Hack'em! / Hangly Man combined :)


Nukey Shay

Recommended Posts

Very impressive.  I love the pause feature. :D

 

Somehow, the game seems a lot easier (than it used to be) in turbo mode.  Perhaps I am mistaken. 

 

937501[/snapback]

 

Shouldn't be...the turbo speed is the same framerate that always was...and the "random" movement patterns should be the same as the earlier versions :? Thanks for the headsup...I'll have to check the routine to make sure I didn't mess them up! :lol:

Link to comment
Share on other sites

  • 1 month later...

You could always use the -r switch in Z26 ;) I found that slowing them down made the game too easy (they are not too difficult to outwit once you get used to their patterns...even in "smart" mode).

 

Latest fixes:

 

There was a glitch in the original hack of yore that made the monsters not flash properly (when ending an energizer). This has been corrected. In addition, I altered the intermission screens a bit and added a new "fruit collected" object (it's just an X that flashes onscreen momentarily...but it's something visual at least). Scanline jitter corrected in the PAL versions...and I also tried to center the screen a bit better in the 312 scanline version (tho I'm still kind of winging it in that area).

Hack__Em.zip

Link to comment
Share on other sites

  • 2 weeks later...

Half of a page of romspace killed from the kernal...

 

Current fixes/changes:

Sprite jitter following intermissions in PAL build corrected (I think).

Extra pixel glitch when player is rightmost corrected (again).

I thought that the white score color and flashing blue monsters were too dim, so I brightened them.

Title display screen properly centered in 312 scanline PAL build...and also now features color shading/scrolling.

The game pause function interferes less with the bluetime counter (still off just a bit).

3rd intermission now includes a coat for the naked monster to hold. It's just a "red square monkey"-kinda coat, but at least something is in there ;)

Recycled sound effect added when easter egg is activated (did anybody find that yet? Another puzzler - although you can game-select to any level, starting the game on the only level where it becomes available makes it unavailable).

Because I still didn't find a use for those remaining 2 bits of ram memory, I used them in the split-screen level to better garble the screen. The maze data will NOT be reversed on that level for the right side of the screen...and the dot pattern is more authentic (normal on the left, nearly empty on the right). No way to avoid phantom dots by doing so, but that just makes the "glitch" more effective ;)

Because of public outcry of even including the level (which I wanted in the game since it's part of the original), I reached a compromise. In this version, you CAN pass the board...though it's kind of difficult. The energizers on the right side will be invisible (though they can still be eaten). As long as you DON'T eat the lower-right one, a dot near the center will remain on-screen after being eaten (so you can just keep collecting it until the dot counter reaches zero, allowing you to go back to a regular board).

NOTE: You can practice the split-screen by holding UP on both controllers when pressing a console switch...it will appear after you beat the board you start on.

 

Timing is really tight in some areas, so I needed to start using illegal opcodes (do any current emulators still have problems with these?). Currently only using LAX (load A/X) and ALR (AND/LSR) instructions.

Hack__Em.zip

Link to comment
Share on other sites

  • 2 weeks later...

just got through playing both version of the rom and they work great on Stella 2.0.1. when i get my Atari 2600 I will try and get my Neighbor to burn to an Eprom for me so i can play it on real hardware.

 

this is a really awsome Hack (home brew, dunno if it is still based off of the 2004 Version you made out of Lock-n-Chase or not.). and i really Enjoyed playing it too.

 

RA

Link to comment
Share on other sites

just got through playing both version of the rom and they work great on Stella 2.0.1. when i get my Atari 2600 I will try and get my Neighbor to burn to an Eprom for me so i can play it on real hardware.

 

this is a really awsome Hack (home brew, dunno if it is still based off of the 2004 Version you made out of Lock-n-Chase or not.). and i really Enjoyed playing it too.

 

RA

981378[/snapback]

 

I agree awesome... I don't know if you can really just call it a hack. :ponder: kind of blurs the line between hack and homebrew.

Link to comment
Share on other sites

I agree awesome... I don't know if you can really just call it a hack.  :ponder:  kind of blurs the line between hack and homebrew.

983143[/snapback]

Yup, it is a major, major hack. But AFAIK it still uses the Pesco kernel, so IMO one essential criteria for a homebrew is missing.

 

Though, since batari BASIC, this isn't really a criteria anymore. :ponder: :ponder: :ponder:

Link to comment
Share on other sites

I agree awesome... I don't know if you can really just call it a hack.  :ponder:  kind of blurs the line between hack and homebrew.

983143[/snapback]

Yup, it is a major, major hack. But AFAIK it still uses the Pesco kernel, so IMO one essential criteria for a homebrew is missing.

 

Though, since batari BASIC, this isn't really a criteria anymore. :ponder: :ponder: :ponder:

983151[/snapback]

 

Nope...your first statement was correct. Virtually any program that borrows heavily from another is a hack (even tho everything else was either changed or otherwise removed...the kernal is what everything else is built upon. Without it, you don't have much of anything except a collection of routines). Although I also made some tweaks to the kernal as well (such as accidentally fixing the phantom dot problem and saving cycles for indirect jumps), it's still the same old kernal. The only way that whis would be a homebrew is if I went the rest of the way and created a new one...which I really don't have any desire to learn to do (because hey...everything works...and that's fine by me). With hacks taking 2+ years to get right, I shudder to think how long a kernal would take me to complete ;)

Link to comment
Share on other sites

  • 3 weeks later...
This is a hack of Pesco...

 

I think I missed the Lock-N-Chase hack.  I ran a search with no results...  anyone have a link?

981447[/snapback]

 

Nothing much done with that one...IIRC I just altered a couple of colors. The posted "rough" disassembly is in this thread:

http://www.atariage.com/forums/index.php?showtopic=43346

Link to comment
Share on other sites

  • 3 months later...

Slight timing adjustment. Seems there were still occasional jitters in that last one (though I'd only seen it in the PAL60 version).

 

Also, for a bit of fun...

I doubled the rom size and added 2 additional bankswitches (one when eating a fruit and back when the fruit object is cleared). In that manner, no pointers are needed in order to display fruit points...just edit the fruit tables, and bankswitch over to the seperate 8k. Also edited the color table to display all objects in white. Really wasteful, since everything BUT the fruit bitmaps/colors is redundant info...but it gets one more missing aspect in the game ;)

Hack__Em.zip

Link to comment
Share on other sites

:P

Another stab at this problem. The jitter seemed to happen just as the player is killed. This could have been because I'd reset the monster location pointers to be out-of-bounds (so they won't be displayed). Rather than do that, I just reset the monster color instead to be the value of invisible monsters. I also trimmed out a few redundant branches from the movement routines.

 

*crosses fingers

Hack__Em.zip

Link to comment
Share on other sites

  • 2 weeks later...

Bugfixes...

If a monster was leaving the box as an energizer is hit, it wasn't flagged to avoid the reversal (so occasionally, it would move right through the box downward until it looped back up and resumed normal movement once reaching the upper portion again). This has been corrected.

One of the sub-kernals was off by 1 cycle (due to the routines being shifted around...the branch was expected to take one cycle longer than usual). This was also fixed.

The "eaten fruit" object timer has been increased.

I also made some additional trims to the code...saving half a page of space and 1 ram location ($F0).

 

Additions...

Using that extra space, I added a flicker routine for the score portion of the display. So in addition to displaying the score and logos @ 30hz, it also displays extra lives and the level indicator @ 30hz :) When a game is over, the routine is skipped to display the score @ 60hz. This required no extra ram...though the level indicator is a bit hard to make out sometimes (I only have 5 scanlines to work with).

Also, in the 16k version there was an entire page of space which wasn't used at all. So I added one to include "plus" mode fruits (Coke can, martini, pea pod, apple, grapes, Galaxian, loaf of bread, and stack of pancakes.

-Since the fruit point sprites exist on a seperate page (which alters the color to white), and the 2 modes have seperate pages...the upper level indicator would have been the wrong color/object when the fruit is eaten. Therefore, it momentarily changes to be an "X" graphic.

However...once the eaten fruit timer is cleared, a slight glitch happens where the original object flashes for a single frame - displayed in white. I dunno a fix for this yet.

Hack__Em.zip

Link to comment
Share on other sites

This bug was fixed (or fudged) by reducing the number of frames to enable the fruit. Since the multiplex list is set the frame before objects are seen, I just bumped down the value by 1 (AND #$0E instead of AND $0F) in the list's loop.

 

I also used that free ram byte to hold a current "open-mouthed" offset, so the player won't change when a wall is reached.

 

Current binaries/assembly/changelog:

Hack__Em.zip

Assembly_changelog.zip

Link to comment
Share on other sites

Just realized that the upper portion "feature" in the 16k game could be fixed by doing an additional bankswitch within the kernal (bankswitch and display the score, then bankswitch to the applicable 4k portion and do the rest). Damn...need to find a good spot for that (still have some unused romspace, so space isn't a problem).

Link to comment
Share on other sites

Fortunately, there were 11 cycles' worth of superfluous instructions just following the score display (the program saved zeroes again to any sprite in the upper row's border...although none of the sprites are allowed there). Then, I just reused the same bankswitch value after the bankswitch occurs to test for a fruit being eaten (if so, it's updated with the fruit point value bank's number). By adding a table, I trimmed the new variable "OldPacOffset" down to 2 bits...and used 2 more to hold this added bankswitch's value (the upper nybble is still free). Now the upper level indicator remains unchanged when point values are shown 8)

Hack__Em.zip

Link to comment
Share on other sites

Nukey, you are da bomb. All the new features work and look really well. The fruit scores and the Pac-Man Plus "fruits" are awesome additions.

 

I have a few bug reports (if these have been noticed already, then sorry for the redundant info). The biggest one is that I can't play a second game without power-cycling my 7800. After the "GAME OVER" graphic appears, when I push the joystick button again, the game freezes with the "GO" graphic under the ghost box. Fiddling with the game-select and game-reset switches doesn't help. I'm using the 16kB NTSC image on a Cuttle Cart 2, using F6 bankswitching, if that makes any difference.

 

Also, the jitter when Pac-Man is caught still seems to be there. During one lost life I noticed the playfield acquired an extra row of pixels, which went away at the start of the next turn.

 

I've seen this next bug in all the builds I've played so far, so maybe you already know about it. The third column of dots from the right is repeated on the left side of the playfield, not too far away from the ghost box. The "mirror" is one pixel row lower, so the excess dots appear blue (or green) instead of white.

 

One time when Pac-Man ate two blue ghosts on top of one another, instead of showing "200" followed immediately by "400", all I saw was "400". I wasn't paying close attention to the score, so I assume all 600 points were awarded.

 

This next one is probably a feature, but it seems the trick of moving through the ghosts happens a lot more often in Hack 'Em than in the original arcade Pac-Man.

 

And a question: Now that the game is showing the level fruit in the upper-right corner, is it necessary to show the fruit under the ghost box at the start of each new level and turn?

 

Quibbles aside, this is excellent work. Thank you!

Edited by skunkworx
Link to comment
Share on other sites

I have a few bug reports (if these have been noticed already, then sorry for the redundant info). The biggest one is that I can't play a second game without power-cycling my 7800. After the "GAME OVER" graphic appears, when I push the joystick button again, the game freezes with the "GO" graphic under the ghost box. Fiddling with the game-select and game-reset switches doesn't help. I'm using the 16kB NTSC image on a Cuttle Cart 2, using F6 bankswitching, if that makes any difference.
Never heard it before...but it's possible I overlooked something when trying to cut out superfuous stuff. Thanks for the headsup :)

 

 

Also, the jitter when Pac-Man is caught still seems to be there. During one lost life I noticed the playfield acquired an extra row of pixels, which went away at the start of the next turn.
Damn...something's definately not right :(

 

 

I've seen this next bug in all the builds I've played so far, so maybe you already know about it. The third column of dots from the right is repeated on the left side of the playfield, not too far away from the ghost box. The "mirror" is one pixel row lower, so the excess dots appear blue (or green) instead of white.
Actually, that bug is present in the original game that this was hacked from. Somehow (and I don't know how), I managed to get rid of it a few months ago. If it's there again, It means that I'd moved something I shouldn't have. There was an extra cycle that was missed that I put back recently...so that could be the reason that it resurfaced again. This glitch is particularly hard to look for, since it won't show up in emulation (or on a real 2600 for that matter). It affects the game on a 7800 console only.

 

 

 

One time when Pac-Man ate two blue ghosts on top of one another, instead of showing "200" followed immediately by "400", all I saw was "400". I wasn't paying close attention to the score, so I assume all 600 points were awarded.
That is normal (and yeah, all 600 points would be awarded). All collisions are checked in a single frame. Exiting after 1 collision is found only increases the chance of going though monsters (because hardware collisions are not used...those are way too sensitive and do not allow any sprite overlap).

 

 

 

This next one is probably a feature, but it seems the trick of moving through the ghosts happens a lot more often in Hack 'Em than in the original arcade Pac-Man.
Not to mention "fast mode" ;) This happens because there's always a chance that the monster and player would swap positions and not get a 3-pixel difference. In that case, the collision would fail. The only fix for this would be to increase the reach to 4 pixels...but that seems to wreck havoc with rounding corners.

 

 

 

And a question: Now that the game is showing the level fruit in the upper-right corner, is it necessary to show the fruit under the ghost box at the start of each new level and turn?
Actually, I was considering adding a new graphic (in the 16k game, the X sprite is unused anyway). But the limited gfx of the upper level display character made me leave it alone (and besides, I never managed to squeeze the "ready" message into 8 pixels x 16 lines...it always turned out like a jumbled mess).
Link to comment
Share on other sites

Could you go into a bit more detail? I'll be damned if I can find the freezing, jitter, or the extra row of dots glitches :sad: The phantom blue dot problem is a bit out of my reach though (because supposedly it will only happen on a real 7800). The extra row...are they blue in color also? Does the jitter you see happen right the same moment that you are caught? Or the next frames when all other sprites disappear from the screen? Dunno anything about tracking down the freeze problem, because I can't replicate that either (BTW, you are using the correct bankswitch method...the 16k version is F6).

Link to comment
Share on other sites

I'm not at home at the moment, but when I get a chance, I'll load the game up again. The freeze happened regularly; I simply could not start a second game after the first one finished. If it makes any difference, I played the first game out (lost all lives, saw "GAME OVER"), instead of hitting reset in the middle of the game or something like that.

 

The mirrored dots are blue or green in color, yes, because they appear one pixel row lower than the rest of the dots.

 

Edit: Whoops, maybe you were referring to the extra row of pixels that seemed to appear when Pac-Man was caught by a ghost. I didn't notice any sudden wild color shifts, so I believe the extra row was given the playfield color, yes. I'll verify that when I can.

 

I can't remember exactly when the screen would jitter, but I'll pay closer attention to that when I get to the game again.

Edited by skunkworx
Link to comment
Share on other sites

Forgive the double-post, but this way you see that I've actually had a chance to play. :)

 

First of all, I should have mentioned that the jitter, or extra pixel row, didn't happen every time Pac-Man lost a life, or at least I don't remember seeing it every time. At any rate, I so far haven't seen it at all with the 7800 connected to my computer via video capture card. I won't even begin to speculate what may have caused the jitter I did see, but it's safe to say it's not a common occurence.

 

The game freeze is definitely still there. When the game ends, the score area stops flickering, and instead alternates between the score and the game title, which you mentioned. When I press the fire button, the playfield and score are reset, and the score area starts flickering again, but the music is never played, and the score continues to alternate with the game title. The Stella 2.0.1 emulator doesn't have this problem, which would help explain why you're not seeing it. Unfortunately I don't have a KrokoCart or any other way of playing downloaded ROMs on a real 2600.

 

Edit: Just discovered something of a work-around. Once the game ends, if I play with the game reset and/or game select switches before hitting the fire button, the game will restart like it's supposed to. But if I hit the fire button first, that's when the game freezes, and refuses to restart until I hit the power.

 

The mirrored dots are also still there, and I was going to make a screen capture, but the RF output on the 7800 is flat out pitiful, and the captures have so much video noise that you can't really tell the difference between the extra dots and other interference. I am now officially accepting donations to have my 7800 modded, preferably for S-video. :D

Edited by skunkworx
Link to comment
Share on other sites

I still have no idea why a 7800 would have these problems (unless a 7800 would not handle illegal opcodes in the same manner as a 2600...guys?). I did confirm that a death screen jitter -could- happen since the "star" graphics are right at the end of the page...and so has a possiblity of rolling over into the next page at certian player vertical locations (which would take an extra cycle to read...causing an extra scanline to appear). That would account for the jitter, although I never saw it happen w/z26. I corrected it by just dropping a frame from the death animation...keeping all gfx within 1 page as they should be. This is the only cause I could figure to that screen roll :P

An additional bugfix was done to display the "paused" text when that mode is selected...the X register was being corrupted by the additional bankswitch before that test was done. Fixed by just changing the TXA to an LDA instead.

Killed another page of redundant code by altering the indirect exit routione. It now points farther ahead in the code...and all mazes exit using the same routine instead. In addition, I removed the extra cycle I added to Ind9 (which might account for the 7800 phantom dot glitch's reappearance). However, a small glitch is still present due to those changes...the player sprite is clipped when you are on the far right edge (and a monster is at the same vertical height).

The game freeze problem with the buttons has me totally stumped :sad: I can't see it happen in Z26 or Stella.

 

Try one of these out...

Hack__Em.zip

Link to comment
Share on other sites

Additional (possible) 7800 bugfixes. I also corrected the small dark pixel that occasionally appears, and threw in the arcade "hiding spot" (although it doesn't cause the monsters to avoid you, it just makes you invulnerable...accomplishing the same thing). Full list of changes in the log.

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