Jump to content
IGNORED

Mord's Blog - Coding Days Are Here Again


RSS Bot

Recommended Posts

I started coding on the 2600 again recently. I have this horrible habit of starting it, dabbling with it, getting carried away with some aspect of it, then losing interest and dropping everything for months and months. Thus when I get back to it again... I end up not knowing what the heck I was doing.

 

So I start over.

 

Usually with some totally different idea anyway.

 

I have like 4-6 different game ideas in my head as a result, some more hammered out than others, for the most part with little idea if any of them are doable in their current design. Time will tell? Maybe. :ponder:

 

I pulled out the shell program yet again, and after releasing it on the forums, re-spotted the same error I keep forgetting to fix. For the shell itself, it doesn't matter, but if you want RAM or the TIA to retain any values past a frame you'll have to move the StartOfFrame label from where it is (next to the Reset label) to AFTER the init code. I always forget that. :P

 

This version has it fixed, so I shouldn't have to worry about that again. ;)

 

Anyway, from the shell this time I decided to start simple and build up each version to an ultimate goal. This way each version, while changing in how the kernal is drawn obviously, ends up with some reusable code to carry on. The shell for instance started by having the init code (By Andrew Davies), groundwork for overlays (From the tutorials again, although also seen in other places like Stella ML etc) and the sprite horizontal positioning code. (This incarnation from the Atari Age forums, but again originally seen on Stella)

 

From that, version 0.001 (I expect this to be a long process before I get to my goal ;) ) added in a player similar to what was used in Avalon with the missile sprites overlapping one another. Took me a few tries to get the sprite priority thorugh my head. :x Then I added movement with a joystick reading routine. With that, I found Fun Things happened when the player tried to move off the screen. :D So I added boundary checking which caused a few problems in it's own right. Namely making sure I was checking the proper boundary values and getting the kernal to switch it's little zones fast enough to prevent color bleeding. The only way I noticed the bleeding was because I kept the horizontal colored bars. :twisted:

 

So it was an exercise (although unnecessary ultimately) in thinking efficiently to get rid of it. It was unnecessary only in that I was planning on scrapping the kernal display technique with the next version. But I figured if I couldn't fix that at this point, it'll just be more confusing later on when I start adding in new stuff. :ponder:

 

And so, Version 0.001 (player_demo.bin) looks identical to atari2600-shell.bin with the minor exception of the moveable player.

 

Next up, I'm going to attempt to add the playfield and collision detection. :)

 

blog-4460-1157845476_thumb.jpg blog-4460-1157846844_thumb.jpg

atari2600_shell.zipplayer_demo.bin

 

http://www.atariage.com/forums/index.php?a...;showentry=1985

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...