summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Ivan Vangelista <mesgnet@yahoo.it>2018-05-16 10:39:49 +0200
committer GitHub <noreply@github.com>2018-05-16 10:39:49 +0200
commit680d9e1aeb75a84a764aabe482425c5e32056664 (patch)
treecc4faa7b297193e0738dd383e66f7ee4b8d1189d
parent3bad31a73a2e89446c0c906524c41b0ead9b44c9 (diff)
kinst.cpp: fixed an old screw-up of mine that effectively prevented loading non default bioses (nw)
-rw-r--r--src/mame/drivers/kinst.cpp83
1 files changed, 42 insertions, 41 deletions
diff --git a/src/mame/drivers/kinst.cpp b/src/mame/drivers/kinst.cpp
index 6d15f3bb279..5bf81a63510 100644
--- a/src/mame/drivers/kinst.cpp
+++ b/src/mame/drivers/kinst.cpp
@@ -190,11 +190,6 @@ Notes:
class kinst_state : public driver_device
{
public:
- enum
- {
- TIMER_IRQ0_STOP
- };
-
kinst_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag),
m_rambase(*this, "rambase"),
@@ -207,33 +202,44 @@ public:
{
}
+ void init_kinst();
+ void init_kinst2();
+
+ void kinst(machine_config &config);
+
+protected:
+ virtual void machine_start() override;
+ virtual void machine_reset() override;
+ virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
+
+private:
required_shared_ptr<uint32_t> m_rambase;
required_shared_ptr<uint32_t> m_rambase2;
required_shared_ptr<uint32_t> m_control;
required_shared_ptr<uint32_t> m_rombase;
+ required_device<mips3_device> m_maincpu;
+ required_device<ata_interface_device> m_ata;
+ required_device<dcs_audio_2k_device> m_dcs;
+
uint32_t *m_video_base;
const uint8_t *m_control_map;
emu_timer *m_irq0_stop_timer;
+
+ enum
+ {
+ TIMER_IRQ0_STOP
+ };
+
+ uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
+ INTERRUPT_GEN_MEMBER(irq0_start);
DECLARE_READ32_MEMBER(control_r);
DECLARE_WRITE32_MEMBER(control_w);
DECLARE_READ32_MEMBER(ide_r);
DECLARE_WRITE32_MEMBER(ide_w);
DECLARE_READ32_MEMBER(ide_extra_r);
DECLARE_WRITE32_MEMBER(ide_extra_w);
- void init_kinst();
- void init_kinst2();
- virtual void machine_start() override;
- virtual void machine_reset() override;
- uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
- INTERRUPT_GEN_MEMBER(irq0_start);
- required_device<mips3_device> m_maincpu;
- required_device<ata_interface_device> m_ata;
- required_device<dcs_audio_2k_device> m_dcs;
- void kinst(machine_config &config);
void main_map(address_map &map);
-protected:
- virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
};
@@ -286,17 +292,14 @@ void kinst_state::machine_reset()
uint32_t kinst_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
{
- int y;
-
/* loop over rows and copy to the destination */
- for (y = cliprect.min_y; y <= cliprect.max_y; y++)
+ for (int y = cliprect.min_y; y <= cliprect.max_y; y++)
{
uint32_t *src = &m_video_base[640/4 * y];
uint16_t *dest = &bitmap.pix16(y, cliprect.min_x);
- int x;
/* loop over columns */
- for (x = cliprect.min_x; x < cliprect.max_x; x += 2)
+ for (int x = cliprect.min_x; x < cliprect.max_x; x += 2)
{
uint32_t data = *src++;
@@ -410,11 +413,9 @@ READ32_MEMBER(kinst_state::control_r)
WRITE32_MEMBER(kinst_state::control_w)
{
- uint32_t olddata;
-
/* apply shuffling */
offset = m_control_map[offset / 2];
- olddata = m_control[offset];
+ uint32_t olddata = m_control[offset];
COMBINE_DATA(&m_control[offset]);
switch (offset)
@@ -697,7 +698,7 @@ INPUT_PORTS_END
MACHINE_CONFIG_START(kinst_state::kinst)
/* basic machine hardware */
- MCFG_DEVICE_ADD("maincpu", R4600LE, MASTER_CLOCK*2)
+ MCFG_DEVICE_ADD(m_maincpu, R4600LE, MASTER_CLOCK*2)
MCFG_MIPS3_ICACHE_SIZE(16384)
MCFG_MIPS3_DCACHE_SIZE(16384)
MCFG_DEVICE_PROGRAM_MAP(main_map)
@@ -705,7 +706,7 @@ MACHINE_CONFIG_START(kinst_state::kinst)
MCFG_ATA_INTERFACE_ADD("ata", ata_devices, "hdd", nullptr, true)
- MCFG_ATA_INTERFACE_IRQ_HANDLER(INPUTLINE("maincpu", 1))
+ MCFG_ATA_INTERFACE_IRQ_HANDLER(INPUTLINE(m_maincpu, 1))
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -720,7 +721,7 @@ MACHINE_CONFIG_START(kinst_state::kinst)
MCFG_PALETTE_ADD_BBBBBGGGGGRRRRR("palette")
/* sound hardware */
- MCFG_DEVICE_ADD("dcs", DCS_AUDIO_2K, 0)
+ MCFG_DEVICE_ADD(m_dcs, DCS_AUDIO_2K, 0)
MACHINE_CONFIG_END
@@ -735,15 +736,15 @@ ROM_START( kinst )
ROM_REGION32_LE( 0x80000, "user1", 0 ) /* 512k for R4600 code */
ROM_DEFAULT_BIOS("v1.5d")
ROM_SYSTEM_BIOS(0, "v1.5d", "Killer Instinct (v1.5d)")
- ROM_LOAD( "ki-l15d.u98", 0x00000, 0x80000, CRC(7b65ca3d) SHA1(607394d4ba1713f38c2cb5159303cace9cde991e) )
+ ROMX_LOAD( "ki-l15d.u98", 0x00000, 0x80000, CRC(7b65ca3d) SHA1(607394d4ba1713f38c2cb5159303cace9cde991e), ROM_BIOS(1) )
ROM_SYSTEM_BIOS(1, "v1.4", "Killer Instinct (v1.4)")
- ROM_LOAD( "ki-l14.u98", 0x00000, 0x80000, CRC(afedb75f) SHA1(07254f20707377f7195e64675eb6458e663c1a9a) )
+ ROMX_LOAD( "ki-l14.u98", 0x00000, 0x80000, CRC(afedb75f) SHA1(07254f20707377f7195e64675eb6458e663c1a9a), ROM_BIOS(2) )
ROM_SYSTEM_BIOS(2, "v1.3", "Killer Instinct (v1.3)")
- ROM_LOAD( "ki-l13.u98", 0x00000, 0x80000, CRC(65f7ea31) SHA1(7f21620a512549db6821a0b4fa53681a767b7974) )
+ ROMX_LOAD( "ki-l13.u98", 0x00000, 0x80000, CRC(65f7ea31) SHA1(7f21620a512549db6821a0b4fa53681a767b7974), ROM_BIOS(3) )
ROM_SYSTEM_BIOS(3, "proto-v4.7", "Killer Instinct (proto v4.7)")
- ROM_LOAD( "ki-p47.u98", 0x00000, 0x80000, CRC(05e67bcb) SHA1(501e69b3026394f69229a6e9866c1037502b86bb) )
+ ROMX_LOAD( "ki-p47.u98", 0x00000, 0x80000, CRC(05e67bcb) SHA1(501e69b3026394f69229a6e9866c1037502b86bb), ROM_BIOS(4) )
ROM_SYSTEM_BIOS(4, "v1.5d-anyide", "Killer Instinct (v1.5d AnyIDE)") // unofficial version, allows use of alternate hard drives or CF cards
- ROM_LOAD( "ki_l15di.u98", 0x00000, 0x80000, CRC(230f55fb) SHA1(f5f12311aae922d12f98d72ac8fdd77b7b084af2) )
+ ROMX_LOAD( "ki_l15di.u98", 0x00000, 0x80000, CRC(230f55fb) SHA1(f5f12311aae922d12f98d72ac8fdd77b7b084af2), ROM_BIOS(5) )
ROM_REGION16_LE( 0x1000000, "dcs", ROMREGION_ERASEFF ) /* sound data */
ROM_LOAD16_BYTE( "u10-l1", 0x000000, 0x80000, CRC(b6cc155f) SHA1(810d455df8f385d76143e9d7d048f2b555ff8bf0) )
@@ -764,15 +765,15 @@ ROM_START( kinst2 )
ROM_REGION32_LE( 0x80000, "user1", 0 ) /* 512k for R4600 code */
ROM_DEFAULT_BIOS("v1.4")
ROM_SYSTEM_BIOS(0, "v1.4", "Killer Instinct 2 (v1.4)")
- ROM_LOAD( "ki2-l14.u98", 0x00000, 0x80000, CRC(27d0285e) SHA1(aa7a2a9d72a47dd0ea2ee7b2776b79288060b179) )
+ ROMX_LOAD( "ki2-l14.u98", 0x00000, 0x80000, CRC(27d0285e) SHA1(aa7a2a9d72a47dd0ea2ee7b2776b79288060b179), ROM_BIOS(1) )
ROM_SYSTEM_BIOS(1, "v1.3", "Killer Instinct 2 (v1.3)")
- ROM_LOAD( "ki2-l13.u98", 0x00000, 0x80000, CRC(25ebde3b) SHA1(771d150fb4de0a2ceb279954b9545458e93e2405) )
+ ROMX_LOAD( "ki2-l13.u98", 0x00000, 0x80000, CRC(25ebde3b) SHA1(771d150fb4de0a2ceb279954b9545458e93e2405), ROM_BIOS(2) )
ROM_SYSTEM_BIOS(2, "v1.1", "Killer Instinct 2 (v1.1)")
- ROM_LOAD( "ki2-l11.u98", 0x00000, 0x80000, CRC(0cb8de1e) SHA1(fe447f4b1d29b524f57c5ba1890652ef6afff88a) )
+ ROMX_LOAD( "ki2-l11.u98", 0x00000, 0x80000, CRC(0cb8de1e) SHA1(fe447f4b1d29b524f57c5ba1890652ef6afff88a), ROM_BIOS(3) )
ROM_SYSTEM_BIOS(3, "v1.0", "Killer Instinct 2 (v1.0)")
- ROM_LOAD( "ki2-l10.u98", 0x00000, 0x80000, CRC(b17b4b3d) SHA1(756629cd1b51ae50f2b9818765dd3d277c3019b3) )
+ ROMX_LOAD( "ki2-l10.u98", 0x00000, 0x80000, CRC(b17b4b3d) SHA1(756629cd1b51ae50f2b9818765dd3d277c3019b3), ROM_BIOS(4) )
ROM_SYSTEM_BIOS(4, "v1.4-anyide", "Killer Instinct 2 (v1.4 AnyIDE)")
- ROM_LOAD( "ki2_l14p.u98", 0x00000, 0x80000, CRC(d80c937a) SHA1(85a009638f2eada4c63240fc30a9e7be59afab7f) )
+ ROMX_LOAD( "ki2_l14p.u98", 0x00000, 0x80000, CRC(d80c937a) SHA1(85a009638f2eada4c63240fc30a9e7be59afab7f), ROM_BIOS(5) )
ROM_REGION16_LE( 0x1000000, "dcs", ROMREGION_ERASEFF ) /* sound data */
ROM_LOAD16_BYTE( "ki2_l1.u10", 0x000000, 0x80000, CRC(fdf6ed51) SHA1(acfc9460cd5df01403b7f00b2f68c2a8734ad6d3) )
@@ -793,11 +794,11 @@ ROM_START( kinst2uk )
ROM_REGION32_LE( 0x80000, "user1", 0 ) /* 512k for R4600 code */
ROM_DEFAULT_BIOS("v1.4k")
ROM_SYSTEM_BIOS(0, "v1.4k", "Killer Instinct 2 (v1.4k, upgrade kit)")
- ROM_LOAD( "ki2-l14k.u98", 0x00000, 0x80000, CRC(9cbd00a8) SHA1(926dce4bb9016331ea40d3c337a9ace896f07493) )
+ ROMX_LOAD( "ki2-l14k.u98", 0x00000, 0x80000, CRC(9cbd00a8) SHA1(926dce4bb9016331ea40d3c337a9ace896f07493), ROM_BIOS(1) )
ROM_SYSTEM_BIOS(1, "v1.3k", "Killer Instinct 2 (v1.3k, upgrade kit)")
- ROM_LOAD( "ki2-l13k.u98", 0x00000, 0x80000, CRC(3b4f16fc) SHA1(c28416f94453fd1f73ba01025276a04610569d12) )
+ ROMX_LOAD( "ki2-l13k.u98", 0x00000, 0x80000, CRC(3b4f16fc) SHA1(c28416f94453fd1f73ba01025276a04610569d12), ROM_BIOS(2) )
ROM_SYSTEM_BIOS(2, "v1.4-anyide", "Killer Instinct 2 (v1.4k, upgrade kit AnyIDE)")
- ROM_LOAD( "ki2_d14p.u98", 0x00000, 0x80000, CRC(d716d428) SHA1(1a3b000fdc35b3824a0c8142ba9b496490894543) )
+ ROMX_LOAD( "ki2_d14p.u98", 0x00000, 0x80000, CRC(d716d428) SHA1(1a3b000fdc35b3824a0c8142ba9b496490894543), ROM_BIOS(3) )
ROM_REGION16_LE( 0x1000000, "dcs", ROMREGION_ERASEFF ) /* sound data */
ROM_LOAD16_BYTE( "ki2_l1.u10", 0x000000, 0x80000, CRC(fdf6ed51) SHA1(acfc9460cd5df01403b7f00b2f68c2a8734ad6d3) )