Shannon Posted June 29, 2008 Share Posted June 29, 2008 That was 7800 only right? Quote Link to comment Share on other sites More sharing options...
Wickeycolumbus Posted June 29, 2008 Share Posted June 29, 2008 That was 7800 only right? Not sure. When I order some 16K boards I will try it out on a regular 2600. Quote Link to comment Share on other sites More sharing options...
jwierer Posted June 29, 2008 Share Posted June 29, 2008 That was 7800 only right? Not sure. When I order some 16K boards I will try it out on a regular 2600. I tried it yesterday. Didn't work on my 2600 nor my 7800. -Jeff Quote Link to comment Share on other sites More sharing options...
TrekMD Posted June 29, 2008 Share Posted June 29, 2008 That's too bad. It would have been fun to play on the console. Is the same true of Hack'Em (the Pac-Man hack)? Quote Link to comment Share on other sites More sharing options...
jwierer Posted June 29, 2008 Share Posted June 29, 2008 That's too bad. It would have been fun to play on the console. Is the same true of Hack'Em (the Pac-Man hack)? Hack'Em worked fine. -Jeff Quote Link to comment Share on other sites More sharing options...
Artlover Posted April 4, 2009 Share Posted April 4, 2009 (edited) This is great. Finish it, damn it! Anywho... I tried it under Stella, and it works. Then I tried it under EMU7800, which is 2600 compatable, and it doesn't work. For what it might be worth, here is a log dump. A2600NTSC ready TIA 1A reset PIA/RIOT M6532 reset M6502 CPU (PC:$d0f2) reset Machine A2600NTSC reset complete: 60 HZ 262 scanlines M6502 CPU:**UNKNOWN OPCODE: $e3 at $d1bd M6502 CPU:**UNKNOWN OPCODE: $e3 at $d1bd M6502 CPU: Processor Jammed Edited April 4, 2009 by Artlover Quote Link to comment Share on other sites More sharing options...
+stephena Posted April 4, 2009 Share Posted April 4, 2009 This is great. Finish it, damn it! Anywho... I tried it under Stella, and it works. Then I tried it under EMU7800, which is 2600 compatable, and it doesn't work. For what it might be worth, here is a log dump. A2600NTSC ready TIA 1A reset PIA/RIOT M6532 reset M6502 CPU (PC:$d0f2) reset Machine A2600NTSC reset complete: 60 HZ 262 scanlines M6502 CPU:**UNKNOWN OPCODE: $e3 at $d1bd M6502 CPU:**UNKNOWN OPCODE: $e3 at $d1bd M6502 CPU: Processor Jammed I'm pretty sure that error is because the game uses some illegal opcodes which EMU7800 doesn't emulate. I tried the ROM in 3 other emulators, and it works in all of them. So if it doesn't work on a real system, that means the emulation shouldn't be working either. I'd be interested in why it fails on real hardware, so I can make it fail in Stella too Quote Link to comment Share on other sites More sharing options...
Nukey Shay Posted April 4, 2009 Author Share Posted April 4, 2009 I'd be more interested in why it fails on real hardware so I can correct the problem It's got me stumped. But at least you've got another game to check emulation accuracy with. Quote Link to comment Share on other sites More sharing options...
Artlover Posted April 5, 2009 Share Posted April 5, 2009 Works on the xbox port of z26 nicely too (better then stella on the PC actually). Quote Link to comment Share on other sites More sharing options...
Nukey Shay Posted July 25, 2009 Author Share Posted July 25, 2009 (edited) After hitting my head on the table for ages over that, I turned to the latest version of Hack'Em and started over (so it already has the latest bugfixes in the program). I took out all illegal opcodes and iffy bankswitching commands (and cut down on the amount of banking in general). Could somebody try this on an actual machine to see if it fails? BTW there's some more stuff that I added (like intermission music and non-moving sprite "actors" that still need editing/compacting), but the moving fruit still hasn't been put in yet. The demo screen and sounds are from the old game, so those need updating as well. I also added a big bonus for uncovering the secret level. There are some smaller issues that need to be addressed as well (like random fruits that change if one is already on the screen). Also, because the latest version of Hack'Em had the center box cut down in size, the mazes are more faithful - only the last one differs slightly (those crosses on either side - because the arcade game allows intersections everywhere and not just every other vertical dot). MsHack_NTSC_test_.zip Edited July 25, 2009 by Nukey Shay Quote Link to comment Share on other sites More sharing options...
sandmountainslim Posted July 25, 2009 Share Posted July 25, 2009 Lookin' great Nukes!!! The intermission music is really good. Glad to see you back on this one. Wp Quote Link to comment Share on other sites More sharing options...
jwierer Posted July 26, 2009 Share Posted July 26, 2009 After hitting my head on the table for ages over that, I turned to the latest version of Hack'Em and started over (so it already has the latest bugfixes in the program). I took out all illegal opcodes and iffy bankswitching commands (and cut down on the amount of banking in general). Could somebody try this on an actual machine to see if it fails? Just tested it out on my 7800, played a few games and it worked fine. At first I thought it was failing, but then realized it was just a simulated rack test - I like it. Are the intermissions just place holders? I heard the music and saw the sprites, but they are not animated. I couldn't tell from your post if that was intentional or not. -Jeff Quote Link to comment Share on other sites More sharing options...
Nukey Shay Posted July 27, 2009 Author Share Posted July 27, 2009 Thanks for that...I appreciate you tried it on a 7800 especially (since that console seems to be a bit more sensitive to unorthodox methods). That was the primary thing that I was after so that compatability isn't an issue The simulated machine test hasn't been altered from Hack'Em (nor much else in the boot/title screen sequence)...but those will be altered soon to better ones. I had to cut it down a bit, currently...after moving the audio tables to another bank to make way for intermission routines. It should still correctly identify your machine...which is needed for the B&W switch compatability routines. The intermissions are just placeholders as you suspected (I left the existing triggers in place, but the sprites don't move around yet). I wanted to fix the music before doing anything else, so I can optimize the routines. All 4 tunes are a direct graft from Atari's 7800 version, so there have been a couple of conversion problems trying to squeeze it in here where the ram is pretty much maxed out (lengthy too...I was already able to merge the frequency and distortion values). Speaking of that, I was at odds whether to import all of Atari's sound files from the 7800...but decided against it. The music alone occupies 2 pages. Current fixes correct some missing/incomplete stuff. The fruit is still non-moving, I spent the entire weekend trying to fix the sprite multiplex routine after "breaking" it unaware (and having to go back 2 dozen versions to figure out what went wrong!) The demo player is still very dim, but at least it's following maze rules. MsHack_NTSC_test_.zip Quote Link to comment Share on other sites More sharing options...
Nukey Shay Posted July 28, 2009 Author Share Posted July 28, 2009 On hold for a little bit...the intermissions need a lot of work. 370 bytes left...but that goes quick when adding lookup tables for movement. However, the game is playable with fruits that move around (that needs a bit of touching up too, but it works). Pausing or resetting the game when music is playing messes up the counters, so that needs to be fixed as well. I ended up with a nybble of unused ram, so I threw in a random seed to try to keep games from becoming too predictable. MsHack.zip Quote Link to comment Share on other sites More sharing options...
Artlover Posted July 29, 2009 Share Posted July 29, 2009 Woo woo!!!!! :lust: Quote Link to comment Share on other sites More sharing options...
sandmountainslim Posted July 29, 2009 Share Posted July 29, 2009 Woo woo!!!!! :lust: I second that! Looking great! They monsters turn green on my screen rather than blue. Is that my machine or does it look that way? Wp Quote Link to comment Share on other sites More sharing options...
Nukey Shay Posted August 3, 2009 Author Share Posted August 3, 2009 OK...I set up some intro pointers for the sprites when an intermission is first called, then used the upper 3 bits of the music data to move them around. Adding in a few exceptions (to handle vertically-moving characters), this fit in the animations. Dang...took nearly 400 bytes, but I got there Only 14 bytes remain in this whole thing. I need to scrape up some more to fix a couple of remaining issues. There might be a random screen jump occasionally...need to track that down. MsHack.zip Quote Link to comment Share on other sites More sharing options...
Nukey Shay Posted August 3, 2009 Author Share Posted August 3, 2009 The monsters turn green on my screen rather than blue. Is that my machine or does it look that way? No idea...they should be blue Quote Link to comment Share on other sites More sharing options...
Nukey Shay Posted August 4, 2009 Author Share Posted August 4, 2009 A bunch of corrections here...I think that I've got the jitter cured (looked to be doing too much in VBLANK). The score was being wiped out when the demo kicked in...that's fixed (as well as the sprite misplacement). Added some additional control bits to the intermissions (for fast speed, monsters colliding, etc)...still needs tweaking. Alternate color set given to "2" variations, tho that is subject to change as well. Skipping intermissions can be done by pressing right on the controller. Take this, brother...may it serve you well. MsHack.zip Quote Link to comment Share on other sites More sharing options...
TrekMD Posted August 4, 2009 Share Posted August 4, 2009 Very nicely done! Quote Link to comment Share on other sites More sharing options...
PacManPlus Posted August 4, 2009 Share Posted August 4, 2009 Very cool - Nukey. You are awesome Quote Link to comment Share on other sites More sharing options...
Nukey Shay Posted August 6, 2009 Author Share Posted August 6, 2009 (edited) Current developments. Some more adjustments done to intermissions. I still can't figure out what I did wrong in the 2nd lap of the 1st one...animation gets killed for some reason. And the 2nd's fast mode is still misaligned. Taking a break from those for a while, I started changing sounds. The death one was easy to make a formula for (it's just subtracting ~n x 2 + ~n from the lowest pitch for 50 frames...where ~n gets bumped every 16th frame). The background was also easy...just 8 values played at the fastest rate over and over...so I threw it into the other channel when it was empty too. Energizer and eyes I left alone...never did figure out the "quack-quack" sound the arcade uses (and that is absolutely necessary IMO). Monster deaths still needs work, as I ran out of space (again!)...but you can make out the effect that I'm trying for. I did clean up the dot-eating and bonus sounds before I ran out, tho. MsHack.zip Edited August 6, 2009 by Nukey Shay Quote Link to comment Share on other sites More sharing options...
Nukey Shay Posted August 10, 2009 Author Share Posted August 10, 2009 (edited) More optimizations... I -finally- solved the reason that monsters would go through walls in the original hack (I had set up a special routine to look for this and attempt to fix it before, but never found out what caused it). To save on rechecking things over and over...such as if monsters are at actual map intersections...the results of those tests were put in temp ram that's used by the printing routines. However, the upper 2 of these were being overwritten on occasion...leading the game to detect "hey...it's OK for this monster to do a reversal", when it wasn't OK. That was a tough bug for me to find (took 5 years). Rather than rely on those tests, I just performed the checks directly. I came out ahead in free space due to the "illegal motion checking subroutine" no longer being necessary. Because the above was eliminated, this provided 2 additional temps that I could use outside of the display (the ones that weren't being accidentally overwritten were stable). So I used those to handle a bunch of "is the score zero?" and "are we drawing a moving fruit or a center icon?" checks that were needed a number of times. Fixed the sprite motion in intermissions. They still don't quite line up with the musical cues, but it's a bit closer than it was. And sprites stay offscreen when they are supposed to. Also, the animation bug is almost fixed (this happens due to only 4 values used for flicker control. If all 4 happen to be on the same scanlines, selective flicker makes it appear as if they aren't being animated at all (when they really are...it's just that a different sprite is scheduled to be drawn at the exact times that their alternate bitmap should be displayed. To fix Pac-Man, I just merged it with the 3-step counter. Dunno what to do about the monsters yet - since the intermission kernel is the same as all the others, it just skips drawing any playfield (existing flicker is used for sprites)...maybe slow down the animation? The glitch throwing the GO and Inky sprites on top of the player (should a game be reset mid-stream) has been corrected. I altered the eating monster sound a bit as a test, but I'm still not satisfied with it. Does anybody know the frequencies that the arcade game uses for this sound effect? Following the above changes, I ended up with a lot of free space (that I could use to set up a frequency table for this sound effect instead of trying to use calculations). Both sound channels can be used to extend the range, if necessary (as demonstrated by the trailing 3rd of the effect). I altered the bluetimes to reflect what is given in the arcade machine. In addition, bluetime can be piled up on existing bluetime when eating more than one energizer. I can use this extended range for the glitchy background sound the arcade game produces if I ever come up with a better one SMS - Are you running the PAL60 version? Blue monsters using the PAL palette would be green if the display is NTSC. I can't think of a different reason than that. MsHack.zip Edited August 10, 2009 by Nukey Shay Quote Link to comment Share on other sites More sharing options...
sandmountainslim Posted August 11, 2009 Share Posted August 11, 2009 SMS - Are you running the PAL60 version? Blue monsters using the PAL palette would be green if the display is NTSC. I can't think of a different reason than that. I just ran the latest one you posted (I assume NTSC) and the blue ghosts are still green. Odd. Looking great though! The intermissions are nigh on there! Wp Quote Link to comment Share on other sites More sharing options...
TrekMD Posted August 11, 2009 Share Posted August 11, 2009 This is an awesome hack! Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.