CAESAR Logo

Catalogue of Arcade Emulation Software - the Absolute Reference

Valid XHTML 1.0! Valid CSS!

X-Arcade

X-Arcade

Large CAESAR Logo

namcos12.c

0.77 [smf]


TODO:

- Not all games work due to either banking, dma or protection issues.

- Graphics are glitchy in some games.

- Day, date, and year from the RTC appear to be ignored (hour/min/sec are fine). H8 core bug or BIOS doesn't care?

- golgo13 assumes the test switch is a switch, not a button - must hold down F2 to stay in test mode

- Needed dumps (please contact http://unemulated.emuunlim.com or http://targets.mame.net): Aerosmith - Quest for Fame, Attack Pla-Rail, Fighting Spirit Biography 3, Ghoul Panic, Kaiun Quiz, Kart Duel, Oh Bakyuuun, Over Kuhn, Paca Paca Passion Special, Paca Paca Passion 2, Soul Calibur Ver.B, Submarines, Super World Stadium '98, Super World Stadium 2000, Super World Stadium 2001, Techno Drive, TeknoWerk, Tenkomori Shooting, Toukon Retsuden 3, Truck Kyosokyoku and Um Jammer Lammy


NOTES:

- Hardware: Namco System 12 - Arcade PSX hardware

- H8/3002 and Golgo13 support by R. Belmont based on work by The_Author and DynaChicken.


Bugs:

- namcos11.c, namcos12.c various: I noticed that some of the System 12 games run slower than they should at 100% emulated speed. The Tekken3 and Ehrgeiz attract modes are good examples of it. During the Tekken3 attract Paul throws someone over his shoulder, and in MAME it goes very slowly(even though frame counter is between 95-100%), but the real board is very fast during that part. In Ehrgeiz, the matches are much slower than the PSX counterpart(I haven't seen an arcade version). I really doubt Namco/Square would speed the game up so dramatically for the home version... System 11 games on the other hand, seem faster than normal. The Soul Edge MDEC video attract goes very fast compared to the real board. namcos1112081gre Reznor007


WIP:

- 0.111u5: Nathan Woods updated the PSX GPU video driver to use the new BITMAP_ADDR* macros instead of using the line[] array.

- 0.105u2: Nathan Woods fixed the 'Fatal error: Invalid data type' crash in namcos12 driver.

- 0.104u7: smf switched MDEC decoding input from CbCrY to CrCbY, and switched MDEC 15bit output from rgb to bgr.

- 22nd March 2006: smf - One of the least documented parts of the PSX chipset is the MDEC decoder. Bad colours in MDEC was a common occurence in the early days of PSX emulators. This was also due in part to it being pretty much the only time that the 24 bit display mode was ever used, as the GPU can only draw in 15bits. Of all the games in MAME there have only been two games that used 24bit MDEC, the rest used 15bit. The first was Judge Dredd, which looks odd no matter how it's drawn. The second is Tekken Tag Tournament, which has only just started to boot in MAME. When trying to work out what Judge Dredd should look like I assumed that MDEC would be outputting the data in the same format that it would be displayed. I was pretty sure that MAME was drawing the 24bit modes correct because during attract mode in Judge Dredd there was red and blue text displayed in 24bit & 15bit mode. However Tekken Tag Tournament was obviously wrong so I thought I'd double check it against a console. I think Pete had previously said that he thought MAME was wrong displaying 24bit, but after writing a program which displays a full red or green or blue screen it matches my console. That left the MDEC decoding. So I thought I'd take a look at how everyone else did it. Not an easy feat as MAME at least tries to be endian independent and everyone else codes for the here and now. After a bit of messing around I worked out that yes, the red and blue were swapped in other emulators. Now this is odd, because as I said earlier you would have thought Sony would use the same format for decoding as displaying. I took a look at the 15bit decoding, which all the open source emulators ( including MAME ) have the red and blue swapped compared to the order in which they are displayed. This is when it dawned on me that everyone is very likely decoding MDEC incorrectly. MDEC decoding takes YCrCb and converts it to RGB, by swapping Cr & Cb and making MDEC output in the natural format the Tekken Tag Tournament movies look much nicer. This got me thinking though as the Cr & Cb values are weighted differently. If my assumptions were wrong then it could really mess up decoding. One place the MDEC decoding is quite critical is in Tekken. After you select your character an MDEC movie replaces your character. Up until now the levels were wrong and the colours would jump when the movie starts and ends, it's another thing that has been on my todo list for ages. After making the changes the transition is much less noticable, so I think the mystery of the order of the Y Cr & Cb is solved & yes Judge Dredd still looks weird.

- 0.104u5: Olivier Galibert, Duddie and smf added board notes to the Namco System 12 driver.

- 0.99u10: R. Belmont fixed incorrect voices and swapped stereo in System 11/12 games.

- 0.99u1: cync fixed several problems in the H8/3002 core. Improves sound in Namco System 12 and ND-1.

- 0.97u4: PSX/Namco System 12 improvements [smf]: Updated board notes from Guru. Removed rom patches from the namco system 12 driver. Renamed sound program roms. Added support for dma'ing incomplete blocks from MDEC. Added sprites x & y flipping. Caches the decoded tpage fields. mask setting & dma setup updates status fields correctly. Reverse flag only has an effect on original GPU's.

- 0.84u5: smf hooked up NVRAM for Namco system 12 correctly. R. Belmont fixed an issue in the H8/3002 core where the timer start register would mess up timers that were already running. Improves the music tempo for S12 games.

- 0.84u2: R. Belmont improve the Namco System 12 driver: MCU is now emulated rather than HLE'd and MCU peripherals mostly figured out and hooked up. Preliminary sound and music are now present, inputs and coinage are now handled by the MCU, so all bugs related to them are hopefully fixed. Fixed bug with save states. sws99 and pacapp both seem playable now (not sure if due to these changes or smf's core work) so took off GAME_NOT_WORKING for them. Added support for alternate ROM banking protection used by golgo13. Added H8/3002 (14745600 Hz) CPU2 and C352 sound.

- 4th July 2004: R. Belmont - The H8/3002 work continues along. I've fixed a ton of bugs that The_Author left in the original core now.

- 29th June 2004: R. Belmont - Started cleaning up ZiNc's H8/3002 core for MAME submission (this will add sound and fix protection on Namco Classics 1 & 2 and the System 12 games*). Fixed some flag calculations on the ADD opcodes and some "edge cases" on the C352 to improve music in NCV1/2. Still need to fix some issues with the controls in Aqua Rush and Paca Paca.

- 10th June 2003: All available system12 dumps are now emulated in Zinc.

- 29th March 2003: Zinc emulated Namco System 12 games. Still a few graphical problems caused by protection.