summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/olyboss.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/olyboss.cpp')
-rw-r--r--src/mame/drivers/olyboss.cpp598
1 files changed, 0 insertions, 598 deletions
diff --git a/src/mame/drivers/olyboss.cpp b/src/mame/drivers/olyboss.cpp
deleted file mode 100644
index d715c8931b7..00000000000
--- a/src/mame/drivers/olyboss.cpp
+++ /dev/null
@@ -1,598 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders: Gabriele D'Antona
-/*
- Olympia BOSS
- Made in Germany around 1981
-
- The BOSS series was not a great success, as its members differed too much to be compatible:
- First they were 8085 based, later machines used a Z80A.
-
- Other distinguishing features were the capacity of the disk drives:
-
- BOSS A: Two 128K floppy drives
- BOSS B: Two 256K disk drives
- BOSS C: Two 600K disk drives
- BOSS D: One 600K disk drive, one 5 MB harddisk
- BOSS M: M for multipost, up to four BOSS machines linked together for up to 20MB shared harddisk space
-
- Olympia favoured the French Prologue operating system over CPM (cf. Olympia People PC) and supplied BAL
- as a programming language with it.
-
- Video is 80x28
-
- There are no service manuals available (or no documentation in general), so everything is guesswork.
-
- - Ports 0x80 and 0x81 seem to be related to the graphics chip and cursor position
- The rom outs value 0x81 to port 0x81 and then the sequence <column> <row> (?) to port 0x80
-
- - The machine boots up and shows "BOSS .." on the screen. Every keystroke is repeated on screen.
- If you press <return>, the machine seems to go into a boot sequence (from the HD, probably)
-
- The harddisk controller is based on a MSC-9056.
-
- Links: http://www.old-computers.com/museum/computer.asp?c=95
-*/
-
-#include "emu.h"
-#include "cpu/z80/z80.h"
-#include "cpu/i8085/i8085.h"
-#include "imagedev/floppy.h"
-#include "machine/keyboard.h"
-#include "video/upd3301.h"
-#include "machine/i8257.h"
-#include "machine/i8255.h"
-#include "machine/am9519.h"
-#include "machine/upd765.h"
-#include "machine/pic8259.h"
-#include "machine/i8251.h"
-#include "screen.h"
-
-#define UPD3301_TAG "upd3301"
-#define I8257_TAG "i8257"
-#define SCREEN_TAG "screen"
-
-//**************************************************************************
-// TYPE DEFINITIONS
-//**************************************************************************
-
-class olyboss_state : public driver_device
-{
-public:
- olyboss_state(const machine_config &mconfig, device_type type, const char *tag)
- : driver_device(mconfig, type, tag)
- , m_maincpu(*this, "maincpu")
- , m_dma(*this, I8257_TAG)
- , m_crtc(*this, UPD3301_TAG)
- , m_fdc(*this, "fdc")
- , m_uic(*this, "uic")
- , m_pic(*this, "pic")
- , m_ppi(*this, "ppi")
- , m_fdd0(*this, "fdc:0")
- , m_fdd1(*this, "fdc:1")
- , m_rom(*this, "mainrom")
- , m_lowram(*this, "lowram")
- , m_char_rom(*this, UPD3301_TAG)
- { }
-
-public:
- void bossa85(machine_config &config);
- void bossb85(machine_config &config);
- void olybossb(machine_config &config);
- void olybossc(machine_config &config);
- void olybossd(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:
- u8 keyboard_read();
-
- UPD3301_DRAW_CHARACTER_MEMBER( olyboss_display_pixels );
-
- DECLARE_WRITE_LINE_MEMBER( hrq_w );
- DECLARE_WRITE_LINE_MEMBER( tc_w );
- DECLARE_WRITE_LINE_MEMBER( romdis_w );
- u8 dma_mem_r(offs_t offset);
- void dma_mem_w(offs_t offset, u8 data);
- u8 fdcctrl_r();
- void fdcctrl_w(u8 data);
- void fdcctrl85_w(u8 data);
- u8 fdcdma_r();
- void fdcdma_w(u8 data);
- void crtcdma_w(u8 data);
- u8 rom_r(offs_t offset);
- void rom_w(offs_t offset, u8 data);
- void vchrmap_w(offs_t offset, u8 data);
- void vchrram_w(offs_t offset, u8 data);
- void vchrram85_w(offs_t offset, u8 data);
- void ppic_w(u8 data);
- void olyboss_io(address_map &map);
- void olyboss_mem(address_map &map);
- void olyboss85_io(address_map &map);
-
- required_device<cpu_device> m_maincpu;
- required_device<i8257_device> m_dma;
- required_device<upd3301_device> m_crtc;
- required_device<upd765a_device> m_fdc;
- optional_device<am9519_device> m_uic;
- optional_device<pic8259_device> m_pic;
- optional_device<i8255_device> m_ppi;
- required_device<floppy_connector> m_fdd0;
- optional_device<floppy_connector> m_fdd1;
- required_memory_region m_rom;
- required_shared_ptr<u8> m_lowram;
- required_memory_region m_char_rom;
-
- bool m_keybhit;
- u8 m_keystroke;
- void keyboard_put(u8 data);
- void keyboard85_put(u8 data);
- u8 m_fdcctrl, m_fdctype;
- u8 m_channel, m_vchrmap, m_vchrpage;
- u16 m_vchraddr;
- u8 m_vchrram[0x800];
- bool m_romen, m_timstate;
- emu_timer *m_timer;
-};
-
-void olyboss_state::machine_reset()
-{
- m_keybhit=false;
- m_romen = true;
- m_timstate = false;
-
- m_fdcctrl = 0;
- m_vchrmap = 0;
- m_vchrpage = 0;
- m_timer->adjust(attotime::from_hz(30), 0, attotime::from_hz(30)); // unknown timer freq, possibly com2651 BRCLK
-}
-
-void olyboss_state::device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr)
-{
- m_timstate = !m_timstate;
- if(m_pic)
- m_pic->ir0_w(m_timstate);
- else
- m_uic->ireq7_w(m_timstate);
-}
-
-//**************************************************************************
-// ADDRESS MAPS
-//**************************************************************************
-
-void olyboss_state::olyboss_mem(address_map &map)
-{
- map(0x0000, 0x7ff).rw(FUNC(olyboss_state::rom_r), FUNC(olyboss_state::rom_w)).share("lowram");
- map(0x800, 0xffff).ram();
-}
-
-void olyboss_state::olyboss_io(address_map &map)
-{
- map.global_mask(0xff);
- map.unmap_value_high();
- map(0x00, 0x08).rw(m_dma, FUNC(i8257_device::read), FUNC(i8257_device::write));
- map(0x10, 0x11).m(m_fdc, FUNC(upd765a_device::map));
- //map(0x20, 0x20) //beeper?
- map(0x30, 0x30).rw(m_uic, FUNC(am9519_device::data_r), FUNC(am9519_device::data_w));
- map(0x31, 0x31).rw(m_uic, FUNC(am9519_device::stat_r), FUNC(am9519_device::cmd_w));
- map(0x40, 0x43).rw(m_ppi, FUNC(i8255_device::read), FUNC(i8255_device::write));
- //map(0x50, 0x53) COM2651
- map(0x60, 0x60).rw(FUNC(olyboss_state::fdcctrl_r), FUNC(olyboss_state::fdcctrl_w));
- map(0x80, 0x81).rw(m_crtc, FUNC(upd3301_device::read), FUNC(upd3301_device::write));
- map(0x82, 0x84).w(FUNC(olyboss_state::vchrmap_w));
- map(0x90, 0x9f).w(FUNC(olyboss_state::vchrram_w));
-}
-
-void olyboss_state::olyboss85_io(address_map &map)
-{
- map.global_mask(0xff);
- map.unmap_value_high();
- map(0x0, 0x8).rw(m_dma, FUNC(i8257_device::read), FUNC(i8257_device::write));
- map(0x10, 0x11).m(m_fdc, FUNC(upd765a_device::map));
- map(0x20, 0x21).rw(m_crtc, FUNC(upd3301_device::read), FUNC(upd3301_device::write));
- map(0x30, 0x31).rw(m_pic, FUNC(pic8259_device::read), FUNC(pic8259_device::write));
- map(0x42, 0x42).r(FUNC(olyboss_state::keyboard_read));
- map(0x42, 0x44).w(FUNC(olyboss_state::vchrram85_w));
- map(0x45, 0x45).w(FUNC(olyboss_state::fdcctrl85_w));
-}
-
-static INPUT_PORTS_START( olyboss )
- PORT_START("DSW")
-INPUT_PORTS_END
-
-u8 olyboss_state::rom_r(offs_t offset)
-{
- return m_romen ? m_rom->as_u8(offset) : m_lowram[offset];
-}
-
-void olyboss_state::rom_w(offs_t offset, u8 data)
-{
- m_lowram[offset] = data;
-}
-
-void olyboss_state::vchrram85_w(offs_t offset, u8 data)
-{
- switch(offset)
- {
- case 0:
- m_vchraddr = (m_vchraddr & 0x00f) | (data << 4);
- break;
- case 1:
- m_vchraddr = (m_vchraddr & 0xff0) | (data & 0xf);
- break;
- case 2:
- m_vchrram[m_vchraddr] = data;
- break;
- }
-}
-
-void olyboss_state::vchrmap_w(offs_t offset, u8 data)
-{
- switch(offset)
- {
- case 0:
- m_vchrmap = data;
- break;
- case 2:
- m_vchrpage = data & 0x7f;
- break;
- }
-}
-
-void olyboss_state::vchrram_w(offs_t offset, u8 data)
-{
- m_vchrram[(m_vchrpage << 4) + (offset ^ 0xf)] = data;
-}
-
-WRITE_LINE_MEMBER( olyboss_state::romdis_w )
-{
- m_romen = state ? false : true;
-}
-
-//**************************************************************************
-// VIDEO
-//**************************************************************************
-
-UPD3301_DRAW_CHARACTER_MEMBER( olyboss_state::olyboss_display_pixels )
-{
- u8 data = cc & 0x7f;
- if(cc & 0x80)
- data = m_vchrram[(data << 4) | lc];
- else
- data = m_char_rom->base()[(data << 4) | lc];
-
- //if (lc >= 8) return;
- if (csr)
- data = 0xff;
-
- for (int i = 0; i < 8; i++)
- {
- int color = BIT(data, 7);
- bitmap.pix(y, (sx * 8) + i) = color ? 0xffffff : 0;
- data <<= 1;
- }
-}
-
-//**************************************************************************
-// KEYBOARD
-//**************************************************************************
-
-u8 olyboss_state::keyboard_read()
-{
- //logerror ("keyboard_read offs [%d]\n",offset);
- if (m_keybhit)
- {
- m_keybhit=false;
- if(m_pic)
- m_pic->ir1_w(CLEAR_LINE);
- return m_keystroke;
- }
- return 0x00;
-}
-
-void olyboss_state::ppic_w(u8 data)
-{
- m_uic->ireq4_w(BIT(data, 5) ? CLEAR_LINE : ASSERT_LINE);
- m_fdcctrl = (m_fdcctrl & ~0x10) | (BIT(data, 5) ? 0x10 : 0);
-}
-
-void olyboss_state::machine_start()
-{
- m_timer = timer_alloc();
- const char *type = m_fdd0->get_device()->shortname();
- if(!strncmp(type, "floppy_525_qd", 13))
- m_fdctype = 0xa0;
- else
- m_fdctype = 0x80;
-}
-
-void olyboss_state::keyboard_put(u8 data)
-{
- if (data)
- {
- //logerror("Keyboard stroke [%2x]\n",data);
- m_keystroke=data ^ 0xff;
- m_keybhit=true;
- m_ppi->pc4_w(ASSERT_LINE);
- m_ppi->pc4_w(CLEAR_LINE);
- }
-}
-
-void olyboss_state::keyboard85_put(u8 data)
-{
- if(data)
- {
- m_pic->ir1_w(ASSERT_LINE);
- m_keybhit = true;
- m_keystroke = data;
- }
-}
-
-/* 8257 Interface */
-
-WRITE_LINE_MEMBER( olyboss_state::hrq_w )
-{
- //logerror("hrq_w\n");
- m_maincpu->set_input_line(INPUT_LINE_HALT,state);
- m_dma->hlda_w(state);
-}
-
-WRITE_LINE_MEMBER( olyboss_state::tc_w )
-{
- if((m_channel == 0) && state)
- {
- m_fdc->tc_w(1);
- m_fdc->tc_w(0);
- }
-}
-
-u8 olyboss_state::dma_mem_r(offs_t offset)
-{
- address_space &program = m_maincpu->space(AS_PROGRAM);
- return program.read_byte(offset);
-}
-
-void olyboss_state::dma_mem_w(offs_t offset, u8 data)
-{
- address_space &program = m_maincpu->space(AS_PROGRAM);
- program.write_byte(offset, data);
-}
-
-u8 olyboss_state::fdcdma_r()
-{
- m_channel = 0;
- return m_fdc->dma_r();
-}
-
-void olyboss_state::fdcdma_w(u8 data)
-{
- m_channel = 0;
- m_fdc->dma_w(data);
-}
-
-void olyboss_state::crtcdma_w(u8 data)
-{
- m_channel = 2;
- m_crtc->dack_w(data);
-}
-
-u8 olyboss_state::fdcctrl_r()
-{
- return m_fdcctrl | m_fdctype; // 0xc0 seems to indicate an 8" drive, 0x80 a 5.25" dd drive, 0xa0 a 5.25" qd drive
-}
-
-void olyboss_state::fdcctrl_w(u8 data)
-{
- m_fdcctrl = data;
- m_romen = (m_fdcctrl & 1) ? false : true;
- m_fdd0->get_device()->mon_w(!(data & 2));
- if(m_fdd1)
- m_fdd1->get_device()->mon_w(!(data & 4));
-}
-
-void olyboss_state::fdcctrl85_w(u8 data)
-{
- m_fdcctrl = data;
- m_fdd0->get_device()->mon_w(!(data & 0x40));
- if(m_fdd1)
- m_fdd1->get_device()->mon_w(!(data & 0x80));
-}
-
-static void bossa_floppies(device_slot_interface &device)
-{
- device.option_add("525ssdd", FLOPPY_525_SSDD);
-}
-
-static void bossb_floppies(device_slot_interface &device)
-{
- device.option_add("525dd", FLOPPY_525_DD);
-}
-
-static void bosscd_floppies(device_slot_interface &device)
-{
- device.option_add("525qd", FLOPPY_525_QD);
-}
-
-//**************************************************************************
-// MACHINE CONFIGURATION
-//**************************************************************************
-
-void olyboss_state::olybossd(machine_config &config)
-{
- Z80(config, m_maincpu, 4_MHz_XTAL);
- m_maincpu->set_addrmap(AS_PROGRAM, &olyboss_state::olyboss_mem);
- m_maincpu->set_addrmap(AS_IO, &olyboss_state::olyboss_io);
- m_maincpu->set_irq_acknowledge_callback("uic", FUNC(am9519_device::iack_cb));
-
- /* video hardware */
-
- screen_device &screen(SCREEN(config, SCREEN_TAG, SCREEN_TYPE_RASTER));
- screen.set_color(rgb_t::green());
- screen.set_refresh_hz(60);
- screen.set_screen_update(UPD3301_TAG, FUNC(upd3301_device::screen_update));
- screen.set_size(80*8, 28*11);
- screen.set_visarea(0, (80*8)-1, 0, (28*11)-1);
-
- /* devices */
-
- AM9519(config, m_uic, 0);
- m_uic->out_int_callback().set_inputline("maincpu", 0);
-
- UPD765A(config, m_fdc, 8'000'000, true, true);
- m_fdc->intrq_wr_callback().set(m_uic, FUNC(am9519_device::ireq2_w)).invert();
- m_fdc->drq_wr_callback().set(m_dma, FUNC(i8257_device::dreq0_w));
- FLOPPY_CONNECTOR(config, m_fdd0, bosscd_floppies, "525qd", floppy_image_device::default_mfm_floppy_formats);
- m_fdd0->enable_sound(true);
-
- I8257(config, m_dma, XTAL(4'000'000));
- m_dma->out_hrq_cb().set(FUNC(olyboss_state::hrq_w));
- m_dma->in_memr_cb().set(FUNC(olyboss_state::dma_mem_r));
- m_dma->out_memw_cb().set(FUNC(olyboss_state::dma_mem_w));
- m_dma->in_ior_cb<0>().set(FUNC(olyboss_state::fdcdma_r));
- m_dma->out_iow_cb<0>().set(FUNC(olyboss_state::fdcdma_w));
- m_dma->out_iow_cb<2>().set(FUNC(olyboss_state::crtcdma_w));
- m_dma->out_tc_cb().set(FUNC(olyboss_state::tc_w));
-
- UPD3301(config, m_crtc, XTAL(14'318'181));
- m_crtc->set_character_width(8);
- m_crtc->set_display_callback(FUNC(olyboss_state::olyboss_display_pixels));
- m_crtc->set_attribute_fetch_callback(m_crtc, FUNC(upd3301_device::default_attr_fetch));
- m_crtc->drq_wr_callback().set(m_dma, FUNC(i8257_device::dreq2_w));
- m_crtc->int_wr_callback().set(m_uic, FUNC(am9519_device::ireq0_w)).invert();
- m_crtc->set_screen(SCREEN_TAG);
-
- I8255(config, m_ppi);
- m_ppi->in_pa_callback().set(FUNC(olyboss_state::keyboard_read));
- m_ppi->out_pc_callback().set(FUNC(olyboss_state::ppic_w));
-
- /* keyboard */
- generic_keyboard_device &keyboard(GENERIC_KEYBOARD(config, "keyboard", 0));
- keyboard.set_keyboard_callback(FUNC(olyboss_state::keyboard_put));
-}
-
-void olyboss_state::olybossb(machine_config &config)
-{
- olybossd(config);
- config.device_remove("fdc:0");
- FLOPPY_CONNECTOR(config, "fdc:0", bossb_floppies, "525dd", floppy_image_device::default_mfm_floppy_formats).enable_sound(true);
- FLOPPY_CONNECTOR(config, "fdc:1", bossb_floppies, "525dd", floppy_image_device::default_mfm_floppy_formats).enable_sound(true);
-}
-
-void olyboss_state::olybossc(machine_config &config)
-{
- olybossd(config);
- FLOPPY_CONNECTOR(config, "fdc:1", bosscd_floppies, "525qd", floppy_image_device::default_mfm_floppy_formats).enable_sound(true);
-}
-
-void olyboss_state::bossb85(machine_config &config)
-{
- i8085a_cpu_device &maincpu(I8085A(config, m_maincpu, 4_MHz_XTAL));
- maincpu.set_addrmap(AS_PROGRAM, &olyboss_state::olyboss_mem);
- maincpu.set_addrmap(AS_IO, &olyboss_state::olyboss85_io);
- maincpu.in_inta_func().set(m_pic, FUNC(pic8259_device::acknowledge));
- maincpu.out_sod_func().set(FUNC(olyboss_state::romdis_w));
-
- /* video hardware */
- screen_device &screen(SCREEN(config, SCREEN_TAG, SCREEN_TYPE_RASTER));
- screen.set_color(rgb_t::green());
- screen.set_refresh_hz(60);
- screen.set_screen_update(UPD3301_TAG, FUNC(upd3301_device::screen_update));
- screen.set_size(80*8, 28*11);
- screen.set_visarea(0, (80*8)-1, 0, (28*11)-1);
-
- /* devices */
-
- PIC8259(config, m_pic, 0);
- m_pic->out_int_callback().set_inputline(m_maincpu, 0);
-
- UPD765A(config, m_fdc, 8'000'000, true, true);
- m_fdc->intrq_wr_callback().set_inputline(m_maincpu, I8085_RST65_LINE);
- m_fdc->drq_wr_callback().set(m_dma, FUNC(i8257_device::dreq0_w));
- FLOPPY_CONNECTOR(config, "fdc:0", bossb_floppies, "525dd", floppy_image_device::default_mfm_floppy_formats).enable_sound(true);
- FLOPPY_CONNECTOR(config, "fdc:1", bossb_floppies, "525dd", floppy_image_device::default_mfm_floppy_formats).enable_sound(true);
-
- I8257(config, m_dma, XTAL(4'000'000));
- m_dma->out_hrq_cb().set(FUNC(olyboss_state::hrq_w));
- m_dma->in_memr_cb().set(FUNC(olyboss_state::dma_mem_r));
- m_dma->out_memw_cb().set(FUNC(olyboss_state::dma_mem_w));
- m_dma->in_ior_cb<0>().set(FUNC(olyboss_state::fdcdma_r));
- m_dma->out_iow_cb<0>().set(FUNC(olyboss_state::fdcdma_w));
- m_dma->out_iow_cb<2>().set(FUNC(olyboss_state::crtcdma_w));
- m_dma->out_tc_cb().set(FUNC(olyboss_state::tc_w));
-
- UPD3301(config, m_crtc, XTAL(14'318'181));
- m_crtc->set_character_width(8);
- m_crtc->set_display_callback(FUNC(olyboss_state::olyboss_display_pixels));
- m_crtc->set_attribute_fetch_callback(m_crtc, FUNC(upd3301_device::default_attr_fetch));
- m_crtc->drq_wr_callback().set(m_dma, FUNC(i8257_device::dreq2_w));
- m_crtc->int_wr_callback().set_inputline("maincpu", I8085_RST75_LINE);
- m_crtc->set_screen(SCREEN_TAG);
-
- /* keyboard */
- generic_keyboard_device &keyboard(GENERIC_KEYBOARD(config, "keyboard", 0));
- keyboard.set_keyboard_callback(FUNC(olyboss_state::keyboard85_put));
-}
-
-void olyboss_state::bossa85(machine_config &config)
-{
- bossb85(config);
- FLOPPY_CONNECTOR(config.replace(), "fdc:0", bossa_floppies, "525ssdd", floppy_image_device::default_mfm_floppy_formats).enable_sound(true);
- FLOPPY_CONNECTOR(config.replace(), "fdc:1", bossa_floppies, "525ssdd", floppy_image_device::default_mfm_floppy_formats).enable_sound(true);
-}
-
-//**************************************************************************
-// ROM DEFINITIONS
-//**************************************************************************
-ROM_START( bossa85 )
- ROM_REGION(0x800, "mainrom", ROMREGION_ERASEFF)
- ROM_LOAD( "boss_8085_bios.bin", 0x0000, 0x800, CRC(43030231) SHA1(a1f6546a9dc1066324e93e5eed886f2313678180) )
-
- ROM_REGION( 0x800, UPD3301_TAG, 0)
- ROM_LOAD( "olympia_boss_graphics_251-461.bin", 0x0000, 0x800, CRC(56149540) SHA1(b2b893bd219308fc98a38528beb7ddae391c7609) )
-ROM_END
-
-ROM_START( bossb85 )
- ROM_REGION(0x800, "mainrom", ROMREGION_ERASEFF)
- ROM_LOAD( "boss_8085_bios.bin", 0x0000, 0x800, CRC(43030231) SHA1(a1f6546a9dc1066324e93e5eed886f2313678180) )
-
- ROM_REGION( 0x800, UPD3301_TAG, 0)
- ROM_LOAD( "olympia_boss_graphics_251-461.bin", 0x0000, 0x800, CRC(56149540) SHA1(b2b893bd219308fc98a38528beb7ddae391c7609) )
-ROM_END
-
-ROM_START( olybossb ) // verified: BOSS B uses the same ROMs as D, so C is safe to assume as well
- ROM_REGION(0x800, "mainrom", ROMREGION_ERASEFF)
- ROM_LOAD( "olympia_boss_system_251-462.bin", 0x0000, 0x800, CRC(01b99609) SHA1(07b764c36337c12f7b40aa309b0805ceed8b22e2) )
-
- ROM_REGION( 0x800, UPD3301_TAG, 0)
- ROM_LOAD( "olympia_boss_graphics_251-461.bin", 0x0000, 0x800, CRC(56149540) SHA1(b2b893bd219308fc98a38528beb7ddae391c7609) )
-ROM_END
-
-ROM_START( olybossc )
- ROM_REGION(0x800, "mainrom", ROMREGION_ERASEFF)
- ROM_LOAD( "olympia_boss_system_251-462.bin", 0x0000, 0x800, CRC(01b99609) SHA1(07b764c36337c12f7b40aa309b0805ceed8b22e2) )
-
- ROM_REGION( 0x800, UPD3301_TAG, 0)
- ROM_LOAD( "olympia_boss_graphics_251-461.bin", 0x0000, 0x800, CRC(56149540) SHA1(b2b893bd219308fc98a38528beb7ddae391c7609) )
-ROM_END
-
-ROM_START( olybossd )
- ROM_REGION(0x800, "mainrom", ROMREGION_ERASEFF)
- ROM_LOAD( "olympia_boss_system_251-462.bin", 0x0000, 0x800, CRC(01b99609) SHA1(07b764c36337c12f7b40aa309b0805ceed8b22e2) )
-
- ROM_REGION( 0x800, UPD3301_TAG, 0)
- ROM_LOAD( "olympia_boss_graphics_251-461.bin", 0x0000, 0x800, CRC(56149540) SHA1(b2b893bd219308fc98a38528beb7ddae391c7609) )
-ROM_END
-
-
-//**************************************************************************
-// SYSTEM DRIVERS
-//**************************************************************************
-
-// YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS
-COMP(1981, bossa85, olybossd, 0, bossa85, olyboss, olyboss_state, empty_init, "Olympia International", "Olympia BOSS A 8085", MACHINE_NOT_WORKING | MACHINE_NO_SOUND )
-COMP(1981, bossb85, olybossd, 0, bossb85, olyboss, olyboss_state, empty_init, "Olympia International", "Olympia BOSS B 8085", MACHINE_NOT_WORKING | MACHINE_NO_SOUND )
-COMP(1981, olybossb, olybossd, 0, olybossb, olyboss, olyboss_state, empty_init, "Olympia International", "Olympia BOSS B", MACHINE_NOT_WORKING | MACHINE_NO_SOUND )
-COMP(1981, olybossc, olybossd, 0, olybossc, olyboss, olyboss_state, empty_init, "Olympia International", "Olympia BOSS C", MACHINE_NOT_WORKING | MACHINE_NO_SOUND )
-COMP(1981, olybossd, 0, 0, olybossd, olyboss, olyboss_state, empty_init, "Olympia International", "Olympia BOSS D", MACHINE_NOT_WORKING | MACHINE_NO_SOUND )