diff --git a/src/devices/cpu/gigatron/gigatron.cpp b/src/devices/cpu/gigatron/gigatron.cpp index e10da646c61..64a3b265bd6 100644 --- a/src/devices/cpu/gigatron/gigatron.cpp +++ b/src/devices/cpu/gigatron/gigatron.cpp @@ -11,7 +11,7 @@ #include "gigatrondasm.h" -DEFINE_DEVICE_TYPE(GTRON, gigatron_cpu_device, "gigatron", "GTRON") +DEFINE_DEVICE_TYPE(GTRON, gigatron_cpu_device, "gigatron", "Gigatron CPU Device") /* FLAGS */ diff --git a/src/mame/drivers/gigatron.cpp b/src/mame/drivers/gigatron.cpp index 25dcb6b9bca..7a4c5f33ff1 100644 --- a/src/mame/drivers/gigatron.cpp +++ b/src/mame/drivers/gigatron.cpp @@ -7,6 +7,9 @@ ***************************************************************************/ +//There is a pre-existing emulator here https://github.com/PhilThomas/gigatron +//It's just a matter of translating it to MAME. + #include "emu.h" #include "cpu/gigatron/gigatron.h" #include "machine/nvram.h" @@ -25,13 +28,25 @@ public: void gigatron(machine_config &config); + private: + + uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); + + virtual void machine_start() override; + virtual void machine_reset() override; + void prog_map(address_map &map); void data_map(address_map &map); required_device m_maincpu; }; +uint32_t gigatron_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect) +{ + return 0; +} + void gigatron_state::prog_map(address_map &map) { map(0x0000, 0x3fff).rom().region("maincpu", 0); @@ -41,6 +56,14 @@ void gigatron_state::data_map(address_map &map) { } +void gigatron_state::machine_start() +{ +} + +void gigatron_state::machine_reset() +{ +} + static INPUT_PORTS_START(gigatron) INPUT_PORTS_END @@ -50,6 +73,13 @@ void gigatron_state::gigatron(machine_config &config) m_maincpu->set_addrmap(AS_PROGRAM, &gigatron_state::prog_map); m_maincpu->set_addrmap(AS_DATA, &gigatron_state::data_map); + /* video hardware */ + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); + screen.set_refresh_hz(60); + screen.set_size(640, 480); + screen.set_visarea(0, 640, 0, 480); + screen.set_screen_update(FUNC(gigatron_state::screen_update)); + SPEAKER(config, "mono").front_center(); } @@ -59,4 +89,4 @@ ROM_START( gigatron ) 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 +COMP(2018, gigatron, 0, 0, gigatron, gigatron, gigatron_state, empty_init, "Marcel van Kervinck", "Gigatron TTL Microcomputer", MACHINE_IS_SKELETON)