Misplaced v2019.05.25 (Genesis Game)

Misplaced is a meditative puzzle game for the Sega Mega Drive / Sega Genesis by RetroSouls. There is an English but also an Russian build. Please consider a donation to the team.

Misplaced Teaser Sega MegaDrive\Genesis game

Watch this video on YouTube.


My name is Hara…

Every day I start in the same way, I wake up on a small strange island that hovers somewhere in the clouds. And today one of these identical days…

Galaga 2600 v2019.06.07 (Demo) (Atari 2600 Game)

If you are looking for a rather nice and excellent Galaga remake for your Atari VCS you may thank johnnywc for picking up this thought and providing Galaga 2600. Right now the game is about 99% complete. Currently the team targets a release for sometime in late 2019, possibly at the Portland Retro Gaming Expo in October 2019. Get the demo ROM while it’s hot!

Galaga 2600 – Atari 2600 (VCS) 2019 game – Stella Gameplay – DVDfeverGames

Watch this video on YouTube.

Ramless Pong (Atari 2600 Game)

JeremiahK is a big fan of challenges as he coded a Ramless Pong game in 1kb only, which basically does not use any onboard RAM.

Release notes:

You need to be some sort of masochist to code for the VCS, because the system is so limiting. One of its most well-known limitations is the mere 128 bytes of RAM on board. Programmers have spent ages seeing what is possible using these 1024 bits of information.

So, I thought, why not limit myself to the extreme? I challenged myself to make a complete game using absolutely NONE of the on-board RAM.

And I did it! It took a lot longer to actually finish than I had anticipated, but I have a fully-functional 2-player pong clone using none of the RAM, namely without addressing anything within $80-$FF or any of its mirrors, neither reading nor writing. This should work perfectly on a system with the RAM disabled or otherwise re-routed.

Since I am not using RAM, I am only using the CPU registers for storing information. I can only use X and the stack pointer for storage, though, while A and Y take on more temporary roles. I used T1024T and INTIM to temporarily store data while swapping X with the SP, which is neccessary twice per frame.

The SP normally holds the scores (both values from 0-10) encrypted into 7 bits, with the high bit controlling the vertical speed of the ball. The X register normally holds the vertical position of the ball (0-95), with the high bit controlling the vertical direction of the ball. X is also used to trigger “score mode”, where a sound is played for about half a second before switching to “serve mode”. These are simply special X values that cannot occur during a rally.

The Interrupt flag is used to control the horizontal direction of the ball. Since there is no way to test the value of this flag, I am using the stack to push the CPU state to NUSIZ0. GRP0 is used for the score graphics, and since it never moves, I can use a simple collision detection against the playfield to determine what the Interrupt flag is.

The ball’s horizontal position is not stored, as it is moved with HMOVE. All other game mechanics are done with either checking the bounds of the data, or checking collisions between objects. If you disable different graphics objects, strange things will happen!

In attract mode, the screen color cycles, and if you have the BW/COLOR switch set to COLOR, it keeps the color on game reset, otherwise it resets to black and white.

This also just happens to fit within 1K of space. I could probably squeeze a few more bytes out to maybe add changeable paddle sizes using the difficulty switches, but I like it as it is.