E++ HISTORY (SEE ALSO FUTURE NOTES AT THE BOTTOM) ------------------------------------------------- 1.02 - Minor update, for people who have problems - mainly added more diagnostics. - Improved logging, so if it crashes, you can tell where - logs startup more completely. - Added a framerate display. - Added sound card selection, since autodetection could fail on some clone cards. - No source release for this version. No point. 1.01 - Brought the binary and source releases together. With the exception of the front end, the source can now be considered "finished", so anything added from now on should not need serious changes in the future. Note that the typing has been fixed, to aid portability and readability. - I fixed a stupid bug in the trackball support - it overflowed a byte if you moved the mouse too fast, causing motion in the wrong direction. - Really cleaned up the source code - I'm working on the documentation now, before I add anything else. - I upped the resolution for those games which won't fit in 320x240. It's a bit small, but at least you can see the whole screen. I tried to do a bit of real ModeX support, but didn't get very far. - Made source more easily available via the Web. I'll put a separate documentation archive on there once it's ready (note that the types listed in the inclosed docs are incorrect - see the source for correct types. There are no API chages other than typing, however). 1.0 - No further bugs reported, so I've taken it out of beta. - Added Pokey support, thanks to the brilliant Pokey emulator by Ron Fries. Centipede now has sound. - Added trackball/mouse support to the framework. Centipede now has trackball support. - Spectrum should be a touch faster now, also. 1.0b1 - Update - Some people are sill having problems with the VESA mode. It seems that on some cards UNIVBE only supports banked mode, and on others it only supports linear mode, so I now try both. I also will resort to ModeX if VESA 2 is not available, but until I get real ModeX support, this is slow (you'd need a mid-high Pentium). * Source code released * 1.0b1 - The emulator framework is now complete, so the program has reached beta. The code is nearly ready now, and should be available in a few days. The front-end is still alpha, and is non functional. - Added M6502 emulation, and hence... - Added Centipede! No sound, but should be 100% otherwise (except that the bottom 8 pixels are chopped - I'll fix it). - Character and sprite support is now finished, also. - Various other fixes and code clean-up. 0.08 - The emulator framework is nearly complete now. Internal changes have allowed me to easily add two varient games - Pleiads and Lunar Rescue. - Error logging facility added. If you have problems with the program, then check the Epplog.txt file for errors. - Started work on the frontend. No functionality yet, but the structure is in place. Run E++ with no options to see what it'll look like. If anybody wants to design a good 8x8 or 8x16 font, then contact me. - Fixed a few memory leaks. They wouldn't cause a problem before, but would hurt when the front end is going. - Added a vblank synching graphics driver. The screen refresh of your monitor will be a bit too high, but Phoenix looks much better with vsynch'ing enabled. Use -synch to enable. 0.07 - I have my first non-bitmapped system done: Phoenix. No sound yet, but other than that, it works pretty well. - Re-write of the graphics routines means that VESA 2 linear mode is no longer required, only banked mode, which should be supported by all cards. You need 320x240 resolution support, but I don't think that should be a problem? Let me know. - If your sound card can't be detected, or you don't have one, the emulator can now still run, but without sound. 0.06 - Wasn't planning on another release yet, but I re-did a load of the Spectrum routines, and got really good results. - Spectrum graphics are now much faster, and no longer need to frame skip (it only updated every 1/25s before). I get about 100 fps without throttling on my P133, so you should be able to get full speed on most Pentium-class machines. - The Speccy sound is _much_ better. This is about as good as I think you could want from a sound card. The sound timing is correct, so there is no distortion of the waveform when the Z80 runs fast. The pitch _should_ be correct, but verification would be nice. The sound will be patchy if your machine is too slow to maintain 50fps, though. 0.05a - Special VESA 1.x version. Don't use this unless 0.05 won't work. It'll be a bit slower due to the bank switching (which will really hit the Spectrum driver). - There is some preliminary Phoenix support in this version (since I did a quick unscheduled hack to my working code). It only displays text, instead of the correct characters, and is quite trippy to play. 0.05 - Added support for joysticks, both real and keyboard-emulated. - beefed up main() to allow correct command-line parsing and easy selection of emulator. - Added first arcade machine - Space Invaders. I was going to do Pacman, but I changed my mind. I'll do that next, unless I decide to do Centipede first (to test the 6502). Not bad, it only took a couple of hours to do. - I know now why the Spectrum emulation is so slow, and I can fix it, but since it runs OK on my machine, I might not get around to it for a few days. I was quite pleased that the Invaders emulator runs at 150 fps without throttling, since it means that the basic core should be fast enough. 0.04 - Completed sound implementation. Quality is OK; could do it better, but it would be slower. I might add an option in later versions. - Fixed keyboard bugs, and mapped the ULA to ALL even devices. - Completely new throttling scheme. Will run full speed, but no more, on any capable system. - Hacked a new DOS graphics library - still needs much work to improve speed, but it should be a significant improvement. New library requires VESA 2.0 support. - I'm getting stuck as to how I can get much more speed out of the emulator core, now. I might put the inclusion of an assembly Z80 core higher up the priority list. 0.03 - Major source code restructuring. Significant speed-up, should also now throttle correctly on any computer (throttling is still a hack at the moment, though - this'll come out in the graphics rewrite). - Sound partially emulated for Spectrum, but not actually played yet. The Spectrum should not need to do any more calculation than it is already in order to get full sound. - Altered file names, so they are valid DOS names. 0.02 - Some small alterations. Different throttling routing for faster computers only. 0.01 Pre-release - First public release. Messy and slow. E++ FUTURE ---------- The last big addition is to add a front end of some kind (for setting dip switches, and choosing games and so on). I'll leave command line options in also. A bit of restructuring will allow choice of video modes and other options. Still need to do a ROM librarian, also. At some point I need to get around to adding 6809 and 68000 emulators, and also various sound chips.