summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/cosmicos.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/cosmicos.cpp')
-rw-r--r--src/mame/drivers/cosmicos.cpp576
1 files changed, 0 insertions, 576 deletions
diff --git a/src/mame/drivers/cosmicos.cpp b/src/mame/drivers/cosmicos.cpp
deleted file mode 100644
index a997accc93e..00000000000
--- a/src/mame/drivers/cosmicos.cpp
+++ /dev/null
@@ -1,576 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Curt Coder
-/*
-
- COSMICOS
-
- http://retro.hansotten.nl/index.php?page=1802-cosmicos
-
- Press G to start, and to enable the debugger (if -debug used).
- The video options include 8-digit LEDs, 2-digit LEDs, and CRT,
- of which the default is the 8-digit LEDs. Unknown how to enable
- the others.
-
- HEX-monitor
-
- 0 - start user program
- 1 - inspect and/or change memory
- 2 - write memory block to cassette
- 3 - read memory block from cassette
- 4 - move memory block
- 5 - write memory block to EPROM
- C - start user program from address 0000
-
-*/
-
-/*
-
- TODO:
-
- - display interface INH
- - 2 segment display
- - single step
- - ascii monitor
- - PPI 8255
- - Floppy WD1793
- - COM8017 UART to printer
-
-*/
-
-#include "emu.h"
-#include "includes/cosmicos.h"
-
-#include "screen.h"
-#include "speaker.h"
-
-#include "cosmicos.lh"
-
-
-enum
-{
- MODE_RUN,
- MODE_LOAD,
- MODE_PAUSE,
- MODE_RESET
-};
-
-/* Read/Write Handlers */
-
-READ8_MEMBER( cosmicos_state::read )
-{
- if (m_boot) offset |= 0xc000;
-
- uint8_t data = 0;
-
- if (offset < 0xc000)
- {
- // TODO
- }
- else if (offset < 0xd000)
- {
- data = m_rom->base()[offset & 0xfff];
- }
- else if (!m_ram_disable && (offset >= 0xff00))
- {
- data = m_ram->pointer()[offset & 0xff];
- }
-
- return data;
-}
-
-WRITE8_MEMBER( cosmicos_state::write )
-{
- if (m_boot) offset |= 0xc000;
-
- if (offset < 0xc000)
- {
- // TODO
- }
- else if (!m_ram_disable && !m_ram_protect && (offset >= 0xff00))
- {
- m_ram->pointer()[offset & 0xff] = data;
- }
-}
-
-READ8_MEMBER( cosmicos_state::video_off_r )
-{
- uint8_t data = 0;
-
- if (!m_q)
- {
- data = m_cti->dispoff_r(space, 0);
- }
-
- return data;
-}
-
-READ8_MEMBER( cosmicos_state::video_on_r )
-{
- uint8_t data = 0;
-
- if (!m_q)
- {
- data = m_cti->dispon_r(space, 0);
- }
-
- return data;
-}
-
-WRITE8_MEMBER( cosmicos_state::audio_latch_w )
-{
- if (m_q)
- {
- m_cti->tone_latch_w(space, 0, data);
- }
-}
-
-READ8_MEMBER( cosmicos_state::hex_keyboard_r )
-{
- uint8_t data = 0;
- int i;
-
- for (i = 0; i < 4; i++)
- {
- if (BIT(m_keylatch, i))
- {
- uint8_t keydata = m_key_row[i]->read();
-
- if (BIT(keydata, 0)) data |= 0x01;
- if (BIT(keydata, 1)) data |= 0x02;
- if (BIT(keydata, 2)) data |= 0x04;
- if (BIT(keydata, 3)) data |= 0x06;
- }
- }
-
- return data;
-}
-
-WRITE8_MEMBER( cosmicos_state::hex_keylatch_w )
-{
- m_keylatch = data & 0x0f;
-}
-
-READ8_MEMBER( cosmicos_state::reset_counter_r )
-{
- m_counter = 0;
-
- return 0;
-}
-
-WRITE8_MEMBER( cosmicos_state::segment_w )
-{
- m_counter++;
-
- if (m_counter == 10)
- {
- m_counter = 0;
- }
-
- if ((m_counter > 0) && (m_counter < 9))
- {
- m_digits[10 - m_counter] = data;
- }
-}
-
-READ8_MEMBER( cosmicos_state::data_r )
-{
- return m_data;
-}
-
-WRITE8_MEMBER( cosmicos_state::display_w )
-{
- m_segment = data;
-}
-
-/* Memory Maps */
-
-void cosmicos_state::cosmicos_mem(address_map &map)
-{
- map(0x0000, 0xffff).rw(FUNC(cosmicos_state::read), FUNC(cosmicos_state::write));
-}
-
-void cosmicos_state::cosmicos_io(address_map &map)
-{
-// map(0x00, 0x00)
- map(0x01, 0x01).r(FUNC(cosmicos_state::video_on_r));
- map(0x02, 0x02).rw(FUNC(cosmicos_state::video_off_r), FUNC(cosmicos_state::audio_latch_w));
-// map(0x03, 0x03)
-// map(0x04, 0x04)
- map(0x05, 0x05).rw(FUNC(cosmicos_state::hex_keyboard_r), FUNC(cosmicos_state::hex_keylatch_w));
- map(0x06, 0x06).rw(FUNC(cosmicos_state::reset_counter_r), FUNC(cosmicos_state::segment_w));
- map(0x07, 0x07).rw(FUNC(cosmicos_state::data_r), FUNC(cosmicos_state::display_w));
-}
-
-/* Input Ports */
-
-INPUT_CHANGED_MEMBER( cosmicos_state::data )
-{
- uint8_t data = m_io_data->read();
- int i;
-
- for (i = 0; i < 8; i++)
- {
- if (!BIT(data, i))
- {
- m_data |= (1 << i);
- m_leds[LED_D0 - i] = 1;
- }
- }
-}
-
-INPUT_CHANGED_MEMBER( cosmicos_state::enter )
-{
- if (!newval && !m_wait && !m_clear)
- {
- m_maincpu->set_input_line(COSMAC_INPUT_LINE_DMAIN, ASSERT_LINE);
- }
-}
-
-INPUT_CHANGED_MEMBER( cosmicos_state::single_step )
-{
- // if in PAUSE mode, set RUN mode until TPB=active
-}
-
-void cosmicos_state::set_cdp1802_mode(int mode)
-{
- m_leds[LED_RUN] = 0;
- m_leds[LED_LOAD] = 0;
- m_leds[LED_PAUSE] = 0;
- m_leds[LED_RESET] = 0;
-
- switch (mode)
- {
- case MODE_RUN:
- m_leds[LED_RUN] = 1;
-
- m_wait = 1;
- m_clear = 1;
- break;
-
- case MODE_LOAD:
- m_leds[LED_LOAD] = 1;
-
- m_wait = 0;
- m_clear = 0;
- break;
-
- case MODE_PAUSE:
- m_leds[LED_PAUSE] = 1;
-
- m_wait = 1;
- m_clear = 0;
- break;
-
- case MODE_RESET:
- m_maincpu->set_input_line(COSMAC_INPUT_LINE_INT, CLEAR_LINE);
- m_maincpu->set_input_line(COSMAC_INPUT_LINE_DMAIN, CLEAR_LINE);
-
- m_wait = 1;
- m_clear = 0;
- m_boot = 1;
-
- m_leds[LED_RESET] = 1;
- break;
- }
-}
-
-INPUT_CHANGED_MEMBER( cosmicos_state::run ) { if (!newval) set_cdp1802_mode(MODE_RUN); }
-INPUT_CHANGED_MEMBER( cosmicos_state::load ) { if (!newval) set_cdp1802_mode(MODE_LOAD); }
-INPUT_CHANGED_MEMBER( cosmicos_state::cosmicos_pause ) { if (!newval) set_cdp1802_mode(MODE_PAUSE); }
-INPUT_CHANGED_MEMBER( cosmicos_state::reset ) { if (!newval) set_cdp1802_mode(MODE_RESET); }
-
-void cosmicos_state::clear_input_data()
-{
- int i;
-
- m_data = 0;
-
- for (i = 0; i < 8; i++)
- {
- m_leds[LED_D0 - i] = 0;
- }
-}
-
-INPUT_CHANGED_MEMBER( cosmicos_state::clear_data )
-{
- clear_input_data();
-}
-
-INPUT_CHANGED_MEMBER( cosmicos_state::memory_protect )
-{
- m_ram_protect = newval;
-}
-
-INPUT_CHANGED_MEMBER( cosmicos_state::memory_disable )
-{
- m_ram_disable = newval;
-}
-
-static INPUT_PORTS_START( cosmicos )
- PORT_START("DATA")
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("D0") PORT_CODE(KEYCODE_0_PAD) PORT_CHAR('0') PORT_CHANGED_MEMBER(DEVICE_SELF, cosmicos_state, data, 0)
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("D1") PORT_CODE(KEYCODE_1_PAD) PORT_CHAR('1') PORT_CHANGED_MEMBER(DEVICE_SELF, cosmicos_state, data, 0)
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("D2") PORT_CODE(KEYCODE_2_PAD) PORT_CHAR('2') PORT_CHANGED_MEMBER(DEVICE_SELF, cosmicos_state, data, 0)
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("D3") PORT_CODE(KEYCODE_3_PAD) PORT_CHAR('3') PORT_CHANGED_MEMBER(DEVICE_SELF, cosmicos_state, data, 0)
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("D4") PORT_CODE(KEYCODE_4_PAD) PORT_CHAR('4') PORT_CHANGED_MEMBER(DEVICE_SELF, cosmicos_state, data, 0)
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("D5") PORT_CODE(KEYCODE_5_PAD) PORT_CHAR('5') PORT_CHANGED_MEMBER(DEVICE_SELF, cosmicos_state, data, 0)
- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("D6") PORT_CODE(KEYCODE_6_PAD) PORT_CHAR('6') PORT_CHANGED_MEMBER(DEVICE_SELF, cosmicos_state, data, 0)
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("D7") PORT_CODE(KEYCODE_7_PAD) PORT_CHAR('7') PORT_CHANGED_MEMBER(DEVICE_SELF, cosmicos_state, data, 0)
-
- PORT_START("BUTTONS")
- PORT_BIT( 0x001, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_ENTER_PAD) PORT_NAME("Enter") PORT_CHANGED_MEMBER(DEVICE_SELF, cosmicos_state, enter, 0)
- PORT_BIT( 0x002, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_SPACE) PORT_NAME("Single Step") PORT_CHANGED_MEMBER(DEVICE_SELF, cosmicos_state, single_step, 0)
- PORT_BIT( 0x004, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_G) PORT_NAME("Run") PORT_CHANGED_MEMBER(DEVICE_SELF, cosmicos_state, run, 0)
- PORT_BIT( 0x008, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_L) PORT_NAME("Load") PORT_CHANGED_MEMBER(DEVICE_SELF, cosmicos_state, load, 0)
- PORT_BIT( 0x010, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_S) PORT_NAME(DEF_STR( Pause )) PORT_CHANGED_MEMBER(DEVICE_SELF, cosmicos_state, cosmicos_pause, 0)
- PORT_BIT( 0x020, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_R) PORT_NAME("Reset") PORT_CHANGED_MEMBER(DEVICE_SELF, cosmicos_state, reset, 0)
- PORT_BIT( 0x040, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_DEL_PAD) PORT_NAME("Clear Data") PORT_CHANGED_MEMBER(DEVICE_SELF, cosmicos_state, clear_data, 0)
- PORT_BIT( 0x080, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_M) PORT_NAME("Memory Protect") PORT_CHANGED_MEMBER(DEVICE_SELF, cosmicos_state, memory_protect, 0) PORT_TOGGLE
- PORT_BIT( 0x100, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_N) PORT_NAME("Memory Disable") PORT_CHANGED_MEMBER(DEVICE_SELF, cosmicos_state, memory_disable, 0) PORT_TOGGLE
-
- PORT_START("Y1")
- PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_0) PORT_CHAR('0')
- PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_1) PORT_CHAR('1')
- PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_2) PORT_CHAR('2')
- PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_3) PORT_CHAR('3')
-
- PORT_START("Y2")
- PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_4) PORT_CHAR('4')
- PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_5) PORT_CHAR('5')
- PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_6) PORT_CHAR('6')
- PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_7) PORT_CHAR('7')
-
- PORT_START("Y3")
- PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_8) PORT_CHAR('8')
- PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_9) PORT_CHAR('9')
- PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_A) PORT_CHAR('A')
- PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_B) PORT_CHAR('B')
-
- PORT_START("Y4")
- PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_C) PORT_CHAR('C')
- PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_D) PORT_CHAR('D')
- PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_E) PORT_CHAR('E')
- PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_F) PORT_CHAR('F')
-
- PORT_START("SPECIAL")
- PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("RET") PORT_CODE(KEYCODE_F1)
- PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("DEC") PORT_CODE(KEYCODE_F2)
- PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("REQ") PORT_CODE(KEYCODE_F3)
- PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("SEQ") PORT_CODE(KEYCODE_F4)
-INPUT_PORTS_END
-
-/* Video */
-
-TIMER_DEVICE_CALLBACK_MEMBER(cosmicos_state::digit_tick)
-{
- m_digit ^= 1;
-
- m_digits[m_digit] = m_segment;
-}
-
-TIMER_DEVICE_CALLBACK_MEMBER(cosmicos_state::int_tick)
-{
- m_maincpu->set_input_line(COSMAC_INPUT_LINE_INT, ASSERT_LINE);
-}
-
-WRITE_LINE_MEMBER( cosmicos_state::dmaout_w )
-{
- m_dmaout = state;
-}
-
-WRITE_LINE_MEMBER( cosmicos_state::efx_w )
-{
- m_efx = state;
-}
-
-/* CDP1802 Configuration */
-
-READ_LINE_MEMBER( cosmicos_state::wait_r )
-{
- return m_wait;
-}
-
-READ_LINE_MEMBER( cosmicos_state::clear_r )
-{
- return m_clear;
-}
-
-READ_LINE_MEMBER( cosmicos_state::ef1_r )
-{
- uint8_t special = m_special->read();
-
- return BIT(special, 0);
-}
-
-READ_LINE_MEMBER( cosmicos_state::ef2_r )
-{
- uint8_t special = m_special->read();
- int casin = (m_cassette)->input() < 0.0;
-
- m_leds[LED_CASSETTE] = casin;
-
- return BIT(special, 1) | BIT(special, 3) | casin;
-}
-
-READ_LINE_MEMBER( cosmicos_state::ef3_r )
-{
- uint8_t special = m_special->read();
-
- return BIT(special, 2) | BIT(special, 3);
-}
-
-READ_LINE_MEMBER( cosmicos_state::ef4_r )
-{
- return BIT(m_buttons->read(), 0);
-}
-
-WRITE_LINE_MEMBER( cosmicos_state::q_w )
-{
- /* cassette */
- m_cassette->output(state ? +1.0 : -1.0);
-
- /* boot */
- if (state) m_boot = 0;
-
- /* CDP1864 audio enable */
- m_cti->aoe_w(state);
-
- m_q = state;
-}
-
-READ8_MEMBER( cosmicos_state::dma_r )
-{
- return m_data;
-}
-
-WRITE8_MEMBER( cosmicos_state::sc_w )
-{
- int sc1 = BIT(data, 1);
-
- if (m_sc1 && !sc1)
- {
- clear_input_data();
- }
-
- if (sc1)
- {
- m_maincpu->set_input_line(COSMAC_INPUT_LINE_INT, CLEAR_LINE);
- m_maincpu->set_input_line(COSMAC_INPUT_LINE_DMAIN, CLEAR_LINE);
- }
-
- m_sc1 = sc1;
-}
-
-/* Machine Initialization */
-
-void cosmicos_state::machine_start()
-{
- m_digits.resolve();
- m_leds.resolve();
-
- /* initialize LED display */
- m_led->rbi_w(1);
-
- /* register for state saving */
- save_item(NAME(m_wait));
- save_item(NAME(m_clear));
- save_item(NAME(m_sc1));
- save_item(NAME(m_data));
- save_item(NAME(m_boot));
- save_item(NAME(m_ram_protect));
- save_item(NAME(m_ram_disable));
- save_item(NAME(m_keylatch));
- save_item(NAME(m_segment));
- save_item(NAME(m_digit));
- save_item(NAME(m_counter));
- save_item(NAME(m_q));
- save_item(NAME(m_dmaout));
- save_item(NAME(m_efx));
- save_item(NAME(m_video_on));
-}
-
-void cosmicos_state::machine_reset()
-{
- set_cdp1802_mode(MODE_RESET);
-}
-
-/* Quickload */
-
-QUICKLOAD_LOAD_MEMBER(cosmicos_state::quickload_cb)
-{
- uint8_t *ptr = m_rom->base();
- int size = image.length();
-
- /* load image to RAM */
- image.fread(ptr, size);
-
- return image_init_result::PASS;
-}
-
-/* Machine Driver */
-
-void cosmicos_state::cosmicos(machine_config &config)
-{
- /* basic machine hardware */
- CDP1802(config, m_maincpu, 1.75_MHz_XTAL);
- m_maincpu->set_addrmap(AS_PROGRAM, &cosmicos_state::cosmicos_mem);
- m_maincpu->set_addrmap(AS_IO, &cosmicos_state::cosmicos_io);
- m_maincpu->wait_cb().set(FUNC(cosmicos_state::wait_r));
- m_maincpu->clear_cb().set(FUNC(cosmicos_state::clear_r));
- m_maincpu->ef1_cb().set(FUNC(cosmicos_state::ef1_r));
- m_maincpu->ef2_cb().set(FUNC(cosmicos_state::ef2_r));
- m_maincpu->ef3_cb().set(FUNC(cosmicos_state::ef3_r));
- m_maincpu->ef4_cb().set(FUNC(cosmicos_state::ef4_r));
- m_maincpu->q_cb().set(FUNC(cosmicos_state::q_w));
- m_maincpu->dma_rd_cb().set(FUNC(cosmicos_state::dma_r));
- m_maincpu->sc_cb().set(FUNC(cosmicos_state::sc_w));
-
- /* video hardware */
- config.set_default_layout(layout_cosmicos);
- DM9368(config, m_led, 0);
- TIMER(config, "digit").configure_periodic(FUNC(cosmicos_state::digit_tick), attotime::from_hz(100));
- TIMER(config, "interrupt").configure_periodic(FUNC(cosmicos_state::int_tick), attotime::from_hz(1000));
-
- SCREEN(config, SCREEN_TAG, SCREEN_TYPE_RASTER);
-
- /* sound hardware */
- SPEAKER(config, "mono").front_center();
- SPEAKER_SOUND(config, m_speaker).add_route(ALL_OUTPUTS, "mono", 0.25);
-
- CDP1864(config, m_cti, 1.75_MHz_XTAL).set_screen(SCREEN_TAG);
- m_cti->inlace_cb().set_constant(0);
- m_cti->int_cb().set_inputline(m_maincpu, COSMAC_INPUT_LINE_INT);
- m_cti->dma_out_cb().set(FUNC(cosmicos_state::dmaout_w));
- m_cti->efx_cb().set(FUNC(cosmicos_state::efx_w));
- m_cti->rdata_cb().set_constant(1);
- m_cti->gdata_cb().set_constant(1);
- m_cti->bdata_cb().set_constant(1);
- m_cti->set_chrominance(RES_K(2), 0, 0, 0); // R2
- m_cti->add_route(ALL_OUTPUTS, "mono", 0.25);
-
- /* devices */
- QUICKLOAD(config, "quickload", "bin").set_load_callback(FUNC(cosmicos_state::quickload_cb));
- CASSETTE(config, m_cassette);
- m_cassette->set_default_state(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_ENABLED);
- m_cassette->add_route(ALL_OUTPUTS, "mono", 0.05);
-
- /* internal ram */
- RAM(config, RAM_TAG).set_default_size("256").set_extra_options("4K,48K");
-}
-
-/* ROMs */
-
-ROM_START( cosmicos )
- ROM_REGION( 0x1000, CDP1802_TAG, 0 )
- ROM_SYSTEM_BIOS( 0, "hex", "Hex Monitor" )
- ROMX_LOAD( "hex.ic6", 0x000, 0x400, BAD_DUMP CRC(d25124bf) SHA1(121215ba3a979e1962327ebe73cbadf784c568d9), ROM_BIOS(0) ) // typed in from manual
- ROMX_LOAD( "hex.ic7", 0x400, 0x400, BAD_DUMP CRC(364ac81b) SHA1(83936ee6a7ed44632eb290889b98fb9a500f15d4), ROM_BIOS(0) ) // typed in from manual
- ROM_SYSTEM_BIOS( 1, "ascii", "ASCII Monitor" )
- ROMX_LOAD( "ascii.ic6", 0x000, 0x400, NO_DUMP, ROM_BIOS(1) )
- ROMX_LOAD( "ascii.ic7", 0x400, 0x400, NO_DUMP, ROM_BIOS(1) )
-ROM_END
-
-/* System Drivers */
-
-// YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS
-COMP( 1979, cosmicos, 0, 0, cosmicos, cosmicos, cosmicos_state, empty_init, "Radio Bulletin", "Cosmicos", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_GRAPHICS )