diff options
-rw-r--r-- | scripts/src/cpu.lua | 17 | ||||
-rw-r--r-- | scripts/target/mame/mess.lua | 2 | ||||
-rw-r--r-- | src/devices/cpu/gigatron/gigatron.cpp | 138 | ||||
-rw-r--r-- | src/devices/cpu/gigatron/gigatron.h | 69 | ||||
-rw-r--r-- | src/devices/cpu/gigatron/gigatrondasm.cpp | 17 | ||||
-rw-r--r-- | src/devices/cpu/gigatron/gigatrondasm.h | 24 | ||||
-rw-r--r-- | src/mame/drivers/ffantasy_ms.cpp | 4 | ||||
-rw-r--r-- | src/mame/drivers/gigatron.cpp | 50 | ||||
-rw-r--r-- | src/mame/drivers/legionna.cpp | 91 | ||||
-rw-r--r-- | src/mame/drivers/m72.cpp | 8 | ||||
-rw-r--r-- | src/mame/drivers/model1.cpp | 18 | ||||
-rw-r--r-- | src/mame/mame.lst | 3 | ||||
-rw-r--r-- | src/mame/mess.flt | 1 |
13 files changed, 390 insertions, 52 deletions
diff --git a/scripts/src/cpu.lua b/scripts/src/cpu.lua index b030e4958bd..d67ce4c706c 100644 --- a/scripts/src/cpu.lua +++ b/scripts/src/cpu.lua @@ -2982,6 +2982,22 @@ if (CPUS["CR16B"]~=null or _OPTIONS["with-tools"]) then end -------------------------------------------------- +-- Gigatron +--@src/devices/cpu/gigatron.h,CPUS["GTRON"] = true +-------------------------------------------------- + +if (CPUS["GTRON"]~=null) then + files { + MAME_DIR .. "src/devices/cpu/gigatron/gigatron.cpp", + MAME_DIR .. "src/devices/cpu/gigatron/gigatron.h", + } +end + +if (CPUS["GTRON"]~=null or _OPTIONS["with-tools"]) then + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/gigatron/gigatrondasm.cpp") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/gigatron/gigatrondasm.h") +end + -- Motorola DSP56000 --@src/devices/cpu/dsp56000/dsp56000.h,CPUS["DSP56000"] = true -------------------------------------------------- @@ -3081,4 +3097,5 @@ end if (CPUS["RX01"]~=null or _OPTIONS["with-tools"]) then table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/rx01/rx01dasm.cpp") table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/rx01/rx01dasm.h") + end diff --git a/scripts/target/mame/mess.lua b/scripts/target/mame/mess.lua index d0a774aaeb2..86220fa754d 100644 --- a/scripts/target/mame/mess.lua +++ b/scripts/target/mame/mess.lua @@ -153,6 +153,7 @@ CPUS["VT61"] = true CPUS["PACE"] = true CPUS["WE32000"] = true CPUS["RX01"] = true +CPUS["GTRON"] = true -------------------------------------------------- -- specify available sound cores; some of these are @@ -4127,6 +4128,7 @@ files { MAME_DIR .. "src/mame/drivers/fs3216.cpp", MAME_DIR .. "src/mame/drivers/ft68m.cpp", MAME_DIR .. "src/mame/drivers/gameking.cpp", + MAME_DIR .. "src/mame/drivers/gigatron.cpp", MAME_DIR .. "src/mame/drivers/gimix.cpp", MAME_DIR .. "src/mame/drivers/goupil.cpp", MAME_DIR .. "src/mame/drivers/grfd2301.cpp", diff --git a/src/devices/cpu/gigatron/gigatron.cpp b/src/devices/cpu/gigatron/gigatron.cpp new file mode 100644 index 00000000000..4a56be8ef41 --- /dev/null +++ b/src/devices/cpu/gigatron/gigatron.cpp @@ -0,0 +1,138 @@ +// license:BSD-3-Clause +// copyright-holders:Sterophonick +/***************************************************************************** + * + * Skeleton device for Gigatron CPU Core + * + *****************************************************************************/ + +#include "emu.h" +#include "gigatron.h" +#include "gigatrondasm.h" + + +DEFINE_DEVICE_TYPE(GTRON, gigatron_cpu_device, "gigatron", "GTRON") + + +/* FLAGS */ +#if 0 +#define S 0x80 +#define Z 0x40 +#define OV 0x20 +#define C 0x10 +#endif + + +#define gigatron_readop(A) m_program->read_dword(A) +#define gigatron_readmem16(A) m_data->read_dword(A) +#define gigatron_writemem16(A,B) m_data->write_dword((A),B) + + +/*********************************** + * illegal opcodes + ***********************************/ +void gigatron_cpu_device::gigatron_illegal() +{ + logerror("gigatron illegal opcode at 0x%04x\n", m_pc); + m_icount -= 1; +} + +/* Execute cycles */ +void gigatron_cpu_device::execute_run() +{ + uint16_t opcode; + + do + { + debugger_instruction_hook(m_pc); + + opcode = gigatron_readop(m_pc); + m_pc++; + + switch( opcode ) + { + default: + gigatron_illegal(); + break; + } + + } while( m_icount > 0 ); +} + + +void gigatron_cpu_device::device_start() +{ + m_program = &space(AS_PROGRAM); + m_data = &space(AS_DATA); + + save_item(NAME(m_pc)); + save_item(NAME(m_flags)); + + // Register state for debugger + state_add( GTRON_R0, "PC", m_pc ).formatstr("%02X"); + state_add( STATE_GENPC, "GENPC", m_r[7] ).noshow(); + state_add( STATE_GENPCBASE, "CURPC", m_r[7] ).noshow(); + state_add( STATE_GENFLAGS, "GENFLAGS", m_flags ).noshow(); + + set_icountptr(m_icount); +} + +#if 0 +void gigatron_cpu_device::execute_set_input(int irqline, int state) +{ + switch(irqline) + { + case GTRON_INT_INTRM: // level-sensitive + m_intrm_pending = ((ASSERT_LINE == state) || (HOLD_LINE == state)); + m_intrm_state = (ASSERT_LINE == state); + break; + case GTRON_RESET: // edge-sensitive + if (CLEAR_LINE != state) + m_reset_pending = 1; + m_reset_state = (ASSERT_LINE == state); + break; + case GTRON_INT_INTR: // edge-sensitive + if (CLEAR_LINE != state) + m_intr_pending = 1; + m_intr_state = (ASSERT_LINE == state); + break; + } +} +#endif + +gigatron_cpu_device::gigatron_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) + : cpu_device(mconfig, GTRON, tag, owner, clock) + , m_program_config("program", ENDIANNESS_BIG, 8, 32, -1) + , m_data_config("data", ENDIANNESS_BIG, 8, 32, 0) +{ +} + + +void gigatron_cpu_device::state_string_export(const device_state_entry &entry, std::string &str) const +{ + switch (entry.index()) + { + case STATE_GENFLAGS: + str = util::string_format("%c%c%c%c", + m_flags & 0x80 ? 'S':'.', + m_flags & 0x40 ? 'Z':'.', + m_flags & 0x20 ? 'V':'.', + m_flags & 0x10 ? 'C':'.'); + break; + } +} + + +std::unique_ptr<util::disasm_interface> gigatron_cpu_device::create_disassembler() +{ + return std::make_unique<gigatron_disassembler>(); +} + + +device_memory_interface::space_config_vector gigatron_cpu_device::memory_space_config() const +{ + return space_config_vector { + std::make_pair(AS_PROGRAM, &m_program_config), + std::make_pair(AS_DATA, &m_data_config) + }; +} diff --git a/src/devices/cpu/gigatron/gigatron.h b/src/devices/cpu/gigatron/gigatron.h new file mode 100644 index 00000000000..27099efa572 --- /dev/null +++ b/src/devices/cpu/gigatron/gigatron.h @@ -0,0 +1,69 @@ +// license:BSD-3-Clause +// copyright-holders:Sterophonick +/***************************************************************************** + * + * Skeleton Device for Gigatron CPU Core + * + *****************************************************************************/ + +#ifndef MAME_CPU_GTRON_H +#define MAME_CPU_GTRON_H + +#pragma once + +enum +{ + GTRON_R0=1, GTRON_R1, GTRON_R2, GTRON_R3, + GTRON_R4, GTRON_R5, GTRON_R6, GTRON_R7 +}; + + +class gigatron_cpu_device : public cpu_device +{ +public: + // construction/destruction + gigatron_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + +protected: + // device-level overrides + virtual void device_start() override; + virtual void device_reset() override; + + // device_execute_interface overrides + virtual uint32_t execute_min_cycles() const noexcept override { return 1; } + virtual uint32_t execute_max_cycles() const noexcept override { return 7; } + virtual uint32_t execute_input_lines() const noexcept override { return 0; } + virtual void execute_run() override; + virtual void execute_set_input(int inputnum, int state) override; + + // device_state_interface overrides + virtual void state_string_export(const device_state_entry &entry, std::string &str) const override; + + // device_disasm_interface overrides + virtual std::unique_ptr<util::disasm_interface> create_disassembler() override; + + // device_memory_interface overrides + virtual space_config_vector memory_space_config() const override; + +private: + address_space_config m_program_config; + address_space_config m_data_config; + + uint8_t m_pc; /* registers */ + uint8_t m_flags; /* flags */ + address_space *m_program; + address_space *m_data; + int m_icount; + + uint32_t m_r[8]; + + void gigatron_illegal(); +}; + + +DECLARE_DEVICE_TYPE(GTRON, gigatron_cpu_device) + + + +#endif // MAME_CPU_GTRON_H + diff --git a/src/devices/cpu/gigatron/gigatrondasm.cpp b/src/devices/cpu/gigatron/gigatrondasm.cpp new file mode 100644 index 00000000000..100f8d7e984 --- /dev/null +++ b/src/devices/cpu/gigatron/gigatrondasm.cpp @@ -0,0 +1,17 @@ +// license:BSD-3-Clause +// copyright-holders:Sterophonick + +// Gigatron Disassembler + +#include "emu.h" +#include "gigatrondasm.h" + +u32 gigatron_disassembler::opcode_alignment() const +{ + return 0; +} + +offs_t gigatron_disassembler::disassemble(std::ostream &stream, offs_t pc, const data_buffer &opcodes, const data_buffer ¶ms) +{ + return 0; +} diff --git a/src/devices/cpu/gigatron/gigatrondasm.h b/src/devices/cpu/gigatron/gigatrondasm.h new file mode 100644 index 00000000000..a1e590c0be8 --- /dev/null +++ b/src/devices/cpu/gigatron/gigatrondasm.h @@ -0,0 +1,24 @@ +// license:BSD-3-Clause +// copyright-holders:Sterophonick + +// Gigatron disassembler + +#ifndef MAME_CPU_GIGATRON_GIGATRONDASM_H +#define MAME_CPU_GIGATRON_GIGATRONDASM_H + +#pragma once + +class gigatron_disassembler : public util::disasm_interface +{ +public: + gigatron_disassembler() = default; + virtual ~gigatron_disassembler() = default; + + virtual u32 opcode_alignment() const override; + virtual offs_t disassemble(std::ostream &stream, offs_t pc, const data_buffer &opcodes, const data_buffer ¶ms) override; + +private: +}; + +#endif + diff --git a/src/mame/drivers/ffantasy_ms.cpp b/src/mame/drivers/ffantasy_ms.cpp index 3057a01af10..2ff31f205a7 100644 --- a/src/mame/drivers/ffantasy_ms.cpp +++ b/src/mame/drivers/ffantasy_ms.cpp @@ -76,7 +76,7 @@ uint32_t ffantasy_ms_state::screen_update(screen_device &screen, bitmap_ind16 &b static INPUT_PORTS_START( ffantasym ) INPUT_PORTS_END -static GFXDECODE_START( gfx_bloodbro_ms ) +static GFXDECODE_START( gfx_ffantasy_ms ) GFXDECODE_END void ffantasy_ms_state::ffantasym(machine_config &config) @@ -98,7 +98,7 @@ void ffantasy_ms_state::ffantasym(machine_config &config) PALETTE(config, "palette").set_format(palette_device::xBRG_444, 1024); - GFXDECODE(config, "gfxdecode", "palette", gfx_bloodbro_ms); + GFXDECODE(config, "gfxdecode", "palette", gfx_ffantasy_ms); /* sound hardware */ SPEAKER(config, "mono").front_center(); diff --git a/src/mame/drivers/gigatron.cpp b/src/mame/drivers/gigatron.cpp new file mode 100644 index 00000000000..c14df7cbafd --- /dev/null +++ b/src/mame/drivers/gigatron.cpp @@ -0,0 +1,50 @@ +// license:BSD-3-Clause +// copyright-holders:Sterophonick +/*************************************************************************** + + Skeleton driver for Gigatron TTL Microcomputer + Driver by Sterophonick + +***************************************************************************/ + +#include "emu.h" +#include "cpu/m6502/m6502.h" +//#include "cpu/gigatron/gigatron.h" +#include "machine/nvram.h" +#include "speaker.h" + +#define MAIN_CLOCK 6250000 + +class gigatron_state : public driver_device +{ +public: + gigatron_state(const machine_config &mconfig, device_type type, const char *tag) + : driver_device(mconfig, type, tag) + , m_maincpu(*this, "maincpu") + { + } + + void gigatron(machine_config &config); + +private: + + required_device<cpu_device> m_maincpu; +}; + +static INPUT_PORTS_START(gigatron) +INPUT_PORTS_END + +void gigatron_state::gigatron(machine_config &config) +{ + M6502(config, m_maincpu, MAIN_CLOCK); // actually its own custom cpu but i cant get it to work + //GTRON(config, m_maincpu, MAIN_CLOCK); + SPEAKER(config, "mono").front_center(); + +} + +ROM_START( gigatron ) + ROM_REGION( 0x00000, "maincpu", 0 ) + ROM_LOAD( "gigatron.rom", 0x0000, 0x20000, CRC(78995109) SHA1(2395fc48e64099836111f5aeca39ddbf4650ea4e) ) +ROM_END + +GAME(199?, gigatron, 0, gigatron, gigatron, gigatron_state, empty_init, ROT0, "Marcel van Kervinck", "Gigatron TTL Microcomputer", MACHINE_IS_SKELETON_MECHANICAL)
\ No newline at end of file diff --git a/src/mame/drivers/legionna.cpp b/src/mame/drivers/legionna.cpp index 97f537de9f4..fd8677564f4 100644 --- a/src/mame/drivers/legionna.cpp +++ b/src/mame/drivers/legionna.cpp @@ -1941,6 +1941,55 @@ ROM_START( godzilla ) ROM_LOAD( "copx-d2.313", 0x000000, 0x080000, CRC(7c52581b) SHA1(7e668476f886806b0c06fa0bcf4bbc955878c87c) ) ROM_END +/* + +Denjin Makai newer set +PCB labeled BP942KS +All "denjin" ROM labels from this set are actually written in kanji chars. + +*/ + +ROM_START( denjinmk ) + ROM_REGION( 0x100000, "maincpu", 0 ) /* 68000 code */ + ROM_LOAD32_BYTE( "denjin_1.u025", 0x000000, 0x040000, CRC(b23a6e6f) SHA1(73ab330dfc0d2799984874f02da51deb8323b9e2) ) + ROM_LOAD32_BYTE( "denjin_2.u024", 0x000001, 0x040000, CRC(4fde59e7) SHA1(1618db14a18acc2acabdd93b8e2563d7221e643d) ) + ROM_LOAD32_BYTE( "denjin_3.u026", 0x000002, 0x040000, CRC(4f10292b) SHA1(c61c88cacc433bb9af6a4225ce5959dd0fefd084) ) + ROM_LOAD32_BYTE( "denjin_4.u023", 0x000003, 0x040000, CRC(209f1f6b) SHA1(3f6709dc79fae47ef4181d405d3aa94c2df5963a) ) + + ROM_REGION( 0x20000, "audiocpu", 0 ) /* Z80 code, banked data */ + ROM_LOAD( "denjin_7.u1016", 0x000000, 0x08000, CRC(970f36dd) SHA1(010a9edeaedb9e258cd02b3e9294264d00ec7c45) ) + ROM_CONTINUE( 0x010000, 0x08000 ) /* banked stuff */ + ROM_COPY( "audiocpu", 0x000000, 0x018000, 0x08000 ) + + ROM_REGION( 0x020000, "char", 0 ) + ROM_LOAD16_BYTE( "denjin_6.u0620", 0x000000, 0x010000, CRC(e1f759b1) SHA1(ddc60e78e7791a59c59403dd4089b3f6e1ecf8cb) ) + ROM_LOAD16_BYTE( "denjin_5.u0615", 0x000001, 0x010000, CRC(cc36af0d) SHA1(69c2ae38f03be79be4d138fcc73a6a86407eb285) ) + + ROM_REGION( 0x500000, "sprite", 0 ) + ROM_LOAD16_WORD_SWAP( "obj-0-3.748", 0x000000, 0x200000, CRC(67c26a67) SHA1(20543ca9dcf3fed0884968b5249b34b59a14b791) ) /* banks 0,1,2,3 */ + ROM_LOAD16_WORD_SWAP( "obj-4-5.756", 0x200000, 0x100000, CRC(01f8d4e6) SHA1(25b69da693be8c3404f750b419c330a7a56e88ec) ) /* 4,5 */ + ROM_LOAD16_WORD_SWAP( "obj-6-7.743", 0x300000, 0x100000, CRC(e5805757) SHA1(9d392c27eef7c1fcda560dac17ba9d7ae2287ac8) ) /* 6,7 */ + ROM_LOAD16_WORD_SWAP( "obj-8-9.757", 0x400000, 0x100000, CRC(c8f7e1c9) SHA1(a746d187b50a0ecdd5a7f687a2601e5dc8bfe272) ) /* 8,9 */ + + ROM_REGION( 0x100000, "back", 0 ) /* MBK tiles */ + ROM_LOAD16_WORD_SWAP( "bg-1-ab.618", 0x000000, 0x100000, CRC(eaad151a) SHA1(bdd1d83ee8497efe20f21baf873e786446372bcb) ) + + ROM_REGION( 0x100000, "mid", 0 ) /* BK2 used (or LBK; just identification string differs?) */ + ROM_LOAD16_WORD_SWAP( "bg-2-ab.617", 0x000000, 0x100000, CRC(40938f74) SHA1(d68b0f8245a8b390ad5d4e6ebc7514a939b8ac51) ) + + ROM_REGION( 0x100000, "fore", 0 ) /* BK3 tiles */ + ROM_LOAD16_WORD_SWAP( "bg-3-ab.619", 0x000000, 0x100000, CRC(de7366ee) SHA1(0c3969d15f3cd963e579d4164b6e0a6b4012c9c6) ) + + ROM_REGION( 0x080000, "oki", 0 ) /* ADPCM samples */ + ROM_LOAD( "denjin_8.u0922", 0x000000, 0x040000, CRC(a11adb8f) SHA1(50e1158767b506d962bff861c2a6609246d764c4) ) + + ROM_REGION( 0x200, "proms", 0 ) + ROM_LOAD( "s68e08.844", 0x000000, 0x000200, CRC(96f7646e) SHA1(400a831b83d6ac4d2a46ef95b97b1ee237099e44) ) /* Priority */ + + ROM_REGION( 0x080000, "user1", 0 ) + ROM_LOAD( "copx-d2.313", 0x000000, 0x080000, CRC(7c52581b) SHA1(7e668476f886806b0c06fa0bcf4bbc955878c87c) ) +ROM_END + /* Denjin Makai @@ -2013,50 +2062,8 @@ Notes: S68E08 : PROM type 82S147, labelled 'S68E08' - */ -ROM_START( denjinmk ) /* PCB labled BP942KS */ - ROM_REGION( 0x100000, "maincpu", 0 ) /* 68000 code */ - ROM_LOAD32_BYTE( "denjin_1.u025", 0x000000, 0x040000, CRC(b23a6e6f) SHA1(73ab330dfc0d2799984874f02da51deb8323b9e2) ) /* "Denjin" written in Kanji on label */ - ROM_LOAD32_BYTE( "denjin_2.u024", 0x000001, 0x040000, CRC(4fde59e7) SHA1(1618db14a18acc2acabdd93b8e2563d7221e643d) ) /* "Denjin" written in Kanji on label */ - ROM_LOAD32_BYTE( "denjin_3.u026", 0x000002, 0x040000, CRC(4f10292b) SHA1(c61c88cacc433bb9af6a4225ce5959dd0fefd084) ) /* "Denjin" written in Kanji on label */ - ROM_LOAD32_BYTE( "denjin_4.u023", 0x000003, 0x040000, CRC(209f1f6b) SHA1(3f6709dc79fae47ef4181d405d3aa94c2df5963a) ) /* "Denjin" written in Kanji on label */ - - ROM_REGION( 0x20000, "audiocpu", 0 ) /* Z80 code, banked data */ - ROM_LOAD( "denjin_7.u1016", 0x000000, 0x08000, CRC(970f36dd) SHA1(010a9edeaedb9e258cd02b3e9294264d00ec7c45) ) /* "Denjin" written in Kanji on label */ - ROM_CONTINUE( 0x010000, 0x08000 ) /* banked stuff */ - ROM_COPY( "audiocpu", 0x000000, 0x018000, 0x08000 ) - - ROM_REGION( 0x020000, "char", 0 ) - ROM_LOAD16_BYTE( "denjin_6.u0620", 0x000000, 0x010000, CRC(e1f759b1) SHA1(ddc60e78e7791a59c59403dd4089b3f6e1ecf8cb) ) /* "Denjin" written in Kanji on label */ - ROM_LOAD16_BYTE( "denjin_5.u0615", 0x000001, 0x010000, CRC(cc36af0d) SHA1(69c2ae38f03be79be4d138fcc73a6a86407eb285) ) /* "Denjin" written in Kanji on label */ - - ROM_REGION( 0x500000, "sprite", 0 ) - ROM_LOAD16_WORD_SWAP( "obj-0-3.748", 0x000000, 0x200000, CRC(67c26a67) SHA1(20543ca9dcf3fed0884968b5249b34b59a14b791) ) /* banks 0,1,2,3 */ - ROM_LOAD16_WORD_SWAP( "obj-4-5.756", 0x200000, 0x100000, CRC(01f8d4e6) SHA1(25b69da693be8c3404f750b419c330a7a56e88ec) ) /* 4,5 */ - ROM_LOAD16_WORD_SWAP( "obj-6-7.743", 0x300000, 0x100000, CRC(e5805757) SHA1(9d392c27eef7c1fcda560dac17ba9d7ae2287ac8) ) /* 6,7 */ - ROM_LOAD16_WORD_SWAP( "obj-8-9.757", 0x400000, 0x100000, CRC(c8f7e1c9) SHA1(a746d187b50a0ecdd5a7f687a2601e5dc8bfe272) ) /* 8,9 */ - - ROM_REGION( 0x100000, "back", 0 ) /* MBK tiles */ - ROM_LOAD16_WORD_SWAP( "bg-1-ab.618", 0x000000, 0x100000, CRC(eaad151a) SHA1(bdd1d83ee8497efe20f21baf873e786446372bcb) ) - - ROM_REGION( 0x100000, "mid", 0 ) /* BK2 used (or LBK; just identification string differs?) */ - ROM_LOAD16_WORD_SWAP( "bg-2-ab.617", 0x000000, 0x100000, CRC(40938f74) SHA1(d68b0f8245a8b390ad5d4e6ebc7514a939b8ac51) ) - - ROM_REGION( 0x100000, "fore", 0 ) /* BK3 tiles */ - ROM_LOAD16_WORD_SWAP( "bg-3-ab.619", 0x000000, 0x100000, CRC(de7366ee) SHA1(0c3969d15f3cd963e579d4164b6e0a6b4012c9c6) ) - - ROM_REGION( 0x080000, "oki", 0 ) /* ADPCM samples */ - ROM_LOAD( "denjin_8.u0922", 0x000000, 0x040000, CRC(a11adb8f) SHA1(50e1158767b506d962bff861c2a6609246d764c4) ) /* "Denjin" written in Kanji on label */ - - ROM_REGION( 0x200, "proms", 0 ) - ROM_LOAD( "s68e08.844", 0x000000, 0x000200, CRC(96f7646e) SHA1(400a831b83d6ac4d2a46ef95b97b1ee237099e44) ) /* Priority */ - - ROM_REGION( 0x080000, "user1", 0 ) - ROM_LOAD( "copx-d2.313", 0x000000, 0x080000, CRC(7c52581b) SHA1(7e668476f886806b0c06fa0bcf4bbc955878c87c) ) -ROM_END - ROM_START( denjinmka ) ROM_REGION( 0x100000, "maincpu", 0 ) /* 68000 code */ ROM_LOAD32_BYTE( "rom1.025", 0x000000, 0x040000, CRC(44a648e8) SHA1(a3c1721e89ac6b9fc16f80682b2f701cb24b5d76) ) diff --git a/src/mame/drivers/m72.cpp b/src/mame/drivers/m72.cpp index 589353cc1ba..e8c0516153d 100644 --- a/src/mame/drivers/m72.cpp +++ b/src/mame/drivers/m72.cpp @@ -3209,7 +3209,7 @@ ROM_END | |74S74N XTAL 74LS368AN 74LS132N | | |___| |__________20.000MHz_________________________| |_____________________________________________| - Board 5 Sound Board (1/3) + Board 5 Sound Board 1/3 _____________________________________________ ______________________________________________ | | | | | __________ ________ ________ ________ | | ________ ________ ________ | @@ -3253,7 +3253,7 @@ IC64->PAL16R6A 74LS393N 74LS368AN 74LS377N |U|| | | |__| | |___| __________________________ | |____________________________________________| |__________| |_|_|_|_|_|_|_|_|_|_|_| |________| PRE-JAMMA - Board (6) + Board 7/4 __________________________________________________________ | _________ _________ __________ _________ _________ __|_ | 74LS163AP| 74LS163AP||_GAL20V8_| |74S174N_| |74S189N_|| | @@ -3269,10 +3269,10 @@ IC64->PAL16R6A 74LS393N 74LS368AN 74LS377N |U|| | | | 7536 |____________| _________ | | | _________ __________ _____________ |74S174N_| | | | |74LS283N| |74LS245P_| |KM62256AP-10| __________ | | - | |____________| |74LS245P_| | | + | _________ __________ |____________| |74LS245P_| | | + | |74LS20B1| |74LS245P_| | | | _________ __________ __________ _________ | | | |74LS20B1| |74LS374N_| |74LS273P_| |74LS74AP| | | - | | | | _________ __________ __________ _________ |___| | |74LS04N_| |_GAL16V8_| |74LS374N_| |74LS157N| | | 7336 | diff --git a/src/mame/drivers/model1.cpp b/src/mame/drivers/model1.cpp index 2bb45614ea9..c9a793e1034 100644 --- a/src/mame/drivers/model1.cpp +++ b/src/mame/drivers/model1.cpp @@ -2,10 +2,20 @@ // copyright-holders:Olivier Galibert /* +Known functional issues: +- Star Wars Arcade + * After recent changes, ship models periodically disappear for a frame or two during attract mode + and while in-game. + * There are indeterminate issues with the analog controls in-game. +- Virtua Fighter + * Gameplay mecahnics - specifically, collision detection - are significantly broken due to + imperfect TGP RAM port emulation or hookup. This is observable in both attract mode and + in-game. + Sega Model 1 Hardware Overview ------------------------------ -Note! This document is a Work-In-Progress and covers all the dumped Sega Model 1 games, including.... +Note! This document is a Work-In-Progress and covers all the dumped Sega Model 1 games, including... Star Wars Arcade (C) Sega, 1994 Virtua Fighter (C) Sega, 1993 @@ -1874,11 +1884,11 @@ void model1_state::netmerc(machine_config &config) //************************************************************************** // YEAR NAME PARENT MACHINE INPUT CLASS INIT ROTATION COMPANY FULLNAME FLAGS -GAME( 1993, vf, 0, vf, vf, model1_state, empty_init, ROT0, "Sega", "Virtua Fighter", 0 ) +GAME( 1993, vf, 0, vf, vf, model1_state, empty_init, ROT0, "Sega", "Virtua Fighter", MACHINE_NOT_WORKING ) GAMEL(1992, vr, 0, vr, vr, model1_state, empty_init, ROT0, "Sega", "Virtua Racing", 0, layout_vr ) GAME( 1993, vformula, vr, vformula, vr, model1_state, empty_init, ROT0, "Sega", "Virtua Formula", MACHINE_IMPERFECT_GRAPHICS ) -GAME( 1993, swa, 0, swa, swa, model1_state, empty_init, ROT0, "Sega", "Star Wars Arcade (US)", 0 ) -GAME( 1993, swaj, swa, swa, swa, model1_state, empty_init, ROT0, "Sega", "Star Wars Arcade (Japan)", 0 ) +GAME( 1993, swa, 0, swa, swa, model1_state, empty_init, ROT0, "Sega", "Star Wars Arcade (US)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_CONTROLS ) +GAME( 1993, swaj, swa, swa, swa, model1_state, empty_init, ROT0, "Sega", "Star Wars Arcade (Japan)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_CONTROLS ) GAME( 1994, wingwar, 0, wingwar, wingwar, model1_state, empty_init, ROT0, "Sega", "Wing War (World)", 0 ) GAME( 1994, wingwaru, wingwar, wingwar, wingwar, model1_state, empty_init, ROT0, "Sega", "Wing War (US)", 0 ) GAME( 1994, wingwarj, wingwar, wingwar, wingwar, model1_state, empty_init, ROT0, "Sega", "Wing War (Japan)", 0 ) diff --git a/src/mame/mame.lst b/src/mame/mame.lst index 9544e385a91..4ebeb7f1368 100644 --- a/src/mame/mame.lst +++ b/src/mame/mame.lst @@ -14620,6 +14620,9 @@ touryuu // (c) 200? Yuki Enterprise giclasex giclassvr +@source:gigatron.cpp +gigatron // (c) 2018 Marcel van Kervinck + @source:gijoe.cpp gijoe // GX069 (c) 1991 (World) gijoea // GX069 (c) 1991 (Asia) diff --git a/src/mame/mess.flt b/src/mame/mess.flt index 6e93f240a99..7d393b43b05 100644 --- a/src/mame/mess.flt +++ b/src/mame/mess.flt @@ -315,6 +315,7 @@ geneve.cpp geniusiq.cpp geniusjr.cpp genpc.cpp +gigatron.cpp gimix.cpp gkidabc.cpp gizmondo.cpp |