CAESAR Logo

Catalogue of Arcade Emulation Software - the Absolute Reference

Valid XHTML 1.0! Valid CSS!

X-Arcade

X-Arcade

Large CAESAR Logo

taitojc.c

0.81u4 [David Haywood, R. Belmont]


TODO:

- dendeg2 hangs on init step 10.

- The analog controls don't seem to work in landgear. They work in test mode though.

- Landgear has some weird crashes (after playing one round, after a couple of loops in attract mode)

- dendeg2x usually crashes when starting the game (lots of read and writes to invalid addresses)

- All dendeg games have random wrong textures/palettes

- Train board (external sound board with OKI6295) is not emulated


NOTES:

- Hardware: Taito JC System


WIP:

- 0.111u2: Taito JC driver improvements [Ville Linde]: Implemented MC68HC11 communications. Added analog controls via MC68HC11. Various bug fixes and some new opcodes to the TMS320C51 core. Moved video hardware emulation to vidhrdw/taitojc.c. Implemented 3D hardware emulation.

- 25th December 2006: Ville Linde - One of the most interesting parts of the Taito 3D hardware is the math co-processor that has been integrated into one of the Taito custom chips. The coprocessor does two functions. The first function does 3D point projection to 2D, and was quite straightforward to understand from the DSP disassembly. The second function however, required a lot more head scratching. Eventually I figured out that this function is used to calculate polygon intersection calculations while clipping the polygons against the viewport. The reason why yet another math unit is needed may not be clear at first. But once you look at how the math functions work, it becomes more clear. Both of the math functions are dividing something, and a quick look at the TMS320C51 datasheet reveals that it doesn't have a division unit at all. The emulation of the math co-processor, coupled with some additional TMS320C51 bug fixes gives us almost perfectly working 3D.

- 17th December 2006: Ville Linde - I've been working on fixing bugs in the TMS320C51 core and trying to understand the 3D hardware in Taito's JC System. So far I've managed to figure out the polygon format and texture mapping. As a result Side by Side 2 already shows the road polygons and some other stuff.

- 0.107u3: Taito JC update [Ville Linde]: Some general improvements to the driver and added some more opcodes to the TMS320C51 core.

- 0.106u10: Some misc bugfixes to the Taito JC system [Ville Linde].

- 0.106u9: Taito JC driver update [Ville Linde]: Improved M68040 FPU emulation, improved the TMS320C51 core, added 2D graphics emulation, added inputs to all games and properly hooked up sounds in all games. Changed visible area to 512x400 and palettesize to 32768 colors.

- 22nd June 2006: Ville Linde - I have made some major improvements to the Taito JC System driver. First I improved and fixed bugs in the M68040 FPU. Then I found the missing vertical blank interrupt, after which things really started to work. After that, I needed to figure out how the 2D graphics works. Turns out the 2D graphics chip is just a basic object processor, not too different from the one in Konami's Firebeat hardware. Landing Gear and Side by Side 2 already run through their attract modes. Densya De GO! also shows some graphics, but hangs pretty soon. Apparently it needs a bit more of the train controller emulated. Update: R. Belmont pointed out that the red and green color components were swapped. I've updated the screenshots with that fixed.

- 0.105u1: Ville Linde fixed rom loading in all Taito JC games.

- 10th April 2006: Ville Linde - I picked up the Taito JC System driver again in hopes of getting it to do something interesting. The two major roadblocks were the missing FPU stuff from the M68040 core and the missing TMS320C51 DSP core. The TMS DSP emulation already works well enough that the basic communication and ROM tests are already working. There's also enough of the 68040 FPU emulated that the games won't just crash when they hit FPU opcodes. None of the games still show anything interesting graphics-wise, but progress is progress nevertheless.

- 22nd Novmber 2004: Ville Linde - I picked up the Taito JC-System skeleton driver in MAME and have been working on improving that lately. I wrote a MC68HC11 cpu core which is currently about halfway done. I also hacked in some basic support for 68040 in the M68K core. But it needs to be implemented properly before I can actually submit anything. Overall this baby is pretty complex, with 4 cpus and all, so I'm not expecting to see any major breakthroughs in the near future.

- 8th April 2004: David Haywood sent in a preliminary driver for the Taito JC system, and R. Belmont improved it slightly.