mirror of
https://github.com/holub/mame
synced 2025-10-06 17:08:28 +03:00
(MESS) Floppy fixes WIP. (nw)
This commit is contained in:
parent
0e19f641d3
commit
d67192af3e
@ -21,10 +21,12 @@
|
|||||||
RAM expansions:
|
RAM expansions:
|
||||||
- CMD RAMLink
|
- CMD RAMLink
|
||||||
- CMD RAMDrive
|
- CMD RAMDrive
|
||||||
|
- CMD REU 1750XL
|
||||||
- Commodore REU 1700/1750/1764
|
- Commodore REU 1700/1750/1764
|
||||||
- Rex RAM-Floppy 256K
|
- Rex RAM-Floppy 256K
|
||||||
- Rex Goliath 1MB
|
- Rex Goliath 1MB
|
||||||
- RAM-Cart
|
- RAM-Cart
|
||||||
|
- Silicon Disk System
|
||||||
|
|
||||||
Hard disks:
|
Hard disks:
|
||||||
- Lt. Kernal
|
- Lt. Kernal
|
||||||
|
@ -94,7 +94,7 @@ void wd_fdc_t::device_reset()
|
|||||||
sub_state = IDLE;
|
sub_state = IDLE;
|
||||||
cur_live.state = IDLE;
|
cur_live.state = IDLE;
|
||||||
track = 0x00;
|
track = 0x00;
|
||||||
sector = 0x00;
|
sector = 0x01;
|
||||||
status = 0x00;
|
status = 0x00;
|
||||||
data = 0x00;
|
data = 0x00;
|
||||||
cmd_buffer = track_buffer = sector_buffer = -1;
|
cmd_buffer = track_buffer = sector_buffer = -1;
|
||||||
@ -106,6 +106,9 @@ void wd_fdc_t::device_reset()
|
|||||||
hld = false;
|
hld = false;
|
||||||
intrq_cond = 0;
|
intrq_cond = 0;
|
||||||
live_abort();
|
live_abort();
|
||||||
|
|
||||||
|
// restore
|
||||||
|
cmd_w(0x03);
|
||||||
}
|
}
|
||||||
|
|
||||||
void wd_fdc_t::set_floppy(floppy_image_device *_floppy)
|
void wd_fdc_t::set_floppy(floppy_image_device *_floppy)
|
||||||
|
@ -48,10 +48,8 @@ Notes:
|
|||||||
|
|
||||||
TODO:
|
TODO:
|
||||||
|
|
||||||
- revision F boot ROM dump
|
- floppy broken
|
||||||
- wmb_org.imd does not load
|
|
||||||
- z80dart wait/ready
|
- z80dart wait/ready
|
||||||
- floppy type dips
|
|
||||||
- Winchester hard disk
|
- Winchester hard disk
|
||||||
- revision E model
|
- revision E model
|
||||||
|
|
||||||
@ -201,6 +199,13 @@ WRITE8_MEMBER( bullet_state::exdsk_w )
|
|||||||
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
if (BIT(data, 2))
|
||||||
|
{
|
||||||
|
m_exdsk_sw = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (m_exdsk_sw)
|
||||||
|
{
|
||||||
// drive select
|
// drive select
|
||||||
m_floppy = NULL;
|
m_floppy = NULL;
|
||||||
|
|
||||||
@ -219,6 +224,7 @@ WRITE8_MEMBER( bullet_state::exdsk_w )
|
|||||||
}
|
}
|
||||||
|
|
||||||
m_fdc->set_floppy(m_floppy);
|
m_fdc->set_floppy(m_floppy);
|
||||||
|
}
|
||||||
|
|
||||||
if (m_floppy)
|
if (m_floppy)
|
||||||
{
|
{
|
||||||
@ -281,12 +287,20 @@ WRITE8_MEMBER( bullet_state::hdcon_w )
|
|||||||
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
if (BIT(data, 4))
|
||||||
|
{
|
||||||
|
m_hdcon_sw = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (m_hdcon_sw)
|
||||||
|
{
|
||||||
// FDC clock
|
// FDC clock
|
||||||
m_fdc->set_unscaled_clock(BIT(data, 2) ? XTAL_16MHz/16 : XTAL_16MHz/8);
|
m_fdc->set_unscaled_clock(BIT(data, 2) ? XTAL_16MHz/8 : XTAL_16MHz/16);
|
||||||
|
|
||||||
// density select
|
// density select
|
||||||
m_fdc->dden_w(BIT(data, 3));
|
m_fdc->dden_w(BIT(data, 3));
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
@ -317,7 +331,7 @@ READ8_MEMBER( bullet_state::info_r )
|
|||||||
|
|
||||||
// floppy
|
// floppy
|
||||||
data |= m_fdc->hld_r() << 4;
|
data |= m_fdc->hld_r() << 4;
|
||||||
data |= m_floppy ? m_floppy->dskchg_r() : 1;
|
data |= (m_floppy ? m_floppy->dskchg_r() : 1) << 5;
|
||||||
data |= m_fdc->intrq_r() << 6;
|
data |= m_fdc->intrq_r() << 6;
|
||||||
data |= m_fdc->drq_r() << 7;
|
data |= m_fdc->drq_r() << 7;
|
||||||
|
|
||||||
@ -667,7 +681,7 @@ INPUT_PORTS_START( bullet )
|
|||||||
PORT_DIPNAME( 0xf0, 0x50, "Floppy Type" ) PORT_DIPLOCATION("SW1:5,6,7,8")
|
PORT_DIPNAME( 0xf0, 0x50, "Floppy Type" ) PORT_DIPLOCATION("SW1:5,6,7,8")
|
||||||
PORT_DIPSETTING( 0xf0, "5.25\" SD" )
|
PORT_DIPSETTING( 0xf0, "5.25\" SD" )
|
||||||
PORT_DIPSETTING( 0x50, "5.25\" DD" )
|
PORT_DIPSETTING( 0x50, "5.25\" DD" )
|
||||||
PORT_DIPSETTING( 0x60, "8\" SD" )
|
PORT_DIPSETTING( 0x90, "8\" SD" )
|
||||||
PORT_DIPSETTING( 0x00, "8\" DD" )
|
PORT_DIPSETTING( 0x00, "8\" DD" )
|
||||||
INPUT_PORTS_END
|
INPUT_PORTS_END
|
||||||
|
|
||||||
@ -1029,6 +1043,7 @@ SLOT_INTERFACE_END
|
|||||||
static SLOT_INTERFACE_START( bullet_35_floppies )
|
static SLOT_INTERFACE_START( bullet_35_floppies )
|
||||||
SLOT_INTERFACE( "35dd", FLOPPY_35_DD )
|
SLOT_INTERFACE( "35dd", FLOPPY_35_DD )
|
||||||
SLOT_INTERFACE_END
|
SLOT_INTERFACE_END
|
||||||
|
|
||||||
void bullet_state::fdc_intrq_w(bool state)
|
void bullet_state::fdc_intrq_w(bool state)
|
||||||
{
|
{
|
||||||
z80dart_dcda_w(m_dart, state);
|
z80dart_dcda_w(m_dart, state);
|
||||||
@ -1095,8 +1110,8 @@ static const z80_daisy_config daisy_chain[] =
|
|||||||
void bullet_state::machine_start()
|
void bullet_state::machine_start()
|
||||||
{
|
{
|
||||||
// floppy callbacks
|
// floppy callbacks
|
||||||
m_fdc->setup_intrq_cb(mb8877_t::line_cb(FUNC(bullet_state::fdc_intrq_w), this));
|
m_fdc->setup_intrq_cb(wd_fdc_t::line_cb(FUNC(bullet_state::fdc_intrq_w), this));
|
||||||
m_fdc->setup_drq_cb(mb8877_t::line_cb(FUNC(bullet_state::fdc_drq_w), this));
|
m_fdc->setup_drq_cb(wd_fdc_t::line_cb(FUNC(bullet_state::fdc_drq_w), this));
|
||||||
|
|
||||||
// state saving
|
// state saving
|
||||||
save_item(NAME(m_segst));
|
save_item(NAME(m_segst));
|
||||||
@ -1119,8 +1134,8 @@ void bullet_state::machine_start()
|
|||||||
void bulletf_state::machine_start()
|
void bulletf_state::machine_start()
|
||||||
{
|
{
|
||||||
// floppy callbacks
|
// floppy callbacks
|
||||||
m_fdc->setup_intrq_cb(mb8877_t::line_cb(FUNC(bulletf_state::fdc_intrq_w), this));
|
m_fdc->setup_intrq_cb(wd_fdc_t::line_cb(FUNC(bulletf_state::fdc_intrq_w), this));
|
||||||
m_fdc->setup_drq_cb(mb8877_t::line_cb(FUNC(bulletf_state::fdc_drq_w), this));
|
m_fdc->setup_drq_cb(wd_fdc_t::line_cb(FUNC(bulletf_state::fdc_drq_w), this));
|
||||||
|
|
||||||
// state saving
|
// state saving
|
||||||
save_item(NAME(m_fdrdy));
|
save_item(NAME(m_fdrdy));
|
||||||
@ -1146,6 +1161,32 @@ void bullet_state::machine_reset()
|
|||||||
m_exdma = 0;
|
m_exdma = 0;
|
||||||
m_buf = 0;
|
m_buf = 0;
|
||||||
update_dma_rdy();
|
update_dma_rdy();
|
||||||
|
|
||||||
|
// disable software control
|
||||||
|
m_exdsk_sw = false;
|
||||||
|
m_hdcon_sw = false;
|
||||||
|
|
||||||
|
UINT8 sw1 = m_sw1->read();
|
||||||
|
int mini = BIT(sw1, 6);
|
||||||
|
m_fdc->set_unscaled_clock(mini ? XTAL_16MHz/16 : XTAL_16MHz/8);
|
||||||
|
m_fdc->dden_w(BIT(sw1, 7));
|
||||||
|
|
||||||
|
if (mini)
|
||||||
|
{
|
||||||
|
m_floppy = m_floppy0->get_device();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
m_floppy = m_floppy4->get_device();
|
||||||
|
}
|
||||||
|
|
||||||
|
m_fdc->set_floppy(m_floppy);
|
||||||
|
|
||||||
|
if (m_floppy)
|
||||||
|
{
|
||||||
|
m_floppy->ss_w(0);
|
||||||
|
m_floppy->mon_w(0);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -1167,6 +1208,7 @@ void bulletf_state::machine_reset()
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//**************************************************************************
|
//**************************************************************************
|
||||||
// MACHINE CONFIGURATION
|
// MACHINE CONFIGURATION
|
||||||
//**************************************************************************
|
//**************************************************************************
|
||||||
@ -1188,7 +1230,7 @@ static MACHINE_CONFIG_START( bullet, bullet_state )
|
|||||||
MCFG_Z80DART_ADD(Z80DART_TAG, XTAL_16MHz/4, dart_intf)
|
MCFG_Z80DART_ADD(Z80DART_TAG, XTAL_16MHz/4, dart_intf)
|
||||||
MCFG_Z80DMA_ADD(Z80DMA_TAG, XTAL_16MHz/4, dma_intf)
|
MCFG_Z80DMA_ADD(Z80DMA_TAG, XTAL_16MHz/4, dma_intf)
|
||||||
MCFG_Z80PIO_ADD(Z80PIO_TAG, XTAL_16MHz/4, pio_intf)
|
MCFG_Z80PIO_ADD(Z80PIO_TAG, XTAL_16MHz/4, pio_intf)
|
||||||
MCFG_MB8877x_ADD(MB8877_TAG, XTAL_16MHz/8)
|
MCFG_MB8877x_ADD(MB8877_TAG, XTAL_16MHz/16)
|
||||||
MCFG_FLOPPY_DRIVE_ADD(MB8877_TAG":0", bullet_525_floppies, "525qd", NULL, floppy_image_device::default_floppy_formats)
|
MCFG_FLOPPY_DRIVE_ADD(MB8877_TAG":0", bullet_525_floppies, "525qd", NULL, floppy_image_device::default_floppy_formats)
|
||||||
MCFG_FLOPPY_DRIVE_ADD(MB8877_TAG":1", bullet_525_floppies, NULL, NULL, floppy_image_device::default_floppy_formats)
|
MCFG_FLOPPY_DRIVE_ADD(MB8877_TAG":1", bullet_525_floppies, NULL, NULL, floppy_image_device::default_floppy_formats)
|
||||||
MCFG_FLOPPY_DRIVE_ADD(MB8877_TAG":2", bullet_525_floppies, NULL, NULL, floppy_image_device::default_floppy_formats)
|
MCFG_FLOPPY_DRIVE_ADD(MB8877_TAG":2", bullet_525_floppies, NULL, NULL, floppy_image_device::default_floppy_formats)
|
||||||
@ -1198,7 +1240,7 @@ static MACHINE_CONFIG_START( bullet, bullet_state )
|
|||||||
MCFG_FLOPPY_DRIVE_ADD(MB8877_TAG":6", bullet_8_floppies, NULL, NULL, floppy_image_device::default_floppy_formats)
|
MCFG_FLOPPY_DRIVE_ADD(MB8877_TAG":6", bullet_8_floppies, NULL, NULL, floppy_image_device::default_floppy_formats)
|
||||||
MCFG_FLOPPY_DRIVE_ADD(MB8877_TAG":7", bullet_8_floppies, NULL, NULL, floppy_image_device::default_floppy_formats)
|
MCFG_FLOPPY_DRIVE_ADD(MB8877_TAG":7", bullet_8_floppies, NULL, NULL, floppy_image_device::default_floppy_formats)
|
||||||
MCFG_CENTRONICS_PRINTER_ADD(CENTRONICS_TAG, standard_centronics)
|
MCFG_CENTRONICS_PRINTER_ADD(CENTRONICS_TAG, standard_centronics)
|
||||||
MCFG_SERIAL_TERMINAL_ADD(TERMINAL_TAG, terminal_intf, 4800)
|
MCFG_SERIAL_TERMINAL_ADD(TERMINAL_TAG, terminal_intf, 9600)
|
||||||
|
|
||||||
// software lists
|
// software lists
|
||||||
MCFG_SOFTWARE_LIST_ADD("flop_list", "wmbullet")
|
MCFG_SOFTWARE_LIST_ADD("flop_list", "wmbullet")
|
||||||
@ -1226,7 +1268,7 @@ static MACHINE_CONFIG_START( bulletf, bulletf_state )
|
|||||||
MCFG_Z80DART_ADD(Z80DART_TAG, XTAL_16MHz/4, dart_intf)
|
MCFG_Z80DART_ADD(Z80DART_TAG, XTAL_16MHz/4, dart_intf)
|
||||||
MCFG_Z80DMA_ADD(Z80DMA_TAG, XTAL_16MHz/4, dma_intf)
|
MCFG_Z80DMA_ADD(Z80DMA_TAG, XTAL_16MHz/4, dma_intf)
|
||||||
MCFG_Z80PIO_ADD(Z80PIO_TAG, XTAL_16MHz/4, bulletf_pio_intf)
|
MCFG_Z80PIO_ADD(Z80PIO_TAG, XTAL_16MHz/4, bulletf_pio_intf)
|
||||||
MCFG_MB8877x_ADD(MB8877_TAG, XTAL_16MHz/8)
|
MCFG_MB8877x_ADD(MB8877_TAG, XTAL_16MHz/16)
|
||||||
MCFG_FLOPPY_DRIVE_ADD(MB8877_TAG":0", bullet_525_floppies, "525qd", NULL, floppy_image_device::default_floppy_formats)
|
MCFG_FLOPPY_DRIVE_ADD(MB8877_TAG":0", bullet_525_floppies, "525qd", NULL, floppy_image_device::default_floppy_formats)
|
||||||
MCFG_FLOPPY_DRIVE_ADD(MB8877_TAG":1", bullet_525_floppies, NULL, NULL, floppy_image_device::default_floppy_formats)
|
MCFG_FLOPPY_DRIVE_ADD(MB8877_TAG":1", bullet_525_floppies, NULL, NULL, floppy_image_device::default_floppy_formats)
|
||||||
MCFG_FLOPPY_DRIVE_ADD(MB8877_TAG":2", bullet_525_floppies, NULL, NULL, floppy_image_device::default_floppy_formats)
|
MCFG_FLOPPY_DRIVE_ADD(MB8877_TAG":2", bullet_525_floppies, NULL, NULL, floppy_image_device::default_floppy_formats)
|
||||||
@ -1238,7 +1280,7 @@ static MACHINE_CONFIG_START( bulletf, bulletf_state )
|
|||||||
MCFG_FLOPPY_DRIVE_ADD(MB8877_TAG":8", bullet_35_floppies, NULL, NULL, floppy_image_device::default_floppy_formats)
|
MCFG_FLOPPY_DRIVE_ADD(MB8877_TAG":8", bullet_35_floppies, NULL, NULL, floppy_image_device::default_floppy_formats)
|
||||||
MCFG_FLOPPY_DRIVE_ADD(MB8877_TAG":9", bullet_35_floppies, NULL, NULL, floppy_image_device::default_floppy_formats)
|
MCFG_FLOPPY_DRIVE_ADD(MB8877_TAG":9", bullet_35_floppies, NULL, NULL, floppy_image_device::default_floppy_formats)
|
||||||
MCFG_CENTRONICS_PRINTER_ADD(CENTRONICS_TAG, standard_centronics)
|
MCFG_CENTRONICS_PRINTER_ADD(CENTRONICS_TAG, standard_centronics)
|
||||||
MCFG_SERIAL_TERMINAL_ADD(TERMINAL_TAG, terminal_intf, 4800)
|
MCFG_SERIAL_TERMINAL_ADD(TERMINAL_TAG, terminal_intf, 9600)
|
||||||
|
|
||||||
MCFG_SCSIBUS_ADD(SCSIBUS_TAG)
|
MCFG_SCSIBUS_ADD(SCSIBUS_TAG)
|
||||||
MCFG_SCSIDEV_ADD(SCSIBUS_TAG ":harddisk0", SCSIHD, SCSI_ID_0)
|
MCFG_SCSIDEV_ADD(SCSIBUS_TAG ":harddisk0", SCSIHD, SCSI_ID_0)
|
||||||
|
@ -10,6 +10,7 @@
|
|||||||
|
|
||||||
TODO:
|
TODO:
|
||||||
|
|
||||||
|
- floppy broken
|
||||||
- keyboard CPU ROM
|
- keyboard CPU ROM
|
||||||
- graphics board
|
- graphics board
|
||||||
- Tandy 6000 HD
|
- Tandy 6000 HD
|
||||||
@ -230,11 +231,17 @@ WRITE8_MEMBER( trs80m2_state::drvslt_w )
|
|||||||
|
|
||||||
m_fdc->set_floppy(m_floppy);
|
m_fdc->set_floppy(m_floppy);
|
||||||
|
|
||||||
|
if (m_floppy)
|
||||||
|
{
|
||||||
// side select
|
// side select
|
||||||
if (m_floppy) m_floppy->ss_w(!BIT(data, 6));
|
m_floppy->ss_w(!BIT(data, 6));
|
||||||
|
|
||||||
|
// motor
|
||||||
|
m_floppy->mon_w(0);
|
||||||
|
}
|
||||||
|
|
||||||
// FM/MFM
|
// FM/MFM
|
||||||
m_fdc->dden_w(BIT(data, 7));
|
m_fdc->dden_w(!BIT(data, 7));
|
||||||
}
|
}
|
||||||
|
|
||||||
READ8_MEMBER( trs80m2_state::keyboard_r )
|
READ8_MEMBER( trs80m2_state::keyboard_r )
|
||||||
@ -1003,7 +1010,7 @@ static MACHINE_CONFIG_START( trs80m2, trs80m2_state )
|
|||||||
MCFG_MC6845_ADD(MC6845_TAG, MC6845, XTAL_12_48MHz/8, mc6845_intf)
|
MCFG_MC6845_ADD(MC6845_TAG, MC6845, XTAL_12_48MHz/8, mc6845_intf)
|
||||||
|
|
||||||
// devices
|
// devices
|
||||||
MCFG_FD1791x_ADD(FD1791_TAG, XTAL_8MHz/8)
|
MCFG_FD1791x_ADD(FD1791_TAG, XTAL_8MHz/4)
|
||||||
MCFG_Z80CTC_ADD(Z80CTC_TAG, XTAL_8MHz/2, ctc_intf)
|
MCFG_Z80CTC_ADD(Z80CTC_TAG, XTAL_8MHz/2, ctc_intf)
|
||||||
MCFG_TIMER_DRIVER_ADD_PERIODIC("ctc", trs80m2_state, ctc_tick, attotime::from_hz(XTAL_8MHz/2/2))
|
MCFG_TIMER_DRIVER_ADD_PERIODIC("ctc", trs80m2_state, ctc_tick, attotime::from_hz(XTAL_8MHz/2/2))
|
||||||
MCFG_Z80DMA_ADD(Z80DMA_TAG, XTAL_8MHz/2, dma_intf)
|
MCFG_Z80DMA_ADD(Z80DMA_TAG, XTAL_8MHz/2, dma_intf)
|
||||||
@ -1054,7 +1061,7 @@ static MACHINE_CONFIG_START( trs80m16, trs80m16_state )
|
|||||||
MCFG_MC6845_ADD(MC6845_TAG, MC6845, XTAL_12_48MHz/8, mc6845_intf)
|
MCFG_MC6845_ADD(MC6845_TAG, MC6845, XTAL_12_48MHz/8, mc6845_intf)
|
||||||
|
|
||||||
// devices
|
// devices
|
||||||
MCFG_FD1791x_ADD(FD1791_TAG, XTAL_8MHz/8)
|
MCFG_FD1791x_ADD(FD1791_TAG, XTAL_8MHz/4)
|
||||||
MCFG_Z80CTC_ADD(Z80CTC_TAG, XTAL_8MHz/2, ctc_intf)
|
MCFG_Z80CTC_ADD(Z80CTC_TAG, XTAL_8MHz/2, ctc_intf)
|
||||||
MCFG_TIMER_DRIVER_ADD_PERIODIC("ctc", trs80m2_state, ctc_tick, attotime::from_hz(XTAL_8MHz/2/2))
|
MCFG_TIMER_DRIVER_ADD_PERIODIC("ctc", trs80m2_state, ctc_tick, attotime::from_hz(XTAL_8MHz/2/2))
|
||||||
MCFG_Z80DMA_ADD(Z80DMA_TAG, XTAL_8MHz/2, dma_intf)
|
MCFG_Z80DMA_ADD(Z80DMA_TAG, XTAL_8MHz/2, dma_intf)
|
||||||
@ -1156,7 +1163,7 @@ ROM_END
|
|||||||
//**************************************************************************
|
//**************************************************************************
|
||||||
|
|
||||||
// YEAR NAME PARENT COMPAT MACHINE INPUT INIT COMPANY FULLNAME FLAGS
|
// YEAR NAME PARENT COMPAT MACHINE INPUT INIT COMPANY FULLNAME FLAGS
|
||||||
COMP( 1979, trs80m2, 0, 0, trs80m2, trs80m2, driver_device, 0, "Tandy Radio Shack", "TRS-80 Model II", GAME_NO_SOUND_HW | GAME_IMPERFECT_KEYBOARD )
|
COMP( 1979, trs80m2, 0, 0, trs80m2, trs80m2, driver_device, 0, "Tandy Radio Shack", "TRS-80 Model II", GAME_NO_SOUND_HW | GAME_NOT_WORKING | GAME_IMPERFECT_KEYBOARD )
|
||||||
COMP( 1982, trs80m16, trs80m2, 0, trs80m16, trs80m2, driver_device, 0, "Tandy Radio Shack", "TRS-80 Model 16", GAME_NO_SOUND_HW | GAME_NOT_WORKING | GAME_IMPERFECT_KEYBOARD )
|
COMP( 1982, trs80m16, trs80m2, 0, trs80m16, trs80m2, driver_device, 0, "Tandy Radio Shack", "TRS-80 Model 16", GAME_NO_SOUND_HW | GAME_NOT_WORKING | GAME_IMPERFECT_KEYBOARD )
|
||||||
//COMP( 1983, trs80m12, trs80m2, 0, trs80m16, trs80m2, driver_device, 0, "Tandy Radio Shack", "TRS-80 Model 12", GAME_NO_SOUND_HW | GAME_NOT_WORKING | GAME_IMPERFECT_KEYBOARD )
|
//COMP( 1983, trs80m12, trs80m2, 0, trs80m16, trs80m2, driver_device, 0, "Tandy Radio Shack", "TRS-80 Model 12", GAME_NO_SOUND_HW | GAME_NOT_WORKING | GAME_IMPERFECT_KEYBOARD )
|
||||||
//COMP( 1984, trs80m16b,trs80m2, 0, trs80m16, trs80m2, driver_device, 0, "Tandy Radio Shack", "TRS-80 Model 16B", GAME_NO_SOUND_HW | GAME_NOT_WORKING | GAME_IMPERFECT_KEYBOARD )
|
//COMP( 1984, trs80m16b,trs80m2, 0, trs80m16, trs80m2, driver_device, 0, "Tandy Radio Shack", "TRS-80 Model 16B", GAME_NO_SOUND_HW | GAME_NOT_WORKING | GAME_IMPERFECT_KEYBOARD )
|
||||||
|
@ -95,6 +95,7 @@ Notes:
|
|||||||
|
|
||||||
TODO:
|
TODO:
|
||||||
|
|
||||||
|
- floppy broken
|
||||||
- write to banked RAM at 0x0000-0x1fff when ROM is active
|
- write to banked RAM at 0x0000-0x1fff when ROM is active
|
||||||
- real keyboard w/i8049
|
- real keyboard w/i8049
|
||||||
- keyboard beeper (NE555 wired in strange mix of astable/monostable modes)
|
- keyboard beeper (NE555 wired in strange mix of astable/monostable modes)
|
||||||
@ -1131,4 +1132,4 @@ ROM_END
|
|||||||
// System Drivers
|
// System Drivers
|
||||||
|
|
||||||
// YEAR NAME PARENT COMPAT MACHINE INPUT INIT COMPANY FULLNAME FLAGS
|
// YEAR NAME PARENT COMPAT MACHINE INPUT INIT COMPANY FULLNAME FLAGS
|
||||||
COMP( 1983, v1050, 0, 0, v1050, v1050, driver_device, 0, "Visual Technology Inc", "Visual 1050", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE | GAME_NO_SOUND | GAME_IMPERFECT_KEYBOARD )
|
COMP( 1983, v1050, 0, 0, v1050, v1050, driver_device, 0, "Visual Technology Inc", "Visual 1050", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE | GAME_NO_SOUND | GAME_IMPERFECT_KEYBOARD )
|
||||||
|
@ -49,7 +49,10 @@ public:
|
|||||||
m_floppy(NULL),
|
m_floppy(NULL),
|
||||||
m_terminal(*this, TERMINAL_TAG),
|
m_terminal(*this, TERMINAL_TAG),
|
||||||
m_centronics(*this, CENTRONICS_TAG),
|
m_centronics(*this, CENTRONICS_TAG),
|
||||||
m_fdrdy(0)
|
m_sw1(*this, "SW1"),
|
||||||
|
m_fdrdy(0),
|
||||||
|
m_exdsk_sw(false),
|
||||||
|
m_hdcon_sw(false)
|
||||||
{ }
|
{ }
|
||||||
|
|
||||||
required_device<cpu_device> m_maincpu;
|
required_device<cpu_device> m_maincpu;
|
||||||
@ -69,6 +72,7 @@ public:
|
|||||||
floppy_image_device *m_floppy;
|
floppy_image_device *m_floppy;
|
||||||
required_device<serial_terminal_device> m_terminal;
|
required_device<serial_terminal_device> m_terminal;
|
||||||
required_device<centronics_device> m_centronics;
|
required_device<centronics_device> m_centronics;
|
||||||
|
required_ioport m_sw1;
|
||||||
|
|
||||||
virtual void machine_start();
|
virtual void machine_start();
|
||||||
virtual void machine_reset();
|
virtual void machine_reset();
|
||||||
@ -110,6 +114,8 @@ public:
|
|||||||
int m_winrdy;
|
int m_winrdy;
|
||||||
int m_exrdy1;
|
int m_exrdy1;
|
||||||
int m_exrdy2;
|
int m_exrdy2;
|
||||||
|
bool m_exdsk_sw;
|
||||||
|
bool m_hdcon_sw;
|
||||||
|
|
||||||
TIMER_DEVICE_CALLBACK_MEMBER(ctc_tick);
|
TIMER_DEVICE_CALLBACK_MEMBER(ctc_tick);
|
||||||
DECLARE_WRITE_LINE_MEMBER(dart_rxtxca_w);
|
DECLARE_WRITE_LINE_MEMBER(dart_rxtxca_w);
|
||||||
|
Loading…
Reference in New Issue
Block a user