Jump to content

az_network

Members
  • Posts

    5
  • Joined

  • Last visited

az_network's Achievements

Combat Commando

Combat Commando (1/9)

1

Reputation

  1. I started to do some experiments. The original Demon Attack is a 4K cartridge. It is possible to use the bank switch in order to double the number of demons waves in a 8k Demon Attack. At some point of the game I just switch to a different bank where different graphics is available. Just by chance this happens when the player wins an extra life, because the sound music access to the final addresses of the 4k, and eventually access to the switch registers. Furthermore, using the option of multiple players (NUSIZE0-1) it is possible to multiply the number of moving demons on screen. Here attached you see an example (Scorpion is my chosen brand for the games). Please, consider that is just an experiment to extend existing games, not a real game. A. demon8k.zip
  2. Thank you for the very clear explanation !!! A.
  3. Somebody created a translation of the original Demon Attack in java (from the website Meatfighter). The enclosed file could be useful to better understand the dynamics of game. There is still a lot of work to do... A. demon_java.zip
  4. Close...but there are still vectors you missed. Such as L12EF, which holds destination addresses that are pushed onto the stack and then RTS'ed to (because RTS is handling them, the addresses are all -1 from the actual address). ex: L12EF: .word LF1388-1 .word LF135C-1 .word LF134F-1 .word LF12F7-1 Hi, thank you for your reply. Indeed, few lines before you see an explanation of the addresses in table L12EF, and the commented lines of subroutines (SUB1), (SUB2), etc. take in due account the actual +1 address (i.e. SUB 7 starting line is at $12F7, but stack address is $12F6). Do you suggest to use ".word LF12F7-1" in table to express more clearly the actual starting addresses of subroutins ? LDA SoundIndex ;3 if SoundIndex = 0 0 0 0 x x x x ---> save $1387 on stack (SUB4) AND #$F0 ;2 LSR ;2 if SoundIndex = 0 0 0 1 x x x x ---> save $135B on stack (SUB5) LSR ;2 LSR ;2 if SoundIndex = 0 0 1 0 x x x x ---> save $134E on stack (SUB6) TAY ;2 LDA L12F0,Y ;4 if SoundIndex = 0 1 0 0 x x x x ---> save $12F6 on stack (SUB7) Anyway, I learned a nice way to embed a "ON x GOSUB" instruction in assembler !!! regards, A.
  5. Hi, here enclosed you find the commented source code of Demon Attack for Atari 2600. I enclose also a version of the same game with infinite lives. Regards, A. demonatk.zip demon_hacked.bin
×
×
  • Create New...