FM Towns version sped up.
There is not a 256 color 320x240 video mode, supported by the bios. It's probably possible to set it up using the CRTC registers, but I don't have good enough documentation to do that.
But, I was able to optimize the assembly language blit routines to gain some speed. I haven't used my 386 optimizing skills in 6-8 years. I did some loop unrolling, but was limited by the width of the fonts (8 pixels) and sprites (multiple of 16 pixels). I did optimize the sprite and font transparent blits by reading 2 pixels (DWORD) at a time and writing each pixel seperately, skipping 0 colored pixels (16 bit). I also did some simple stuff like using an 'or' instruction instead of a 'cmp'. It doesn't seem to slow down much (in the emulator), and I haven't tested the updated version on real hardware yet.
I also gained some speed by eliminating the wait for vertical blank, since this seems to be handled by the egb page flipping routines.
The next challenge is finding a way to change the sky color as time passes. I could change the color in the background image, but this would probably cause a noticable slowdown. It might be easier to create multiple copies of the background at startup, but this may take too much memory...


2 Comments:
Im realy impressed to find people who still code on these old great piece of hardware.
Your project looks promising :D, i've done myself some Genesis conding some years ago and it is very interresting.
Keep up the good work! This is interresting.
Thanks for the comments. I hope to bring Frog Feast to many different systems.
Post a Comment
<< Home