mirror of
https://github.com/holub/mame
synced 2025-04-22 16:31:49 +03:00
abc800: Fixed Turbo Kontroller name to UNI DISK and identified CPU type. [Curt Coder]
This commit is contained in:
parent
28b4d74ada
commit
ec017ff2f5
@ -86,10 +86,10 @@ if (BUSES["ABCBUS"]~=null) then
|
||||
MAME_DIR .. "src/devices/bus/abcbus/sio.h",
|
||||
MAME_DIR .. "src/devices/bus/abcbus/slutprov.cpp",
|
||||
MAME_DIR .. "src/devices/bus/abcbus/slutprov.h",
|
||||
MAME_DIR .. "src/devices/bus/abcbus/turbo.cpp",
|
||||
MAME_DIR .. "src/devices/bus/abcbus/turbo.h",
|
||||
MAME_DIR .. "src/devices/bus/abcbus/uni800.cpp",
|
||||
MAME_DIR .. "src/devices/bus/abcbus/uni800.h",
|
||||
MAME_DIR .. "src/devices/bus/abcbus/unidisk.cpp",
|
||||
MAME_DIR .. "src/devices/bus/abcbus/unidisk.h",
|
||||
}
|
||||
end
|
||||
|
||||
|
@ -90,8 +90,8 @@ void abcbus_slot_device::device_start()
|
||||
#include "ram.h"
|
||||
#include "sio.h"
|
||||
#include "slutprov.h"
|
||||
#include "turbo.h"
|
||||
#include "uni800.h"
|
||||
#include "unidisk.h"
|
||||
|
||||
|
||||
|
||||
@ -106,6 +106,7 @@ SLOT_INTERFACE_START( abc80_cards )
|
||||
SLOT_INTERFACE("16k", ABC80_16KB_RAM_CARD)
|
||||
SLOT_INTERFACE("slow", LUXOR_55_10828)
|
||||
SLOT_INTERFACE("abc830", ABC830)
|
||||
SLOT_INTERFACE("unidisk", UNIDISK)
|
||||
SLOT_INTERFACE_END
|
||||
|
||||
|
||||
@ -128,8 +129,8 @@ SLOT_INTERFACE_START( abcbus_cards )
|
||||
SLOT_INTERFACE("sio", ABC_SIO)
|
||||
SLOT_INTERFACE("slow", LUXOR_55_10828)
|
||||
SLOT_INTERFACE("uni800", ABC_UNI800)
|
||||
SLOT_INTERFACE("unidisk", UNIDISK)
|
||||
SLOT_INTERFACE("slutprov", ABC_SLUTPROV)
|
||||
SLOT_INTERFACE("turbo", TURBO_KONTROLLER)
|
||||
SLOT_INTERFACE("xebec", LUXOR_55_21056)
|
||||
SLOT_INTERFACE_END
|
||||
|
||||
|
@ -1,139 +0,0 @@
|
||||
// license:BSD-3-Clause
|
||||
// copyright-holders:Curt Coder
|
||||
/**********************************************************************
|
||||
|
||||
MyAB Turbo-Kontroller disk controller emulation
|
||||
|
||||
*********************************************************************/
|
||||
|
||||
#include "emu.h"
|
||||
#include "turbo.h"
|
||||
|
||||
|
||||
|
||||
//**************************************************************************
|
||||
// MACROS / CONSTANTS
|
||||
//**************************************************************************
|
||||
|
||||
#define Z80_TAG "z80"
|
||||
|
||||
|
||||
|
||||
//**************************************************************************
|
||||
// DEVICE DEFINITIONS
|
||||
//**************************************************************************
|
||||
|
||||
DEFINE_DEVICE_TYPE(TURBO_KONTROLLER, turbo_kontroller_device, "unidisk", "Turbo-Kontroller")
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// ROM( turbo_kontroller )
|
||||
//-------------------------------------------------
|
||||
|
||||
ROM_START( turbo_kontroller )
|
||||
ROM_REGION( 0x1000, Z80_TAG, 0 )
|
||||
ROM_SYSTEM_BIOS( 0, "525", "5\" 25-pin" )
|
||||
ROMX_LOAD( "unidis5d.bin", 0x0000, 0x1000, CRC(569dd60c) SHA1(47b810bcb5a063ffb3034fd7138dc5e15d243676), ROM_BIOS(1) )
|
||||
ROM_SYSTEM_BIOS( 1, "534", "5\" 34-pin" )
|
||||
ROMX_LOAD( "unidiskh.bin", 0x0000, 0x1000, CRC(5079ad85) SHA1(42bb91318f13929c3a440de3fa1f0491a0b90863), ROM_BIOS(2) )
|
||||
ROM_SYSTEM_BIOS( 2, "8", "8\"" )
|
||||
ROMX_LOAD( "unidisk8.bin", 0x0000, 0x1000, CRC(d04e6a43) SHA1(8db504d46ff0355c72bd58fd536abeb17425c532), ROM_BIOS(3) )
|
||||
ROM_END
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// rom_region - device-specific ROM region
|
||||
//-------------------------------------------------
|
||||
|
||||
const tiny_rom_entry *turbo_kontroller_device::device_rom_region() const
|
||||
{
|
||||
return ROM_NAME( turbo_kontroller );
|
||||
}
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// ADDRESS_MAP( turbo_kontroller_mem )
|
||||
//-------------------------------------------------
|
||||
|
||||
static ADDRESS_MAP_START( turbo_kontroller_mem, AS_PROGRAM, 8, turbo_kontroller_device )
|
||||
AM_RANGE(0x0000, 0x0fff) AM_ROM AM_REGION(Z80_TAG, 0)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// ADDRESS_MAP( turbo_kontroller_io )
|
||||
//-------------------------------------------------
|
||||
|
||||
static ADDRESS_MAP_START( turbo_kontroller_io, AS_IO, 8, turbo_kontroller_device )
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// z80_daisy_config daisy_chain
|
||||
//-------------------------------------------------
|
||||
|
||||
static const z80_daisy_config daisy_chain[] =
|
||||
{
|
||||
{ nullptr }
|
||||
};
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// device_add_mconfig - add device configuration
|
||||
//-------------------------------------------------
|
||||
|
||||
MACHINE_CONFIG_MEMBER( turbo_kontroller_device::device_add_mconfig )
|
||||
MCFG_CPU_ADD(Z80_TAG, Z80, 4000000)
|
||||
MCFG_CPU_PROGRAM_MAP(turbo_kontroller_mem)
|
||||
MCFG_CPU_IO_MAP(turbo_kontroller_io)
|
||||
MCFG_Z80_DAISY_CHAIN(daisy_chain)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
|
||||
//**************************************************************************
|
||||
// LIVE DEVICE
|
||||
//**************************************************************************
|
||||
|
||||
//-------------------------------------------------
|
||||
// turbo_kontroller_device - constructor
|
||||
//-------------------------------------------------
|
||||
|
||||
turbo_kontroller_device::turbo_kontroller_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
|
||||
: device_t(mconfig, TURBO_KONTROLLER, tag, owner, clock),
|
||||
device_abcbus_card_interface(mconfig, *this),
|
||||
m_maincpu(*this, Z80_TAG)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// device_start - device-specific startup
|
||||
//-------------------------------------------------
|
||||
|
||||
void turbo_kontroller_device::device_start()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// device_reset - device-specific reset
|
||||
//-------------------------------------------------
|
||||
|
||||
void turbo_kontroller_device::device_reset()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
|
||||
//**************************************************************************
|
||||
// ABC BUS INTERFACE
|
||||
//**************************************************************************
|
||||
|
||||
//-------------------------------------------------
|
||||
// abcbus_cs -
|
||||
//-------------------------------------------------
|
||||
|
||||
void turbo_kontroller_device::abcbus_cs(uint8_t data)
|
||||
{
|
||||
}
|
211
src/devices/bus/abcbus/unidisk.cpp
Normal file
211
src/devices/bus/abcbus/unidisk.cpp
Normal file
@ -0,0 +1,211 @@
|
||||
// license:BSD-3-Clause
|
||||
// copyright-holders:Curt Coder
|
||||
/**********************************************************************
|
||||
|
||||
MyAB UNI DISK floppy disk controller emulation
|
||||
|
||||
*********************************************************************/
|
||||
|
||||
#include "emu.h"
|
||||
#include "unidisk.h"
|
||||
|
||||
|
||||
|
||||
//**************************************************************************
|
||||
// MACROS / CONSTANTS
|
||||
//**************************************************************************
|
||||
|
||||
#define TMS9995_TAG "maincpu"
|
||||
|
||||
|
||||
//**************************************************************************
|
||||
// DEVICE DEFINITIONS
|
||||
//**************************************************************************
|
||||
|
||||
DEFINE_DEVICE_TYPE(UNIDISK, unidisk_t, "unidisk", "MyAB UNI DISK")
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// ROM( unidisk )
|
||||
//-------------------------------------------------
|
||||
|
||||
ROM_START( unidisk )
|
||||
ROM_REGION( 0x1000, TMS9995_TAG, 0 )
|
||||
ROM_SYSTEM_BIOS( 0, "5d", "5\" D PROM" )
|
||||
ROMX_LOAD("unidisk5d.bin", 0x0000, 0x1000, CRC(569dd60c) SHA1(47b810bcb5a063ffb3034fd7138dc5e15d243676), ROM_BIOS(1))
|
||||
ROM_SYSTEM_BIOS( 1, "5h", "5\" H PROM" )
|
||||
ROMX_LOAD("unidisk5h.bin", 0x0000, 0x1000, CRC(5079ad85) SHA1(42bb91318f13929c3a440de3fa1f0491a0b90863), ROM_BIOS(2))
|
||||
ROM_SYSTEM_BIOS( 2, "8", "8\" PROM" )
|
||||
ROMX_LOAD("unidisk8.bin", 0x0000, 0x1000, CRC(d04e6a43) SHA1(8db504d46ff0355c72bd58fd536abeb17425c532), ROM_BIOS(3))
|
||||
ROM_END
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// rom_region - device-specific ROM region
|
||||
//-------------------------------------------------
|
||||
|
||||
const tiny_rom_entry *unidisk_t::device_rom_region() const
|
||||
{
|
||||
return ROM_NAME( unidisk );
|
||||
}
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// ADDRESS_MAP( unidisk_mem )
|
||||
//-------------------------------------------------
|
||||
|
||||
static ADDRESS_MAP_START( unidisk_mem, AS_PROGRAM, 8, unidisk_t )
|
||||
AM_RANGE(0x0000, 0x0fff) AM_ROM AM_REGION(TMS9995_TAG, 0)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// ADDRESS_MAP( unidisk_io )
|
||||
//-------------------------------------------------
|
||||
|
||||
static ADDRESS_MAP_START( unidisk_io, AS_IO, 8, unidisk_t )
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// device_add_mconfig - add device configuration
|
||||
//-------------------------------------------------
|
||||
|
||||
MACHINE_CONFIG_MEMBER( unidisk_t::device_add_mconfig )
|
||||
MCFG_TMS99xx_ADD(TMS9995_TAG, TMS9995, 12000000, unidisk_mem, unidisk_io)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// INPUT_PORTS( unidisk )
|
||||
//-------------------------------------------------
|
||||
|
||||
INPUT_PORTS_START( unidisk )
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// input_ports - device-specific input ports
|
||||
//-------------------------------------------------
|
||||
|
||||
ioport_constructor unidisk_t::device_input_ports() const
|
||||
{
|
||||
return INPUT_PORTS_NAME( unidisk );
|
||||
}
|
||||
|
||||
|
||||
|
||||
//**************************************************************************
|
||||
// LIVE DEVICE
|
||||
//**************************************************************************
|
||||
|
||||
//-------------------------------------------------
|
||||
// unidisk_t - constructor
|
||||
//-------------------------------------------------
|
||||
|
||||
unidisk_t::unidisk_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
|
||||
device_t(mconfig, UNIDISK, tag, owner, clock),
|
||||
device_abcbus_card_interface(mconfig, *this),
|
||||
m_maincpu(*this, TMS9995_TAG)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// device_start - device-specific startup
|
||||
//-------------------------------------------------
|
||||
|
||||
void unidisk_t::device_start()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// device_reset - device-specific reset
|
||||
//-------------------------------------------------
|
||||
|
||||
void unidisk_t::device_reset()
|
||||
{
|
||||
m_cs = false;
|
||||
}
|
||||
|
||||
|
||||
|
||||
//**************************************************************************
|
||||
// ABC BUS INTERFACE
|
||||
//**************************************************************************
|
||||
|
||||
//-------------------------------------------------
|
||||
// abcbus_cs -
|
||||
//-------------------------------------------------
|
||||
|
||||
void unidisk_t::abcbus_cs(uint8_t data)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// abcbus_stat -
|
||||
//-------------------------------------------------
|
||||
|
||||
uint8_t unidisk_t::abcbus_stat()
|
||||
{
|
||||
uint8_t data = 0xff;
|
||||
|
||||
if (m_cs)
|
||||
{
|
||||
}
|
||||
|
||||
return data;
|
||||
}
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// abcbus_inp -
|
||||
//-------------------------------------------------
|
||||
|
||||
uint8_t unidisk_t::abcbus_inp()
|
||||
{
|
||||
uint8_t data = 0xff;
|
||||
|
||||
if (m_cs)
|
||||
{
|
||||
}
|
||||
|
||||
return data;
|
||||
}
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// abcbus_out -
|
||||
//-------------------------------------------------
|
||||
|
||||
void unidisk_t::abcbus_out(uint8_t data)
|
||||
{
|
||||
if (!m_cs) return;
|
||||
}
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// abcbus_c1 -
|
||||
//-------------------------------------------------
|
||||
|
||||
void unidisk_t::abcbus_c1(uint8_t data)
|
||||
{
|
||||
if (m_cs)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// abcbus_c3 -
|
||||
//-------------------------------------------------
|
||||
|
||||
void unidisk_t::abcbus_c3(uint8_t data)
|
||||
{
|
||||
if (m_cs)
|
||||
{
|
||||
m_maincpu->reset();
|
||||
}
|
||||
}
|
@ -2,18 +2,17 @@
|
||||
// copyright-holders:Curt Coder
|
||||
/**********************************************************************
|
||||
|
||||
MyAB Turbo-Kontroller disk controller emulation
|
||||
MyAB UNI DISK floppy disk controller emulation
|
||||
|
||||
*********************************************************************/
|
||||
|
||||
#ifndef MAME_BUS_ABCBUS_TURBO_H
|
||||
#define MAME_BUS_ABCBUS_TURBO_H
|
||||
#ifndef MAME_BUS_ABCBUS_UNIDISK_H
|
||||
#define MAME_BUS_ABCBUS_UNIDISK_H
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "abcbus.h"
|
||||
#include "cpu/z80/z80.h"
|
||||
#include "cpu/z80/z80daisy.h"
|
||||
#include "cpu/tms9900/tms9995.h"
|
||||
|
||||
|
||||
|
||||
@ -21,14 +20,14 @@
|
||||
// TYPE DEFINITIONS
|
||||
//**************************************************************************
|
||||
|
||||
// ======================> turbo_kontroller_device
|
||||
// ======================> unidisk_t
|
||||
|
||||
class turbo_kontroller_device : public device_t,
|
||||
public device_abcbus_card_interface
|
||||
class unidisk_t : public device_t,
|
||||
public device_abcbus_card_interface
|
||||
{
|
||||
public:
|
||||
// construction/destruction
|
||||
turbo_kontroller_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
unidisk_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
protected:
|
||||
// device-level overrides
|
||||
@ -38,17 +37,24 @@ protected:
|
||||
// optional information overrides
|
||||
virtual const tiny_rom_entry *device_rom_region() const override;
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
virtual ioport_constructor device_input_ports() const override;
|
||||
|
||||
// device_abcbus_interface overrides
|
||||
virtual void abcbus_cs(uint8_t data) override;
|
||||
virtual uint8_t abcbus_inp() override;
|
||||
virtual void abcbus_out(uint8_t data) override;
|
||||
virtual uint8_t abcbus_stat() override;
|
||||
virtual void abcbus_c1(uint8_t data) override;
|
||||
virtual void abcbus_c3(uint8_t data) override;
|
||||
|
||||
private:
|
||||
required_device<cpu_device> m_maincpu;
|
||||
|
||||
bool m_cs;
|
||||
};
|
||||
|
||||
|
||||
// device type definition
|
||||
extern const device_type TURBO_KONTROLLER;
|
||||
DECLARE_DEVICE_TYPE(TURBO_KONTROLLER, turbo_kontroller_device)
|
||||
DECLARE_DEVICE_TYPE(UNIDISK, unidisk_t)
|
||||
|
||||
#endif // MAME_BUS_ABCBUS_TURBO_H
|
||||
#endif // MAME_BUS_ABCBUS_UNIDISK_H
|
Loading…
Reference in New Issue
Block a user