CAESAR Logo

Catalogue of Arcade Emulation Software - the Absolute Reference

Valid XHTML 1.0! Valid CSS!

X-Arcade

X-Arcade

Large CAESAR Logo

zn.c

0.36RC1 [smf]


STATUS:

- nbajamex: Black screen

- jdredd: OK (missing guns)

- jdreddb: OK (missing guns)

- primrag2: locks up when starting a game

- sfex2: OK (random crashes on garuda)

- sfex2j: OK (random crashes on garuda)

- strider2: OK (random crashes on bosses)

- stridr2a: OK ( random crashes on bosses )

- shiryu2: OK (random crashes on bosses)

- bldyror2: OK (bad dump?)

- glpracr2: Locks up when starting a game/entering test mode

- glprac2j: Locks up when starting a game/entering test mode

- glprac2l: Locks up when starting a game/entering test mode

- flamegun: OK, geometry issues

- flameguj: OK, geometry issues

- sfchamp: Stuck in test mode

- sfchampj: Stuck in test mode

- ftimpcta: OK, geometry issues

- mgcldate: Stuck in test mode

- taitogn: Shows gnet logo

- All others: OK


NOTES:

- Driver: QSound emulation based on information from the cps1/cps2 driver, Amuse & Miguel Angel Horna. Taito FX1a sound emulation based on information from the Taito F2 driver.

- Hardware: The ZN1/ZN2 boards are standard boards from Sony. Extra sound h/w is included on the rom board. The BIOS is protected in all the games that run on this hardware. During boot up the BIOS decrypts parts of itself into ram using a device connected to the PSX controller port. As this is not emulated yet you only get the boot up colours.

- Capcom ZN1/ZN2: The QSound hardware is different to cps2 as it uses an i/o port and nmi's instead of shared memory. The driver uses 8bit i/o addresses but the real ZN1 hardware may use 16bit i/o addresses as the code always accesses port 0xf100. The ZN2 code however seems to vary the top eight bits of the address, this may or may not be important but it is currently ignored.

- The Gallop Racer dump came from a Capcom ZN1 QSound board but there were no QSound program/sample roms & the game doesn't appear to use it. Tecmo went on to produce games on their own boards.


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 ZN 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.

- 26th January 2006: R. Belmont - As most people understand by now, the ZiNc arcade emulator runs games based on varients of the original 1995 Sony PlayStation hardware. For a variety of reasons (one being just to see what happened), I've done some initial work towards having it also emulate the base home console itself. The 3 major points of difference are the CD-ROM drive's type (custom Sony vs. IDE or SCSI in the arcade boards that used CDs), the memory cards, and the joypads. I hooked up a CD-ROM capability by loading and calling out to an ePSXe-compatible CD plugin and almost immediately started getting some cool things to happen. Here's a few: Silent Hill: Boot warning Title, Wipeout XL: Title In-game, Tekken: Galaga (loading)In-game, Crash Bandicoot: Title, Time Crisis: Title In-game and Madden NFL '97: Main menu In-game. Please note that the final fate and design of this feature are not yet decided, so if you're definitely interested in shaking things up a little in PSX emulation (it's been kinda dead for a while, hasn't it?), voice your support on the official ZiNc forum at bannister.org.

- 0.87u3: smf hooked up GNET bios roms so boot screen shows.

- 0.87u1: smf fixed ZN1/ZN2 big endian.

- 26th July 2004: Barry Rodewald sent in an update to the ZN driver fixing the ROM loading of the QSound sample ROMs, improving the music in Capcom ZN games.

- 0.84: smf added Japanese translations of Magical Date title, fixed sfchamp/sfchampj parent/clone relationship, emulates Taito-FX1 watchdog properly, fixed System 11 NVRAM hookup, added a kludge to start Sonic Wings Limited in attract mode, fixed some issues with vertical display start/end registers, added horizontal start/send register emulation and fixed sound in QSound games.

- 0.83: smf fixes Heavens Gate and Super Football Champ and added Taito FX-1 watchdog (address is unconfirmed, but hopefully soon) and horizontal start/end.

- 19th May 2004: R. Belmont - ZN1 / ZN2 status: Progress has been made on breaking the ZN1/ZN2 protection chip, which seems to contain an 8 byte table. With this in mind, we need access to all the ZN1/ZN2 game PCBs to dump those protection chips on the main boards and game boards. The main board protection is per BIOS. Meaning there is only one used for each BIOS type. The game board protection chip is different for each game.

- 8th April 2004: smf sent in another update to the 24-bit MDEC support in the PSX driver.

- 5th April 2004: smf added 24-bit display support to the PSX driver, as required by Judge Dredd.

- 0.81u3: smf and R. Belmont made more various ZN updates. Several games are improved (Brave Blade, Judge Dredd etc.) but still need work. Changed the number of buttons to 6 again in all games.

- 3rd April 2004: Olivier Galibert fixed the ZN protection chip emulation so more games boot now.

- 0.81: smf and R. Belmont made various ZN related updates. Several games now display more, for example primrag2 plays the intro movie. Added 'Freeze' dipswitch and changed the number of buttons to 3.

- 9th March 2004: Guru - Now that many of the ZN security chips are dumped, we're beginning to see some action on screen, but only in Gallop Racer so far. The majority of the remaining ZN1 games have further protection that prevents them from working right now. But the ones that run on the Capcom ZN1 hardware will work now. Unfortunately we only have the protection chip for Gallop Racer, so only this one can work at the moment. We really need the remaining ZN security chips to get further with the emulation of the other games.

- 6th March 2004: Guru - Updated the ZNx Dump Status page, plus added some pics to show how it's done. If you have those remaining undumped ZN games and want to loan them for dumping, or want to donate towards the other completely undumped ZN1 games, contact me.

- 0.80: Added 'Service Mode' dipswitch.

- 3rd March 2004: smf did a bit of re-organizing and cleanup on the ZN driver.

- 1st March 2004: Brian A. Troha fixed ROM loading for a few games in the ZN driver. smf also sent some updates to the ZN driver.

- 0.79u3: Added PSX_SPU sound to all games.

- 0.79u1: Changed PSX_CPU CPU1 clock speed to 16934400 Hz and visible area to 640x480.

- 5th December 2003: Guru - Currently none Taito GNET cart are dumped because we're still working on a custom method to dump the carts directly (i.e. without opening them up etc). Because they use some kind of software locking mechanism, they can not be dumped by reading the individual ROMs inside the carts. Also, opening them up destroys the cart housing so the cart isn't usable afterwards. We are making progress, but it's not completed yet. So at the moment, this is just a simple list to keep track of what is still needed.

- 11th August 2003: Guru - A Taito GNET motherboard arrived from Mameworld.

- 0.36RC1: Added zn.c driver. Currently only qsound is emulated, based on the cps1/cps2 driver.