CAESAR Logo

Catalogue of Arcade Emulation Software - the Absolute Reference

Valid XHTML 1.0! Valid CSS!

X-Arcade

X-Arcade

Large CAESAR Logo

segag80v.c

0.27 [Al Kossow, Brad Oliver]


TODO:

- The games seem to run too fast. This is most noticable with the speech samples in Zektor - they don't match the mouth. Slowing down the Z80 doesn't help and in fact hurts performance.

- Cocktail mode isn't implemented.


Bugs:

- zektor, spacfury: Speech in some sets is too fast and high pitched, compare the speech in the intro of the spacfury sets for example. segac076u1gre Bugfinder


WIP:

- 0.108u1: Aaron Giles fixed inputs in the Sega G80 vector games which were broken in MAME 0.108.

- 0.107u3: Changed sega.c to segag80v.c driver. Complete memory maps derived from schematics.

- 14th April 2006: Aaron Giles - I decided to completely rewrite the Sega vector generator according to the schematics. Turns out I was right. The Sega vector generator lets you specify an angle and length for each vector in a shape, and an overall angle and size for each shape as a whole. This is done by adding the vector and shape angles, computing the sine/cosine, and multiplying them by the vector length and shape size. In MAME, this was done to high precision, using a sine/cosine lookup table with full accuracy, and 32-bit math. On the actual hardware, the sine/cosine lookup table was sigificantly smaller with less resolution, and only the top 9 bits were used out of the multiplcation result. So now if you play any of the Sega vector games, you may notice some jerkiness that wasn't there before. It's most noticeable in the lower window in Star Trek and during the previously mentioned shrinking effect in Zektor. But back to the Universal Sound Board. I figured this wouldn't be too difficult because it had some similarities to the Exidy sound board (used in Venture-era games), and I had already conquered that one many years ago. But the Sega board had its own share of interesting surprises. It is really a hybrid digital/analog system, so I ended up having to emulate a number of RC and CR filters along the various paths. It also used a digital noise source which produced white noise, but then ran it through an interesting series of filters that I just couldn't figure out. Luckily Frank Palazzolo had the insight that it was filtering the white noise into pink noise, and from there I was able to generate a pretty reasonable facsimile of the correct effect. In fact, if I run the sound self-test in Star Trek using the old samples and the new emulation, they are very close to identical apart from volume (maybe not as good as Derrick's stuff, but pretty good). Unfortunately Tac/Scan doesn't quite match up as well as I'd like, but it's actually pretty close. Hopefully with some more advice from the analog experts, I can nail that one soon. After I did that, someone pointed out to me that Pig Newton also used the Universal Sound Board. Sweet! Plugging that it did indeed confirm that the main CPU uploads the sound code to the USB and plays some sound effects at the appropriate time. I love it when a plan comes together.

- 0.104u7: More improvements to the Sega Universal Sound board. Star Trek is almost identical to the samples. Tac/Scan is not that far off, surprisingly. Added new PORT_DIPLOCATION() macro which allows you to specify the physical PCB location of a dipswitch and the switches that correspond to the bits in the DIPSETTING. See sega.c for an example [Aaron Giles].

- 0.104u6: Sega vector game updates [Aaron Giles]: Rewrote vector generator from schematics. Yes, it is supposed to be that jumpy on zooms! Corrected CPU speeds and cleaned up memory maps. Connected AY-8912 to Zektor for missing sound effects. Added emulation of the Universal Sound Board - not yet perfected, but gets rid of the need for samples in Star Trek and Tac/Scan. Tac/Scan sounds pretty wretched now, but Star Trek is close. Fixed CPU clock speed on the speech board, but it appears to be a bit too slow now. This is still work-in-progress. Don't report bugs yet.

- 0.72: Frank Palazzolo added clipping to Sega vector games per the schematics.

- 27th July 2003: Olivier Galibert sent in support for SP0250 sound chip and Sega G80 speech board, adding emulated speech to Astro Blaster, Space Fury, Star Trek and Zektor.

- 0.36b7: Added Custom sound to all games.

- 10th April 1999: Jim Hernandez added some more samples to the Sega vector games.

- 31st March 1999: Marco Cassili fixed and rearranged the dips of Sega vector games.

- 0.27: Added sega.c driver.