Search the Community
Showing results for tags 'bag'.
Found 1 result
-
In mid August last year I decided to teach myself Atari 2600 programming for the fun of it. This February, I'm proud to introduce my first hack: Adventure Kingdoms is a functional and graphical hack of Warren Robinett's game, Adventure. Some new features of AK include a new and larger player world, sprite upgrades, five new items, a new dragon, a new objective, a role selection screen, background colors, dragon reflection, a new secret challenge, a new game+ feature, and various under-the-hood improvements. Many of these new features replace features in the original game such as level select, difficulty select, black and white support, and missile walls. I learned a great deal in the creation of this hack. My first month's work was done entirely in a hex editor because I didn't realize there was an assembler for Atari 2600 games. Most of the hack was programmed and tested without the aid of debugger, which I discovered in my emulator in January. I taught myself about opcodes, addressing modes, reserved RAM variables, the TIA, and all the little idiosyncrasies involved with them. I learned many things the hard way: Don't squeeze in too many subroutines per drawing frame of the screen will shake; Don't define graphics over a page break or they will distort; Don't define state-keeping variables anywhere near $FF or the stack will overwrite them; most importantly I learned how precious my RAM, ROM, and cycles were, how to juggle them, and when to sacrifice one for the other when resources grew scarce. I would have never been able to complete this without all the hard work that others had already put into the resources I used, so I'd like to give thanks where it is due. Special thanks to: Warren Robinett, for creating the original Adventure Joel D. Park, for providing a thoroughly commented copy of the source online. John Picken, whose opcode directory taught me the 650(7) opcodes, their lengths, and cycles. Mark Andrews, whose online book taught me what addressing modes were and when to use each. Steve Wright, whose guide taught me the functions of the reserved RAM variables Andrew Davie, whose tutorial sections on the TIA helped me resolve many cycling issues Steve A. and the Stella Team for their awesome emulator and debugger Matthew Dillon and all other contributors and maintainers for the DASM assembler Everybody responsible for the success of the Atari 2600 home video game console Everybody on the atariage forums who plays my hack. Please leave feedback! The bin and manual files are attached below. Cheers! ADVENTURE KINGDOMS.BIN