mirror of
https://github.com/holub/mame
synced 2025-04-26 02:07:14 +03:00
(MESS) Tagmap lookup cleanup. (nw)
This commit is contained in:
parent
9cdbd18a0e
commit
fc33a3716e
@ -998,7 +998,7 @@ void abc800_state::machine_start()
|
||||
|
||||
void abc800_state::machine_reset()
|
||||
{
|
||||
m_sb = ioport("SB")->read();
|
||||
m_sb = m_io_sb->read();
|
||||
|
||||
m_fetch_charram = 0;
|
||||
bankswitch();
|
||||
@ -1045,8 +1045,8 @@ void abc802_state::machine_start()
|
||||
|
||||
void abc802_state::machine_reset()
|
||||
{
|
||||
UINT8 config = ioport("CONFIG")->read();
|
||||
m_sb = ioport("SB")->read();
|
||||
UINT8 config = m_config->read();
|
||||
m_sb = m_io_sb->read();
|
||||
|
||||
// memory banking
|
||||
m_lrs = 1;
|
||||
@ -1115,7 +1115,7 @@ void abc806_state::machine_start()
|
||||
|
||||
void abc806_state::machine_reset()
|
||||
{
|
||||
m_sb = ioport("SB")->read();
|
||||
m_sb = m_io_sb->read();
|
||||
|
||||
// setup memory banking
|
||||
int bank;
|
||||
|
@ -417,11 +417,11 @@ READ8_MEMBER( adam_state::mreq_r )
|
||||
{
|
||||
if (offset < 0x6000)
|
||||
{
|
||||
data = m_boot_rom[offset];
|
||||
data = m_boot_rom->base()[offset];
|
||||
}
|
||||
else
|
||||
{
|
||||
data = m_boot_rom[(eos_enable << 13) + offset];
|
||||
data = m_boot_rom->base()[(eos_enable << 13) + offset];
|
||||
}
|
||||
}
|
||||
|
||||
@ -430,7 +430,7 @@ READ8_MEMBER( adam_state::mreq_r )
|
||||
switch (offset >> 13)
|
||||
{
|
||||
case 0: // U2
|
||||
data = m_os7_rom[offset];
|
||||
data = m_os7_rom->base()[offset];
|
||||
break;
|
||||
|
||||
case 1: break;
|
||||
@ -440,7 +440,7 @@ READ8_MEMBER( adam_state::mreq_r )
|
||||
case 5: // CS2
|
||||
case 6: // CS3
|
||||
case 7: // CS4
|
||||
data = m_cart_rom[offset & 0x7fff];
|
||||
data = m_cart_rom->base()[offset & 0x7fff];
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -1059,11 +1059,6 @@ static ADAM_EXPANSION_SLOT_INTERFACE( slot3_intf )
|
||||
|
||||
void adam_state::machine_start()
|
||||
{
|
||||
// find memory regions
|
||||
m_boot_rom = memregion("boot")->base();
|
||||
m_os7_rom = memregion("os7")->base();
|
||||
m_cart_rom = memregion("cart")->base();
|
||||
|
||||
// state saving
|
||||
save_item(NAME(m_mioc));
|
||||
save_item(NAME(m_game));
|
||||
|
@ -171,7 +171,7 @@ WRITE8_MEMBER(aquarius_state::scrambler_w)
|
||||
|
||||
READ8_MEMBER(aquarius_state::cartridge_r)
|
||||
{
|
||||
UINT8 *rom = memregion("maincpu")->base() + 0xc000;
|
||||
UINT8 *rom = m_rom->base() + 0xc000;
|
||||
return rom[offset] ^ m_scrambler;
|
||||
}
|
||||
|
||||
@ -183,7 +183,7 @@ READ8_MEMBER(aquarius_state::cartridge_r)
|
||||
DRIVER_INIT_MEMBER(aquarius_state,aquarius)
|
||||
{
|
||||
/* install expansion memory if available */
|
||||
if (machine().device<ram_device>(RAM_TAG)->size() > 0x1000)
|
||||
if (m_ram->size() > 0x1000)
|
||||
{
|
||||
address_space &space = m_maincpu->space(AS_PROGRAM);
|
||||
|
||||
|
@ -428,8 +428,8 @@ void st_state::mouse_tick()
|
||||
|
||||
*/
|
||||
|
||||
UINT8 x = ioport("IKBD_MOUSEX")->read_safe(0x00);
|
||||
UINT8 y = ioport("IKBD_MOUSEY")->read_safe(0x00);
|
||||
UINT8 x = m_mousex->read_safe(0x00);
|
||||
UINT8 y = m_mousey->read_safe(0x00);
|
||||
|
||||
if (m_ikbd_mouse_pc == 0)
|
||||
{
|
||||
@ -509,21 +509,21 @@ READ8_MEMBER( st_state::ikbd_port1_r )
|
||||
UINT8 data = 0xff;
|
||||
|
||||
// keyboard data
|
||||
if (!BIT(m_ikbd_keylatch, 1)) data &= ioport("P31")->read();
|
||||
if (!BIT(m_ikbd_keylatch, 2)) data &= ioport("P32")->read();
|
||||
if (!BIT(m_ikbd_keylatch, 3)) data &= ioport("P33")->read();
|
||||
if (!BIT(m_ikbd_keylatch, 4)) data &= ioport("P34")->read();
|
||||
if (!BIT(m_ikbd_keylatch, 5)) data &= ioport("P35")->read();
|
||||
if (!BIT(m_ikbd_keylatch, 6)) data &= ioport("P36")->read();
|
||||
if (!BIT(m_ikbd_keylatch, 7)) data &= ioport("P37")->read();
|
||||
if (!BIT(m_ikbd_keylatch, 8)) data &= ioport("P40")->read();
|
||||
if (!BIT(m_ikbd_keylatch, 9)) data &= ioport("P41")->read();
|
||||
if (!BIT(m_ikbd_keylatch, 10)) data &= ioport("P42")->read();
|
||||
if (!BIT(m_ikbd_keylatch, 11)) data &= ioport("P43")->read();
|
||||
if (!BIT(m_ikbd_keylatch, 12)) data &= ioport("P44")->read();
|
||||
if (!BIT(m_ikbd_keylatch, 13)) data &= ioport("P45")->read();
|
||||
if (!BIT(m_ikbd_keylatch, 14)) data &= ioport("P46")->read();
|
||||
if (!BIT(m_ikbd_keylatch, 15)) data &= ioport("P47")->read();
|
||||
if (!BIT(m_ikbd_keylatch, 1)) data &= m_p31->read();
|
||||
if (!BIT(m_ikbd_keylatch, 2)) data &= m_p32->read();
|
||||
if (!BIT(m_ikbd_keylatch, 3)) data &= m_p33->read();
|
||||
if (!BIT(m_ikbd_keylatch, 4)) data &= m_p34->read();
|
||||
if (!BIT(m_ikbd_keylatch, 5)) data &= m_p35->read();
|
||||
if (!BIT(m_ikbd_keylatch, 6)) data &= m_p36->read();
|
||||
if (!BIT(m_ikbd_keylatch, 7)) data &= m_p37->read();
|
||||
if (!BIT(m_ikbd_keylatch, 8)) data &= m_p40->read();
|
||||
if (!BIT(m_ikbd_keylatch, 9)) data &= m_p41->read();
|
||||
if (!BIT(m_ikbd_keylatch, 10)) data &= m_p42->read();
|
||||
if (!BIT(m_ikbd_keylatch, 11)) data &= m_p43->read();
|
||||
if (!BIT(m_ikbd_keylatch, 12)) data &= m_p44->read();
|
||||
if (!BIT(m_ikbd_keylatch, 13)) data &= m_p45->read();
|
||||
if (!BIT(m_ikbd_keylatch, 14)) data &= m_p46->read();
|
||||
if (!BIT(m_ikbd_keylatch, 15)) data &= m_p47->read();
|
||||
|
||||
return data;
|
||||
}
|
||||
@ -547,7 +547,7 @@ READ8_MEMBER( st_state::ikbd_port2_r )
|
||||
|
||||
*/
|
||||
|
||||
UINT8 data = ioport("IKBD_JOY1")->read_safe(0xff) & 0x06;
|
||||
UINT8 data = m_joy1->read_safe(0xff) & 0x06;
|
||||
|
||||
// serial receive
|
||||
data |= m_ikbd_tx << 3;
|
||||
@ -634,9 +634,9 @@ READ8_MEMBER( st_state::ikbd_port4_r )
|
||||
|
||||
if (m_ikbd_joy) return 0xff;
|
||||
|
||||
UINT8 data = ioport("IKBD_JOY0")->read_safe(0xff);
|
||||
UINT8 data = m_joy0->read_safe(0xff);
|
||||
|
||||
if ((ioport("config")->read() & 0x01) == 0)
|
||||
if ((m_config->read() & 0x01) == 0)
|
||||
{
|
||||
data = (data & 0xf0) | m_ikbd_mouse;
|
||||
}
|
||||
@ -726,7 +726,7 @@ void ste_state::dmasound_tick()
|
||||
{
|
||||
if (m_dmasnd_samples == 0)
|
||||
{
|
||||
UINT8 *RAM = machine().device<ram_device>(RAM_TAG)->pointer();
|
||||
UINT8 *RAM = m_ram->pointer();
|
||||
|
||||
for (int i = 0; i < 8; i++)
|
||||
{
|
||||
@ -1137,7 +1137,7 @@ READ16_MEMBER( stbook_state::config_r )
|
||||
|
||||
*/
|
||||
|
||||
return (ioport("SW400")->read() << 8) | 0xff;
|
||||
return (m_sw400->read() << 8) | 0xff;
|
||||
}
|
||||
|
||||
|
||||
@ -1919,7 +1919,7 @@ READ8_MEMBER( st_state::mfp_gpio_r )
|
||||
// ring indicator
|
||||
|
||||
// monochrome monitor detect
|
||||
data |= ioport("config")->read() & 0x80;
|
||||
data |= m_config->read() & 0x80;
|
||||
|
||||
return data;
|
||||
}
|
||||
@ -1989,7 +1989,7 @@ READ8_MEMBER( ste_state::mfp_gpio_r )
|
||||
// ring indicator
|
||||
|
||||
// monochrome monitor detect, DMA sound active
|
||||
data |= (ioport("config")->read() & 0x80) ^ (m_dmasnd_active << 7);
|
||||
data |= (m_config->read() & 0x80) ^ (m_dmasnd_active << 7);
|
||||
|
||||
return data;
|
||||
}
|
||||
|
@ -125,7 +125,7 @@ void atom_state::bankswitch()
|
||||
{
|
||||
address_space &program = m_maincpu->space(AS_PROGRAM);
|
||||
|
||||
UINT8 *eprom = memregion(EXTROM_TAG)->base() + (m_eprom << 12);
|
||||
UINT8 *eprom = m_extrom->base() + (m_eprom << 12);
|
||||
|
||||
program.install_rom(0xa000, 0xafff, eprom);
|
||||
}
|
||||
|
@ -120,7 +120,7 @@ READ8_MEMBER( beta_state::riot_pa_r )
|
||||
default:
|
||||
if (!m_eprom_oe && !m_eprom_ce)
|
||||
{
|
||||
data = m_eprom[m_eprom_addr & 0x7ff];
|
||||
data = m_eprom->base()[m_eprom_addr & 0x7ff];
|
||||
popmessage("EPROM read %04x = %02x\n", m_eprom_addr & 0x7ff, data);
|
||||
}
|
||||
}
|
||||
@ -207,7 +207,7 @@ WRITE8_MEMBER( beta_state::riot_pb_w )
|
||||
if (BIT(data, 6) && (!BIT(m_old_data, 7) && BIT(data, 7)))
|
||||
{
|
||||
popmessage("EPROM write %04x = %02x\n", m_eprom_addr & 0x7ff, m_eprom_data);
|
||||
m_eprom[m_eprom_addr & 0x7ff] &= m_eprom_data;
|
||||
m_eprom->base()[m_eprom_addr & 0x7ff] &= m_eprom_data;
|
||||
}
|
||||
|
||||
m_old_data = data;
|
||||
@ -226,7 +226,9 @@ static const riot6532_interface beta_riot_interface =
|
||||
|
||||
static DEVICE_IMAGE_UNLOAD( beta_eprom )
|
||||
{
|
||||
UINT8 *ptr = image.device().machine().root_device().memregion(EPROM_TAG)->base();
|
||||
beta_state *state = image.device().machine().driver_data<beta_state>();
|
||||
|
||||
UINT8 *ptr = state->m_eprom->base();
|
||||
|
||||
image.fwrite(ptr, 0x800);
|
||||
}
|
||||
@ -237,9 +239,6 @@ void beta_state::machine_start()
|
||||
{
|
||||
m_led_refresh_timer = machine().scheduler().timer_alloc(timer_expired_delegate(FUNC(beta_state::led_refresh),this));
|
||||
|
||||
// find memory regions
|
||||
m_eprom = memregion(EPROM_TAG)->base();
|
||||
|
||||
// state saving
|
||||
save_item(NAME(m_eprom_oe));
|
||||
save_item(NAME(m_eprom_ce));
|
||||
|
@ -336,7 +336,7 @@ static MC6845_UPDATE_ROW( bw12_update_row )
|
||||
{
|
||||
UINT8 code = state->m_video_ram[((ma + column) & BW12_VIDEORAM_MASK)];
|
||||
UINT16 addr = code << 4 | (ra & 0x0f);
|
||||
UINT8 data = state->m_char_rom[addr & BW12_CHARROM_MASK];
|
||||
UINT8 data = state->m_char_rom->base()[addr & BW12_CHARROM_MASK];
|
||||
|
||||
if (column == cursor_x)
|
||||
{
|
||||
@ -371,12 +371,6 @@ static MC6845_INTERFACE( bw12_mc6845_interface )
|
||||
NULL
|
||||
};
|
||||
|
||||
void bw12_state::video_start()
|
||||
{
|
||||
/* find memory regions */
|
||||
m_char_rom = memregion("chargen")->base();
|
||||
}
|
||||
|
||||
/* PIA6821 Interface */
|
||||
|
||||
READ8_MEMBER( bw12_state::pia_pa_r )
|
||||
@ -570,7 +564,7 @@ static AY3600_INTERFACE( bw12_ay3600_intf )
|
||||
void bw12_state::machine_start()
|
||||
{
|
||||
/* setup memory banking */
|
||||
membank("bank1")->configure_entry(0, memregion(Z80_TAG)->base());
|
||||
membank("bank1")->configure_entry(0, m_rom->base());
|
||||
membank("bank1")->configure_entry(1, m_ram->pointer());
|
||||
membank("bank1")->configure_entries(2, 2, m_ram->pointer() + 0x10000, 0x8000);
|
||||
|
||||
|
@ -8,7 +8,8 @@
|
||||
- IRQ (WRONG $DC0D)
|
||||
- NMI (WRONG $DD0D)
|
||||
- some CIA tests
|
||||
- 64C PLA dump
|
||||
- PDC Clipper (C64 in a briefcase with 3" floppy, electroluminescent flat screen, thermal printer)
|
||||
- Tesa 6240 (modified SX64 with label printer)
|
||||
|
||||
*/
|
||||
|
||||
@ -121,11 +122,25 @@ UINT8 c64_state::read_memory(address_space &space, offs_t offset, offs_t va, int
|
||||
}
|
||||
if (!basic)
|
||||
{
|
||||
data = m_basic[offset & 0x1fff];
|
||||
if (m_basic != NULL)
|
||||
{
|
||||
data = m_basic->base()[offset & 0x1fff];
|
||||
}
|
||||
else
|
||||
{
|
||||
data = m_kernal->base()[offset & 0x1fff];
|
||||
}
|
||||
}
|
||||
if (!kernal)
|
||||
{
|
||||
data = m_kernal[offset & 0x1fff];
|
||||
if (m_basic != NULL)
|
||||
{
|
||||
data = m_kernal->base()[offset & 0x1fff];
|
||||
}
|
||||
else
|
||||
{
|
||||
data = m_kernal->base()[0x2000 | (offset & 0x1fff)];
|
||||
}
|
||||
}
|
||||
if (!charom)
|
||||
{
|
||||
@ -278,7 +293,7 @@ READ8_MEMBER( c64_state::vic_videoram_r )
|
||||
offs_t va = offset;
|
||||
|
||||
// A15/A14 are not connected to VIC so they are floating
|
||||
offset |= 0xc000;
|
||||
//offset |= 0xc000;
|
||||
|
||||
return read_memory(space, offset, va, aec, ba);
|
||||
}
|
||||
@ -894,6 +909,7 @@ WRITE8_MEMBER( c64_state::cpu_w )
|
||||
m_cassette->motor_w(BIT(data, 5));
|
||||
}
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// M6510_INTERFACE( sx64_cpu_intf )
|
||||
//-------------------------------------------------
|
||||
@ -937,6 +953,7 @@ WRITE8_MEMBER( sx64_state::cpu_w )
|
||||
m_charen = BIT(data, 2);
|
||||
}
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// M6510_INTERFACE( c64gs_cpu_intf )
|
||||
//-------------------------------------------------
|
||||
@ -980,6 +997,7 @@ WRITE8_MEMBER( c64gs_state::cpu_w )
|
||||
m_charen = BIT(data, 2);
|
||||
}
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// PET_DATASSETTE_PORT_INTERFACE( datassette_intf )
|
||||
//-------------------------------------------------
|
||||
@ -1101,10 +1119,6 @@ static C64_USER_PORT_INTERFACE( user_intf )
|
||||
|
||||
void c64_state::machine_start()
|
||||
{
|
||||
// find memory regions
|
||||
m_basic = memregion("basic")->base();
|
||||
m_kernal = memregion("kernal")->base();
|
||||
|
||||
// allocate memory
|
||||
m_color_ram.allocate(0x400);
|
||||
|
||||
@ -1134,30 +1148,6 @@ void c64_state::machine_start()
|
||||
}
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// MACHINE_START( c64c )
|
||||
//-------------------------------------------------
|
||||
|
||||
void c64c_state::machine_start()
|
||||
{
|
||||
c64_state::machine_start();
|
||||
|
||||
// find memory regions
|
||||
m_basic = memregion(M6510_TAG)->base();
|
||||
m_kernal = memregion(M6510_TAG)->base() + 0x2000;
|
||||
}
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// MACHINE_START( c64gs )
|
||||
//-------------------------------------------------
|
||||
|
||||
void c64gs_state::machine_start()
|
||||
{
|
||||
c64c_state::machine_start();
|
||||
}
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// MACHINE_RESET( c64 )
|
||||
//-------------------------------------------------
|
||||
@ -1210,7 +1200,7 @@ static MACHINE_CONFIG_START( ntsc, c64_state )
|
||||
MCFG_PET_DATASSETTE_PORT_ADD(PET_DATASSETTE_PORT_TAG, datassette_intf, cbm_datassette_devices, "c1530", NULL)
|
||||
MCFG_CBM_IEC_ADD(iec_intf, "c1541")
|
||||
MCFG_VCS_CONTROL_PORT_ADD(CONTROL1_TAG, vcs_control_port_devices, NULL, NULL)
|
||||
MCFG_VCS_CONTROL_PORT_ADD(CONTROL2_TAG, vcs_control_port_devices, NULL, NULL)
|
||||
MCFG_VCS_CONTROL_PORT_ADD(CONTROL2_TAG, vcs_control_port_devices, "joy", NULL)
|
||||
MCFG_C64_EXPANSION_SLOT_ADD(C64_EXPANSION_SLOT_TAG, VIC6567_CLOCK, expansion_intf, c64_expansion_cards, NULL, NULL)
|
||||
MCFG_C64_USER_PORT_ADD(C64_USER_PORT_TAG, user_intf, c64_user_port_cards, NULL, NULL)
|
||||
|
||||
@ -1625,7 +1615,7 @@ ROM_END
|
||||
//-------------------------------------------------
|
||||
|
||||
ROM_START( c64c )
|
||||
ROM_REGION( 0x4000, M6510_TAG, 0 )
|
||||
ROM_REGION( 0x4000, "kernal", 0 )
|
||||
ROM_LOAD( "251913-01.u4", 0x0000, 0x4000, CRC(0010ec31) SHA1(765372a0e16cbb0adf23a07b80f6b682b39fbf88) )
|
||||
|
||||
ROM_REGION( 0x1000, "charom", 0 )
|
||||
@ -1655,7 +1645,7 @@ ROM_END
|
||||
//-------------------------------------------------
|
||||
|
||||
ROM_START( c64c_se )
|
||||
ROM_REGION( 0x4000, M6510_TAG, 0 )
|
||||
ROM_REGION( 0x4000, "kernal", 0 )
|
||||
ROM_LOAD( "325182-01.u4", 0x0000, 0x4000, CRC(2aff27d3) SHA1(267654823c4fdf2167050f41faa118218d2569ce) ) // 128/64 FI
|
||||
|
||||
ROM_REGION( 0x1000, "charom", 0 )
|
||||
@ -1671,7 +1661,7 @@ ROM_END
|
||||
//-------------------------------------------------
|
||||
|
||||
ROM_START( c64gs )
|
||||
ROM_REGION( 0x4000, M6510_TAG, 0 )
|
||||
ROM_REGION( 0x4000, "kernal", 0 )
|
||||
ROM_LOAD( "390852-01.u4", 0x0000, 0x4000, CRC(b0a9c2da) SHA1(21940ef5f1bfe67d7537164f7ca130a1095b067a) )
|
||||
|
||||
ROM_REGION( 0x1000, "charom", 0 )
|
||||
@ -1698,8 +1688,6 @@ COMP( 1984, sx64, c64, 0, ntsc_sx, c64, driver_device, 0,
|
||||
COMP( 1984, sx64p, c64, 0, pal_sx, c64, driver_device, 0, "Commodore Business Machines", "SX-64 / Executive 64 (PAL)", GAME_SUPPORTS_SAVE )
|
||||
COMP( 1984, vip64, c64, 0, pal_sx, c64sw, driver_device, 0, "Commodore Business Machines", "VIP-64 (Sweden/Finland)", GAME_SUPPORTS_SAVE )
|
||||
COMP( 1984, dx64, c64, 0, ntsc_dx, c64, driver_device, 0, "Commodore Business Machines", "DX-64 (NTSC)", GAME_SUPPORTS_SAVE )
|
||||
//COMP(1983, clipper, c64, 0, c64pal, clipper, XXX_CLASS, c64pal, "PDC", "Clipper", GAME_NOT_WORKING) // C64 in a briefcase with 3" floppy, electroluminescent flat screen, thermal printer
|
||||
//COMP(1983, tesa6240, c64, 0, c64pal, c64, XXX_CLASS, c64pal, "Tesa", "6240", GAME_NOT_WORKING) // modified SX64 with label printer
|
||||
COMP( 1986, c64c, c64, 0, ntsc_c, c64, driver_device, 0, "Commodore Business Machines", "Commodore 64C (NTSC)", GAME_SUPPORTS_SAVE )
|
||||
COMP( 1986, c64cp, c64, 0, pal_c, c64, driver_device, 0, "Commodore Business Machines", "Commodore 64C (PAL)", GAME_SUPPORTS_SAVE )
|
||||
COMP( 1986, c64c_se,c64, 0, pal_c, c64sw, driver_device, 0, "Commodore Business Machines", "Commodore 64C (Sweden/Finland)", GAME_SUPPORTS_SAVE )
|
||||
|
@ -30,7 +30,7 @@ READ8_MEMBER( comx35_state::mem_r )
|
||||
|
||||
if (offset < 0x4000)
|
||||
{
|
||||
if (extrom) data = m_rom[offset & 0x3fff];
|
||||
if (extrom) data = m_rom->base()[offset & 0x3fff];
|
||||
}
|
||||
else if (offset >= 0x4000 && offset < 0xc000)
|
||||
{
|
||||
@ -136,7 +136,7 @@ ADDRESS_MAP_END
|
||||
|
||||
INPUT_CHANGED_MEMBER( comx35_state::trigger_reset )
|
||||
{
|
||||
if (newval && BIT(ioport("D6")->read(), 7))
|
||||
if (newval && BIT(m_d6->read(), 7))
|
||||
{
|
||||
machine_reset();
|
||||
}
|
||||
@ -459,9 +459,6 @@ void comx35_state::machine_start()
|
||||
UINT8 *ram = m_ram->pointer();
|
||||
memset(ram, 0, m_ram->size());
|
||||
|
||||
// find memory regions
|
||||
m_rom = memregion(CDP1802_TAG)->base();
|
||||
|
||||
// register for state saving
|
||||
save_item(NAME(m_clear));
|
||||
save_item(NAME(m_q));
|
||||
|
@ -79,7 +79,7 @@ WRITE8_MEMBER( cosmicos_state::audio_latch_w )
|
||||
|
||||
READ8_MEMBER( cosmicos_state::hex_keyboard_r )
|
||||
{
|
||||
static const char *const keynames[] = { "ROW1", "ROW2", "ROW3", "ROW4" };
|
||||
ioport_port *ports[4] = { m_y1, m_y2, m_y3, m_y4 };
|
||||
UINT8 data = 0;
|
||||
int i;
|
||||
|
||||
@ -87,7 +87,7 @@ READ8_MEMBER( cosmicos_state::hex_keyboard_r )
|
||||
{
|
||||
if (BIT(m_keylatch, i))
|
||||
{
|
||||
UINT8 keydata = ioport(keynames[i])->read();
|
||||
UINT8 keydata = ports[i]->read();
|
||||
|
||||
if (BIT(keydata, 0)) data |= 0x01;
|
||||
if (BIT(keydata, 1)) data |= 0x02;
|
||||
@ -159,7 +159,7 @@ ADDRESS_MAP_END
|
||||
|
||||
INPUT_CHANGED_MEMBER( cosmicos_state::data )
|
||||
{
|
||||
UINT8 data = ioport("DATA")->read();
|
||||
UINT8 data = m_io_data->read();
|
||||
int i;
|
||||
|
||||
for (i = 0; i < 8; i++)
|
||||
@ -308,25 +308,25 @@ static INPUT_PORTS_START( cosmicos )
|
||||
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("ROW1")
|
||||
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("ROW2")
|
||||
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("ROW3")
|
||||
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("ROW4")
|
||||
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')
|
||||
@ -395,14 +395,14 @@ READ_LINE_MEMBER( cosmicos_state::clear_r )
|
||||
|
||||
READ_LINE_MEMBER( cosmicos_state::ef1_r )
|
||||
{
|
||||
UINT8 special = ioport("SPECIAL")->read();
|
||||
UINT8 special = m_special->read();
|
||||
|
||||
return BIT(special, 0);
|
||||
}
|
||||
|
||||
READ_LINE_MEMBER( cosmicos_state::ef2_r )
|
||||
{
|
||||
UINT8 special = ioport("SPECIAL")->read();
|
||||
UINT8 special = m_special->read();
|
||||
int casin = (m_cassette)->input() < 0.0;
|
||||
|
||||
output_set_led_value(LED_CASSETTE, casin);
|
||||
@ -412,14 +412,14 @@ READ_LINE_MEMBER( cosmicos_state::ef2_r )
|
||||
|
||||
READ_LINE_MEMBER( cosmicos_state::ef3_r )
|
||||
{
|
||||
UINT8 special = ioport("SPECIAL")->read();
|
||||
UINT8 special = m_special->read();
|
||||
|
||||
return BIT(special, 2) | BIT(special, 3);
|
||||
}
|
||||
|
||||
READ_LINE_MEMBER( cosmicos_state::ef4_r )
|
||||
{
|
||||
return BIT(ioport("BUTTONS")->read(), 0);
|
||||
return BIT(m_buttons->read(), 0);
|
||||
}
|
||||
|
||||
static COSMAC_SC_WRITE( cosmicos_sc_w )
|
||||
@ -528,7 +528,8 @@ void cosmicos_state::machine_reset()
|
||||
|
||||
static QUICKLOAD_LOAD( cosmicos )
|
||||
{
|
||||
UINT8 *ptr = image.device().machine().root_device().memregion(CDP1802_TAG)->base();
|
||||
cosmicos_state *state = image.device().machine().driver_data<cosmicos_state>();
|
||||
UINT8 *ptr = state->m_rom->base();
|
||||
int size = image.length();
|
||||
|
||||
/* load image to RAM */
|
||||
@ -609,7 +610,7 @@ DIRECT_UPDATE_MEMBER(cosmicos_state::cosmicos_direct_update_handler)
|
||||
if (m_boot)
|
||||
{
|
||||
/* force A6 and A7 high */
|
||||
direct.explicit_configure(0x0000, 0xffff, 0x3f3f, memregion(CDP1802_TAG)->base() + 0xc0);
|
||||
direct.explicit_configure(0x0000, 0xffff, 0x3f3f, m_rom->base() + 0xc0);
|
||||
return ~0;
|
||||
}
|
||||
|
||||
@ -618,9 +619,7 @@ DIRECT_UPDATE_MEMBER(cosmicos_state::cosmicos_direct_update_handler)
|
||||
|
||||
DRIVER_INIT_MEMBER(cosmicos_state,cosmicos)
|
||||
{
|
||||
address_space &program = machine().device(CDP1802_TAG)->memory().space(AS_PROGRAM);
|
||||
|
||||
program.set_direct_update_handler(direct_update_delegate(FUNC(cosmicos_state::cosmicos_direct_update_handler), this));
|
||||
m_maincpu->space(AS_PROGRAM).set_direct_update_handler(direct_update_delegate(FUNC(cosmicos_state::cosmicos_direct_update_handler), this));
|
||||
}
|
||||
|
||||
/* YEAR NAME PARENT COMPAT MACHINE INPUT INIT COMPANY FULLNAME FLAGS */
|
||||
|
@ -380,7 +380,7 @@ INPUT_PORTS_END
|
||||
-------------------------------------------------*/
|
||||
|
||||
static INPUT_PORTS_START( manager )
|
||||
PORT_START("ROW0")
|
||||
PORT_START("Y0")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_STOP) PORT_CHAR('.') PORT_CHAR('>')
|
||||
@ -390,7 +390,7 @@ static INPUT_PORTS_START( manager )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_S) PORT_CHAR('S') PORT_CHAR('s')
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_X) PORT_CHAR('X') PORT_CHAR('x')
|
||||
|
||||
PORT_START("ROW1")
|
||||
PORT_START("Y1")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("\xC3\x84 \xC3\xA4") PORT_CODE(KEYCODE_QUOTE) PORT_CHAR(0x00C4) PORT_CHAR(0x00E4)
|
||||
@ -400,7 +400,7 @@ static INPUT_PORTS_START( manager )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_A) PORT_CHAR('A') PORT_CHAR('a')
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_Z) PORT_CHAR('Z') PORT_CHAR('z')
|
||||
|
||||
PORT_START("ROW2")
|
||||
PORT_START("Y2")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_I) PORT_CHAR('I') PORT_CHAR('i')
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_SLASH) PORT_CHAR('/') PORT_CHAR('?')
|
||||
@ -410,7 +410,7 @@ static INPUT_PORTS_START( manager )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("CTRL") PORT_CODE(KEYCODE_LCONTROL) PORT_CHAR(UCHAR_MAMEKEY(LCONTROL))
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("SHIFT") PORT_CODE(KEYCODE_LSHIFT) PORT_CODE(KEYCODE_RSHIFT) PORT_CHAR(UCHAR_SHIFT_1)
|
||||
|
||||
PORT_START("ROW3")
|
||||
PORT_START("Y3")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_N) PORT_CHAR('N') PORT_CHAR('n')
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_X) PORT_CHAR('X') PORT_CHAR('x')
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("\xC3\x96 \xC3\xB6") PORT_CODE(KEYCODE_COLON) PORT_CHAR(0x00D6) PORT_CHAR(0x00F6)
|
||||
@ -420,7 +420,7 @@ static INPUT_PORTS_START( manager )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_D) PORT_CHAR('D') PORT_CHAR('d')
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_C) PORT_CHAR('C') PORT_CHAR('c')
|
||||
|
||||
PORT_START("ROW4")
|
||||
PORT_START("Y4")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_COMMA) PORT_CHAR(',') PORT_CHAR('<')
|
||||
@ -430,7 +430,7 @@ static INPUT_PORTS_START( manager )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_F) PORT_CHAR('F') PORT_CHAR('f')
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_V) PORT_CHAR('V') PORT_CHAR('v')
|
||||
|
||||
PORT_START("ROW5")
|
||||
PORT_START("Y5")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_J) PORT_CHAR('J') PORT_CHAR('j')
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_L) PORT_CHAR('L') PORT_CHAR('l')
|
||||
@ -440,7 +440,7 @@ static INPUT_PORTS_START( manager )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_G) PORT_CHAR('G') PORT_CHAR('g')
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_B) PORT_CHAR('B') PORT_CHAR('b')
|
||||
|
||||
PORT_START("ROW6")
|
||||
PORT_START("Y6")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_S) PORT_CHAR('S') PORT_CHAR('s')
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_K) PORT_CHAR('K') PORT_CHAR('k')
|
||||
@ -450,7 +450,7 @@ static INPUT_PORTS_START( manager )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_H) PORT_CHAR('H') PORT_CHAR('h')
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_N) PORT_CHAR('N') PORT_CHAR('n')
|
||||
|
||||
PORT_START("ROW7")
|
||||
PORT_START("Y7")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_X) PORT_CHAR('X') PORT_CHAR('x')
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_N) PORT_CHAR('N') PORT_CHAR('n')
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_SPACE) PORT_CHAR(' ')
|
||||
@ -643,14 +643,14 @@ READ8_MEMBER( laser2001_state::pia_pa_r )
|
||||
|
||||
UINT8 data = 0xff;
|
||||
|
||||
if (!BIT(m_keylatch, 0)) data &= ioport("ROW0")->read();
|
||||
if (!BIT(m_keylatch, 1)) data &= ioport("ROW1")->read();
|
||||
if (!BIT(m_keylatch, 2)) data &= ioport("ROW2")->read();
|
||||
if (!BIT(m_keylatch, 3)) data &= ioport("ROW3")->read();
|
||||
if (!BIT(m_keylatch, 4)) data &= ioport("ROW4")->read();
|
||||
if (!BIT(m_keylatch, 5)) data &= ioport("ROW5")->read();
|
||||
if (!BIT(m_keylatch, 6)) data &= ioport("ROW6")->read();
|
||||
if (!BIT(m_keylatch, 7)) data &= ioport("ROW7")->read();
|
||||
if (!BIT(m_keylatch, 0)) data &= m_y0->read();
|
||||
if (!BIT(m_keylatch, 1)) data &= m_y1->read();
|
||||
if (!BIT(m_keylatch, 2)) data &= m_y2->read();
|
||||
if (!BIT(m_keylatch, 3)) data &= m_y3->read();
|
||||
if (!BIT(m_keylatch, 4)) data &= m_y4->read();
|
||||
if (!BIT(m_keylatch, 5)) data &= m_y5->read();
|
||||
if (!BIT(m_keylatch, 6)) data &= m_y6->read();
|
||||
if (!BIT(m_keylatch, 7)) data &= m_y7->read();
|
||||
|
||||
return data;
|
||||
}
|
||||
@ -675,10 +675,10 @@ READ8_MEMBER( laser2001_state::pia_pb_r )
|
||||
{
|
||||
UINT8 data = 0xff;
|
||||
|
||||
if (!BIT(m_joylatch, 0)) data &= ioport("JOY0")->read();
|
||||
if (!BIT(m_joylatch, 1)) data &= ioport("JOY1")->read();
|
||||
if (!BIT(m_joylatch, 2)) data &= ioport("JOY2")->read();
|
||||
if (!BIT(m_joylatch, 3)) data &= ioport("JOY3")->read();
|
||||
if (!BIT(m_joylatch, 0)) data &= m_joy0->read();
|
||||
if (!BIT(m_joylatch, 1)) data &= m_joy1->read();
|
||||
if (!BIT(m_joylatch, 2)) data &= m_joy2->read();
|
||||
if (!BIT(m_joylatch, 3)) data &= m_joy3->read();
|
||||
|
||||
return data;
|
||||
}
|
||||
@ -775,23 +775,6 @@ static const cassette_interface lasr2001_cassette_interface =
|
||||
NULL
|
||||
};
|
||||
|
||||
/*-------------------------------------------------
|
||||
floppy_interface lasr2001_floppy_interface
|
||||
-------------------------------------------------*/
|
||||
|
||||
static const floppy_interface lasr2001_floppy_interface =
|
||||
{
|
||||
DEVCB_NULL,
|
||||
DEVCB_NULL,
|
||||
DEVCB_NULL,
|
||||
DEVCB_NULL,
|
||||
DEVCB_NULL,
|
||||
FLOPPY_STANDARD_5_25_SSDD,
|
||||
LEGACY_FLOPPY_OPTIONS_NAME(default),
|
||||
NULL,
|
||||
NULL
|
||||
};
|
||||
|
||||
/*-------------------------------------------------
|
||||
centronics_interface lasr2001_centronics_intf
|
||||
-------------------------------------------------*/
|
||||
@ -853,7 +836,7 @@ static DEVICE_IMAGE_LOAD( crvision_cart )
|
||||
running_machine &machine = image.device().machine();
|
||||
crvision_state *state = machine.driver_data<crvision_state>();
|
||||
UINT8 *mem = state->memregion(M6502_TAG)->base();
|
||||
address_space &program = machine.device(M6502_TAG)->memory().space(AS_PROGRAM);
|
||||
address_space &program = state->m_maincpu->space(AS_PROGRAM);
|
||||
|
||||
if (image.software_entry() == NULL)
|
||||
{
|
||||
@ -945,11 +928,11 @@ static DEVICE_IMAGE_LOAD( crvision_cart )
|
||||
return IMAGE_INIT_FAIL;
|
||||
}
|
||||
|
||||
state->membank("bank1")->configure_entry(0, mem + 0x8000);
|
||||
state->membank("bank1")->set_entry(0);
|
||||
state->membank(BANK_ROM1)->configure_entry(0, mem + 0x8000);
|
||||
state->membank(BANK_ROM1)->set_entry(0);
|
||||
|
||||
state->membank("bank2")->configure_entry(0, mem + 0x4000);
|
||||
state->membank("bank2")->set_entry(0);
|
||||
state->membank(BANK_ROM2)->configure_entry(0, mem + 0x4000);
|
||||
state->membank(BANK_ROM2)->set_entry(0);
|
||||
|
||||
auto_free(machine, temp_copy);
|
||||
|
||||
@ -1033,7 +1016,6 @@ static MACHINE_CONFIG_START( lasr2001, laser2001_state )
|
||||
// devices
|
||||
MCFG_PIA6821_ADD(PIA6821_TAG, lasr2001_pia_intf)
|
||||
MCFG_CASSETTE_ADD(CASSETTE_TAG, lasr2001_cassette_interface)
|
||||
MCFG_LEGACY_FLOPPY_DRIVE_ADD(FLOPPY_0, lasr2001_floppy_interface)
|
||||
MCFG_CENTRONICS_PRINTER_ADD(CENTRONICS_TAG, lasr2001_centronics_intf)
|
||||
|
||||
// video hardware
|
||||
|
@ -16,16 +16,16 @@
|
||||
#include "elf2.lh"
|
||||
|
||||
#define RUN \
|
||||
BIT(ioport("SPECIAL")->read(), 0)
|
||||
BIT(m_special->read(), 0)
|
||||
|
||||
#define LOAD \
|
||||
BIT(ioport("SPECIAL")->read(), 1)
|
||||
BIT(m_special->read(), 1)
|
||||
|
||||
#define MEMORY_PROTECT \
|
||||
BIT(ioport("SPECIAL")->read(), 2)
|
||||
BIT(m_special->read(), 2)
|
||||
|
||||
#define INPUT \
|
||||
BIT(ioport("SPECIAL")->read(), 3)
|
||||
BIT(m_special->read(), 3)
|
||||
|
||||
/* Read/Write Handlers */
|
||||
|
||||
|
@ -122,17 +122,17 @@ static CDP1864_INTERFACE( eti660_cdp1864_intf )
|
||||
|
||||
READ_LINE_MEMBER( eti660_state::clear_r )
|
||||
{
|
||||
return BIT(ioport("SPECIAL")->read(), 0);
|
||||
return BIT(m_special->read(), 0);
|
||||
}
|
||||
|
||||
READ_LINE_MEMBER( eti660_state::ef2_r )
|
||||
{
|
||||
return (m_cassette)->input() < 0;
|
||||
return m_cassette->input() < 0;
|
||||
}
|
||||
|
||||
READ_LINE_MEMBER( eti660_state::ef4_r )
|
||||
{
|
||||
return BIT(ioport("SPECIAL")->read(), 1);
|
||||
return BIT(m_special->read(), 1);
|
||||
}
|
||||
|
||||
WRITE_LINE_MEMBER( eti660_state::q_w )
|
||||
@ -194,10 +194,10 @@ READ8_MEMBER( eti660_state::pia_pa_r )
|
||||
|
||||
UINT8 data = 0xf0;
|
||||
|
||||
if (!BIT(m_keylatch, 0)) data &= ioport("PA0")->read();
|
||||
if (!BIT(m_keylatch, 1)) data &= ioport("PA1")->read();
|
||||
if (!BIT(m_keylatch, 2)) data &= ioport("PA2")->read();
|
||||
if (!BIT(m_keylatch, 3)) data &= ioport("PA3")->read();
|
||||
if (!BIT(m_keylatch, 0)) data &= m_pa0->read();
|
||||
if (!BIT(m_keylatch, 1)) data &= m_pa1->read();
|
||||
if (!BIT(m_keylatch, 2)) data &= m_pa2->read();
|
||||
if (!BIT(m_keylatch, 3)) data &= m_pa3->read();
|
||||
|
||||
return data;
|
||||
}
|
||||
|
@ -195,8 +195,8 @@ void exp85_state::machine_start()
|
||||
/* setup memory banking */
|
||||
program.install_read_bank(0x0000, 0x07ff, "bank1");
|
||||
program.unmap_write(0x0000, 0x07ff);
|
||||
membank("bank1")->configure_entry(0, memregion(I8085A_TAG)->base() + 0xf000);
|
||||
membank("bank1")->configure_entry(1, memregion(I8085A_TAG)->base());
|
||||
membank("bank1")->configure_entry(0, m_rom->base() + 0xf000);
|
||||
membank("bank1")->configure_entry(1, m_rom->base());
|
||||
membank("bank1")->set_entry(0);
|
||||
}
|
||||
|
||||
|
@ -24,9 +24,10 @@
|
||||
|
||||
void amu880_state::scan_keyboard()
|
||||
{
|
||||
static const char *const keynames[] = { "Y0", "Y1", "Y2", "Y3", "Y4", "Y5", "Y6", "Y7", "Y8", "Y9", "Y10", "Y11", "Y12", "Y13", "Y14", "Y15" };
|
||||
ioport_port* ports[16] = { m_y0, m_y1, m_y2, m_y3, m_y4, m_y5, m_y6, m_y7,
|
||||
m_y8, m_y9, m_y10, m_y11, m_y12, m_y13, m_y14, m_y15 };
|
||||
|
||||
UINT8 data = ioport(keynames[m_key_a8 ? m_key_d6 : m_key_d7])->read();
|
||||
UINT8 data = ports[m_key_a8 ? m_key_d6 : m_key_d7]->read();
|
||||
|
||||
int a8 = (data & 0x0f) == 0x0f;
|
||||
|
||||
@ -68,7 +69,7 @@ READ8_MEMBER( amu880_state::keyboard_r )
|
||||
|
||||
*/
|
||||
|
||||
UINT8 special = ioport("SPECIAL")->read();
|
||||
UINT8 special = m_special->read();
|
||||
|
||||
int ctrl = BIT(special, 0);
|
||||
int shift = BIT(special, 2) & BIT(special, 1);
|
||||
@ -76,7 +77,7 @@ READ8_MEMBER( amu880_state::keyboard_r )
|
||||
|
||||
UINT16 address = (ab0 << 9) | (m_key_a8 << 8) | (ctrl << 7) | (shift << 6) | (m_key_a5 << 5) | (m_key_a4 << 4) | m_key_d7;
|
||||
|
||||
return m_kb_rom[address];
|
||||
return m_kb_rom->base()[address];
|
||||
}
|
||||
|
||||
/* Memory Maps */
|
||||
@ -209,12 +210,6 @@ INPUT_PORTS_END
|
||||
|
||||
/* Video */
|
||||
|
||||
void amu880_state::video_start()
|
||||
{
|
||||
// find memory regions
|
||||
m_char_rom = memregion("chargen")->base();
|
||||
}
|
||||
|
||||
UINT32 amu880_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
|
||||
{
|
||||
int y, sx, x, line;
|
||||
@ -229,7 +224,7 @@ UINT32 amu880_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap,
|
||||
UINT8 videoram_data = m_video_ram[videoram_addr & 0x7ff];
|
||||
|
||||
UINT16 charrom_addr = ((videoram_data & 0x7f) << 3) | line;
|
||||
UINT8 data = m_char_rom[charrom_addr & 0x3ff];
|
||||
UINT8 data = m_char_rom->base()[charrom_addr & 0x3ff];
|
||||
|
||||
for (x = 0; x < 6; x++)
|
||||
{
|
||||
@ -340,9 +335,6 @@ static const z80_daisy_config amu880_daisy_chain[] =
|
||||
|
||||
void amu880_state::machine_start()
|
||||
{
|
||||
/* find memory regions */
|
||||
m_kb_rom = memregion("keyboard")->base();
|
||||
|
||||
/* register for state saving */
|
||||
save_item(NAME(m_key_d6));
|
||||
save_item(NAME(m_key_d7));
|
||||
|
@ -65,23 +65,6 @@
|
||||
|
||||
/* Read/Write Handlers */
|
||||
|
||||
static UINT8 read_keyboard(running_machine &machine, UINT16 keylatch)
|
||||
{
|
||||
UINT8 data = 0xff;
|
||||
|
||||
if (!BIT(keylatch, 0)) data &= machine.root_device().ioport("KEY0")->read();
|
||||
if (!BIT(keylatch, 1)) data &= machine.root_device().ioport("KEY1")->read();
|
||||
if (!BIT(keylatch, 2)) data &= machine.root_device().ioport("KEY2")->read();
|
||||
if (!BIT(keylatch, 3)) data &= machine.root_device().ioport("KEY3")->read();
|
||||
if (!BIT(keylatch, 4)) data &= machine.root_device().ioport("KEY4")->read();
|
||||
if (!BIT(keylatch, 5)) data &= machine.root_device().ioport("KEY5")->read();
|
||||
if (!BIT(keylatch, 6)) data &= machine.root_device().ioport("KEY6")->read();
|
||||
if (!BIT(keylatch, 7)) data &= machine.root_device().ioport("KEY7")->read();
|
||||
if (!BIT(keylatch, 8)) data &= machine.root_device().ioport("KEY8")->read();
|
||||
|
||||
return data;
|
||||
}
|
||||
|
||||
READ8_MEMBER( pc8201_state::bank_r )
|
||||
{
|
||||
/*
|
||||
@ -274,7 +257,7 @@ READ8_MEMBER( kc85_state::uart_status_r )
|
||||
data |= 0x20;
|
||||
|
||||
// low power sensor
|
||||
data |= BIT(ioport("BATTERY")->read(), 0) << 7;
|
||||
data |= BIT(m_battery->read(), 0) << 7;
|
||||
|
||||
return data;
|
||||
}
|
||||
@ -316,7 +299,7 @@ READ8_MEMBER( pc8201_state::uart_status_r )
|
||||
data |= 0x20;
|
||||
|
||||
// low power sensor
|
||||
data |= BIT(ioport("BATTERY")->read(), 0) << 7;
|
||||
data |= BIT(m_battery->read(), 0) << 7;
|
||||
|
||||
return data;
|
||||
}
|
||||
@ -391,7 +374,7 @@ READ8_MEMBER( pc8201_state::romrd_r )
|
||||
|
||||
if (m_rom_sel)
|
||||
{
|
||||
data = memregion("option")->base()[m_rom_addr & 0x1ffff];
|
||||
data = m_option->base()[m_rom_addr & 0x1ffff];
|
||||
}
|
||||
|
||||
return data;
|
||||
@ -449,7 +432,19 @@ WRITE8_MEMBER( kc85_state::ctrl_w )
|
||||
|
||||
READ8_MEMBER( kc85_state::keyboard_r )
|
||||
{
|
||||
return read_keyboard(machine(), m_keylatch);
|
||||
UINT8 data = 0xff;
|
||||
|
||||
if (!BIT(m_keylatch, 0)) data &= m_y0->read();
|
||||
if (!BIT(m_keylatch, 1)) data &= m_y1->read();
|
||||
if (!BIT(m_keylatch, 2)) data &= m_y2->read();
|
||||
if (!BIT(m_keylatch, 3)) data &= m_y3->read();
|
||||
if (!BIT(m_keylatch, 4)) data &= m_y4->read();
|
||||
if (!BIT(m_keylatch, 5)) data &= m_y5->read();
|
||||
if (!BIT(m_keylatch, 6)) data &= m_y6->read();
|
||||
if (!BIT(m_keylatch, 7)) data &= m_y7->read();
|
||||
if (!BIT(m_keylatch, 8)) data &= m_y8->read();
|
||||
|
||||
return data;
|
||||
}
|
||||
|
||||
void tandy200_state::bankswitch(UINT8 data)
|
||||
@ -497,7 +492,19 @@ WRITE8_MEMBER( tandy200_state::bank_w )
|
||||
|
||||
READ8_MEMBER( tandy200_state::stbk_r )
|
||||
{
|
||||
return read_keyboard(machine(), m_keylatch);
|
||||
UINT8 data = 0xff;
|
||||
|
||||
if (!BIT(m_keylatch, 0)) data &= m_y0->read();
|
||||
if (!BIT(m_keylatch, 1)) data &= m_y1->read();
|
||||
if (!BIT(m_keylatch, 2)) data &= m_y2->read();
|
||||
if (!BIT(m_keylatch, 3)) data &= m_y3->read();
|
||||
if (!BIT(m_keylatch, 4)) data &= m_y4->read();
|
||||
if (!BIT(m_keylatch, 5)) data &= m_y5->read();
|
||||
if (!BIT(m_keylatch, 6)) data &= m_y6->read();
|
||||
if (!BIT(m_keylatch, 7)) data &= m_y7->read();
|
||||
if (!BIT(m_keylatch, 8)) data &= m_y8->read();
|
||||
|
||||
return data;
|
||||
}
|
||||
|
||||
WRITE8_MEMBER( tandy200_state::stbk_w )
|
||||
@ -627,7 +634,7 @@ ADDRESS_MAP_END
|
||||
/* Input Ports */
|
||||
|
||||
static INPUT_PORTS_START( kc85 )
|
||||
PORT_START("KEY0")
|
||||
PORT_START("Y0")
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_L) PORT_CHAR('l') PORT_CHAR('L')
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_M) PORT_CHAR('m') PORT_CHAR('M')
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_N) PORT_CHAR('n') PORT_CHAR('N')
|
||||
@ -637,7 +644,7 @@ static INPUT_PORTS_START( kc85 )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_X) PORT_CHAR('x') PORT_CHAR('X')
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_Z) PORT_CHAR('z') PORT_CHAR('Z')
|
||||
|
||||
PORT_START("KEY1")
|
||||
PORT_START("Y1")
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_K) PORT_CHAR('k') PORT_CHAR('K')
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_J) PORT_CHAR('j') PORT_CHAR('J')
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_H) PORT_CHAR('h') PORT_CHAR('H')
|
||||
@ -647,7 +654,7 @@ static INPUT_PORTS_START( kc85 )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_S) PORT_CHAR('s') PORT_CHAR('S')
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_A) PORT_CHAR('a') PORT_CHAR('A')
|
||||
|
||||
PORT_START("KEY2")
|
||||
PORT_START("Y2")
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_I) PORT_CHAR('i') PORT_CHAR('I')
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_U) PORT_CHAR('u') PORT_CHAR('U')
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_Y) PORT_CHAR('y') PORT_CHAR('Y')
|
||||
@ -657,7 +664,7 @@ static INPUT_PORTS_START( kc85 )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_W) PORT_CHAR('w') PORT_CHAR('W')
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_Q) PORT_CHAR('q') PORT_CHAR('Q')
|
||||
|
||||
PORT_START("KEY3")
|
||||
PORT_START("Y3")
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_SLASH) PORT_CHAR('/') PORT_CHAR('?')
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_STOP) PORT_CHAR('.') PORT_CHAR('>')
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_COMMA) PORT_CHAR(',') PORT_CHAR('<')
|
||||
@ -667,7 +674,7 @@ static INPUT_PORTS_START( kc85 )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_P) PORT_CHAR('p') PORT_CHAR('P')
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_O) PORT_CHAR('o') PORT_CHAR('O')
|
||||
|
||||
PORT_START("KEY4")
|
||||
PORT_START("Y4")
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_8) PORT_CHAR('8') PORT_CHAR('*')
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_7) PORT_CHAR('7') PORT_CHAR('&')
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_6) PORT_CHAR('6') PORT_CHAR('^')
|
||||
@ -677,7 +684,7 @@ static INPUT_PORTS_START( kc85 )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_2) PORT_CHAR('2') PORT_CHAR('@')
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_1) PORT_CHAR('1') PORT_CHAR('!')
|
||||
|
||||
PORT_START("KEY5")
|
||||
PORT_START("Y5")
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME(UTF8_DOWN) PORT_CODE(KEYCODE_DOWN) PORT_CHAR(UCHAR_MAMEKEY(DOWN))
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME(UTF8_UP) PORT_CODE(KEYCODE_UP) PORT_CHAR(UCHAR_MAMEKEY(UP))
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME(UTF8_RIGHT) PORT_CODE(KEYCODE_RIGHT) PORT_CHAR(UCHAR_MAMEKEY(RIGHT))
|
||||
@ -687,7 +694,7 @@ static INPUT_PORTS_START( kc85 )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_0) PORT_CHAR('0') PORT_CHAR(')')
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_9) PORT_CHAR('9') PORT_CHAR('(')
|
||||
|
||||
PORT_START("KEY6")
|
||||
PORT_START("Y6")
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("ENTER") PORT_CODE(KEYCODE_ENTER) PORT_CHAR(13)
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("PRINT") PORT_CODE(KEYCODE_F11) PORT_CHAR(UCHAR_MAMEKEY(F11))
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("LABEL") PORT_CODE(KEYCODE_F10) PORT_CHAR(UCHAR_MAMEKEY(F10))
|
||||
@ -697,7 +704,7 @@ static INPUT_PORTS_START( kc85 )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("DEL BKSP") PORT_CODE(KEYCODE_BACKSPACE) PORT_CHAR(8)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("SPACE") PORT_CODE(KEYCODE_SPACE) PORT_CHAR(' ')
|
||||
|
||||
PORT_START("KEY7")
|
||||
PORT_START("Y7")
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("F8") PORT_CODE(KEYCODE_F8) PORT_CHAR(UCHAR_MAMEKEY(F8))
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("F7") PORT_CODE(KEYCODE_F7) PORT_CHAR(UCHAR_MAMEKEY(F7))
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("F6") PORT_CODE(KEYCODE_F6) PORT_CHAR(UCHAR_MAMEKEY(F6))
|
||||
@ -707,7 +714,7 @@ static INPUT_PORTS_START( kc85 )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("F2") PORT_CODE(KEYCODE_F2) PORT_CHAR(UCHAR_MAMEKEY(F2))
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("F1") PORT_CODE(KEYCODE_F1) PORT_CHAR(UCHAR_MAMEKEY(F1))
|
||||
|
||||
PORT_START("KEY8")
|
||||
PORT_START("Y8")
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("PAUSE BREAK") PORT_CODE(KEYCODE_F12) PORT_CHAR(UCHAR_MAMEKEY(F12))
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("CAPS LOCK") PORT_CODE(KEYCODE_CAPSLOCK) PORT_TOGGLE
|
||||
@ -726,7 +733,7 @@ INPUT_PORTS_END
|
||||
static INPUT_PORTS_START( pc8201a )
|
||||
PORT_INCLUDE( kc85 )
|
||||
|
||||
PORT_MODIFY("KEY3")
|
||||
PORT_MODIFY("Y3")
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_RCONTROL) PORT_CHAR(']') PORT_CHAR('}')
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_SLASH) PORT_CHAR('/') PORT_CHAR('?')
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_STOP) PORT_CHAR('.') PORT_CHAR('>')
|
||||
@ -734,13 +741,13 @@ static INPUT_PORTS_START( pc8201a )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_CLOSEBRACE) PORT_CHAR('\\') PORT_CHAR('|')
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_OPENBRACE) PORT_CHAR('@') PORT_CHAR('^')
|
||||
|
||||
PORT_MODIFY("KEY4")
|
||||
PORT_MODIFY("Y4")
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_8) PORT_CHAR('8') PORT_CHAR('(')
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_7) PORT_CHAR('7') PORT_CHAR('\'')
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_6) PORT_CHAR('6') PORT_CHAR('&')
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_2) PORT_CHAR('2') PORT_CHAR('"')
|
||||
|
||||
PORT_MODIFY("KEY5")
|
||||
PORT_MODIFY("Y5")
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("PAST INS") PORT_CODE(KEYCODE_INSERT) PORT_CHAR(UCHAR_MAMEKEY(INSERT))
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("SPACE") PORT_CODE(KEYCODE_SPACE) PORT_CHAR(' ')
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_RALT) PORT_CHAR('[') PORT_CHAR('{')
|
||||
@ -750,7 +757,7 @@ static INPUT_PORTS_START( pc8201a )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_0) PORT_CHAR('0') PORT_CHAR('_')
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_9) PORT_CHAR('9') PORT_CHAR(')')
|
||||
|
||||
PORT_MODIFY("KEY6")
|
||||
PORT_MODIFY("Y6")
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("ESC") PORT_CODE(KEYCODE_ESC)
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("\xE2\x86\x92|") PORT_CODE(KEYCODE_TAB)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME(UTF8_RIGHT) PORT_CODE(KEYCODE_RIGHT) PORT_CHAR(UCHAR_MAMEKEY(RIGHT))
|
||||
@ -759,7 +766,7 @@ static INPUT_PORTS_START( pc8201a )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME(UTF8_UP) PORT_CODE(KEYCODE_UP) PORT_CHAR(UCHAR_MAMEKEY(UP))
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("DEL BKSP") PORT_CODE(KEYCODE_BACKSPACE) PORT_CHAR(8)
|
||||
|
||||
PORT_MODIFY("KEY7")
|
||||
PORT_MODIFY("Y7")
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("STOP") PORT_CODE(KEYCODE_F8) PORT_CHAR(UCHAR_MAMEKEY(F8))
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
@ -769,7 +776,7 @@ static INPUT_PORTS_START( pc8201a )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("f.2") PORT_CODE(KEYCODE_F2) PORT_CHAR(UCHAR_MAMEKEY(F2))
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("f.1") PORT_CODE(KEYCODE_F1) PORT_CHAR(UCHAR_MAMEKEY(F1))
|
||||
|
||||
PORT_MODIFY("KEY8")
|
||||
PORT_MODIFY("Y8")
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
@ -778,7 +785,7 @@ static INPUT_PORTS_START( pc8201a )
|
||||
INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START( olivm10 )
|
||||
PORT_START("KEY0")
|
||||
PORT_START("Y0")
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_5) PORT_CHAR('5') PORT_CHAR('%')
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_4) PORT_CHAR('4') PORT_CHAR('$')
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_3) PORT_CHAR('3') PORT_CHAR('#')
|
||||
@ -788,7 +795,7 @@ static INPUT_PORTS_START( olivm10 )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_W) PORT_CHAR('w') PORT_CHAR('W')
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_Q) PORT_CHAR('q') PORT_CHAR('Q')
|
||||
|
||||
PORT_START("KEY1")
|
||||
PORT_START("Y1")
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_EQUALS) PORT_CHAR('^') PORT_CHAR('~')
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_MINUS) PORT_CHAR('-') PORT_CHAR('=')
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_0) PORT_CHAR('0') PORT_CHAR('_')
|
||||
@ -798,7 +805,7 @@ static INPUT_PORTS_START( olivm10 )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_6) PORT_CHAR('6') PORT_CHAR('&')
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_Y) PORT_CHAR('y') PORT_CHAR('Y')
|
||||
|
||||
PORT_START("KEY2")
|
||||
PORT_START("Y2")
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_M) PORT_CHAR('m') PORT_CHAR('M')
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_COMMA) PORT_CHAR(',') PORT_CHAR('<')
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_STOP) PORT_CHAR('.') PORT_CHAR('>')
|
||||
@ -808,7 +815,7 @@ static INPUT_PORTS_START( olivm10 )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_OPENBRACE) PORT_CHAR('@') PORT_CHAR('`')
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_CLOSEBRACE) PORT_CHAR(']') PORT_CHAR('}')
|
||||
|
||||
PORT_START("KEY3")
|
||||
PORT_START("Y3")
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_N) PORT_CHAR('n') PORT_CHAR('N')
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_B) PORT_CHAR('b') PORT_CHAR('B')
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_V) PORT_CHAR('v') PORT_CHAR('V')
|
||||
@ -818,7 +825,7 @@ static INPUT_PORTS_START( olivm10 )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_BACKSLASH2) PORT_CHAR('\\') PORT_CHAR('|')
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_A) PORT_CHAR('a') PORT_CHAR('A')
|
||||
|
||||
PORT_START("KEY4")
|
||||
PORT_START("Y4")
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_L) PORT_CHAR('l') PORT_CHAR('L')
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_K) PORT_CHAR('k') PORT_CHAR('K')
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_J) PORT_CHAR('j') PORT_CHAR('J')
|
||||
@ -828,7 +835,7 @@ static INPUT_PORTS_START( olivm10 )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_D) PORT_CHAR('d') PORT_CHAR('D')
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_S) PORT_CHAR('s') PORT_CHAR('S')
|
||||
|
||||
PORT_START("KEY5")
|
||||
PORT_START("Y5")
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("SPACE") PORT_CODE(KEYCODE_SPACE) PORT_CHAR(' ')
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_P) PORT_CHAR('p') PORT_CHAR('P')
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_O) PORT_CHAR('o') PORT_CHAR('O')
|
||||
@ -838,7 +845,7 @@ static INPUT_PORTS_START( olivm10 )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_R) PORT_CHAR('r') PORT_CHAR('R')
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_E) PORT_CHAR('e') PORT_CHAR('E')
|
||||
|
||||
PORT_START("KEY6")
|
||||
PORT_START("Y6")
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("PASTE") PORT_CODE(KEYCODE_F9) PORT_CHAR(UCHAR_MAMEKEY(F9))
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("ENTER") PORT_CODE(KEYCODE_ENTER) PORT_CHAR(13)
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("\xE2\x86\x92|") PORT_CODE(KEYCODE_TAB) PORT_CHAR('\t')
|
||||
@ -848,7 +855,7 @@ static INPUT_PORTS_START( olivm10 )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME(UTF8_RIGHT) PORT_CODE(KEYCODE_RIGHT) PORT_CHAR(UCHAR_MAMEKEY(RIGHT))
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME(UTF8_LEFT) PORT_CODE(KEYCODE_LEFT) PORT_CHAR(UCHAR_MAMEKEY(LEFT))
|
||||
|
||||
PORT_START("KEY7")
|
||||
PORT_START("Y7")
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("F8") PORT_CODE(KEYCODE_F8) PORT_CHAR(UCHAR_MAMEKEY(F8))
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("F7") PORT_CODE(KEYCODE_F7) PORT_CHAR(UCHAR_MAMEKEY(F7))
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("F6") PORT_CODE(KEYCODE_F6) PORT_CHAR(UCHAR_MAMEKEY(F6))
|
||||
@ -858,7 +865,7 @@ static INPUT_PORTS_START( olivm10 )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("F2") PORT_CODE(KEYCODE_F2) PORT_CHAR(UCHAR_MAMEKEY(F2))
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("F1") PORT_CODE(KEYCODE_F1) PORT_CHAR(UCHAR_MAMEKEY(F1))
|
||||
|
||||
PORT_START("KEY8")
|
||||
PORT_START("Y8")
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("PAUSE BREAK") PORT_CODE(KEYCODE_F12) PORT_CHAR(UCHAR_MAMEKEY(F12))
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("CAPS LOCK") PORT_CODE(KEYCODE_CAPSLOCK) PORT_TOGGLE
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("NUM") PORT_CODE(KEYCODE_RALT) PORT_CHAR(UCHAR_MAMEKEY(RALT))
|
||||
@ -1136,8 +1143,8 @@ void kc85_state::machine_start()
|
||||
/* configure ROM banking */
|
||||
program.install_read_bank(0x0000, 0x7fff, "bank1");
|
||||
program.unmap_write(0x0000, 0x7fff);
|
||||
membank("bank1")->configure_entry(0, memregion(I8085_TAG)->base());
|
||||
membank("bank1")->configure_entry(1, memregion("option")->base());
|
||||
membank("bank1")->configure_entry(0, m_rom->base());
|
||||
membank("bank1")->configure_entry(1, m_option->base());
|
||||
membank("bank1")->set_entry(0);
|
||||
|
||||
/* configure RAM banking */
|
||||
@ -1172,8 +1179,8 @@ void pc8201_state::machine_start()
|
||||
m_rtc->oe_w(1);
|
||||
|
||||
/* configure ROM banking */
|
||||
membank("bank1")->configure_entry(0, memregion(I8085_TAG)->base());
|
||||
membank("bank1")->configure_entry(1, memregion("option")->base());
|
||||
membank("bank1")->configure_entry(0, m_rom->base());
|
||||
membank("bank1")->configure_entry(1, m_option->base());
|
||||
membank("bank1")->configure_entries(2, 2, ram + 0x8000, 0x8000);
|
||||
membank("bank1")->set_entry(0);
|
||||
|
||||
@ -1203,8 +1210,8 @@ void trsm100_state::machine_start()
|
||||
/* configure ROM banking */
|
||||
program.install_read_bank(0x0000, 0x7fff, "bank1");
|
||||
program.unmap_write(0x0000, 0x7fff);
|
||||
membank("bank1")->configure_entry(0, memregion(I8085_TAG)->base());
|
||||
membank("bank1")->configure_entry(1, memregion("option")->base());
|
||||
membank("bank1")->configure_entry(0, m_rom->base());
|
||||
membank("bank1")->configure_entry(1, m_option->base());
|
||||
membank("bank1")->set_entry(0);
|
||||
|
||||
/* configure RAM banking */
|
||||
@ -1243,9 +1250,9 @@ void trsm100_state::machine_start()
|
||||
void tandy200_state::machine_start()
|
||||
{
|
||||
/* configure ROM banking */
|
||||
membank("bank1")->configure_entry(0, memregion(I8085_TAG)->base());
|
||||
membank("bank1")->configure_entry(1, memregion(I8085_TAG)->base() + 0x10000);
|
||||
membank("bank1")->configure_entry(2, memregion("option")->base());
|
||||
membank("bank1")->configure_entry(0, m_rom->base());
|
||||
membank("bank1")->configure_entry(1, m_rom->base() + 0x10000);
|
||||
membank("bank1")->configure_entry(2, m_option->base());
|
||||
membank("bank1")->set_entry(0);
|
||||
|
||||
/* configure RAM banking */
|
||||
|
@ -80,7 +80,7 @@ INPUT_CHANGED_MEMBER( lc80_state::trigger_nmi )
|
||||
}
|
||||
|
||||
static INPUT_PORTS_START( lc80 )
|
||||
PORT_START("ROW0")
|
||||
PORT_START("Y0")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_3) PORT_CHAR('3')
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_7) PORT_CHAR('7')
|
||||
@ -88,7 +88,7 @@ static INPUT_PORTS_START( lc80 )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_F) PORT_CHAR('F')
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("-") PORT_CODE(KEYCODE_DOWN) PORT_CHAR('V')
|
||||
|
||||
PORT_START("ROW1")
|
||||
PORT_START("Y1")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("LD") PORT_CODE(KEYCODE_L)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_2) PORT_CHAR('2')
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("+") PORT_CODE(KEYCODE_UP) PORT_CHAR('^')
|
||||
@ -96,7 +96,7 @@ static INPUT_PORTS_START( lc80 )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_A) PORT_CHAR('A')
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_6) PORT_CHAR('6')
|
||||
|
||||
PORT_START("ROW2")
|
||||
PORT_START("Y2")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("ST") PORT_CODE(KEYCODE_S)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_1) PORT_CHAR('1')
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_5) PORT_CHAR('5')
|
||||
@ -104,7 +104,7 @@ static INPUT_PORTS_START( lc80 )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_D) PORT_CHAR('D')
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("DAT") PORT_CODE(KEYCODE_EQUALS) PORT_CHAR('=')
|
||||
|
||||
PORT_START("ROW3")
|
||||
PORT_START("Y3")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("EX") PORT_CODE(KEYCODE_X) PORT_CHAR('X')
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_0) PORT_CHAR('0')
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_4) PORT_CHAR('4')
|
||||
@ -190,7 +190,7 @@ READ8_MEMBER( lc80_state::pio1_pb_r )
|
||||
|
||||
*/
|
||||
|
||||
return ((m_cassette)->input() < +0.0);
|
||||
return (m_cassette->input() < +0.0);
|
||||
}
|
||||
|
||||
WRITE8_MEMBER( lc80_state::pio1_pb_w )
|
||||
@ -261,10 +261,10 @@ READ8_MEMBER( lc80_state::pio2_pb_r )
|
||||
{
|
||||
if (!BIT(m_digit, i))
|
||||
{
|
||||
if (!BIT(ioport("ROW0")->read(), i)) data &= ~0x10;
|
||||
if (!BIT(ioport("ROW1")->read(), i)) data &= ~0x20;
|
||||
if (!BIT(ioport("ROW2")->read(), i)) data &= ~0x40;
|
||||
if (!BIT(ioport("ROW3")->read(), i)) data &= ~0x80;
|
||||
if (!BIT(m_y0->read(), i)) data &= ~0x10;
|
||||
if (!BIT(m_y1->read(), i)) data &= ~0x20;
|
||||
if (!BIT(m_y2->read(), i)) data &= ~0x40;
|
||||
if (!BIT(m_y3->read(), i)) data &= ~0x80;
|
||||
}
|
||||
}
|
||||
|
||||
@ -299,19 +299,19 @@ void lc80_state::machine_start()
|
||||
address_space &program = m_maincpu->space(AS_PROGRAM);
|
||||
|
||||
/* setup memory banking */
|
||||
membank("bank1")->configure_entry(0, memregion(Z80_TAG)->base()); // TODO
|
||||
membank("bank1")->configure_entry(1, memregion(Z80_TAG)->base());
|
||||
membank("bank1")->configure_entry(0, m_rom->base()); // TODO
|
||||
membank("bank1")->configure_entry(1, m_rom->base());
|
||||
membank("bank1")->set_entry(1);
|
||||
|
||||
membank("bank2")->configure_entry(0, memregion(Z80_TAG)->base() + 0x800); // TODO
|
||||
membank("bank2")->configure_entry(1, memregion(Z80_TAG)->base() + 0x800);
|
||||
membank("bank2")->configure_entry(0, m_rom->base() + 0x800); // TODO
|
||||
membank("bank2")->configure_entry(1, m_rom->base() + 0x800);
|
||||
membank("bank2")->set_entry(1);
|
||||
|
||||
membank("bank3")->configure_entry(0, memregion(Z80_TAG)->base() + 0x1000); // TODO
|
||||
membank("bank3")->configure_entry(1, memregion(Z80_TAG)->base() + 0x1000);
|
||||
membank("bank3")->configure_entry(0, m_rom->base() + 0x1000); // TODO
|
||||
membank("bank3")->configure_entry(1, m_rom->base() + 0x1000);
|
||||
membank("bank3")->set_entry(1);
|
||||
|
||||
membank("bank4")->configure_entry(0, memregion(Z80_TAG)->base() + 0x2000);
|
||||
membank("bank4")->configure_entry(0, m_rom->base() + 0x2000);
|
||||
membank("bank4")->set_entry(0);
|
||||
|
||||
program.install_readwrite_bank(0x0000, 0x07ff, "bank1");
|
||||
|
@ -66,13 +66,13 @@ READ8_MEMBER( m5_state::sts_r )
|
||||
UINT8 data = 0;
|
||||
|
||||
// cassette input
|
||||
data |= (m_cassette)->input() >= 0 ? 1 : 0;
|
||||
data |= m_cassette->input() >= 0 ? 1 : 0;
|
||||
|
||||
// centronics busy
|
||||
data |= m_centronics->busy_r() << 1;
|
||||
|
||||
// RESET key
|
||||
data |= ioport("RESET")->read();
|
||||
data |= m_reset->read();
|
||||
|
||||
return data;
|
||||
}
|
||||
|
@ -164,7 +164,7 @@ static INPUT_PORTS_START( mc1000 )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(2) /* = '0' */
|
||||
PORT_BIT( 0xe0, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
|
||||
PORT_START("ROW0")
|
||||
PORT_START("Y0")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_EQUALS) PORT_CHAR('@')
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_H) PORT_CHAR('H')
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_P) PORT_CHAR('P')
|
||||
@ -173,7 +173,7 @@ static INPUT_PORTS_START( mc1000 )
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_8) PORT_CHAR('8') PORT_CHAR('(')
|
||||
PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
|
||||
PORT_START("ROW1")
|
||||
PORT_START("Y1")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_A) PORT_CHAR('A')
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_I) PORT_CHAR('I')
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_Q) PORT_CHAR('Q')
|
||||
@ -182,7 +182,7 @@ static INPUT_PORTS_START( mc1000 )
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_9) PORT_CHAR('9') PORT_CHAR(')')
|
||||
PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
|
||||
PORT_START("ROW2")
|
||||
PORT_START("Y2")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_B) PORT_CHAR('B')
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_J) PORT_CHAR('J')
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_R) PORT_CHAR('R')
|
||||
@ -191,7 +191,7 @@ static INPUT_PORTS_START( mc1000 )
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_QUOTE) PORT_CHAR(':') PORT_CHAR('*')
|
||||
PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
|
||||
PORT_START("ROW3")
|
||||
PORT_START("Y3")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_C) PORT_CHAR('C')
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_K) PORT_CHAR('K')
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_S) PORT_CHAR('S')
|
||||
@ -200,7 +200,7 @@ static INPUT_PORTS_START( mc1000 )
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_COLON) PORT_CHAR(';') PORT_CHAR('+')
|
||||
PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
|
||||
PORT_START("ROW4")
|
||||
PORT_START("Y4")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_D) PORT_CHAR('D')
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_L) PORT_CHAR('L')
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_T) PORT_CHAR('T')
|
||||
@ -209,7 +209,7 @@ static INPUT_PORTS_START( mc1000 )
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_COMMA) PORT_CHAR(',') PORT_CHAR('<')
|
||||
PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
|
||||
PORT_START("ROW5")
|
||||
PORT_START("Y5")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_E) PORT_CHAR('E')
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_M) PORT_CHAR('M')
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_U) PORT_CHAR('U')
|
||||
@ -218,7 +218,7 @@ static INPUT_PORTS_START( mc1000 )
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_MINUS) PORT_CHAR('-') PORT_CHAR('=')
|
||||
PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
|
||||
PORT_START("ROW6")
|
||||
PORT_START("Y6")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_F) PORT_CHAR('F')
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_N) PORT_CHAR('N')
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_V) PORT_CHAR('V')
|
||||
@ -227,7 +227,7 @@ static INPUT_PORTS_START( mc1000 )
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_STOP) PORT_CHAR('.') PORT_CHAR('>')
|
||||
PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
|
||||
PORT_START("ROW7")
|
||||
PORT_START("Y7")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_G) PORT_CHAR('G')
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_O) PORT_CHAR('O')
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_W) PORT_CHAR('W')
|
||||
@ -287,22 +287,22 @@ READ8_MEMBER( mc1000_state::keydata_r )
|
||||
|
||||
if (!BIT(m_keylatch, 0))
|
||||
{
|
||||
data &= ioport("ROW0")->read();
|
||||
if (ioport("JOYBKEYMAP")->read()) data &= ioport("JOYB")->read();
|
||||
data &= m_y0->read();
|
||||
if (m_joybkeymap->read()) data &= m_joyb->read();
|
||||
}
|
||||
if (!BIT(m_keylatch, 1))
|
||||
{
|
||||
data &= ioport("ROW1")->read();
|
||||
if (ioport("JOYAKEYMAP")->read()) data &= ioport("JOYA")->read();
|
||||
data &= m_y1->read();
|
||||
if (m_joyakeymap->read()) data &= m_joya->read();
|
||||
}
|
||||
if (!BIT(m_keylatch, 2)) data &= ioport("ROW2")->read();
|
||||
if (!BIT(m_keylatch, 3)) data &= ioport("ROW3")->read();
|
||||
if (!BIT(m_keylatch, 4)) data &= ioport("ROW4")->read();
|
||||
if (!BIT(m_keylatch, 5)) data &= ioport("ROW5")->read();
|
||||
if (!BIT(m_keylatch, 6)) data &= ioport("ROW6")->read();
|
||||
if (!BIT(m_keylatch, 7)) data &= ioport("ROW7")->read();
|
||||
if (!BIT(m_keylatch, 2)) data &= m_y2->read();
|
||||
if (!BIT(m_keylatch, 3)) data &= m_y3->read();
|
||||
if (!BIT(m_keylatch, 4)) data &= m_y4->read();
|
||||
if (!BIT(m_keylatch, 5)) data &= m_y5->read();
|
||||
if (!BIT(m_keylatch, 6)) data &= m_y6->read();
|
||||
if (!BIT(m_keylatch, 7)) data &= m_y7->read();
|
||||
|
||||
data = (ioport("MODIFIERS")->read() & 0xc0) | (data & 0x3f);
|
||||
data = (m_modifiers->read() & 0xc0) | (data & 0x3f);
|
||||
|
||||
if (m_cassette->input() < +0.0) data &= 0x7f;
|
||||
|
||||
@ -326,7 +326,7 @@ void mc1000_state::machine_start()
|
||||
address_space &program = m_maincpu->space(AS_PROGRAM);
|
||||
|
||||
/* setup memory banking */
|
||||
UINT8 *rom = memregion(Z80_TAG)->base();
|
||||
UINT8 *rom = m_rom->base();
|
||||
|
||||
program.install_readwrite_bank(0x0000, 0x1fff, "bank1");
|
||||
membank("bank1")->configure_entry(0, rom);
|
||||
@ -496,7 +496,7 @@ DIRECT_UPDATE_MEMBER(mc1000_state::mc1000_direct_update_handler)
|
||||
|
||||
DRIVER_INIT_MEMBER(mc1000_state,mc1000)
|
||||
{
|
||||
machine().device(Z80_TAG)->memory().space(AS_PROGRAM).set_direct_update_handler(direct_update_delegate(FUNC(mc1000_state::mc1000_direct_update_handler), this));
|
||||
m_maincpu->space(AS_PROGRAM).set_direct_update_handler(direct_update_delegate(FUNC(mc1000_state::mc1000_direct_update_handler), this));
|
||||
}
|
||||
|
||||
/* System Drivers */
|
||||
|
@ -218,15 +218,15 @@ READ8_MEMBER( mpf1_state::ppi_pa_r )
|
||||
UINT8 data = 0x7f;
|
||||
|
||||
/* bit 0 to 5, keyboard rows 0 to 5 */
|
||||
if (!BIT(m_lednum, 0)) data &= ioport("PC0")->read();
|
||||
if (!BIT(m_lednum, 1)) data &= ioport("PC1")->read();
|
||||
if (!BIT(m_lednum, 2)) data &= ioport("PC2")->read();
|
||||
if (!BIT(m_lednum, 3)) data &= ioport("PC3")->read();
|
||||
if (!BIT(m_lednum, 4)) data &= ioport("PC4")->read();
|
||||
if (!BIT(m_lednum, 5)) data &= ioport("PC5")->read();
|
||||
if (!BIT(m_lednum, 0)) data &= m_pc0->read();
|
||||
if (!BIT(m_lednum, 1)) data &= m_pc1->read();
|
||||
if (!BIT(m_lednum, 2)) data &= m_pc2->read();
|
||||
if (!BIT(m_lednum, 3)) data &= m_pc3->read();
|
||||
if (!BIT(m_lednum, 4)) data &= m_pc4->read();
|
||||
if (!BIT(m_lednum, 5)) data &= m_pc5->read();
|
||||
|
||||
/* bit 6, user key */
|
||||
data &= ioport("SPECIAL")->read() & 1 ? 0xff : 0xbf;
|
||||
data &= m_special->read() & 1 ? 0xff : 0xbf;
|
||||
|
||||
/* bit 7, tape input */
|
||||
data |= ((m_cassette)->input() > 0 ? 1 : 0) << 7;
|
||||
|
@ -87,7 +87,7 @@ void newbrain_eim_state::bankswitch()
|
||||
case 0:
|
||||
/* ROM */
|
||||
memory_install_rom_helper(program, bank_name, bank_start, bank_end);
|
||||
membank(bank_name)->configure_entry(0, memregion("eim")->base() + eim_bank_start);
|
||||
membank(bank_name)->configure_entry(0, m_eim_rom->base() + eim_bank_start);
|
||||
break;
|
||||
|
||||
case 2:
|
||||
@ -119,11 +119,11 @@ void newbrain_state::bankswitch()
|
||||
{
|
||||
/* all banks point to ROM at 0xe000 */
|
||||
memory_install_rom_helper(program, bank_name, bank_start, bank_end);
|
||||
membank(bank_name)->configure_entry(0, memregion(Z80_TAG)->base() + 0xe000);
|
||||
membank(bank_name)->configure_entry(0, m_rom->base() + 0xe000);
|
||||
}
|
||||
else
|
||||
{
|
||||
membank(bank_name)->configure_entry(0, memregion(Z80_TAG)->base() + bank_start);
|
||||
membank(bank_name)->configure_entry(0, m_rom->base() + bank_start);
|
||||
|
||||
if (bank < 5)
|
||||
{
|
||||
@ -133,16 +133,16 @@ void newbrain_state::bankswitch()
|
||||
else if (bank == 5)
|
||||
{
|
||||
/* 0x8000-0x9fff */
|
||||
if (machine().root_device().memregion("eim")->base())
|
||||
if (m_eim_rom->base())
|
||||
{
|
||||
/* expansion interface ROM */
|
||||
memory_install_rom_helper(program, bank_name, bank_start, bank_end);
|
||||
membank(bank_name)->configure_entry(0, memregion("eim")->base() + 0x4000);
|
||||
membank(bank_name)->configure_entry(0, m_eim_rom->base() + 0x4000);
|
||||
}
|
||||
else
|
||||
{
|
||||
/* mirror of 0xa000-0xbfff */
|
||||
if (machine().root_device().memregion(Z80_TAG)->base()[0xa001] == 0)
|
||||
if (m_rom->base()[0xa001] == 0)
|
||||
{
|
||||
/* unmapped on the M model */
|
||||
memory_install_unmapped(program, bank_name, bank_start, bank_end);
|
||||
@ -153,13 +153,13 @@ void newbrain_state::bankswitch()
|
||||
memory_install_rom_helper(program, bank_name, bank_start, bank_end);
|
||||
}
|
||||
|
||||
membank(bank_name)->configure_entry(0, memregion(Z80_TAG)->base() + 0xa000);
|
||||
membank(bank_name)->configure_entry(0, m_rom->base() + 0xa000);
|
||||
}
|
||||
}
|
||||
else if (bank == 6)
|
||||
{
|
||||
/* 0xa000-0xbfff */
|
||||
if (machine().root_device().memregion(Z80_TAG)->base()[0xa001] == 0)
|
||||
if (m_rom->base()[0xa001] == 0)
|
||||
{
|
||||
/* unmapped on the M model */
|
||||
memory_install_unmapped(program, bank_name, bank_start, bank_end);
|
||||
@ -443,10 +443,8 @@ WRITE8_MEMBER( newbrain_state::cop_d_w )
|
||||
|
||||
*/
|
||||
|
||||
static const char *const keynames[] = {
|
||||
"D0", "D1", "D2", "D3", "D4", "D5", "D6", "D7",
|
||||
"D8", "D9", "D10", "D11", "D12", "D13", "D14", "D15"
|
||||
};
|
||||
ioport_port* ports[16] = { m_y0, m_y1, m_y2, m_y3, m_y4, m_y5, m_y6, m_y7,
|
||||
m_y8, m_y9, m_y10, m_y11, m_y12, m_y13, m_y14, m_y15 };
|
||||
|
||||
/* keyboard row reset */
|
||||
|
||||
@ -473,7 +471,7 @@ WRITE8_MEMBER( newbrain_state::cop_d_w )
|
||||
m_keylatch = 0;
|
||||
}
|
||||
|
||||
m_keydata = ioport(keynames[m_keylatch])->read();
|
||||
m_keydata = ports[m_keylatch]->read();
|
||||
|
||||
output_set_digit_value(m_keylatch, m_segment_data[m_keylatch]);
|
||||
}
|
||||
@ -1057,97 +1055,97 @@ ADDRESS_MAP_END
|
||||
/* Input Ports */
|
||||
|
||||
static INPUT_PORTS_START( newbrain )
|
||||
PORT_START("D0")
|
||||
PORT_START("Y0")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("STOP") PORT_CODE(KEYCODE_END) PORT_CHAR(UCHAR_MAMEKEY(END))
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
|
||||
PORT_START("D1")
|
||||
PORT_START("Y1")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME(UTF8_DOWN) PORT_CODE(KEYCODE_DOWN) PORT_CHAR(UCHAR_MAMEKEY(DOWN))
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME(UTF8_RIGHT) PORT_CODE(KEYCODE_RIGHT) PORT_CHAR(UCHAR_MAMEKEY(RIGHT))
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME(UTF8_LEFT) PORT_CODE(KEYCODE_LEFT) PORT_CHAR(UCHAR_MAMEKEY(LEFT))
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME(UTF8_UP) PORT_CODE(KEYCODE_UP) PORT_CHAR(UCHAR_MAMEKEY(UP))
|
||||
|
||||
PORT_START("D2")
|
||||
PORT_START("Y2")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_U) PORT_CHAR('u') PORT_CHAR('U')
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_8) PORT_CHAR('8')
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_7) PORT_CHAR('7') PORT_CHAR('\'')
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_J) PORT_CHAR('j') PORT_CHAR('J')
|
||||
|
||||
PORT_START("D3")
|
||||
PORT_START("Y3")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_I) PORT_CHAR('i') PORT_CHAR('I')
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_9) PORT_CHAR('9')
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_6) PORT_CHAR('6') PORT_CHAR('&')
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_N) PORT_CHAR('n') PORT_CHAR('N')
|
||||
|
||||
PORT_START("D4")
|
||||
PORT_START("Y4")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_Y) PORT_CHAR('y') PORT_CHAR('Y')
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_0) PORT_CHAR('0')
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_5) PORT_CHAR('5') PORT_CHAR('%')
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_M) PORT_CHAR('m') PORT_CHAR('M')
|
||||
|
||||
PORT_START("D5")
|
||||
PORT_START("Y5")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_O) PORT_CHAR('o') PORT_CHAR('O')
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_MINUS) PORT_CHAR('(') PORT_CHAR('[')
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_4) PORT_CHAR('4') PORT_CHAR('$')
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_COMMA) PORT_CHAR(',') PORT_CHAR('<')
|
||||
|
||||
PORT_START("D6")
|
||||
PORT_START("Y6")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_L) PORT_CHAR('l') PORT_CHAR('L')
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_EQUALS) PORT_CHAR(')') PORT_CHAR(']')
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_3) PORT_CHAR('3') PORT_CHAR('#')
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_STOP) PORT_CHAR('.') PORT_CHAR('>')
|
||||
|
||||
PORT_START("D7")
|
||||
PORT_START("Y7")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_COLON) PORT_CHAR(';') PORT_CHAR(':')
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("* \xC2\xA3") PORT_CODE(KEYCODE_CLOSEBRACE) PORT_CHAR('*') PORT_CHAR(0x00A3)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_2) PORT_CHAR('2') PORT_CHAR('"')
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_B) PORT_CHAR('b') PORT_CHAR('B')
|
||||
|
||||
PORT_START("D8")
|
||||
PORT_START("Y8")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_H) PORT_CHAR('h') PORT_CHAR('H')
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("VIDEO TEXT") PORT_CODE(KEYCODE_RALT) PORT_CHAR(UCHAR_MAMEKEY(RALT)) // Vd
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_1) PORT_CHAR('1') PORT_CHAR('!')
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_V) PORT_CHAR('v') PORT_CHAR('V')
|
||||
|
||||
PORT_START("D9")
|
||||
PORT_START("Y9")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_G) PORT_CHAR('g') PORT_CHAR('G')
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_P) PORT_CHAR('p') PORT_CHAR('P')
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_T) PORT_CHAR('t') PORT_CHAR('T')
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_C) PORT_CHAR('c') PORT_CHAR('C')
|
||||
|
||||
PORT_START("D10")
|
||||
PORT_START("Y10")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_F) PORT_CHAR('f') PORT_CHAR('F')
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_EQUALS) PORT_CHAR('=') PORT_CHAR('@')
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_R) PORT_CHAR('r') PORT_CHAR('R')
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_X) PORT_CHAR('x') PORT_CHAR('X')
|
||||
|
||||
PORT_START("D11")
|
||||
PORT_START("Y11")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_D) PORT_CHAR('d') PORT_CHAR('D')
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_OPENBRACE) PORT_CHAR('-') PORT_CHAR('\\')
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_E) PORT_CHAR('e') PORT_CHAR('E')
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_Z) PORT_CHAR('z') PORT_CHAR('Z')
|
||||
|
||||
PORT_START("D12")
|
||||
PORT_START("Y12")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_S) PORT_CHAR('s') PORT_CHAR('S')
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_QUOTE) PORT_CHAR('+') PORT_CHAR('^')
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_W) PORT_CHAR('w') PORT_CHAR('W')
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("INSERT") PORT_CODE(KEYCODE_INSERT) PORT_CHAR(UCHAR_MAMEKEY(INSERT))
|
||||
|
||||
PORT_START("D13")
|
||||
PORT_START("Y13")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_A) PORT_CHAR('a') PORT_CHAR('A')
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("NEW LINE") PORT_CODE(KEYCODE_ENTER) PORT_CHAR(13) // NL
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_Q) PORT_CHAR('q') PORT_CHAR('Q')
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_K) PORT_CHAR('k') PORT_CHAR('K')
|
||||
|
||||
PORT_START("D14")
|
||||
PORT_START("Y14")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_SLASH) PORT_CHAR('/') PORT_CHAR('?')
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("SPACE") PORT_CODE(KEYCODE_SPACE) PORT_CHAR(' ')
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("HOME") PORT_CODE(KEYCODE_HOME) PORT_CHAR(UCHAR_MAMEKEY(HOME)) // CH
|
||||
|
||||
PORT_START("D15")
|
||||
PORT_START("Y15")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("SHIFT") PORT_CODE(KEYCODE_LSHIFT) PORT_CODE(KEYCODE_RSHIFT) PORT_CHAR(UCHAR_SHIFT_1) // SH
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("GRAPHICS") PORT_CODE(KEYCODE_LALT) PORT_CHAR(UCHAR_MAMEKEY(LALT)) // GR
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("REPEAT") // RPT
|
||||
|
@ -160,16 +160,16 @@ ADDRESS_MAP_END
|
||||
static ADDRESS_MAP_START( pc8001_io, AS_IO, 8, pc8001_state )
|
||||
ADDRESS_MAP_GLOBAL_MASK(0xff)
|
||||
ADDRESS_MAP_UNMAP_HIGH
|
||||
AM_RANGE(0x00, 0x00) AM_READ_PORT("KEY0")
|
||||
AM_RANGE(0x01, 0x01) AM_READ_PORT("KEY1")
|
||||
AM_RANGE(0x02, 0x02) AM_READ_PORT("KEY2")
|
||||
AM_RANGE(0x03, 0x03) AM_READ_PORT("KEY3")
|
||||
AM_RANGE(0x04, 0x04) AM_READ_PORT("KEY4")
|
||||
AM_RANGE(0x05, 0x05) AM_READ_PORT("KEY5")
|
||||
AM_RANGE(0x06, 0x06) AM_READ_PORT("KEY6")
|
||||
AM_RANGE(0x07, 0x07) AM_READ_PORT("KEY7")
|
||||
AM_RANGE(0x08, 0x08) AM_READ_PORT("KEY8")
|
||||
AM_RANGE(0x09, 0x09) AM_READ_PORT("KEY9")
|
||||
AM_RANGE(0x00, 0x00) AM_READ_PORT("Y0")
|
||||
AM_RANGE(0x01, 0x01) AM_READ_PORT("Y1")
|
||||
AM_RANGE(0x02, 0x02) AM_READ_PORT("Y2")
|
||||
AM_RANGE(0x03, 0x03) AM_READ_PORT("Y3")
|
||||
AM_RANGE(0x04, 0x04) AM_READ_PORT("Y4")
|
||||
AM_RANGE(0x05, 0x05) AM_READ_PORT("Y5")
|
||||
AM_RANGE(0x06, 0x06) AM_READ_PORT("Y6")
|
||||
AM_RANGE(0x07, 0x07) AM_READ_PORT("Y7")
|
||||
AM_RANGE(0x08, 0x08) AM_READ_PORT("Y8")
|
||||
AM_RANGE(0x09, 0x09) AM_READ_PORT("Y9")
|
||||
AM_RANGE(0x10, 0x10) AM_MIRROR(0x0f) AM_WRITE(port10_w)
|
||||
AM_RANGE(0x20, 0x20) AM_MIRROR(0x0e) AM_DEVREADWRITE(I8251_TAG, i8251_device, data_r, data_w)
|
||||
AM_RANGE(0x21, 0x21) AM_MIRROR(0x0e) AM_DEVREADWRITE(I8251_TAG, i8251_device, status_r, control_w)
|
||||
@ -235,7 +235,7 @@ ADDRESS_MAP_END
|
||||
/* Input Ports */
|
||||
|
||||
static INPUT_PORTS_START( pc8001 )
|
||||
PORT_START("KEY0")
|
||||
PORT_START("Y0")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_0_PAD) PORT_CHAR(UCHAR_MAMEKEY(0_PAD))
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_1_PAD) PORT_CHAR(UCHAR_MAMEKEY(1_PAD))
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_2_PAD) PORT_CHAR(UCHAR_MAMEKEY(2_PAD))
|
||||
@ -245,7 +245,7 @@ static INPUT_PORTS_START( pc8001 )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_6_PAD) PORT_CHAR(UCHAR_MAMEKEY(6_PAD))
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_7_PAD) PORT_CHAR(UCHAR_MAMEKEY(7_PAD))
|
||||
|
||||
PORT_START("KEY1")
|
||||
PORT_START("Y1")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_8_PAD) PORT_CHAR(UCHAR_MAMEKEY(8_PAD))
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_9_PAD) PORT_CHAR(UCHAR_MAMEKEY(9_PAD))
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_ASTERISK) PORT_CHAR(UCHAR_MAMEKEY(ASTERISK))
|
||||
@ -255,7 +255,7 @@ static INPUT_PORTS_START( pc8001 )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_DEL_PAD) PORT_CHAR(UCHAR_MAMEKEY(DEL_PAD))
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("Return") PORT_CODE(KEYCODE_ENTER) PORT_CODE(KEYCODE_ENTER_PAD) PORT_CHAR(13)
|
||||
|
||||
PORT_START("KEY2")
|
||||
PORT_START("Y2")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_OPENBRACE) PORT_CHAR('@')
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_A) PORT_CHAR('a') PORT_CHAR('A')
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_B) PORT_CHAR('b') PORT_CHAR('B')
|
||||
@ -265,7 +265,7 @@ static INPUT_PORTS_START( pc8001 )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_F) PORT_CHAR('f') PORT_CHAR('F')
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_G) PORT_CHAR('g') PORT_CHAR('G')
|
||||
|
||||
PORT_START("KEY3")
|
||||
PORT_START("Y3")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_H) PORT_CHAR('h') PORT_CHAR('H')
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_I) PORT_CHAR('i') PORT_CHAR('I')
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_J) PORT_CHAR('j') PORT_CHAR('J')
|
||||
@ -275,7 +275,7 @@ static INPUT_PORTS_START( pc8001 )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_N) PORT_CHAR('n') PORT_CHAR('N')
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_O) PORT_CHAR('o') PORT_CHAR('O')
|
||||
|
||||
PORT_START("KEY4")
|
||||
PORT_START("Y4")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_P) PORT_CHAR('p') PORT_CHAR('P')
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_Q) PORT_CHAR('q') PORT_CHAR('Q')
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_R) PORT_CHAR('r') PORT_CHAR('R')
|
||||
@ -285,7 +285,7 @@ static INPUT_PORTS_START( pc8001 )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_V) PORT_CHAR('v') PORT_CHAR('V')
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_W) PORT_CHAR('w') PORT_CHAR('W')
|
||||
|
||||
PORT_START("KEY5")
|
||||
PORT_START("Y5")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_X) PORT_CHAR('x') PORT_CHAR('X')
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_Y) PORT_CHAR('y') PORT_CHAR('Y')
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_Z) PORT_CHAR('z') PORT_CHAR('Z')
|
||||
@ -295,7 +295,7 @@ static INPUT_PORTS_START( pc8001 )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_EQUALS) PORT_CHAR('^')
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_MINUS) PORT_CHAR('-') PORT_CHAR('=')
|
||||
|
||||
PORT_START("KEY6")
|
||||
PORT_START("Y6")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_0) PORT_CHAR('0')
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_1) PORT_CHAR('1') PORT_CHAR('!')
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_2) PORT_CHAR('2') PORT_CHAR('"')
|
||||
@ -305,7 +305,7 @@ static INPUT_PORTS_START( pc8001 )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_6) PORT_CHAR('6') PORT_CHAR('&')
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_7) PORT_CHAR('7') PORT_CHAR('\'')
|
||||
|
||||
PORT_START("KEY7")
|
||||
PORT_START("Y7")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_8) PORT_CHAR('8') PORT_CHAR('(')
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_9) PORT_CHAR('9') PORT_CHAR(')')
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_QUOTE) PORT_CHAR(':') PORT_CHAR('*')
|
||||
@ -315,7 +315,7 @@ static INPUT_PORTS_START( pc8001 )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_SLASH) PORT_CHAR('/') PORT_CHAR('?')
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME(" _") PORT_CODE(KEYCODE_DEL) PORT_CHAR(0) PORT_CHAR('_')
|
||||
|
||||
PORT_START("KEY8")
|
||||
PORT_START("Y8")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("Clr Home") PORT_CODE(KEYCODE_HOME) PORT_CHAR(UCHAR_MAMEKEY(HOME))
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME(UTF8_UP) PORT_CODE(KEYCODE_UP) PORT_CHAR(UCHAR_MAMEKEY(UP))
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME(UTF8_RIGHT) PORT_CODE(KEYCODE_RIGHT) PORT_CHAR(UCHAR_MAMEKEY(RIGHT))
|
||||
@ -325,7 +325,7 @@ static INPUT_PORTS_START( pc8001 )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_LSHIFT) PORT_CODE(KEYCODE_RSHIFT) PORT_CHAR(UCHAR_SHIFT_1)
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_RCONTROL) PORT_CHAR(UCHAR_SHIFT_2)
|
||||
|
||||
PORT_START("KEY9")
|
||||
PORT_START("Y9")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("Stop") PORT_CODE(KEYCODE_ESC) PORT_CHAR(UCHAR_MAMEKEY(ESC))
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_F1) PORT_CHAR(UCHAR_MAMEKEY(F1))
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_F2) PORT_CHAR(UCHAR_MAMEKEY(F2))
|
||||
@ -338,14 +338,6 @@ static INPUT_PORTS_START( pc8001 )
|
||||
PORT_START("DSW1")
|
||||
INPUT_PORTS_END
|
||||
|
||||
/* Video */
|
||||
|
||||
void pc8001_state::video_start()
|
||||
{
|
||||
// find memory regions
|
||||
m_char_rom = memregion("chargen")->base();
|
||||
}
|
||||
|
||||
/* uPD3301 Interface */
|
||||
|
||||
static const rgb_t PALETTE[] =
|
||||
@ -364,7 +356,7 @@ static UPD3301_DISPLAY_PIXELS( pc8001_display_pixels )
|
||||
{
|
||||
pc8001_state *state = device->machine().driver_data<pc8001_state>();
|
||||
|
||||
UINT8 data = state->m_char_rom[(cc << 3) | lc];
|
||||
UINT8 data = state->m_char_rom->base()[(cc << 3) | lc];
|
||||
int i;
|
||||
|
||||
if (lc >= 8) return;
|
||||
@ -503,7 +495,7 @@ void pc8001_state::machine_start()
|
||||
/* setup memory banking */
|
||||
UINT8 *ram = m_ram->pointer();
|
||||
|
||||
membank("bank1")->configure_entry(1, memregion("n80")->base());
|
||||
membank("bank1")->configure_entry(1, m_rom->base());
|
||||
program.install_read_bank(0x0000, 0x5fff, "bank1");
|
||||
program.unmap_write(0x0000, 0x5fff);
|
||||
|
||||
@ -624,7 +616,7 @@ MACHINE_CONFIG_END
|
||||
/* ROMs */
|
||||
|
||||
ROM_START( pc8001 )
|
||||
ROM_REGION( 0x6000, "n80", 0 )
|
||||
ROM_REGION( 0x6000, Z80_TAG, 0 )
|
||||
ROM_SYSTEM_BIOS( 0, "v101", "N-BASIC v1.01" )
|
||||
ROMX_LOAD( "n80v101.rom", 0x00000, 0x6000, CRC(a2cc9f22) SHA1(6d2d838de7fea20ddf6601660d0525d5b17bf8a3), ROM_BIOS(1) )
|
||||
ROM_SYSTEM_BIOS( 1, "v102", "N-BASIC v1.02" )
|
||||
@ -632,15 +624,15 @@ ROM_START( pc8001 )
|
||||
ROM_SYSTEM_BIOS( 2, "v110", "N-BASIC v1.10" )
|
||||
ROMX_LOAD( "n80v110.rom", 0x00000, 0x6000, CRC(1e02d93f) SHA1(4603cdb7a3833e7feb257b29d8052c872369e713), ROM_BIOS(3) )
|
||||
|
||||
ROM_REGION( 0x800, "chargen", 0)
|
||||
ROM_REGION( 0x800, UPD3301_TAG, 0)
|
||||
ROM_LOAD( "font.rom", 0x000, 0x800, CRC(56653188) SHA1(84b90f69671d4b72e8f219e1fe7cd667e976cf7f) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( pc8001mk2 )
|
||||
ROM_REGION( 0x8000, "n80", 0 )
|
||||
ROM_REGION( 0x8000, Z80_TAG, 0 )
|
||||
ROM_LOAD( "n80_2.rom", 0x00000, 0x8000, CRC(03cce7b6) SHA1(c12d34e42021110930fed45a8af98db52136f1fb) )
|
||||
|
||||
ROM_REGION( 0x800, "chargen", 0)
|
||||
ROM_REGION( 0x800, UPD3301_TAG, 0)
|
||||
ROM_LOAD( "font.rom", 0x0000, 0x0800, CRC(56653188) SHA1(84b90f69671d4b72e8f219e1fe7cd667e976cf7f) )
|
||||
|
||||
ROM_REGION( 0x20000, "kanji", 0)
|
||||
|
@ -37,12 +37,12 @@ void pc8401a_state::scan_keyboard()
|
||||
{
|
||||
int row, strobe = 0;
|
||||
|
||||
static const char *const keynames[] = { "KEY0", "KEY1", "KEY2", "KEY3", "KEY4", "KEY5", "KEY6", "KEY7", "KEY8", "KEY9" };
|
||||
UINT8 keydata[10] = { m_y0->read(), m_y1->read(), m_y2->read(), m_y3->read(), m_y4->read(), m_y5->read(), m_y6->read(), m_y7->read(), m_y8->read(), m_y9->read() };
|
||||
|
||||
/* scan keyboard */
|
||||
for (row = 0; row < 10; row++)
|
||||
{
|
||||
UINT8 data = ioport(keynames[row])->read();
|
||||
UINT8 data = keydata[row];
|
||||
|
||||
if (data != 0xff)
|
||||
{
|
||||
@ -259,11 +259,9 @@ WRITE8_MEMBER( pc8401a_state::rtc_ctrl_w )
|
||||
|
||||
READ8_MEMBER( pc8401a_state::io_rom_data_r )
|
||||
{
|
||||
UINT8 *iorom = memregion("iorom")->base();
|
||||
|
||||
//logerror("I/O ROM read from %05x\n", m_io_addr);
|
||||
|
||||
return iorom[m_io_addr];
|
||||
return m_io_rom->base()[m_io_addr];
|
||||
}
|
||||
|
||||
WRITE8_MEMBER( pc8401a_state::io_rom_addr_w )
|
||||
@ -343,16 +341,16 @@ ADDRESS_MAP_END
|
||||
static ADDRESS_MAP_START( pc8500_io, AS_IO, 8, pc8401a_state )
|
||||
ADDRESS_MAP_UNMAP_HIGH
|
||||
ADDRESS_MAP_GLOBAL_MASK(0xff)
|
||||
AM_RANGE(0x00, 0x00) AM_READ_PORT("KEY0")
|
||||
AM_RANGE(0x01, 0x01) AM_READ_PORT("KEY1")
|
||||
AM_RANGE(0x02, 0x02) AM_READ_PORT("KEY2")
|
||||
AM_RANGE(0x03, 0x03) AM_READ_PORT("KEY3")
|
||||
AM_RANGE(0x04, 0x04) AM_READ_PORT("KEY4")
|
||||
AM_RANGE(0x05, 0x05) AM_READ_PORT("KEY5")
|
||||
AM_RANGE(0x06, 0x06) AM_READ_PORT("KEY6")
|
||||
AM_RANGE(0x07, 0x07) AM_READ_PORT("KEY7")
|
||||
AM_RANGE(0x08, 0x08) AM_READ_PORT("KEY8")
|
||||
AM_RANGE(0x09, 0x09) AM_READ_PORT("KEY9")
|
||||
AM_RANGE(0x00, 0x00) AM_READ_PORT("Y0")
|
||||
AM_RANGE(0x01, 0x01) AM_READ_PORT("Y1")
|
||||
AM_RANGE(0x02, 0x02) AM_READ_PORT("Y2")
|
||||
AM_RANGE(0x03, 0x03) AM_READ_PORT("Y3")
|
||||
AM_RANGE(0x04, 0x04) AM_READ_PORT("Y4")
|
||||
AM_RANGE(0x05, 0x05) AM_READ_PORT("Y5")
|
||||
AM_RANGE(0x06, 0x06) AM_READ_PORT("Y6")
|
||||
AM_RANGE(0x07, 0x07) AM_READ_PORT("Y7")
|
||||
AM_RANGE(0x08, 0x08) AM_READ_PORT("Y8")
|
||||
AM_RANGE(0x09, 0x09) AM_READ_PORT("Y9")
|
||||
AM_RANGE(0x10, 0x10) AM_WRITE(rtc_cmd_w)
|
||||
AM_RANGE(0x20, 0x20) AM_DEVREADWRITE(I8251_TAG, i8251_device, data_r, data_w)
|
||||
AM_RANGE(0x21, 0x21) AM_DEVREADWRITE(I8251_TAG, i8251_device, status_r, control_w)
|
||||
@ -380,7 +378,7 @@ ADDRESS_MAP_END
|
||||
/* Input Ports */
|
||||
|
||||
static INPUT_PORTS_START( pc8401a )
|
||||
PORT_START("KEY0")
|
||||
PORT_START("Y0")
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("STOP")// PORT_CODE(KEYCODE_ESC) PORT_CHAR(UCHAR_MAMEKEY(ESC))
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("SHIFT") PORT_CODE(KEYCODE_LSHIFT) PORT_CODE(KEYCODE_RSHIFT) PORT_CHAR(UCHAR_SHIFT_1)
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYBOARD )
|
||||
@ -390,7 +388,7 @@ static INPUT_PORTS_START( pc8401a )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD )
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD )
|
||||
|
||||
PORT_START("KEY1")
|
||||
PORT_START("Y1")
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_G) PORT_CHAR('g') PORT_CHAR('G')
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_F) PORT_CHAR('f') PORT_CHAR('F')
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_E) PORT_CHAR('e') PORT_CHAR('E')
|
||||
@ -400,7 +398,7 @@ static INPUT_PORTS_START( pc8401a )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_A) PORT_CHAR('a') PORT_CHAR('A')
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("SPACE") PORT_CODE(KEYCODE_SPACE) PORT_CHAR(' ')
|
||||
|
||||
PORT_START("KEY2")
|
||||
PORT_START("Y2")
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_O) PORT_CHAR('o') PORT_CHAR('O')
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_N) PORT_CHAR('n') PORT_CHAR('N')
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_M) PORT_CHAR('m') PORT_CHAR('M')
|
||||
@ -410,7 +408,7 @@ static INPUT_PORTS_START( pc8401a )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_I) PORT_CHAR('i') PORT_CHAR('I')
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_H) PORT_CHAR('h') PORT_CHAR('H')
|
||||
|
||||
PORT_START("KEY3")
|
||||
PORT_START("Y3")
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_W) PORT_CHAR('w') PORT_CHAR('W')
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_V) PORT_CHAR('v') PORT_CHAR('V')
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_U) PORT_CHAR('u') PORT_CHAR('U')
|
||||
@ -420,7 +418,7 @@ static INPUT_PORTS_START( pc8401a )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_Q) PORT_CHAR('q') PORT_CHAR('Q')
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_P) PORT_CHAR('p') PORT_CHAR('P')
|
||||
|
||||
PORT_START("KEY4")
|
||||
PORT_START("Y4")
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_MINUS) PORT_CHAR('-') PORT_CHAR('*')
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_QUOTE) PORT_CHAR('\'') PORT_CHAR('*')
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_CLOSEBRACE) PORT_CHAR(']') PORT_CHAR('*')
|
||||
@ -430,7 +428,7 @@ static INPUT_PORTS_START( pc8401a )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_Y) PORT_CHAR('y') PORT_CHAR('Y')
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_X) PORT_CHAR('x') PORT_CHAR('X')
|
||||
|
||||
PORT_START("KEY5")
|
||||
PORT_START("Y5")
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_7) PORT_CHAR('7') PORT_CHAR('*')
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_6) PORT_CHAR('6') PORT_CHAR('*')
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_5) PORT_CHAR('5') PORT_CHAR('*')
|
||||
@ -440,7 +438,7 @@ static INPUT_PORTS_START( pc8401a )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_1) PORT_CHAR('1') PORT_CHAR('*')
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_0) PORT_CHAR('0') PORT_CHAR('*')
|
||||
|
||||
PORT_START("KEY6")
|
||||
PORT_START("Y6")
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_EQUALS) PORT_CHAR('=') PORT_CHAR('*')
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_SLASH) PORT_CHAR('/') PORT_CHAR('*')
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_STOP) PORT_CHAR('.') PORT_CHAR('*')
|
||||
@ -450,7 +448,7 @@ static INPUT_PORTS_START( pc8401a )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_9) PORT_CHAR('9') PORT_CHAR('*')
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_8) PORT_CHAR('8') PORT_CHAR('*')
|
||||
|
||||
PORT_START("KEY7")
|
||||
PORT_START("Y7")
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("ESC") PORT_CODE(KEYCODE_ESC) PORT_CHAR(UCHAR_MAMEKEY(ESC))
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYBOARD ) // ^I
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("F5") PORT_CODE(KEYCODE_F5) PORT_CHAR(UCHAR_MAMEKEY(F5))
|
||||
@ -460,7 +458,7 @@ static INPUT_PORTS_START( pc8401a )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("F1") PORT_CODE(KEYCODE_F1) PORT_CHAR(UCHAR_MAMEKEY(F1))
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) // ^C
|
||||
|
||||
PORT_START("KEY8")
|
||||
PORT_START("Y8")
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME(UTF8_RIGHT) PORT_CODE(KEYCODE_RIGHT) PORT_CHAR(UCHAR_MAMEKEY(RIGHT))
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_F6)
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_F7)
|
||||
@ -470,7 +468,7 @@ static INPUT_PORTS_START( pc8401a )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
|
||||
PORT_START("KEY9")
|
||||
PORT_START("Y9")
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_F8)
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_F9)
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_F10)
|
||||
@ -489,12 +487,12 @@ void pc8401a_state::machine_start()
|
||||
m_rtc->cs_w(1);
|
||||
|
||||
/* allocate CRT video RAM */
|
||||
m_crt_ram = auto_alloc_array(machine(), UINT8, PC8401A_CRT_VIDEORAM_SIZE);
|
||||
m_crt_ram.allocate(PC8401A_CRT_VIDEORAM_SIZE);
|
||||
|
||||
UINT8 *ram = m_ram->pointer();
|
||||
|
||||
/* set up A0/A1 memory banking */
|
||||
membank("bank1")->configure_entries(0, 4, memregion(Z80_TAG)->base(), 0x8000);
|
||||
membank("bank1")->configure_entries(0, 4, m_rom->base(), 0x8000);
|
||||
membank("bank1")->configure_entries(4, 2, ram, 0x8000);
|
||||
membank("bank1")->set_entry(0);
|
||||
|
||||
@ -515,7 +513,6 @@ void pc8401a_state::machine_start()
|
||||
bankswitch(0);
|
||||
|
||||
/* register for state saving */
|
||||
save_pointer(NAME(m_crt_ram), PC8401A_CRT_VIDEORAM_SIZE);
|
||||
save_item(NAME(m_mmr));
|
||||
save_item(NAME(m_io_addr));
|
||||
}
|
||||
|
@ -187,16 +187,16 @@ READ8_MEMBER( poly880_state::pio1_pb_r )
|
||||
|
||||
*/
|
||||
|
||||
UINT8 data = 0xf0 | (((m_cassette)->input() < +0.0) << 1);
|
||||
UINT8 data = 0xf0 | ((m_cassette->input() < +0.0) << 1);
|
||||
int i;
|
||||
|
||||
for (i = 0; i < 8; i++)
|
||||
{
|
||||
if (BIT(m_digit, i))
|
||||
{
|
||||
if (!BIT(ioport("KI1")->read(), i)) data &= ~0x10;
|
||||
if (!BIT(ioport("KI2")->read(), i)) data &= ~0x20;
|
||||
if (!BIT(ioport("KI3")->read(), i)) data &= ~0x80;
|
||||
if (!BIT(m_ki1->read(), i)) data &= ~0x10;
|
||||
if (!BIT(m_ki2->read(), i)) data &= ~0x20;
|
||||
if (!BIT(m_ki3->read(), i)) data &= ~0x80;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -49,7 +49,7 @@ void prof80_state::bankswitch()
|
||||
{
|
||||
address_space &program = m_maincpu->space(AS_PROGRAM);
|
||||
UINT8 *ram = m_ram->pointer();
|
||||
UINT8 *rom = memregion(Z80_TAG)->base();
|
||||
UINT8 *rom = m_rom->base();
|
||||
int bank;
|
||||
|
||||
for (bank = 0; bank < 16; bank++)
|
||||
@ -100,10 +100,8 @@ void prof80_state::bankswitch()
|
||||
|
||||
void prof80_state::floppy_motor_off()
|
||||
{
|
||||
if(m_floppy0)
|
||||
m_floppy0->mon_w(true);
|
||||
if(m_floppy1)
|
||||
m_floppy1->mon_w(true);
|
||||
if (m_floppy0->get_device()) m_floppy0->get_device()->mon_w(1);
|
||||
if (m_floppy1->get_device()) m_floppy1->get_device()->mon_w(1);
|
||||
|
||||
m_motor = 0;
|
||||
}
|
||||
@ -156,11 +154,9 @@ void prof80_state::ls259_w(int fa, int sa, int fb, int sb)
|
||||
else
|
||||
{
|
||||
// turn on floppy motor
|
||||
if(m_floppy0)
|
||||
m_floppy0->mon_w(false);
|
||||
if(m_floppy1)
|
||||
m_floppy1->mon_w(false);
|
||||
|
||||
if (m_floppy0->get_device()) m_floppy0->get_device()->mon_w(0);
|
||||
if (m_floppy1->get_device()) m_floppy1->get_device()->mon_w(0);
|
||||
|
||||
m_motor = 1;
|
||||
|
||||
// reset floppy motor off NE555 timer
|
||||
@ -271,11 +267,7 @@ READ8_MEMBER( prof80_state::status_r )
|
||||
data |= 0x10;
|
||||
|
||||
// floppy index
|
||||
if(m_floppy0)
|
||||
data |= m_floppy0->idx_r() << 5;
|
||||
|
||||
if(m_floppy1)
|
||||
data |= m_floppy1->idx_r() << 5;
|
||||
data |= (m_floppy0->get_device() ? m_floppy0->get_device()->idx_r() : m_floppy1->get_device() ? m_floppy1->get_device()->idx_r() : 1) << 5;
|
||||
|
||||
return data;
|
||||
}
|
||||
@ -309,7 +301,7 @@ READ8_MEMBER( prof80_state::status2_r )
|
||||
data |= !m_motor;
|
||||
|
||||
// JS4
|
||||
switch (ioport("J4")->read())
|
||||
switch (m_j4->read())
|
||||
{
|
||||
case 0: js4 = 0; break;
|
||||
case 1: js4 = 1; break;
|
||||
@ -321,7 +313,7 @@ READ8_MEMBER( prof80_state::status2_r )
|
||||
data |= js4 << 4;
|
||||
|
||||
// JS5
|
||||
switch (ioport("J5")->read())
|
||||
switch (m_j5->read())
|
||||
{
|
||||
case 0: js5 = 0; break;
|
||||
case 1: js5 = 1; break;
|
||||
|
@ -247,14 +247,14 @@ READ8_MEMBER( ql_state::ipc_bus_r )
|
||||
|
||||
UINT8 data = 0;
|
||||
|
||||
if (BIT(m_keylatch, 0)) data |= ioport("ROW0")->read() | ioport("JOY0")->read();
|
||||
if (BIT(m_keylatch, 1)) data |= ioport("ROW1")->read() | ioport("JOY1")->read();
|
||||
if (BIT(m_keylatch, 2)) data |= ioport("ROW2")->read();
|
||||
if (BIT(m_keylatch, 3)) data |= ioport("ROW3")->read();
|
||||
if (BIT(m_keylatch, 4)) data |= ioport("ROW4")->read();
|
||||
if (BIT(m_keylatch, 5)) data |= ioport("ROW5")->read();
|
||||
if (BIT(m_keylatch, 6)) data |= ioport("ROW6")->read();
|
||||
if (BIT(m_keylatch, 7)) data |= ioport("ROW7")->read();
|
||||
if (BIT(m_keylatch, 0)) data |= m_y0->read() | m_joy0->read();
|
||||
if (BIT(m_keylatch, 1)) data |= m_y1->read() | m_joy1->read();
|
||||
if (BIT(m_keylatch, 2)) data |= m_y2->read();
|
||||
if (BIT(m_keylatch, 3)) data |= m_y3->read();
|
||||
if (BIT(m_keylatch, 4)) data |= m_y4->read();
|
||||
if (BIT(m_keylatch, 5)) data |= m_y5->read();
|
||||
if (BIT(m_keylatch, 6)) data |= m_y6->read();
|
||||
if (BIT(m_keylatch, 7)) data |= m_y7->read();
|
||||
|
||||
return data;
|
||||
}
|
||||
@ -434,7 +434,7 @@ ADDRESS_MAP_END
|
||||
//-------------------------------------------------
|
||||
|
||||
static INPUT_PORTS_START( ql )
|
||||
PORT_START("ROW0")
|
||||
PORT_START("Y0")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_F4) PORT_CHAR(UCHAR_MAMEKEY(F4)) PORT_NAME("F4")
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_F1) PORT_CHAR(UCHAR_MAMEKEY(F1)) PORT_NAME("F1")
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_5) PORT_CHAR('5') PORT_CHAR('%')
|
||||
@ -444,7 +444,7 @@ static INPUT_PORTS_START( ql )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_4) PORT_CHAR('4') PORT_CHAR('$')
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_7) PORT_CHAR('7') PORT_CHAR('&')
|
||||
|
||||
PORT_START("ROW1")
|
||||
PORT_START("Y1")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("ENTER") PORT_CODE(KEYCODE_ENTER) PORT_CHAR(13)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME(UTF8_LEFT) PORT_CODE(KEYCODE_LEFT) PORT_CHAR(UCHAR_MAMEKEY(LEFT))
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME(UTF8_UP) PORT_CODE(KEYCODE_UP) PORT_CHAR(UCHAR_MAMEKEY(UP))
|
||||
@ -454,7 +454,7 @@ static INPUT_PORTS_START( ql )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("SPACE") PORT_CODE(KEYCODE_SPACE) PORT_CHAR(' ')
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME(UTF8_DOWN) PORT_CODE(KEYCODE_DOWN) PORT_CHAR(UCHAR_MAMEKEY(DOWN))
|
||||
|
||||
PORT_START("ROW2")
|
||||
PORT_START("Y2")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_CLOSEBRACE) PORT_CHAR(']') PORT_CHAR('}')
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_Z) PORT_CHAR('z') PORT_CHAR('Z')
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_STOP) PORT_CHAR('.') PORT_CHAR('>')
|
||||
@ -464,7 +464,7 @@ static INPUT_PORTS_START( ql )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_M) PORT_CHAR('m') PORT_CHAR('M')
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_QUOTE) PORT_CHAR('\'') PORT_CHAR('\"')
|
||||
|
||||
PORT_START("ROW3")
|
||||
PORT_START("Y3")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_OPENBRACE) PORT_CHAR('[') PORT_CHAR('{')
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("CAPS LOCK") PORT_CODE(KEYCODE_CAPSLOCK)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_K) PORT_CHAR('k') PORT_CHAR('K')
|
||||
@ -474,7 +474,7 @@ static INPUT_PORTS_START( ql )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_G) PORT_CHAR('g') PORT_CHAR('G')
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_COLON) PORT_CHAR(';') PORT_CHAR(':')
|
||||
|
||||
PORT_START("ROW4")
|
||||
PORT_START("Y4")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_L) PORT_CHAR('l') PORT_CHAR('L')
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_3) PORT_CHAR('3') PORT_CHAR('#')
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_H) PORT_CHAR('h') PORT_CHAR('H')
|
||||
@ -484,7 +484,7 @@ static INPUT_PORTS_START( ql )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_D) PORT_CHAR('d') PORT_CHAR('D')
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_J) PORT_CHAR('j') PORT_CHAR('J')
|
||||
|
||||
PORT_START("ROW5")
|
||||
PORT_START("Y5")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_9) PORT_CHAR('9') PORT_CHAR('(')
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_W) PORT_CHAR('w') PORT_CHAR('W')
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_I) PORT_CHAR('i') PORT_CHAR('I')
|
||||
@ -494,7 +494,7 @@ static INPUT_PORTS_START( ql )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_Y) PORT_CHAR('y') PORT_CHAR('Y')
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_O) PORT_CHAR('o') PORT_CHAR('O')
|
||||
|
||||
PORT_START("ROW6")
|
||||
PORT_START("Y6")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_8) PORT_CHAR('8') PORT_CHAR('*')
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_2) PORT_CHAR('2') PORT_CHAR('@')
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_6) PORT_CHAR('6') PORT_CHAR('^')
|
||||
@ -504,7 +504,7 @@ static INPUT_PORTS_START( ql )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_T) PORT_CHAR('t') PORT_CHAR('T')
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_U) PORT_CHAR('u') PORT_CHAR('U')
|
||||
|
||||
PORT_START("ROW7")
|
||||
PORT_START("Y7")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("SHIFT") PORT_CODE(KEYCODE_LSHIFT) PORT_CODE(KEYCODE_RSHIFT) PORT_CHAR(UCHAR_SHIFT_1)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("CTRL") PORT_CODE(KEYCODE_LCONTROL) PORT_CHAR(UCHAR_MAMEKEY(LCONTROL))
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("ALT") PORT_CODE(KEYCODE_LALT) PORT_CHAR(UCHAR_MAMEKEY(LALT)) PORT_CODE(KEYCODE_RALT)
|
||||
@ -551,27 +551,27 @@ INPUT_PORTS_END
|
||||
static INPUT_PORTS_START( ql_es )
|
||||
PORT_INCLUDE(ql)
|
||||
|
||||
PORT_MODIFY("ROW1")
|
||||
PORT_MODIFY("Y1")
|
||||
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_BACKSLASH) PORT_NAME("] \xc3\x9c") PORT_CHAR(']') PORT_CHAR(0xfc) PORT_CHAR(0xdc)
|
||||
|
||||
PORT_MODIFY("ROW2")
|
||||
PORT_MODIFY("Y2")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_CLOSEBRACE) PORT_CHAR('`') PORT_CHAR('^')
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_STOP) PORT_CHAR('.') PORT_CHAR('!')
|
||||
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("[ \xc3\x87") PORT_CODE(KEYCODE_TILDE) PORT_CHAR('[') PORT_CHAR(0xe7) PORT_CHAR(0xc7)
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_QUOTE) PORT_CHAR(';') PORT_CHAR(':')
|
||||
|
||||
PORT_MODIFY("ROW3")
|
||||
PORT_MODIFY("Y3")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_OPENBRACE) PORT_CHAR('\'') PORT_CHAR('"')
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("\xc3\x91") PORT_CODE(KEYCODE_COLON) PORT_CHAR(0xf1) PORT_CHAR(0xd1)
|
||||
|
||||
PORT_MODIFY("ROW4")
|
||||
PORT_MODIFY("Y4")
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("1 \xc2\xa1") PORT_CODE(KEYCODE_1) PORT_CHAR('1') PORT_CHAR(0xa1)
|
||||
|
||||
PORT_MODIFY("ROW6")
|
||||
PORT_MODIFY("Y6")
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("2 \xc2\xbf") PORT_CODE(KEYCODE_2) PORT_CHAR('2') PORT_CHAR(0xbf)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_6) PORT_CHAR('6') PORT_CHAR('/')
|
||||
|
||||
PORT_MODIFY("ROW7")
|
||||
PORT_MODIFY("Y7")
|
||||
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_SLASH) PORT_CHAR('<') PORT_CHAR('>')
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_COMMA) PORT_CHAR(',') PORT_CHAR('?')
|
||||
INPUT_PORTS_END
|
||||
@ -584,39 +584,39 @@ INPUT_PORTS_END
|
||||
static INPUT_PORTS_START( ql_de )
|
||||
PORT_INCLUDE(ql)
|
||||
|
||||
PORT_MODIFY("ROW0")
|
||||
PORT_MODIFY("Y0")
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_7) PORT_CHAR('7') PORT_CHAR('/')
|
||||
|
||||
PORT_MODIFY("ROW1")
|
||||
PORT_MODIFY("Y1")
|
||||
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_BACKSLASH) PORT_CHAR('<') PORT_CHAR('>')
|
||||
|
||||
PORT_MODIFY("ROW2")
|
||||
PORT_MODIFY("Y2")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_CLOSEBRACE) PORT_CHAR('+') PORT_CHAR('*')
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_Y) PORT_CHAR('y') PORT_CHAR('Y')
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_STOP) PORT_CHAR('.') PORT_CHAR(':')
|
||||
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_TILDE) PORT_CHAR('\\') PORT_CHAR('^')
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("\xc3\x84") PORT_CODE(KEYCODE_QUOTE) PORT_CHAR(0xe4) PORT_CHAR(0xc4)
|
||||
|
||||
PORT_MODIFY("ROW3")
|
||||
PORT_MODIFY("Y3")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("\xc3\x9c") PORT_CODE(KEYCODE_OPENBRACE) PORT_CHAR(0xfc) PORT_CHAR(0xdc)
|
||||
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_EQUALS) PORT_CHAR('#') PORT_CHAR('\'')
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("\xc3\x96") PORT_CODE(KEYCODE_COLON) PORT_CHAR(0xf6) PORT_CHAR(0xd6)
|
||||
|
||||
PORT_MODIFY("ROW4")
|
||||
PORT_MODIFY("Y4")
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("3 \xc2\xa3") PORT_CODE(KEYCODE_3) PORT_CHAR('3') PORT_CHAR(0xa7)
|
||||
|
||||
PORT_MODIFY("ROW5")
|
||||
PORT_MODIFY("Y5")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_9) PORT_CHAR('9') PORT_CHAR('(')
|
||||
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("\xc3\x9f ?") PORT_CODE(KEYCODE_MINUS) PORT_CHAR(0xdf) PORT_CHAR('?')
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_Z) PORT_CHAR('z') PORT_CHAR('Z')
|
||||
|
||||
PORT_MODIFY("ROW6")
|
||||
PORT_MODIFY("Y6")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_8) PORT_CHAR('8') PORT_CHAR('(')
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_2) PORT_CHAR('2') PORT_CHAR('"')
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_6) PORT_CHAR('6') PORT_CHAR('&')
|
||||
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_0) PORT_CHAR('0') PORT_CHAR('=')
|
||||
|
||||
PORT_MODIFY("ROW7")
|
||||
PORT_MODIFY("Y7")
|
||||
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_SLASH) PORT_CHAR('-') PORT_CHAR('_')
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_COMMA) PORT_CHAR(',') PORT_CHAR(';')
|
||||
INPUT_PORTS_END
|
||||
@ -629,15 +629,15 @@ INPUT_PORTS_END
|
||||
static INPUT_PORTS_START( ql_it )
|
||||
PORT_INCLUDE(ql)
|
||||
|
||||
PORT_MODIFY("ROW0")
|
||||
PORT_MODIFY("Y0")
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_5) PORT_CHAR('(') PORT_CHAR('5')
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_4) PORT_CHAR('\'') PORT_CHAR('4')
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("7 \xc3\xa8") PORT_CODE(KEYCODE_7) PORT_CHAR('?') PORT_CHAR('7')
|
||||
|
||||
PORT_MODIFY("ROW1")
|
||||
PORT_MODIFY("Y1")
|
||||
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_BACKSLASH) PORT_CHAR('<') PORT_CHAR('>')
|
||||
|
||||
PORT_MODIFY("ROW2")
|
||||
PORT_MODIFY("Y2")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_CLOSEBRACE) PORT_CHAR('$') PORT_CHAR('&')
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_W) PORT_CHAR('w') PORT_CHAR('W')
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_STOP) PORT_CHAR(':') PORT_CHAR('/')
|
||||
@ -645,27 +645,27 @@ static INPUT_PORTS_START( ql_it )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_COMMA) PORT_CHAR(',') PORT_CHAR('?')
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("\xc3\xb9 %") PORT_CODE(KEYCODE_QUOTE) PORT_CHAR(0xf9) PORT_CHAR('%')
|
||||
|
||||
PORT_MODIFY("ROW3")
|
||||
PORT_MODIFY("Y3")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("\xc3\xac =") PORT_CODE(KEYCODE_OPENBRACE) PORT_CHAR(0xec) PORT_CHAR('=')
|
||||
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_EQUALS) PORT_CHAR('-') PORT_CHAR('+')
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_M) PORT_CHAR('m') PORT_CHAR('M')
|
||||
|
||||
PORT_MODIFY("ROW4")
|
||||
PORT_MODIFY("Y4")
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_3) PORT_CHAR('"') PORT_CHAR('3')
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_1) PORT_CHAR('#') PORT_CHAR('1')
|
||||
|
||||
PORT_MODIFY("ROW5")
|
||||
PORT_MODIFY("Y5")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("\xc3\xa7 9") PORT_CODE(KEYCODE_9) PORT_CHAR(0xe7) PORT_CHAR('9')
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_Z) PORT_CHAR('z') PORT_CHAR('Z')
|
||||
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_MINUS) PORT_CHAR(')') PORT_CHAR('\\')
|
||||
|
||||
PORT_MODIFY("ROW6")
|
||||
PORT_MODIFY("Y6")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_8) PORT_CHAR('^') PORT_CHAR('8')
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("\xc3\xa9 2") PORT_CODE(KEYCODE_2) PORT_CHAR(0xe9) PORT_CHAR('2')
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_6) PORT_CHAR('_') PORT_CHAR('6')
|
||||
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("\xc3\xa0 0") PORT_CODE(KEYCODE_0) PORT_CHAR(0xe0) PORT_CHAR('0')
|
||||
|
||||
PORT_MODIFY("ROW7")
|
||||
PORT_MODIFY("Y7")
|
||||
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("\xc3\xb2 !") PORT_CODE(KEYCODE_SLASH) PORT_CHAR(0xf2) PORT_CHAR('!')
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_COLON) PORT_CHAR(';') PORT_CHAR('.')
|
||||
INPUT_PORTS_END
|
||||
|
@ -517,7 +517,7 @@ INPUT_PORTS_END
|
||||
|
||||
WRITE_LINE_MEMBER(sg1000_state::sg1000_vdp_interrupt)
|
||||
{
|
||||
machine().device(Z80_TAG)->execute().set_input_line(INPUT_LINE_IRQ0, state);
|
||||
m_maincpu->set_input_line(INPUT_LINE_IRQ0, state);
|
||||
}
|
||||
|
||||
static TMS9928A_INTERFACE(sg1000_tms9918a_interface)
|
||||
@ -546,9 +546,9 @@ READ8_MEMBER( sc3000_state::ppi_pa_r )
|
||||
PA7 Keyboard input
|
||||
*/
|
||||
|
||||
static const char *const keynames[] = { "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7" };
|
||||
ioport_port *ports[8] = { m_pa0, m_pa1, m_pa2, m_pa3, m_pa4, m_pa5, m_pa6, m_pa7 };
|
||||
|
||||
return ioport(keynames[m_keylatch])->read();
|
||||
return ports[m_keylatch]->read();
|
||||
}
|
||||
|
||||
READ8_MEMBER( sc3000_state::ppi_pb_r )
|
||||
@ -566,10 +566,10 @@ READ8_MEMBER( sc3000_state::ppi_pb_r )
|
||||
PB7 Cassette tape input
|
||||
*/
|
||||
|
||||
static const char *const keynames[] = { "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7" };
|
||||
ioport_port *ports[8] = { m_pb0, m_pb1, m_pb2, m_pb3, m_pb4, m_pb5, m_pb6, m_pb7 };
|
||||
|
||||
/* keyboard */
|
||||
UINT8 data = ioport(keynames[m_keylatch])->read();
|
||||
UINT8 data = ports[m_keylatch]->read();
|
||||
|
||||
/* cartridge contact */
|
||||
data |= 0x10;
|
||||
@ -578,7 +578,7 @@ READ8_MEMBER( sc3000_state::ppi_pb_r )
|
||||
data |= 0x60;
|
||||
|
||||
/* tape input */
|
||||
if ((m_cassette)->input() > +0.0) data |= 0x80;
|
||||
if (m_cassette->input() > +0.0) data |= 0x80;
|
||||
|
||||
return data;
|
||||
}
|
||||
@ -647,14 +647,14 @@ void sg1000_state::install_cartridge(UINT8 *ptr, int size)
|
||||
case 40 * 1024:
|
||||
program.install_read_bank(0x8000, 0x9fff, "bank1");
|
||||
program.unmap_write(0x8000, 0x9fff);
|
||||
membank("bank1")->configure_entry(0, memregion(Z80_TAG)->base() + 0x8000);
|
||||
membank("bank1")->configure_entry(0, m_rom->base() + 0x8000);
|
||||
membank("bank1")->set_entry(0);
|
||||
break;
|
||||
|
||||
case 48 * 1024:
|
||||
program.install_read_bank(0x8000, 0xbfff, "bank1");
|
||||
program.unmap_write(0x8000, 0xbfff);
|
||||
membank("bank1")->configure_entry(0, memregion(Z80_TAG)->base() + 0x8000);
|
||||
membank("bank1")->configure_entry(0, m_rom->base() + 0x8000);
|
||||
membank("bank1")->set_entry(0);
|
||||
break;
|
||||
|
||||
@ -682,8 +682,8 @@ static DEVICE_IMAGE_LOAD( sg1000_cart )
|
||||
{
|
||||
running_machine &machine = image.device().machine();
|
||||
sg1000_state *state = machine.driver_data<sg1000_state>();
|
||||
address_space &program = machine.device(Z80_TAG)->memory().space(AS_PROGRAM);
|
||||
UINT8 *ptr = state->memregion(Z80_TAG)->base();
|
||||
address_space &program = state->m_maincpu->space(AS_PROGRAM);
|
||||
UINT8 *ptr = state->m_rom->base();
|
||||
UINT32 ram_size = 0x400;
|
||||
bool install_2000_ram = false;
|
||||
UINT32 size;
|
||||
@ -797,7 +797,7 @@ static DEVICE_IMAGE_LOAD( omv_cart )
|
||||
running_machine &machine = image.device().machine();
|
||||
sg1000_state *state = machine.driver_data<sg1000_state>();
|
||||
UINT32 size;
|
||||
UINT8 *ptr = state->memregion(Z80_TAG)->base();
|
||||
UINT8 *ptr = state->m_rom->base();
|
||||
|
||||
if (image.software_entry() == NULL)
|
||||
{
|
||||
@ -853,7 +853,7 @@ static DEVICE_IMAGE_LOAD( sc3000_cart )
|
||||
{
|
||||
running_machine &machine = image.device().machine();
|
||||
sc3000_state *state = machine.driver_data<sc3000_state>();
|
||||
UINT8 *ptr = state->memregion(Z80_TAG)->base();
|
||||
UINT8 *ptr = state->m_rom->base();
|
||||
UINT32 size;
|
||||
|
||||
if (image.software_entry() == NULL)
|
||||
@ -986,7 +986,7 @@ static const sn76496_config psg_intf =
|
||||
|
||||
TIMER_CALLBACK_MEMBER(sg1000_state::lightgun_tick)
|
||||
{
|
||||
UINT8 *rom = machine().root_device().memregion(Z80_TAG)->base();
|
||||
UINT8 *rom = m_rom->base();
|
||||
|
||||
if (IS_CARTRIDGE_TV_DRAW(rom))
|
||||
{
|
||||
@ -1035,7 +1035,7 @@ void sc3000_state::machine_start()
|
||||
void sf7000_state::machine_start()
|
||||
{
|
||||
/* configure memory banking */
|
||||
membank("bank1")->configure_entry(0, memregion(Z80_TAG)->base());
|
||||
membank("bank1")->configure_entry(0, m_rom->base());
|
||||
membank("bank1")->configure_entry(1, m_ram->pointer());
|
||||
membank("bank2")->configure_entry(0, m_ram->pointer());
|
||||
|
||||
|
@ -24,7 +24,7 @@ void super6_state::bankswitch()
|
||||
{
|
||||
address_space &program = m_maincpu->space(AS_PROGRAM);
|
||||
UINT8 *ram = m_ram->pointer();
|
||||
UINT8 *rom = memregion(Z80_TAG)->base();
|
||||
UINT8 *rom = m_rom->base();
|
||||
|
||||
// power on jump
|
||||
if (!BIT(m_bank0, 6)) { program.install_rom(0x0000, 0x07ff, 0, 0xf800, rom); return; }
|
||||
|
@ -23,14 +23,6 @@
|
||||
*/
|
||||
|
||||
|
||||
#include "emu.h"
|
||||
#include "cpu/m6800/m6800.h"
|
||||
#include "machine/ram.h"
|
||||
#include "machine/6821pia.h"
|
||||
#include "machine/6850acia.h"
|
||||
#include "machine/ieee488.h"
|
||||
#include "sound/speaker.h"
|
||||
#include "video/vector.h"
|
||||
#include "includes/tek405x.h"
|
||||
|
||||
|
||||
@ -123,15 +115,15 @@ void tek4051_state::bankswitch(UINT8 data)
|
||||
switch (lbs)
|
||||
{
|
||||
case LBS_RBC:
|
||||
program.install_rom(0x8800, 0xa7ff, memregion(MC6800_TAG)->base() + 0x800);
|
||||
program.install_rom(0x8800, 0xa7ff, m_rom->base() + 0x800);
|
||||
break;
|
||||
|
||||
case LBS_BSOFL:
|
||||
program.install_rom(0x8800, 0xa7ff, memregion("020_0147_00")->base());
|
||||
program.install_rom(0x8800, 0xa7ff, m_bsofl_rom->base());
|
||||
break;
|
||||
|
||||
case LBS_BSCOM:
|
||||
program.install_rom(0x8800, 0xa7ff, memregion("672_0799_08")->base());
|
||||
program.install_rom(0x8800, 0xa7ff, m_bscom_rom->base());
|
||||
break;
|
||||
|
||||
default:
|
||||
@ -639,7 +631,7 @@ READ8_MEMBER( tek4051_state::kb_pia_pa_r )
|
||||
*/
|
||||
|
||||
UINT8 data = 0;
|
||||
UINT8 special = ioport("SPECIAL")->read();
|
||||
UINT8 special = m_special->read();
|
||||
|
||||
// keyboard column
|
||||
data = m_kc;
|
||||
@ -668,7 +660,7 @@ READ8_MEMBER( tek4051_state::kb_pia_pb_r )
|
||||
*/
|
||||
|
||||
UINT8 data = 0;
|
||||
UINT8 special = ioport("SPECIAL")->read();
|
||||
UINT8 special = m_special->read();
|
||||
|
||||
// shift
|
||||
data |= (BIT(special, 0) & BIT(special, 1));
|
||||
@ -1242,6 +1234,15 @@ static MACHINE_CONFIG_START( tek4051, tek4051_state )
|
||||
MCFG_RAM_ADD(RAM_TAG)
|
||||
MCFG_RAM_DEFAULT_SIZE("8K")
|
||||
MCFG_RAM_EXTRA_OPTIONS("16K,24K,32K")
|
||||
|
||||
// cartridge
|
||||
MCFG_CARTSLOT_ADD("cart1")
|
||||
MCFG_CARTSLOT_EXTENSION_LIST("bin")
|
||||
MCFG_CARTSLOT_INTERFACE("tek4050_cart")
|
||||
|
||||
MCFG_CARTSLOT_ADD("cart2")
|
||||
MCFG_CARTSLOT_EXTENSION_LIST("bin")
|
||||
MCFG_CARTSLOT_INTERFACE("tek4050_cart")
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
@ -1274,6 +1275,18 @@ static MACHINE_CONFIG_START( tek4052, tek4052_state )
|
||||
MCFG_RAM_ADD(RAM_TAG)
|
||||
MCFG_RAM_DEFAULT_SIZE("32K")
|
||||
MCFG_RAM_EXTRA_OPTIONS("64K")
|
||||
|
||||
// cartridge
|
||||
MCFG_CARTSLOT_ADD("cart1")
|
||||
MCFG_CARTSLOT_EXTENSION_LIST("bin")
|
||||
MCFG_CARTSLOT_INTERFACE("tek4050_cart")
|
||||
|
||||
MCFG_CARTSLOT_ADD("cart2")
|
||||
MCFG_CARTSLOT_EXTENSION_LIST("bin")
|
||||
MCFG_CARTSLOT_INTERFACE("tek4050_cart")
|
||||
|
||||
// software lists
|
||||
MCFG_SOFTWARE_LIST_ADD("cart_list", "tek4052_cart")
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
@ -1328,7 +1341,7 @@ ROM_START( tek4051 )
|
||||
ROM_LOAD( "156-0714-00.u121", 0x1000, 0x0800, NO_DUMP )
|
||||
ROM_LOAD( "156-0714-01.u121", 0x1000, 0x0800, NO_DUMP )
|
||||
ROM_LOAD( "156-0715-01.u131", 0x1800, 0x0800, NO_DUMP )
|
||||
|
||||
/*
|
||||
ROM_REGION( 0x2000, "4051r01", 0 ) // 4051R01 Matrix Functions
|
||||
ROM_LOAD( "4051r01", 0x0000, 0x1000, NO_DUMP )
|
||||
|
||||
@ -1338,6 +1351,7 @@ ROM_START( tek4051 )
|
||||
|
||||
ROM_REGION( 0x2000, "4051r06", 0 ) // 4051R06 Editor
|
||||
ROM_LOAD( "4051r06", 0x0000, 0x1000, NO_DUMP )
|
||||
*/
|
||||
ROM_END
|
||||
|
||||
|
||||
@ -1367,24 +1381,18 @@ ROM_START( tek4052a )
|
||||
ROM_LOAD16_BYTE( "160-1702-00.u845", 0x10000, 0x2000, CRC(013344b1) SHA1(4a79654427e15d0fcedd9519914f6448938ecffd) )
|
||||
ROM_LOAD16_BYTE( "160-1685-00.u863", 0x10001, 0x2000, CRC(53ddc8f9) SHA1(431d6f329dedebb54232c623a924d5ecddc5e44e) )
|
||||
|
||||
ROM_REGION( 0x2000, "4052r06", 0 ) // 4052R06 Editor
|
||||
ROM_LOAD( "160-1415 v2.0.u11", 0x0000, 0x1000, CRC(04cbc80d) SHA1(7bfb80fa099a794b18a7a5d7f8c2de4b36e245ec) )
|
||||
ROM_LOAD( "160-1414 v2.0.u1", 0x1000, 0x1000, CRC(675da652) SHA1(36a9677853e50a40195519dfdb6a3b3985438bc4) )
|
||||
ROM_REGION( 0x2000, "020_0147_00", 0 ) // Firmware Backpack (020-0147-00)
|
||||
ROM_LOAD( "156-0747-xx.u101", 0x0000, 0x0800, CRC(9e1facc1) SHA1(7e7a118c3e8c49630f630ee02c3de843dd95d7e1) ) // -00 or -01 ?
|
||||
ROM_LOAD( "156-0748-xx.u201", 0x0800, 0x0800, CRC(be42bfbf) SHA1(23575b411bd9dcb7d7116628820096e3064ff93b) ) // -00 or -01 ?
|
||||
|
||||
ROM_REGION( 0x2000, "4052r07", 0 ) // 4052R07 Signal Processing No. 1
|
||||
ROM_LOAD( "160-1416-00 v2.0.u1", 0x0000, 0x1000, CRC(537acdb2) SHA1(275e016eda327173095ae60ca79e72075c606954) )
|
||||
|
||||
ROM_REGION( 0x2000, "4052r08", 0 ) // 4052R08 Signal Processing No. 2 (FFT)
|
||||
ROM_LOAD( "160-1418 v2.0.u11", 0x1000, 0x1000, CRC(f1c19044) SHA1(b1b86009980900f31eccf158dcc7036c7810b8f5) )
|
||||
ROM_LOAD( "160-1417 v2.0.u1", 0x0000, 0x1000, CRC(bee2e90f) SHA1(9f1a26aa98583678047fc532f5fdb3c8a468e617) )
|
||||
|
||||
ROM_REGION( 0x3000, "020_0478_01", 0 ) // 4052/4054 File Manager
|
||||
ROM_LOAD( "160-1703-00 v3.0.u13", 0x0000, 0x1000, CRC(991c9f5f) SHA1(cce038f90edec6e551049c4411da8eeca6faeb4e) )
|
||||
ROM_LOAD( "160-1420-00 v3.0.u11", 0x1000, 0x1000, CRC(6545e073) SHA1(63a8d774a4b6f3640a833fd8be592a1baf124f7d) )
|
||||
ROM_LOAD( "160-1419-00 v3.0.u1", 0x2000, 0x1000, CRC(66d9d2d5) SHA1(e603ef1cacd6a20b975cf532f2e1978dcbee9789) )
|
||||
|
||||
ROM_REGION( 0x800, "720_dac", 0 ) // Transera 4052/4054 D/A Converter
|
||||
ROM_LOAD( "transera.da", 0x0000, 0x0800, CRC(1c16e4da) SHA1(6d6ea0c5c68bab8e6a885b3cb05aa591f7754c56) )
|
||||
ROM_REGION( 0x2000, "021_0188_00", 0 ) // Communications Backpack (021-0188-00)
|
||||
ROM_LOAD( "156-0712-00.u101", 0x0000, 0x0800, NO_DUMP )
|
||||
ROM_LOAD( "156-0712-01.u101", 0x0000, 0x0800, NO_DUMP )
|
||||
ROM_LOAD( "156-0713-00.u111", 0x0800, 0x0800, NO_DUMP )
|
||||
ROM_LOAD( "156-0713-01.u111", 0x0800, 0x0800, NO_DUMP )
|
||||
ROM_LOAD( "156-0714-00.u121", 0x1000, 0x0800, NO_DUMP )
|
||||
ROM_LOAD( "156-0714-01.u121", 0x1000, 0x0800, NO_DUMP )
|
||||
ROM_LOAD( "156-0715-01.u131", 0x1800, 0x0800, NO_DUMP )
|
||||
ROM_END
|
||||
|
||||
|
||||
|
@ -94,8 +94,8 @@ void tiki100_state::bankswitch()
|
||||
|
||||
READ8_MEMBER( tiki100_state::keyboard_r )
|
||||
{
|
||||
static const char *const keynames[] = { "ROW1", "ROW2", "ROW3", "ROW4", "ROW5", "ROW6", "ROW7", "ROW8", "ROW9", "ROW10", "ROW11", "ROW12" };
|
||||
UINT8 data = ioport(keynames[m_keylatch])->read();
|
||||
ioport_port *ports[12] = { m_y1, m_y2, m_y3, m_y4, m_y5, m_y6, m_y7, m_y8, m_y9, m_y10, m_y11, m_y12 };
|
||||
UINT8 data = ports[m_keylatch]->read();
|
||||
|
||||
m_keylatch++;
|
||||
|
||||
@ -251,7 +251,7 @@ static INPUT_PORTS_START( tiki100 )
|
||||
12 | HJEM | H?YRE | 2 (num) | 3 (num) | ENTER | | | |
|
||||
----+---------+---------+---------+---------+---------+---------+---------+---------+
|
||||
*/
|
||||
PORT_START("ROW1")
|
||||
PORT_START("Y1")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("CTRL") PORT_CODE(KEYCODE_LCONTROL) PORT_CHAR(UCHAR_MAMEKEY(LCONTROL))
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("SHIFT") PORT_CODE(KEYCODE_LSHIFT) PORT_CODE(KEYCODE_RSHIFT) PORT_CHAR(UCHAR_SHIFT_1)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("BRYTT") PORT_CODE(KEYCODE_ESC)
|
||||
@ -261,7 +261,7 @@ static INPUT_PORTS_START( tiki100 )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("SLETT") PORT_CODE(KEYCODE_BACKSPACE) PORT_CHAR(8)
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
|
||||
PORT_START("ROW2")
|
||||
PORT_START("Y2")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("GRAFIKK") PORT_CODE(KEYCODE_LALT) PORT_CHAR(UCHAR_MAMEKEY(LALT))
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_1) PORT_CHAR('1') PORT_CHAR('!')
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("ANGRE") PORT_CODE(KEYCODE_DEL) PORT_CHAR(UCHAR_MAMEKEY(DEL))
|
||||
@ -271,7 +271,7 @@ static INPUT_PORTS_START( tiki100 )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_Q) PORT_CHAR('q') PORT_CHAR('Q')
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("LOCK") PORT_CODE(KEYCODE_CAPSLOCK) PORT_CHAR(UCHAR_MAMEKEY(CAPSLOCK))
|
||||
|
||||
PORT_START("ROW3")
|
||||
PORT_START("Y3")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_2) PORT_CHAR('2') PORT_CHAR('"')
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_W) PORT_CHAR('w') PORT_CHAR('W')
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_S) PORT_CHAR('s') PORT_CHAR('S')
|
||||
@ -281,7 +281,7 @@ static INPUT_PORTS_START( tiki100 )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_D) PORT_CHAR('d') PORT_CHAR('D')
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_C) PORT_CHAR('c') PORT_CHAR('C')
|
||||
|
||||
PORT_START("ROW4")
|
||||
PORT_START("Y4")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_4) PORT_CHAR('4') PORT_CHAR('$')
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_R) PORT_CHAR('r') PORT_CHAR('R')
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_F) PORT_CHAR('f') PORT_CHAR('F')
|
||||
@ -291,7 +291,7 @@ static INPUT_PORTS_START( tiki100 )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_G) PORT_CHAR('g') PORT_CHAR('G')
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_B) PORT_CHAR('b') PORT_CHAR('B')
|
||||
|
||||
PORT_START("ROW5")
|
||||
PORT_START("Y5")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_6) PORT_CHAR('6') PORT_CHAR('&')
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_Y) PORT_CHAR('y') PORT_CHAR('Y')
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_H) PORT_CHAR('h') PORT_CHAR('H')
|
||||
@ -301,7 +301,7 @@ static INPUT_PORTS_START( tiki100 )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_J) PORT_CHAR('j') PORT_CHAR('J')
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_M) PORT_CHAR('m') PORT_CHAR('M')
|
||||
|
||||
PORT_START("ROW6")
|
||||
PORT_START("Y6")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_8) PORT_CHAR('8') PORT_CHAR('(')
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_I) PORT_CHAR('i') PORT_CHAR('I')
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_K) PORT_CHAR('k') PORT_CHAR('K')
|
||||
@ -311,7 +311,7 @@ static INPUT_PORTS_START( tiki100 )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_L) PORT_CHAR('l') PORT_CHAR('L')
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_STOP) PORT_CHAR('.') PORT_CHAR(':')
|
||||
|
||||
PORT_START("ROW7")
|
||||
PORT_START("Y7")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_0) PORT_CHAR('0') PORT_CHAR('=')
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_P) PORT_CHAR('p') PORT_CHAR('P')
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("\xC3\xB8 \xC3\x98") PORT_CODE(KEYCODE_COLON) PORT_CHAR(0x00f8) PORT_CHAR(0x00d8)
|
||||
@ -321,7 +321,7 @@ static INPUT_PORTS_START( tiki100 )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("\xC3\xA6 \xC3\x86") PORT_CODE(KEYCODE_QUOTE) PORT_CHAR(0x00e6) PORT_CHAR(0x00c6)
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("HJELP")
|
||||
|
||||
PORT_START("ROW8")
|
||||
PORT_START("Y8")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_EQUALS) PORT_CHAR('@') PORT_CHAR('`')
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_CLOSEBRACE) PORT_CHAR('^') PORT_CHAR('|')
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_BACKSLASH) PORT_CHAR('\'') PORT_CHAR('*')
|
||||
@ -331,7 +331,7 @@ static INPUT_PORTS_START( tiki100 )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("F4") PORT_CODE(KEYCODE_F4) PORT_CHAR(UCHAR_MAMEKEY(F4))
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("SIDEOPP") PORT_CODE(KEYCODE_PGUP) PORT_CHAR(UCHAR_MAMEKEY(PGUP))
|
||||
|
||||
PORT_START("ROW9")
|
||||
PORT_START("Y9")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("F2") PORT_CODE(KEYCODE_F2) PORT_CHAR(UCHAR_MAMEKEY(F2))
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("F3") PORT_CODE(KEYCODE_F3) PORT_CHAR(UCHAR_MAMEKEY(F3))
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("F5") PORT_CODE(KEYCODE_F5) PORT_CHAR(UCHAR_MAMEKEY(F5))
|
||||
@ -341,7 +341,7 @@ static INPUT_PORTS_START( tiki100 )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("VTAB")
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME(UTF8_DOWN) PORT_CODE(KEYCODE_DOWN) PORT_CHAR(UCHAR_MAMEKEY(DOWN))
|
||||
|
||||
PORT_START("ROW10")
|
||||
PORT_START("Y10")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("Keypad +") PORT_CODE(KEYCODE_PLUS_PAD)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("Keypad -") PORT_CODE(KEYCODE_MINUS_PAD)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("Keypad *") PORT_CODE(KEYCODE_ASTERISK)
|
||||
@ -351,7 +351,7 @@ static INPUT_PORTS_START( tiki100 )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("Keypad %")
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("Keypad =")
|
||||
|
||||
PORT_START("ROW11")
|
||||
PORT_START("Y11")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("Keypad 4") PORT_CODE(KEYCODE_4_PAD)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("Keypad 5") PORT_CODE(KEYCODE_5_PAD)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("Keypad 6") PORT_CODE(KEYCODE_6_PAD)
|
||||
@ -361,7 +361,7 @@ static INPUT_PORTS_START( tiki100 )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("Keypad .") PORT_CODE(KEYCODE_DEL_PAD)
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
|
||||
PORT_START("ROW12")
|
||||
PORT_START("Y12")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("HJEM") PORT_CODE(KEYCODE_HOME) PORT_CHAR(UCHAR_MAMEKEY(HOME))
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME(UTF8_RIGHT) PORT_CODE(KEYCODE_RIGHT) PORT_CHAR(UCHAR_MAMEKEY(RIGHT))
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("Keypad 2") PORT_CODE(KEYCODE_2_PAD)
|
||||
@ -552,7 +552,7 @@ void tiki100_state::machine_start()
|
||||
/* setup memory banking */
|
||||
UINT8 *ram = m_ram->pointer();
|
||||
|
||||
membank("bank1")->configure_entry(BANK_ROM, memregion(Z80_TAG)->base());
|
||||
membank("bank1")->configure_entry(BANK_ROM, m_rom->base());
|
||||
membank("bank1")->configure_entry(BANK_RAM, ram);
|
||||
membank("bank1")->configure_entry(BANK_VIDEO_RAM, m_video_ram);
|
||||
|
||||
|
@ -151,25 +151,25 @@ WRITE8_MEMBER( nano_state::keylatch_w )
|
||||
|
||||
bit description
|
||||
|
||||
0 X0
|
||||
1 X1
|
||||
2 X2
|
||||
3 Y0
|
||||
4 not connected
|
||||
5 not connected
|
||||
6 not connected
|
||||
7 not connected
|
||||
0 A
|
||||
1 B
|
||||
2 C
|
||||
3 NY0
|
||||
4 NY1
|
||||
5
|
||||
6
|
||||
7
|
||||
|
||||
*/
|
||||
|
||||
m_keylatch = data & 0x0f;
|
||||
m_keylatch = data & 0x1f;
|
||||
}
|
||||
|
||||
void tmc2000_state::bankswitch()
|
||||
{
|
||||
address_space &program = m_maincpu->space(AS_PROGRAM);
|
||||
UINT8 *ram = m_ram->pointer();
|
||||
UINT8 *rom = memregion(CDP1802_TAG)->base();
|
||||
UINT8 *rom = m_rom->base();
|
||||
|
||||
if (m_roc)
|
||||
{
|
||||
@ -440,7 +440,7 @@ INPUT_CHANGED_MEMBER( nano_state::monitor_pressed )
|
||||
}
|
||||
|
||||
static INPUT_PORTS_START( nano )
|
||||
PORT_START("IN0")
|
||||
PORT_START("NY0")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_0) PORT_CODE(KEYCODE_0_PAD) PORT_CHAR('0')
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_1) PORT_CODE(KEYCODE_1_PAD) PORT_CHAR('1')
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_2) PORT_CODE(KEYCODE_2_PAD) PORT_CHAR('2')
|
||||
@ -450,7 +450,7 @@ static INPUT_PORTS_START( nano )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_6) PORT_CODE(KEYCODE_6_PAD) PORT_CHAR('6')
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_7) PORT_CODE(KEYCODE_7_PAD) PORT_CHAR('7')
|
||||
|
||||
PORT_START("IN1")
|
||||
PORT_START("NY1")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_8) PORT_CODE(KEYCODE_8_PAD) PORT_CHAR('8')
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_9) PORT_CODE(KEYCODE_9_PAD) PORT_CHAR('9')
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_A) PORT_CHAR('A')
|
||||
@ -473,20 +473,17 @@ INPUT_PORTS_END
|
||||
|
||||
READ_LINE_MEMBER( tmc1800_state::clear_r )
|
||||
{
|
||||
return BIT(ioport("RUN")->read(), 0);
|
||||
return BIT(m_run->read(), 0);
|
||||
}
|
||||
|
||||
READ_LINE_MEMBER( tmc1800_state::ef2_r )
|
||||
{
|
||||
return (m_cassette)->input() < 0;
|
||||
return m_cassette->input() < 0;
|
||||
}
|
||||
|
||||
READ_LINE_MEMBER( tmc1800_state::ef3_r )
|
||||
{
|
||||
static const char *const keynames[] = { "IN0", "IN1", "IN2", "IN3", "IN4", "IN5", "IN6", "IN7" };
|
||||
UINT8 data = ~ioport(keynames[m_keylatch / 8])->read();
|
||||
|
||||
return BIT(data, m_keylatch % 8);
|
||||
return CLEAR_LINE; // TODO
|
||||
}
|
||||
|
||||
WRITE_LINE_MEMBER( tmc1800_state::q_w )
|
||||
@ -514,20 +511,17 @@ static COSMAC_INTERFACE( tmc1800_config )
|
||||
|
||||
READ_LINE_MEMBER( osc1000b_state::clear_r )
|
||||
{
|
||||
return BIT(ioport("RUN")->read(), 0);
|
||||
return BIT(m_run->read(), 0);
|
||||
}
|
||||
|
||||
READ_LINE_MEMBER( osc1000b_state::ef2_r )
|
||||
{
|
||||
return (m_cassette)->input() < 0;
|
||||
return m_cassette->input() < 0;
|
||||
}
|
||||
|
||||
READ_LINE_MEMBER( osc1000b_state::ef3_r )
|
||||
{
|
||||
static const char *const keynames[] = { "IN0", "IN1", "IN2", "IN3", "IN4", "IN5", "IN6", "IN7" };
|
||||
UINT8 data = ~ioport(keynames[m_keylatch / 8])->read();
|
||||
|
||||
return BIT(data, m_keylatch % 8);
|
||||
return CLEAR_LINE; // TODO
|
||||
}
|
||||
|
||||
WRITE_LINE_MEMBER( osc1000b_state::q_w )
|
||||
@ -555,7 +549,7 @@ static COSMAC_INTERFACE( osc1000b_config )
|
||||
|
||||
READ_LINE_MEMBER( tmc2000_state::clear_r )
|
||||
{
|
||||
return BIT(ioport("RUN")->read(), 0);
|
||||
return BIT(m_run->read(), 0);
|
||||
}
|
||||
|
||||
READ_LINE_MEMBER( tmc2000_state::ef2_r )
|
||||
@ -565,8 +559,8 @@ READ_LINE_MEMBER( tmc2000_state::ef2_r )
|
||||
|
||||
READ_LINE_MEMBER( tmc2000_state::ef3_r )
|
||||
{
|
||||
static const char *const keynames[] = { "IN0", "IN1", "IN2", "IN3", "IN4", "IN5", "IN6", "IN7" };
|
||||
UINT8 data = ~ioport(keynames[m_keylatch / 8])->read();
|
||||
ioport_port *ports[] = { m_in0, m_in1, m_in2, m_in3, m_in4, m_in5, m_in6, m_in7 };
|
||||
UINT8 data = ~ports[m_keylatch / 8]->read();
|
||||
|
||||
return BIT(data, m_keylatch % 8);
|
||||
}
|
||||
@ -611,23 +605,25 @@ static COSMAC_INTERFACE( tmc2000_config )
|
||||
|
||||
READ_LINE_MEMBER( nano_state::clear_r )
|
||||
{
|
||||
int run = BIT(ioport("RUN")->read(), 0);
|
||||
int monitor = BIT(ioport("MONITOR")->read(), 0);
|
||||
int run = BIT(m_run->read(), 0);
|
||||
int monitor = BIT(m_monitor->read(), 0);
|
||||
|
||||
return run & monitor;
|
||||
return run && monitor;
|
||||
}
|
||||
|
||||
READ_LINE_MEMBER( nano_state::ef2_r )
|
||||
{
|
||||
return (m_cassette)->input() < 0;
|
||||
return m_cassette->input() < 0;
|
||||
}
|
||||
|
||||
READ_LINE_MEMBER( nano_state::ef3_r )
|
||||
{
|
||||
static const char *const keynames[] = { "IN0", "IN1", "IN2", "IN3", "IN4", "IN5", "IN6", "IN7" };
|
||||
UINT8 data = ~ioport(keynames[m_keylatch / 8])->read();
|
||||
UINT8 data = 0xff;
|
||||
|
||||
return BIT(data, m_keylatch % 8);
|
||||
if (!BIT(m_keylatch, 3)) data &= m_ny0->read();
|
||||
if (!BIT(m_keylatch, 4)) data &= m_ny1->read();
|
||||
|
||||
return !BIT(data, m_keylatch & 0x07);
|
||||
}
|
||||
|
||||
WRITE_LINE_MEMBER( nano_state::q_w )
|
||||
@ -692,7 +688,7 @@ void tmc2000_state::machine_start()
|
||||
{
|
||||
UINT16 addr;
|
||||
|
||||
m_colorram = auto_alloc_array(machine(), UINT8, TMC2000_COLORRAM_SIZE);
|
||||
m_colorram.allocate(TMC2000_COLORRAM_SIZE);
|
||||
|
||||
// randomize color RAM contents
|
||||
for (addr = 0; addr < TMC2000_COLORRAM_SIZE; addr++)
|
||||
@ -701,7 +697,6 @@ void tmc2000_state::machine_start()
|
||||
}
|
||||
|
||||
// state saving
|
||||
save_pointer(NAME(m_colorram), TMC2000_COLORRAM_SIZE);
|
||||
save_item(NAME(m_keylatch));
|
||||
save_item(NAME(m_rac));
|
||||
save_item(NAME(m_roc));
|
||||
@ -746,7 +741,7 @@ void nano_state::machine_reset()
|
||||
|
||||
/* enable ROM */
|
||||
address_space &program = m_maincpu->space(AS_PROGRAM);
|
||||
UINT8 *rom = memregion(CDP1802_TAG)->base();
|
||||
UINT8 *rom = m_rom->base();
|
||||
program.install_rom(0x0000, 0x01ff, 0, 0x7e00, rom);
|
||||
}
|
||||
|
||||
@ -763,10 +758,11 @@ static const cassette_interface tmc1800_cassette_interface =
|
||||
|
||||
static QUICKLOAD_LOAD( tmc1800 )
|
||||
{
|
||||
UINT8 *ptr = image.device().machine().root_device().memregion(CDP1802_TAG)->base();
|
||||
tmc1800_state *state = image.device().machine().driver_data<tmc1800_state>();
|
||||
UINT8 *ptr = state->m_rom->base();
|
||||
int size = image.length();
|
||||
|
||||
if (size > image.device().machine().device<ram_device>(RAM_TAG)->size())
|
||||
if (size > state->m_ram->size())
|
||||
{
|
||||
return IMAGE_INIT_FAIL;
|
||||
}
|
||||
|
@ -1018,7 +1018,7 @@ void v1050_state::machine_start()
|
||||
|
||||
membank("bank1")->configure_entries(0, 2, ram, 0x10000);
|
||||
membank("bank1")->configure_entry(2, ram + 0x1c000);
|
||||
membank("bank1")->configure_entry(3, memregion(Z80_TAG)->base());
|
||||
membank("bank1")->configure_entry(3, m_rom->base());
|
||||
|
||||
program.install_readwrite_bank(0x2000, 0x3fff, "bank2");
|
||||
membank("bank2")->configure_entries(0, 2, ram + 0x2000, 0x10000);
|
||||
|
@ -75,7 +75,7 @@ ADDRESS_MAP_END
|
||||
/* Input Ports */
|
||||
|
||||
static INPUT_PORTS_START( vcs80 )
|
||||
PORT_START("ROW0")
|
||||
PORT_START("Y0")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_0) PORT_CHAR('0')
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_1) PORT_CHAR('1')
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_2) PORT_CHAR('2')
|
||||
@ -85,7 +85,7 @@ static INPUT_PORTS_START( vcs80 )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_6) PORT_CHAR('6')
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_7) PORT_CHAR('7')
|
||||
|
||||
PORT_START("ROW1")
|
||||
PORT_START("Y1")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_8) PORT_CHAR('8')
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_9) PORT_CHAR('9')
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_A) PORT_CHAR('A')
|
||||
@ -95,7 +95,7 @@ static INPUT_PORTS_START( vcs80 )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_E) PORT_CHAR('E')
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_F) PORT_CHAR('F')
|
||||
|
||||
PORT_START("ROW2")
|
||||
PORT_START("Y2")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("A+") PORT_CODE(KEYCODE_UP) PORT_CHAR('^')
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("A-") PORT_CODE(KEYCODE_DOWN) PORT_CHAR('V')
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("MA") PORT_CODE(KEYCODE_M) PORT_CHAR('-')
|
||||
@ -144,9 +144,9 @@ READ8_MEMBER( vcs80_state::pio_pa_r )
|
||||
data |= m_keylatch;
|
||||
|
||||
/* keyboard rows */
|
||||
data |= BIT(ioport("ROW0")->read(), m_keylatch) << 4;
|
||||
data |= BIT(ioport("ROW1")->read(), m_keylatch) << 5;
|
||||
data |= BIT(ioport("ROW2")->read(), m_keylatch) << 6;
|
||||
data |= BIT(m_y0->read(), m_keylatch) << 4;
|
||||
data |= BIT(m_y1->read(), m_keylatch) << 5;
|
||||
data |= BIT(m_y2->read(), m_keylatch) << 6;
|
||||
|
||||
/* demultiplexer clock */
|
||||
data |= (m_keyclk << 7);
|
||||
|
@ -62,9 +62,6 @@ block of RAM instead of 8.
|
||||
* K-Star Patrol (Europe).60
|
||||
* Seafox (Japan, USA).60
|
||||
- mos6560_port_r/w should respond at 0x1000-0x100f
|
||||
- SHIFT LOCK
|
||||
- restore key
|
||||
- light pen
|
||||
- VIC21 (built in 21K ram)
|
||||
|
||||
*/
|
||||
|
@ -97,17 +97,17 @@ READ8_MEMBER( vidbrain_state::keyboard_r )
|
||||
|
||||
*/
|
||||
|
||||
UINT8 data = ioport("JOY-R")->read();
|
||||
UINT8 data = m_joy_r->read();
|
||||
|
||||
if (BIT(m_keylatch, 0)) data |= ioport("IO00")->read();
|
||||
if (BIT(m_keylatch, 1)) data |= ioport("IO01")->read();
|
||||
if (BIT(m_keylatch, 2)) data |= ioport("IO02")->read();
|
||||
if (BIT(m_keylatch, 3)) data |= ioport("IO03")->read();
|
||||
if (BIT(m_keylatch, 4)) data |= ioport("IO04")->read();
|
||||
if (BIT(m_keylatch, 5)) data |= ioport("IO05")->read();
|
||||
if (BIT(m_keylatch, 6)) data |= ioport("IO06")->read();
|
||||
if (BIT(m_keylatch, 7)) data |= ioport("IO07")->read();
|
||||
if (!m_uv->kbd_r()) data |= ioport("UV201-31")->read();
|
||||
if (BIT(m_keylatch, 0)) data |= m_io00->read();
|
||||
if (BIT(m_keylatch, 1)) data |= m_io01->read();
|
||||
if (BIT(m_keylatch, 2)) data |= m_io02->read();
|
||||
if (BIT(m_keylatch, 3)) data |= m_io03->read();
|
||||
if (BIT(m_keylatch, 4)) data |= m_io04->read();
|
||||
if (BIT(m_keylatch, 5)) data |= m_io05->read();
|
||||
if (BIT(m_keylatch, 6)) data |= m_io06->read();
|
||||
if (BIT(m_keylatch, 7)) data |= m_io07->read();
|
||||
if (!m_uv->kbd_r()) data |= m_uv201_31->read();
|
||||
|
||||
return data;
|
||||
}
|
||||
@ -430,14 +430,14 @@ WRITE_LINE_MEMBER( vidbrain_state::hblank_w )
|
||||
{
|
||||
UINT8 joydata = 0;
|
||||
|
||||
if (!BIT(m_keylatch, 0)) joydata = ioport("JOY1-X")->read();
|
||||
if (!BIT(m_keylatch, 1)) joydata = ioport("JOY1-Y")->read();
|
||||
if (!BIT(m_keylatch, 2)) joydata = ioport("JOY2-X")->read();
|
||||
if (!BIT(m_keylatch, 3)) joydata = ioport("JOY2-Y")->read();
|
||||
if (!BIT(m_keylatch, 4)) joydata = ioport("JOY3-X")->read();
|
||||
if (!BIT(m_keylatch, 5)) joydata = ioport("JOY3-Y")->read();
|
||||
if (!BIT(m_keylatch, 6)) joydata = ioport("JOY4-X")->read();
|
||||
if (!BIT(m_keylatch, 7)) joydata = ioport("JOY4-Y")->read();
|
||||
if (!BIT(m_keylatch, 0)) joydata = m_joy1_x->read();
|
||||
if (!BIT(m_keylatch, 1)) joydata = m_joy1_y->read();
|
||||
if (!BIT(m_keylatch, 2)) joydata = m_joy2_x->read();
|
||||
if (!BIT(m_keylatch, 3)) joydata = m_joy2_y->read();
|
||||
if (!BIT(m_keylatch, 4)) joydata = m_joy3_x->read();
|
||||
if (!BIT(m_keylatch, 5)) joydata = m_joy3_y->read();
|
||||
if (!BIT(m_keylatch, 6)) joydata = m_joy4_x->read();
|
||||
if (!BIT(m_keylatch, 7)) joydata = m_joy4_y->read();
|
||||
|
||||
// NE555 in monostable mode
|
||||
// R = 3K9 + 100K linear pot
|
||||
|
@ -244,9 +244,9 @@ enum
|
||||
|
||||
void vip_state::update_interrupts()
|
||||
{
|
||||
int irq = m_vdc_int | m_exp_int;
|
||||
int irq = m_vdc_int || m_exp_int;
|
||||
int dma_in = m_exp_dma_in;
|
||||
int dma_out = m_vdc_dma_out | m_exp_dma_out;
|
||||
int dma_out = m_vdc_dma_out || m_exp_dma_out;
|
||||
|
||||
m_maincpu->set_input_line(COSMAC_INPUT_LINE_INT, irq);
|
||||
m_maincpu->set_input_line(COSMAC_INPUT_LINE_DMAIN, dma_in);
|
||||
@ -268,7 +268,7 @@ READ8_MEMBER( vip_state::read )
|
||||
|
||||
if (cs)
|
||||
{
|
||||
data = memregion(CDP1802_TAG)->base()[offset & 0x1ff];
|
||||
data = m_rom->base()[offset & 0x1ff];
|
||||
}
|
||||
else if (!minh)
|
||||
{
|
||||
@ -452,14 +452,14 @@ READ_LINE_MEMBER( vip_state::clear_r )
|
||||
|
||||
READ_LINE_MEMBER( vip_state::ef1_r )
|
||||
{
|
||||
return m_vdc_ef1 | m_exp->ef1_r();
|
||||
return m_vdc_ef1 || m_exp->ef1_r();
|
||||
}
|
||||
|
||||
READ_LINE_MEMBER( vip_state::ef2_r )
|
||||
{
|
||||
set_led_status(machine(), LED_TAPE, ((m_cassette)->input() > 0));
|
||||
set_led_status(machine(), LED_TAPE, m_cassette->input() > 0);
|
||||
|
||||
return ((m_cassette)->input() < 0) ? ASSERT_LINE : CLEAR_LINE;
|
||||
return (m_cassette->input() < 0) ? ASSERT_LINE : CLEAR_LINE;
|
||||
}
|
||||
|
||||
READ_LINE_MEMBER( vip_state::ef3_r )
|
||||
@ -469,7 +469,7 @@ READ_LINE_MEMBER( vip_state::ef3_r )
|
||||
|
||||
READ_LINE_MEMBER( vip_state::ef4_r )
|
||||
{
|
||||
return m_byteio_ef4 | m_exp_ef4;
|
||||
return m_byteio_ef4 || m_exp_ef4;
|
||||
}
|
||||
|
||||
static COSMAC_SC_WRITE( vip_sc_w )
|
||||
@ -704,7 +704,7 @@ void vip_state::machine_reset()
|
||||
m_8000 = 1;
|
||||
|
||||
// internal speaker
|
||||
m_beeper->set_output_gain(0, ioport("BEEPER")->read() ? 0.80 : 0);
|
||||
m_beeper->set_output_gain(0, m_io_beeper->read() ? 0.80 : 0);
|
||||
|
||||
// clear byte I/O latch
|
||||
m_byteio_data = 0;
|
||||
@ -726,17 +726,17 @@ static QUICKLOAD_LOAD( vip )
|
||||
if (strcmp(image.filetype(), "c8") == 0)
|
||||
{
|
||||
/* CHIP-8 program */
|
||||
chip8_ptr = image.device().machine().root_device().memregion("chip8")->base();
|
||||
chip8_size = image.device().machine().root_device().memregion("chip8")->bytes();
|
||||
chip8_ptr = state->m_chip8->base();
|
||||
chip8_size = state->m_chip8->bytes();
|
||||
}
|
||||
else if (strcmp(image.filename(), "c8x") == 0)
|
||||
{
|
||||
/* CHIP-8X program */
|
||||
chip8_ptr = image.device().machine().root_device().memregion("chip8x")->base();
|
||||
chip8_size = image.device().machine().root_device().memregion("chip8x")->bytes();
|
||||
chip8_ptr = state->m_chip8x->base();
|
||||
chip8_size = state->m_chip8x->bytes();
|
||||
}
|
||||
|
||||
if ((size + chip8_size) > image.device().machine().device<ram_device>(RAM_TAG)->size())
|
||||
if ((size + chip8_size) > state->m_ram->size())
|
||||
{
|
||||
return IMAGE_INIT_FAIL;
|
||||
}
|
||||
|
@ -291,7 +291,7 @@ ADDRESS_MAP_END
|
||||
//-------------------------------------------------
|
||||
|
||||
INPUT_PORTS_START( vixen )
|
||||
PORT_START("ROW0")
|
||||
PORT_START("Y0")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD )
|
||||
@ -301,7 +301,7 @@ INPUT_PORTS_START( vixen )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYBOARD )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYBOARD )
|
||||
|
||||
PORT_START("ROW1")
|
||||
PORT_START("Y1")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD )
|
||||
@ -311,7 +311,7 @@ INPUT_PORTS_START( vixen )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYBOARD )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYBOARD )
|
||||
|
||||
PORT_START("ROW2")
|
||||
PORT_START("Y2")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD )
|
||||
@ -321,7 +321,7 @@ INPUT_PORTS_START( vixen )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYBOARD )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYBOARD )
|
||||
|
||||
PORT_START("ROW3")
|
||||
PORT_START("Y3")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD )
|
||||
@ -331,7 +331,7 @@ INPUT_PORTS_START( vixen )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYBOARD )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYBOARD )
|
||||
|
||||
PORT_START("ROW4")
|
||||
PORT_START("Y4")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD )
|
||||
@ -341,7 +341,7 @@ INPUT_PORTS_START( vixen )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYBOARD )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYBOARD )
|
||||
|
||||
PORT_START("ROW5")
|
||||
PORT_START("Y5")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD )
|
||||
@ -351,7 +351,7 @@ INPUT_PORTS_START( vixen )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYBOARD )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYBOARD )
|
||||
|
||||
PORT_START("ROW6")
|
||||
PORT_START("Y6")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD )
|
||||
@ -361,7 +361,7 @@ INPUT_PORTS_START( vixen )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYBOARD )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYBOARD )
|
||||
|
||||
PORT_START("ROW7")
|
||||
PORT_START("Y7")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD )
|
||||
@ -398,15 +398,10 @@ TIMER_DEVICE_CALLBACK_MEMBER(vixen_state::vsync_tick)
|
||||
|
||||
void vixen_state::video_start()
|
||||
{
|
||||
// find memory regions
|
||||
m_sync_rom = memregion("video")->base();
|
||||
m_char_rom = memregion("chargen")->base();
|
||||
|
||||
// register for state saving
|
||||
save_item(NAME(m_alt));
|
||||
save_item(NAME(m_256));
|
||||
save_item(NAME(m_vsync));
|
||||
save_pointer(NAME(m_video_ram.target()), 0x1000);
|
||||
}
|
||||
|
||||
|
||||
@ -423,7 +418,7 @@ UINT32 vixen_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap, c
|
||||
for (int chadr = 0; chadr < 128; chadr++)
|
||||
{
|
||||
UINT16 sync_addr = (txadr << 7) | chadr;
|
||||
UINT8 sync_data = m_sync_rom[sync_addr];
|
||||
UINT8 sync_data = m_sync_rom->base()[sync_addr];
|
||||
int blank = BIT(sync_data, 4);
|
||||
/*
|
||||
int clrchadr = BIT(sync_data, 7);
|
||||
@ -453,7 +448,7 @@ UINT32 vixen_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap, c
|
||||
reverse = BIT(video_data, 7);
|
||||
}
|
||||
|
||||
UINT8 char_data = m_char_rom[char_addr];
|
||||
UINT8 char_data = m_char_rom->base()[char_addr];
|
||||
|
||||
for (int x = 0; x < 8; x++)
|
||||
{
|
||||
@ -498,14 +493,14 @@ READ8_MEMBER( vixen_state::i8155_pa_r )
|
||||
{
|
||||
UINT8 data = 0xff;
|
||||
|
||||
if (!BIT(m_col, 0)) data &= ioport("ROW0")->read();
|
||||
if (!BIT(m_col, 1)) data &= ioport("ROW1")->read();
|
||||
if (!BIT(m_col, 2)) data &= ioport("ROW2")->read();
|
||||
if (!BIT(m_col, 3)) data &= ioport("ROW3")->read();
|
||||
if (!BIT(m_col, 4)) data &= ioport("ROW4")->read();
|
||||
if (!BIT(m_col, 5)) data &= ioport("ROW5")->read();
|
||||
if (!BIT(m_col, 6)) data &= ioport("ROW6")->read();
|
||||
if (!BIT(m_col, 7)) data &= ioport("ROW7")->read();
|
||||
if (!BIT(m_col, 0)) data &= m_y0->read();
|
||||
if (!BIT(m_col, 1)) data &= m_y1->read();
|
||||
if (!BIT(m_col, 2)) data &= m_y2->read();
|
||||
if (!BIT(m_col, 3)) data &= m_y3->read();
|
||||
if (!BIT(m_col, 4)) data &= m_y4->read();
|
||||
if (!BIT(m_col, 5)) data &= m_y5->read();
|
||||
if (!BIT(m_col, 6)) data &= m_y6->read();
|
||||
if (!BIT(m_col, 7)) data &= m_y7->read();
|
||||
|
||||
return data;
|
||||
}
|
||||
@ -755,13 +750,13 @@ void vixen_state::machine_start()
|
||||
UINT8 *ram = m_ram->pointer();
|
||||
|
||||
membank("bank1")->configure_entry(0, ram);
|
||||
membank("bank1")->configure_entry(1, memregion(Z8400A_TAG)->base());
|
||||
membank("bank1")->configure_entry(1, m_rom->base());
|
||||
|
||||
membank("bank2")->configure_entry(0, ram);
|
||||
membank("bank2")->configure_entry(1, m_video_ram);
|
||||
|
||||
membank("bank3")->configure_entry(0, m_video_ram);
|
||||
membank("bank3")->configure_entry(1, memregion(Z8400A_TAG)->base());
|
||||
membank("bank3")->configure_entry(1, m_rom->base());
|
||||
|
||||
membank("bank4")->configure_entry(0, m_video_ram);
|
||||
|
||||
@ -894,7 +889,7 @@ DIRECT_UPDATE_MEMBER(vixen_state::vixen_direct_update_handler)
|
||||
m_reset = 0;
|
||||
}
|
||||
|
||||
direct.explicit_configure(0xf000, 0xffff, 0xfff, machine().root_device().memregion(Z8400A_TAG)->base());
|
||||
direct.explicit_configure(0xf000, 0xffff, 0xfff, m_rom->base());
|
||||
|
||||
return ~0;
|
||||
}
|
||||
@ -904,8 +899,7 @@ DIRECT_UPDATE_MEMBER(vixen_state::vixen_direct_update_handler)
|
||||
|
||||
DRIVER_INIT_MEMBER(vixen_state,vixen)
|
||||
{
|
||||
address_space &program = machine().device<cpu_device>(Z8400A_TAG)->space(AS_PROGRAM);
|
||||
program.set_direct_update_handler(direct_update_delegate(FUNC(vixen_state::vixen_direct_update_handler), this));
|
||||
m_maincpu->space(AS_PROGRAM).set_direct_update_handler(direct_update_delegate(FUNC(vixen_state::vixen_direct_update_handler), this));
|
||||
}
|
||||
|
||||
|
||||
|
@ -851,7 +851,7 @@ READ8_MEMBER( wangpc_state::ppi_pc_r )
|
||||
|
||||
*/
|
||||
|
||||
return ioport("SW")->read() << 4;
|
||||
return m_sw->read() << 4;
|
||||
}
|
||||
|
||||
WRITE8_MEMBER( wangpc_state::ppi_pc_w )
|
||||
|
@ -45,7 +45,7 @@ void xerox820_state::bankswitch(int bank)
|
||||
if (bank)
|
||||
{
|
||||
/* ROM */
|
||||
program.install_rom(0x0000, 0x0fff, memregion("monitor")->base());
|
||||
program.install_rom(0x0000, 0x0fff, m_rom->base());
|
||||
program.unmap_readwrite(0x1000, 0x1fff);
|
||||
program.install_ram(0x3000, 0x3fff, m_video_ram);
|
||||
}
|
||||
@ -64,7 +64,7 @@ void xerox820ii_state::bankswitch(int bank)
|
||||
if (bank)
|
||||
{
|
||||
/* ROM */
|
||||
program.install_rom(0x0000, 0x17ff, memregion("monitor")->base());
|
||||
program.install_rom(0x0000, 0x17ff, m_rom->base());
|
||||
program.unmap_readwrite(0x1800, 0x2fff);
|
||||
program.install_ram(0x3000, 0x3fff, m_video_ram);
|
||||
program.unmap_readwrite(0x4000, 0xbfff);
|
||||
@ -522,13 +522,6 @@ static ASCII_KEYBOARD_INTERFACE( keyboard_intf )
|
||||
|
||||
/* Video */
|
||||
|
||||
void xerox820_state::video_start()
|
||||
{
|
||||
/* find memory regions */
|
||||
m_char_rom = memregion("chargen")->base();
|
||||
}
|
||||
|
||||
|
||||
UINT32 xerox820_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
|
||||
{
|
||||
UINT8 y,ra,chr,gfx;
|
||||
@ -555,7 +548,7 @@ UINT32 xerox820_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap
|
||||
chr |= 0x80;
|
||||
|
||||
/* get pattern of pixels for that character scanline */
|
||||
gfx = m_char_rom[(m_ncset2 << 10) | (chr<<3) | ra ];
|
||||
gfx = m_char_rom->base()[(m_ncset2 << 10) | (chr<<3) | ra ];
|
||||
}
|
||||
else
|
||||
gfx = 0xff;
|
||||
@ -787,7 +780,7 @@ MACHINE_CONFIG_END
|
||||
/* ROMs */
|
||||
|
||||
ROM_START( bigboard )
|
||||
ROM_REGION( 0x1000, "monitor", 0 )
|
||||
ROM_REGION( 0x1000, Z80_TAG, 0 )
|
||||
ROM_LOAD( "bigboard.u67", 0x0000, 0x0800, CRC(5a85a228) SHA1(d51a2cbd0aae80315bda9530275aabfe8305364e))
|
||||
|
||||
ROM_REGION( 0x800, "chargen", 0 )
|
||||
@ -797,7 +790,7 @@ ROM_END
|
||||
#define rom_mk82 rom_bigboard
|
||||
|
||||
ROM_START( x820 )
|
||||
ROM_REGION( 0x1000, "monitor", 0 )
|
||||
ROM_REGION( 0x1000, Z80_TAG, 0 )
|
||||
ROM_DEFAULT_BIOS( "v20" )
|
||||
ROM_SYSTEM_BIOS( 0, "v10", "Xerox Monitor v1.0" )
|
||||
ROMX_LOAD( "x820v10.u64", 0x0000, 0x0800, NO_DUMP, ROM_BIOS(1) )
|
||||
@ -820,7 +813,7 @@ ROM_START( x820 )
|
||||
ROM_END
|
||||
|
||||
ROM_START( x820ii )
|
||||
ROM_REGION( 0x1800, "monitor", 0 )
|
||||
ROM_REGION( 0x1800, Z80_TAG, 0 )
|
||||
ROM_DEFAULT_BIOS( "v404" )
|
||||
ROM_SYSTEM_BIOS( 0, "v404", "Balcones Operating System v4.04" )
|
||||
ROMX_LOAD( "537p3652.u33", 0x0000, 0x0800, CRC(7807cfbb) SHA1(bd3cc5cc5c59c84a50747aae5c17eb4617b0dbc3), ROM_BIOS(1) )
|
||||
@ -836,7 +829,7 @@ ROM_START( x820ii )
|
||||
ROM_END
|
||||
|
||||
ROM_START( x168 )
|
||||
ROM_REGION( 0x1800, "monitor", 0 )
|
||||
ROM_REGION( 0x1800, Z80_TAG, 0 )
|
||||
ROM_DEFAULT_BIOS( "v404" )
|
||||
ROM_SYSTEM_BIOS( 0, "v404", "Balcones Operating System v4.04" )
|
||||
ROMX_LOAD( "537p3652.u33", 0x0000, 0x0800, CRC(7807cfbb) SHA1(bd3cc5cc5c59c84a50747aae5c17eb4617b0dbc3), ROM_BIOS(1) )
|
||||
@ -855,7 +848,7 @@ ROM_START( x168 )
|
||||
ROM_END
|
||||
|
||||
ROM_START( mk83 )
|
||||
ROM_REGION( 0x1000, "monitor", 0 )
|
||||
ROM_REGION( 0x1000, Z80_TAG, 0 )
|
||||
ROM_LOAD( "2732mk83.bin", 0x0000, 0x1000, CRC(a845c7e1) SHA1(3ccf629c5cd384953794ac4a1d2b45678bd40e92))
|
||||
ROM_REGION( 0x800, "chargen", 0 )
|
||||
ROM_LOAD( "2716mk83.bin", 0x0000, 0x0800, CRC(10bf0d81) SHA1(7ec73670a4d9d6421a5d6a4c4edc8b7c87923f6c))
|
||||
|
@ -553,7 +553,7 @@ void xor100_state::machine_start()
|
||||
{
|
||||
int banks = m_ram->size() / 0x10000;
|
||||
UINT8 *ram = m_ram->pointer();
|
||||
UINT8 *rom = memregion(Z80_TAG)->base();
|
||||
UINT8 *rom = m_rom->base();
|
||||
|
||||
/* setup memory banking */
|
||||
membank("bank1")->configure_entries(1, banks, ram, 0x10000);
|
||||
|
@ -81,6 +81,7 @@ public:
|
||||
m_rom(*this, Z80_TAG),
|
||||
m_video_ram(*this, "video_ram"),
|
||||
m_char_ram(*this, "char_ram"),
|
||||
m_io_sb(*this, "SB"),
|
||||
m_ctc_z0(0),
|
||||
m_sio_rxdb(1),
|
||||
m_sio_txcb(0),
|
||||
@ -100,6 +101,7 @@ public:
|
||||
required_memory_region m_rom;
|
||||
optional_shared_ptr<UINT8> m_video_ram;
|
||||
optional_shared_ptr<UINT8> m_char_ram;
|
||||
required_ioport m_io_sb;
|
||||
|
||||
enum
|
||||
{
|
||||
@ -215,12 +217,14 @@ public:
|
||||
: abc800_state(mconfig, type, tag),
|
||||
m_crtc(*this, MC6845_TAG),
|
||||
m_abc77(*this, ABC77_TAG),
|
||||
m_char_rom(*this, MC6845_TAG)
|
||||
m_char_rom(*this, MC6845_TAG),
|
||||
m_config(*this, "CONFIG")
|
||||
{ }
|
||||
|
||||
required_device<mc6845_device> m_crtc;
|
||||
optional_device<abc77_device> m_abc77;
|
||||
required_memory_region m_char_rom;
|
||||
required_ioport m_config;
|
||||
|
||||
DECLARE_DRIVER_INIT(driver_init);
|
||||
virtual void machine_start();
|
||||
|
@ -34,6 +34,9 @@ public:
|
||||
m_slot1(*this, ADAM_LEFT_EXPANSION_SLOT_TAG),
|
||||
m_slot2(*this, ADAM_CENTER_EXPANSION_SLOT_TAG),
|
||||
m_slot3(*this, ADAM_RIGHT_EXPANSION_SLOT_TAG),
|
||||
m_boot_rom(*this, "boot"),
|
||||
m_os7_rom(*this, "os7"),
|
||||
m_cart_rom(*this, "cart"),
|
||||
m_mioc(0),
|
||||
m_game(0),
|
||||
m_an(0),
|
||||
@ -50,6 +53,9 @@ public:
|
||||
required_device<adam_expansion_slot_device> m_slot1;
|
||||
required_device<adam_expansion_slot_device> m_slot2;
|
||||
required_device<adam_expansion_slot_device> m_slot3;
|
||||
required_memory_region m_boot_rom;
|
||||
required_memory_region m_os7_rom;
|
||||
required_memory_region m_cart_rom;
|
||||
|
||||
virtual void machine_start();
|
||||
virtual void machine_reset();
|
||||
@ -80,9 +86,6 @@ public:
|
||||
DECLARE_WRITE_LINE_MEMBER( os3_w );
|
||||
|
||||
// memory state
|
||||
const UINT8 *m_boot_rom;
|
||||
const UINT8 *m_os7_rom;
|
||||
const UINT8 *m_cart_rom;
|
||||
UINT8 m_mioc;
|
||||
int m_game;
|
||||
|
||||
|
@ -24,6 +24,8 @@ public:
|
||||
m_cassette(*this, CASSETTE_TAG),
|
||||
m_speaker(*this, SPEAKER_TAG),
|
||||
m_screen(*this, "screen"),
|
||||
m_ram(*this, RAM_TAG),
|
||||
m_rom(*this, "maincpu"),
|
||||
m_videoram(*this, "videoram"),
|
||||
m_colorram(*this, "colorram"),
|
||||
m_y0(*this, "Y0"),
|
||||
@ -40,6 +42,8 @@ public:
|
||||
required_device<cassette_image_device> m_cassette;
|
||||
required_device<speaker_sound_device> m_speaker;
|
||||
required_device<screen_device> m_screen;
|
||||
required_device<ram_device> m_ram;
|
||||
required_memory_region m_rom;
|
||||
required_shared_ptr<UINT8> m_videoram;
|
||||
required_shared_ptr<UINT8> m_colorram;
|
||||
required_ioport m_y0;
|
||||
|
@ -77,6 +77,26 @@ public:
|
||||
m_mfp(*this, MC68901_TAG),
|
||||
m_centronics(*this, CENTRONICS_TAG),
|
||||
m_ram(*this, RAM_TAG),
|
||||
m_p31(*this, "P31"),
|
||||
m_p32(*this, "P32"),
|
||||
m_p33(*this, "P33"),
|
||||
m_p34(*this, "P34"),
|
||||
m_p35(*this, "P35"),
|
||||
m_p36(*this, "P36"),
|
||||
m_p37(*this, "P37"),
|
||||
m_p40(*this, "P40"),
|
||||
m_p41(*this, "P41"),
|
||||
m_p42(*this, "P42"),
|
||||
m_p43(*this, "P43"),
|
||||
m_p44(*this, "P44"),
|
||||
m_p45(*this, "P45"),
|
||||
m_p46(*this, "P46"),
|
||||
m_p47(*this, "P47"),
|
||||
m_joy0(*this, "IKBD_JOY0"),
|
||||
m_joy1(*this, "IKBD_JOY1"),
|
||||
m_mousex(*this, "IKBD_MOUSEX"),
|
||||
m_mousey(*this, "IKBD_MOUSEY"),
|
||||
m_config(*this, "config"),
|
||||
m_acia_ikbd_irq(1),
|
||||
m_acia_midi_irq(1),
|
||||
m_ikbd_mouse_x(0),
|
||||
@ -92,6 +112,26 @@ public:
|
||||
required_device<mc68901_device> m_mfp;
|
||||
required_device<centronics_device> m_centronics;
|
||||
required_device<ram_device> m_ram;
|
||||
required_ioport m_p31;
|
||||
required_ioport m_p32;
|
||||
required_ioport m_p33;
|
||||
required_ioport m_p34;
|
||||
required_ioport m_p35;
|
||||
required_ioport m_p36;
|
||||
required_ioport m_p37;
|
||||
required_ioport m_p40;
|
||||
required_ioport m_p41;
|
||||
required_ioport m_p42;
|
||||
required_ioport m_p43;
|
||||
required_ioport m_p44;
|
||||
required_ioport m_p45;
|
||||
required_ioport m_p46;
|
||||
required_ioport m_p47;
|
||||
optional_ioport m_joy0;
|
||||
optional_ioport m_joy1;
|
||||
optional_ioport m_mousex;
|
||||
optional_ioport m_mousey;
|
||||
optional_ioport m_config;
|
||||
|
||||
void machine_start();
|
||||
|
||||
@ -382,9 +422,12 @@ class stbook_state : public ste_state
|
||||
{
|
||||
public:
|
||||
stbook_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||
: ste_state(mconfig, type, tag)
|
||||
: ste_state(mconfig, type, tag),
|
||||
m_sw400(*this, "SW400")
|
||||
{ }
|
||||
|
||||
required_ioport m_sw400;
|
||||
|
||||
void machine_start();
|
||||
void video_start();
|
||||
|
||||
|
@ -48,6 +48,7 @@ public:
|
||||
m_cassette(*this, CASSETTE_TAG),
|
||||
m_centronics(*this, CENTRONICS_TAG),
|
||||
m_speaker(*this, SPEAKER_TAG),
|
||||
m_extrom(*this, EXTROM_TAG),
|
||||
m_y0(*this, "Y0"),
|
||||
m_y1(*this, "Y1"),
|
||||
m_y2(*this, "Y2"),
|
||||
@ -68,6 +69,7 @@ public:
|
||||
required_device<cassette_image_device> m_cassette;
|
||||
required_device<centronics_device> m_centronics;
|
||||
required_device<speaker_sound_device> m_speaker;
|
||||
required_memory_region m_extrom;
|
||||
required_ioport m_y0;
|
||||
required_ioport m_y1;
|
||||
required_ioport m_y2;
|
||||
|
@ -24,6 +24,7 @@ public:
|
||||
: driver_device(mconfig, type, tag),
|
||||
m_maincpu(*this, M6502_TAG),
|
||||
m_speaker(*this, SPEAKER_TAG),
|
||||
m_eprom(*this, EPROM_TAG),
|
||||
m_q6(*this, "Q6"),
|
||||
m_q7(*this, "Q7"),
|
||||
m_q8(*this, "Q8"),
|
||||
@ -32,6 +33,7 @@ public:
|
||||
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_device<speaker_sound_device> m_speaker;
|
||||
required_memory_region m_eprom;
|
||||
required_ioport m_q6;
|
||||
required_ioport m_q7;
|
||||
required_ioport m_q8;
|
||||
@ -46,7 +48,6 @@ public:
|
||||
DECLARE_INPUT_CHANGED_MEMBER( trigger_reset );
|
||||
|
||||
/* EPROM state */
|
||||
UINT8 *m_eprom;
|
||||
int m_eprom_oe;
|
||||
int m_eprom_ce;
|
||||
UINT16 m_eprom_addr;
|
||||
|
@ -47,8 +47,10 @@ public:
|
||||
m_floppy0(*this, UPD765_TAG ":1:525dd"),
|
||||
m_floppy1(*this, UPD765_TAG ":2:525dd"),
|
||||
m_floppy_timer(*this, FLOPPY_TIMER_TAG),
|
||||
m_modifiers(*this, "MODIFIERS"),
|
||||
m_video_ram(*this, "video_ram")
|
||||
m_rom(*this, Z80_TAG),
|
||||
m_char_rom(*this, "chargen"),
|
||||
m_video_ram(*this, "video_ram"),
|
||||
m_modifiers(*this, "MODIFIERS")
|
||||
{ }
|
||||
|
||||
required_device<cpu_device> m_maincpu;
|
||||
@ -62,13 +64,14 @@ public:
|
||||
required_device<floppy_image_device> m_floppy0;
|
||||
required_device<floppy_image_device> m_floppy1;
|
||||
required_device<timer_device> m_floppy_timer;
|
||||
required_memory_region m_rom;
|
||||
required_memory_region m_char_rom;
|
||||
required_shared_ptr<UINT8> m_video_ram;
|
||||
required_ioport m_modifiers;
|
||||
|
||||
virtual void machine_start();
|
||||
virtual void machine_reset();
|
||||
|
||||
virtual void video_start();
|
||||
|
||||
void bankswitch();
|
||||
void floppy_motor_off();
|
||||
void set_floppy_motor_off_timer();
|
||||
@ -87,10 +90,6 @@ public:
|
||||
/* memory state */
|
||||
int m_bank;
|
||||
|
||||
/* video state */
|
||||
required_shared_ptr<UINT8> m_video_ram;
|
||||
UINT8 *m_char_rom;
|
||||
|
||||
/* PIT state */
|
||||
int m_pit_out2;
|
||||
|
||||
|
@ -48,6 +48,8 @@ public:
|
||||
m_user(*this, C64_USER_PORT_TAG),
|
||||
m_ram(*this, RAM_TAG),
|
||||
m_cassette(*this, PET_DATASSETTE_PORT_TAG),
|
||||
m_basic(*this, "basic"),
|
||||
m_kernal(*this, "kernal"),
|
||||
m_charom(*this, "charom"),
|
||||
m_color_ram(*this, "color_ram"),
|
||||
m_row0(*this, "ROW0"),
|
||||
@ -87,6 +89,8 @@ public:
|
||||
required_device<c64_user_port_device> m_user;
|
||||
required_device<ram_device> m_ram;
|
||||
optional_device<pet_datassette_port_device> m_cassette;
|
||||
optional_memory_region m_basic;
|
||||
required_memory_region m_kernal;
|
||||
required_memory_region m_charom;
|
||||
optional_shared_ptr<UINT8> m_color_ram;
|
||||
optional_ioport m_row0;
|
||||
@ -145,8 +149,6 @@ public:
|
||||
int m_loram;
|
||||
int m_hiram;
|
||||
int m_charen;
|
||||
UINT8 *m_basic;
|
||||
UINT8 *m_kernal;
|
||||
|
||||
// video state
|
||||
int m_va14;
|
||||
@ -182,8 +184,6 @@ public:
|
||||
c64c_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||
: c64_state(mconfig, type, tag)
|
||||
{ }
|
||||
|
||||
virtual void machine_start();
|
||||
};
|
||||
|
||||
|
||||
@ -194,8 +194,6 @@ public:
|
||||
: c64c_state(mconfig, type, tag)
|
||||
{ }
|
||||
|
||||
virtual void machine_start();
|
||||
|
||||
DECLARE_READ8_MEMBER( cpu_r );
|
||||
DECLARE_WRITE8_MEMBER( cpu_w );
|
||||
|
||||
|
@ -28,27 +28,43 @@ public:
|
||||
cgc7900_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||
: driver_device(mconfig, type, tag),
|
||||
m_maincpu(*this, M68000_TAG),
|
||||
m_chrom_ram(*this, "chrom_ram"),
|
||||
m_plane_ram(*this, "plane_ram"),
|
||||
m_clut_ram(*this, "clut_ram"),
|
||||
m_overlay_ram(*this, "overlay_ram"),
|
||||
m_roll_bitmap(*this, "roll_bitmap"),
|
||||
m_pan_x(*this, "pan_x"),
|
||||
m_pan_y(*this, "pan_y"),
|
||||
m_zoom(*this, "zoom"),
|
||||
m_blink_select(*this, "blink_select"),
|
||||
m_plane_select(*this, "plane_select"),
|
||||
m_plane_switch(*this, "plane_switch"),
|
||||
m_color_status_fg(*this, "color_status_fg"),
|
||||
m_color_status_bg(*this, "color_status_bg"),
|
||||
m_roll_overlay(*this, "roll_overlay"){ }
|
||||
m_char_rom(*this, "gfx1"),
|
||||
m_chrom_ram(*this, "chrom_ram"),
|
||||
m_plane_ram(*this, "plane_ram"),
|
||||
m_clut_ram(*this, "clut_ram"),
|
||||
m_overlay_ram(*this, "overlay_ram"),
|
||||
m_roll_bitmap(*this, "roll_bitmap"),
|
||||
m_pan_x(*this, "pan_x"),
|
||||
m_pan_y(*this, "pan_y"),
|
||||
m_zoom(*this, "zoom"),
|
||||
m_blink_select(*this, "blink_select"),
|
||||
m_plane_select(*this, "plane_select"),
|
||||
m_plane_switch(*this, "plane_switch"),
|
||||
m_color_status_fg(*this, "color_status_fg"),
|
||||
m_color_status_bg(*this, "color_status_bg"),
|
||||
m_roll_overlay(*this, "roll_overlay")
|
||||
{ }
|
||||
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_memory_region m_char_rom;
|
||||
required_shared_ptr<UINT16> m_chrom_ram;
|
||||
required_shared_ptr<UINT16> m_plane_ram;
|
||||
required_shared_ptr<UINT16> m_clut_ram;
|
||||
required_shared_ptr<UINT16> m_overlay_ram;
|
||||
required_shared_ptr<UINT16> m_roll_bitmap;
|
||||
required_shared_ptr<UINT16> m_pan_x;
|
||||
required_shared_ptr<UINT16> m_pan_y;
|
||||
required_shared_ptr<UINT16> m_zoom;
|
||||
required_shared_ptr<UINT16> m_blink_select;
|
||||
required_shared_ptr<UINT16> m_plane_select;
|
||||
required_shared_ptr<UINT16> m_plane_switch;
|
||||
required_shared_ptr<UINT16> m_color_status_fg;
|
||||
required_shared_ptr<UINT16> m_color_status_bg;
|
||||
required_shared_ptr<UINT16> m_roll_overlay;
|
||||
|
||||
virtual void machine_start();
|
||||
virtual void machine_reset();
|
||||
|
||||
virtual void video_start();
|
||||
UINT32 screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
|
||||
|
||||
DECLARE_READ16_MEMBER( keyboard_r );
|
||||
@ -72,23 +88,8 @@ public:
|
||||
|
||||
/* video state */
|
||||
rgb_t m_clut[256];
|
||||
required_shared_ptr<UINT16> m_chrom_ram;
|
||||
required_shared_ptr<UINT16> m_plane_ram;
|
||||
required_shared_ptr<UINT16> m_clut_ram;
|
||||
required_shared_ptr<UINT16> m_overlay_ram;
|
||||
UINT8 *m_char_rom;
|
||||
required_shared_ptr<UINT16> m_roll_bitmap;
|
||||
required_shared_ptr<UINT16> m_pan_x;
|
||||
required_shared_ptr<UINT16> m_pan_y;
|
||||
required_shared_ptr<UINT16> m_zoom;
|
||||
required_shared_ptr<UINT16> m_blink_select;
|
||||
required_shared_ptr<UINT16> m_plane_select;
|
||||
required_shared_ptr<UINT16> m_plane_switch;
|
||||
required_shared_ptr<UINT16> m_color_status_fg;
|
||||
required_shared_ptr<UINT16> m_color_status_bg;
|
||||
required_shared_ptr<UINT16> m_roll_overlay;
|
||||
int m_blink;
|
||||
UINT32 screen_update_cgc7900(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
|
||||
TIMER_DEVICE_CALLBACK_MEMBER(blink_tick);
|
||||
};
|
||||
|
||||
|
@ -48,8 +48,10 @@ public:
|
||||
m_cassette(*this, CASSETTE_TAG),
|
||||
m_ram(*this, RAM_TAG),
|
||||
m_exp(*this, EXPANSION_TAG),
|
||||
m_modifiers(*this, "MODIFIERS"),
|
||||
m_char_ram(*this, "char_ram")
|
||||
m_rom(*this, CDP1802_TAG),
|
||||
m_char_ram(*this, "char_ram"),
|
||||
m_d6(*this, "D6"),
|
||||
m_modifiers(*this, "MODIFIERS")
|
||||
{ }
|
||||
|
||||
required_device<cosmac_device> m_maincpu;
|
||||
@ -58,8 +60,10 @@ public:
|
||||
required_device<cassette_image_device> m_cassette;
|
||||
required_device<ram_device> m_ram;
|
||||
required_device<comx_expansion_slot_device> m_exp;
|
||||
required_ioport m_modifiers;
|
||||
required_memory_region m_rom;
|
||||
optional_shared_ptr<UINT8> m_char_ram;
|
||||
required_ioport m_d6;
|
||||
required_ioport m_modifiers;
|
||||
|
||||
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr);
|
||||
virtual void machine_start();
|
||||
@ -97,8 +101,6 @@ public:
|
||||
int m_int; // interrupt request
|
||||
int m_prd; // predisplay
|
||||
int m_cr1; // interrupt enable
|
||||
|
||||
const UINT8 *m_rom;
|
||||
};
|
||||
|
||||
// ---------- defined in video/comx35.c ----------
|
||||
|
@ -47,7 +47,15 @@ public:
|
||||
m_led(*this, DM9368_TAG),
|
||||
m_cassette(*this, CASSETTE_TAG),
|
||||
m_speaker(*this, SPEAKER_TAG),
|
||||
m_ram(*this, RAM_TAG)
|
||||
m_ram(*this, RAM_TAG),
|
||||
m_rom(*this, CDP1802_TAG),
|
||||
m_y1(*this, "Y1"),
|
||||
m_y2(*this, "Y2"),
|
||||
m_y3(*this, "Y3"),
|
||||
m_y4(*this, "Y4"),
|
||||
m_io_data(*this, "DATA"),
|
||||
m_special(*this, "SPECIAL"),
|
||||
m_buttons(*this, "BUTTONS")
|
||||
{ }
|
||||
|
||||
required_device<cosmac_device> m_maincpu;
|
||||
@ -56,6 +64,14 @@ public:
|
||||
required_device<cassette_image_device> m_cassette;
|
||||
required_device<speaker_sound_device> m_speaker;
|
||||
required_device<ram_device> m_ram;
|
||||
required_memory_region m_rom;
|
||||
required_ioport m_y1;
|
||||
required_ioport m_y2;
|
||||
required_ioport m_y3;
|
||||
required_ioport m_y4;
|
||||
required_ioport m_io_data;
|
||||
required_ioport m_special;
|
||||
required_ioport m_buttons;
|
||||
|
||||
virtual void machine_start();
|
||||
virtual void machine_reset();
|
||||
@ -97,7 +113,6 @@ public:
|
||||
void clear_input_data();
|
||||
void set_ram_mode();
|
||||
|
||||
|
||||
/* CPU state */
|
||||
int m_wait;
|
||||
int m_clear;
|
||||
@ -120,6 +135,7 @@ public:
|
||||
int m_dmaout;
|
||||
int m_efx;
|
||||
int m_video_on;
|
||||
|
||||
DECLARE_DRIVER_INIT(cosmicos);
|
||||
TIMER_DEVICE_CALLBACK_MEMBER(digit_tick);
|
||||
TIMER_DEVICE_CALLBACK_MEMBER(int_tick);
|
||||
|
@ -8,14 +8,12 @@
|
||||
#include "cpu/m6502/m6502.h"
|
||||
#include "imagedev/cartslot.h"
|
||||
#include "imagedev/cassette.h"
|
||||
#include "imagedev/flopdrv.h"
|
||||
#include "formats/basicdsk.h"
|
||||
#include "machine/ctronics.h"
|
||||
#include "machine/6821pia.h"
|
||||
#include "machine/ctronics.h"
|
||||
#include "machine/ram.h"
|
||||
#include "sound/sn76496.h"
|
||||
#include "sound/wave.h"
|
||||
#include "video/tms9928a.h"
|
||||
#include "machine/ram.h"
|
||||
|
||||
#define SCREEN_TAG "screen"
|
||||
#define M6502_TAG "u2"
|
||||
@ -79,7 +77,19 @@ class laser2001_state : public crvision_state
|
||||
{
|
||||
public:
|
||||
laser2001_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||
: crvision_state(mconfig, type, tag)
|
||||
: crvision_state(mconfig, type, tag),
|
||||
m_y0(*this, "Y0"),
|
||||
m_y1(*this, "Y1"),
|
||||
m_y2(*this, "Y2"),
|
||||
m_y3(*this, "Y3"),
|
||||
m_y4(*this, "Y4"),
|
||||
m_y5(*this, "Y5"),
|
||||
m_y6(*this, "Y6"),
|
||||
m_y7(*this, "Y7"),
|
||||
m_joy0(*this, "JOY0"),
|
||||
m_joy1(*this, "JOY1"),
|
||||
m_joy2(*this, "JOY2"),
|
||||
m_joy3(*this, "JOY3")
|
||||
{ }
|
||||
|
||||
virtual void machine_start();
|
||||
@ -92,6 +102,19 @@ public:
|
||||
DECLARE_WRITE_LINE_MEMBER( pia_ca2_w );
|
||||
DECLARE_READ_LINE_MEMBER( pia_cb1_r );
|
||||
DECLARE_WRITE_LINE_MEMBER( pia_cb2_w );
|
||||
|
||||
required_ioport m_y0;
|
||||
required_ioport m_y1;
|
||||
required_ioport m_y2;
|
||||
required_ioport m_y3;
|
||||
required_ioport m_y4;
|
||||
required_ioport m_y5;
|
||||
required_ioport m_y6;
|
||||
required_ioport m_y7;
|
||||
required_ioport m_joy0;
|
||||
required_ioport m_joy1;
|
||||
required_ioport m_joy2;
|
||||
required_ioport m_joy3;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
@ -32,7 +32,8 @@ public:
|
||||
m_led_l(*this, DM9368_L_TAG),
|
||||
m_led_h(*this, DM9368_H_TAG),
|
||||
m_cassette(*this, CASSETTE_TAG),
|
||||
m_ram(*this, RAM_TAG)
|
||||
m_ram(*this, RAM_TAG),
|
||||
m_special(*this, "SPECIAL")
|
||||
{ }
|
||||
|
||||
required_device<cpu_device> m_maincpu;
|
||||
@ -42,6 +43,7 @@ public:
|
||||
required_device<dm9368_device> m_led_h;
|
||||
required_device<cassette_image_device> m_cassette;
|
||||
required_device<ram_device> m_ram;
|
||||
required_ioport m_special;
|
||||
|
||||
virtual void machine_start();
|
||||
|
||||
|
@ -31,13 +31,23 @@ public:
|
||||
m_maincpu(*this, CDP1802_TAG),
|
||||
m_cti(*this, CDP1864_TAG),
|
||||
m_pia(*this, MC6821_TAG),
|
||||
m_cassette(*this, CASSETTE_TAG)
|
||||
m_cassette(*this, CASSETTE_TAG),
|
||||
m_pa0(*this, "PA0"),
|
||||
m_pa1(*this, "PA1"),
|
||||
m_pa2(*this, "PA2"),
|
||||
m_pa3(*this, "PA3"),
|
||||
m_special(*this, "SPECIAL")
|
||||
{ }
|
||||
|
||||
required_device<cosmac_device> m_maincpu;
|
||||
required_device<cdp1864_device> m_cti;
|
||||
required_device<pia6821_device> m_pia;
|
||||
required_device<cassette_image_device> m_cassette;
|
||||
required_ioport m_pa0;
|
||||
required_ioport m_pa1;
|
||||
required_ioport m_pa2;
|
||||
required_ioport m_pa3;
|
||||
required_ioport m_special;
|
||||
|
||||
UINT32 screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
|
||||
|
@ -14,13 +14,15 @@ public:
|
||||
m_maincpu(*this, I8085A_TAG),
|
||||
m_terminal(*this, TERMINAL_TAG),
|
||||
m_cassette(*this, CASSETTE_TAG),
|
||||
m_speaker(*this, SPEAKER_TAG)
|
||||
m_speaker(*this, SPEAKER_TAG),
|
||||
m_rom(*this, I8085A_TAG)
|
||||
{ }
|
||||
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_device<serial_terminal_device> m_terminal;
|
||||
required_device<cassette_image_device> m_cassette;
|
||||
required_device<speaker_sound_device> m_speaker;
|
||||
required_memory_region m_rom;
|
||||
|
||||
virtual void machine_start();
|
||||
|
||||
|
@ -23,17 +23,55 @@ public:
|
||||
amu880_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||
: driver_device(mconfig, type, tag),
|
||||
m_cassette(*this, CASSETTE_TAG),
|
||||
m_kb_rom(*this, "keyboard"),
|
||||
m_char_rom(*this, "chargen"),
|
||||
m_video_ram(*this, "video_ram"),
|
||||
m_y0(*this, "Y0"),
|
||||
m_y1(*this, "Y1"),
|
||||
m_y2(*this, "Y2"),
|
||||
m_y3(*this, "Y3"),
|
||||
m_y4(*this, "Y4"),
|
||||
m_y5(*this, "Y5"),
|
||||
m_y6(*this, "Y6"),
|
||||
m_y7(*this, "Y7"),
|
||||
m_y8(*this, "Y8"),
|
||||
m_y9(*this, "Y9"),
|
||||
m_y10(*this, "Y10"),
|
||||
m_y11(*this, "Y11"),
|
||||
m_y12(*this, "Y12"),
|
||||
m_y13(*this, "Y13"),
|
||||
m_y14(*this, "Y14"),
|
||||
m_y15(*this, "Y15"),
|
||||
m_special(*this, "SPECIAL"),
|
||||
m_key_d6(0),
|
||||
m_key_d7(0),
|
||||
m_key_a8(1),
|
||||
m_video_ram(*this, "video_ram")
|
||||
m_key_a8(1)
|
||||
{ }
|
||||
|
||||
required_device<cassette_image_device> m_cassette;
|
||||
required_memory_region m_kb_rom;
|
||||
required_memory_region m_char_rom;
|
||||
required_shared_ptr<UINT8> m_video_ram;
|
||||
required_ioport m_y0;
|
||||
required_ioport m_y1;
|
||||
required_ioport m_y2;
|
||||
required_ioport m_y3;
|
||||
required_ioport m_y4;
|
||||
required_ioport m_y5;
|
||||
required_ioport m_y6;
|
||||
required_ioport m_y7;
|
||||
required_ioport m_y8;
|
||||
required_ioport m_y9;
|
||||
required_ioport m_y10;
|
||||
required_ioport m_y11;
|
||||
required_ioport m_y12;
|
||||
required_ioport m_y13;
|
||||
required_ioport m_y14;
|
||||
required_ioport m_y15;
|
||||
required_ioport m_special;
|
||||
|
||||
virtual void machine_start();
|
||||
|
||||
virtual void video_start();
|
||||
UINT32 screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
|
||||
DECLARE_READ8_MEMBER( keyboard_r );
|
||||
@ -41,7 +79,6 @@ public:
|
||||
void scan_keyboard();
|
||||
|
||||
// keyboard state
|
||||
const UINT8 *m_kb_rom;
|
||||
int m_key_d6;
|
||||
int m_key_d7;
|
||||
int m_key_a4;
|
||||
@ -49,8 +86,6 @@ public:
|
||||
int m_key_a8;
|
||||
|
||||
// video state
|
||||
required_shared_ptr<UINT8> m_video_ram;
|
||||
const UINT8 *m_char_rom;
|
||||
TIMER_DEVICE_CALLBACK_MEMBER(keyboard_tick);
|
||||
DECLARE_WRITE_LINE_MEMBER(ctc_z0_w);
|
||||
DECLARE_WRITE_LINE_MEMBER(ctc_z2_w);
|
||||
|
@ -67,7 +67,19 @@ public:
|
||||
m_centronics(*this, CENTRONICS_TAG),
|
||||
m_speaker(*this, SPEAKER_TAG),
|
||||
m_cassette(*this, CASSETTE_TAG),
|
||||
m_ram(*this, RAM_TAG)
|
||||
m_ram(*this, RAM_TAG),
|
||||
m_rom(*this, I8085_TAG),
|
||||
m_option(*this, "option"),
|
||||
m_y0(*this, "Y0"),
|
||||
m_y1(*this, "Y1"),
|
||||
m_y2(*this, "Y2"),
|
||||
m_y3(*this, "Y3"),
|
||||
m_y4(*this, "Y4"),
|
||||
m_y5(*this, "Y5"),
|
||||
m_y6(*this, "Y6"),
|
||||
m_y7(*this, "Y7"),
|
||||
m_y8(*this, "Y8"),
|
||||
m_battery(*this, "BATTERY")
|
||||
{ }
|
||||
|
||||
required_device<cpu_device> m_maincpu;
|
||||
@ -87,6 +99,18 @@ public:
|
||||
required_device<speaker_sound_device> m_speaker;
|
||||
required_device<cassette_image_device> m_cassette;
|
||||
required_device<ram_device> m_ram;
|
||||
required_memory_region m_rom;
|
||||
required_memory_region m_option;
|
||||
required_ioport m_y0;
|
||||
required_ioport m_y1;
|
||||
required_ioport m_y2;
|
||||
required_ioport m_y3;
|
||||
required_ioport m_y4;
|
||||
required_ioport m_y5;
|
||||
required_ioport m_y6;
|
||||
required_ioport m_y7;
|
||||
required_ioport m_y8;
|
||||
required_ioport m_battery;
|
||||
|
||||
virtual void machine_start();
|
||||
|
||||
@ -166,7 +190,18 @@ public:
|
||||
m_centronics(*this, CENTRONICS_TAG),
|
||||
m_speaker(*this, SPEAKER_TAG),
|
||||
m_cassette(*this, CASSETTE_TAG),
|
||||
m_ram(*this, RAM_TAG)
|
||||
m_ram(*this, RAM_TAG),
|
||||
m_rom(*this, I8085_TAG),
|
||||
m_option(*this, "option"),
|
||||
m_y0(*this, "Y0"),
|
||||
m_y1(*this, "Y1"),
|
||||
m_y2(*this, "Y2"),
|
||||
m_y3(*this, "Y3"),
|
||||
m_y4(*this, "Y4"),
|
||||
m_y5(*this, "Y5"),
|
||||
m_y6(*this, "Y6"),
|
||||
m_y7(*this, "Y7"),
|
||||
m_y8(*this, "Y8")
|
||||
{ }
|
||||
|
||||
required_device<cpu_device> m_maincpu;
|
||||
@ -176,6 +211,17 @@ public:
|
||||
required_device<speaker_sound_device> m_speaker;
|
||||
required_device<cassette_image_device> m_cassette;
|
||||
required_device<ram_device> m_ram;
|
||||
required_memory_region m_rom;
|
||||
required_memory_region m_option;
|
||||
required_ioport m_y0;
|
||||
required_ioport m_y1;
|
||||
required_ioport m_y2;
|
||||
required_ioport m_y3;
|
||||
required_ioport m_y4;
|
||||
required_ioport m_y5;
|
||||
required_ioport m_y6;
|
||||
required_ioport m_y7;
|
||||
required_ioport m_y8;
|
||||
|
||||
virtual void machine_start();
|
||||
|
||||
|
@ -27,7 +27,12 @@ public:
|
||||
m_pio2(*this, Z80PIO2_TAG),
|
||||
m_cassette(*this, CASSETTE_TAG),
|
||||
m_speaker(*this, SPEAKER_TAG),
|
||||
m_ram(*this, RAM_TAG)
|
||||
m_ram(*this, RAM_TAG),
|
||||
m_rom(*this, Z80_TAG),
|
||||
m_y0(*this, "Y0"),
|
||||
m_y1(*this, "Y1"),
|
||||
m_y2(*this, "Y2"),
|
||||
m_y3(*this, "Y3")
|
||||
{ }
|
||||
|
||||
required_device<cpu_device> m_maincpu;
|
||||
@ -35,6 +40,11 @@ public:
|
||||
required_device<cassette_image_device> m_cassette;
|
||||
required_device<speaker_sound_device> m_speaker;
|
||||
required_device<ram_device> m_ram;
|
||||
required_memory_region m_rom;
|
||||
required_ioport m_y0;
|
||||
required_ioport m_y1;
|
||||
required_ioport m_y2;
|
||||
required_ioport m_y3;
|
||||
|
||||
virtual void machine_start();
|
||||
|
||||
|
@ -27,7 +27,8 @@ public:
|
||||
m_cassette(*this, CASSETTE_TAG),
|
||||
m_centronics(*this, CENTRONICS_TAG),
|
||||
m_ram(*this, RAM_TAG),
|
||||
m_floppy0(*this, UPD765_TAG ":0:525dd")
|
||||
m_floppy0(*this, UPD765_TAG ":0:525dd"),
|
||||
m_reset(*this, "RESET")
|
||||
{ }
|
||||
|
||||
required_device<cpu_device> m_maincpu;
|
||||
@ -39,6 +40,7 @@ public:
|
||||
required_device<centronics_device> m_centronics;
|
||||
required_device<ram_device> m_ram;
|
||||
required_device<floppy_image_device> m_floppy0;
|
||||
required_ioport m_reset;
|
||||
|
||||
virtual void machine_start();
|
||||
virtual void machine_reset();
|
||||
|
@ -33,8 +33,22 @@ public:
|
||||
m_centronics(*this, CENTRONICS_TAG),
|
||||
m_cassette(*this, CASSETTE_TAG),
|
||||
m_ram(*this, RAM_TAG),
|
||||
m_rom(*this, Z80_TAG),
|
||||
m_mc6845_video_ram(*this, "mc6845_vram"),
|
||||
m_mc6847_video_ram(*this, "mc6847_vram")
|
||||
m_mc6847_video_ram(*this, "mc6847_vram"),
|
||||
m_y0(*this, "Y0"),
|
||||
m_y1(*this, "Y1"),
|
||||
m_y2(*this, "Y2"),
|
||||
m_y3(*this, "Y3"),
|
||||
m_y4(*this, "Y4"),
|
||||
m_y5(*this, "Y5"),
|
||||
m_y6(*this, "Y6"),
|
||||
m_y7(*this, "Y7"),
|
||||
m_joya(*this, "JOYA"),
|
||||
m_joyb(*this, "JOYB"),
|
||||
m_modifiers(*this, "MODIFIERS"),
|
||||
m_joyakeymap(*this, "JOYAKEYMAP"),
|
||||
m_joybkeymap(*this, "JOYBKEYMAP")
|
||||
{ }
|
||||
|
||||
required_device<cpu_device> m_maincpu;
|
||||
@ -43,6 +57,22 @@ public:
|
||||
required_device<centronics_device> m_centronics;
|
||||
required_device<cassette_image_device> m_cassette;
|
||||
required_device<ram_device> m_ram;
|
||||
required_memory_region m_rom;
|
||||
required_shared_ptr<UINT8> m_mc6845_video_ram;
|
||||
required_shared_ptr<UINT8> m_mc6847_video_ram;
|
||||
required_ioport m_y0;
|
||||
required_ioport m_y1;
|
||||
required_ioport m_y2;
|
||||
required_ioport m_y3;
|
||||
required_ioport m_y4;
|
||||
required_ioport m_y5;
|
||||
required_ioport m_y6;
|
||||
required_ioport m_y7;
|
||||
required_ioport m_joya;
|
||||
required_ioport m_joyb;
|
||||
required_ioport m_modifiers;
|
||||
required_ioport m_joyakeymap;
|
||||
required_ioport m_joybkeymap;
|
||||
|
||||
virtual void machine_start();
|
||||
virtual void machine_reset();
|
||||
@ -76,9 +106,8 @@ public:
|
||||
/* video state */
|
||||
int m_hsync;
|
||||
int m_vsync;
|
||||
required_shared_ptr<UINT8> m_mc6845_video_ram;
|
||||
required_shared_ptr<UINT8> m_mc6847_video_ram;
|
||||
UINT8 m_mc6847_attr;
|
||||
|
||||
DECLARE_DRIVER_INIT(mc1000);
|
||||
TIMER_DEVICE_CALLBACK_MEMBER(ne555_tick);
|
||||
};
|
||||
|
@ -30,13 +30,27 @@ public:
|
||||
m_maincpu(*this, Z80_TAG),
|
||||
m_ctc(*this, Z80CTC_TAG),
|
||||
m_speaker(*this, SPEAKER_TAG),
|
||||
m_cassette(*this, CASSETTE_TAG)
|
||||
m_cassette(*this, CASSETTE_TAG),
|
||||
m_pc0(*this, "PC0"),
|
||||
m_pc1(*this, "PC1"),
|
||||
m_pc2(*this, "PC2"),
|
||||
m_pc3(*this, "PC3"),
|
||||
m_pc4(*this, "PC4"),
|
||||
m_pc5(*this, "PC5"),
|
||||
m_special(*this, "SPECIAL")
|
||||
{ }
|
||||
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_device<z80ctc_device> m_ctc;
|
||||
required_device<speaker_sound_device> m_speaker;
|
||||
required_device<cassette_image_device> m_cassette;
|
||||
required_ioport m_pc0;
|
||||
required_ioport m_pc1;
|
||||
required_ioport m_pc2;
|
||||
required_ioport m_pc3;
|
||||
required_ioport m_pc4;
|
||||
required_ioport m_pc5;
|
||||
required_ioport m_special;
|
||||
|
||||
virtual void machine_start();
|
||||
virtual void machine_reset();
|
||||
|
@ -60,13 +60,51 @@ public:
|
||||
m_maincpu(*this, Z80_TAG),
|
||||
m_copcpu(*this, COP420_TAG),
|
||||
m_cassette1(*this, CASSETTE_TAG),
|
||||
m_cassette2(*this, CASSETTE2_TAG)
|
||||
m_cassette2(*this, CASSETTE2_TAG),
|
||||
m_rom(*this, Z80_TAG),
|
||||
m_eim_rom(*this, "eim"),
|
||||
m_char_rom(*this, "chargen"),
|
||||
m_y0(*this, "Y0"),
|
||||
m_y1(*this, "Y1"),
|
||||
m_y2(*this, "Y2"),
|
||||
m_y3(*this, "Y3"),
|
||||
m_y4(*this, "Y4"),
|
||||
m_y5(*this, "Y5"),
|
||||
m_y6(*this, "Y6"),
|
||||
m_y7(*this, "Y7"),
|
||||
m_y8(*this, "Y8"),
|
||||
m_y9(*this, "Y9"),
|
||||
m_y10(*this, "Y10"),
|
||||
m_y11(*this, "Y11"),
|
||||
m_y12(*this, "Y12"),
|
||||
m_y13(*this, "Y13"),
|
||||
m_y14(*this, "Y14"),
|
||||
m_y15(*this, "Y15")
|
||||
{ }
|
||||
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_device<cpu_device> m_copcpu;
|
||||
required_device<cassette_image_device> m_cassette1;
|
||||
required_device<cassette_image_device> m_cassette2;
|
||||
required_memory_region m_rom;
|
||||
optional_memory_region m_eim_rom;
|
||||
required_memory_region m_char_rom;
|
||||
required_ioport m_y0;
|
||||
required_ioport m_y1;
|
||||
required_ioport m_y2;
|
||||
required_ioport m_y3;
|
||||
required_ioport m_y4;
|
||||
required_ioport m_y5;
|
||||
required_ioport m_y6;
|
||||
required_ioport m_y7;
|
||||
required_ioport m_y8;
|
||||
required_ioport m_y9;
|
||||
required_ioport m_y10;
|
||||
required_ioport m_y11;
|
||||
required_ioport m_y12;
|
||||
required_ioport m_y13;
|
||||
required_ioport m_y14;
|
||||
required_ioport m_y15;
|
||||
|
||||
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr);
|
||||
virtual void machine_start();
|
||||
@ -145,7 +183,6 @@ public:
|
||||
int m_tvcnsl; // TV console required
|
||||
int m_tvctl; // TV control register
|
||||
UINT16 m_tvram; // TV start address
|
||||
UINT8 *m_char_rom; // character ROM
|
||||
|
||||
// user bus state
|
||||
UINT8 m_user;
|
||||
@ -155,6 +192,7 @@ public:
|
||||
int m_copstate;
|
||||
int m_copbytes;
|
||||
int m_copregint;
|
||||
|
||||
INTERRUPT_GEN_MEMBER(newbrain_interrupt);
|
||||
TIMER_DEVICE_CALLBACK_MEMBER(cop_regint_tick);
|
||||
};
|
||||
|
@ -37,7 +37,9 @@ public:
|
||||
m_cassette(*this, CASSETTE_TAG),
|
||||
m_centronics(*this, CENTRONICS_TAG),
|
||||
m_speaker(*this, SPEAKER_TAG),
|
||||
m_ram(*this, RAM_TAG)
|
||||
m_ram(*this, RAM_TAG),
|
||||
m_rom(*this, Z80_TAG),
|
||||
m_char_rom(*this, UPD3301_TAG)
|
||||
{ }
|
||||
|
||||
required_device<cpu_device> m_maincpu;
|
||||
@ -48,11 +50,11 @@ public:
|
||||
required_device<centronics_device> m_centronics;
|
||||
required_device<speaker_sound_device> m_speaker;
|
||||
required_device<ram_device> m_ram;
|
||||
required_memory_region m_rom;
|
||||
required_memory_region m_char_rom;
|
||||
|
||||
virtual void machine_start();
|
||||
|
||||
virtual void video_start();
|
||||
|
||||
DECLARE_WRITE8_MEMBER( port10_w );
|
||||
DECLARE_WRITE8_MEMBER( port30_w );
|
||||
DECLARE_READ8_MEMBER( port40_r );
|
||||
@ -64,7 +66,6 @@ public:
|
||||
DECLARE_WRITE8_MEMBER( dma_io_w );
|
||||
|
||||
/* video state */
|
||||
UINT8 *m_char_rom;
|
||||
int m_width80;
|
||||
int m_color;
|
||||
};
|
||||
@ -73,9 +74,12 @@ class pc8001mk2_state : public pc8001_state
|
||||
{
|
||||
public:
|
||||
pc8001mk2_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||
: pc8001_state(mconfig, type, tag)
|
||||
: pc8001_state(mconfig, type, tag),
|
||||
m_kanji_rom(*this, "kanji")
|
||||
{ }
|
||||
|
||||
required_memory_region m_kanji_rom;
|
||||
|
||||
DECLARE_WRITE8_MEMBER( port31_w );
|
||||
};
|
||||
|
||||
|
@ -37,7 +37,20 @@ public:
|
||||
m_lcdc(*this, SED1330_TAG),
|
||||
m_crtc(*this, MC6845_TAG),
|
||||
m_screen_lcd(*this, SCREEN_TAG),
|
||||
m_ram(*this, RAM_TAG)
|
||||
m_ram(*this, RAM_TAG),
|
||||
m_rom(*this, Z80_TAG),
|
||||
m_io_rom(*this, "iorom"),
|
||||
m_crt_ram(*this, "crt_ram"),
|
||||
m_y0(*this, "Y0"),
|
||||
m_y1(*this, "Y1"),
|
||||
m_y2(*this, "Y2"),
|
||||
m_y3(*this, "Y3"),
|
||||
m_y4(*this, "Y4"),
|
||||
m_y5(*this, "Y5"),
|
||||
m_y6(*this, "Y6"),
|
||||
m_y7(*this, "Y7"),
|
||||
m_y8(*this, "Y8"),
|
||||
m_y9(*this, "Y9")
|
||||
{ }
|
||||
|
||||
required_device<cpu_device> m_maincpu;
|
||||
@ -46,6 +59,19 @@ public:
|
||||
required_device<mc6845_device> m_crtc;
|
||||
required_device<screen_device> m_screen_lcd;
|
||||
required_device<ram_device> m_ram;
|
||||
required_memory_region m_rom;
|
||||
required_memory_region m_io_rom;
|
||||
optional_shared_ptr<UINT8> m_crt_ram;
|
||||
required_ioport m_y0;
|
||||
required_ioport m_y1;
|
||||
required_ioport m_y2;
|
||||
required_ioport m_y3;
|
||||
required_ioport m_y4;
|
||||
required_ioport m_y5;
|
||||
required_ioport m_y6;
|
||||
required_ioport m_y7;
|
||||
required_ioport m_y8;
|
||||
required_ioport m_y9;
|
||||
|
||||
virtual void machine_start();
|
||||
|
||||
@ -76,9 +102,6 @@ public:
|
||||
UINT8 m_mmr; // memory mapping register
|
||||
UINT32 m_io_addr; // I/O ROM address counter
|
||||
|
||||
// video state
|
||||
UINT8 *m_crt_ram; // CRT video RAM
|
||||
|
||||
UINT8 m_key_latch;
|
||||
TIMER_DEVICE_CALLBACK_MEMBER(pc8401a_keyboard_tick);
|
||||
};
|
||||
|
@ -28,9 +28,9 @@ public:
|
||||
m_maincpu(*this, Z80_TAG),
|
||||
m_vdg(*this, MC6847_TAG),
|
||||
m_centronics(*this, CENTRONICS_TAG),
|
||||
m_cassette(*this, CASSETTE_TAG)
|
||||
,
|
||||
m_video_ram(*this, "video_ram"){ }
|
||||
m_cassette(*this, CASSETTE_TAG),
|
||||
m_video_ram(*this, "video_ram")
|
||||
{ }
|
||||
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_device<mc6847_base_device> m_vdg;
|
||||
|
@ -24,11 +24,17 @@ public:
|
||||
poly880_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||
: driver_device(mconfig, type, tag),
|
||||
m_maincpu(*this, Z80_TAG),
|
||||
m_cassette(*this, CASSETTE_TAG)
|
||||
m_cassette(*this, CASSETTE_TAG),
|
||||
m_ki1(*this, "KI1"),
|
||||
m_ki2(*this, "KI2"),
|
||||
m_ki3(*this, "KI3")
|
||||
{ }
|
||||
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_device<cassette_image_device> m_cassette;
|
||||
required_ioport m_ki1;
|
||||
required_ioport m_ki2;
|
||||
required_ioport m_ki3;
|
||||
|
||||
virtual void machine_start();
|
||||
|
||||
|
@ -35,18 +35,24 @@ public:
|
||||
m_rtc(*this, UPD1990A_TAG),
|
||||
m_fdc(*this, UPD765_TAG),
|
||||
m_ram(*this, RAM_TAG),
|
||||
m_floppy0(*this, UPD765_TAG ":0:525hd"),
|
||||
m_floppy1(*this, UPD765_TAG ":0:525hd"),
|
||||
m_ecb(*this, ECBBUS_TAG)
|
||||
m_floppy0(*this, UPD765_TAG":0"),
|
||||
m_floppy1(*this, UPD765_TAG":1"),
|
||||
m_ecb(*this, ECBBUS_TAG),
|
||||
m_rom(*this, Z80_TAG),
|
||||
m_j4(*this, "J4"),
|
||||
m_j5(*this, "J5")
|
||||
{ }
|
||||
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_device<upd1990a_device> m_rtc;
|
||||
required_device<upd765a_device> m_fdc;
|
||||
required_device<ram_device> m_ram;
|
||||
optional_device<floppy_image_device> m_floppy0;
|
||||
optional_device<floppy_image_device> m_floppy1;
|
||||
required_device<floppy_connector> m_floppy0;
|
||||
required_device<floppy_connector> m_floppy1;
|
||||
required_device<ecbbus_device> m_ecb;
|
||||
required_memory_region m_rom;
|
||||
required_ioport m_j4;
|
||||
required_ioport m_j5;
|
||||
|
||||
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr);
|
||||
virtual void machine_start();
|
||||
|
@ -77,7 +77,17 @@ public:
|
||||
m_mdv2(*this, MDV_2),
|
||||
m_ram(*this, RAM_TAG),
|
||||
m_fdc(*this, WD1772_TAG),
|
||||
m_printer(*this, PRINTER_TAG)
|
||||
m_printer(*this, PRINTER_TAG),
|
||||
m_y0(*this, "Y0"),
|
||||
m_y1(*this, "Y1"),
|
||||
m_y2(*this, "Y2"),
|
||||
m_y3(*this, "Y3"),
|
||||
m_y4(*this, "Y4"),
|
||||
m_y5(*this, "Y5"),
|
||||
m_y6(*this, "Y6"),
|
||||
m_y7(*this, "Y7"),
|
||||
m_joy0(*this, "JOY0"),
|
||||
m_joy1(*this, "JOY1")
|
||||
{ }
|
||||
|
||||
required_device<cpu_device> m_maincpu;
|
||||
@ -90,6 +100,16 @@ public:
|
||||
required_device<ram_device> m_ram;
|
||||
required_device<wd1772_device> m_fdc;
|
||||
required_device<printer_image_device> m_printer;
|
||||
required_ioport m_y0;
|
||||
required_ioport m_y1;
|
||||
required_ioport m_y2;
|
||||
required_ioport m_y3;
|
||||
required_ioport m_y4;
|
||||
required_ioport m_y5;
|
||||
required_ioport m_y6;
|
||||
required_ioport m_y7;
|
||||
required_ioport m_joy0;
|
||||
required_ioport m_joy1;
|
||||
|
||||
virtual void machine_start();
|
||||
virtual void machine_reset();
|
||||
|
@ -50,11 +50,13 @@ public:
|
||||
sg1000_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||
: driver_device(mconfig, type, tag),
|
||||
m_maincpu(*this, Z80_TAG),
|
||||
m_ram(*this, RAM_TAG)
|
||||
m_ram(*this, RAM_TAG),
|
||||
m_rom(*this, Z80_TAG)
|
||||
{ }
|
||||
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_device<ram_device> m_ram;
|
||||
required_memory_region m_rom;
|
||||
|
||||
virtual void machine_start();
|
||||
|
||||
@ -80,10 +82,42 @@ class sc3000_state : public sg1000_state
|
||||
public:
|
||||
sc3000_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||
: sg1000_state(mconfig, type, tag),
|
||||
m_cassette(*this, CASSETTE_TAG)
|
||||
m_cassette(*this, CASSETTE_TAG),
|
||||
m_pa0(*this, "PA0"),
|
||||
m_pa1(*this, "PA1"),
|
||||
m_pa2(*this, "PA2"),
|
||||
m_pa3(*this, "PA3"),
|
||||
m_pa4(*this, "PA4"),
|
||||
m_pa5(*this, "PA5"),
|
||||
m_pa6(*this, "PA6"),
|
||||
m_pa7(*this, "PA7"),
|
||||
m_pb0(*this, "PB0"),
|
||||
m_pb1(*this, "PB1"),
|
||||
m_pb2(*this, "PB2"),
|
||||
m_pb3(*this, "PB3"),
|
||||
m_pb4(*this, "PB4"),
|
||||
m_pb5(*this, "PB5"),
|
||||
m_pb6(*this, "PB6"),
|
||||
m_pb7(*this, "PB7")
|
||||
{ }
|
||||
|
||||
required_device<cassette_image_device> m_cassette;
|
||||
required_ioport m_pa0;
|
||||
required_ioport m_pa1;
|
||||
required_ioport m_pa2;
|
||||
required_ioport m_pa3;
|
||||
required_ioport m_pa4;
|
||||
required_ioport m_pa5;
|
||||
required_ioport m_pa6;
|
||||
required_ioport m_pa7;
|
||||
required_ioport m_pb0;
|
||||
required_ioport m_pb1;
|
||||
required_ioport m_pb2;
|
||||
required_ioport m_pb3;
|
||||
required_ioport m_pb4;
|
||||
required_ioport m_pb5;
|
||||
required_ioport m_pb6;
|
||||
required_ioport m_pb7;
|
||||
|
||||
virtual void machine_start();
|
||||
|
||||
|
@ -40,7 +40,8 @@ public:
|
||||
m_ram(*this, RAM_TAG),
|
||||
m_floppy0(*this, WD2793_TAG":0"),
|
||||
m_floppy1(*this, WD2793_TAG":1"),
|
||||
m_terminal(*this, TERMINAL_TAG)
|
||||
m_terminal(*this, TERMINAL_TAG),
|
||||
m_rom(*this, Z80_TAG)
|
||||
{ }
|
||||
|
||||
required_device<cpu_device> m_maincpu;
|
||||
@ -54,6 +55,7 @@ public:
|
||||
required_device<floppy_connector> m_floppy0;
|
||||
required_device<floppy_connector> m_floppy1;
|
||||
required_device<serial_terminal_device> m_terminal;
|
||||
required_memory_region m_rom;
|
||||
|
||||
virtual void machine_start();
|
||||
virtual void machine_reset();
|
||||
|
@ -3,7 +3,16 @@
|
||||
#ifndef __TEK405X__
|
||||
#define __TEK405X__
|
||||
|
||||
#include "emu.h"
|
||||
#include "cpu/m6800/m6800.h"
|
||||
#include "imagedev/cartslot.h"
|
||||
#include "machine/ram.h"
|
||||
#include "machine/6821pia.h"
|
||||
#include "machine/6850acia.h"
|
||||
#include "machine/ieee488.h"
|
||||
#include "machine/ram.h"
|
||||
#include "sound/speaker.h"
|
||||
#include "video/vector.h"
|
||||
|
||||
#define MC6800_TAG "u61"
|
||||
#define MC6820_Y_TAG "u561"
|
||||
@ -29,7 +38,11 @@ public:
|
||||
m_acia(*this, MC6850_TAG),
|
||||
m_gpib(*this, IEEE488_TAG),
|
||||
m_speaker(*this, SPEAKER_TAG),
|
||||
m_ram(*this, RAM_TAG)
|
||||
m_ram(*this, RAM_TAG),
|
||||
m_rom(*this, MC6800_TAG),
|
||||
m_bsofl_rom(*this, "020_0147_00"),
|
||||
m_bscom_rom(*this, "021_0188_00"),
|
||||
m_special(*this, "SPECIAL")
|
||||
{ }
|
||||
|
||||
required_device<cpu_device> m_maincpu;
|
||||
@ -39,6 +52,10 @@ public:
|
||||
required_device<ieee488_device> m_gpib;
|
||||
required_device<speaker_sound_device> m_speaker;
|
||||
required_device<ram_device> m_ram;
|
||||
required_memory_region m_rom;
|
||||
required_memory_region m_bsofl_rom;
|
||||
required_memory_region m_bscom_rom;
|
||||
required_ioport m_special;
|
||||
|
||||
virtual void machine_start();
|
||||
|
||||
|
@ -41,7 +41,20 @@ public:
|
||||
m_ram(*this, RAM_TAG),
|
||||
m_floppy0(*this, FD1797_TAG":0"),
|
||||
m_floppy1(*this, FD1797_TAG":1"),
|
||||
m_video_ram(*this, "video_ram")
|
||||
m_rom(*this, Z80_TAG),
|
||||
m_video_ram(*this, "video_ram"),
|
||||
m_y1(*this, "Y1"),
|
||||
m_y2(*this, "Y2"),
|
||||
m_y3(*this, "Y3"),
|
||||
m_y4(*this, "Y4"),
|
||||
m_y5(*this, "Y5"),
|
||||
m_y6(*this, "Y6"),
|
||||
m_y7(*this, "Y7"),
|
||||
m_y8(*this, "Y8"),
|
||||
m_y9(*this, "Y9"),
|
||||
m_y10(*this, "Y10"),
|
||||
m_y11(*this, "Y11"),
|
||||
m_y12(*this, "Y12")
|
||||
{ }
|
||||
|
||||
required_device<cpu_device> m_maincpu;
|
||||
@ -50,7 +63,20 @@ public:
|
||||
required_device<ram_device> m_ram;
|
||||
required_device<floppy_connector> m_floppy0;
|
||||
required_device<floppy_connector> m_floppy1;
|
||||
required_memory_region m_rom;
|
||||
optional_shared_ptr<UINT8> m_video_ram;
|
||||
required_ioport m_y1;
|
||||
required_ioport m_y2;
|
||||
required_ioport m_y3;
|
||||
required_ioport m_y4;
|
||||
required_ioport m_y5;
|
||||
required_ioport m_y6;
|
||||
required_ioport m_y7;
|
||||
required_ioport m_y8;
|
||||
required_ioport m_y9;
|
||||
required_ioport m_y10;
|
||||
required_ioport m_y11;
|
||||
required_ioport m_y12;
|
||||
|
||||
virtual void machine_start();
|
||||
|
||||
|
@ -28,12 +28,18 @@ public:
|
||||
: driver_device(mconfig, type, tag),
|
||||
m_maincpu(*this, CDP1802_TAG),
|
||||
m_vdc(*this, CDP1861_TAG),
|
||||
m_cassette(*this, CASSETTE_TAG)
|
||||
m_cassette(*this, CASSETTE_TAG),
|
||||
m_ram(*this, RAM_TAG),
|
||||
m_rom(*this, CDP1802_TAG),
|
||||
m_run(*this, "RUN")
|
||||
{ }
|
||||
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_device<cdp1861_device> m_vdc;
|
||||
required_device<cassette_image_device> m_cassette;
|
||||
required_device<ram_device> m_ram;
|
||||
required_memory_region m_rom;
|
||||
required_ioport m_run;
|
||||
|
||||
virtual void machine_start();
|
||||
virtual void machine_reset();
|
||||
@ -58,11 +64,15 @@ public:
|
||||
osc1000b_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||
: driver_device(mconfig, type, tag),
|
||||
m_maincpu(*this, CDP1802_TAG),
|
||||
m_cassette(*this, CASSETTE_TAG)
|
||||
m_cassette(*this, CASSETTE_TAG),
|
||||
m_rom(*this, CDP1802_TAG),
|
||||
m_run(*this, "RUN")
|
||||
{ }
|
||||
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_device<cassette_image_device> m_cassette;
|
||||
required_memory_region m_rom;
|
||||
required_ioport m_run;
|
||||
|
||||
virtual void machine_start();
|
||||
virtual void machine_reset();
|
||||
@ -87,13 +97,35 @@ public:
|
||||
m_maincpu(*this, CDP1802_TAG),
|
||||
m_cti(*this, CDP1864_TAG),
|
||||
m_cassette(*this, CASSETTE_TAG),
|
||||
m_ram(*this, RAM_TAG)
|
||||
m_ram(*this, RAM_TAG),
|
||||
m_rom(*this, CDP1802_TAG),
|
||||
m_colorram(*this, "color_ram"),
|
||||
m_in0(*this, "IN0"),
|
||||
m_in1(*this, "IN1"),
|
||||
m_in2(*this, "IN2"),
|
||||
m_in3(*this, "IN3"),
|
||||
m_in4(*this, "IN4"),
|
||||
m_in5(*this, "IN5"),
|
||||
m_in6(*this, "IN6"),
|
||||
m_in7(*this, "IN7"),
|
||||
m_run(*this, "RUN")
|
||||
{ }
|
||||
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_device<cdp1864_device> m_cti;
|
||||
required_device<cassette_image_device> m_cassette;
|
||||
required_device<ram_device> m_ram;
|
||||
required_memory_region m_rom;
|
||||
optional_shared_ptr<UINT8> m_colorram;
|
||||
required_ioport m_in0;
|
||||
required_ioport m_in1;
|
||||
required_ioport m_in2;
|
||||
required_ioport m_in3;
|
||||
required_ioport m_in4;
|
||||
required_ioport m_in5;
|
||||
required_ioport m_in6;
|
||||
required_ioport m_in7;
|
||||
required_ioport m_run;
|
||||
|
||||
virtual void machine_start();
|
||||
virtual void machine_reset();
|
||||
@ -117,7 +149,6 @@ public:
|
||||
int m_roc;
|
||||
|
||||
/* video state */
|
||||
UINT8 *m_colorram; /* color memory */
|
||||
UINT8 m_color;
|
||||
|
||||
/* keyboard state */
|
||||
@ -132,13 +163,23 @@ public:
|
||||
m_maincpu(*this, CDP1802_TAG),
|
||||
m_cti(*this, CDP1864_TAG),
|
||||
m_cassette(*this, CASSETTE_TAG),
|
||||
m_ram(*this, RAM_TAG)
|
||||
m_ram(*this, RAM_TAG),
|
||||
m_rom(*this, CDP1802_TAG),
|
||||
m_ny0(*this, "NY0"),
|
||||
m_ny1(*this, "NY1"),
|
||||
m_run(*this, "RUN"),
|
||||
m_monitor(*this, "MONITOR")
|
||||
{ }
|
||||
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_device<cdp1864_device> m_cti;
|
||||
required_device<cassette_image_device> m_cassette;
|
||||
required_device<ram_device> m_ram;
|
||||
required_memory_region m_rom;
|
||||
required_ioport m_ny0;
|
||||
required_ioport m_ny1;
|
||||
required_ioport m_run;
|
||||
required_ioport m_monitor;
|
||||
|
||||
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr);
|
||||
virtual void machine_start();
|
||||
|
@ -31,6 +31,7 @@ public:
|
||||
m_vis(*this, CDP1869_TAG),
|
||||
m_cassette(*this, CASSETTE_TAG),
|
||||
m_ram(*this, RAM_TAG),
|
||||
m_char_rom(*this, "chargen"),
|
||||
m_page_ram(*this, "page_ram"),
|
||||
m_color_ram(*this, "color_ram"),
|
||||
m_run(*this, "RUN"),
|
||||
@ -48,6 +49,7 @@ public:
|
||||
required_device<cdp1869_device> m_vis;
|
||||
required_device<cassette_image_device> m_cassette;
|
||||
required_device<ram_device> m_ram;
|
||||
required_memory_region m_char_rom;
|
||||
required_shared_ptr<UINT8> m_page_ram;
|
||||
optional_shared_ptr<UINT8> m_color_ram;
|
||||
required_ioport m_run;
|
||||
@ -81,8 +83,6 @@ public:
|
||||
int m_vismac_bkg_latch; // background color latch
|
||||
int m_blink; // cursor blink
|
||||
|
||||
const UINT8 *m_char_rom;
|
||||
|
||||
// keyboard state
|
||||
int m_keylatch; // key latch
|
||||
TIMER_DEVICE_CALLBACK_MEMBER(blink_tick);
|
||||
|
@ -78,6 +78,7 @@ public:
|
||||
m_timer_ack(*this, TIMER_ACK_TAG),
|
||||
m_timer_rst(*this, TIMER_RST_TAG),
|
||||
m_sasibus(*this, SASIBUS_TAG ":host"),
|
||||
m_rom(*this, Z80_TAG),
|
||||
m_video_ram(*this, "video_ram"),
|
||||
m_attr_ram(*this, "attr_ram")
|
||||
{ }
|
||||
@ -100,6 +101,7 @@ public:
|
||||
required_device<timer_device> m_timer_ack;
|
||||
required_device<timer_device> m_timer_rst;
|
||||
required_device<scsicb_device> m_sasibus;
|
||||
required_memory_region m_rom;
|
||||
required_shared_ptr<UINT8> m_video_ram;
|
||||
optional_shared_ptr<UINT8> m_attr_ram;
|
||||
|
||||
|
@ -19,10 +19,16 @@ class vcs80_state : public driver_device
|
||||
public:
|
||||
vcs80_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||
: driver_device(mconfig, type, tag),
|
||||
m_pio(*this, Z80PIO_TAG)
|
||||
m_pio(*this, Z80PIO_TAG),
|
||||
m_y0(*this, "Y0"),
|
||||
m_y1(*this, "Y1"),
|
||||
m_y2(*this, "Y2")
|
||||
{ }
|
||||
|
||||
required_device<z80pio_device> m_pio;
|
||||
required_ioport m_y0;
|
||||
required_ioport m_y1;
|
||||
required_ioport m_y2;
|
||||
|
||||
virtual void machine_start();
|
||||
|
||||
|
@ -34,7 +34,25 @@ public:
|
||||
m_uv(*this, UV201_TAG),
|
||||
m_discrete(*this, DISCRETE_TAG),
|
||||
m_dac(*this, DAC_TAG),
|
||||
m_exp(*this, VIDEOBRAIN_EXPANSION_SLOT_TAG)
|
||||
m_exp(*this, VIDEOBRAIN_EXPANSION_SLOT_TAG),
|
||||
m_io00(*this, "IO00"),
|
||||
m_io01(*this, "IO01"),
|
||||
m_io02(*this, "IO02"),
|
||||
m_io03(*this, "IO03"),
|
||||
m_io04(*this, "IO04"),
|
||||
m_io05(*this, "IO05"),
|
||||
m_io06(*this, "IO06"),
|
||||
m_io07(*this, "IO07"),
|
||||
m_uv201_31(*this, "UV201-31"),
|
||||
m_joy_r(*this, "JOY-R"),
|
||||
m_joy1_x(*this, "JOY1-X"),
|
||||
m_joy1_y(*this, "JOY1-Y"),
|
||||
m_joy2_x(*this, "JOY2-X"),
|
||||
m_joy2_y(*this, "JOY2-Y"),
|
||||
m_joy3_x(*this, "JOY3-X"),
|
||||
m_joy3_y(*this, "JOY3-Y"),
|
||||
m_joy4_x(*this, "JOY4-X"),
|
||||
m_joy4_y(*this, "JOY4-Y")
|
||||
{ }
|
||||
|
||||
required_device<cpu_device> m_maincpu;
|
||||
@ -43,6 +61,24 @@ public:
|
||||
required_device<discrete_sound_device> m_discrete;
|
||||
required_device<dac_device> m_dac;
|
||||
required_device<videobrain_expansion_slot_device> m_exp;
|
||||
required_ioport m_io00;
|
||||
required_ioport m_io01;
|
||||
required_ioport m_io02;
|
||||
required_ioport m_io03;
|
||||
required_ioport m_io04;
|
||||
required_ioport m_io05;
|
||||
required_ioport m_io06;
|
||||
required_ioport m_io07;
|
||||
required_ioport m_uv201_31;
|
||||
required_ioport m_joy_r;
|
||||
required_ioport m_joy1_x;
|
||||
required_ioport m_joy1_y;
|
||||
required_ioport m_joy2_x;
|
||||
required_ioport m_joy2_y;
|
||||
required_ioport m_joy3_x;
|
||||
required_ioport m_joy3_y;
|
||||
required_ioport m_joy4_x;
|
||||
required_ioport m_joy4_y;
|
||||
|
||||
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr);
|
||||
virtual void machine_start();
|
||||
|
@ -31,8 +31,12 @@ public:
|
||||
m_byteio(*this, VIP_BYTEIO_PORT_TAG),
|
||||
m_exp(*this, VIP_EXPANSION_SLOT_TAG),
|
||||
m_ram(*this, RAM_TAG),
|
||||
m_rom(*this, CDP1802_TAG),
|
||||
m_chip8(*this, "chip8"),
|
||||
m_chip8x(*this, "chip8x"),
|
||||
m_run(*this, "RUN"),
|
||||
m_keypad(*this, "KEYPAD"),
|
||||
m_io_beeper(*this, "BEEPER"),
|
||||
m_8000(1),
|
||||
m_vdc_int(CLEAR_LINE),
|
||||
m_vdc_dma_out(CLEAR_LINE),
|
||||
@ -54,8 +58,12 @@ public:
|
||||
required_device<vip_byteio_port_device> m_byteio;
|
||||
required_device<vip_expansion_slot_device> m_exp;
|
||||
required_device<ram_device> m_ram;
|
||||
required_memory_region m_rom;
|
||||
required_memory_region m_chip8;
|
||||
required_memory_region m_chip8x;
|
||||
required_ioport m_run;
|
||||
required_ioport m_keypad;
|
||||
required_ioport m_io_beeper;
|
||||
|
||||
virtual void machine_start();
|
||||
virtual void machine_reset();
|
||||
|
@ -34,13 +34,24 @@ public:
|
||||
m_ram(*this, RAM_TAG),
|
||||
m_floppy0(*this, FDC1797_TAG":0"),
|
||||
m_floppy1(*this, FDC1797_TAG":1"),
|
||||
m_rom(*this, Z8400A_TAG),
|
||||
m_sync_rom(*this, "video"),
|
||||
m_char_rom(*this, "chargen"),
|
||||
m_video_ram(*this, "video_ram"),
|
||||
m_y0(*this, "Y0"),
|
||||
m_y1(*this, "Y1"),
|
||||
m_y2(*this, "Y2"),
|
||||
m_y3(*this, "Y3"),
|
||||
m_y4(*this, "Y4"),
|
||||
m_y5(*this, "Y5"),
|
||||
m_y6(*this, "Y6"),
|
||||
m_y7(*this, "Y7"),
|
||||
m_fdint(0),
|
||||
m_vsync(0),
|
||||
m_srq(1),
|
||||
m_atn(1),
|
||||
m_rxrdy(0),
|
||||
m_txrdy(0),
|
||||
m_video_ram(*this, "video_ram")
|
||||
m_txrdy(0)
|
||||
{ }
|
||||
|
||||
required_device<cpu_device> m_maincpu;
|
||||
@ -52,6 +63,18 @@ public:
|
||||
required_device<ram_device> m_ram;
|
||||
required_device<floppy_connector> m_floppy0;
|
||||
required_device<floppy_connector> m_floppy1;
|
||||
required_memory_region m_rom;
|
||||
required_memory_region m_sync_rom;
|
||||
required_memory_region m_char_rom;
|
||||
required_shared_ptr<UINT8> m_video_ram;
|
||||
required_ioport m_y0;
|
||||
required_ioport m_y1;
|
||||
required_ioport m_y2;
|
||||
required_ioport m_y3;
|
||||
required_ioport m_y4;
|
||||
required_ioport m_y5;
|
||||
required_ioport m_y6;
|
||||
required_ioport m_y7;
|
||||
|
||||
virtual void machine_start();
|
||||
virtual void machine_reset();
|
||||
@ -107,9 +130,7 @@ public:
|
||||
// video state
|
||||
int m_alt;
|
||||
int m_256;
|
||||
required_shared_ptr<UINT8> m_video_ram;
|
||||
const UINT8 *m_sync_rom;
|
||||
const UINT8 *m_char_rom;
|
||||
|
||||
DECLARE_DRIVER_INIT(vixen);
|
||||
TIMER_DEVICE_CALLBACK_MEMBER(vsync_tick);
|
||||
};
|
||||
|
@ -56,6 +56,7 @@ public:
|
||||
m_centronics(*this, CENTRONICS_TAG),
|
||||
m_kb(*this, WANGPC_KEYBOARD_TAG),
|
||||
m_bus(*this, WANGPC_BUS_TAG),
|
||||
m_sw(*this, "SW"),
|
||||
m_timer2_irq(1),
|
||||
m_acknlg(1),
|
||||
m_dav(1),
|
||||
@ -89,6 +90,7 @@ public:
|
||||
required_device<centronics_device> m_centronics;
|
||||
required_device<wangpc_keyboard_device> m_kb;
|
||||
required_device<wangpcbus_device> m_bus;
|
||||
required_ioport m_sw;
|
||||
|
||||
virtual void machine_start();
|
||||
virtual void machine_reset();
|
||||
|
@ -48,6 +48,8 @@ public:
|
||||
m_ram(*this, RAM_TAG),
|
||||
m_floppy0(*this, FD1771_TAG":0"),
|
||||
m_floppy1(*this, FD1771_TAG":1"),
|
||||
m_rom(*this, Z80_TAG),
|
||||
m_char_rom(*this, "chargen"),
|
||||
m_video_ram(*this, "video_ram"),
|
||||
m_fdc_irq(0),
|
||||
m_fdc_drq(0),
|
||||
@ -58,7 +60,6 @@ public:
|
||||
virtual void machine_start();
|
||||
virtual void machine_reset();
|
||||
|
||||
virtual void video_start();
|
||||
UINT32 screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
|
||||
|
||||
required_device<cpu_device> m_maincpu;
|
||||
@ -68,6 +69,9 @@ public:
|
||||
required_device<ram_device> m_ram;
|
||||
required_device<floppy_connector> m_floppy0;
|
||||
required_device<floppy_connector> m_floppy1;
|
||||
required_memory_region m_rom;
|
||||
required_memory_region m_char_rom;
|
||||
required_shared_ptr<UINT8> m_video_ram;
|
||||
|
||||
DECLARE_READ8_MEMBER( fdc_r );
|
||||
DECLARE_WRITE8_MEMBER( fdc_w );
|
||||
@ -89,8 +93,6 @@ public:
|
||||
int m_keydata; /* keyboard data */
|
||||
|
||||
/* video state */
|
||||
required_shared_ptr<UINT8> m_video_ram; /* video RAM */
|
||||
UINT8 *m_char_rom; /* character ROM */
|
||||
UINT8 m_scroll; /* vertical scroll */
|
||||
UINT8 m_framecnt;
|
||||
int m_ncset2; /* national character set */
|
||||
|
@ -43,7 +43,8 @@ public:
|
||||
m_floppy0(*this, WD1795_TAG":0"),
|
||||
m_floppy1(*this, WD1795_TAG":1"),
|
||||
m_floppy2(*this, WD1795_TAG":2"),
|
||||
m_floppy3(*this, WD1795_TAG":3")
|
||||
m_floppy3(*this, WD1795_TAG":3"),
|
||||
m_rom(*this, Z80_TAG)
|
||||
{ }
|
||||
|
||||
required_device<cpu_device> m_maincpu;
|
||||
@ -60,6 +61,7 @@ public:
|
||||
required_device<floppy_connector> m_floppy1;
|
||||
required_device<floppy_connector> m_floppy2;
|
||||
required_device<floppy_connector> m_floppy3;
|
||||
required_memory_region m_rom;
|
||||
|
||||
virtual void machine_start();
|
||||
virtual void machine_reset();
|
||||
|
@ -460,6 +460,7 @@ abc77_device::abc77_device(const machine_config &mconfig, const char *tag, devic
|
||||
m_x9(*this, "X9"),
|
||||
m_x10(*this, "X10"),
|
||||
m_x11(*this, "X11"),
|
||||
m_dsw(*this, "DSW"),
|
||||
m_txd(1),
|
||||
m_keydown(1),
|
||||
m_clock(0),
|
||||
@ -483,6 +484,7 @@ abc77_device::abc77_device(const machine_config &mconfig, device_type type, cons
|
||||
m_x9(*this, "X9"),
|
||||
m_x10(*this, "X10"),
|
||||
m_x11(*this, "X11"),
|
||||
m_dsw(*this, "DSW"),
|
||||
m_txd(1),
|
||||
m_keydown(1),
|
||||
m_clock(0),
|
||||
@ -519,7 +521,7 @@ void abc77_device::device_start()
|
||||
void abc77_device::device_reset()
|
||||
{
|
||||
int t = 1.1 * RES_K(100) * CAP_N(100) * 1000; // t = 1.1 * R1 * C1
|
||||
int ea = BIT(ioport("DSW")->read(), 7);
|
||||
int ea = BIT(m_dsw->read(), 7);
|
||||
|
||||
// trigger reset
|
||||
m_maincpu->set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
|
||||
|
@ -118,6 +118,7 @@ protected:
|
||||
required_ioport m_x9;
|
||||
required_ioport m_x10;
|
||||
required_ioport m_x11;
|
||||
required_ioport m_dsw;
|
||||
|
||||
int m_txd; // transmit data
|
||||
int m_keylatch; // keyboard row latch
|
||||
|
@ -107,7 +107,8 @@ const rom_entry *abc_dos_device::device_rom_region() const
|
||||
|
||||
abc_dos_device::abc_dos_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
|
||||
: device_t(mconfig, ABC_DOS, "ABC DOS", tag, owner, clock),
|
||||
device_abcbus_card_interface(mconfig, *this)
|
||||
device_abcbus_card_interface(mconfig, *this),
|
||||
m_rom(*this, "dos")
|
||||
{
|
||||
}
|
||||
|
||||
@ -136,7 +137,7 @@ UINT8 abc_dos_device::abcbus_xmemfl(offs_t offset)
|
||||
|
||||
if (offset >= 0x6000 && offset < 0x8000)
|
||||
{
|
||||
data = memregion("dos")->base()[offset & 0x1fff];
|
||||
data = m_rom->base()[offset & 0x1fff];
|
||||
}
|
||||
|
||||
return data;
|
||||
|
@ -42,6 +42,9 @@ protected:
|
||||
// device_abcbus_interface overrides
|
||||
virtual void abcbus_cs(UINT8 data) { };
|
||||
virtual UINT8 abcbus_xmemfl(offs_t offset);
|
||||
|
||||
private:
|
||||
required_memory_region m_rom;
|
||||
};
|
||||
|
||||
|
||||
|
@ -179,7 +179,8 @@ abc_fd2_device::abc_fd2_device(const machine_config &mconfig, const char *tag, d
|
||||
m_pio(*this, Z80PIO_TAG),
|
||||
m_fdc(*this, FD1771_TAG),
|
||||
m_floppy0(*this, FD1771_TAG":0"),
|
||||
m_floppy1(*this, FD1771_TAG":1")
|
||||
m_floppy1(*this, FD1771_TAG":1"),
|
||||
m_rom(*this, "dos")
|
||||
{
|
||||
}
|
||||
|
||||
@ -226,7 +227,7 @@ UINT8 abc_fd2_device::abcbus_xmemfl(offs_t offset)
|
||||
|
||||
if (offset >= 0x6000 && offset < 0x6400) // TODO is this mirrored?
|
||||
{
|
||||
data = memregion("abc80")->base()[offset & 0x3ff];
|
||||
data = m_rom->base()[offset & 0x3ff];
|
||||
}
|
||||
|
||||
return data;
|
||||
|
@ -55,6 +55,7 @@ private:
|
||||
required_device<fd1771_t> m_fdc;
|
||||
required_device<floppy_connector> m_floppy0;
|
||||
required_device<floppy_connector> m_floppy1;
|
||||
required_memory_region m_rom;
|
||||
};
|
||||
|
||||
|
||||
|
@ -142,7 +142,8 @@ abc_sio_device::abc_sio_device(const machine_config &mconfig, const char *tag, d
|
||||
: device_t(mconfig, ABC_SIO, "ABC SIO", tag, owner, clock),
|
||||
device_abcbus_card_interface(mconfig, *this),
|
||||
m_ctc(*this, Z80CTC_TAG),
|
||||
m_sio(*this, Z80SIO_TAG)
|
||||
m_sio(*this, Z80SIO_TAG),
|
||||
m_rom(*this, "abc80")
|
||||
{
|
||||
}
|
||||
|
||||
@ -189,7 +190,7 @@ UINT8 abc_sio_device::abcbus_xmemfl(offs_t offset)
|
||||
|
||||
if (offset >= 0x4000 && offset < 0x5000) // TODO where is this mapped?
|
||||
{
|
||||
data = memregion("abc80")->base()[offset & 0xfff];
|
||||
data = m_rom->base()[offset & 0xfff];
|
||||
}
|
||||
|
||||
return data;
|
||||
|
@ -41,7 +41,7 @@ protected:
|
||||
private:
|
||||
required_device<z80ctc_device> m_ctc;
|
||||
required_device<z80dart_device> m_sio;
|
||||
|
||||
required_memory_region m_rom;
|
||||
};
|
||||
|
||||
|
||||
|
@ -269,7 +269,21 @@ ioport_constructor apricot_keyboard_device::device_input_ports() const
|
||||
//-------------------------------------------------
|
||||
|
||||
apricot_keyboard_device::apricot_keyboard_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
|
||||
: device_t(mconfig, APRICOT_KEYBOARD, "Apricot Keyboard", tag, owner, clock)
|
||||
: device_t(mconfig, APRICOT_KEYBOARD, "Apricot Keyboard", tag, owner, clock),
|
||||
m_y0(*this, "Y0"),
|
||||
m_y1(*this, "Y1"),
|
||||
m_y2(*this, "Y2"),
|
||||
m_y3(*this, "Y3"),
|
||||
m_y4(*this, "Y4"),
|
||||
m_y5(*this, "Y5"),
|
||||
m_y6(*this, "Y6"),
|
||||
m_y7(*this, "Y7"),
|
||||
m_y8(*this, "Y8"),
|
||||
m_y9(*this, "Y9"),
|
||||
m_ya(*this, "YA"),
|
||||
m_yb(*this, "YB"),
|
||||
m_yc(*this, "YC"),
|
||||
m_modifiers(*this, "MODIFIERS")
|
||||
{
|
||||
}
|
||||
|
||||
@ -302,19 +316,19 @@ UINT8 apricot_keyboard_device::read_keyboard()
|
||||
{
|
||||
UINT8 data = 0xff;
|
||||
|
||||
if (!BIT(m_kb_y, 0)) data &= ioport("Y0")->read();
|
||||
if (!BIT(m_kb_y, 1)) data &= ioport("Y1")->read();
|
||||
if (!BIT(m_kb_y, 2)) data &= ioport("Y2")->read();
|
||||
if (!BIT(m_kb_y, 3)) data &= ioport("Y3")->read();
|
||||
if (!BIT(m_kb_y, 4)) data &= ioport("Y4")->read();
|
||||
if (!BIT(m_kb_y, 5)) data &= ioport("Y5")->read();
|
||||
if (!BIT(m_kb_y, 6)) data &= ioport("Y6")->read();
|
||||
if (!BIT(m_kb_y, 7)) data &= ioport("Y7")->read();
|
||||
if (!BIT(m_kb_y, 8)) data &= ioport("Y8")->read();
|
||||
if (!BIT(m_kb_y, 9)) data &= ioport("Y9")->read();
|
||||
if (!BIT(m_kb_y, 10)) data &= ioport("YA")->read();
|
||||
if (!BIT(m_kb_y, 11)) data &= ioport("YB")->read();
|
||||
if (!BIT(m_kb_y, 12)) data &= ioport("YC")->read();
|
||||
if (!BIT(m_kb_y, 0)) data &= m_y0->read();
|
||||
if (!BIT(m_kb_y, 1)) data &= m_y1->read();
|
||||
if (!BIT(m_kb_y, 2)) data &= m_y2->read();
|
||||
if (!BIT(m_kb_y, 3)) data &= m_y3->read();
|
||||
if (!BIT(m_kb_y, 4)) data &= m_y4->read();
|
||||
if (!BIT(m_kb_y, 5)) data &= m_y5->read();
|
||||
if (!BIT(m_kb_y, 6)) data &= m_y6->read();
|
||||
if (!BIT(m_kb_y, 7)) data &= m_y7->read();
|
||||
if (!BIT(m_kb_y, 8)) data &= m_y8->read();
|
||||
if (!BIT(m_kb_y, 9)) data &= m_y9->read();
|
||||
if (!BIT(m_kb_y, 10)) data &= m_ya->read();
|
||||
if (!BIT(m_kb_y, 11)) data &= m_yb->read();
|
||||
if (!BIT(m_kb_y, 12)) data &= m_yc->read();
|
||||
|
||||
return data;
|
||||
}
|
||||
@ -356,7 +370,7 @@ READ8_MEMBER( apricot_keyboard_device::kb_p6_r )
|
||||
|
||||
*/
|
||||
|
||||
UINT8 modifiers = ioport("MODIFIERS")->read();
|
||||
UINT8 modifiers = m_modifiers->read();
|
||||
|
||||
return modifiers << 1;
|
||||
}
|
||||
|
@ -85,6 +85,21 @@ protected:
|
||||
private:
|
||||
devcb_resolved_write_line m_out_txd_func;
|
||||
|
||||
required_ioport m_y0;
|
||||
required_ioport m_y1;
|
||||
required_ioport m_y2;
|
||||
required_ioport m_y3;
|
||||
required_ioport m_y4;
|
||||
required_ioport m_y5;
|
||||
required_ioport m_y6;
|
||||
required_ioport m_y7;
|
||||
required_ioport m_y8;
|
||||
required_ioport m_y9;
|
||||
required_ioport m_ya;
|
||||
required_ioport m_yb;
|
||||
required_ioport m_yc;
|
||||
required_ioport m_modifiers;
|
||||
|
||||
UINT16 m_kb_y;
|
||||
};
|
||||
|
||||
|
@ -50,6 +50,7 @@ const rom_entry *bw2_ramcard_device::device_rom_region() const
|
||||
bw2_ramcard_device::bw2_ramcard_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
|
||||
: device_t(mconfig, BW2_RAMCARD, "RAMCARD", tag, owner, clock),
|
||||
device_bw2_expansion_slot_interface(mconfig, *this),
|
||||
m_rom(*this, "ramcard"),
|
||||
m_ram(*this, "ram"),
|
||||
m_en(0),
|
||||
m_bank(0)
|
||||
@ -63,9 +64,6 @@ bw2_ramcard_device::bw2_ramcard_device(const machine_config &mconfig, const char
|
||||
|
||||
void bw2_ramcard_device::device_start()
|
||||
{
|
||||
// find memory regions
|
||||
m_rom = memregion("ramcard")->base();
|
||||
|
||||
// allocate memory
|
||||
m_ram.allocate(512 * 1024);
|
||||
|
||||
@ -94,7 +92,7 @@ UINT8 bw2_ramcard_device::bw2_cd_r(address_space &space, offs_t offset, UINT8 da
|
||||
{
|
||||
if (!ram2)
|
||||
{
|
||||
data = m_rom[offset & 0x3fff];
|
||||
data = m_rom->base()[offset & 0x3fff];
|
||||
}
|
||||
else if (m_en && !ram5)
|
||||
{
|
||||
|
@ -45,8 +45,8 @@ protected:
|
||||
virtual void bw2_slot_w(address_space &space, offs_t offset, UINT8 data);
|
||||
|
||||
private:
|
||||
required_memory_region m_rom;
|
||||
optional_shared_ptr<UINT8> m_ram;
|
||||
const UINT8 *m_rom;
|
||||
|
||||
int m_en;
|
||||
UINT8 m_bank;
|
||||
|
@ -1091,7 +1091,8 @@ c1541_professional_dos_v1_device::c1541_professional_dos_v1_device(const machine
|
||||
c1541_prologic_dos_classic_device::c1541_prologic_dos_classic_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
|
||||
: base_c1541_device(mconfig, C1541_PROLOGIC_DOS_CLASSIC, "C1541 ProLogic-DOS Classic", tag, owner, clock, TYPE_1541_PROLOGIC_DOS_CLASSIC),
|
||||
m_pia(*this, MC6821_TAG),
|
||||
m_centronics(*this, CENTRONICS_TAG)
|
||||
m_centronics(*this, CENTRONICS_TAG),
|
||||
m_mmu_rom(*this, "mmu")
|
||||
{
|
||||
}
|
||||
|
||||
@ -1126,12 +1127,6 @@ void fsd2_device::device_start()
|
||||
}
|
||||
}
|
||||
|
||||
void c1541_prologic_dos_classic_device::device_start()
|
||||
{
|
||||
// find memory regions
|
||||
m_mmu_rom = memregion("mmu")->base();
|
||||
}
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// device_reset - device-specific reset
|
||||
|
@ -219,9 +219,6 @@ public:
|
||||
// construction/destruction
|
||||
c1541_prologic_dos_classic_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
|
||||
|
||||
// device-level overrides
|
||||
virtual void device_start();
|
||||
|
||||
// not really public
|
||||
DECLARE_READ8_MEMBER( read );
|
||||
DECLARE_WRITE8_MEMBER( write );
|
||||
@ -236,8 +233,7 @@ public:
|
||||
protected:
|
||||
required_device<pia6821_device> m_pia;
|
||||
required_device<centronics_device> m_centronics;
|
||||
|
||||
UINT8 *m_mmu_rom;
|
||||
required_memory_region m_mmu_rom;
|
||||
};
|
||||
|
||||
|
||||
|
@ -1341,7 +1341,7 @@ inline void c2040_device::update_gcr_data()
|
||||
m_i = (m_rw << 10) | ((m_pi & 0xf0) << 1) | (m_mode << 4) | (m_pi & 0x0f);
|
||||
}
|
||||
|
||||
m_e = m_gcr[m_i];
|
||||
m_e = m_gcr->base()[m_i];
|
||||
}
|
||||
|
||||
|
||||
@ -1469,6 +1469,7 @@ c2040_device::c2040_device(const machine_config &mconfig, device_type type, cons
|
||||
m_via(*this, M6522_TAG),
|
||||
m_image0(*this, FLOPPY_0),
|
||||
m_image1(*this, FLOPPY_1),
|
||||
m_gcr(*this, "gcr"),
|
||||
m_drive(0),
|
||||
m_side(0),
|
||||
m_rfdo(1),
|
||||
@ -1503,6 +1504,7 @@ c2040_device::c2040_device(const machine_config &mconfig, const char *tag, devic
|
||||
m_via(*this, M6522_TAG),
|
||||
m_image0(*this, FLOPPY_0),
|
||||
m_image1(*this, FLOPPY_1),
|
||||
m_gcr(*this, "gcr"),
|
||||
m_drive(0),
|
||||
m_side(0),
|
||||
m_rfdo(1),
|
||||
@ -1586,9 +1588,6 @@ void c2040_device::device_start()
|
||||
{
|
||||
m_bit_timer = timer_alloc();
|
||||
|
||||
// find GCR ROM
|
||||
m_gcr = memregion("gcr")->base();
|
||||
|
||||
// install image callbacks
|
||||
m_unit[0].m_image = m_image0;
|
||||
|
||||
|
@ -102,6 +102,7 @@ protected:
|
||||
required_device<via6522_device> m_via;
|
||||
required_device<legacy_floppy_image_device> m_image0;
|
||||
optional_device<legacy_floppy_image_device> m_image1;
|
||||
required_memory_region m_gcr;
|
||||
|
||||
struct {
|
||||
// motors
|
||||
@ -131,7 +132,6 @@ protected:
|
||||
int m_bit_count; // GCR bit counter
|
||||
UINT16 m_sr; // GCR data shift register
|
||||
UINT8 m_pi; // parallel data input
|
||||
const UINT8* m_gcr; // GCR encoder/decoder ROM
|
||||
UINT16 m_i; // GCR encoder/decoded ROM address
|
||||
UINT8 m_e; // GCR encoder/decoded ROM data
|
||||
|
||||
|
@ -99,7 +99,8 @@ ioport_constructor c64_16kb_cartridge_device::device_input_ports() const
|
||||
|
||||
c64_16kb_cartridge_device::c64_16kb_cartridge_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) :
|
||||
device_t(mconfig, C64_16KB, "C64 16KB EPROM cartridge", tag, owner, clock),
|
||||
device_c64_expansion_card_interface(mconfig, *this)
|
||||
device_c64_expansion_card_interface(mconfig, *this),
|
||||
m_sw1(*this, "SW1")
|
||||
{
|
||||
}
|
||||
|
||||
@ -121,7 +122,7 @@ void c64_16kb_cartridge_device::device_start()
|
||||
|
||||
void c64_16kb_cartridge_device::device_reset()
|
||||
{
|
||||
UINT8 mode = ioport("SW1")->read();
|
||||
UINT8 mode = m_sw1->read();
|
||||
|
||||
m_exrom = BIT(mode, 0);
|
||||
m_game = BIT(mode, 1);
|
||||
|
@ -45,6 +45,9 @@ protected:
|
||||
|
||||
// device_c64_expansion_card_interface overrides
|
||||
virtual UINT8 c64_cd_r(address_space &space, offs_t offset, UINT8 data, int sphi2, int ba, int roml, int romh, int io1, int io2);
|
||||
|
||||
private:
|
||||
required_ioport m_sw1;
|
||||
};
|
||||
|
||||
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user