Keith Weisshar Posted October 7, 2008 Share Posted October 7, 2008 Is there anyone who has a ROM disassembly of the Raiders of the Lost Ark game. It's not listed on bjars.com. Do you have a map of the memory locations used in the game which stores stuff like the room number, object number, number of objects in inventory, scoring, etc? Quote Link to comment Share on other sites More sharing options...
accousticguitar Posted October 7, 2008 Share Posted October 7, 2008 You might want to post your question in the 2600 hacks section. Quote Link to comment Share on other sites More sharing options...
Nukey Shay Posted October 8, 2008 Share Posted October 8, 2008 (edited) I have one that just breaks down the scoring routine (at $DDDB). The variables involved are all described...but changing them isn't advisable (since many of the "point" values are ones that are already existing in a register at those times in the game before being passed to a score variable). Edited October 8, 2008 by Nukey Shay Quote Link to comment Share on other sites More sharing options...
Nukey Shay Posted October 8, 2008 Share Posted October 8, 2008 I missed some branch vectors (additional things commented as well) Raiders.zip Quote Link to comment Share on other sites More sharing options...
Keith Weisshar Posted October 19, 2008 Author Share Posted October 19, 2008 Why is the reset switch disabled when the Ark is visible and only enabled when the Ark disappears? It's also disabled at the final scoring screen once the Ark is sucessfully found? Quote Link to comment Share on other sites More sharing options...
Keith Weisshar Posted March 27, 2009 Author Share Posted March 27, 2009 (edited) Why does the gun stop working if I buy more than 128 bullets from the black market? The only workaround for this problem is to reset the game and this will overwrite all the RAM variables since it goes through a cold start routine. Edited March 27, 2009 by Keith Weisshar Quote Link to comment Share on other sites More sharing options...
Nukey Shay Posted March 28, 2009 Share Posted March 28, 2009 Why is the reset switch disabled when the Ark is visible and only enabled when the Ark disappears? It's also disabled at the final scoring screen once the Ark is sucessfully found? Because the line that checks the switch status is skipped completely when the ped. is in motion. This could be in place so that the same ram location responsible for displaying the screen is also used to keep track of ped. height. The ped reaches the bottom and falls negative - it's no longer in motion. I never looked into it closely, but it seems reasonable. ;the only place that reset is checked... LD3FB: sta WSYNC ;3 bit $9C ;3 bpl LD409 ;2 branch if ped. is moving (positive)? ror SWCHB ;6 move reset switch to carry bcs LD409 ;2 branch if reset not pressed jmp Cold_Start ;3 do cold start Why does the gun stop working if I buy more than 128 bullets from the black market? The only workaround for this problem is to reset the game and this will overwrite all the RAM variables since it goes through a cold start routine. A single byte of ram can hold a value from 0 to 255. The ram address used to keep track of the number of bullets is $A0. Half of these values can be treated as "negative" values (128 to 255 - the high bit is set). The gun's bullets are counted as you shoot them...firing the last bullet places the counter in the "negative" range - to instruct the game that there are no more bullets available to shoot. If the number of bullets bought causes this negative range to be reached through addition, it has the same effect. Negative number = no more bullets to shoot. It's possible to hack the game so that negative values are not used to decide this (rather, check if the value is zero), but you would end up with the same result if the number of bullets bought causes the variable to reach zero. In practical use, it doesn't matter...because you should never need to buy bullets at all in the game (using them to shoot a thief causes you to lose points in the final tally anyway). Even without that fact being considered, 128 bullets would last quite a while...much more than you should ever need even if you are using the gun to shoot away playfield blocks near the treasure room. NOTE: buying an additional 128 bullets should correct the problem also...moving from negative to positive through addition ;in the cold start routine... lda #$0D ;2 sta $81 ;3 lsr ;2 A = 6 sta $A0 ;3 store initial number of bullets ;shooting the gun... LD71E: lda SWCHA ;4 and #$0F ;2 cmp #$0F ;2 beq LD777 ;2 branch if not moving the stick cpx #$0D ;2 is current object the gun? bne LD747 ;2 ...branch if not bit $8F ;3 bmi LD777 ;2 ldy $A0 ;3 check bullets bmi LD777 ;2 branch if none (negative count) dec $A0 ;5 gun fired...subtract a bullet Quote Link to comment Share on other sites More sharing options...
Keith Weisshar Posted April 1, 2009 Author Share Posted April 1, 2009 (edited) RAM location $9C changes from $80 to $58 after digging the correct mesa. It remains at $80 after losing last life. $d174: lda #$58 $d176: sta $9C $d178: sta $9E Edited April 1, 2009 by Keith Weisshar Quote Link to comment Share on other sites More sharing options...
Keith Weisshar Posted April 1, 2009 Author Share Posted April 1, 2009 (edited) Why does the game also do a cold start when I press the fire button after the pedestal stops at any height except the bottom? Edited April 1, 2009 by Keith Weisshar Quote Link to comment Share on other sites More sharing options...
Keith Weisshar Posted August 21, 2009 Author Share Posted August 21, 2009 Is $9C the byte variable for Ark found, 0=found, 128=not found? 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.