vb_master Posted February 4, 2004 Share Posted February 4, 2004 I decided to improve Pac-Man, and I decided that Alien was a good one to put pac-man sprites into. The problem is that I cant find where the man and the alien guys are locted using hack-o-matic. Thanks! Quote Link to comment Share on other sites More sharing options...
Nukey Shay Posted February 4, 2004 Share Posted February 4, 2004 The problem with doing that is that there are only a few sprites used for the man (so Pacman will be sliding around as he does in Atari's Pacman...no vertical mouth)... 0454 | X XX | 0455 | X XXX X| 0456 | XX | 0457 | XXX | 0458 | XXXXX X| 0459 |X X | 045a |X X | 045b | | 045c | X X | 045d | XXXX X| 045e |XXXX | 045f | XXX | 0460 | XXXXX X| 0461 | X X | 0462 | X X | 0463 | | 0464 | XX | 0465 | XX | 0466 | XXXXX | 0467 | X XX | 0468 | XXXXX | 0469 | XX X| 046a |X X| 046b | | 046c | XX | 046d | XX | 046e | XX | 046f | XXXX | 0470 | XXX | 0471 | XX X | 0472 | X X | 0473 | | and 0558 | XXXXX| 0559 | XXX X | 055a | XX | 055b | XXX X | 055c |XX XXXXX| 055d |X XX | 055e | | 055f | | 0560 | X XXXX| 0561 |X XX X | 0562 | XX | 0563 | XXX X | 0564 | XXX XXX| 0565 | X X | 0566 | | 0567 | | 0568 | X | 0569 | X X | 056a | XXXXX | 056b | XX | 056c | XX XXXX| 056d |XX X| 056e | | 056f | | 0570 | X | 0571 | X | 0572 | XXXX | 0573 | XXX | 0574 | XX X | 0575 | X X | 0576 | | Creating a disassembly and hacking it might be the only way to correct this problem...but be warned - Alien is really messy inside. Quote Link to comment Share on other sites More sharing options...
vb_master Posted February 4, 2004 Author Share Posted February 4, 2004 Wow some of those dont look like pac-man. I suppose it would be best to hack mrs. pac-man? Quote Link to comment Share on other sites More sharing options...
Nukey Shay Posted February 4, 2004 Share Posted February 4, 2004 Wow some of those dont look like pac-man.Where they supposed to? Then again, they don't look much like Ripley and the Alien either. I suppose it would be best to hack mrs. pac-man? You mean like this? It's a thought...but you'll need a time machine to get credit for it. Maybe Lock 'n Chase...particularly since there is no flicker But the kernal would need some serious modifications to be able to fit the entire maze in. Do you need an assembly file? Quote Link to comment Share on other sites More sharing options...
raindog Posted February 4, 2004 Share Posted February 4, 2004 It'd be pretty funny if at some point in the future there were like 10 different games that were not Pac-Man but had been hacked into a better Pac-Man than Pac-Man. Quote Link to comment Share on other sites More sharing options...
Nukey Shay Posted February 4, 2004 Share Posted February 4, 2004 Not much of a challenge there...Alien and L&C are already closer to Pacman than Atari's own version. Quote Link to comment Share on other sites More sharing options...
vb_master Posted February 5, 2004 Author Share Posted February 5, 2004 Do you need an assembly file?Yes. Could you get one of those 2600GFX extractor files, the GFX in the rom are jumbled up. I seem to be missing both those extractor and injector EXE's. Thanks! Quote Link to comment Share on other sites More sharing options...
Nukey Shay Posted February 5, 2004 Share Posted February 5, 2004 The only thing you need is to outline where the graphics and code exist. Like looking through HOM to gather the addresses. Then you put that info into a .cfg file to assist Distella. Here's an assembly file plus the .cfg file that created it. There is a very good thing about this game...it leaves over a page of memory free to add in code of your own. Now the bad news: It's not very easy to change the "cop" figures. You might notice that bitmaps of them appear partway through the disassembly. These DO show up in the game. The 8-bit images will be displayed on the screen, so long as no other "cop" moves onto that scanline (when one of them will change into a 2-bit missile object...which is displayed at varying widths to give the illusion that it is also an 8-bit sprite). This swap is totally undetectable by the person playing the game...so long as the sprite image matches with how the missile will be displayed. This also had me stumped Another limitation is that the "cop" sprites are limited to 2 on the same scanline. The program makes sure that one of them won't move onto the same scanlines that 2 of them already exist. Kudos to Thomas for the explainations lockchse_disassembly.zip Quote Link to comment Share on other sites More sharing options...
vb_master Posted February 5, 2004 Author Share Posted February 5, 2004 I changed everthing that looked like the man, but it did not change in Ln'C... BTW I wanted Alien anyways, sorry for the mix up! Quote Link to comment Share on other sites More sharing options...
Nukey Shay Posted February 5, 2004 Share Posted February 5, 2004 Oops Here's the Alien.asm and .cfg...keep in mind that this file has MANY labels missing - even in the routines themselves, because the program uses indirect jumps all over the place. No doubt "intelligent" routines to deal with dot placement and sprite display. I changed everthing that looked like the man, but it did not change in Ln'C Right, in an assembly file you need to change the .byte value...the X's in the bitmap are just comments (everything following the ; character is ignored by the assembler). alien_disassembly.zip Quote Link to comment Share on other sites More sharing options...
vb_master Posted February 6, 2004 Author Share Posted February 6, 2004 so if I wanted to change this .byte $18; | XX | $F464 .byte $18; | XX | $F465 .byte $3E; | XXXXX | $F466 .byte $58; | X XX | $F467 .byte $3E; | XXXXX | $F468 .byte $61; | XX X| $F469 .byte $81; |X X| $F46A into this: see below, what should i do? Quote Link to comment Share on other sites More sharing options...
Nukey Shay Posted February 6, 2004 Share Posted February 6, 2004 You can't do a 1:1 copy of it...since the man in Alien is only 7 lines high (vs. Pacman's 10). 3 lines need to be omitted... .byte $1C; | XX | $F464 .byte $2E; | XX | $F465 .byte $78; | XXXXX | $F466 .byte $60; | X XX | $F467 .byte $78; | XXXXX | $F468 .byte $3E; | XX X| $F469 .byte $1C; |X X| $F46A (remember, the bitmap X's are not even used in a disassembly...just the $ values) This will produce... | XXX | | X XXX | | XXXX | | XX | | XXXX | | XXXXX | | XXX | The hex $ number is divided into 2 halves...or nybbles. A nybble is 4 bits wide...a bit in the first position has a value of 8, second is 4, third is 2, and the last is 1. You just add them up to get the value of that nybble. For example...if you wanted to turn on all of the pixels, each nybble value would be 8+4+2+1. That equals the decimal value of 15. In Hex, decimal 15 equals the "digit" F (numbers higher than 9 use the letters of the alphabet). So to make a complete line, you would use F for the first nybble, and F for the second nybble...$FF. The top line in the Pacman image above has 0+0+0+1 (1) for the first nybble...and 8+4+0+0 (12...C in hex) for the second. So the first .byte value would be $1C. Quote Link to comment Share on other sites More sharing options...
vb_master Posted February 6, 2004 Author Share Posted February 6, 2004 What should I do to reassemble alien.asm (modified with pac-man of course) with Dasm? It spits out Source not resolveable. Quote Link to comment Share on other sites More sharing options...
Nukey Shay Posted February 6, 2004 Share Posted February 6, 2004 Whoops! Some of the equates had the wrong names! Dunno how that happened Anyway, I erased the equate table at the top and just used the include vcs.h tag instead. I also updated a few of the indirect tags (the < and > symbols in some of the loading instructions...these immediate values are referencing actual addresses)...and changed the routine at $FEBF-$FEDE to a data table instead (I'm not sure if this is a table or a subroutine yet...it looks like both??). The subroutine is still in the file, just commented out...just in case I locate an instruction that is jumping there. Sorry about that. Make sure the file VCS.H is located in your Dasm folder, and it will compile normally. I ran it to double-check. alien.zip Quote Link to comment Share on other sites More sharing options...
Nukey Shay Posted February 6, 2004 Share Posted February 6, 2004 Also, if you wanted to...you could use binary numbers instead of hex when making bitmaps. In those, you use the character % instead of the $...and have 8 digits after it (each one either 0 or 1). The pacman image would be... .byte %00011100; | XXX | $F464 .byte %00101110; | X XXX | $F465 .byte %01111000; | XXXX | $F466 .byte %01100000; | XX | $F467 .byte %01111000; | XXXX | $F468 .byte %00111110; | XXXXX | $F469 .byte %00011100; | XXX | $F46A That saves you the trouble of converting the pixels into nybbles...just use 1's where you want pixels to be. Sorry again about the mixup Quote Link to comment Share on other sites More sharing options...
vb_master Posted February 6, 2004 Author Share Posted February 6, 2004 Oh man, I dont have vcs.h anywhere! Quote Link to comment Share on other sites More sharing options...
Nukey Shay Posted February 6, 2004 Share Posted February 6, 2004 Get it from the homepage... http://www.taswegian.com/TwoHeaded/Atari2600/dasm/ Scroll halfway down to "support files" I feel like Dr. Hackenbush here Gedda you icea cream... 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.