Thursday, July 21, 2011

Fingers

Not much done recently due to some lovely arthritis pain in my fingers making it painful to type too much (or play guitar). Feeling a fair bit better now so back to it :)

Friday, June 3, 2011

Lock n Chase

Saw this one whilst watching some youtube reviews..


Obviously still needs the (I believe) gold bars drawing, the door at the top and your doors you can drop to stop the cops.

Saturday, May 28, 2011

Bullet Hell

Spider fighter has been giving me the finger when I've asked it where the X/Y positions of all the bullets are. I've been making sure I've got ALL the necessary info for each of these 2600 games before I move on to continue them to completion but while the enemy and your ship positions have been easy to find, the bullets have not, or at least not been as easy to decipher.

Turns out there are 2 sets of values for each set of bullets (enemy and yours) one is the good old 2600 horizontal move (fine movement) register and the other is (and this is what took me a while to suss) an index into a bunch of different routines at the start of the ROM which handle the timing of when to start displaying the bullets.

The 2600 has no actual X/Y registers for stuff. You start displaying sprites down the screen as the scanline hits it, but the X position is a mix of waiting CPU cycles till you're near where you want the sprite to appear then turning it on whilst also adjusting that very coarse position with the HMx registers. So the Spider Fighter code creates the 2nd list for the X pos as the actual offset into the timing routines...

Almost everything I need for Spider Fighter now :)

Tuesday, May 24, 2011

VCS Envy

Working on this stuff has increased my knowledge of the good old 2600 somewhat.

I already knew how it "worked" as I'd started to write a 2600 emulator for GBA a good few years ago (gave up with games running but display taking waaaaaaaaay too much CPU).

It's such a complex little beastie considering it can't do much. The whole cycle timed stuff which demo coders now think is something clever to do was the norm for running a game on this machine. You've got to update the graphics/colours, check for collisions etc on EVERY scanline. You might only have background on one line, or you might have background, the two players, missiles and the ball, the complexity can become frightening.

All in all it's making me itchy. I want to code something on 2600 and I've got an idea what.. Still, too many other things I want to do and MUST finish first.


Saturday, May 21, 2011

Spiders (from Mars?)

Quick bit of work on another suggested game, Spider Fighter...



Friday, May 20, 2011

Stay a while, stay forev.... wait, no, you can go now.

Just had family visiting so not got much done for the past week.

I did manage to grab the cop frames in the correct order so he doesn't flap about and do crazy stuff now :)

Keystone is going to need some more complex sprite splitting than Berzerk (which in fact has none). There's the possibility of 3 "enemy" objects (the second 2600 player in repeat 3 times mode) on each floor plus the cop, so 3(objects)*4(floors)+1(you)=13, a few more than the C64 has without raster splits. Not a problem though, there's plenty of screen to change registers before the new level of sprites is needed. I might decide to use 8 per level and use the others for the background static objects (blue blocks etc).

The split code for repeating sprites can be used later for Seaquest too :)

Friday, May 13, 2011

Keystone

While I'm working out the collision code for Berzerk I've dropped some preliminary sprites and background graphics into Keystone Kapers..


Just the floors and cop sprite atm, although I've managed to screw up the frames by grabbing them in the wrong order :/

Vid just shows the demo mode (kicks in if you leave the game for a while) where the cop just runs along each level and goes up escalators.