CAESAR Logo

Catalogue of Arcade Emulation Software - the Absolute Reference

Valid XHTML 1.0! Valid CSS!

X-Arcade

X-Arcade

Large CAESAR Logo

nmk16.c

0.37b8 [Mirko Buffoni, Richard Bush, Nicola Salmoria, Bryan McPhail]

0.36b2 [Mirko Buffoni, Richard Bush]


TODO:

- NMK004 sound CPU is just (imperfectly) simulated for now.

- There is a handshaking operation happening on boot in most games. It happens on the NMK004 communication ports so I have implemented it in NMK004.c. However, the same handshaking also happen in tharrier, which doesn't have a NMK004! Therefore, it might be another protection device, which sits in the middle between CPU and NMK004.

- Protection is patched in several games.

- In hachamf it seems that the protection device shares some RAM (fe000-fefff) with the main CPU, and the main CPU fetches pointers from that shared RAM to do important operations like reading the input ports. Some of them are easily deduced checking for similarities in macross and bjtwin; however another protection check involves (see the routine at 01429a) writing data to the fe100-fe1ff range, and then jumping to subroutines in that range (most likely function pointers since each one is only 0x10 bytes long), and heaven knows what those should do. On startup, hachamf does a RAM test, then copies some stuff and jumps to RAM at 0xfef00, where it sits in a loop. We patch around that by replacing the reset vector with the "real" one. update: simulated this,see hachamf_mcu_shared_w() & tdragon_mcu_shared_w() for more info about it.

- Hacha Mecha Fighter bg graphics are completely wrong except at the title screen & the level 7.Likely to be a rom issue,the game activates the bgbank when it is on the above two cases.Also the bomb graphics are wrong when the game is in japanese mode...

- Cocktail mode is supported, but tilemap.c has problems with asymmetrical visible areas.

- Music timing in nouryoku is a little off.

- In Bioship, there's an occasional flicker of one of the sprites composing big ships. Increasing CPU speed from 12 to 16 MHz improved it, but it's still not 100% fixed (but the CPU speed has been verified to be 10Mhz??).

- Input ports in Bio-ship Paladin, Strahl

- Sound communication in Mustang might be incorrectly implemented

- Incorrect OKI samples banking in Rapid Hero.


NOTES:

- manybloc: There are writes to 0x080010.w and 0x080012.w (MCU ?) in code between 0x005000 to 0x005690, but I see no call to "main" routine at 0x005504 ! There are writes to 0x08001c.w and 0x08001e.w but I can't tell what the effect is ! Could it be related to sound and/or interrupts ? In the "test mode", press BOTH player 1 buttons to exit. When help is available, press BUTTON2 twice within the timer to "solve".

- mustangb and tdragonb use the Seibu Raiden sound hardware and a modified Z80 program (but the music is intact and recognizable). See sndhrdw/seibu.c for more info on this.


Bugs:

- nmk16.c games: All nmk16 games have priority issues. I remember Reip tried some years ago to fix them but he told me it was a mess. airattck: There's a priority glitch in stage 1 and stage 3. raphero: Graphics priority problem especially in the 3rd stage. nmk16_0111u1gre robiza / Kold666

- airattck, ssmissin: Sound is missing. Tested on 0.112 and 0.112u1. On u1 a music starts playing upon entering a credit and then sound breaks again. Mamesick has posted a fix. airattck0112u1yel Iaspis / twisty / Mamesick


WIP:

- 0.94u2: NMK004 sound simulation [Nicola Salmoria]. Brian Troha fixed NMK16 dipswitches.

- 0.89u6: Pierpaolo Prazzoli updated the NMK16 video. Added sprites priorities (still few problems with priority = 0), fixed raphero and mmacros2 background, fixed manybloc (added scrolls, fixed background gfx) and added background banking in acrobatm.

- 29th May 2002: Gerardo Oporto fixed the dipswitch settings in the nmk16 driver.

- 0.57: Changed bjtwin.c driver to nmk16.c

- 25th April 2001: David Haywood updated the Bombjack Twin driver and got Vandyke playable.

- 2nd April 2001: David Haywood added Thunder Dragon 2 to the Bombjack Twin driver.

- 16th March 2001: Brad Oliver fixed some crash-causing bugs in the Gunnail driver.

- 4th March 2001: Bryan McPhail and David Haywood added some more NMK games to the Bombjack Twin driver but they all suffer from unemulated protection and don't work very well.

- 3rd March 2001: David Haywood added Thunder Dragon to the Bombjack Twin driver.

- 1st March 2001: David Haywood and Nicola Salmoria added Gunnail to the Bombjack Twin driver.

- 25th February 2001: Olivier Galibert added save states support. However, every driver needs to be updated to include the save states.

- 19th October 2000: Gerardo Oporto fixed dipswitches in Strahl and Bio Ship Paladin.

- 18th October 2000: Mirko Buffoni added Saboten Bombers to the Bombjack Twin driver.

- 0.37b8: Merged macross.c with bjtwin.c driver.

- 14th September 2000: Bryan McPhail added Bio-ship Paladin and Strahl to the Bombjack Twin driver.

- 13th September 2000: Nicola Salmoria added Macross II to the Bombjack Twin driver.

- 12th September 2000: Nicola Salmoria fixed the missing Macross background and merged it with the Bombjack Twin driver.

- 10th September 2000: Nicola Salmoria added Nouryoku Koujou Iinkai to the Bombjack Twin driver.

- 22nd August 2000: Nicola Salmoria fixed a 68k bug affecting Bombjack Twin.

- 0.37b5: Added macross.c driver (Mirko Buffoni).

- 23rd July 2000: David Haywood submitted a corrected sprite decryption function for the Macross driver.

- 21st July 2000: Mirko Buffoni sent in a driver for Macross, but it lacks background graphics and sound emulation.

- 0.36b2: Added bjtwin.c driver (Mirko Buffoni - MAME driver, Richard Bush - hardware info).

- 28th July 1999: Mirko Buffoni fixed the sound and dipswitches in Bombjack Twin.

- 27th July 1999: Mirko Buffoni sent in a driver for Bombjack Twin.