mirror of
https://github.com/holub/mame
synced 2025-07-04 09:28:51 +03:00
New not working driver WIP (nw)
RC702
This commit is contained in:
parent
051f58226d
commit
d9de85ed95
@ -2515,6 +2515,7 @@ files {
|
|||||||
|
|
||||||
createMESSProjects(_target, _subtarget, "regnecentralen")
|
createMESSProjects(_target, _subtarget, "regnecentralen")
|
||||||
files {
|
files {
|
||||||
|
MAME_DIR .. "src/mame/drivers/rc702.cpp",
|
||||||
MAME_DIR .. "src/mame/drivers/rc759.cpp",
|
MAME_DIR .. "src/mame/drivers/rc759.cpp",
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -3320,6 +3321,7 @@ files {
|
|||||||
MAME_DIR .. "src/mame/drivers/ms9540.cpp",
|
MAME_DIR .. "src/mame/drivers/ms9540.cpp",
|
||||||
MAME_DIR .. "src/mame/drivers/mstation.cpp",
|
MAME_DIR .. "src/mame/drivers/mstation.cpp",
|
||||||
MAME_DIR .. "src/mame/drivers/mt735.cpp",
|
MAME_DIR .. "src/mame/drivers/mt735.cpp",
|
||||||
|
MAME_DIR .. "src/mame/drivers/mvme350.cpp",
|
||||||
MAME_DIR .. "src/mame/drivers/mx2178.cpp",
|
MAME_DIR .. "src/mame/drivers/mx2178.cpp",
|
||||||
MAME_DIR .. "src/mame/drivers/mycom.cpp",
|
MAME_DIR .. "src/mame/drivers/mycom.cpp",
|
||||||
MAME_DIR .. "src/mame/drivers/myvision.cpp",
|
MAME_DIR .. "src/mame/drivers/myvision.cpp",
|
||||||
@ -3378,7 +3380,6 @@ files {
|
|||||||
MAME_DIR .. "src/mame/includes/xor100.h",
|
MAME_DIR .. "src/mame/includes/xor100.h",
|
||||||
MAME_DIR .. "src/mame/drivers/xavix.cpp",
|
MAME_DIR .. "src/mame/drivers/xavix.cpp",
|
||||||
MAME_DIR .. "src/mame/drivers/zorba.cpp",
|
MAME_DIR .. "src/mame/drivers/zorba.cpp",
|
||||||
MAME_DIR .. "src/mame/drivers/mvme350.cpp",
|
|
||||||
}
|
}
|
||||||
|
|
||||||
end
|
end
|
||||||
|
391
src/mame/drivers/rc702.cpp
Normal file
391
src/mame/drivers/rc702.cpp
Normal file
@ -0,0 +1,391 @@
|
|||||||
|
// license:BSD-3-Clause
|
||||||
|
// copyright-holders:Robbbert
|
||||||
|
/******************************************************************************************************************
|
||||||
|
|
||||||
|
Regnecentralen Piccolo RC702
|
||||||
|
|
||||||
|
2016-09-10 Skeleton driver
|
||||||
|
|
||||||
|
Undumped prom at IC55 type 74S287
|
||||||
|
|
||||||
|
ToDo:
|
||||||
|
- Everything
|
||||||
|
|
||||||
|
|
||||||
|
****************************************************************************************************************/
|
||||||
|
|
||||||
|
#include "emu.h"
|
||||||
|
#include "cpu/z80/z80.h"
|
||||||
|
#include "machine/upd765.h"
|
||||||
|
#include "cpu/z80/z80daisy.h"
|
||||||
|
#include "machine/z80pio.h"
|
||||||
|
#include "machine/z80dart.h"
|
||||||
|
#include "machine/z80ctc.h"
|
||||||
|
#include "machine/am9517a.h"
|
||||||
|
#include "machine/7474.h"
|
||||||
|
#include "bus/rs232/rs232.h"
|
||||||
|
#include "machine/clock.h"
|
||||||
|
#include "video/i8275.h"
|
||||||
|
#include "machine/keyboard.h"
|
||||||
|
#include "sound/beep.h"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
class rc702_state : public driver_device
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
rc702_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_sio1(*this, "sio1")
|
||||||
|
, m_ctc1(*this, "ctc1")
|
||||||
|
, m_pio(*this, "pio")
|
||||||
|
, m_dma(*this, "dma")
|
||||||
|
, m_beep(*this, "beeper")
|
||||||
|
, m_7474(*this, "7474")
|
||||||
|
, m_fdc(*this, "fdc")
|
||||||
|
, m_floppy0(*this, "fdc:0")
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
DECLARE_DRIVER_INIT(rc702);
|
||||||
|
DECLARE_MACHINE_RESET(rc702);
|
||||||
|
DECLARE_READ8_MEMBER(memory_read_byte);
|
||||||
|
DECLARE_WRITE8_MEMBER(memory_write_byte);
|
||||||
|
DECLARE_WRITE8_MEMBER(port14_w);
|
||||||
|
DECLARE_WRITE8_MEMBER(port18_w);
|
||||||
|
DECLARE_WRITE8_MEMBER(port1c_w);
|
||||||
|
DECLARE_WRITE_LINE_MEMBER(crtc_drq_w);
|
||||||
|
DECLARE_WRITE_LINE_MEMBER(crtc_irq_w);
|
||||||
|
DECLARE_WRITE_LINE_MEMBER(busreq_w);
|
||||||
|
DECLARE_WRITE_LINE_MEMBER(clock_w);
|
||||||
|
DECLARE_WRITE_LINE_MEMBER(zc0_w);
|
||||||
|
DECLARE_WRITE_LINE_MEMBER(tc_w);
|
||||||
|
DECLARE_WRITE_LINE_MEMBER(q_w);
|
||||||
|
DECLARE_WRITE_LINE_MEMBER(qbar_w);
|
||||||
|
I8275_DRAW_CHARACTER_MEMBER(display_pixels);
|
||||||
|
DECLARE_WRITE8_MEMBER(kbd_put);
|
||||||
|
|
||||||
|
private:
|
||||||
|
UINT8 *m_charmap;
|
||||||
|
bool m_q_state;
|
||||||
|
bool m_qbar_state;
|
||||||
|
bool m_drq_state;
|
||||||
|
UINT16 m_beepcnt;
|
||||||
|
required_device<palette_device> m_palette;
|
||||||
|
required_device<cpu_device> m_maincpu;
|
||||||
|
required_device<z80dart_device> m_sio1;
|
||||||
|
required_device<z80ctc_device> m_ctc1;
|
||||||
|
required_device<z80pio_device> m_pio;
|
||||||
|
required_device<am9517a_device> m_dma;
|
||||||
|
required_device<beep_device> m_beep;
|
||||||
|
required_device<ttl7474_device> m_7474;
|
||||||
|
required_device<upd765a_device> m_fdc;
|
||||||
|
required_device<floppy_connector> m_floppy0;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
static ADDRESS_MAP_START(rc702_mem, AS_PROGRAM, 8, rc702_state)
|
||||||
|
AM_RANGE(0x0000, 0x07ff) AM_READ_BANK("bankr0") AM_WRITE_BANK("bankw0")
|
||||||
|
AM_RANGE(0x0800, 0xffff) AM_RAM
|
||||||
|
ADDRESS_MAP_END
|
||||||
|
|
||||||
|
static ADDRESS_MAP_START(rc702_io, AS_IO, 8, rc702_state)
|
||||||
|
ADDRESS_MAP_GLOBAL_MASK(0xff)
|
||||||
|
ADDRESS_MAP_UNMAP_HIGH
|
||||||
|
AM_RANGE(0x00, 0x01) AM_DEVREADWRITE("crtc", i8275_device, read, write)
|
||||||
|
AM_RANGE(0x04, 0x05) AM_DEVICE("fdc", upd765a_device, map)
|
||||||
|
AM_RANGE(0x08, 0x0b) AM_DEVREADWRITE("sio1", z80dart_device, ba_cd_r, ba_cd_w)
|
||||||
|
AM_RANGE(0x0c, 0x0f) AM_DEVREADWRITE("ctc1", z80ctc_device, read, write)
|
||||||
|
AM_RANGE(0x10, 0x13) AM_DEVREADWRITE("pio", z80pio_device, read, write)
|
||||||
|
AM_RANGE(0x14, 0x17) AM_READ_PORT("DSW") AM_WRITE(port14_w) // motors
|
||||||
|
AM_RANGE(0x18, 0x1b) AM_WRITE(port18_w) // memory banking
|
||||||
|
AM_RANGE(0x1c, 0x1f) AM_WRITE(port1c_w) // sound
|
||||||
|
AM_RANGE(0xf0, 0xff) AM_DEVREADWRITE("dma", am9517a_device, read, write)
|
||||||
|
ADDRESS_MAP_END
|
||||||
|
|
||||||
|
/* Input ports */
|
||||||
|
static INPUT_PORTS_START( rc702 )
|
||||||
|
PORT_START("DSW")
|
||||||
|
PORT_DIPNAME( 0x01, 0x00, "S01")
|
||||||
|
PORT_DIPSETTING( 0x01, DEF_STR( Off ))
|
||||||
|
PORT_DIPSETTING( 0x00, DEF_STR( On ))
|
||||||
|
PORT_DIPNAME( 0x02, 0x00, "S02")
|
||||||
|
PORT_DIPSETTING( 0x02, DEF_STR( Off ))
|
||||||
|
PORT_DIPSETTING( 0x00, DEF_STR( On ))
|
||||||
|
PORT_DIPNAME( 0x04, 0x00, "S03")
|
||||||
|
PORT_DIPSETTING( 0x04, DEF_STR( Off ))
|
||||||
|
PORT_DIPSETTING( 0x00, DEF_STR( On ))
|
||||||
|
PORT_DIPNAME( 0x08, 0x00, "S04")
|
||||||
|
PORT_DIPSETTING( 0x08, DEF_STR( Off ))
|
||||||
|
PORT_DIPSETTING( 0x00, DEF_STR( On ))
|
||||||
|
PORT_DIPNAME( 0x10, 0x00, "S05")
|
||||||
|
PORT_DIPSETTING( 0x10, DEF_STR( Off ))
|
||||||
|
PORT_DIPSETTING( 0x00, DEF_STR( On ))
|
||||||
|
PORT_DIPNAME( 0x20, 0x00, "S06")
|
||||||
|
PORT_DIPSETTING( 0x20, DEF_STR( Off ))
|
||||||
|
PORT_DIPSETTING( 0x00, DEF_STR( On ))
|
||||||
|
PORT_DIPNAME( 0x40, 0x00, "S07")
|
||||||
|
PORT_DIPSETTING( 0x40, DEF_STR( Off ))
|
||||||
|
PORT_DIPSETTING( 0x00, DEF_STR( On ))
|
||||||
|
PORT_DIPNAME( 0x80, 0x00, "Minifloppy") // also need to switch frequencies to fdc
|
||||||
|
PORT_DIPSETTING( 0x80, DEF_STR( Off ))
|
||||||
|
PORT_DIPSETTING( 0x00, DEF_STR( On ))
|
||||||
|
INPUT_PORTS_END
|
||||||
|
|
||||||
|
MACHINE_RESET_MEMBER( rc702_state, rc702 )
|
||||||
|
{
|
||||||
|
membank("bankr0")->set_entry(0); // point at rom
|
||||||
|
membank("bankw0")->set_entry(0); // always write to ram
|
||||||
|
m_beepcnt = 0xffff;
|
||||||
|
m_maincpu->reset();
|
||||||
|
}
|
||||||
|
|
||||||
|
WRITE_LINE_MEMBER( rc702_state::q_w )
|
||||||
|
{
|
||||||
|
m_q_state = state;
|
||||||
|
|
||||||
|
if (m_q_state && m_drq_state)
|
||||||
|
m_dma->dreq3_w(1);
|
||||||
|
else
|
||||||
|
m_dma->dreq3_w(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
WRITE_LINE_MEMBER( rc702_state::qbar_w )
|
||||||
|
{
|
||||||
|
m_qbar_state = state;
|
||||||
|
|
||||||
|
if (m_qbar_state && m_drq_state)
|
||||||
|
m_dma->dreq2_w(1);
|
||||||
|
else
|
||||||
|
m_dma->dreq2_w(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
WRITE_LINE_MEMBER( rc702_state::crtc_drq_w )
|
||||||
|
{
|
||||||
|
m_drq_state = state;
|
||||||
|
|
||||||
|
if (m_q_state && m_drq_state)
|
||||||
|
m_dma->dreq3_w(1);
|
||||||
|
else
|
||||||
|
m_dma->dreq3_w(0);
|
||||||
|
|
||||||
|
if (m_qbar_state && m_drq_state)
|
||||||
|
m_dma->dreq2_w(1);
|
||||||
|
else
|
||||||
|
m_dma->dreq2_w(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
WRITE_LINE_MEMBER( rc702_state::tc_w )
|
||||||
|
{
|
||||||
|
m_fdc->tc_w(state);
|
||||||
|
}
|
||||||
|
|
||||||
|
WRITE8_MEMBER( rc702_state::port14_w )
|
||||||
|
{
|
||||||
|
floppy_image_device *floppy = m_floppy0->get_device();
|
||||||
|
m_fdc->set_floppy(floppy);
|
||||||
|
floppy->mon_w(!BIT(data, 0));
|
||||||
|
}
|
||||||
|
|
||||||
|
WRITE8_MEMBER( rc702_state::port18_w )
|
||||||
|
{
|
||||||
|
membank("bankr0")->set_entry(1); // replace roms with ram
|
||||||
|
}
|
||||||
|
|
||||||
|
WRITE8_MEMBER( rc702_state::port1c_w )
|
||||||
|
{
|
||||||
|
m_beep->set_state(1);
|
||||||
|
m_beepcnt = 0x3000;
|
||||||
|
}
|
||||||
|
|
||||||
|
static const rgb_t our_palette[3] = {
|
||||||
|
rgb_t(0x00, 0x00, 0x00), // black
|
||||||
|
rgb_t(0xa0, 0xa0, 0xa0), // white
|
||||||
|
rgb_t(0xff, 0xff, 0xff) // highlight
|
||||||
|
};
|
||||||
|
|
||||||
|
DRIVER_INIT_MEMBER( rc702_state, rc702 )
|
||||||
|
{
|
||||||
|
UINT8 *main = memregion("maincpu")->base();
|
||||||
|
|
||||||
|
membank("bankr0")->configure_entry(1, &main[0x0000]);
|
||||||
|
membank("bankr0")->configure_entry(0, &main[0x10000]);
|
||||||
|
membank("bankw0")->configure_entry(0, &main[0x0000]);
|
||||||
|
m_charmap = memregion("chargen")->base();
|
||||||
|
m_palette->set_pen_colors(0, our_palette, ARRAY_LENGTH(our_palette));
|
||||||
|
}
|
||||||
|
|
||||||
|
I8275_DRAW_CHARACTER_MEMBER( rc702_state::display_pixels )
|
||||||
|
{
|
||||||
|
const rgb_t *palette = m_palette->palette()->entry_list_raw();
|
||||||
|
UINT8 pixels = m_charmap[(linecount & 15) | (charcode << 4)];
|
||||||
|
|
||||||
|
if (vsp)
|
||||||
|
pixels = 0;
|
||||||
|
|
||||||
|
if (lten)
|
||||||
|
pixels = 0xff;
|
||||||
|
|
||||||
|
if (rvv)
|
||||||
|
pixels ^= 0xff;
|
||||||
|
|
||||||
|
bitmap.pix32(y, x++) = palette[BIT(pixels, 1) ? (hlgt ? 2 : 1) : 0];
|
||||||
|
bitmap.pix32(y, x++) = palette[BIT(pixels, 2) ? (hlgt ? 2 : 1) : 0];
|
||||||
|
bitmap.pix32(y, x++) = palette[BIT(pixels, 3) ? (hlgt ? 2 : 1) : 0];
|
||||||
|
bitmap.pix32(y, x++) = palette[BIT(pixels, 4) ? (hlgt ? 2 : 1) : 0];
|
||||||
|
bitmap.pix32(y, x++) = palette[BIT(pixels, 5) ? (hlgt ? 2 : 1) : 0];
|
||||||
|
bitmap.pix32(y, x++) = palette[BIT(pixels, 6) ? (hlgt ? 2 : 1) : 0];
|
||||||
|
bitmap.pix32(y, x++) = palette[BIT(pixels, 7) ? (hlgt ? 2 : 1) : 0];
|
||||||
|
}
|
||||||
|
|
||||||
|
// Baud rate generator. All inputs are 0.614MHz.
|
||||||
|
WRITE_LINE_MEMBER( rc702_state::clock_w )
|
||||||
|
{
|
||||||
|
m_ctc1->trg0(state);
|
||||||
|
m_ctc1->trg1(state);
|
||||||
|
if (m_beepcnt == 0)
|
||||||
|
m_beep->set_state(0);
|
||||||
|
if (m_beepcnt < 0xfe00)
|
||||||
|
m_beepcnt--;
|
||||||
|
}
|
||||||
|
|
||||||
|
WRITE_LINE_MEMBER( rc702_state::zc0_w )
|
||||||
|
{
|
||||||
|
m_sio1->txca_w(state);
|
||||||
|
m_sio1->rxca_w(state);
|
||||||
|
}
|
||||||
|
|
||||||
|
WRITE_LINE_MEMBER( rc702_state::crtc_irq_w )
|
||||||
|
{
|
||||||
|
m_7474->clear_w(0);
|
||||||
|
m_ctc1->trg2(1);
|
||||||
|
m_7474->clear_w(1);
|
||||||
|
m_ctc1->trg2(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
WRITE_LINE_MEMBER( rc702_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->hack_w(state); // tell dma that bus has been granted
|
||||||
|
}
|
||||||
|
|
||||||
|
READ8_MEMBER( rc702_state::memory_read_byte )
|
||||||
|
{
|
||||||
|
address_space& prog_space = m_maincpu->space(AS_PROGRAM);
|
||||||
|
return prog_space.read_byte(offset);
|
||||||
|
}
|
||||||
|
|
||||||
|
WRITE8_MEMBER( rc702_state::memory_write_byte )
|
||||||
|
{
|
||||||
|
address_space& prog_space = m_maincpu->space(AS_PROGRAM);
|
||||||
|
prog_space.write_byte(offset, data);
|
||||||
|
}
|
||||||
|
|
||||||
|
static const z80_daisy_config daisy_chain_intf[] =
|
||||||
|
{
|
||||||
|
{ "ctc1" },
|
||||||
|
{ "sio1" },
|
||||||
|
{ "pio" },
|
||||||
|
{ nullptr }
|
||||||
|
};
|
||||||
|
|
||||||
|
WRITE8_MEMBER( rc702_state::kbd_put )
|
||||||
|
{
|
||||||
|
m_pio->pa_w(space, 0, data);
|
||||||
|
m_pio->strobe_a(0);
|
||||||
|
m_pio->strobe_a(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
static SLOT_INTERFACE_START( floppies )
|
||||||
|
SLOT_INTERFACE( "drive0", FLOPPY_525_QD )
|
||||||
|
SLOT_INTERFACE_END
|
||||||
|
|
||||||
|
static MACHINE_CONFIG_START( rc702, rc702_state )
|
||||||
|
/* basic machine hardware */
|
||||||
|
MCFG_CPU_ADD("maincpu", Z80, XTAL_8MHz / 2)
|
||||||
|
MCFG_CPU_PROGRAM_MAP(rc702_mem)
|
||||||
|
MCFG_CPU_IO_MAP(rc702_io)
|
||||||
|
MCFG_Z80_DAISY_CHAIN(daisy_chain_intf)
|
||||||
|
|
||||||
|
MCFG_MACHINE_RESET_OVERRIDE(rc702_state, rc702)
|
||||||
|
|
||||||
|
MCFG_DEVICE_ADD("ctc_clock", CLOCK, 614000)
|
||||||
|
MCFG_CLOCK_SIGNAL_HANDLER(WRITELINE(rc702_state, clock_w))
|
||||||
|
|
||||||
|
MCFG_DEVICE_ADD("ctc1", Z80CTC, XTAL_8MHz / 2)
|
||||||
|
MCFG_Z80CTC_ZC0_CB(WRITELINE(rc702_state, zc0_w))
|
||||||
|
MCFG_Z80CTC_ZC1_CB(DEVWRITELINE("sio1", z80dart_device, rxtxcb_w))
|
||||||
|
|
||||||
|
MCFG_Z80DART_ADD("sio1", XTAL_8MHz / 2, 0, 0, 0, 0 )
|
||||||
|
MCFG_Z80DART_OUT_INT_CB(INPUTLINE("maincpu", INPUT_LINE_IRQ0))
|
||||||
|
|
||||||
|
MCFG_DEVICE_ADD("pio", Z80PIO, XTAL_8MHz / 2)
|
||||||
|
MCFG_Z80PIO_OUT_INT_CB(INPUTLINE("maincpu", INPUT_LINE_IRQ0))
|
||||||
|
// MCFG_Z80PIO_OUT_PB_CB(WRITE8(rc702_state, portxx_w)) // parallel port
|
||||||
|
|
||||||
|
MCFG_DEVICE_ADD("dma", AM9517A, XTAL_8MHz / 2)
|
||||||
|
MCFG_I8237_OUT_HREQ_CB(WRITELINE(rc702_state, busreq_w))
|
||||||
|
MCFG_I8237_OUT_EOP_CB(WRITELINE(rc702_state, tc_w))
|
||||||
|
MCFG_I8237_IN_MEMR_CB(READ8(rc702_state, memory_read_byte))
|
||||||
|
MCFG_I8237_OUT_MEMW_CB(WRITE8(rc702_state, memory_write_byte))
|
||||||
|
MCFG_I8237_IN_IOR_1_CB(DEVREAD8("fdc", upd765a_device, mdma_r))
|
||||||
|
MCFG_I8237_OUT_IOW_1_CB(DEVWRITE8("fdc", upd765a_device, mdma_w))
|
||||||
|
MCFG_I8237_OUT_IOW_2_CB(DEVWRITE8("crtc", i8275_device, dack_w))
|
||||||
|
MCFG_I8237_OUT_IOW_3_CB(DEVWRITE8("crtc", i8275_device, dack_w))
|
||||||
|
|
||||||
|
MCFG_UPD765A_ADD("fdc", true, true)
|
||||||
|
MCFG_UPD765_INTRQ_CALLBACK(DEVWRITELINE("ctc1", z80ctc_device, trg3))
|
||||||
|
MCFG_UPD765_DRQ_CALLBACK(DEVWRITELINE("dma", am9517a_device, dreq1_w))
|
||||||
|
MCFG_FLOPPY_DRIVE_ADD("fdc:0", floppies, "drive0", floppy_image_device::default_floppy_formats)
|
||||||
|
MCFG_FLOPPY_DRIVE_SOUND(true)
|
||||||
|
|
||||||
|
/* Keyboard */
|
||||||
|
MCFG_DEVICE_ADD("keyboard", GENERIC_KEYBOARD, 0)
|
||||||
|
MCFG_GENERIC_KEYBOARD_CB(WRITE8(rc702_state, kbd_put))
|
||||||
|
|
||||||
|
MCFG_DEVICE_ADD("7474", TTL7474, 0)
|
||||||
|
MCFG_7474_COMP_OUTPUT_CB(WRITELINE(rc702_state, q_w))
|
||||||
|
MCFG_7474_COMP_OUTPUT_CB(WRITELINE(rc702_state, qbar_w))
|
||||||
|
|
||||||
|
/* video hardware */
|
||||||
|
MCFG_SCREEN_ADD("screen", RASTER)
|
||||||
|
MCFG_SCREEN_REFRESH_RATE(50)
|
||||||
|
MCFG_SCREEN_SIZE(272*2, 200+4*8)
|
||||||
|
MCFG_SCREEN_VISIBLE_AREA(0, 272*2-1, 0, 200-1)
|
||||||
|
MCFG_SCREEN_UPDATE_DEVICE("crtc", i8275_device, screen_update)
|
||||||
|
|
||||||
|
MCFG_DEVICE_ADD("crtc", I8275, 11640000/7)
|
||||||
|
MCFG_I8275_CHARACTER_WIDTH(7)
|
||||||
|
MCFG_I8275_DRAW_CHARACTER_CALLBACK_OWNER(rc702_state, display_pixels)
|
||||||
|
MCFG_I8275_IRQ_CALLBACK(WRITELINE(rc702_state, crtc_irq_w))
|
||||||
|
MCFG_I8275_DRQ_CALLBACK(WRITELINE(rc702_state, crtc_drq_w))
|
||||||
|
MCFG_PALETTE_ADD("palette", 3)
|
||||||
|
|
||||||
|
/* sound hardware */
|
||||||
|
MCFG_SPEAKER_STANDARD_MONO("mono")
|
||||||
|
MCFG_SOUND_ADD("beeper", BEEP, 1000)
|
||||||
|
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
|
||||||
|
MACHINE_CONFIG_END
|
||||||
|
|
||||||
|
|
||||||
|
/* ROM definition */
|
||||||
|
ROM_START( rc702 )
|
||||||
|
ROM_REGION( 0x10800, "maincpu", 0 )
|
||||||
|
ROM_LOAD( "roa375.ic66", 0x10000, 0x0800, CRC(034cf9ea) SHA1(306af9fc779e3d4f51645ba04f8a99b11b5e6084) ) // rc702_boot
|
||||||
|
|
||||||
|
ROM_REGION( 0x14000, "user1", 0 ) // not connected up yet
|
||||||
|
ROM_LOAD( "rob357.rom", 0x0000, 0x0800, CRC(dcf84a48) SHA1(7190d3a898bcbfa212178a4d36afc32bbbc166ef) ) // rc703_boot
|
||||||
|
ROM_LOAD( "rob358.rom", 0x0800, 0x0800, CRC(254aa89e) SHA1(5fb1eb8df1b853b931e670a2ff8d062c1bd8d6bc) ) // rc700_boot
|
||||||
|
|
||||||
|
ROM_REGION( 0x1000, "chargen", 0 )
|
||||||
|
ROM_LOAD( "roa296.rom", 0x0000, 0x0800, CRC(7d7e4548) SHA1(efb8b1ece5f9eeca948202a6396865f26134ff2f) ) // char
|
||||||
|
ROM_LOAD( "roa327.rom", 0x0800, 0x0800, CRC(bed7ddb0) SHA1(201ae9e4ac3812577244b9c9044fadd04fb2b82f) ) // semi_gfx
|
||||||
|
ROM_END
|
||||||
|
|
||||||
|
/* Driver */
|
||||||
|
|
||||||
|
/* YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS */
|
||||||
|
COMP( 1979, rc702, 0, 0, rc702, rc702, rc702_state, rc702, "Regnecentralen", "RC702 Piccolo", MACHINE_NOT_WORKING )
|
@ -4,7 +4,7 @@
|
|||||||
|
|
||||||
mame.lst
|
mame.lst
|
||||||
|
|
||||||
This is automaticaly generated file, that should be manually updated when
|
This is not automatically generated file, and should be manually updated when
|
||||||
new driver is added. From time to time we will auto update comments
|
new driver is added. From time to time we will auto update comments
|
||||||
according to meta-data from source files.
|
according to meta-data from source files.
|
||||||
|
|
||||||
@ -31352,6 +31352,9 @@ rbislando // B22 (c) 1987 Taito Corporation
|
|||||||
@source:rbmk.cpp
|
@source:rbmk.cpp
|
||||||
rbmk // (c) 1995 GMS
|
rbmk // (c) 1995 GMS
|
||||||
|
|
||||||
|
@source:rc702.cpp
|
||||||
|
rc702 // 1979 RC702
|
||||||
|
|
||||||
@source:rc759.cpp
|
@source:rc759.cpp
|
||||||
rc759 // 1984 RC759
|
rc759 // 1984 RC759
|
||||||
|
|
||||||
|
@ -493,6 +493,7 @@ radio86.cpp
|
|||||||
rainbow.cpp
|
rainbow.cpp
|
||||||
rambo.cpp
|
rambo.cpp
|
||||||
ravens.cpp
|
ravens.cpp
|
||||||
|
rc702.cpp
|
||||||
rc759.cpp
|
rc759.cpp
|
||||||
rd100.cpp
|
rd100.cpp
|
||||||
rd110.cpp
|
rd110.cpp
|
||||||
|
Loading…
Reference in New Issue
Block a user