konmedal: additional hookups for shuriboy, POST now displays [R. Belmont]
This commit is contained in:
parent
0ca762ea61
commit
2a31d476e6
@ -31,6 +31,7 @@ Konami Custom chips:
|
||||
#include "sound/okim6295.h"
|
||||
#include "sound/k051649.h"
|
||||
#include "video/k054156_k054157_k056832.h"
|
||||
#include "video/k052109.h"
|
||||
#include "video/konami_helper.h"
|
||||
#include "screen.h"
|
||||
#include "speaker.h"
|
||||
@ -42,6 +43,7 @@ public:
|
||||
: driver_device(mconfig, type, tag),
|
||||
m_maincpu(*this, "maincpu"),
|
||||
m_k056832(*this, "k056832"),
|
||||
m_k052109(*this, "k052109"),
|
||||
m_palette(*this, "palette"),
|
||||
m_ymz(*this, "ymz"),
|
||||
m_oki(*this, "oki")
|
||||
@ -65,6 +67,9 @@ public:
|
||||
INTERRUPT_GEN_MEMBER(konmedal_interrupt);
|
||||
K056832_CB_MEMBER(tile_callback);
|
||||
|
||||
K052109_CB_MEMBER(shuriboy_tile_callback);
|
||||
INTERRUPT_GEN_MEMBER(shuriboy_interrupt);
|
||||
|
||||
protected:
|
||||
virtual void machine_start() override;
|
||||
virtual void machine_reset() override;
|
||||
@ -73,6 +78,7 @@ protected:
|
||||
private:
|
||||
required_device<cpu_device> m_maincpu;
|
||||
optional_device<k056832_device> m_k056832;
|
||||
optional_device<k052109_device> m_k052109;
|
||||
required_device<palette_device> m_palette;
|
||||
optional_device<ymz280b_device> m_ymz;
|
||||
optional_device<okim6295_device> m_oki;
|
||||
@ -159,6 +165,13 @@ uint32_t konmedal_state::screen_update_konmedal(screen_device &screen, bitmap_in
|
||||
|
||||
uint32_t konmedal_state::screen_update_shuriboy(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
|
||||
{
|
||||
bitmap.fill(0, cliprect);
|
||||
screen.priority().fill(0, cliprect);
|
||||
|
||||
m_k052109->tilemap_draw(screen, bitmap, cliprect, 0, 0, 1);
|
||||
m_k052109->tilemap_draw(screen, bitmap, cliprect, 1, 0, 2);
|
||||
m_k052109->tilemap_draw(screen, bitmap, cliprect, 2, 0, 4);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -233,6 +246,14 @@ ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( shuriboy_main, AS_PROGRAM, 8, konmedal_state )
|
||||
AM_RANGE(0x0000, 0x7fff) AM_ROM AM_REGION("maincpu", 0)
|
||||
AM_RANGE(0x8000, 0x87ff) AM_RAM
|
||||
AM_RANGE(0x9800, 0x987f) AM_DEVREADWRITE("k051649", k051649_device, k051649_waveform_r, k051649_waveform_w)
|
||||
AM_RANGE(0x9880, 0x9889) AM_DEVWRITE("k051649", k051649_device, k051649_frequency_w)
|
||||
AM_RANGE(0x988a, 0x988e) AM_DEVWRITE("k051649", k051649_device, k051649_volume_w)
|
||||
AM_RANGE(0x988f, 0x988f) AM_DEVWRITE("k051649", k051649_device, k051649_keyonoff_w)
|
||||
AM_RANGE(0x98e0, 0x98ff) AM_DEVREADWRITE("k051649", k051649_device, k051649_test_r, k051649_test_w)
|
||||
AM_RANGE(0xa000, 0xbfff) AM_RAM // readback window for ROM?
|
||||
AM_RANGE(0xc000, 0xffff) AM_DEVREADWRITE("k052109", k052109_device, read, write)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static INPUT_PORTS_START( konmedal )
|
||||
@ -408,10 +429,23 @@ Other custom chip: 051550
|
||||
Dips: 2 x 8 dips bank
|
||||
*/
|
||||
|
||||
K052109_CB_MEMBER(konmedal_state::shuriboy_tile_callback)
|
||||
{
|
||||
*code |= ((*color & 0x03) << 8) | ((*color & 0x10) << 6) | ((*color & 0x0c) << 9) | (bank << 13);
|
||||
// *color = m_layer_colorbase[layer] + ((*color & 0xe0) >> 5);
|
||||
}
|
||||
|
||||
INTERRUPT_GEN_MEMBER(konmedal_state::shuriboy_interrupt)
|
||||
{
|
||||
if (m_k052109->is_irq_enabled())
|
||||
device.execute().set_input_line(0, HOLD_LINE);
|
||||
}
|
||||
|
||||
static MACHINE_CONFIG_START( shuriboy )
|
||||
/* basic machine hardware */
|
||||
MCFG_CPU_ADD("maincpu", Z80, XTAL_24MHz / 3) // divisor unknown
|
||||
MCFG_CPU_PROGRAM_MAP(shuriboy_main)
|
||||
MCFG_CPU_VBLANK_INT_DRIVER("screen", konmedal_state, shuriboy_interrupt)
|
||||
|
||||
/* video hardware */
|
||||
MCFG_SCREEN_ADD("screen", RASTER) // everything not verified, just a placeholder
|
||||
@ -423,8 +457,13 @@ static MACHINE_CONFIG_START( shuriboy )
|
||||
MCFG_SCREEN_PALETTE("palette")
|
||||
|
||||
MCFG_PALETTE_ADD("palette", 8192) // not verified
|
||||
MCFG_PALETTE_FORMAT(xBBBBBGGGGGRRRRR)
|
||||
MCFG_PALETTE_ENABLE_SHADOWS()
|
||||
MCFG_PALETTE_ENABLE_HILIGHTS()
|
||||
|
||||
// 051962 + 052109
|
||||
MCFG_DEVICE_ADD("k052109", K052109, 0)
|
||||
MCFG_GFX_PALETTE("palette")
|
||||
MCFG_K052109_CB(konmedal_state, shuriboy_tile_callback)
|
||||
|
||||
MCFG_MACHINE_START_OVERRIDE(konmedal_state, shuriboy)
|
||||
|
||||
@ -482,7 +521,7 @@ ROM_START( shuriboy )
|
||||
ROM_REGION( 0x10000, "maincpu", 0 ) /* main program */
|
||||
ROM_LOAD( "gs-341-b01.13g", 0x000000, 0x010000, CRC(3c0f36b6) SHA1(1d3838f45969228a8b2054cd5baf8892db68b644) )
|
||||
|
||||
ROM_REGION( 0x40000, "gfx1", 0 ) /* tilemaps */
|
||||
ROM_REGION( 0x40000, "k052109", 0 ) /* tilemaps */
|
||||
ROM_LOAD32_BYTE( "341-A03.2H", 0x000002, 0x010000, CRC(8e9e9835) SHA1(f8dc4579f238d91c0aef59167be7e5de87dc4ba7) )
|
||||
ROM_LOAD32_BYTE( "341-A04.4H", 0x000003, 0x010000, CRC(ac82d67b) SHA1(65869adfbb67cf10c92e50239fd747fc5ad4714d) )
|
||||
ROM_LOAD32_BYTE( "341-A05.5H", 0x000000, 0x010000, CRC(31403832) SHA1(d13c54d3768a0c2d60a3751db8980199f60db243) )
|
||||
|
Loading…
Reference in New Issue
Block a user