summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/bus
diff options
context:
space:
mode:
author Vas Crabb <vas@vastheman.com>2019-11-24 13:52:11 +1100
committer Vas Crabb <vas@vastheman.com>2019-11-24 13:52:11 +1100
commite64edf6c7127fb8291a157026f3ac72e38c78d80 (patch)
tree092564456a138ad98775b989ea6073e4c75a7abd /src/devices/bus
parent6e8748952730a23a507c415c92398205238d1367 (diff)
srcclean and indentation cleanup (nw)
Diffstat (limited to 'src/devices/bus')
-rw-r--r--src/devices/bus/bbc/exp/autocue.cpp2
-rw-r--r--src/devices/bus/bbc/internal/aries.cpp4
-rw-r--r--src/devices/bus/bbc/internal/integrab.cpp28
-rw-r--r--src/devices/bus/bbc/internal/stl4m32.cpp6
-rw-r--r--src/devices/bus/isa/eis_hgb107x.h2
-rw-r--r--src/devices/bus/isa/eis_twib.cpp6
-rw-r--r--src/devices/bus/sbus/cgsix.h26
-rw-r--r--src/devices/bus/spectrum/exp.h2
-rw-r--r--src/devices/bus/spectrum/mface.cpp176
-rw-r--r--src/devices/bus/spectrum/mface.h4
-rw-r--r--src/devices/bus/spectrum/mgt.cpp312
-rw-r--r--src/devices/bus/spectrum/mgt.h10
-rw-r--r--src/devices/bus/ti99/colorbus/colorbus.cpp2
-rw-r--r--src/devices/bus/ti99/joyport/joyport.cpp2
14 files changed, 291 insertions, 291 deletions
diff --git a/src/devices/bus/bbc/exp/autocue.cpp b/src/devices/bus/bbc/exp/autocue.cpp
index 929f4eb2eaa..8b8e1e5cd71 100644
--- a/src/devices/bus/bbc/exp/autocue.cpp
+++ b/src/devices/bus/bbc/exp/autocue.cpp
@@ -97,4 +97,4 @@ void bbc_autocue_device::jim_w(offs_t offset, uint8_t data)
{
m_ram[(m_ram_page << 8) | offset] = data;
}
-} \ No newline at end of file
+}
diff --git a/src/devices/bus/bbc/internal/aries.cpp b/src/devices/bus/bbc/internal/aries.cpp
index 6bda361d7bd..1ee29009129 100644
--- a/src/devices/bus/bbc/internal/aries.cpp
+++ b/src/devices/bus/bbc/internal/aries.cpp
@@ -294,7 +294,7 @@ uint8_t bbc_ariesb32_device::ram_r(offs_t offset)
void bbc_ariesb32_device::ram_w(offs_t offset, uint8_t data)
{
//if ((offset & 0xff) == 0x00)
- // logerror("ram_w: %04x = %02x\n", offset, data);
+ // logerror("ram_w: %04x = %02x\n", offset, data);
if (m_shadow && offset >= 0x3000)
m_ram[offset - 0x3000] = data;
else
@@ -324,7 +324,7 @@ uint8_t bbc_ariesb32_device::paged_r(offs_t offset)
void bbc_ariesb32_device::paged_w(offs_t offset, uint8_t data)
{
//if ((offset & 0xff) == 0x00)
- // logerror("paged_w: %04x = %02x\n", offset | 0x8000, data);
+ // logerror("paged_w: %04x = %02x\n", offset | 0x8000, data);
if (m_rom[m_romsel])
{
m_rom[m_romsel]->write(offset, data);
diff --git a/src/devices/bus/bbc/internal/integrab.cpp b/src/devices/bus/bbc/internal/integrab.cpp
index 0bba0add02c..63134bc765b 100644
--- a/src/devices/bus/bbc/internal/integrab.cpp
+++ b/src/devices/bus/bbc/internal/integrab.cpp
@@ -1,4 +1,4 @@
-// license:BSD-3-Clause
+// license:BSD-3-Clause
// copyright-holders:Nigel Barnes
/**********************************************************************
@@ -169,19 +169,19 @@ uint8_t bbc_integrab_device::romsel_r(offs_t offset)
void bbc_integrab_device::romsel_w(offs_t offset, uint8_t data)
{
/*
- ROMSEL & ROMID
- Bits 0,3 ROMNUM Sideways ROM/RAM select bits
- Bits 4,5 Not used
- Bit 6 PRVEN Private RAM enable
- Bit 7 MEMSEL Shadow/Main RAM toggle
-
- RAMSEL & RAMID
- Bits 0,1 AUX0,1 Not used but must be preserved
- Bits 2,3 Not used
- Bit 4 PRVS8 Private RAM 8K area select (&9000-&AFFF)
- Bit 5 PRVS4 Private RAM 4K area select (&8000-&8FFF)
- Bit 6 PRVS1 Private RAM 1K area select (&8000-&83FF)
- Bit 7 SHEN Shadow RAM enable bit
+ ROMSEL & ROMID
+ Bits 0,3 ROMNUM Sideways ROM/RAM select bits
+ Bits 4,5 Not used
+ Bit 6 PRVEN Private RAM enable
+ Bit 7 MEMSEL Shadow/Main RAM toggle
+
+ RAMSEL & RAMID
+ Bits 0,1 AUX0,1 Not used but must be preserved
+ Bits 2,3 Not used
+ Bit 4 PRVS8 Private RAM 8K area select (&9000-&AFFF)
+ Bit 5 PRVS4 Private RAM 4K area select (&8000-&8FFF)
+ Bit 6 PRVS1 Private RAM 1K area select (&8000-&83FF)
+ Bit 7 SHEN Shadow RAM enable bit
*/
switch (offset & 0x0c)
{
diff --git a/src/devices/bus/bbc/internal/stl4m32.cpp b/src/devices/bus/bbc/internal/stl4m32.cpp
index bd5e3e0d40e..5d3782c36ac 100644
--- a/src/devices/bus/bbc/internal/stl4m32.cpp
+++ b/src/devices/bus/bbc/internal/stl4m32.cpp
@@ -281,7 +281,7 @@ uint8_t bbc_stl4m32_device::mos_r(offs_t offset)
//if (BIT(m_shadow, 7) && offset >= 0x2000)
//{
- // data = m_ram[offset];
+ // data = m_ram[offset];
//}
//else
//{
@@ -298,6 +298,6 @@ void bbc_stl4m32_device::mos_w(offs_t offset, uint8_t data)
//if (BIT(m_romsel, 7) && offset >= 0x2000)
//{
- // m_ram[offset] = data;
+ // m_ram[offset] = data;
//}
-} \ No newline at end of file
+}
diff --git a/src/devices/bus/isa/eis_hgb107x.h b/src/devices/bus/isa/eis_hgb107x.h
index 711f385278f..8156633df9f 100644
--- a/src/devices/bus/isa/eis_hgb107x.h
+++ b/src/devices/bus/isa/eis_hgb107x.h
@@ -75,7 +75,7 @@ private:
ATTR_FOREG = 0x07,
ATTR_ULINE = 0x01,
};
-
+
required_device<mc6845_device> m_crtc;
MC6845_UPDATE_ROW( crtc_update_row );
diff --git a/src/devices/bus/isa/eis_twib.cpp b/src/devices/bus/isa/eis_twib.cpp
index 8902ead74ef..5d465cef327 100644
--- a/src/devices/bus/isa/eis_twib.cpp
+++ b/src/devices/bus/isa/eis_twib.cpp
@@ -36,7 +36,7 @@
| IC4 IC3 Resistor DIL IC6 ooooo o5 o5 IC9 P2|| |- BNC(3270)
| 74LS00 74LS00 1234567890 74LS86 ooooo 1o o4 1o o4 74LS245 ||---
| SW1 DIP 2o o3 2o o3 ____|
- +----------------------------------------------------------------------------------|o___|
+ +----------------------------------------------------------------------------------|o___|
||||||||||||||||||||||||| |
Notes |
------------------------------------------------------------------------------ |
@@ -49,7 +49,7 @@
-------------------
This is a passive ISA8 board that should be fitted into an Ericsson PC (epc) and
driven by suitable software. It was replaced by the ISA16 SAD8852 intelligent TWIB
- board for WS286 and higher a few years later.
+ board for WS286 and higher a few years later.
*/
@@ -246,7 +246,7 @@ void isa8_eistwib_device::device_reset()
int base = m_sw1->read();
if (!m_installed)
{
- LOG("Installing twib device at %04x\n", base);
+ LOG("Installing twib device at %04x\n", base);
m_isa->install_device(
base, base + 0x0f,
read8_delegate(*this, FUNC( isa8_eistwib_device::twib_r )),
diff --git a/src/devices/bus/sbus/cgsix.h b/src/devices/bus/sbus/cgsix.h
index 47423f1e724..71acec329a9 100644
--- a/src/devices/bus/sbus/cgsix.h
+++ b/src/devices/bus/sbus/cgsix.h
@@ -82,23 +82,23 @@ protected:
enum
{
- THC_MISC_IRQ_BIT = 4,
- THC_MISC_IRQEN_BIT = 5,
- THC_MISC_CURRES_BIT = 6,
- THC_MISC_SYNCEN_BIT = 7,
- THC_MISC_VSYNC_BIT = 8,
- THC_MISC_SYNC_BIT = 9,
- THC_MISC_ENVID_BIT = 10,
- THC_MISC_RESET_BIT = 12,
+ THC_MISC_IRQ_BIT = 4,
+ THC_MISC_IRQEN_BIT = 5,
+ THC_MISC_CURRES_BIT = 6,
+ THC_MISC_SYNCEN_BIT = 7,
+ THC_MISC_VSYNC_BIT = 8,
+ THC_MISC_SYNC_BIT = 9,
+ THC_MISC_ENVID_BIT = 10,
+ THC_MISC_RESET_BIT = 12,
THC_MISC_REV = 0x00010000,
- THC_MISC_WRITE_MASK = 0x000014ff
+ THC_MISC_WRITE_MASK = 0x000014ff
};
enum
{
- FBC_CONFIG_FBID = 0x60000000,
- FBC_CONFIG_VERSION = 0x00100000,
- FBC_CONFIG_MASK = 0x000f3fff
+ FBC_CONFIG_FBID = 0x60000000,
+ FBC_CONFIG_VERSION = 0x00100000,
+ FBC_CONFIG_MASK = 0x000f3fff
};
enum
@@ -257,7 +257,7 @@ protected:
enum
{
- FBC_CONFIG = 0x000/4,
+ FBC_CONFIG = 0x000/4,
FBC_MISC = 0x004/4,
FBC_CLIP_CHECK = 0x008/4,
diff --git a/src/devices/bus/spectrum/exp.h b/src/devices/bus/spectrum/exp.h
index 366e27c9e5e..91d1922c577 100644
--- a/src/devices/bus/spectrum/exp.h
+++ b/src/devices/bus/spectrum/exp.h
@@ -8,7 +8,7 @@
Pinout:
- 48K 128K/+2 +2A/+2B/+3/3B
+ 48K 128K/+2 +2A/+2B/+3/3B
A B A B A B
A15 1 A14 A15 1 A14 A15 1 A14
diff --git a/src/devices/bus/spectrum/mface.cpp b/src/devices/bus/spectrum/mface.cpp
index 1417c5db58c..8e26277de8a 100644
--- a/src/devices/bus/spectrum/mface.cpp
+++ b/src/devices/bus/spectrum/mface.cpp
@@ -2,81 +2,81 @@
// copyright-holders:Nigel Barnes
/*********************************************************************
- Romantic Robot Multiface One/128/3
- ----------------------------------
-
- " MULTI-PURPOSE INTERFACE FOR THE ZX SPECTRUM "
-
- MULTIFACE ONE comprises three interfaces in one box:
- 1) Fully universal and 100% automatic SAVE facility for tape, microdrive, wafadrive, Beta,
- Discovery and indirectly (via tape) for other disc systems
- 2) Joystick interface – Kempston compatible (IN 31)
- 3) 8K RAM extension – fully accessible, usable as a RAM disk, buffer etc. Also used by
- MULTIFACE for MULTI TOOLKIT routines, buffer & other purposes.
-
- © Romantic Robot UK Ltd 1985
-
-
- Multiface One
- -------------
- Many versions exist, a very good source of info is: https://x128.speccy.cz/multiface/multiface.htm
-
- Summary:
- Earliest version has 2KB of RAM, composite video output, and no toolkit (pokes only).
- Next version has 8KB of RAM, composite video output, and basic toolkit (including pokes).
- Latest and most common version dropped the composite video output, added an enable/disable switch, and full-featured toolkit.
- A special (and rare) version supports the Kempston Disc interface but drops Beta support. (not sold in stores, available only on request).
- At some point during "early" revisions, the page out port changed from 0x5f to 0x1f.
- Various clone/hacked rom versions are known to exist as well.
-
- Roms:
- The MUxx in the rom name is pcb revision (silkscreen marking).
- The two hex digits are the rom checksum.
- With the MF menu on-screen, press Symbol Shift + A (STOP) to see checksum, space to return.
-
- The enable/disable switch became necessary on later versions as games had started including checks to detect presence of the interface.
- eg. Renegade ("The Hit Squad" re-release) whilst loading, reads from 0x9f specifically to cause the MF (if present) to page in and crash the machine.
- Todo: confirm exact operation of disable switch.
-
- As mentioned in the user instructions, there is a "joystick disable" jumper inside the unit which must be cut to allow Beta disk compatibility.
- The joystick is not actually disabled but rather just data bus bits D6 + D7 are held hi-z for any reads of kempston range 0b000xxxxx.
-
- rom maps to 0x0000
- ram maps to 0x2000
-
- I/O R/W early ver late ver
- ---------+-----+-----------+-----------
- page in R 0x9f 0x9f
- page out R 0x5f 0x1f
- nmi reset W 0x5f 0x1f
- joystick R 0x1f 0x1f
-
-
- Multiface 128
- -------------
- 128K/+2 support (also works with 48K)
- DISCiPLE/Plus D disc support
- No joystick port
- Software enable/disable
- "Hypertape" recording (?)
-
- Todo ...
-
-
- Multiface 3
- -----------
- +2A/+2B/+3/3B support (doesn't work with 48K/128K/+2)
- +3 disk support
-
- Todo ...
-
-
- Multiprint
- ----------
- Version ? multiface with Centronics printer interface
-
- Todo ...
-
+ Romantic Robot Multiface One/128/3
+ ----------------------------------
+
+ " MULTI-PURPOSE INTERFACE FOR THE ZX SPECTRUM "
+
+ MULTIFACE ONE comprises three interfaces in one box:
+ 1) Fully universal and 100% automatic SAVE facility for tape, microdrive, wafadrive, Beta,
+ Discovery and indirectly (via tape) for other disc systems
+ 2) Joystick interface – Kempston compatible (IN 31)
+ 3) 8K RAM extension – fully accessible, usable as a RAM disk, buffer etc. Also used by
+ MULTIFACE for MULTI TOOLKIT routines, buffer & other purposes.
+
+ © Romantic Robot UK Ltd 1985
+
+
+ Multiface One
+ -------------
+ Many versions exist, a very good source of info is: https://x128.speccy.cz/multiface/multiface.htm
+
+ Summary:
+ Earliest version has 2KB of RAM, composite video output, and no toolkit (pokes only).
+ Next version has 8KB of RAM, composite video output, and basic toolkit (including pokes).
+ Latest and most common version dropped the composite video output, added an enable/disable switch, and full-featured toolkit.
+ A special (and rare) version supports the Kempston Disc interface but drops Beta support. (not sold in stores, available only on request).
+ At some point during "early" revisions, the page out port changed from 0x5f to 0x1f.
+ Various clone/hacked rom versions are known to exist as well.
+
+ Roms:
+ The MUxx in the rom name is pcb revision (silkscreen marking).
+ The two hex digits are the rom checksum.
+ With the MF menu on-screen, press Symbol Shift + A (STOP) to see checksum, space to return.
+
+ The enable/disable switch became necessary on later versions as games had started including checks to detect presence of the interface.
+ eg. Renegade ("The Hit Squad" re-release) whilst loading, reads from 0x9f specifically to cause the MF (if present) to page in and crash the machine.
+ Todo: confirm exact operation of disable switch.
+
+ As mentioned in the user instructions, there is a "joystick disable" jumper inside the unit which must be cut to allow Beta disk compatibility.
+ The joystick is not actually disabled but rather just data bus bits D6 + D7 are held hi-z for any reads of kempston range 0b000xxxxx.
+
+ rom maps to 0x0000
+ ram maps to 0x2000
+
+ I/O R/W early ver late ver
+ ---------+-----+-----------+-----------
+ page in R 0x9f 0x9f
+ page out R 0x5f 0x1f
+ nmi reset W 0x5f 0x1f
+ joystick R 0x1f 0x1f
+
+
+ Multiface 128
+ -------------
+ 128K/+2 support (also works with 48K)
+ DISCiPLE/Plus D disc support
+ No joystick port
+ Software enable/disable
+ "Hypertape" recording (?)
+
+ Todo ...
+
+
+ Multiface 3
+ -----------
+ +2A/+2B/+3/3B support (doesn't work with 48K/128K/+2)
+ +3 disk support
+
+ Todo ...
+
+
+ Multiprint
+ ----------
+ Version ? multiface with Centronics printer interface
+
+ Todo ...
+
*********************************************************************/
@@ -105,13 +105,13 @@ INPUT_PORTS_END
INPUT_PORTS_START( mface1 )
PORT_INCLUDE( mface )
-
+
PORT_START("CONFIG")
PORT_CONFNAME(0x01, 0x00, "Joystick Enable Jumper")
PORT_CONFSETTING(0x00, "Closed")
PORT_CONFSETTING(0x01, "Open")
PORT_BIT(0xfe, IP_ACTIVE_LOW, IPT_UNUSED)
-
+
PORT_START("JOY")
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT) PORT_8WAY
PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT) PORT_8WAY
@@ -153,17 +153,17 @@ ROM_END
/* Todo ...
- ROM_SYSTEM_BIOS(?, "mu12cb", "MU12 CB") // Very early version, 2KB RAM, page out port 0x5F
- ROMX_LOAD("mf1_12_cb.rom", 0x0000, 0x2000, CRC(c88fbf9f) SHA1(c3018d1b495b8bc0a135038db0987de7091c9d4c), ROM_BIOS(?))
+ ROM_SYSTEM_BIOS(?, "mu12cb", "MU12 CB") // Very early version, 2KB RAM, page out port 0x5F
+ ROMX_LOAD("mf1_12_cb.rom", 0x0000, 0x2000, CRC(c88fbf9f) SHA1(c3018d1b495b8bc0a135038db0987de7091c9d4c), ROM_BIOS(?))
- ROM_SYSTEM_BIOS(?, "mu2023", "MU 2.0 23") // pokes only (no toolkit), page out port 0x5F
- ROMX_LOAD("mf1_20_23.rom", 0x0000, 0x2000, CRC(d4ae8953) SHA1(b442eb634a72fb63f1ccbbd0021a7a581152888d), ROM_BIOS(?))
+ ROM_SYSTEM_BIOS(?, "mu2023", "MU 2.0 23") // pokes only (no toolkit), page out port 0x5F
+ ROMX_LOAD("mf1_20_23.rom", 0x0000, 0x2000, CRC(d4ae8953) SHA1(b442eb634a72fb63f1ccbbd0021a7a581152888d), ROM_BIOS(?))
- ROM_SYSTEM_BIOS(?, "mu2090", "MU 2.0, 90") // pokes only or full toolkit? NO DUMP?
- ROMX_LOAD("mf1_20_90.rom", 0x0000, 0x2000, CRC(2eaf8e41) SHA1(?), ROM_BIOS(?))
+ ROM_SYSTEM_BIOS(?, "mu2090", "MU 2.0, 90") // pokes only or full toolkit? NO DUMP?
+ ROMX_LOAD("mf1_20_90.rom", 0x0000, 0x2000, CRC(2eaf8e41) SHA1(?), ROM_BIOS(?))
- ROM_SYSTEM_BIOS(?, "v24", "MU ?? 93 (Brazilian clone)") // NO DUMP?
- ROMX_LOAD("mf1_bc_fe.rom", 0x0000, 0x2000, CRC(8c17113b) SHA1(?), ROM_BIOS(?))
+ ROM_SYSTEM_BIOS(?, "v24", "MU ?? 93 (Brazilian clone)") // NO DUMP?
+ ROMX_LOAD("mf1_bc_fe.rom", 0x0000, 0x2000, CRC(8c17113b) SHA1(?), ROM_BIOS(?))
*/
ROM_START(mface128)
@@ -304,7 +304,7 @@ void spectrum_mface_base_device::pre_opcode_fetch(offs_t offset)
uint8_t spectrum_mface1_device::iorq_r(offs_t offset)
{
uint8_t data = m_exp->iorq_r(offset);
-
+
if (!machine().side_effects_disabled())
{
switch (offset & 0xff)
@@ -392,7 +392,7 @@ void spectrum_mface1_device::iorq_w(offs_t offset, uint8_t data)
m_slot->nmi_w(CLEAR_LINE);
break;
}
-
+
m_exp->iorq_w(offset, data);
}
@@ -451,7 +451,7 @@ INPUT_CHANGED_MEMBER(spectrum_mface1_device::magic_button)
{
if (newval && !oldval) // key released
{
-
+
}
else // key pressed
{
diff --git a/src/devices/bus/spectrum/mface.h b/src/devices/bus/spectrum/mface.h
index 9f3d89ae6dc..7d5ed5b2145 100644
--- a/src/devices/bus/spectrum/mface.h
+++ b/src/devices/bus/spectrum/mface.h
@@ -54,7 +54,7 @@ class spectrum_mface1_device : public spectrum_mface_base_device
{
public:
spectrum_mface1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
-
+
DECLARE_INPUT_CHANGED_MEMBER(magic_button) override;
protected:
@@ -64,7 +64,7 @@ protected:
virtual uint8_t iorq_r(offs_t offset) override;
virtual void iorq_w(offs_t offset, uint8_t data) override;
-
+
private:
required_ioport m_joy;
required_ioport m_hwconfig;
diff --git a/src/devices/bus/spectrum/mgt.cpp b/src/devices/bus/spectrum/mgt.cpp
index 10fb90e1b93..49868413649 100644
--- a/src/devices/bus/spectrum/mgt.cpp
+++ b/src/devices/bus/spectrum/mgt.cpp
@@ -2,141 +2,141 @@
// copyright-holders:TwistedTom
/**********************************************************************
- DISCiPLE Multi-purpose Interface
- +D Disk and Printer Interface
-
- Miles Gordon Technology, UK, 1986-1990 (also produced the Sam Coupé home computer.)
-
- DISCiPLE was MGT's first disk interface, a large plastic base that sat under the Spectrum, similar to Sinclair's official Interface 1.
- +D was MGT's second (and last) disk interface, a cost and feature reduced version of the Disciple, a small metal-cased,
- stand-alone unit which connects to ZX Spectrum's expansion slot via a ribbon cable.
- A second Datel version of the +D exists (following the closure of MGT, it was licensed and produced by Datel.)
- Many unofficial versions of +D exist and modern versions are still seen today as DIY-style projects/kits.
- It's said the device's design and roms were officially released into the public domain at some point?
-
- DISCiPLE features:
- 8KB ROM
- 8KB RAM
- single floppy disk interface (2 drives)
- Centronics parallel printer interface
- "magic button" style memory snapshot grabber
- 2 ATARI joystick ports (Sinclair 1/Kempston, Sinclair 2)
- 2 network connectors (Interface 1 compatible, 3.5mm mono jack)
- inhibit button (to lock out the interface)
- pass-through expansion connector (to chain other devices)
-
- +D features:
- same as DISCiPLE
- lost the joystick/network ports, inhibit button and pass-through expansion connector
-
- DISCiPLE's official DOS was "GDOS".
- +D's official DOS was "G+DOS".
- Both of these were later superseded by "SAM DOS" (used by MGT's Sam Coupé.)
- A 3rd party company SD Software released an alternative DOS "UNI-DOS" for both interfaces. (consisting of a disk and replacement ROM)
-
- FDD support:
-
- DISCiPLE's manual states any Shugart 400 SD/DD drive should work:
- "The disciple will accept 5.25" or 3.5" drives, whether they are 40 track or 80 track,
- single sided or double sided, single density or double density."
-
- +D's manual states any Shugart 400 DD drive should work (but not SD)
- "we recommend 3.5" or 5.25" 80-track double sided and double density drives,
- which will give you up to 780K of storage per drive. But Shugart
- 400-type 3" drives will also work."
-
- +D only: Pin 26 /DDEN of the WD1772 is tied to ground, so permanent DD mode.
- DISCiPLE only: /DDEN can be directly controlled via s/w by an IO write to 0x1f, bit 2.
-
- Disks use "MGT filesystem".
- A good description available at https://faqwiki.zxnet.co.uk/wiki/MGT_filesystem
-
- Disk format is 512 bytes/sector, 10 sectors/track
- 40 track, 1 side = 204,800 bytes (512*10*40*1)
- 40 track, 2 side = 409,600 bytes
- 80 track, 1 side = 409,600 bytes
- 80 track, 2 side = 819,200 bytes <-- only this one supported so far
-
- .mgt files work ok
- .img files don't work (not in coupedsk.cpp)
-
- The DOS must be loaded from a "System Disk" which is itself created from "System Tape" which was supplied with the unit.
- The ROM provides just the RUN command, which boots the system disk and loads the full DOS.
- Presumably the unit wasn't supplied with a system disk due to wide range of drives that can be used? (3", 3.5", 5.25")
- The DOS survives a reset, so reloading of system disk is only required after full power cycle.
-
- A few useful commands:
- RUN Boots the system
- CAT 1 Displays catalogue (drive 1)
- CAT 1! Displays shortened catalogue (drive 1)
- SAVE D1 "filename" Saves file
- VERIFY D1 "filename" Confirms save has been made
- LOAD D1 "filename" Loads file (except Snapshot files)
- LOAD D1 "filename" S Loads 48K Snapshot file
- LOAD D1 "filename" K Loads 128K Snapshot file
- LOAD D1 "filename" SCREEN$ Loads screen file
- LOAD Pn Loads the program (from its number)
- ERASE D1 "file" TO "new file" Renames a file
- ERASE D1 "filename" Erases a file
- SAVE D1 "file" TO D2 Copies a file from drive1 to drive2
- FORMAT D1 Formats disc in drive 1
- FORMAT D1 TO 2 Formats drive 1; copies from 2 to 1
-
- DISCiPLE snapshot button:
- Caps Shift + button system freezes with a multi-coloured border effect
- then, key 3 save current SCREEN
- 4 save 48K PROGRAM
- 5 save 128K PROGRAM
- Caps Shift + number saves to drive 2 (or 1 if running from 2)
-
- +D snapshot button:
- button system freezes with a multi-coloured border effect (don't need to hold caps shift)
- then, key 3 save current SCREEN
- 4 save 48K PROGRAM
- 5 save 128K PROGRAM
- X do nothing, return to running program
- Caps Shift + number saves to drive 2 (or 1 if running from 2)
-
- DISCiPLE GDOS versions:
- The rom/system disk versions must match,
- v2 rom: use system disk/system tape ver 2, 2b, 2c
- v3 rom: use system disk/system tape ver 3a, 3b or 3d
-
- +D G+DOS versions:
- a v1 (-non a) exists but has yet to be found/dumped,
- from "pick-poke-it" user manual:
- "A few PLUS D users are still using Version 1 of the ROM which was used in PLUS D's sold in December 1987-January 1988.
- ... check the serial number on the bottom of your PLUS D. If it's a 4-figure number commencing with 1,
- then you have a PLUS D with the Version 1 ROM."
-
- DISCiPLE only curiosities:
- The pass-through expansion connector has 4 extra pins (1 top/bottom each end)
- so 2x30 pins compared to ususal 2x28 of Spectrum expansion slot.
- Presumably this was intended for some unique expansion device that never appeared?
- One of these extra pins can be directly controlled via s/w by an IO write to 0x1f, bit 5.
- 2 other pins appear to be able to override the /ce signal from PAL ic9 to the rom.
- 4th pin is unused.
-
- The design allows for use of a larger 27128 (16KB) rom,
- with the highest address line A13 controllable via s/w by an IO write to 0x1f, bit 3.
- No larger roms seem to exist (or perhaps not yet found...?)
- Some 16KB dumps can be found but these are combined dumps of the 8KB rom and 8KB ram (with the full DOS loaded).
-
-
- Current status:
- --------------
-
- DISCiPLE
- GDOS v3: all ok, occassional "no system file" when loading system disk, ok on 2nd attempt
- GDOS v2: all ok
- UNIDOS: all ok
-
- +D
- G+DOS: all ok
- UNIDOS: all ok
-
-
- Not working with 128K/+2 yet...
+ DISCiPLE Multi-purpose Interface
+ +D Disk and Printer Interface
+
+ Miles Gordon Technology, UK, 1986-1990 (also produced the Sam Coupé home computer.)
+
+ DISCiPLE was MGT's first disk interface, a large plastic base that sat under the Spectrum, similar to Sinclair's official Interface 1.
+ +D was MGT's second (and last) disk interface, a cost and feature reduced version of the Disciple, a small metal-cased,
+ stand-alone unit which connects to ZX Spectrum's expansion slot via a ribbon cable.
+ A second Datel version of the +D exists (following the closure of MGT, it was licensed and produced by Datel.)
+ Many unofficial versions of +D exist and modern versions are still seen today as DIY-style projects/kits.
+ It's said the device's design and roms were officially released into the public domain at some point?
+
+ DISCiPLE features:
+ 8KB ROM
+ 8KB RAM
+ single floppy disk interface (2 drives)
+ Centronics parallel printer interface
+ "magic button" style memory snapshot grabber
+ 2 ATARI joystick ports (Sinclair 1/Kempston, Sinclair 2)
+ 2 network connectors (Interface 1 compatible, 3.5mm mono jack)
+ inhibit button (to lock out the interface)
+ pass-through expansion connector (to chain other devices)
+
+ +D features:
+ same as DISCiPLE
+ lost the joystick/network ports, inhibit button and pass-through expansion connector
+
+ DISCiPLE's official DOS was "GDOS".
+ +D's official DOS was "G+DOS".
+ Both of these were later superseded by "SAM DOS" (used by MGT's Sam Coupé.)
+ A 3rd party company SD Software released an alternative DOS "UNI-DOS" for both interfaces. (consisting of a disk and replacement ROM)
+
+ FDD support:
+
+ DISCiPLE's manual states any Shugart 400 SD/DD drive should work:
+ "The disciple will accept 5.25" or 3.5" drives, whether they are 40 track or 80 track,
+ single sided or double sided, single density or double density."
+
+ +D's manual states any Shugart 400 DD drive should work (but not SD)
+ "we recommend 3.5" or 5.25" 80-track double sided and double density drives,
+ which will give you up to 780K of storage per drive. But Shugart
+ 400-type 3" drives will also work."
+
+ +D only: Pin 26 /DDEN of the WD1772 is tied to ground, so permanent DD mode.
+ DISCiPLE only: /DDEN can be directly controlled via s/w by an IO write to 0x1f, bit 2.
+
+ Disks use "MGT filesystem".
+ A good description available at https://faqwiki.zxnet.co.uk/wiki/MGT_filesystem
+
+ Disk format is 512 bytes/sector, 10 sectors/track
+ 40 track, 1 side = 204,800 bytes (512*10*40*1)
+ 40 track, 2 side = 409,600 bytes
+ 80 track, 1 side = 409,600 bytes
+ 80 track, 2 side = 819,200 bytes <-- only this one supported so far
+
+ .mgt files work ok
+ .img files don't work (not in coupedsk.cpp)
+
+ The DOS must be loaded from a "System Disk" which is itself created from "System Tape" which was supplied with the unit.
+ The ROM provides just the RUN command, which boots the system disk and loads the full DOS.
+ Presumably the unit wasn't supplied with a system disk due to wide range of drives that can be used? (3", 3.5", 5.25")
+ The DOS survives a reset, so reloading of system disk is only required after full power cycle.
+
+ A few useful commands:
+ RUN Boots the system
+ CAT 1 Displays catalogue (drive 1)
+ CAT 1! Displays shortened catalogue (drive 1)
+ SAVE D1 "filename" Saves file
+ VERIFY D1 "filename" Confirms save has been made
+ LOAD D1 "filename" Loads file (except Snapshot files)
+ LOAD D1 "filename" S Loads 48K Snapshot file
+ LOAD D1 "filename" K Loads 128K Snapshot file
+ LOAD D1 "filename" SCREEN$ Loads screen file
+ LOAD Pn Loads the program (from its number)
+ ERASE D1 "file" TO "new file" Renames a file
+ ERASE D1 "filename" Erases a file
+ SAVE D1 "file" TO D2 Copies a file from drive1 to drive2
+ FORMAT D1 Formats disc in drive 1
+ FORMAT D1 TO 2 Formats drive 1; copies from 2 to 1
+
+ DISCiPLE snapshot button:
+ Caps Shift + button system freezes with a multi-coloured border effect
+ then, key 3 save current SCREEN
+ 4 save 48K PROGRAM
+ 5 save 128K PROGRAM
+ Caps Shift + number saves to drive 2 (or 1 if running from 2)
+
+ +D snapshot button:
+ button system freezes with a multi-coloured border effect (don't need to hold caps shift)
+ then, key 3 save current SCREEN
+ 4 save 48K PROGRAM
+ 5 save 128K PROGRAM
+ X do nothing, return to running program
+ Caps Shift + number saves to drive 2 (or 1 if running from 2)
+
+ DISCiPLE GDOS versions:
+ The rom/system disk versions must match,
+ v2 rom: use system disk/system tape ver 2, 2b, 2c
+ v3 rom: use system disk/system tape ver 3a, 3b or 3d
+
+ +D G+DOS versions:
+ a v1 (-non a) exists but has yet to be found/dumped,
+ from "pick-poke-it" user manual:
+ "A few PLUS D users are still using Version 1 of the ROM which was used in PLUS D's sold in December 1987-January 1988.
+ ... check the serial number on the bottom of your PLUS D. If it's a 4-figure number commencing with 1,
+ then you have a PLUS D with the Version 1 ROM."
+
+ DISCiPLE only curiosities:
+ The pass-through expansion connector has 4 extra pins (1 top/bottom each end)
+ so 2x30 pins compared to ususal 2x28 of Spectrum expansion slot.
+ Presumably this was intended for some unique expansion device that never appeared?
+ One of these extra pins can be directly controlled via s/w by an IO write to 0x1f, bit 5.
+ 2 other pins appear to be able to override the /ce signal from PAL ic9 to the rom.
+ 4th pin is unused.
+
+ The design allows for use of a larger 27128 (16KB) rom,
+ with the highest address line A13 controllable via s/w by an IO write to 0x1f, bit 3.
+ No larger roms seem to exist (or perhaps not yet found...?)
+ Some 16KB dumps can be found but these are combined dumps of the 8KB rom and 8KB ram (with the full DOS loaded).
+
+
+ Current status:
+ --------------
+
+ DISCiPLE
+ GDOS v3: all ok, occassional "no system file" when loading system disk, ok on 2nd attempt
+ GDOS v2: all ok
+ UNIDOS: all ok
+
+ +D
+ G+DOS: all ok
+ UNIDOS: all ok
+
+
+ Not working with 128K/+2 yet...
**********************************************************************/
@@ -167,17 +167,17 @@ INPUT_PORTS_END
INPUT_PORTS_START(disciple)
PORT_INCLUDE(plusd)
-
+
// Joystick 1 (right-hand) is both Kempston (port 0x1f) and Sinclair 1 (keys 6,7,8,9,0)
// Joystick 2 (left-hand) is Sinclair 2 (keys 1,2,3,4,5)
-
+
PORT_START("JOY1") /* Sinclair 1 (keys 6,7,8,9,0) 0xeffe , Kempston 0x1f */
PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_BUTTON1) PORT_PLAYER(1) PORT_NAME("Kempston\\Sinclair P1 Button 1")
PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_UP) PORT_8WAY PORT_PLAYER(1) PORT_NAME("Kempston\\Sinclair P1 Up")
PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN) PORT_8WAY PORT_PLAYER(1) PORT_NAME("Kempston\\Sinclair P1 Down")
PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT) PORT_8WAY PORT_PLAYER(1) PORT_NAME("Kempston\\Sinclair P1 Right")
PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT) PORT_8WAY PORT_PLAYER(1) PORT_NAME("Kempston\\Sinclair P1 Left")
-
+
PORT_START("JOY2") /* Sinclair 2 (keys 1,2,3,4,5) 0xf7fe */
PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT) PORT_8WAY PORT_PLAYER(2) PORT_NAME("Sinclair P2 Left") PORT_CODE(KEYCODE_4_PAD)
PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT) PORT_8WAY PORT_PLAYER(2) PORT_NAME("Sinclair P2 Right") PORT_CODE(KEYCODE_6_PAD)
@@ -223,15 +223,15 @@ FLOPPY_FORMATS_END
ROM_START(plusd)
ROM_REGION(0x2000, "rom", 0)
-
+
ROM_DEFAULT_BIOS("gdos")
-
+
ROM_SYSTEM_BIOS(0, "gdos", "G+DOS v1a")
ROMX_LOAD("plusd_g.rom", 0x0000, 0x2000, CRC(569f7e55) SHA1(6b841dc5797ef7eb219ad455cd1e434ca3b9d30d), ROM_BIOS(0))
-
+
ROM_SYSTEM_BIOS(1, "unidos", "UNI-DOS v2")
ROMX_LOAD("plusd_uni.rom", 0x0000, 0x2000, CRC(60920496) SHA1(399c8c7c8335bc59849a2182c32347603fd0288a), ROM_BIOS(1))
-
+
ROM_REGION( 0x200, "plds", 0 )
ROM_LOAD( "alice_pal20l8.ic4", 0x000, 0x144, CRC(60135856) SHA1(41273f13a3680b29ba84ae1e85829482c783c55e) )
ROM_END
@@ -242,18 +242,18 @@ ROM_END
ROM_START(disciple)
ROM_REGION(0x2000, "rom", 0)
-
+
ROM_DEFAULT_BIOS("gdos")
-
+
ROM_SYSTEM_BIOS(0, "gdos", "GDOS v3")
ROMX_LOAD("disciple_g.rom", 0x0000, 0x2000, CRC(82047489) SHA1(9a75ed4b293f968985be4c9aa893cd88276d1ced), ROM_BIOS(0))
-
+
ROM_SYSTEM_BIOS(1, "gdos2", "GDOS v2")
ROMX_LOAD("disciple_g2.rom", 0x0000, 0x2000, CRC(9d971781) SHA1(a03e67e4ee275a85153843f42269fa980875d551), ROM_BIOS(1))
-
+
ROM_SYSTEM_BIOS(2, "unidos", "UNI-DOS v2")
ROMX_LOAD("disciple_uni.rom", 0x0000, 0x2000, CRC(1fe7f4fa) SHA1(6277abe6358c99ab894795536a1eb9393f25b9b1), ROM_BIOS(2))
-
+
ROM_REGION( 0x400, "plds", 0 )
ROM_LOAD( "pal20l8.ic8", 0x000, 0x144, CRC(e53b2fcc) SHA1(85ce9634890d41be37cd9e0252698e5350a4c9c9) )
ROM_LOAD( "pal20l8.ic9", 0x200, 0x144, CRC(43ff2e38) SHA1(b872377ea9f91b29a811b0d484699ffe87bdf9fd) )
@@ -268,11 +268,11 @@ void spectrum_plusd_device::device_add_mconfig(machine_config &config)
WD1772(config, m_fdc, 8_MHz_XTAL);
FLOPPY_CONNECTOR(config, "fdc:0", plusd_floppies, "35dd", spectrum_plusd_device::floppy_formats).enable_sound(true);
FLOPPY_CONNECTOR(config, "fdc:1", plusd_floppies, "35dd", spectrum_plusd_device::floppy_formats).enable_sound(true);
-
+
/* printer port */
CENTRONICS(config, m_centronics, centronics_devices, "printer");
m_centronics->busy_handler().set(FUNC(spectrum_plusd_device::busy_w));
-
+
/* software list */
SOFTWARE_LIST(config, "flop_list").set_original("spectrum_mgt_flop");
}
@@ -280,7 +280,7 @@ void spectrum_plusd_device::device_add_mconfig(machine_config &config)
void spectrum_disciple_device::device_add_mconfig(machine_config &config)
{
spectrum_plusd_device::device_add_mconfig(config);
-
+
/* pass-through */
SPECTRUM_EXPANSION_SLOT(config, m_exp, spectrum_expansion_devices, nullptr);
m_exp->irq_handler().set(DEVICE_SELF_OWNER, FUNC(spectrum_expansion_slot_device::irq_w));
@@ -411,7 +411,7 @@ uint8_t spectrum_plusd_device::iorq_r(offs_t offset)
data = m_centronics_busy ? 0x80 : 0x00;
break;
}
-
+
return data;
}
@@ -512,7 +512,7 @@ READ_LINE_MEMBER(spectrum_disciple_device::romcs)
void spectrum_disciple_device::pre_opcode_fetch(offs_t offset)
{
m_exp->pre_opcode_fetch(offset);
-
+
if (!machine().side_effects_disabled())
{
switch (offset)
@@ -559,7 +559,7 @@ uint8_t spectrum_disciple_device::iorq_r(offs_t offset)
data = m_joy2->read() | (0xff ^ 0x1f);
break;
}
-
+
return data;
}
@@ -606,7 +606,7 @@ void spectrum_disciple_device::iorq_w(offs_t offset, uint8_t data)
m_centronics->write_data7(BIT(data, 7));
break;
}
-
+
m_exp->iorq_w(offset, data);
}
@@ -641,7 +641,7 @@ uint8_t spectrum_disciple_device::mreq_r(offs_t offset)
}
}
}
-
+
if (m_exp->romcs())
data &= m_exp->mreq_r(offset);
@@ -671,7 +671,7 @@ void spectrum_disciple_device::mreq_w(offs_t offset, uint8_t data)
}
}
}
-
+
if (m_exp->romcs())
m_exp->mreq_w(offset, data);
}
diff --git a/src/devices/bus/spectrum/mgt.h b/src/devices/bus/spectrum/mgt.h
index dee27a04b9d..bbc69da6eb2 100644
--- a/src/devices/bus/spectrum/mgt.h
+++ b/src/devices/bus/spectrum/mgt.h
@@ -2,10 +2,10 @@
// copyright-holders:TwistedTom
/**********************************************************************
- DISCiPLE Multi-purpose Interface
- +D Disk and Printer Interface
-
- (Miles Gordon Technology)
+ DISCiPLE Multi-purpose Interface
+ +D Disk and Printer Interface
+
+ (Miles Gordon Technology)
**********************************************************************/
@@ -30,7 +30,7 @@ class spectrum_plusd_device: public device_t, public device_spectrum_expansion_i
public:
// construction/destruction
spectrum_plusd_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
-
+
DECLARE_FLOPPY_FORMATS(floppy_formats);
DECLARE_INPUT_CHANGED_MEMBER(snapshot_button);
diff --git a/src/devices/bus/ti99/colorbus/colorbus.cpp b/src/devices/bus/ti99/colorbus/colorbus.cpp
index a54b41c9f70..76c0781f3f2 100644
--- a/src/devices/bus/ti99/colorbus/colorbus.cpp
+++ b/src/devices/bus/ti99/colorbus/colorbus.cpp
@@ -58,7 +58,7 @@ void v9938_colorbus_device::device_start()
/*****************************************************************************/
device_v9938_colorbus_interface::device_v9938_colorbus_interface(const machine_config &mconfig, device_t &device)
- : device_interface(device, "v9938colorbus"),
+ : device_interface(device, "v9938colorbus"),
m_colorbus(nullptr)
{
}
diff --git a/src/devices/bus/ti99/joyport/joyport.cpp b/src/devices/bus/ti99/joyport/joyport.cpp
index 38e3eccbf3a..0505c524ef8 100644
--- a/src/devices/bus/ti99/joyport/joyport.cpp
+++ b/src/devices/bus/ti99/joyport/joyport.cpp
@@ -45,7 +45,7 @@ DEFINE_DEVICE_TYPE_NS(TI99_JOYPORT, bus::ti99::joyport, joyport_device, "ti99_jo
namespace bus { namespace ti99 { namespace joyport {
device_ti99_joyport_interface::device_ti99_joyport_interface(const machine_config &config, device_t &device)
- : device_interface(device, "ti99joyport"),
+ : device_interface(device, "ti99joyport"),
m_joyport(nullptr)
{
}