/*
Phoenix emulator. Robert Bgniel '98
Z80 core (c) Marat Fayzullin & Marcel de Kogel
Bitmap saving routine (c) Marcel de Kogel

I wrote this emulator as a learning experience. (It doesn't even have a name or version number. :) Some tutorial or whatever suggested that it would be a good game to start with, so i did. It's not really meant to be playable or anything, i'm just putting it on the homepage cause i feel like it. Maybe it can help someone.
This was compiled with DJGPP. Rhide project files are included.
The rom set used is "phoenixt.zip" which can most likely be found at www.davesclassics.com
You can use this source for whatever you want, just drop me a mail if you do. 
M. Fayzullin's and M. de Kogel's copyrights apply to their sources.
Feel free to contact me for any reason at boef@usa.net.

History:
980718 Started.
       CPU working.
       ROM/RAM working.
       Display is a textmode screen.
980719 VESA 640*480*8 mode.
       Backbuffer.
       Load Charset & Display "real" graphics. (Wrong colours.)
980720 Source cleanup. (bigtime..) (Removed Phoenix-specific source from Z80.c)
       Better error-handling (Free up allocated memory even if error occurs.)
       Optimization.
       Now scales vertically for modes smaller than emulation.
       Made it easy to change VESA-mode.
       Save screenmode-config.
       Keyboard-handler.
980722 Hardware-scrolling.
       Optimized some more. (Now it's almost *totally* unreadable..)
       Removed 320*200 mode. It looked awful, especially with scrolling.
980723 Optimized some more. (I was "drawing" a LOT of whitespaces :)
980725 Changed ReadROMs() into a more reusable one.
       Added correct palette.
980727 Changed to Marcel de Kogel's more optimized z80-core. (Major speed increase)
       Hiscore-saving added.
       Screenshot feature added. (Only as "phoenix.bmp")
       
To do:
       Sound. (MAME uses samples. I don't know if it can be done without.)
       Better VESA-handling, ie. check which modes are available on
       user's system.
       Support for alternate romsets. Almost done.
       Dipswitch-settings. (GUI?)
       Pause-feature.
       Clean up the source, it's too messy.

Known bugs:
      There seems to be a small bug with the keyboard-handler,
      when running several times it might "crash" the keyboard.

*/
