mirror of
https://github.com/holub/mame
synced 2025-07-03 17:08:39 +03:00
bus/bbc/1mhzbus: Added The Barry-Box (not working)
This commit is contained in:
parent
1f419cf779
commit
fb3539ce0c
@ -706,6 +706,8 @@ if (BUSES["BBC_1MHZBUS"]~=null) then
|
|||||||
MAME_DIR .. "src/devices/bus/bbc/1mhzbus/2ndserial.h",
|
MAME_DIR .. "src/devices/bus/bbc/1mhzbus/2ndserial.h",
|
||||||
MAME_DIR .. "src/devices/bus/bbc/1mhzbus/autoprom.cpp",
|
MAME_DIR .. "src/devices/bus/bbc/1mhzbus/autoprom.cpp",
|
||||||
MAME_DIR .. "src/devices/bus/bbc/1mhzbus/autoprom.h",
|
MAME_DIR .. "src/devices/bus/bbc/1mhzbus/autoprom.h",
|
||||||
|
MAME_DIR .. "src/devices/bus/bbc/1mhzbus/barrybox.cpp",
|
||||||
|
MAME_DIR .. "src/devices/bus/bbc/1mhzbus/barrybox.h",
|
||||||
MAME_DIR .. "src/devices/bus/bbc/1mhzbus/beebopl.cpp",
|
MAME_DIR .. "src/devices/bus/bbc/1mhzbus/beebopl.cpp",
|
||||||
MAME_DIR .. "src/devices/bus/bbc/1mhzbus/beebopl.h",
|
MAME_DIR .. "src/devices/bus/bbc/1mhzbus/beebopl.h",
|
||||||
MAME_DIR .. "src/devices/bus/bbc/1mhzbus/beebsid.cpp",
|
MAME_DIR .. "src/devices/bus/bbc/1mhzbus/beebsid.cpp",
|
||||||
|
@ -26,10 +26,10 @@ DEFINE_DEVICE_TYPE(BBC_1MHZBUS_SLOT, bbc_1mhzbus_slot_device, "bbc_1mhzbus_slot"
|
|||||||
// device_bbc_1mhzbus_interface - constructor
|
// device_bbc_1mhzbus_interface - constructor
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
device_bbc_1mhzbus_interface::device_bbc_1mhzbus_interface(const machine_config &mconfig, device_t &device) :
|
device_bbc_1mhzbus_interface::device_bbc_1mhzbus_interface(const machine_config &mconfig, device_t &device)
|
||||||
device_interface(device, "bbc1mhzbus")
|
: device_interface(device, "bbc1mhzbus")
|
||||||
|
, m_slot(dynamic_cast<bbc_1mhzbus_slot_device*>(device.owner()))
|
||||||
{
|
{
|
||||||
m_slot = dynamic_cast<bbc_1mhzbus_slot_device *>(device.owner());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -106,6 +106,7 @@ void bbc_1mhzbus_slot_device::jim_w(offs_t offset, uint8_t data)
|
|||||||
#include "24bbc.h"
|
#include "24bbc.h"
|
||||||
#include "2ndserial.h"
|
#include "2ndserial.h"
|
||||||
#include "autoprom.h"
|
#include "autoprom.h"
|
||||||
|
#include "barrybox.h"
|
||||||
#include "cc500.h"
|
#include "cc500.h"
|
||||||
#include "cisco.h"
|
#include "cisco.h"
|
||||||
//#include "beebscan.h"
|
//#include "beebscan.h"
|
||||||
@ -139,15 +140,15 @@ void bbc_1mhzbus_devices(device_slot_interface &device)
|
|||||||
device.option_add("m500", BBC_M500); /* Acorn ANV02 Music 500 */
|
device.option_add("m500", BBC_M500); /* Acorn ANV02 Music 500 */
|
||||||
device.option_add("awhd", BBC_AWHD); /* Acorn Winchester Disc */
|
device.option_add("awhd", BBC_AWHD); /* Acorn Winchester Disc */
|
||||||
device.option_add("autoprom", BBC_AUTOPROM); /* ATPL AutoPrommer */
|
device.option_add("autoprom", BBC_AUTOPROM); /* ATPL AutoPrommer */
|
||||||
|
device.option_add("barrybox", BBC_BARRYBOX); /* The Barry-Box */
|
||||||
device.option_add("24bbc", BBC_24BBC); /* Sprow 24bBC/RAM Disc */
|
device.option_add("24bbc", BBC_24BBC); /* Sprow 24bBC/RAM Disc */
|
||||||
device.option_add("2ndserial", BBC_2NDSERIAL); /* Sprow 2nd Serial Port */
|
device.option_add("2ndserial", BBC_2NDSERIAL); /* Sprow 2nd Serial Port */
|
||||||
device.option_add("beebide", BBC_BEEBIDE); /* Sprow BeebIDE 16-bit */
|
device.option_add("beebide", BBC_BEEBIDE); /* Sprow BeebIDE 16-bit */
|
||||||
device.option_add("ide8", BBC_IDE8); /* RetroClinic BBC 8-bit IDE */
|
device.option_add("ide8", BBC_IDE8); /* RetroClinic BBC 8-bit IDE */
|
||||||
//device.option_add("beebscan", BBC_BEEBSCAN); /* Beeb HandScan */
|
//device.option_add("beebscan", BBC_BEEBSCAN); /* Beeb HandScan */
|
||||||
device.option_add("b488", BBC_B488); /* Aries B488 */
|
device.option_add("b488", BBC_B488); /* Aries B488 */
|
||||||
device.option_add("cisco", BBC_CISCO); /* Cisco Terminal */
|
|
||||||
//device.option_add("videodig", BBC_VIDEODIG); /* Video Digitiser (RH Electronics) */
|
//device.option_add("videodig", BBC_VIDEODIG); /* Video Digitiser (RH Electronics) */
|
||||||
device.option_add("emrmidi", BBC_EMRMIDI); /* EMR Midi Interface */
|
device.option_add("emrmidi", BBC_EMRMIDI); /* EMR MIDI Interface */
|
||||||
//device.option_add("procyon", BBC_PROCYON); /* CST Procyon IEEE Interface */
|
//device.option_add("procyon", BBC_PROCYON); /* CST Procyon IEEE Interface */
|
||||||
device.option_add("m2000", BBC_M2000); /* Hybrid Music 2000 Interface */
|
device.option_add("m2000", BBC_M2000); /* Hybrid Music 2000 Interface */
|
||||||
device.option_add("m3000", BBC_M3000); /* Hybrid Music 3000 Expander */
|
device.option_add("m3000", BBC_M3000); /* Hybrid Music 3000 Expander */
|
||||||
@ -167,6 +168,7 @@ void bbc_1mhzbus_devices(device_slot_interface &device)
|
|||||||
//device.option_add("prisma3", BBC_PRISMA3); /* PRISMA-3 - Millipede 1989 */
|
//device.option_add("prisma3", BBC_PRISMA3); /* PRISMA-3 - Millipede 1989 */
|
||||||
device.option_add("sprite", BBC_SPRITE); /* Logotron Sprite Board */
|
device.option_add("sprite", BBC_SPRITE); /* Logotron Sprite Board */
|
||||||
device.option_add_internal("cfa3000opt", CFA3000_OPT);/* Henson CFA 3000 Option Board */
|
device.option_add_internal("cfa3000opt", CFA3000_OPT);/* Henson CFA 3000 Option Board */
|
||||||
|
device.option_add_internal("cisco", BBC_CISCO); /* Cisco Terminal */
|
||||||
}
|
}
|
||||||
|
|
||||||
void bbcm_1mhzbus_devices(device_slot_interface &device)
|
void bbcm_1mhzbus_devices(device_slot_interface &device)
|
||||||
@ -174,13 +176,14 @@ void bbcm_1mhzbus_devices(device_slot_interface &device)
|
|||||||
//device.option_add("teletext", BBC_TELETEXT); /* Acorn ANE01 Teletext Adapter */
|
//device.option_add("teletext", BBC_TELETEXT); /* Acorn ANE01 Teletext Adapter */
|
||||||
device.option_add("ieee488", BBC_IEEE488); /* Acorn ANK01 IEEE488 Interface */
|
device.option_add("ieee488", BBC_IEEE488); /* Acorn ANK01 IEEE488 Interface */
|
||||||
device.option_add("awhd", BBC_AWHD); /* Acorn Winchester Disc */
|
device.option_add("awhd", BBC_AWHD); /* Acorn Winchester Disc */
|
||||||
|
device.option_add("barrybox", BBC_BARRYBOX); /* The Barry-Box */
|
||||||
device.option_add("24bbc", BBC_24BBC); /* Sprow 24bBC/RAM Disc */
|
device.option_add("24bbc", BBC_24BBC); /* Sprow 24bBC/RAM Disc */
|
||||||
device.option_add("2ndserial", BBC_2NDSERIAL); /* Sprow 2nd Serial Port */
|
device.option_add("2ndserial", BBC_2NDSERIAL); /* Sprow 2nd Serial Port */
|
||||||
device.option_add("beebide", BBC_BEEBIDE); /* Sprow BeebIDE 16-bit */
|
device.option_add("beebide", BBC_BEEBIDE); /* Sprow BeebIDE 16-bit */
|
||||||
device.option_add("ide8", BBC_IDE8); /* RetroClinic BBC 8-bit IDE */
|
device.option_add("ide8", BBC_IDE8); /* RetroClinic BBC 8-bit IDE */
|
||||||
device.option_add("b488", BBC_B488); /* Aries B488 */
|
device.option_add("b488", BBC_B488); /* Aries B488 */
|
||||||
//device.option_add("videodig", BBC_VIDEODIG); /* Video Digitiser (RH Electronics) */
|
//device.option_add("videodig", BBC_VIDEODIG); /* Video Digitiser (RH Electronics) */
|
||||||
device.option_add("emrmidi", BBC_EMRMIDI); /* EMR Midi Interface */
|
device.option_add("emrmidi", BBC_EMRMIDI); /* EMR MIDI Interface */
|
||||||
//device.option_add("procyon", BBC_PROCYON); /* CST Procyon IEEE Interface */
|
//device.option_add("procyon", BBC_PROCYON); /* CST Procyon IEEE Interface */
|
||||||
device.option_add("m2000", BBC_M2000); /* Hybrid Music 2000 Interface */
|
device.option_add("m2000", BBC_M2000); /* Hybrid Music 2000 Interface */
|
||||||
device.option_add("m3000", BBC_M3000); /* Hybrid Music 3000 Expander */
|
device.option_add("m3000", BBC_M3000); /* Hybrid Music 3000 Expander */
|
||||||
|
@ -116,7 +116,7 @@ public:
|
|||||||
void nmi_w(int state) { m_nmi_handler(state); }
|
void nmi_w(int state) { m_nmi_handler(state); }
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
// device-level overrides
|
// device_t overrides
|
||||||
virtual void device_start() override;
|
virtual void device_start() override;
|
||||||
|
|
||||||
device_bbc_1mhzbus_interface *m_card;
|
device_bbc_1mhzbus_interface *m_card;
|
||||||
@ -140,7 +140,7 @@ public:
|
|||||||
protected:
|
protected:
|
||||||
device_bbc_1mhzbus_interface(const machine_config &mconfig, device_t &device);
|
device_bbc_1mhzbus_interface(const machine_config &mconfig, device_t &device);
|
||||||
|
|
||||||
bbc_1mhzbus_slot_device *m_slot;
|
bbc_1mhzbus_slot_device *const m_slot;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
101
src/devices/bus/bbc/1mhzbus/barrybox.cpp
Normal file
101
src/devices/bus/bbc/1mhzbus/barrybox.cpp
Normal file
@ -0,0 +1,101 @@
|
|||||||
|
// license:BSD-3-Clause
|
||||||
|
// copyright-holders:Nigel Barnes
|
||||||
|
/**********************************************************************
|
||||||
|
|
||||||
|
The Barry-Box from BML Electronics
|
||||||
|
|
||||||
|
Use with Barry-Box ROM.
|
||||||
|
|
||||||
|
**********************************************************************/
|
||||||
|
|
||||||
|
#include "emu.h"
|
||||||
|
#include "barrybox.h"
|
||||||
|
|
||||||
|
#include "sound/dac.h"
|
||||||
|
#include "speaker.h"
|
||||||
|
|
||||||
|
|
||||||
|
namespace {
|
||||||
|
|
||||||
|
class bbc_barrybox_device : public device_t, public device_bbc_1mhzbus_interface
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
static constexpr feature_type unemulated_features() { return feature::MICROPHONE; }
|
||||||
|
|
||||||
|
bbc_barrybox_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
|
||||||
|
: device_t(mconfig, BBC_BARRYBOX, tag, owner, clock)
|
||||||
|
, device_bbc_1mhzbus_interface(mconfig, *this)
|
||||||
|
, m_dac(*this,"dac")
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
protected:
|
||||||
|
// device_t overrides
|
||||||
|
virtual void device_start() override;
|
||||||
|
|
||||||
|
// optional information overrides
|
||||||
|
virtual void device_add_mconfig(machine_config &config) override;
|
||||||
|
|
||||||
|
virtual uint8_t jim_r(offs_t offset) override;
|
||||||
|
virtual void jim_w(offs_t offset, uint8_t data) override;
|
||||||
|
|
||||||
|
private:
|
||||||
|
required_device<dac_byte_interface> m_dac;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
//-------------------------------------------------
|
||||||
|
// device_add_mconfig - add device configuration
|
||||||
|
//-------------------------------------------------
|
||||||
|
|
||||||
|
void bbc_barrybox_device::device_add_mconfig(machine_config &config)
|
||||||
|
{
|
||||||
|
SPEAKER(config, "speaker").front_center();
|
||||||
|
ZN428E(config, m_dac, 0).add_route(ALL_OUTPUTS, "speaker", 0.5);
|
||||||
|
|
||||||
|
// TODO: ZN449E ADC
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//-------------------------------------------------
|
||||||
|
// device_start - device-specific startup
|
||||||
|
//-------------------------------------------------
|
||||||
|
|
||||||
|
void bbc_barrybox_device::device_start()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//**************************************************************************
|
||||||
|
// IMPLEMENTATION
|
||||||
|
//**************************************************************************
|
||||||
|
|
||||||
|
uint8_t bbc_barrybox_device::jim_r(offs_t offset)
|
||||||
|
{
|
||||||
|
uint8_t data = 0x00;
|
||||||
|
|
||||||
|
if (offset & 0x01)
|
||||||
|
{
|
||||||
|
// ADC busy?
|
||||||
|
}
|
||||||
|
|
||||||
|
if (offset & 0x04)
|
||||||
|
{
|
||||||
|
//data = m_adc->read();
|
||||||
|
}
|
||||||
|
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
|
||||||
|
void bbc_barrybox_device::jim_w(offs_t offset, uint8_t data)
|
||||||
|
{
|
||||||
|
if (offset & 0x02)
|
||||||
|
{
|
||||||
|
m_dac->write(data);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
} // anonymous namespace
|
||||||
|
|
||||||
|
|
||||||
|
DEFINE_DEVICE_TYPE_PRIVATE(BBC_BARRYBOX, device_bbc_1mhzbus_interface, bbc_barrybox_device, "bbc_barrybox", "The Barry-Box");
|
11
src/devices/bus/bbc/1mhzbus/barrybox.h
Normal file
11
src/devices/bus/bbc/1mhzbus/barrybox.h
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
// license:BSD-3-Clause
|
||||||
|
// copyright-holders:Nigel Barnes
|
||||||
|
#ifndef MAME_BUS_BBC_1MHZBUS_BARRYBOX_H
|
||||||
|
#define MAME_BUS_BBC_1MHZBUS_BARRYBOX_H
|
||||||
|
|
||||||
|
#include "1mhzbus.h"
|
||||||
|
|
||||||
|
|
||||||
|
DECLARE_DEVICE_TYPE(BBC_BARRYBOX, device_bbc_1mhzbus_interface);
|
||||||
|
|
||||||
|
#endif // MAME_BUS_BBC_1MHZBUS_BARRYBOX_H
|
Loading…
Reference in New Issue
Block a user