CAESAR Logo

Catalogue of Arcade Emulation Software - the Absolute Reference

Valid XHTML 1.0! Valid CSS!

X-Arcade

X-Arcade

Large CAESAR Logo

jalmah.c

0.69 [Angelo Salese]


TODO:

- I think that the 0xf0000-0xfffff area is shared with the MCU because: The first version of the MCU programs (daireika/mjzoomin) jump in that area. Then the MCU upload a 68k code;the programs are likely to be the same for all the games, for example if the program jumps to $f0020 it means a sample request. Input ports located there.Program doesn't check these locations at P.O.S.T. and doesn't give any work ram error. Additionally all the games have a MCU protection which involves various RAM areas, that controls mahjong panel inputs.Protection is simulated by adding a value to these RAM areas according to what button is pressed.

- Understand what are RANGE registers for.They seems to be related to the scroll registers.

- In all the games there are square gaps during gameplay.

- Fix kakumei2 GFX3 rom region,maybe bad dump (half length)?

- Fully understand priorities...

- Fix daireika/urashima GFX rom loading.

- Fix the dip-switches in the first version of this board.

- There could be timing issues caused by MCU simulation at $80004.

- daireika/kakumei2 have problems with the tx layer vertical scrolling during the attract mode, likely to be a paging issue...


Notes (1st MCU ver.)

- $f000e is bogus,maybe the program snippets can modify this value,or the MCU itself can do that,returning the contents of D0 register seems enough for now... Update: Improved it for the new mcu simulation,now it pulls all the values from 0x00 to 0x0f,it seems

- $f030e is a mirror for $f000e in urashima.

- Why urashima A0/7 registers parameters seems to have wrong source/destination addresses during MCU operations?Different HW?

- I need more space for MCU code...that's why I've used an extra jmp when entering into mcu code,so we can debug the first version freely without being teased about memory space... BTW,the real HW is using a sort of bankswitch or I'm missing something?

- $f0020 is for the sound program,same for all games,for example mjzoomin hasn't any clear write to $80040 area and the program jumps to $f0020 when there should be a sample.

- urashima scroll registers aren't used at all.Investigate on it...

- mjzoomin controls during the gameplay don't react as expected,something to do with the protection(it probably reads a button pressed).


NOTES:

- Driver based on early work by David Haywood.

- Hardware is similar to the NMK16 board, but without sprites.

- Hardware: Jaleco Mahjong Games (Board: MJ-8956)


WIP:

- 0.106u3: More fixes/improvements to jalmah.c dipswitches [Roberto Fresca].

- 27th March 2005: Angelo Salese - Improved yet more the MJ-8956 driver. Now every game on this driver have an improved protection handling (i.e controls are less buggy), plus various improvements here and there. Also here's the first working shot of Urashima Mahjong, finally starting to show something...

- 0.91u2: Angelo Salese fixed a crash in jalmah.c

- 0.88u5: Angelo Salese updated the jalmah.c driver again.

- 0.88u4: Angelo Salese fixed various stuff with the protection in the first version of this hardware. This includes perfect color protection emulation,preliminary sound & preliminary tile transfer emulation.

- 0.88u1: Angelo Salese further improved the first version protection. Now you can boot in urashima, mjzoomin and daireika, with wrong colors(data is extracted from MCU code) and wrong tilemap positioning(these games uses the RANGE register, which needs further investigation).

- 0.87u3: Angelo Salese improved the jalmah.c driver. Changed 68000 CPU1 clock speed to 8MHz in all games.

- 0.86: Angelo Salese updated the Jaleco Mahjong driver. Some games are *almost* playable but still have protection issues. Changed visible area to 256x224.

- 0.85u2: Angelo Salese fixed various stuff with the jalmah.c driver, including suchipi booting, improved the video emulation a bit & attempted to add controls. Changed MSM6295 clock speed to 24242 Hz.

- 0.81u4: Angelo Salese updated the driver. kakumei and kakumei2 now boot but neither are playable due to protection.