From 3fdb753a83dc61cf4293be7d73e1ba69820e4df5 Mon Sep 17 00:00:00 2001 From: "R. Belmont" Date: Sun, 16 Feb 2014 20:40:13 +0000 Subject: [PATCH] (MESS) apple2: Support another Videoterm clone, the AE Viewmaster 80. [R. Belmont] --- src/emu/bus/a2bus/a2videoterm.c | 19 +++++++++++++++++++ src/emu/bus/a2bus/a2videoterm.h | 9 +++++++++ 2 files changed, 28 insertions(+) diff --git a/src/emu/bus/a2bus/a2videoterm.c b/src/emu/bus/a2bus/a2videoterm.c index 99cb3ea6ddd..539f995621f 100644 --- a/src/emu/bus/a2bus/a2videoterm.c +++ b/src/emu/bus/a2bus/a2videoterm.c @@ -38,6 +38,7 @@ const device_type A2BUS_IBSAP16 = &device_creator; const device_type A2BUS_IBSAP16ALT = &device_creator; const device_type A2BUS_VTC1 = &device_creator; const device_type A2BUS_VTC2 = &device_creator; +const device_type A2BUS_AEVIEWMASTER80 = &device_creator; #define VIDEOTERM_ROM_REGION "vterm_rom" #define VIDEOTERM_GFX_REGION "vterm_gfx" @@ -122,6 +123,14 @@ ROM_START( vtc2 ) ROM_LOAD( "4.ic4.bin", 0x000800, 0x000800, CRC(8a497a48) SHA1(50c3df528109c65491a001ec74e50351a652c1fd) ) ROM_END +ROM_START( a2aevm80 ) + ROM_REGION(0x800, VIDEOTERM_ROM_REGION, 0) + ROM_LOAD( "ae viewmaster 80 rom.bin", 0x000000, 0x000800, CRC(62a4b111) SHA1(159bf7c4add1435be215fddb648c0743fbcc49b5) ) + + ROM_REGION(0x1000, VIDEOTERM_GFX_REGION, 0) + ROM_LOAD( "ae viewmaster 80 video rom.bin", 0x000000, 0x000800, CRC(4801ab90) SHA1(f90658ffee7740f3cb30ecef2e151f7dc6098833) ) +ROM_END + /*************************************************************************** FUNCTION PROTOTYPES ***************************************************************************/ @@ -165,6 +174,11 @@ const rom_entry *a2bus_vtc2_device::device_rom_region() const return ROM_NAME( vtc2 ); } +const rom_entry *a2bus_aevm80_device::device_rom_region() const +{ + return ROM_NAME( a2aevm80 ); +} + //************************************************************************** // LIVE DEVICE //************************************************************************** @@ -201,6 +215,11 @@ a2bus_vtc2_device::a2bus_vtc2_device(const machine_config &mconfig, const char * { } +a2bus_aevm80_device::a2bus_aevm80_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) : + a2bus_videx80_device(mconfig, A2BUS_AEVIEWMASTER80, "Applied Engineering Viewmaster 80", tag, owner, clock, "a2aevm80", __FILE__) +{ +} + //------------------------------------------------- // device_start - device-specific startup //------------------------------------------------- diff --git a/src/emu/bus/a2bus/a2videoterm.h b/src/emu/bus/a2bus/a2videoterm.h index f5eb6467e23..5e9cc470044 100644 --- a/src/emu/bus/a2bus/a2videoterm.h +++ b/src/emu/bus/a2bus/a2videoterm.h @@ -97,11 +97,20 @@ public: virtual const rom_entry *device_rom_region() const; }; +class a2bus_aevm80_device : public a2bus_videx80_device +{ +public: + a2bus_aevm80_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); + + virtual const rom_entry *device_rom_region() const; +}; + // device type definition extern const device_type A2BUS_VIDEOTERM; extern const device_type A2BUS_IBSAP16; extern const device_type A2BUS_IBSAP16ALT; extern const device_type A2BUS_VTC1; extern const device_type A2BUS_VTC2; +extern const device_type A2BUS_AEVIEWMASTER80; #endif /* __A2BUS_VIDEOTERM__ */