CAESAR Logo

Catalogue of Arcade Emulation Software - the Absolute Reference

Valid XHTML 1.0! Valid CSS!

X-Arcade

X-Arcade

Large CAESAR Logo

system16.c

0.33b3 [Mirko Buffoni, Thierry Lescot, Nao, Marco Cassili]


TODO:

- tturf and tturfu have some invalid data written to the UPD7759. I think this causes the 'pop' sound when level 1 starts.

- tturfbl has some serious problems with tilemap scrolling

- bayroute has a bad sprite in the door of the level 1 boss

- altbeast writes to mirrored sprite RAM at $441000

- tturfu has bad single sprite frame when main character walks

- dduxbl has some 'stuck' sprites


NOTES:

- toryumon RAM test accesses mirrored work RAM. Maybe there's a better way to support this than using AM_MASK.

- I separated the fpoint and fpointbl,fpointbj machine drivers as the latter two have different sound hardware, but the original does not. I think this creates a dependancy where fpointbl.zip needs flpoint.001 from fpointbj.zip, as fpointbl uses fpoint ROMs (it's parent), it's own, and the sound ROM from fpointbj. So add fpoint.001 to fpointbl.zip for it to work. I made fpointbl the parent of fpointbj so it would use the proper memory map for the sound hardware.


VIDEO HARDWARE NOTES:

- Better abstraction of tilemap hardware is needed; a lot of this mess could and should be consolidated further

- Many games have ROM patches - why? let's emulate protection when possible

- Several games fail their RAM self-test because of hacks in the drivers

- Many registers are suspiciously plucked from working RAM

- Several games have nvram according to the self test, but we aren't yet saving it

- Many games suffer from sys16_refreshenable register not being mapped

- Road-rendering routines need to be cleaned up or at least better described

- Logical sprite height computation isn't quite right - garbage pixels are drawn

- Screen orientation support for sprite drawing

- Sprite drawing is unoptimized

- End-of-sprite marker support will fix some glitches

- Shadow and partial shadow sprite support

- To achieve sprite-tilemap orthogonality we must draw sprites from front to back; this will also allow us to avoid processing the same shadowed pixel twice.


WIP:

- 0.111u2: Mamesick fixed several bugs in the old System 16 bootleg code.

- 0.88u7: Splitted system16.c into segas16a.c and system16.c

- 0.88u6: Aaron Giles improved the video, Cotton title screen looks better but game currently suffers from other issues.

- 0.88u5: Splitted system16.c into segas16b.c and system16.c

- 16th November 2004: Aaron Giles - Made some improvements to the Sega drivers, including support for the Dynamic Memory Maps and some video fixes, Cotton looks a bit better in some ways now.

- 0.88u5: Aaron Giles updated the System 16 driver. Some bits better, some bits worse for now.

- 0.88u1: Changed palettesize to 8192 colors in some games.

- 0.88: Adjust System16 FM/ADPCM balance (thanks to Mame32Plus).

- 0.87u3: Olivier Galibert added some hooks to C 68k core in preparation for Sega decryption updates.

- 15th March 2004: Charles MacDonald made various fixes to riotcity, aurail, altbeast and bayroute. Added missing coin control to sys16_coinctrl_w. Removed 'extra' RAM in some drivers and replaced with sys16_tilebank_w.

- 0.75: Changed Z80 CPU2 clock speed to 4MHz.

- 0.74u2: Changed YM2151 clock speed to 4MHz.

- 0.72u1: Acho A. Tang made temporary fixes to a few of the System 16 driver problems (sound banking for example) Note, the driver is still being rewritten these are only minor 'fixes' to improve things a bit until the rewrite is complete.

- 9th February 2003: Acho A. Tang fixed various problems in the uPD7759 sound chip emulation, including a crash in the System16 driver and missing and/or incorrect sounds in TMNT, P.O.W. and '88 Games.

- 22nd January 2003: Acho A. Tang submitted another few fixes to the Sega System 16 driver.

- 21st January 2003: Acho A. Tang fixed some bugs in the Sega System 16 driver.

- 10th July 2002: Bryan McPhail fixed some small bugs in the System 16 driver.

- 0.61: Changed palettesize from 2048 to 4096 colors.

- 7th May 2002: Bryan McPhail fixed a few bugs in the Sega System 16 driver and added the shadows back to Outrun and others.

- 1st August 2001: Olivier Galibert reported some progress with the System 16 driver rewrite.

- 3rd December 2000: Phil Stroffolino sent in a System16 driver update with several bugfixes and cleanups.

- 0.37b9: Changed palettesize from 4096 to 2048 colors.

- 10th October 2000: Phil Stroffolino sent in a Sega System16 update and added After Burner and After Burner II support thanks to Dave.

- 17th February 2000: Andrew Prime fixed SegaPCM sound in the System16 drivers.

- 31st January 2000: Andrew Prime added Toryumon to the System16 driver and cleaned it up a bit.

- 0.36b15: Andrew Prime fixed System 16 games in 16-bit video modes. With -depth 16, shadows are also color accurate, otherwise the old gray scale shadows are used.

- 16th August 1999: Andrew Prime sent in a nice System 16 update with Enduro Racer support and Outrun graphics problems fixed.

- 0.36b2: Hiromitsu Shioya added Sega PCM and RFC68 sound emulators, used by System 16. Andrew Prime fixes the System 16 games and most games have sound now.

- 3rd August 1999: Andrew Prime sent in a huge System 16 driver update, with Hang-On graphics fixed and working drivers for Bay Route, Outrun, Space Harrier and Super Hang-On. Big thanks go out to Thierry Lescot and Nao for freeing S16AE sources.

- 0.36b1: Andrew Prime major improve the System 16 driver, most games are working now. Many still lack sound though. Phil Stroffolino added a new sprite manager, used in System 16, Ninja Gaiden, Shoot Out and Blood Bros.

- 5th May 1999: Marco Cassili fixed some dips in the System 16 drivers.

- 31st March 1999: Phil Stroffolino fixed the sprites of Passing Shot.

- 0.35b9: Phil Stroffolino converted the System 16 drivers to use the TileMap system - they are now cleaner, faster, and support screen rotation.

- 0.35b2: Howie Cohen support uPD7759 sound in Golden Axe, Shinobi, Passshtb, Alien Syndrome, Altered Beast and others.

- 0.34b4: Removed altbeast.c, goldnaxe.c and shinobi.c driver. Phil Stroffolino support sound in all of the working System 16 games. Added Z80 (4096000 Hz) CPU2 and YM-2151 (4096000 Hz) sound.

- 0.34b3: Merged altbeast.c, goldnaxe.c and shinobi.c to system16.c driver. Phil Stroffolino improved the System 16 drivers.

- 0.33b7: Aaron Giles added dynamic palette to the System 16 games.

- 0.33b4: Phil Stroffolino made some fixes to the System 16 games.

- 0.33b3: Added altbeast.c, goldnaxe.c and shinobi.c driver.