Previous 199869 Revisions Next

r21178 Tuesday 19th February, 2013 at 10:27:29 UTC by Jonathan Gevaryahu
deniam.c: Fixed OKI sound banking in Logic Pro 2 and removed IMPERFECT_SOUND flag. [Lord Nightmare]
[src/mame/drivers]deniam.c

trunk/src/mame/drivers/deniam.c
r21177r21178
1010GO!GO!           deniam-16b 1995/10/11
1111Logic Pro        deniam-16b 1996/10/20
1212Karian Cross     deniam-16b 1997/04/17
13LOTTERY GAME     deniam-16c 1997/05/21
13LOTTERY GAME     deniam-16c 1997/05/21 UNDUMPED
1414Logic Pro 2      deniam-16c 1997/06/20
15Propose          deniam-16c 1997/06/21
15Propose          deniam-16c 1997/06/21 UNDUMPED
1616
1717They call the hardware "deniam-16", but it's actually pretty much identical to
1818Sega System 16.
r21177r21178
2121Notes:
2222
2323- The logicpr2 OKIM6295 ROM has four banks, but the game seems to only use 0 and 1.
24  (the latter two banks are identical/nearly so to the first two?)
2425- logicpro dip switches might be wrong (using the logicpr2 ones)
2526- flip screen is not supported but these games don't use it (no flip screen dip
2627  and no cocktail mode)
r21177r21178
6970   device_t *device = machine().device("oki");
7071   if (ACCESSING_BITS_0_7)
7172   {
73      if ((data&0xFE) != 0) popmessage("OKI bank was not 0 or 1! contact MAMEDEV!");
7274      okim6295_device *oki = downcast<okim6295_device *>(device);
7375      oki->set_bank_base((data & 0x01) ? 0x40000 : 0x00000);
7476   }
r21177r21178
119121   AM_RANGE(0xc40000, 0xc40001) AM_DEVREADWRITE8("oki", okim6295_device, read, write, 0x00ff)
120122   AM_RANGE(0xc40002, 0xc40003) AM_READWRITE(deniam_coinctrl_r, deniam_coinctrl_w)
121123   AM_RANGE(0xc40004, 0xc40005) AM_WRITE(deniam_irq_ack_w)
124   AM_RANGE(0xc40006, 0xc40007) AM_WRITE(deniam16c_oki_rom_bank_w)
122125   AM_RANGE(0xc44000, 0xc44001) AM_READ_PORT("SYSTEM")
123126   AM_RANGE(0xc44002, 0xc44003) AM_READ_PORT("P1")
124   AM_RANGE(0xc44004, 0xc44005) AM_READ_PORT("P2") AM_WRITENOP
125   AM_RANGE(0xc44006, 0xc44007) AM_READNOP AM_WRITE(deniam16c_oki_rom_bank_w) /* read unused? */
127   AM_RANGE(0xc44004, 0xc44005) AM_READ_PORT("P2")
128   AM_RANGE(0xc44006, 0xc44007) AM_READNOP /* read unused? extra input port/dipswitches? */
126129   AM_RANGE(0xc40008, 0xc4000b) AM_DEVWRITE8_LEGACY("ymsnd", ym3812_w, 0xff00)
127130   AM_RANGE(0xc4400a, 0xc4400b) AM_READ_PORT("DSW") /* probably YM3812 input port */
128131   AM_RANGE(0xff0000, 0xffffff) AM_RAM
r21177r21178
262265
263266void deniam_state::machine_reset()
264267{
265   /* logicpr2 does not reset the bank base on startup */
268   /* logicpr2 does not reset the bank base on startup, though it probably
269   doesn't matter since the coinup sfx (sample borrowed from 'tyrian' on PC)
270   exists in both banks; it properly sets the bank as soon as the ufo sfx
271   plays or a player character is selected on the character select screen */
266272   machine().device<okim6295_device>("oki")->set_bank_base(0x00000);
267273}
268274
r21177r21178
431437GAME( 1996, logicpro, 0,        deniam16b, logicpr2, deniam_state, logicpro, ROT0, "Deniam", "Logic Pro (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
432438GAME( 1996, croquis,  logicpro, deniam16b, logicpr2, deniam_state, logicpro, ROT0, "Deniam", "Croquis (Germany)", GAME_SUPPORTS_SAVE )
433439GAME( 1996, karianx,  0,        deniam16b, karianx, deniam_state,  karianx,  ROT0, "Deniam", "Karian Cross (Rev. 1.0)", GAME_SUPPORTS_SAVE )
434GAME( 1997, logicpr2, 0,        deniam16c, logicpr2, deniam_state, logicpro, ROT0, "Deniam", "Logic Pro 2 (Japan)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
440GAME( 1997, logicpr2, 0,        deniam16c, logicpr2, deniam_state, logicpro, ROT0, "Deniam", "Logic Pro 2 (Japan)", GAME_SUPPORTS_SAVE )

Previous 199869 Revisions Next


© 1997-2024 The MAME Team