diff options
Diffstat (limited to 'src/mame/drivers/bigbord2.cpp')
-rw-r--r-- | src/mame/drivers/bigbord2.cpp | 644 |
1 files changed, 0 insertions, 644 deletions
diff --git a/src/mame/drivers/bigbord2.cpp b/src/mame/drivers/bigbord2.cpp deleted file mode 100644 index 80bf88d5746..00000000000 --- a/src/mame/drivers/bigbord2.cpp +++ /dev/null @@ -1,644 +0,0 @@ -// license:BSD-3-Clause -// copyright-holders:Robbbert -/*************************************************************************** - -Ferguson / Digital Research Computers Big Board II - -2009-05-12 Skeleton driver. - -This is very much under construction. - -Despite the name, this is not like the xerox or bigboard at all. - -It is compatible only if the software uses the same published -calls to the bios. Everything else is different. - -80 = sio ce -84 = ctca ce -88 = ctcb ce -8c = dma ce -c0 = prog -c4 = status 7,6,5,4 = sw1-4; 3 = kbdstb; 2 = motor; 1 = rxdb; 0 = rxda -c8 = sys1 -cc = sys2 -d0 = kbd -d4 = 1793 ce -d8 = port7 -dc = 6845 ce - - -Difficulties encountered: - -The FDC has a INTRQ pin, the diagram says it goes to page 6, but -it just vanishes instead. - -What works: - -Turn it on, wait for cursor to appear in the top corner. Press Enter. -Now you can enter commands. - -Memory banking: - -0000-7FFF are controlled by bit 0 of port C8, and select ROM&video, or RAM -8000-FFFF control if RAM is onboard, or on S100 bus (do not know what controls this) -We do not emulate the S100, so therefore banks 1&2 are the same as 3&4. -The switching from port C8 is emulated. - -ToDo: -- Finish floppy disk support (i have no boot disk) -- (optional) Connect SIO to RS232. -- (optional) Connect up the SASI, Centronics and other interfaces on ports D8-DB. -- (optional) Connect up the programming port C0-C3. -- (optional) Connect up the numerous board jumpers. -- Need software - -Monitor commands: -B - boot from disk -C - copy memory -D - dump memory -F - fill memory -G - go -I - in port -M - modify memory -O - out port -R - read a sector -T - test memory -V - compare blocks of memory -X - change banks - -****************************************************************************/ - - - -#include "emu.h" -#include "cpu/z80/z80.h" -#include "imagedev/floppy.h" -#include "machine/z80daisy.h" -#include "machine/74259.h" -#include "machine/clock.h" -#include "machine/keyboard.h" -#include "machine/wd_fdc.h" -#include "machine/z80ctc.h" -#include "machine/z80dma.h" -#include "machine/z80sio.h" -#include "sound/beep.h" -#include "video/mc6845.h" -#include "emupal.h" -#include "screen.h" -#include "speaker.h" - - -class bigbord2_state : public driver_device -{ -public: - bigbord2_state(const machine_config &mconfig, device_type type, const char *tag) - : driver_device(mconfig, type, tag) - , m_palette(*this, "palette") - , m_maincpu(*this, "maincpu") - , m_p_ram(*this, "maincpu") - , m_p_chargen(*this, "chargen") - , m_ctc1(*this, "ctc1") - , m_ctc2(*this, "ctc2") - , m_sio(*this, "sio") - , m_dma(*this, "dma") - , m_fdc(*this, "fdc") - , m_floppy0(*this, "fdc:0") - , m_floppy1(*this, "fdc:1") - , m_syslatch1(*this, "syslatch1") - , m_dsw(*this, "DSW") - , m_bankr(*this, "bankr") - , m_bankv(*this, "bankv") - , m_banka(*this, "banka") - { - } - - DECLARE_WRITE_LINE_MEMBER(side_select_w); - DECLARE_WRITE_LINE_MEMBER(smc1_w); - DECLARE_WRITE_LINE_MEMBER(smc2_w); - DECLARE_WRITE_LINE_MEMBER(head_load_w); - DECLARE_WRITE_LINE_MEMBER(disk_motor_w); - DECLARE_WRITE8_MEMBER(syslatch2_w); - DECLARE_READ8_MEMBER(status_port_r); - DECLARE_READ8_MEMBER(kbd_r); - void kbd_put(u8 data); - DECLARE_WRITE_LINE_MEMBER(clock_w); - DECLARE_WRITE_LINE_MEMBER(busreq_w); - DECLARE_WRITE_LINE_MEMBER(ctc_z1_w); - DECLARE_WRITE_LINE_MEMBER(sio_wrdya_w); - DECLARE_WRITE_LINE_MEMBER(sio_wrdyb_w); - DECLARE_WRITE_LINE_MEMBER(fdc_drq_w); - void init_bigbord2(); - DECLARE_READ8_MEMBER(memory_read_byte); - DECLARE_WRITE8_MEMBER(memory_write_byte); - DECLARE_READ8_MEMBER(io_read_byte); - DECLARE_WRITE8_MEMBER(io_write_byte); - MC6845_UPDATE_ROW(crtc_update_row); - - void bigbord2(machine_config &config); - void bigbord2_io(address_map &map); - void bigbord2_mem(address_map &map); -private: - u8 crt8002(u8 ac_ra, u8 ac_chr, u8 ac_attr, uint16_t ac_cnt, bool ac_curs); - u8 m_term_data; - u8 m_term_status; - uint16_t m_cnt; - bool m_cc[8]; - floppy_image_device *m_floppy; - virtual void machine_start() override; - virtual void machine_reset() override; - address_space *m_mem; - address_space *m_io; - required_device<palette_device> m_palette; - required_device<z80_device> m_maincpu; - required_region_ptr<u8> m_p_ram; - required_region_ptr<u8> m_p_chargen; - required_device<z80ctc_device> m_ctc1; - required_device<z80ctc_device> m_ctc2; - required_device<z80sio_device> m_sio; - required_device<z80dma_device> m_dma; - required_device<mb8877_device> m_fdc; - required_device<floppy_connector> m_floppy0; - required_device<floppy_connector> m_floppy1; - required_device<ls259_device> m_syslatch1; - required_ioport m_dsw; - required_memory_bank m_bankr; - required_memory_bank m_bankv; - required_memory_bank m_banka; -}; - -/* Status port - 0 = RXDA - 1 = RXDB - 2 = MOTOR - 3 = KBDSTB - 4 = DIPSW 1 - 5 = DIPSW 2 - 6 = DIPSW 3 - 7 = DIPSW 4 */ - -READ8_MEMBER(bigbord2_state::status_port_r) -{ - u8 ret = m_term_status | 3 | (m_syslatch1->q6_r() << 2) | m_dsw->read(); - m_term_status = 0; - return ret; -} - -// KBD port - read ascii value of key pressed - -READ8_MEMBER(bigbord2_state::kbd_r) -{ - u8 ret = m_term_data; - m_term_data = 0; - return ret; -} - -void bigbord2_state::kbd_put(u8 data) -{ - if (data) - { - m_term_data = data; - m_term_status = 8; - m_ctc1->trg0(0); - m_ctc1->trg0(1); - } -} - -WRITE_LINE_MEMBER( bigbord2_state::sio_wrdya_w ) -{ - m_cc[0] = state; -} - -WRITE_LINE_MEMBER( bigbord2_state::sio_wrdyb_w ) -{ - m_cc[1] = state; -} - -WRITE_LINE_MEMBER( bigbord2_state::fdc_drq_w ) -{ - m_cc[2] = state; -} - - -/* Z80 DMA */ - - -WRITE_LINE_MEMBER( bigbord2_state::busreq_w ) -{ -// since our Z80 has no support for BUSACK, we assume it is granted immediately - m_maincpu->set_input_line(Z80_INPUT_LINE_BUSRQ, state); - m_dma->bai_w(state); // tell dma that bus has been granted -} - -READ8_MEMBER( bigbord2_state::memory_read_byte ) -{ - return m_mem->read_byte(offset); -} - -WRITE8_MEMBER( bigbord2_state::memory_write_byte ) -{ - m_mem->write_byte(offset, data); -} - -READ8_MEMBER( bigbord2_state::io_read_byte ) -{ - return m_io->read_byte(offset); -} - -WRITE8_MEMBER( bigbord2_state::io_write_byte ) -{ - m_io->write_byte(offset, data); -} - - -/* Read/Write Handlers */ - -WRITE_LINE_MEMBER(bigbord2_state::side_select_w) -{ - if (m_floppy) - m_floppy->ss_w(state); -} - -WRITE_LINE_MEMBER(bigbord2_state::smc1_w) -{ - // connects to "U6 (FDC9216B)" which drives the fdc "rawread" and "rclk" pins -} - -WRITE_LINE_MEMBER(bigbord2_state::smc2_w) -{ - // connects to "U6 (FDC9216B)" which drives the fdc "rawread" and "rclk" pins -} - -WRITE_LINE_MEMBER(bigbord2_state::head_load_w) -{ - // connects to HLD pin on floppy drive -} - -WRITE_LINE_MEMBER(bigbord2_state::disk_motor_w) -{ - // motor on - if (m_floppy) - m_floppy->mon_w(state ? 0 : 1); -} - -WRITE8_MEMBER(bigbord2_state::syslatch2_w) -{ - /* - - bit signal description - - 0,1,2 operates a 74LS151 for 8 individual inputs to DMA RDY - 0 W/RDYA channel A of SIO - 1 W/RDYB channel B of SIO - 2 DRQ DRQ on fdc - 3 JB7 pin 1 - 4 JB7 pin 2 - 5 JB7 pin 3 - 6 JB7 pin 4 - 7 JB7 pin 5 - 3 /TEST test pin on FDC - 4 DS3 drive 3 select - 5 DS2 drive 2 select - 6 DS1 drive 1 select - 7 DS0 drive 0 select - - */ - - /* drive select */ - m_floppy = nullptr; - if (BIT(data, 7)) m_floppy = m_floppy0->get_device(); - if (BIT(data, 6)) m_floppy = m_floppy1->get_device(); - //if (BIT(data, 5)) m_floppy = m_floppy2->get_device(); - //if (BIT(data, 4)) m_floppy = m_floppy3->get_device(); - - m_fdc->set_floppy(m_floppy); - if (m_floppy) - { - m_floppy->ss_w(m_syslatch1->q1_r()); - m_floppy->mon_w(m_syslatch1->q6_r() ? 0 : 1); - } - - m_dma->rdy_w(m_cc[data & 7]); -} - - - -/* Memory Maps */ - -void bigbord2_state::bigbord2_mem(address_map &map) -{ - map.unmap_value_high(); - map(0x0000, 0x0fff).bankrw("bankr"); - map(0x1000, 0x5fff).ram(); - map(0x6000, 0x6fff).bankrw("bankv"); - map(0x7000, 0x7fff).bankrw("banka"); - map(0x8000, 0xffff).ram(); -} - -void bigbord2_state::bigbord2_io(address_map &map) -{ - map.global_mask(0xff); - map.unmap_value_high(); - map(0x80, 0x83).rw(m_sio, FUNC(z80sio_device::ba_cd_r), FUNC(z80sio_device::ba_cd_w)); // u16 - map(0x84, 0x87).rw(m_ctc1, FUNC(z80ctc_device::read), FUNC(z80ctc_device::write)); // u37 has issues - map(0x88, 0x8b).rw(m_ctc2, FUNC(z80ctc_device::read), FUNC(z80ctc_device::write)); // u21 - map(0x8c, 0x8f).rw(m_dma, FUNC(z80dma_device::bus_r), FUNC(z80dma_device::bus_w)); // u62 - map(0xc0, 0xc3).w("proglatch", FUNC(ls259_device::write_nibble_d3)); // u41 - eprom programming port - map(0xc4, 0xc7).r(FUNC(bigbord2_state::status_port_r)); // u11 - map(0xc8, 0xcb).w(m_syslatch1, FUNC(ls259_device::write_nibble_d3)); // u14 - map(0xcc, 0xcf).w(FUNC(bigbord2_state::syslatch2_w)); - map(0xd0, 0xd3).r(FUNC(bigbord2_state::kbd_r)); // u1 - map(0xd4, 0xd7).rw(m_fdc, FUNC(mb8877_device::read), FUNC(mb8877_device::write)); // u10 - //map(0xd8, 0xdb).rw(FUNC(bigbord2_state::portd8_r), FUNC(bigbord2_state::portd8_w)); // various external data ports; DB = centronics printer - map(0xd9, 0xd9).w("outlatch1", FUNC(ls259_device::write_nibble_d3)); // u96 - map(0xdc, 0xdc).mirror(2).rw("crtc", FUNC(mc6845_device::status_r), FUNC(mc6845_device::address_w)); // u30 - map(0xdd, 0xdd).mirror(2).rw("crtc", FUNC(mc6845_device::register_r), FUNC(mc6845_device::register_w)); -} - - -/* Input Ports */ - -static INPUT_PORTS_START( bigbord2 ) - PORT_START("DSW") - PORT_BIT( 0xf, 0, IPT_UNUSED ) - PORT_DIPNAME( 0x10, 0x10, "Switch 4") PORT_DIPLOCATION("SW1:1") - PORT_DIPSETTING( 0x10, DEF_STR(Off)) - PORT_DIPSETTING( 0x00, DEF_STR(On)) - PORT_DIPNAME( 0x20, 0x00, "Switch 3") PORT_DIPLOCATION("SW1:2") - PORT_DIPSETTING( 0x20, DEF_STR(Off)) - PORT_DIPSETTING( 0x00, DEF_STR(On)) - PORT_DIPNAME( 0x40, 0x00, "Switch 2") PORT_DIPLOCATION("SW1:3") - PORT_DIPSETTING( 0x40, DEF_STR(Off)) - PORT_DIPSETTING( 0x00, DEF_STR(On)) - PORT_DIPNAME( 0x80, 0x00, "Switch 1") PORT_DIPLOCATION("SW1:4") - PORT_DIPSETTING( 0x80, DEF_STR(Off)) - PORT_DIPSETTING( 0x00, DEF_STR(On)) -INPUT_PORTS_END - - -/* Z80 CTC */ - -WRITE_LINE_MEMBER( bigbord2_state::clock_w ) -{ - m_ctc2->trg0(state); - m_ctc2->trg1(state); - if (m_floppy) - m_ctc1->trg1(m_floppy->idx_r()); -} - -// there's a multitude of optional jumpers in this area, but this will do -WRITE_LINE_MEMBER( bigbord2_state::ctc_z1_w ) -{ - m_sio->rxca_w(state); - m_sio->txca_w(state); -} - -/* Z80 Daisy Chain */ - -static const z80_daisy_config daisy_chain[] = -{ - { "dma" }, - { "ctc1" }, - { "ctc2" }, - { "sio" }, - { nullptr } -}; - -/* WD1793 Interface */ - -static void bigbord2_floppies(device_slot_interface &device) -{ - device.option_add("8dsdd", FLOPPY_8_DSDD); -} - - -/* Machine Initialization */ - -void bigbord2_state::machine_start() -{ - /* register for state saving */ - save_item(NAME(m_term_data)); - m_floppy = nullptr; -} - -void bigbord2_state::machine_reset() -{ - u8 i; - for (i = 0; i < 8; i++) - m_cc[i] = 1; - m_cc[2] = 0; - m_bankr->set_entry(0); - m_bankv->set_entry(0); - m_banka->set_entry(0); -} - -void bigbord2_state::init_bigbord2() -{ - m_mem = &m_maincpu->space(AS_PROGRAM); - m_io = &m_maincpu->space(AS_IO); - m_bankr->configure_entries(0, 2, &m_p_ram[0x0000], 0x10000); - m_bankv->configure_entries(0, 2, &m_p_ram[0x6000], 0x10000); - m_banka->configure_entries(0, 2, &m_p_ram[0x7000], 0x10000); -} - - -/* Screen */ - -/* F4 Character Displayer */ -static const gfx_layout crt8002_charlayout = -{ - 8, 12, /* 7 x 11 characters */ - 128, /* 128 characters */ - 1, /* 1 bits per pixel */ - { 0 }, /* no bitplanes */ - /* x offsets */ - { 0, 1, 2, 3, 4, 5, 6, 7 }, - /* y offsets */ - { 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8, 8*8, 9*8, 10*8, 11*8 }, - 8*16 /* every char takes 16 bytes */ -}; - -static GFXDECODE_START( gfx_crt8002 ) - GFXDECODE_ENTRY( "chargen", 0x0000, crt8002_charlayout, 0, 1 ) -GFXDECODE_END - -u8 bigbord2_state::crt8002(u8 ac_ra, u8 ac_chr, u8 ac_attr, uint16_t ac_cnt, bool ac_curs) -{ - u8 gfx = 0; - switch (ac_attr & 3) - { - case 0: // lores gfx - switch (ac_ra) - { - case 0: - case 1: - case 2: - gfx = (BIT(ac_chr, 7) ? 0xf8 : 0) | (BIT(ac_chr, 3) ? 7 : 0); - break; - case 3: - case 4: - case 5: - gfx = (BIT(ac_chr, 6) ? 0xf8 : 0) | (BIT(ac_chr, 2) ? 7 : 0); - break; - case 6: - case 7: - case 8: - gfx = (BIT(ac_chr, 5) ? 0xf8 : 0) | (BIT(ac_chr, 1) ? 7 : 0); - break; - default: - gfx = (BIT(ac_chr, 4) ? 0xf8 : 0) | (BIT(ac_chr, 0) ? 7 : 0); - break; - } - break; - case 1: // external mode - gfx = bitswap<8>(ac_chr, 0,1,2,3,4,5,6,7); - break; - case 2: // thin gfx - break; - case 3: // alpha - gfx = m_p_chargen[((ac_chr & 0x7f)<<4) | ac_ra]; - break; - } - - if (BIT(ac_attr, 3) & (ac_ra == 11)) // underline - gfx = 0xff; - if (BIT(ac_attr, 2) & ((ac_ra == 5) | (ac_ra == 6))) // strike-through - gfx = 0xff; - if (BIT(ac_attr, 6) & BIT(ac_cnt, 13)) // flash - gfx = 0; - if (BIT(ac_attr, 5)) // blank - gfx = 0; - if (ac_curs && BIT(ac_cnt, 14)) // cursor - gfx ^= 0xff; - if (BIT(ac_attr, 4)) // reverse video - gfx ^= 0xff; - return gfx; -} - -MC6845_UPDATE_ROW( bigbord2_state::crtc_update_row ) -{ - const rgb_t *palette = m_palette->palette()->entry_list_raw(); - u8 chr,gfx,attr; - uint16_t mem,x; - uint32_t *p = &bitmap.pix32(y); - ra &= 15; - m_cnt++; - - for (x = 0; x < x_count; x++) - { - mem = (ma + x) & 0x7ff; - attr = m_p_ram[mem + 0x7000]; - chr = m_p_ram[mem + 0x6000]; - - /* process attributes */ - gfx = crt8002(ra, chr, attr, m_cnt, (x==cursor_x)); - - /* Display a scanline of a character */ - *p++ = palette[BIT( gfx, 7 )]; - *p++ = palette[BIT( gfx, 6 )]; - *p++ = palette[BIT( gfx, 5 )]; - *p++ = palette[BIT( gfx, 4 )]; - *p++ = palette[BIT( gfx, 3 )]; - *p++ = palette[BIT( gfx, 2 )]; - *p++ = palette[BIT( gfx, 1 )]; - *p++ = palette[BIT( gfx, 0 )]; - } -} - -/* Machine Drivers */ - -#define MAIN_CLOCK 8_MHz_XTAL / 2 - -void bigbord2_state::bigbord2(machine_config &config) -{ - /* basic machine hardware */ - Z80(config, m_maincpu, MAIN_CLOCK); - m_maincpu->set_addrmap(AS_PROGRAM, &bigbord2_state::bigbord2_mem); - m_maincpu->set_addrmap(AS_IO, &bigbord2_state::bigbord2_io); - m_maincpu->set_daisy_config(daisy_chain); - - /* video hardware */ - screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); - screen.set_raw(10.69425_MHz_XTAL, 700, 0, 560, 260, 0, 240); - screen.set_screen_update("crtc", FUNC(mc6845_device::screen_update)); - GFXDECODE(config, "gfxdecode", m_palette, gfx_crt8002); - PALETTE(config, m_palette, palette_device::MONOCHROME); - - CLOCK(config, "ctc_clock", MAIN_CLOCK).signal_handler().set(FUNC(bigbord2_state::clock_w)); - - /* devices */ - Z80DMA(config, m_dma, MAIN_CLOCK); - m_dma->out_busreq_callback().set(FUNC(bigbord2_state::busreq_w)); - m_dma->out_int_callback().set_inputline(m_maincpu, INPUT_LINE_IRQ0); - m_dma->in_mreq_callback().set(FUNC(bigbord2_state::memory_read_byte)); - m_dma->out_mreq_callback().set(FUNC(bigbord2_state::memory_write_byte)); - m_dma->in_iorq_callback().set(FUNC(bigbord2_state::io_read_byte)); - m_dma->out_iorq_callback().set(FUNC(bigbord2_state::io_write_byte)); - - Z80SIO(config, m_sio, MAIN_CLOCK); - m_sio->out_int_callback().set_inputline(m_maincpu, INPUT_LINE_IRQ0); - m_sio->out_synca_callback().set(m_ctc1, FUNC(z80ctc_device::trg2)); - m_sio->out_wrdya_callback().set(FUNC(bigbord2_state::sio_wrdya_w)); - m_sio->out_wrdyb_callback().set(FUNC(bigbord2_state::sio_wrdyb_w)); - - Z80CTC(config, m_ctc1, MAIN_CLOCK); - m_ctc1->intr_callback().set_inputline(m_maincpu, INPUT_LINE_IRQ0); - - Z80CTC(config, m_ctc2, MAIN_CLOCK); - m_ctc2->intr_callback().set_inputline(m_maincpu, INPUT_LINE_IRQ0); - m_ctc2->zc_callback<0>().set(m_sio, FUNC(z80sio_device::rxtxcb_w)); // to SIO Ch B - m_ctc2->zc_callback<1>().set(FUNC(bigbord2_state::ctc_z1_w)); // to SIO Ch A - m_ctc2->zc_callback<2>().set(m_ctc2, FUNC(z80ctc_device::trg3)); - - MB8877(config, m_fdc, 16_MHz_XTAL / 8); // 2MHz for 8 inch, or 1MHz otherwise (jumper-selectable) - //m_fdc->intrq_wr_callback().set_inputline(m_maincpu, ??); // info missing from schematic - FLOPPY_CONNECTOR(config, "fdc:0", bigbord2_floppies, "8dsdd", floppy_image_device::default_floppy_formats).enable_sound(true); - FLOPPY_CONNECTOR(config, "fdc:1", bigbord2_floppies, "8dsdd", floppy_image_device::default_floppy_formats).enable_sound(true); - - mc6845_device &crtc(MC6845(config, "crtc", 16_MHz_XTAL / 8)); - crtc.set_screen("screen"); - crtc.set_show_border_area(false); - crtc.set_char_width(8); - crtc.set_update_row_callback(FUNC(bigbord2_state::crtc_update_row)); - crtc.out_vsync_callback().set(m_ctc1, FUNC(z80ctc_device::trg3)); - - ls259_device &proglatch(LS259(config, "proglatch")); // U41 - proglatch.q_out_cb<6>().set("outlatch1", FUNC(ls259_device::clear_w)); // FCRST - also resets the 8877 - - LS259(config, m_syslatch1, 0); // U14 - m_syslatch1->q_out_cb<0>().set_membank(m_bankr); // D_S - m_syslatch1->q_out_cb<0>().append_membank(m_bankv); - m_syslatch1->q_out_cb<0>().append_membank(m_banka); - m_syslatch1->q_out_cb<1>().set(FUNC(bigbord2_state::side_select_w)); // SIDSEL - m_syslatch1->q_out_cb<2>().set(FUNC(bigbord2_state::smc1_w)); // SMC1 - m_syslatch1->q_out_cb<3>().set(FUNC(bigbord2_state::smc2_w)); // SMC2 - m_syslatch1->q_out_cb<4>().set(m_fdc, FUNC(mb8877_device::dden_w)); // DDEN - m_syslatch1->q_out_cb<5>().set(FUNC(bigbord2_state::head_load_w)); // HLD - m_syslatch1->q_out_cb<6>().set(FUNC(bigbord2_state::disk_motor_w)); // MOTOR - m_syslatch1->q_out_cb<7>().set("beeper", FUNC(beep_device::set_state)); // BELL - - LS259(config, "outlatch1", 0); // U96 - - /* keyboard */ - generic_keyboard_device &keyboard(GENERIC_KEYBOARD(config, "keyboard", 0)); - keyboard.set_keyboard_callback(FUNC(bigbord2_state::kbd_put)); - - /* sound hardware */ - SPEAKER(config, "mono").front_center(); - BEEP(config, "beeper", 950).add_route(ALL_OUTPUTS, "mono", 0.50); // actual frequency is unknown -} - - -/* ROMs */ - - -ROM_START( bigbord2 ) - ROM_REGION( 0x18000, "maincpu", 0 ) - ROM_LOAD( "bigbrdii.bin", 0x0000, 0x1000, CRC(c588189e) SHA1(4133903171ee8b9fcf12cc72de843af782b4a645) ) - - ROM_REGION( 0x800, "chargen", 0 ) - ROM_LOAD( "8002.bin", 0x0000, 0x0800, CRC(fdd6eb13) SHA1(a094d416e66bdab916e72238112a6265a75ca690) ) -ROM_END -/* System Drivers */ - -// YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS -COMP( 1982, bigbord2, 0, 0, bigbord2, bigbord2, bigbord2_state, init_bigbord2, "Digital Research Computers", "Big Board II", MACHINE_NOT_WORKING ) |