retroDrive
The Sega™ Simulator
RELEASE NOTES
Copyright © 1998-2000 by Tim Meekins
I haven’t worked on the emulator for nearly six months, so I decided to go ahead and release the latest version. I can’t remember if anything is broken in this version, but more than likely it’s better than any previous version. I’m hoping to get working on the emulator again real soon, as I have some really cool ideas.
Changes:
Welcome to the latest version and it comes with a new name. Probably not the greatest name, but it’s catchy, short, and unique. This version has much more compatibility and faster 32X emulation. I’ve added game state loading but haven’t had time to get saving in for this release. Another great feature is that Zipped roms (and save states) are now supported. For now, only the first compatible file in a zip will be loaded, but I plan on adding a dialog if there is more than one file in the zip (especially for save states.) I had also planned some more Direct-X rendering tweaks, but ran out of time.
Changes:
This is a special test release build of Vegas. I’ve completely updated the rendering engine and I’d like to get as much feedback as possible on how well it works. If you have frame rate issues, please send me e-mail. I’m mainly interested in frame rates when playing Genesis games. 32X emulation is still slow overall, you don’t need to tell me that. Please report CPU, graphics card, and what rendering mode you have problems with. Also mention if full-screen was any different from windows mode. I’m hoping this release is compatible with more graphics cards and is faster. Oh, be sure the game isn’t PAL, as they run at 50fps. Also, with the new updates, I think frame-skip works a bit better.
Speeds on my 2 computers are:
PPro 200, Banshee, 30-40fps
P3 600, GeForce256, 60fps
Changes:
This newest release of Vegas features much better 32X compatibility and improved Genesis compatibility. In addition, the Genesis sound and timing have been tweaked. Many Genesis games are nearly perfect now! The number of non-working games is quite small now! I’ve also created a web page for Vegas and I’ll be updating it regularly with updates.
Changes:
It seems the reception of Vegas has been good and I am happy. Unhappily though, the inclusion of 32X emulation has kept a lot of people from realizing how well the Genesis emulation is. But then, I guess w/o the 32X emulation, Vegas would probably have been lost in the ever increasing list of Genesis emulators.
In my haste to release the first version, I accidentally forgot to list any credits for Vegas. Vegas was entirely written by myself, however, I did “borrow” some code. The 68k core was lifted from an early version of Mame and was written by Bernd Schmidt and Markus Gietzen. I also made some massive changes to the 68k code. The Z80 core was by Marcel de Kogel and the FM synthesis by Tatsuyuki Satoh. All other code was written by myself, including the SH7604 emulation.
This update fixes a few more Genesis games. I believe my Genesis compatibility is very high, though I do have a very short list of games that need more work. If you come across any Genesis games with problems, feel free to let me know, and I’ll add them to my list of problem games. Some games are difficult to fix as the original games have bugs in them, yet they still magically work due to timing quirks in the Genesis hardware. Getting the emulation good enough for these broken games to work w/o breaking every other game is really difficult. I’m not the first to notice these “bugs” since I’ve also found some “fixed” Roms that actually have the bugs patched. So, beware…
This update also fixes a bunch of bugs in the 32X emulation, so a whole bunch more games work. Though, I must admit, the two most wanted games, Knuckles and Virtua Racing and not working yet. I’ve made some small improvements to the performance, but there’s a long ways to go. I just ordered a copy of VTune and Intel’s C compiler, so when that arrives in a few weeks, I’ll start digging deeper into the performance. I may eventually create separate executables for MMX and SSE. Using SIMD pipelining should really help the rendering performance.
Changes:
Version 0.90 is the first public release of Vegas. Vegas started in January 1998 as an experimental project to see if it was possible to emulate the hardware of a gaming system on a home computer. I knew I could do a decent emulation, but I never expected the results to be as good as they eventually were. Why did I wait so long to release Vegas? I never planned on releasing it, though over time the quality and compatibility were high enough that I decided the rest of the world should have the chance to play around with it. What I found most amazing was that the basic emulation was quite trivial. In fact, the total hours of development on Vegas is quite small. The reason for the long stretch of time from start to this eventual release is simply that I’m very busy and months passed with no work being done. Most of Vegas was written over weekends. That said, don’t expect updates at any scheduled date.
What is Vegas? Vegas is an attempt to emulate the Sega Genesis (Sega Mega-Drive) and the Sega 32X. The 32X emulation in Vegas still has a number of compatibility and performance issues, but I feel the Genesis emulation is good enough to finally release. In future releases, I may add Sega Master System and Sega Game Gear emulation. Because I don’t have the time to play every game through to end, I haven’t done thorough testing. Feel free to let me know of any games that don’t work properly, but please don’t e-mail any ROM images.
What is missing from Vegas? Technically, nothing is missing. Vegas emulates every single feature of the core Genesis system (and 32X.) However, controller emulation is limited. Currently I only support keyboard play, but I will eventually add DirectInput support. Another feature I feel that is important, but missing, is saving backup-ram to the computer’s hard drive. Also planned is support for 6-button controllers and the Sega Menacer. These features will eventually be added to Vegas.
How is the joypad mapped?
START Enter
UP Up Arrow
DOWN Down Arrow
LEFT Left Arrow
RIGHT Right Arrow
A Z
B X
C C
Performance and Compatability Issues:
retroDrive uses a 16-bit rendering engine. Any 15/16-bit bit-depth format is supported. However, if you wish to run retroDrive in a window, you will need to set your desktop to 15/16-bit bit-depth. If you run in full screen mode, you don’t need to adjust your desktop depth, however, if you go to windowed mode, the rendering may look funny.
retroDrive uses the computer’s sound card for timing. If you do not have a sound card, then the windows timer will be used instead. However, the windows timer is not very accurate, so frame rates will vary between 56 and 64 fps. If you have a sound card, the frame rate should stay steady at 60 fps. (If you’re playing a PAL [European] game, then replace all references to 60 fps with 50 fps.)
Cool Features
Emulates all rendering features of the Genesis without the need for setting menu options. retroDrive dynamically analyzes the scene being rendered and switches between rendering engines on the fly. This is why some simple games run at higher frame rates than more complex games. Typically, games with column shifting and windowing are the slowest.
16-bit renderer instead of 8-bit renderer allows for shadow and hilight effects. In addition, a blurring effect has been added to simulate the blurry NTSC signal generated by the Genesis.
Automatic detection of country of origin. The country code can be changed from the menus to emulate the Genesis running in different countries. There are some games which have different features depending on which country the hardware is set to. retroDrive properly emulates the timing differences between PAL and NTSC. A future enhancement will be a dialog at load time which shows you which countries the game was written for and you can choose which one you want.
Interlace mode is also emulated. In windowed mode, the number of scanlines is doubled but the image stays stretched to the windowed view. It looks quite nice. In full screen mode, the renderer attempts to emulate interlacing by rendering alternating scanlines. Which scanline is rendered also toggles each frame so you end up with a flickering image quite similar to the actual hardware.
If you have a copy of the Genesis Bios, you can tell retroDrive what it is and every time you run retroDrive, the Bios will boot. Now retroDrive looks just like a Genesis when you turn it on without a cartridge. Please don’t ask me for a copy of the Bios (or any games for that matter.)
32X
For the 32X emulation to work, you need to obtain copies of the Master and Slave BIOS Roms. Once you have these Roms, load them from the File/Configure menu. DO NOT ASK FOR ME THESE ROMS. These ROMs must be in a raw binary format. Once you’ve loaded the roms from the configure menu, retroDrive will remember them and you won’t need to load them again.