Previous 199869 Revisions Next

r26351 Friday 22nd November, 2013 at 05:12:48 UTC by Angelo Salese
Fixed a complement by two bug in V9958 YJK table, fixes for good colors in Puzzle Star / Sexy Boom / some MSX2+ games.

Kludged Puzzle Star (Sang Ho Soft) hang at title screen [Angelo Salese]

new WORKING game
----------------
Puzzle Star (Sang Ho Soft) [Angelo Salese, Wilbert Pol]
[src/emu/video]v9938.c
[src/mame/drivers]sangho.c

trunk/src/emu/video/v9938.c
r26350r26351
281281   for (y=0;y<32;y++) for (k=0;k<64;k++) for (j=0;j<64;j++)
282282   {
283283      // calculate the color
284      if (k >= 32) k0 = (k - 64); else k0 = k;
285      if (j >= 32) j0 = (j - 64); else j0 = j;
284      if (k >= 32) k0 = (64 - k); else k0 = k;
285      if (j >= 32) j0 = (64 - j); else j0 = j;
286286      r = y + j0;
287287      b = (y * 5 - 2 * j0 - k0) / 4;
288288      g = y + k0;
trunk/src/mame/drivers/sangho.c
r26350r26351
3737Sexy Boom's DSW setting verified via Z80 code by stephh
3838
3939TODO:
40- sexyboom hangs at snippet 0x2ca0-0x2ca9, patching 0x2ca7 branch makes it to be fully playable;
41- v9958 screen modes 10/11/12 aren't 100% perfect (wrong pixels in some places);
40- pzlestar hangs at snippet 0x2ca0-0x2ca9, patching 0x2ca7 branch makes it to be fully playable (patched for now);
41- pzlestar title screen uses sprites with screen 12, has wrong colors due of it;
42- sexyboom presumably uses v9958 horizontal scrolling on title screen;
43- sexyboom slows down dramatically, presumably bankswitch related;
4244
4345*/
4446
r26350r26351
6567   DECLARE_WRITE8_MEMBER(pzlestar_mem_bank_w);
6668   DECLARE_READ8_MEMBER(pzlestar_mem_bank_r);
6769   DECLARE_WRITE8_MEMBER(sexyboom_bank_w);
68   DECLARE_DRIVER_INIT(sangho);
70   DECLARE_DRIVER_INIT(pzlestar);
71   virtual void machine_start();
6972   DECLARE_MACHINE_RESET(pzlestar);
7073   DECLARE_MACHINE_RESET(sexyboom);
7174   TIMER_DEVICE_CALLBACK_MEMBER(sangho_interrupt);
r26350r26351
7881   DECLARE_WRITE8_MEMBER(sec_slot_w);
7982};
8083
81
84/*
85   slot 0 selects RAM
86   slot 1 selects ?
87   slot 2 selects code ROMs
88   slot 3 selects data ROMs
89*/
8290void sangho_state::pzlestar_map_banks()
8391{
8492   int slot_select;
r26350r26351
397405   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 )      /* Dipswitch 1:1 Not shown in manual */
398406INPUT_PORTS_END
399407
408void sangho_state::machine_start()
409{
410   m_ram = auto_alloc_array(machine(), UINT8, 0x20000); // TODO: define how much RAM these ones have (MSX2+ can potentially go up to 4MB)
411}
400412
401413MACHINE_RESET_MEMBER(sangho_state,pzlestar)
402414{
r26350r26351
534546   /* 15 empty */
535547ROM_END
536548
537DRIVER_INIT_MEMBER(sangho_state,sangho)
549DRIVER_INIT_MEMBER(sangho_state,pzlestar)
538550{
539   m_ram = auto_alloc_array(machine(), UINT8, 0x20000);
551   UINT8 *ROM = memregion("user1")->base();
552
553   /* patch nasty looping check, related to sound? */
554   ROM[0x12ca7] = 0x00;
555   ROM[0x12ca8] = 0x00;
540556}
541557
542GAME( 1991, pzlestar,  0,    pzlestar, pzlestar, sangho_state, sangho, ROT270, "Sang Ho Soft", "Puzzle Star (Sang Ho Soft)", GAME_NOT_WORKING | GAME_IMPERFECT_COLORS )
543GAME( 1992, sexyboom,  0,    sexyboom, sexyboom, sangho_state, sangho, ROT270, "Sang Ho Soft", "Sexy Boom", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_COLORS )
558GAME( 1991, pzlestar,  0,    pzlestar, pzlestar, sangho_state,  pzlestar,   ROT270, "Sang Ho Soft", "Puzzle Star (Sang Ho Soft)", GAME_NOT_WORKING | GAME_IMPERFECT_SOUND )
559GAME( 1992, sexyboom,  0,    sexyboom, sexyboom, driver_device, 0,          ROT270, "Sang Ho Soft", "Sexy Boom", GAME_IMPERFECT_GRAPHICS )

Previous 199869 Revisions Next


© 1997-2024 The MAME Team