Sega Master System / Mark III / Game Gear
Game for Master System
|0.07||27 Mar 2015||sverx||AngunaThePrisonDungeon-SMS-0.07.zip (15KB)|
There is a forum topic for Anguna the Prison Dungeon
This is my attempt at porting to SEGA Master System the Nathan Tolbert's great GBA homebrew "Anguna" http://www.tolberts.net/anguna/ (available also for DS, where it uses the XM replay library I wrote from 2008 on: libXM7 http://wcms.teleion.it/users/cgq/nds/libxm7/ )
Nathan has been very kind in letting me use the original source and he also provided me a lot (a LOT!) of help in understanding how the game engine works. I thought the SMS 8 KB RAM wouldn't be enough to handle the whole game variables when in the vast game 'overworld', but they would be enough at least to handle the Prison Dungeon, which is made up of smaller rooms... so I decided to start the port (using devkitSMS/SMSlib) and see how far this can be pushed.
The biggest hurdle so far is handling the HUD life bar when a dungeon room scrolls vertically. I mean, horizontally it's a breeze, just turn on the horizontal scroll lock VDP feature and that's it. Vertically means redefine the bar tiles making them 'unscroll' (scroll the opposite direction), but also the tilemap is changing, so I have to replace three lines of it when scrolling 8 pixels. Also, I have to mask the upper border of the image so that to make it look like it's scrolling inside a window. This is achieved by turning off and on again the display at specific scanlines.
Unfortunately this is already overkilling. At 60 Hz, when walking in a room scrolling vertically, the first graphical glitches start to appear... to mark that I'm asking too much to the CPU :| So, please, test it at 50 Hz. And on emulators only. When everything turns black you've left the dungeon. Or hit an unnoticed bug.