summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Robbbert <Robbbert@users.noreply.github.com>2018-07-27 00:18:55 +1000
committer Robbbert <Robbbert@users.noreply.github.com>2018-07-27 00:18:55 +1000
commit85eaf871946af5ee509154a48ac497157c0c341d (patch)
treea90f91eececcd0b6af8c82412112ce34d83c15e9
parent9db24aa2e965d8469d000a7429679fd06c048406 (diff)
(nw) pulsarlb : notes
-rw-r--r--src/mame/drivers/pulsar.cpp27
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 */