diff options
Diffstat (limited to 'src/mame/drivers/pulsar.cpp')
-rw-r--r-- | src/mame/drivers/pulsar.cpp | 27 |
1 files changed, 15 insertions, 12 deletions
diff --git a/src/mame/drivers/pulsar.cpp b/src/mame/drivers/pulsar.cpp index 0f0f425da38..a6929df412e 100644 --- a/src/mame/drivers/pulsar.cpp +++ b/src/mame/drivers/pulsar.cpp @@ -16,7 +16,10 @@ The terminal must be set for 9600 baud, 7 bits, even parity, 1 stop bit. ToDo: -- Need software +- Fix floppy. It needs to WAIT the cpu whenever port 0xD3 is read, wait + for either DRQ ir INTRQ to assert, then release the cpu and then do the + actual port read. Our Z80 cannot do that. +- Fix FDC so MAME doesn't crash when a certain disk is inserted. Monitor Commands: @@ -71,8 +74,8 @@ private: DECLARE_WRITE8_MEMBER(ppi_pc_w); DECLARE_READ8_MEMBER(ppi_pc_r); - void pulsar_io(address_map &map); - void pulsar_mem(address_map &map); + void io_map(address_map &map); + void mem_map(address_map &map); floppy_image_device *m_floppy; required_device<cpu_device> m_maincpu; @@ -82,7 +85,7 @@ private: required_device<msm5832_device> m_rtc; }; -void pulsar_state::pulsar_mem(address_map &map) +void pulsar_state::mem_map(address_map &map) { map.unmap_value_high(); map(0x0000, 0x07ff).bankr("bankr0").bankw("bankw0"); @@ -90,7 +93,7 @@ void pulsar_state::pulsar_mem(address_map &map) map(0xf800, 0xffff).bankr("bankr1").bankw("bankw1"); } -void pulsar_state::pulsar_io(address_map &map) +void pulsar_state::io_map(address_map &map) { map.unmap_value_high(); map.global_mask(0xff); @@ -176,7 +179,7 @@ DEVICE_INPUT_DEFAULTS_END static void pulsar_floppies(device_slot_interface &device) { - device.option_add("525hd", FLOPPY_525_HD); + device.option_add("flop", FLOPPY_8_DSDD); } /* Input ports */ @@ -209,8 +212,8 @@ void pulsar_state::init_pulsar() MACHINE_CONFIG_START(pulsar_state::pulsar) /* basic machine hardware */ MCFG_DEVICE_ADD("maincpu", Z80, 4_MHz_XTAL) - MCFG_DEVICE_PROGRAM_MAP(pulsar_mem) - MCFG_DEVICE_IO_MAP(pulsar_io) + MCFG_DEVICE_PROGRAM_MAP(mem_map) + MCFG_DEVICE_IO_MAP(io_map) MCFG_Z80_DAISY_CHAIN(daisy_chain_intf) MCFG_MACHINE_RESET_OVERRIDE(pulsar_state, pulsar) @@ -242,9 +245,9 @@ MACHINE_CONFIG_START(pulsar_state::pulsar) brg.ft_handler().append("dart", FUNC(z80dart_device::rxcb_w)); MCFG_DEVICE_ADD("fdc", FD1797, 4_MHz_XTAL / 2) - MCFG_FLOPPY_DRIVE_ADD("fdc:0", pulsar_floppies, "525hd", floppy_image_device::default_floppy_formats) + MCFG_FLOPPY_DRIVE_ADD("fdc:0", pulsar_floppies, "flop", floppy_image_device::default_floppy_formats) MCFG_FLOPPY_DRIVE_SOUND(true) - MCFG_FLOPPY_DRIVE_ADD("fdc:1", pulsar_floppies, "525hd", floppy_image_device::default_floppy_formats) + MCFG_FLOPPY_DRIVE_ADD("fdc:1", pulsar_floppies, "flop", floppy_image_device::default_floppy_formats) MCFG_FLOPPY_DRIVE_SOUND(true) MACHINE_CONFIG_END @@ -252,9 +255,9 @@ MACHINE_CONFIG_END ROM_START( pulsarlb ) ROM_REGION( 0x10800, "maincpu", ROMREGION_ERASEFF ) ROM_SYSTEM_BIOS(0, "mon7", "MP7A") - ROMX_LOAD( "mp7a.bin", 0x10000, 0x800, CRC(726b8a19) SHA1(43b2af84d5622c1f67584c501b730acf002a6113), ROM_BIOS(0)) + ROMX_LOAD( "mp7a.u2", 0x10000, 0x800, CRC(726b8a19) SHA1(43b2af84d5622c1f67584c501b730acf002a6113), ROM_BIOS(0)) ROM_SYSTEM_BIOS(1, "mon6", "LBOOT6") // Blank screen until floppy boots - ROMX_LOAD( "lboot6.rom", 0x10000, 0x800, CRC(3bca9096) SHA1(ff99288e51a9e832785ce8e3ab5a9452b1064231), ROM_BIOS(1)) + ROMX_LOAD( "lboot6.u2", 0x10000, 0x800, CRC(3bca9096) SHA1(ff99288e51a9e832785ce8e3ab5a9452b1064231), ROM_BIOS(1)) ROM_END /* Driver */ |