summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author smf- <smf-@users.noreply.github.com>2013-09-08 15:38:25 +0000
committer smf- <smf-@users.noreply.github.com>2013-09-08 15:38:25 +0000
commitcf299c7525e402dc979371334267d948ae18d852 (patch)
tree5a5b78e839e8f3a89b054eda20ea6981a0285cfc
parent18e9f7521bc4cb7d1a892739d59c360d0968704c (diff)
Renamed IDE8 to XTIDE. [smf]
-rw-r--r--.gitattributes4
-rw-r--r--src/mess/machine/isa_cards.c2
-rw-r--r--src/mess/machine/isa_cards.h2
-rw-r--r--src/mess/machine/isa_xtide.c (renamed from src/mess/machine/isa_ide8.c)62
-rw-r--r--src/mess/machine/isa_xtide.h (renamed from src/mess/machine/isa_ide8.h)20
-rw-r--r--src/mess/mess.mak2
6 files changed, 47 insertions, 45 deletions
diff --git a/.gitattributes b/.gitattributes
index 34e73b57f5f..59c62fe5a01 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -7558,8 +7558,6 @@ src/mess/machine/isa_ibm_mfc.c svneol=native#text/plain
src/mess/machine/isa_ibm_mfc.h svneol=native#text/plain
src/mess/machine/isa_ide.c svneol=native#text/plain
src/mess/machine/isa_ide.h svneol=native#text/plain
-src/mess/machine/isa_ide8.c svneol=native#text/plain
-src/mess/machine/isa_ide8.h svneol=native#text/plain
src/mess/machine/isa_mpu401.c svneol=native#text/plain
src/mess/machine/isa_mpu401.h svneol=native#text/plain
src/mess/machine/isa_sblaster.c svneol=native#text/plain
@@ -7572,6 +7570,8 @@ src/mess/machine/isa_wd1002a_wx1.c svneol=native#text/plain
src/mess/machine/isa_wd1002a_wx1.h svneol=native#text/plain
src/mess/machine/isa_wdxt_gen.c svneol=native#text/plain
src/mess/machine/isa_wdxt_gen.h svneol=native#text/plain
+src/mess/machine/isa_xtide.c svneol=native#text/plain
+src/mess/machine/isa_xtide.h svneol=native#text/plain
src/mess/machine/k7659kb.c svneol=native#text/plain
src/mess/machine/k7659kb.h svneol=native#text/plain
src/mess/machine/kay_kbd.c svneol=native#text/plain
diff --git a/src/mess/machine/isa_cards.c b/src/mess/machine/isa_cards.c
index 0370b72209e..7c61c65a0f5 100644
--- a/src/mess/machine/isa_cards.c
+++ b/src/mess/machine/isa_cards.c
@@ -22,7 +22,7 @@ SLOT_INTERFACE_START( pc_isa8_cards )
SLOT_INTERFACE("fdc_ps2", ISA8_FDC_PS2)
SLOT_INTERFACE("wdxt_gen", ISA8_WDXT_GEN)
SLOT_INTERFACE("finalchs", ISA8_FINALCHS)
- SLOT_INTERFACE("isa_ide8", ISA8_IDE)
+ SLOT_INTERFACE("xtide", ISA8_XTIDE)
SLOT_INTERFACE("hdc", ISA8_HDC)
SLOT_INTERFACE("adlib", ISA8_ADLIB)
SLOT_INTERFACE("hercules", ISA8_HERCULES)
diff --git a/src/mess/machine/isa_cards.h b/src/mess/machine/isa_cards.h
index 20b05f48eb8..e0c98fd9669 100644
--- a/src/mess/machine/isa_cards.h
+++ b/src/mess/machine/isa_cards.h
@@ -29,7 +29,7 @@
#include "machine/isa_hdc.h"
#include "machine/isa_wdxt_gen.h"
#include "machine/isa_ide.h"
-#include "machine/isa_ide8.h"
+#include "machine/isa_xtide.h"
#include "machine/isa_aha1542.h"
#include "machine/isa_wd1002a_wx1.h"
diff --git a/src/mess/machine/isa_ide8.c b/src/mess/machine/isa_xtide.c
index d0dd36b2fd9..0a8cf135018 100644
--- a/src/mess/machine/isa_ide8.c
+++ b/src/mess/machine/isa_xtide.c
@@ -1,13 +1,14 @@
/***************************************************************************
- ISA 8 bit IDE controller
+The XT-IDE project is a Vintage Computer forum driven project to develop and manufacturer an 8-bit ISA IDE controller.
+It allows any PC/XT class machine to use modern IDE hard drives or Compact Flash devices for long term storage.
-As implemented by the Vintage computer forums XT-IDE controller.
+http://www.vintage-computer.com/vcforum/showwiki.php?title=XTIDE+project
-Card has jumpers for I/O base address, and ROM base address, for the time
-being we'll emulate an I/O base of 0x300 and a ROM base of 0xC8000.
+Card has jumpers for I/O base address, and ROM base address, the default
+rom images being we'll emulate an I/O base of 0x300 and a ROM base of 0xC8000.
-If the I/O address is changed then the ROM will need to be patched.
+If the I/O address is changed then you will need to use XTIDECFG to configure the ROM.
The opensource bios is available from :
http://code.google.com/p/xtideuniversalbios/
@@ -23,6 +24,9 @@ A data write will first write the top 8 bits to the latch, and then the bottom
8 bits to the normal data register, this will also transfer the top 8 bits to
the drive.
+A modded r1 has A0 & A3 swapped, AKA chuckmod, which puts the high & low bytes together.
+This also affects the eeprom, so the BIOS would need to be shuffled (or the plain images flashed using XTIDECFG).
+
IDE Register XTIDE rev 1 rev 2 or modded rev 1
Data (XTIDE Data Low) 0 0
Error (in), Features (out) 1 8
@@ -47,10 +51,10 @@ Device Control (out) 14 7
-#include "machine/isa_ide8.h"
+#include "machine/isa_xtide.h"
-READ8_MEMBER( isa8_ide_device::ide8_r )
+READ8_MEMBER( xtide_device::read )
{
UINT8 result;
@@ -73,14 +77,14 @@ READ8_MEMBER( isa8_ide_device::ide8_r )
result = m_ata->read_cs1(space, offset & 7, 0xff);
}
-// logerror("%s ide8_r: offset=%d, result=%2X\n",device->machine().describe_context(),offset,result);
+// logerror("%s xtide_device::read: offset=%d, result=%2X\n",device->machine().describe_context(),offset,result);
return result;
}
-WRITE8_MEMBER( isa8_ide_device::ide8_w )
+WRITE8_MEMBER( xtide_device::write )
{
-// logerror("%s ide8_w: offset=%d, data=%2X\n",device->machine().describe_context(),offset,data);
+// logerror("%s xtide_device::write: offset=%d, data=%2X\n",device->machine().describe_context(),offset,data);
if (offset == 0)
{
@@ -103,7 +107,7 @@ WRITE8_MEMBER( isa8_ide_device::ide8_w )
}
-WRITE_LINE_MEMBER(isa8_ide_device::ide_interrupt)
+WRITE_LINE_MEMBER(xtide_device::ide_interrupt)
{
switch (m_irq_number)
{
@@ -115,14 +119,14 @@ WRITE_LINE_MEMBER(isa8_ide_device::ide_interrupt)
}
}
-static MACHINE_CONFIG_FRAGMENT( ide8_config )
+static MACHINE_CONFIG_FRAGMENT( xtide_config )
MCFG_ATA_INTERFACE_ADD("ata", ata_devices, "hdd", NULL, false)
- MCFG_ATA_INTERFACE_IRQ_HANDLER(WRITELINE(isa8_ide_device, ide_interrupt))
+ MCFG_ATA_INTERFACE_IRQ_HANDLER(WRITELINE(xtide_device, ide_interrupt))
MCFG_EEPROM_2864_ADD("eeprom")
MACHINE_CONFIG_END
-static INPUT_PORTS_START( ide8_port )
+static INPUT_PORTS_START( xtide_port )
PORT_START("BIOS_BASE")
PORT_DIPNAME( 0x0F, 0x02, "XT-IDE ROM base segment")
PORT_DIPSETTING( 0x00, "C000" )
@@ -170,7 +174,7 @@ static INPUT_PORTS_START( ide8_port )
PORT_DIPSETTING( 0x07, "IRQ 7" )
INPUT_PORTS_END
-ROM_START( ide8 )
+ROM_START( xtide )
ROM_REGION(0x02000,"eeprom", 0)
ROM_DEFAULT_BIOS("xub200b3xt")
@@ -255,34 +259,34 @@ ROM_END
// GLOBAL VARIABLES
//**************************************************************************
-const device_type ISA8_IDE = &device_creator<isa8_ide_device>;
+const device_type ISA8_XTIDE = &device_creator<xtide_device>;
//-------------------------------------------------
// machine_config_additions - device-specific
// machine configurations
//-------------------------------------------------
-machine_config_constructor isa8_ide_device::device_mconfig_additions() const
+machine_config_constructor xtide_device::device_mconfig_additions() const
{
- return MACHINE_CONFIG_NAME( ide8_config );
+ return MACHINE_CONFIG_NAME( xtide_config );
}
//-------------------------------------------------
// input_ports - device-specific input ports
//-------------------------------------------------
-ioport_constructor isa8_ide_device::device_input_ports() const
+ioport_constructor xtide_device::device_input_ports() const
{
- return INPUT_PORTS_NAME( ide8_port );
+ return INPUT_PORTS_NAME( xtide_port );
}
//-------------------------------------------------
// rom_region - device-specific ROM region
//-------------------------------------------------
-const rom_entry *isa8_ide_device::device_rom_region() const
+const rom_entry *xtide_device::device_rom_region() const
{
- return ROM_NAME( ide8 );
+ return ROM_NAME( xtide );
}
//**************************************************************************
@@ -290,11 +294,11 @@ const rom_entry *isa8_ide_device::device_rom_region() const
//**************************************************************************
//-------------------------------------------------
-// isa8_ide_device - constructor
+// xtide_device - constructor
//-------------------------------------------------
-isa8_ide_device::isa8_ide_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
- : device_t(mconfig, ISA8_IDE, "XT-IDE Fixed Drive Adapter", tag, owner, clock, "isa8_ide", __FILE__),
+xtide_device::xtide_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
+ : device_t(mconfig, ISA8_XTIDE, "XT-IDE Fixed Drive Adapter", tag, owner, clock, "isa8_xtide", __FILE__),
device_isa8_card_interface( mconfig, *this ),
m_ata(*this, "ata"),
m_eeprom(*this, "eeprom")
@@ -305,7 +309,7 @@ isa8_ide_device::isa8_ide_device(const machine_config &mconfig, const char *tag,
// device_start - device-specific startup
//-------------------------------------------------
-void isa8_ide_device::device_start()
+void xtide_device::device_start()
{
set_isa_device();
}
@@ -314,14 +318,14 @@ void isa8_ide_device::device_start()
// device_reset - device-specific reset
//-------------------------------------------------
-void isa8_ide_device::device_reset()
+void xtide_device::device_reset()
{
int base_address = ((ioport("BIOS_BASE")->read() & 0x0F) * 16 * 1024) + 0xC0000;
int io_address = ((ioport("IO_ADDRESS")->read() & 0x0F) * 0x20) + 0x200;
m_irq_number = (ioport("IRQ")->read() & 0x07);
m_isa->install_memory(base_address, base_address + 0x1fff, 0, 0, read8_delegate(FUNC(eeprom_parallel_28xx_device::read), &(*m_eeprom)), write8_delegate(FUNC(eeprom_parallel_28xx_device::write), &(*m_eeprom)));
- m_isa->install_device(io_address, io_address + 0xf, 0, 0, read8_delegate(FUNC(isa8_ide_device::ide8_r), this), write8_delegate(FUNC(isa8_ide_device::ide8_w), this));
+ m_isa->install_device(io_address, io_address + 0xf, 0, 0, read8_delegate(FUNC(xtide_device::read), this), write8_delegate(FUNC(xtide_device::write), this));
- //logerror("isa8_ide_device::device_reset(), bios_base=0x%5X to 0x%5X, I/O=0x%3X, IRQ=%d\n",base_address,base_address + (16*1024) -1 ,io_address,irq);
+ //logerror("xtide_device::device_reset(), bios_base=0x%5X to 0x%5X, I/O=0x%3X, IRQ=%d\n",base_address,base_address + (16*1024) -1 ,io_address,irq);
}
diff --git a/src/mess/machine/isa_ide8.h b/src/mess/machine/isa_xtide.h
index 39cfc8fb621..9e946a128be 100644
--- a/src/mess/machine/isa_ide8.h
+++ b/src/mess/machine/isa_xtide.h
@@ -1,7 +1,7 @@
#pragma once
-#ifndef __ISA_IDE8_H__
-#define __ISA_IDE8_H__
+#ifndef __XTIDE_H__
+#define __XTIDE_H__
#include "emu.h"
#include "machine/ataintf.h"
@@ -12,29 +12,27 @@
// TYPE DEFINITIONS
//**************************************************************************
-// ======================> isa16_ide_device
-
-class isa8_ide_device : public device_t,
+class xtide_device : public device_t,
public device_isa8_card_interface
{
public:
// construction/destruction
- isa8_ide_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
+ xtide_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
// optional information overrides
virtual machine_config_constructor device_mconfig_additions() const;
virtual ioport_constructor device_input_ports() const;
virtual const rom_entry *device_rom_region() const;
- DECLARE_READ8_MEMBER(ide8_r);
- DECLARE_WRITE8_MEMBER(ide8_w);
+ DECLARE_READ8_MEMBER(read);
+ DECLARE_WRITE8_MEMBER(write);
DECLARE_WRITE_LINE_MEMBER(ide_interrupt);
protected:
// device-level overrides
virtual void device_start();
virtual void device_reset();
- virtual void device_config_complete() { m_shortname = "isa_ide8"; }
+ virtual void device_config_complete() { m_shortname = "xtide"; }
private:
required_device<ata_interface_device> m_ata;
@@ -46,6 +44,6 @@ private:
// device type definition
-extern const device_type ISA8_IDE;
+extern const device_type ISA8_XTIDE;
-#endif /* __ISA_IDE_H__ */
+#endif /* __XTIDE__ */
diff --git a/src/mess/mess.mak b/src/mess/mess.mak
index 3f40d90775b..88cd1ca3360 100644
--- a/src/mess/mess.mak
+++ b/src/mess/mess.mak
@@ -802,7 +802,7 @@ $(MESSOBJ)/isa.a: \
$(MESS_MACHINE)/isa_stereo_fx.o \
$(MESS_MACHINE)/isa_ssi2001.o \
$(MESS_MACHINE)/isa_ide.o \
- $(MESS_MACHINE)/isa_ide8.o \
+ $(MESS_MACHINE)/isa_xtide.o \
$(MESS_MACHINE)/isa_aha1542.o \
$(MESS_MACHINE)/isa_wd1002a_wx1.o\
$(MESS_VIDEO)/isa_cga.o \