mirror of
https://github.com/holub/mame
synced 2025-04-22 08:22:15 +03:00
bus/a2bus, bus/a2gameio: Moved many class declarations out of headers.
This reduces how frequently the Apple II drivers need to be recompiled when a random device changes. Also, this turned up three things that are apparently not hooked up in the PC Transported card.
This commit is contained in:
parent
6de437c2cb
commit
2f42632ae5
@ -15,9 +15,15 @@
|
||||
|
||||
#include "emu.h"
|
||||
#include "a2arcadebd.h"
|
||||
|
||||
#include "video/tms9928a.h"
|
||||
#include "sound/ay8910.h"
|
||||
|
||||
#include "speaker.h"
|
||||
|
||||
|
||||
namespace {
|
||||
|
||||
/***************************************************************************
|
||||
PARAMETERS
|
||||
***************************************************************************/
|
||||
@ -27,10 +33,34 @@
|
||||
#define SCREEN_TAG "screen"
|
||||
|
||||
//**************************************************************************
|
||||
// GLOBAL VARIABLES
|
||||
// TYPE DEFINITIONS
|
||||
//**************************************************************************
|
||||
|
||||
DEFINE_DEVICE_TYPE(A2BUS_ARCADEBOARD, a2bus_arcboard_device, "a2arcbd", "Third Millenium Engineering Arcade Board")
|
||||
class a2bus_arcboard_device:
|
||||
public device_t,
|
||||
public device_a2bus_card_interface
|
||||
{
|
||||
public:
|
||||
// construction/destruction
|
||||
a2bus_arcboard_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
protected:
|
||||
a2bus_arcboard_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
virtual void device_start() override;
|
||||
virtual void device_reset() override;
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
|
||||
// overrides of standard a2bus slot functions
|
||||
virtual uint8_t read_c0nx(uint8_t offset) override;
|
||||
virtual void write_c0nx(uint8_t offset, uint8_t data) override;
|
||||
|
||||
private:
|
||||
DECLARE_WRITE_LINE_MEMBER( tms_irq_w );
|
||||
|
||||
required_device<tms9918a_device> m_tms;
|
||||
required_device<ay8910_device> m_ay;
|
||||
};
|
||||
|
||||
//-------------------------------------------------
|
||||
// device_add_mconfig - add device configuration
|
||||
@ -138,3 +168,12 @@ WRITE_LINE_MEMBER( a2bus_arcboard_device::tms_irq_w )
|
||||
lower_slot_irq();
|
||||
}
|
||||
}
|
||||
|
||||
} // anonymous namespace
|
||||
|
||||
|
||||
//**************************************************************************
|
||||
// GLOBAL VARIABLES
|
||||
//**************************************************************************
|
||||
|
||||
DEFINE_DEVICE_TYPE_PRIVATE(A2BUS_ARCADEBOARD, device_a2bus_card_interface, a2bus_arcboard_device, "a2arcbd", "Third Millenium Engineering Arcade Board")
|
||||
|
@ -14,40 +14,8 @@
|
||||
#pragma once
|
||||
|
||||
#include "a2bus.h"
|
||||
#include "video/tms9928a.h"
|
||||
#include "sound/ay8910.h"
|
||||
|
||||
//**************************************************************************
|
||||
// TYPE DEFINITIONS
|
||||
//**************************************************************************
|
||||
|
||||
class a2bus_arcboard_device:
|
||||
public device_t,
|
||||
public device_a2bus_card_interface
|
||||
{
|
||||
public:
|
||||
// construction/destruction
|
||||
a2bus_arcboard_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
protected:
|
||||
a2bus_arcboard_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
virtual void device_start() override;
|
||||
virtual void device_reset() override;
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
|
||||
// overrides of standard a2bus slot functions
|
||||
virtual uint8_t read_c0nx(uint8_t offset) override;
|
||||
virtual void write_c0nx(uint8_t offset, uint8_t data) override;
|
||||
|
||||
private:
|
||||
DECLARE_WRITE_LINE_MEMBER( tms_irq_w );
|
||||
|
||||
required_device<tms9918a_device> m_tms;
|
||||
required_device<ay8910_device> m_ay;
|
||||
};
|
||||
|
||||
// device type definition
|
||||
DECLARE_DEVICE_TYPE(A2BUS_ARCADEBOARD, a2bus_arcboard_device)
|
||||
// device type declaration
|
||||
DECLARE_DEVICE_TYPE(A2BUS_ARCADEBOARD, device_a2bus_card_interface)
|
||||
|
||||
#endif // MAME_BUS_A2BUS_A2ARCADEBD_H
|
||||
|
@ -35,18 +35,48 @@
|
||||
#include "logmacro.h"
|
||||
|
||||
|
||||
namespace {
|
||||
|
||||
/***************************************************************************
|
||||
PARAMETERS
|
||||
***************************************************************************/
|
||||
|
||||
//**************************************************************************
|
||||
// GLOBAL VARIABLES
|
||||
//**************************************************************************
|
||||
|
||||
DEFINE_DEVICE_TYPE(A2BUS_ECHOII, a2bus_echoii_device, "a2echoii", "Street Electronics Echo II")
|
||||
|
||||
#define TMS_TAG "tms5220"
|
||||
|
||||
//**************************************************************************
|
||||
// TYPE DEFINITIONS
|
||||
//**************************************************************************
|
||||
|
||||
class a2bus_echoii_device:
|
||||
public device_t,
|
||||
public device_a2bus_card_interface
|
||||
{
|
||||
public:
|
||||
// construction/destruction
|
||||
a2bus_echoii_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
required_device<tms5220_device> m_tms;
|
||||
|
||||
protected:
|
||||
a2bus_echoii_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
virtual void device_start() override;
|
||||
virtual void device_reset() override;
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
|
||||
// overrides of standard a2bus slot functions
|
||||
virtual uint8_t read_c0nx(uint8_t offset) override;
|
||||
virtual void write_c0nx(uint8_t offset, uint8_t data) override;
|
||||
virtual bool take_c800() override;
|
||||
|
||||
private:
|
||||
//DECLARE_WRITE_LINE_MEMBER(tms_irq_callback);
|
||||
DECLARE_WRITE_LINE_MEMBER(tms_readyq_callback);
|
||||
uint8_t m_writelatch_data; // 74ls373 latch
|
||||
bool m_readlatch_flag; // 74c74 1st half
|
||||
bool m_writelatch_flag; // 74c74 2nd half
|
||||
};
|
||||
|
||||
/***************************************************************************
|
||||
FUNCTION PROTOTYPES
|
||||
***************************************************************************/
|
||||
@ -170,3 +200,12 @@ bool a2bus_echoii_device::take_c800()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
} // anonymous namespace
|
||||
|
||||
|
||||
//**************************************************************************
|
||||
// GLOBAL VARIABLES
|
||||
//**************************************************************************
|
||||
|
||||
DEFINE_DEVICE_TYPE_PRIVATE(A2BUS_ECHOII, device_a2bus_card_interface, a2bus_echoii_device, "a2echoii", "Street Electronics Echo II")
|
||||
|
@ -14,43 +14,8 @@
|
||||
#pragma once
|
||||
|
||||
#include "a2bus.h"
|
||||
#include "sound/tms5220.h"
|
||||
|
||||
//**************************************************************************
|
||||
// TYPE DEFINITIONS
|
||||
//**************************************************************************
|
||||
|
||||
class a2bus_echoii_device:
|
||||
public device_t,
|
||||
public device_a2bus_card_interface
|
||||
{
|
||||
public:
|
||||
// construction/destruction
|
||||
a2bus_echoii_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
required_device<tms5220_device> m_tms;
|
||||
|
||||
protected:
|
||||
a2bus_echoii_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
virtual void device_start() override;
|
||||
virtual void device_reset() override;
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
|
||||
// overrides of standard a2bus slot functions
|
||||
virtual uint8_t read_c0nx(uint8_t offset) override;
|
||||
virtual void write_c0nx(uint8_t offset, uint8_t data) override;
|
||||
virtual bool take_c800() override;
|
||||
|
||||
private:
|
||||
//DECLARE_WRITE_LINE_MEMBER(tms_irq_callback);
|
||||
DECLARE_WRITE_LINE_MEMBER(tms_readyq_callback);
|
||||
uint8_t m_writelatch_data; // 74ls373 latch
|
||||
bool m_readlatch_flag; // 74c74 1st half
|
||||
bool m_writelatch_flag; // 74c74 2nd half
|
||||
};
|
||||
|
||||
// device type definition
|
||||
DECLARE_DEVICE_TYPE(A2BUS_ECHOII, a2bus_echoii_device)
|
||||
// device type declaration
|
||||
DECLARE_DEVICE_TYPE(A2BUS_ECHOII, device_a2bus_card_interface)
|
||||
|
||||
#endif // MAME_BUS_A2BUS_A2ECHOII_H
|
||||
|
@ -11,9 +11,17 @@
|
||||
|
||||
#include "emu.h"
|
||||
#include "a2mockingboard.h"
|
||||
|
||||
#include "machine/6522via.h"
|
||||
#include "sound/ay8910.h"
|
||||
#include "sound/tms5220.h"
|
||||
#include "sound/votrax.h"
|
||||
|
||||
#include "speaker.h"
|
||||
|
||||
|
||||
namespace {
|
||||
|
||||
/***************************************************************************
|
||||
PARAMETERS
|
||||
***************************************************************************/
|
||||
@ -27,12 +35,112 @@
|
||||
#define E2P_TMS_TAG "tms5220"
|
||||
|
||||
//**************************************************************************
|
||||
// GLOBAL VARIABLES
|
||||
// TYPE DEFINITIONS
|
||||
//**************************************************************************
|
||||
|
||||
DEFINE_DEVICE_TYPE(A2BUS_MOCKINGBOARD, a2bus_mockingboard_device, "a2mockbd", "Sweet Micro Systems Mockingboard Sound/Speech I")
|
||||
DEFINE_DEVICE_TYPE(A2BUS_PHASOR, a2bus_phasor_device, "a2phasor", "Applied Engineering Phasor")
|
||||
DEFINE_DEVICE_TYPE(A2BUS_ECHOPLUS, a2bus_echoplus_device, "a2echop", "Street Electronics Echo Plus")
|
||||
class a2bus_ayboard_device:
|
||||
public device_t,
|
||||
public device_a2bus_card_interface
|
||||
{
|
||||
public:
|
||||
DECLARE_WRITE_LINE_MEMBER( via1_irq_w );
|
||||
DECLARE_WRITE_LINE_MEMBER( via2_irq_w );
|
||||
u8 via1_in_a() { return m_porta1; }
|
||||
u8 via2_in_a() { return m_porta2; }
|
||||
void via1_out_a(u8 data);
|
||||
virtual void via1_out_b(u8 data);
|
||||
void via2_out_a(u8 data);
|
||||
virtual void via2_out_b(u8 data);
|
||||
|
||||
protected:
|
||||
// construction/destruction
|
||||
a2bus_ayboard_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
virtual void device_start() override;
|
||||
virtual void device_reset() override;
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
|
||||
// overrides of standard a2bus slot functions
|
||||
virtual u8 read_c0nx(u8 offset) override { return 0xff; }
|
||||
virtual void write_c0nx(u8 offset, u8 data) override { }
|
||||
virtual u8 read_cnxx(u8 offset) override;
|
||||
virtual void write_cnxx(u8 offset, u8 data) override;
|
||||
|
||||
void add_common_devices(machine_config &config);
|
||||
|
||||
required_device<via6522_device> m_via1;
|
||||
optional_device<via6522_device> m_via2;
|
||||
required_device<ay8913_device> m_ay1;
|
||||
required_device<ay8913_device> m_ay2;
|
||||
|
||||
u8 m_porta1;
|
||||
u8 m_porta2;
|
||||
};
|
||||
|
||||
class a2bus_mockingboard_device : public a2bus_ayboard_device
|
||||
{
|
||||
public:
|
||||
a2bus_mockingboard_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
virtual void via1_out_b(u8 data) override;
|
||||
protected:
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
virtual void device_reset() override;
|
||||
|
||||
required_device<votrax_sc01_device> m_sc01;
|
||||
|
||||
private:
|
||||
DECLARE_WRITE_LINE_MEMBER(write_via1_cb2);
|
||||
|
||||
u8 m_portb1;
|
||||
int m_last_cb2_state;
|
||||
};
|
||||
|
||||
class a2bus_phasor_device : public a2bus_ayboard_device
|
||||
{
|
||||
public:
|
||||
a2bus_phasor_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
void via1_out_b(u8 data) override;
|
||||
void via2_out_b(u8 data) override;
|
||||
|
||||
protected:
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
|
||||
virtual u8 read_c0nx(u8 offset) override;
|
||||
virtual void write_c0nx(u8 offset, u8 data) override;
|
||||
virtual u8 read_cnxx(u8 offset) override;
|
||||
virtual void write_cnxx(u8 offset, u8 data) override;
|
||||
|
||||
required_device<ay8913_device> m_ay3;
|
||||
required_device<ay8913_device> m_ay4;
|
||||
|
||||
private:
|
||||
void set_clocks();
|
||||
|
||||
bool m_native;
|
||||
};
|
||||
|
||||
class a2bus_echoplus_device : public a2bus_ayboard_device
|
||||
{
|
||||
public:
|
||||
a2bus_echoplus_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
protected:
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
|
||||
virtual void via1_out_b(u8 data) override;
|
||||
|
||||
virtual u8 read_c0nx(u8 offset) override;
|
||||
virtual void write_c0nx(u8 offset, u8 data) override;
|
||||
virtual u8 read_cnxx(u8 offset) override;
|
||||
virtual void write_cnxx(u8 offset, u8 data) override;
|
||||
|
||||
required_device<tms5220_device> m_tms;
|
||||
|
||||
private:
|
||||
u8 m_last_cnxx_addr;
|
||||
};
|
||||
|
||||
//-------------------------------------------------
|
||||
// device_add_mconfig - add device configuration
|
||||
@ -617,3 +725,14 @@ void a2bus_mockingboard_device::via1_out_b(u8 data)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
} // anonymous namespace
|
||||
|
||||
|
||||
//**************************************************************************
|
||||
// GLOBAL VARIABLES
|
||||
//**************************************************************************
|
||||
|
||||
DEFINE_DEVICE_TYPE_PRIVATE(A2BUS_MOCKINGBOARD, device_a2bus_card_interface, a2bus_mockingboard_device, "a2mockbd", "Sweet Micro Systems Mockingboard Sound/Speech I")
|
||||
DEFINE_DEVICE_TYPE_PRIVATE(A2BUS_PHASOR, device_a2bus_card_interface, a2bus_phasor_device, "a2phasor", "Applied Engineering Phasor")
|
||||
DEFINE_DEVICE_TYPE_PRIVATE(A2BUS_ECHOPLUS, device_a2bus_card_interface, a2bus_echoplus_device, "a2echop", "Street Electronics Echo Plus")
|
||||
|
@ -12,122 +12,10 @@
|
||||
#define MAME_BUS_A2BUS_A2MOCKINGBOARD_H
|
||||
|
||||
#include "a2bus.h"
|
||||
#include "machine/6522via.h"
|
||||
#include "sound/ay8910.h"
|
||||
#include "sound/tms5220.h"
|
||||
#include "sound/votrax.h"
|
||||
|
||||
//**************************************************************************
|
||||
// TYPE DEFINITIONS
|
||||
//**************************************************************************
|
||||
|
||||
class a2bus_ayboard_device:
|
||||
public device_t,
|
||||
public device_a2bus_card_interface
|
||||
{
|
||||
public:
|
||||
DECLARE_WRITE_LINE_MEMBER( via1_irq_w );
|
||||
DECLARE_WRITE_LINE_MEMBER( via2_irq_w );
|
||||
u8 via1_in_a() { return m_porta1; }
|
||||
u8 via2_in_a() { return m_porta2; }
|
||||
void via1_out_a(u8 data);
|
||||
virtual void via1_out_b(u8 data);
|
||||
void via2_out_a(u8 data);
|
||||
virtual void via2_out_b(u8 data);
|
||||
|
||||
protected:
|
||||
// construction/destruction
|
||||
a2bus_ayboard_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
virtual void device_start() override;
|
||||
virtual void device_reset() override;
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
|
||||
// overrides of standard a2bus slot functions
|
||||
virtual u8 read_c0nx(u8 offset) override { return 0xff; }
|
||||
virtual void write_c0nx(u8 offset, u8 data) override { }
|
||||
virtual u8 read_cnxx(u8 offset) override;
|
||||
virtual void write_cnxx(u8 offset, u8 data) override;
|
||||
|
||||
void add_common_devices(machine_config &config);
|
||||
|
||||
required_device<via6522_device> m_via1;
|
||||
optional_device<via6522_device> m_via2;
|
||||
required_device<ay8913_device> m_ay1;
|
||||
required_device<ay8913_device> m_ay2;
|
||||
|
||||
u8 m_porta1;
|
||||
u8 m_porta2;
|
||||
};
|
||||
|
||||
class a2bus_mockingboard_device : public a2bus_ayboard_device
|
||||
{
|
||||
public:
|
||||
a2bus_mockingboard_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
virtual void via1_out_b(u8 data) override;
|
||||
protected:
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
virtual void device_reset() override;
|
||||
|
||||
required_device<votrax_sc01_device> m_sc01;
|
||||
|
||||
private:
|
||||
DECLARE_WRITE_LINE_MEMBER(write_via1_cb2);
|
||||
|
||||
u8 m_portb1;
|
||||
int m_last_cb2_state;
|
||||
};
|
||||
|
||||
class a2bus_phasor_device : public a2bus_ayboard_device
|
||||
{
|
||||
public:
|
||||
a2bus_phasor_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
void via1_out_b(u8 data) override;
|
||||
void via2_out_b(u8 data) override;
|
||||
|
||||
protected:
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
|
||||
virtual u8 read_c0nx(u8 offset) override;
|
||||
virtual void write_c0nx(u8 offset, u8 data) override;
|
||||
virtual u8 read_cnxx(u8 offset) override;
|
||||
virtual void write_cnxx(u8 offset, u8 data) override;
|
||||
|
||||
required_device<ay8913_device> m_ay3;
|
||||
required_device<ay8913_device> m_ay4;
|
||||
|
||||
private:
|
||||
void set_clocks();
|
||||
|
||||
bool m_native;
|
||||
};
|
||||
|
||||
class a2bus_echoplus_device : public a2bus_ayboard_device
|
||||
{
|
||||
public:
|
||||
a2bus_echoplus_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
protected:
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
|
||||
virtual void via1_out_b(u8 data) override;
|
||||
|
||||
virtual u8 read_c0nx(u8 offset) override;
|
||||
virtual void write_c0nx(u8 offset, u8 data) override;
|
||||
virtual u8 read_cnxx(u8 offset) override;
|
||||
virtual void write_cnxx(u8 offset, u8 data) override;
|
||||
|
||||
required_device<tms5220_device> m_tms;
|
||||
|
||||
private:
|
||||
u8 m_last_cnxx_addr;
|
||||
};
|
||||
|
||||
// device type definition
|
||||
DECLARE_DEVICE_TYPE(A2BUS_MOCKINGBOARD, a2bus_mockingboard_device)
|
||||
DECLARE_DEVICE_TYPE(A2BUS_PHASOR, a2bus_phasor_device)
|
||||
DECLARE_DEVICE_TYPE(A2BUS_ECHOPLUS, a2bus_echoplus_device)
|
||||
DECLARE_DEVICE_TYPE(A2BUS_MOCKINGBOARD, device_a2bus_card_interface)
|
||||
DECLARE_DEVICE_TYPE(A2BUS_PHASOR, device_a2bus_card_interface)
|
||||
DECLARE_DEVICE_TYPE(A2BUS_ECHOPLUS, device_a2bus_card_interface)
|
||||
|
||||
#endif // MAME_BUS_A2BUS_A2MOCKINGBOARD_H
|
||||
|
@ -11,15 +11,43 @@
|
||||
#include "emu.h"
|
||||
#include "computereyes2.h"
|
||||
|
||||
/***************************************************************************
|
||||
PARAMETERS
|
||||
***************************************************************************/
|
||||
#include "imagedev/picture.h"
|
||||
|
||||
#include "bitmap.h"
|
||||
|
||||
|
||||
namespace {
|
||||
|
||||
//**************************************************************************
|
||||
// GLOBAL VARIABLES
|
||||
// TYPE DEFINITIONS
|
||||
//**************************************************************************
|
||||
|
||||
DEFINE_DEVICE_TYPE(A2BUS_COMPUTEREYES2, a2bus_computereyes2_device, "a2ceyes2", "Digital Vision ComputerEyes/2")
|
||||
class a2bus_computereyes2_device:
|
||||
public device_t,
|
||||
public device_a2bus_card_interface
|
||||
{
|
||||
public:
|
||||
// construction/destruction
|
||||
a2bus_computereyes2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
protected:
|
||||
a2bus_computereyes2_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
virtual void device_start() override;
|
||||
virtual void device_reset() override;
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
|
||||
// overrides of standard a2bus slot functions
|
||||
virtual uint8_t read_c0nx(uint8_t offset) override;
|
||||
virtual void write_c0nx(uint8_t offset, uint8_t data) override;
|
||||
|
||||
private:
|
||||
required_device<picture_image_device> m_picture;
|
||||
int m_x, m_y, m_cer0, m_cer1, m_cer2;
|
||||
u8 m_a2_bitmap[280*193];
|
||||
u8 m_threshold;
|
||||
bool m_bActive;
|
||||
};
|
||||
|
||||
/***************************************************************************
|
||||
FUNCTION PROTOTYPES
|
||||
@ -230,3 +258,12 @@ void a2bus_computereyes2_device::write_c0nx(uint8_t offset, uint8_t data)
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
} // anonymous namespace
|
||||
|
||||
|
||||
//**************************************************************************
|
||||
// GLOBAL VARIABLES
|
||||
//**************************************************************************
|
||||
|
||||
DEFINE_DEVICE_TYPE_PRIVATE(A2BUS_COMPUTEREYES2, device_a2bus_card_interface, a2bus_computereyes2_device, "a2ceyes2", "Digital Vision ComputerEyes/2")
|
||||
|
@ -14,41 +14,8 @@
|
||||
#pragma once
|
||||
|
||||
#include "a2bus.h"
|
||||
#include "bitmap.h"
|
||||
#include "imagedev/picture.h"
|
||||
|
||||
//**************************************************************************
|
||||
// TYPE DEFINITIONS
|
||||
//**************************************************************************
|
||||
|
||||
class a2bus_computereyes2_device:
|
||||
public device_t,
|
||||
public device_a2bus_card_interface
|
||||
{
|
||||
public:
|
||||
// construction/destruction
|
||||
a2bus_computereyes2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
protected:
|
||||
a2bus_computereyes2_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
virtual void device_start() override;
|
||||
virtual void device_reset() override;
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
|
||||
// overrides of standard a2bus slot functions
|
||||
virtual uint8_t read_c0nx(uint8_t offset) override;
|
||||
virtual void write_c0nx(uint8_t offset, uint8_t data) override;
|
||||
|
||||
private:
|
||||
required_device<picture_image_device> m_picture;
|
||||
int m_x, m_y, m_cer0, m_cer1, m_cer2;
|
||||
u8 m_a2_bitmap[280*193];
|
||||
u8 m_threshold;
|
||||
bool m_bActive;
|
||||
};
|
||||
|
||||
// device type definition
|
||||
DECLARE_DEVICE_TYPE(A2BUS_COMPUTEREYES2, a2bus_computereyes2_device)
|
||||
// device type declaration
|
||||
DECLARE_DEVICE_TYPE(A2BUS_COMPUTEREYES2, device_a2bus_card_interface)
|
||||
|
||||
#endif // MAME_BUS_A2BUS_COMPEYES2_H
|
||||
|
@ -13,6 +13,11 @@
|
||||
#include "emu.h"
|
||||
#include "ezcgi.h"
|
||||
|
||||
#include "video/tms9928a.h"
|
||||
#include "video/v9938.h"
|
||||
|
||||
|
||||
namespace {
|
||||
|
||||
/***************************************************************************
|
||||
PARAMETERS
|
||||
@ -22,12 +27,83 @@
|
||||
#define SCREEN_TAG "screen"
|
||||
|
||||
//**************************************************************************
|
||||
// GLOBAL VARIABLES
|
||||
// TYPE DEFINITIONS
|
||||
//**************************************************************************
|
||||
|
||||
DEFINE_DEVICE_TYPE(A2BUS_EZCGI, a2bus_ezcgi_device, "a2ezcgi", "E-Z Color Graphics Interface")
|
||||
DEFINE_DEVICE_TYPE(A2BUS_EZCGI_9938, a2bus_ezcgi_9938_device, "a2ezcgi3", "E-Z Color Graphics Interface (TMS9938)")
|
||||
DEFINE_DEVICE_TYPE(A2BUS_EZCGI_9958, a2bus_ezcgi_9958_device, "a2ezcgi5", "E-Z Color Graphics Interface (TMS9958)")
|
||||
class a2bus_ezcgi_device:
|
||||
public device_t,
|
||||
public device_a2bus_card_interface
|
||||
{
|
||||
public:
|
||||
// construction/destruction
|
||||
a2bus_ezcgi_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
protected:
|
||||
a2bus_ezcgi_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
virtual void device_start() override;
|
||||
virtual void device_reset() override;
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
|
||||
// overrides of standard a2bus slot functions
|
||||
virtual uint8_t read_c0nx(uint8_t offset) override;
|
||||
virtual void write_c0nx(uint8_t offset, uint8_t data) override;
|
||||
|
||||
required_device<tms9918a_device> m_tms;
|
||||
|
||||
private:
|
||||
DECLARE_WRITE_LINE_MEMBER( tms_irq_w );
|
||||
};
|
||||
|
||||
class a2bus_ezcgi_9938_device:
|
||||
public device_t,
|
||||
public device_a2bus_card_interface
|
||||
{
|
||||
public:
|
||||
// construction/destruction
|
||||
a2bus_ezcgi_9938_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
protected:
|
||||
a2bus_ezcgi_9938_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
virtual void device_start() override;
|
||||
virtual void device_reset() override;
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
|
||||
// overrides of standard a2bus slot functions
|
||||
virtual uint8_t read_c0nx(uint8_t offset) override;
|
||||
virtual void write_c0nx(uint8_t offset, uint8_t data) override;
|
||||
|
||||
required_device<v9938_device> m_tms;
|
||||
|
||||
private:
|
||||
DECLARE_WRITE_LINE_MEMBER( tms_irq_w );
|
||||
};
|
||||
|
||||
class a2bus_ezcgi_9958_device:
|
||||
public device_t,
|
||||
public device_a2bus_card_interface
|
||||
{
|
||||
public:
|
||||
// construction/destruction
|
||||
a2bus_ezcgi_9958_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
protected:
|
||||
a2bus_ezcgi_9958_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
virtual void device_start() override;
|
||||
virtual void device_reset() override;
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
|
||||
// overrides of standard a2bus slot functions
|
||||
virtual uint8_t read_c0nx(uint8_t offset) override;
|
||||
virtual void write_c0nx(uint8_t offset, uint8_t data) override;
|
||||
|
||||
required_device<v9958_device> m_tms;
|
||||
|
||||
private:
|
||||
DECLARE_WRITE_LINE_MEMBER( tms_irq_w );
|
||||
};
|
||||
|
||||
#define MSX2_XBORDER_PIXELS 16
|
||||
#define MSX2_YBORDER_PIXELS 28
|
||||
@ -287,3 +363,14 @@ WRITE_LINE_MEMBER( a2bus_ezcgi_9958_device::tms_irq_w )
|
||||
lower_slot_irq();
|
||||
}
|
||||
}
|
||||
|
||||
} // anonymous namespace
|
||||
|
||||
|
||||
//**************************************************************************
|
||||
// GLOBAL VARIABLES
|
||||
//**************************************************************************
|
||||
|
||||
DEFINE_DEVICE_TYPE_PRIVATE(A2BUS_EZCGI, device_a2bus_card_interface, a2bus_ezcgi_device, "a2ezcgi", "E-Z Color Graphics Interface")
|
||||
DEFINE_DEVICE_TYPE_PRIVATE(A2BUS_EZCGI_9938, device_a2bus_card_interface, a2bus_ezcgi_9938_device, "a2ezcgi3", "E-Z Color Graphics Interface (TMS9938)")
|
||||
DEFINE_DEVICE_TYPE_PRIVATE(A2BUS_EZCGI_9958, device_a2bus_card_interface, a2bus_ezcgi_9958_device, "a2ezcgi5", "E-Z Color Graphics Interface (TMS9958)")
|
||||
|
@ -16,91 +16,10 @@
|
||||
#pragma once
|
||||
|
||||
#include "a2bus.h"
|
||||
#include "video/tms9928a.h"
|
||||
#include "video/v9938.h"
|
||||
|
||||
//**************************************************************************
|
||||
// TYPE DEFINITIONS
|
||||
//**************************************************************************
|
||||
|
||||
class a2bus_ezcgi_device:
|
||||
public device_t,
|
||||
public device_a2bus_card_interface
|
||||
{
|
||||
public:
|
||||
// construction/destruction
|
||||
a2bus_ezcgi_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
protected:
|
||||
a2bus_ezcgi_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
virtual void device_start() override;
|
||||
virtual void device_reset() override;
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
|
||||
// overrides of standard a2bus slot functions
|
||||
virtual uint8_t read_c0nx(uint8_t offset) override;
|
||||
virtual void write_c0nx(uint8_t offset, uint8_t data) override;
|
||||
|
||||
required_device<tms9918a_device> m_tms;
|
||||
|
||||
private:
|
||||
DECLARE_WRITE_LINE_MEMBER( tms_irq_w );
|
||||
};
|
||||
|
||||
class a2bus_ezcgi_9938_device:
|
||||
public device_t,
|
||||
public device_a2bus_card_interface
|
||||
{
|
||||
public:
|
||||
// construction/destruction
|
||||
a2bus_ezcgi_9938_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
protected:
|
||||
a2bus_ezcgi_9938_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
virtual void device_start() override;
|
||||
virtual void device_reset() override;
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
|
||||
// overrides of standard a2bus slot functions
|
||||
virtual uint8_t read_c0nx(uint8_t offset) override;
|
||||
virtual void write_c0nx(uint8_t offset, uint8_t data) override;
|
||||
|
||||
required_device<v9938_device> m_tms;
|
||||
|
||||
private:
|
||||
DECLARE_WRITE_LINE_MEMBER( tms_irq_w );
|
||||
};
|
||||
|
||||
class a2bus_ezcgi_9958_device:
|
||||
public device_t,
|
||||
public device_a2bus_card_interface
|
||||
{
|
||||
public:
|
||||
// construction/destruction
|
||||
a2bus_ezcgi_9958_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
protected:
|
||||
a2bus_ezcgi_9958_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
virtual void device_start() override;
|
||||
virtual void device_reset() override;
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
|
||||
// overrides of standard a2bus slot functions
|
||||
virtual uint8_t read_c0nx(uint8_t offset) override;
|
||||
virtual void write_c0nx(uint8_t offset, uint8_t data) override;
|
||||
|
||||
required_device<v9958_device> m_tms;
|
||||
|
||||
private:
|
||||
DECLARE_WRITE_LINE_MEMBER( tms_irq_w );
|
||||
};
|
||||
|
||||
// device type definition
|
||||
DECLARE_DEVICE_TYPE(A2BUS_EZCGI, a2bus_ezcgi_device)
|
||||
DECLARE_DEVICE_TYPE(A2BUS_EZCGI_9938, a2bus_ezcgi_9938_device)
|
||||
DECLARE_DEVICE_TYPE(A2BUS_EZCGI_9958, a2bus_ezcgi_9958_device)
|
||||
DECLARE_DEVICE_TYPE(A2BUS_EZCGI, device_a2bus_card_interface)
|
||||
DECLARE_DEVICE_TYPE(A2BUS_EZCGI_9938, device_a2bus_card_interface)
|
||||
DECLARE_DEVICE_TYPE(A2BUS_EZCGI_9958, device_a2bus_card_interface)
|
||||
|
||||
#endif // MAME_BUS_A2BUS_A2EZCGI_H
|
||||
|
@ -47,15 +47,43 @@
|
||||
#include "emu.h"
|
||||
#include "lancegs.h"
|
||||
|
||||
/***************************************************************************
|
||||
PARAMETERS
|
||||
***************************************************************************/
|
||||
#include "machine/smc91c9x.h"
|
||||
#include "machine/i2cmem.h"
|
||||
|
||||
|
||||
namespace {
|
||||
|
||||
//**************************************************************************
|
||||
// GLOBAL VARIABLES
|
||||
// TYPE DEFINITIONS
|
||||
//**************************************************************************
|
||||
|
||||
DEFINE_DEVICE_TYPE(A2BUS_LANCEGS, a2bus_lancegs_device, "a2lancegs", "///SHH Systeme LANceGS")
|
||||
class a2bus_lancegs_device:
|
||||
public device_t,
|
||||
public device_a2bus_card_interface
|
||||
{
|
||||
public:
|
||||
// construction/destruction
|
||||
a2bus_lancegs_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
protected:
|
||||
a2bus_lancegs_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
virtual const tiny_rom_entry *device_rom_region() const override;
|
||||
|
||||
virtual void device_start() override;
|
||||
virtual void device_reset() override;
|
||||
|
||||
virtual uint8_t read_c0nx(uint8_t offset) override;
|
||||
virtual void write_c0nx(uint8_t offset, uint8_t data) override;
|
||||
|
||||
private:
|
||||
required_device<smc91c96_device> m_netinf;
|
||||
required_device<i2c_24c04_device> m_i2cmem;
|
||||
bool m_shadow;
|
||||
|
||||
DECLARE_WRITE_LINE_MEMBER( netinf_irq_w );
|
||||
};
|
||||
|
||||
|
||||
//**************************************************************************
|
||||
// LIVE DEVICE
|
||||
@ -176,3 +204,12 @@ const tiny_rom_entry *a2bus_lancegs_device::device_rom_region() const
|
||||
{
|
||||
return ROM_NAME(lancegs);
|
||||
}
|
||||
|
||||
} // anonymous namespace
|
||||
|
||||
|
||||
//**************************************************************************
|
||||
// GLOBAL VARIABLES
|
||||
//**************************************************************************
|
||||
|
||||
DEFINE_DEVICE_TYPE_PRIVATE(A2BUS_LANCEGS, device_a2bus_card_interface, a2bus_lancegs_device, "a2lancegs", "///SHH Systeme LANceGS")
|
||||
|
@ -12,41 +12,8 @@
|
||||
#define MAME_BUS_A2BUS_LANCEGS_H
|
||||
|
||||
#include "a2bus.h"
|
||||
#include "machine/smc91c9x.h"
|
||||
#include "machine/i2cmem.h"
|
||||
|
||||
//**************************************************************************
|
||||
// TYPE DEFINITIONS
|
||||
//**************************************************************************
|
||||
|
||||
class a2bus_lancegs_device:
|
||||
public device_t,
|
||||
public device_a2bus_card_interface
|
||||
{
|
||||
public:
|
||||
// construction/destruction
|
||||
a2bus_lancegs_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
protected:
|
||||
a2bus_lancegs_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
virtual const tiny_rom_entry *device_rom_region() const override;
|
||||
|
||||
virtual void device_start() override;
|
||||
virtual void device_reset() override;
|
||||
|
||||
virtual uint8_t read_c0nx(uint8_t offset) override;
|
||||
virtual void write_c0nx(uint8_t offset, uint8_t data) override;
|
||||
|
||||
private:
|
||||
required_device<smc91c96_device> m_netinf;
|
||||
required_device<i2c_24c04_device> m_i2cmem;
|
||||
bool m_shadow;
|
||||
|
||||
DECLARE_WRITE_LINE_MEMBER( netinf_irq_w );
|
||||
};
|
||||
|
||||
// device type definition
|
||||
DECLARE_DEVICE_TYPE(A2BUS_LANCEGS, a2bus_lancegs_device)
|
||||
DECLARE_DEVICE_TYPE(A2BUS_LANCEGS, device_a2bus_card_interface)
|
||||
|
||||
#endif // MAME_BUS_A2BUS_LANCEGS_H
|
||||
|
@ -79,17 +79,118 @@
|
||||
|
||||
#include "emu.h"
|
||||
#include "pc_xporter.h"
|
||||
|
||||
#include "bus/isa/isa.h"
|
||||
#include "bus/isa/isa_cards.h"
|
||||
#include "bus/pc_kbd/keyboards.h"
|
||||
#include "bus/pc_kbd/pc_kbdc.h"
|
||||
#include "cpu/nec/nec.h"
|
||||
#include "machine/am9517a.h"
|
||||
#include "machine/i8255.h"
|
||||
#include "machine/ins8250.h"
|
||||
#include "machine/pic8259.h"
|
||||
#include "machine/pit8253.h"
|
||||
#include "sound/spkrdev.h"
|
||||
|
||||
#include "speaker.h"
|
||||
|
||||
/***************************************************************************
|
||||
PARAMETERS
|
||||
***************************************************************************/
|
||||
|
||||
namespace {
|
||||
|
||||
//**************************************************************************
|
||||
// GLOBAL VARIABLES
|
||||
// TYPE DEFINITIONS
|
||||
//**************************************************************************
|
||||
|
||||
DEFINE_DEVICE_TYPE(A2BUS_PCXPORTER, a2bus_pcxporter_device, "a2pcxport", "Applied Engineering PC Transporter")
|
||||
class a2bus_pcxporter_device:
|
||||
public device_t,
|
||||
public device_a2bus_card_interface
|
||||
{
|
||||
public:
|
||||
// construction/destruction
|
||||
a2bus_pcxporter_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
[[maybe_unused]] uint16_t pc_bios_r(offs_t offset); // TODO: hook up to something?
|
||||
|
||||
protected:
|
||||
a2bus_pcxporter_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
virtual void device_start() override;
|
||||
virtual void device_reset() override;
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
|
||||
// overrides of standard a2bus slot functions
|
||||
virtual uint8_t read_c0nx(uint8_t offset) override;
|
||||
virtual void write_c0nx(uint8_t offset, uint8_t data) override;
|
||||
virtual uint8_t read_cnxx(uint8_t offset) override;
|
||||
virtual void write_cnxx(uint8_t offset, uint8_t data) override;
|
||||
virtual uint8_t read_c800(uint16_t offset) override;
|
||||
virtual void write_c800(uint16_t offset, uint8_t data) override;
|
||||
|
||||
private:
|
||||
required_device<v30_device> m_v30;
|
||||
required_device<pic8259_device> m_pic8259;
|
||||
required_device<am9517a_device> m_dma8237;
|
||||
required_device<pit8253_device> m_pit8253;
|
||||
required_device<speaker_sound_device> m_speaker;
|
||||
required_device<isa8_device> m_isabus;
|
||||
optional_device<pc_kbdc_device> m_pc_kbdc;
|
||||
|
||||
uint8_t m_u73_q2;
|
||||
uint8_t m_out1;
|
||||
int m_dma_channel;
|
||||
uint8_t m_dma_offset[4];
|
||||
uint8_t m_pc_spkrdata;
|
||||
uint8_t m_pit_out2;
|
||||
bool m_cur_eop;
|
||||
|
||||
uint8_t m_nmi_enabled;
|
||||
|
||||
uint8_t m_ram[768*1024];
|
||||
uint8_t m_c800_ram[0x400];
|
||||
uint8_t m_regs[0x400];
|
||||
uint32_t m_offset;
|
||||
address_space *m_pcmem_space, *m_pcio_space;
|
||||
bool m_reset_during_halt;
|
||||
|
||||
uint8_t m_6845_reg;
|
||||
|
||||
// interface to the keyboard
|
||||
DECLARE_WRITE_LINE_MEMBER( keyboard_clock_w );
|
||||
DECLARE_WRITE_LINE_MEMBER( keyboard_data_w );
|
||||
|
||||
DECLARE_WRITE_LINE_MEMBER( pc_pit8253_out1_changed );
|
||||
DECLARE_WRITE_LINE_MEMBER( pc_pit8253_out2_changed );
|
||||
|
||||
DECLARE_WRITE_LINE_MEMBER( pc_dma_hrq_changed );
|
||||
DECLARE_WRITE_LINE_MEMBER( pc_dma8237_out_eop );
|
||||
uint8_t pc_dma_read_byte(offs_t offset);
|
||||
void pc_dma_write_byte(offs_t offset, uint8_t data);
|
||||
uint8_t pc_dma8237_1_dack_r();
|
||||
uint8_t pc_dma8237_2_dack_r();
|
||||
uint8_t pc_dma8237_3_dack_r();
|
||||
void pc_dma8237_1_dack_w(uint8_t data);
|
||||
void pc_dma8237_2_dack_w(uint8_t data);
|
||||
void pc_dma8237_3_dack_w(uint8_t data);
|
||||
void pc_dma8237_0_dack_w(uint8_t data);
|
||||
DECLARE_WRITE_LINE_MEMBER( pc_dack0_w );
|
||||
DECLARE_WRITE_LINE_MEMBER( pc_dack1_w );
|
||||
DECLARE_WRITE_LINE_MEMBER( pc_dack2_w );
|
||||
DECLARE_WRITE_LINE_MEMBER( pc_dack3_w );
|
||||
|
||||
uint8_t kbd_6502_r(offs_t offset);
|
||||
void kbd_6502_w(offs_t offset, uint8_t data);
|
||||
|
||||
[[maybe_unused]] DECLARE_WRITE_LINE_MEMBER( pc_speaker_set_spkrdata ); // TODO: hook up to something?
|
||||
|
||||
void pc_page_w(offs_t offset, uint8_t data);
|
||||
void nmi_enable_w(uint8_t data);
|
||||
[[maybe_unused]] DECLARE_WRITE_LINE_MEMBER(iochck_w); // TODO: hook up to something?
|
||||
|
||||
void pc_select_dma_channel(int channel, bool state);
|
||||
|
||||
void pc_io(address_map &map);
|
||||
void pc_map(address_map &map);
|
||||
};
|
||||
|
||||
void a2bus_pcxporter_device::pc_map(address_map &map)
|
||||
{
|
||||
@ -641,3 +742,12 @@ WRITE_LINE_MEMBER( a2bus_pcxporter_device::iochck_w )
|
||||
if (m_nmi_enabled && !state)
|
||||
m_v30->set_input_line(INPUT_LINE_NMI, ASSERT_LINE);
|
||||
}
|
||||
|
||||
} // anonymous namespace
|
||||
|
||||
|
||||
//**************************************************************************
|
||||
// GLOBAL VARIABLES
|
||||
//**************************************************************************
|
||||
|
||||
DEFINE_DEVICE_TYPE_PRIVATE(A2BUS_PCXPORTER, device_a2bus_card_interface, a2bus_pcxporter_device, "a2pcxport", "Applied Engineering PC Transporter")
|
||||
|
@ -14,114 +14,8 @@
|
||||
#pragma once
|
||||
|
||||
#include "a2bus.h"
|
||||
#include "cpu/nec/nec.h"
|
||||
#include "bus/pc_kbd/keyboards.h"
|
||||
#include "machine/ins8250.h"
|
||||
#include "machine/i8255.h"
|
||||
#include "machine/am9517a.h"
|
||||
#include "bus/isa/isa.h"
|
||||
#include "bus/isa/isa_cards.h"
|
||||
#include "bus/pc_kbd/pc_kbdc.h"
|
||||
#include "machine/pic8259.h"
|
||||
#include "machine/pit8253.h"
|
||||
#include "sound/spkrdev.h"
|
||||
|
||||
//**************************************************************************
|
||||
// TYPE DEFINITIONS
|
||||
//**************************************************************************
|
||||
|
||||
class a2bus_pcxporter_device:
|
||||
public device_t,
|
||||
public device_a2bus_card_interface
|
||||
{
|
||||
public:
|
||||
// construction/destruction
|
||||
a2bus_pcxporter_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
uint16_t pc_bios_r(offs_t offset);
|
||||
|
||||
protected:
|
||||
a2bus_pcxporter_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
virtual void device_start() override;
|
||||
virtual void device_reset() override;
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
|
||||
// overrides of standard a2bus slot functions
|
||||
virtual uint8_t read_c0nx(uint8_t offset) override;
|
||||
virtual void write_c0nx(uint8_t offset, uint8_t data) override;
|
||||
virtual uint8_t read_cnxx(uint8_t offset) override;
|
||||
virtual void write_cnxx(uint8_t offset, uint8_t data) override;
|
||||
virtual uint8_t read_c800(uint16_t offset) override;
|
||||
virtual void write_c800(uint16_t offset, uint8_t data) override;
|
||||
|
||||
private:
|
||||
required_device<v30_device> m_v30;
|
||||
required_device<pic8259_device> m_pic8259;
|
||||
required_device<am9517a_device> m_dma8237;
|
||||
required_device<pit8253_device> m_pit8253;
|
||||
required_device<speaker_sound_device> m_speaker;
|
||||
required_device<isa8_device> m_isabus;
|
||||
optional_device<pc_kbdc_device> m_pc_kbdc;
|
||||
|
||||
uint8_t m_u73_q2;
|
||||
uint8_t m_out1;
|
||||
int m_dma_channel;
|
||||
uint8_t m_dma_offset[4];
|
||||
uint8_t m_pc_spkrdata;
|
||||
uint8_t m_pit_out2;
|
||||
bool m_cur_eop;
|
||||
|
||||
uint8_t m_nmi_enabled;
|
||||
|
||||
uint8_t m_ram[768*1024];
|
||||
uint8_t m_c800_ram[0x400];
|
||||
uint8_t m_regs[0x400];
|
||||
uint32_t m_offset;
|
||||
address_space *m_pcmem_space, *m_pcio_space;
|
||||
bool m_reset_during_halt;
|
||||
|
||||
uint8_t m_6845_reg;
|
||||
|
||||
// interface to the keyboard
|
||||
DECLARE_WRITE_LINE_MEMBER( keyboard_clock_w );
|
||||
DECLARE_WRITE_LINE_MEMBER( keyboard_data_w );
|
||||
|
||||
DECLARE_WRITE_LINE_MEMBER( pc_pit8253_out1_changed );
|
||||
DECLARE_WRITE_LINE_MEMBER( pc_pit8253_out2_changed );
|
||||
|
||||
DECLARE_WRITE_LINE_MEMBER( pc_dma_hrq_changed );
|
||||
DECLARE_WRITE_LINE_MEMBER( pc_dma8237_out_eop );
|
||||
uint8_t pc_dma_read_byte(offs_t offset);
|
||||
void pc_dma_write_byte(offs_t offset, uint8_t data);
|
||||
uint8_t pc_dma8237_1_dack_r();
|
||||
uint8_t pc_dma8237_2_dack_r();
|
||||
uint8_t pc_dma8237_3_dack_r();
|
||||
void pc_dma8237_1_dack_w(uint8_t data);
|
||||
void pc_dma8237_2_dack_w(uint8_t data);
|
||||
void pc_dma8237_3_dack_w(uint8_t data);
|
||||
void pc_dma8237_0_dack_w(uint8_t data);
|
||||
DECLARE_WRITE_LINE_MEMBER( pc_dack0_w );
|
||||
DECLARE_WRITE_LINE_MEMBER( pc_dack1_w );
|
||||
DECLARE_WRITE_LINE_MEMBER( pc_dack2_w );
|
||||
DECLARE_WRITE_LINE_MEMBER( pc_dack3_w );
|
||||
|
||||
uint8_t kbd_6502_r(offs_t offset);
|
||||
void kbd_6502_w(offs_t offset, uint8_t data);
|
||||
|
||||
DECLARE_WRITE_LINE_MEMBER( pc_speaker_set_spkrdata );
|
||||
|
||||
void pc_page_w(offs_t offset, uint8_t data);
|
||||
void nmi_enable_w(uint8_t data);
|
||||
DECLARE_WRITE_LINE_MEMBER(iochck_w);
|
||||
|
||||
void pc_select_dma_channel(int channel, bool state);
|
||||
|
||||
void pc_io(address_map &map);
|
||||
void pc_map(address_map &map);
|
||||
};
|
||||
|
||||
// device type definition
|
||||
DECLARE_DEVICE_TYPE(A2BUS_PCXPORTER, a2bus_pcxporter_device)
|
||||
// device type declaration
|
||||
DECLARE_DEVICE_TYPE(A2BUS_PCXPORTER, device_a2bus_card_interface)
|
||||
|
||||
#endif // MAME_BUS_A2BUS_PC_XPORTER_H
|
||||
|
@ -11,21 +11,48 @@
|
||||
|
||||
#include "emu.h"
|
||||
#include "ssbapple.h"
|
||||
|
||||
#include "sound/tms5220.h"
|
||||
|
||||
#include "speaker.h"
|
||||
|
||||
|
||||
namespace {
|
||||
|
||||
/***************************************************************************
|
||||
PARAMETERS
|
||||
***************************************************************************/
|
||||
|
||||
//**************************************************************************
|
||||
// GLOBAL VARIABLES
|
||||
//**************************************************************************
|
||||
|
||||
DEFINE_DEVICE_TYPE(A2BUS_SSBAPPLE, a2bus_ssb_device, "a2ssbapl", "Multitech Industrial SSB Apple speech card")
|
||||
|
||||
#define TMS_TAG "tms5220"
|
||||
|
||||
//**************************************************************************
|
||||
// TYPE DEFINITIONS
|
||||
//**************************************************************************
|
||||
|
||||
class a2bus_ssb_device:
|
||||
public device_t,
|
||||
public device_a2bus_card_interface
|
||||
{
|
||||
public:
|
||||
// construction/destruction
|
||||
a2bus_ssb_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
static constexpr feature_type imperfect_features() { return feature::SOUND; }
|
||||
|
||||
required_device<tms5220_device> m_tms;
|
||||
|
||||
protected:
|
||||
a2bus_ssb_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
virtual void device_start() override;
|
||||
virtual void device_reset() override;
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
|
||||
// overrides of standard a2bus slot functions
|
||||
virtual uint8_t read_cnxx(uint8_t offset) override;
|
||||
virtual void write_cnxx(uint8_t offset, uint8_t data) override;
|
||||
virtual bool take_c800() override;
|
||||
};
|
||||
|
||||
/***************************************************************************
|
||||
FUNCTION PROTOTYPES
|
||||
***************************************************************************/
|
||||
@ -85,3 +112,12 @@ void a2bus_ssb_device::write_cnxx(uint8_t offset, uint8_t data)
|
||||
{
|
||||
m_tms->data_w(data);
|
||||
}
|
||||
|
||||
} // anonymous namespace
|
||||
|
||||
|
||||
//**************************************************************************
|
||||
// GLOBAL VARIABLES
|
||||
//**************************************************************************
|
||||
|
||||
DEFINE_DEVICE_TYPE_PRIVATE(A2BUS_SSBAPPLE, device_a2bus_card_interface, a2bus_ssb_device, "a2ssbapl", "Multitech Industrial SSB Apple speech card")
|
||||
|
@ -14,37 +14,8 @@
|
||||
#pragma once
|
||||
|
||||
#include "a2bus.h"
|
||||
#include "sound/tms5220.h"
|
||||
|
||||
//**************************************************************************
|
||||
// TYPE DEFINITIONS
|
||||
//**************************************************************************
|
||||
|
||||
class a2bus_ssb_device:
|
||||
public device_t,
|
||||
public device_a2bus_card_interface
|
||||
{
|
||||
public:
|
||||
// construction/destruction
|
||||
a2bus_ssb_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
static constexpr feature_type imperfect_features() { return feature::SOUND; }
|
||||
|
||||
required_device<tms5220_device> m_tms;
|
||||
|
||||
protected:
|
||||
a2bus_ssb_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
virtual void device_start() override;
|
||||
virtual void device_reset() override;
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
|
||||
// overrides of standard a2bus slot functions
|
||||
virtual uint8_t read_cnxx(uint8_t offset) override;
|
||||
virtual void write_cnxx(uint8_t offset, uint8_t data) override;
|
||||
virtual bool take_c800() override;
|
||||
};
|
||||
|
||||
// device type definition
|
||||
DECLARE_DEVICE_TYPE(A2BUS_SSBAPPLE, a2bus_ssb_device)
|
||||
// device type declaration
|
||||
DECLARE_DEVICE_TYPE(A2BUS_SSBAPPLE, device_a2bus_card_interface)
|
||||
|
||||
#endif // MAME_BUS_A2BUS_A2SSBAPPLE_H
|
||||
|
@ -10,10 +10,16 @@
|
||||
|
||||
#include "emu.h"
|
||||
#include "ssprite.h"
|
||||
|
||||
#include "sound/ay8910.h"
|
||||
#include "sound/tms5220.h"
|
||||
#include "video/tms9928a.h"
|
||||
|
||||
#include "speaker.h"
|
||||
|
||||
|
||||
namespace {
|
||||
|
||||
/***************************************************************************
|
||||
PARAMETERS
|
||||
***************************************************************************/
|
||||
@ -24,10 +30,35 @@
|
||||
#define SCREEN_TAG "screen"
|
||||
|
||||
//**************************************************************************
|
||||
// GLOBAL VARIABLES
|
||||
// TYPE DEFINITIONS
|
||||
//**************************************************************************
|
||||
|
||||
DEFINE_DEVICE_TYPE(A2BUS_SSPRITE, a2bus_ssprite_device, "a2ssprite", "Synetix SuperSprite")
|
||||
class a2bus_ssprite_device:
|
||||
public device_t,
|
||||
public device_a2bus_card_interface
|
||||
{
|
||||
public:
|
||||
// construction/destruction
|
||||
a2bus_ssprite_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
protected:
|
||||
a2bus_ssprite_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
virtual void device_start() override;
|
||||
virtual void device_reset() override;
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
|
||||
// overrides of standard a2bus slot functions
|
||||
virtual uint8_t read_c0nx(uint8_t offset) override;
|
||||
virtual void write_c0nx(uint8_t offset, uint8_t data) override;
|
||||
|
||||
private:
|
||||
DECLARE_WRITE_LINE_MEMBER( tms_irq_w );
|
||||
|
||||
required_device<tms9918a_device> m_tms;
|
||||
required_device<ay8910_device> m_ay;
|
||||
required_device<tms5220_device> m_tms5220;
|
||||
};
|
||||
|
||||
//-------------------------------------------------
|
||||
// device_add_mconfig - add device configuration
|
||||
@ -141,3 +172,12 @@ WRITE_LINE_MEMBER( a2bus_ssprite_device::tms_irq_w )
|
||||
else
|
||||
lower_slot_irq();
|
||||
}
|
||||
|
||||
} // anonymous namespace
|
||||
|
||||
|
||||
//**************************************************************************
|
||||
// GLOBAL VARIABLES
|
||||
//**************************************************************************
|
||||
|
||||
DEFINE_DEVICE_TYPE_PRIVATE(A2BUS_SSPRITE, device_a2bus_card_interface, a2bus_ssprite_device, "a2ssprite", "Synetix SuperSprite")
|
||||
|
@ -15,42 +15,8 @@
|
||||
#pragma once
|
||||
|
||||
#include "a2bus.h"
|
||||
#include "video/tms9928a.h"
|
||||
#include "sound/ay8910.h"
|
||||
#include "sound/tms5220.h"
|
||||
|
||||
//**************************************************************************
|
||||
// TYPE DEFINITIONS
|
||||
//**************************************************************************
|
||||
|
||||
class a2bus_ssprite_device:
|
||||
public device_t,
|
||||
public device_a2bus_card_interface
|
||||
{
|
||||
public:
|
||||
// construction/destruction
|
||||
a2bus_ssprite_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
protected:
|
||||
a2bus_ssprite_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
virtual void device_start() override;
|
||||
virtual void device_reset() override;
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
|
||||
// overrides of standard a2bus slot functions
|
||||
virtual uint8_t read_c0nx(uint8_t offset) override;
|
||||
virtual void write_c0nx(uint8_t offset, uint8_t data) override;
|
||||
|
||||
private:
|
||||
DECLARE_WRITE_LINE_MEMBER( tms_irq_w );
|
||||
|
||||
required_device<tms9918a_device> m_tms;
|
||||
required_device<ay8910_device> m_ay;
|
||||
required_device<tms5220_device> m_tms5220;
|
||||
};
|
||||
|
||||
// device type definition
|
||||
DECLARE_DEVICE_TYPE(A2BUS_SSPRITE, a2bus_ssprite_device)
|
||||
DECLARE_DEVICE_TYPE(A2BUS_SSPRITE, device_a2bus_card_interface)
|
||||
|
||||
#endif // MAME_BUS_A2BUS_SSPRITE_H
|
||||
|
@ -11,64 +11,57 @@
|
||||
#include "emu.h"
|
||||
#include "uthernet.h"
|
||||
|
||||
/***************************************************************************
|
||||
PARAMETERS
|
||||
***************************************************************************/
|
||||
#include "machine/cs8900a.h"
|
||||
|
||||
namespace {
|
||||
|
||||
//**************************************************************************
|
||||
// TYPE DEFINITIONS
|
||||
//**************************************************************************
|
||||
|
||||
class a2bus_uthernet_device:
|
||||
public device_t,
|
||||
public device_a2bus_card_interface
|
||||
{
|
||||
public:
|
||||
// construction/destruction
|
||||
a2bus_uthernet_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
|
||||
a2bus_uthernet_device(mconfig, A2BUS_UTHERNET, tag, owner, clock)
|
||||
{
|
||||
}
|
||||
|
||||
protected:
|
||||
a2bus_uthernet_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
|
||||
device_t(mconfig, type, tag, owner, clock),
|
||||
device_a2bus_card_interface(mconfig, *this),
|
||||
m_netinf(*this, "cs8900a")
|
||||
{
|
||||
}
|
||||
|
||||
virtual void device_add_mconfig(machine_config &config) override
|
||||
{
|
||||
CS8900A(config, m_netinf, 20_MHz_XTAL); // see CS8900A data sheet sec 3.13
|
||||
}
|
||||
|
||||
virtual void device_start() override { }
|
||||
virtual void device_reset() override { }
|
||||
|
||||
// read_c0nx - called for reads from this card's c0nx space
|
||||
virtual uint8_t read_c0nx(uint8_t offset) override { return m_netinf->read(offset); }
|
||||
|
||||
// write_c0nx - called for writes to this card's c0nx space
|
||||
virtual void write_c0nx(uint8_t offset, uint8_t data) override { m_netinf->write(offset,data); }
|
||||
|
||||
private:
|
||||
required_device<cs8900a_device> m_netinf;
|
||||
|
||||
};
|
||||
|
||||
} // anonymous namespace
|
||||
|
||||
|
||||
//**************************************************************************
|
||||
// GLOBAL VARIABLES
|
||||
//**************************************************************************
|
||||
|
||||
DEFINE_DEVICE_TYPE(A2BUS_UTHERNET, a2bus_uthernet_device, "a2uthernet", "a2RetroSystems Uthernet")
|
||||
|
||||
//**************************************************************************
|
||||
// LIVE DEVICE
|
||||
//**************************************************************************
|
||||
|
||||
a2bus_uthernet_device::a2bus_uthernet_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
|
||||
a2bus_uthernet_device(mconfig, A2BUS_UTHERNET, tag, owner, clock)
|
||||
{
|
||||
}
|
||||
|
||||
a2bus_uthernet_device::a2bus_uthernet_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
|
||||
device_t(mconfig, type, tag, owner, clock),
|
||||
device_a2bus_card_interface(mconfig, *this),
|
||||
m_netinf(*this, "cs8900a")
|
||||
{
|
||||
}
|
||||
|
||||
void a2bus_uthernet_device::device_add_mconfig(machine_config &config)
|
||||
{
|
||||
CS8900A(config, m_netinf, 20_MHz_XTAL); // see CS8900A data sheet sec 3.13
|
||||
}
|
||||
|
||||
//-------------------------------------------------
|
||||
// device_start - device-specific startup
|
||||
//-------------------------------------------------
|
||||
|
||||
void a2bus_uthernet_device::device_start()
|
||||
{
|
||||
}
|
||||
|
||||
void a2bus_uthernet_device::device_reset()
|
||||
{
|
||||
}
|
||||
|
||||
/*-------------------------------------------------
|
||||
read_c0nx - called for reads from this card's c0nx space
|
||||
-------------------------------------------------*/
|
||||
|
||||
uint8_t a2bus_uthernet_device::read_c0nx(uint8_t offset)
|
||||
{
|
||||
return m_netinf->read(offset);
|
||||
}
|
||||
|
||||
/*-------------------------------------------------
|
||||
write_c0nx - called for writes to this card's c0nx space
|
||||
-------------------------------------------------*/
|
||||
|
||||
void a2bus_uthernet_device::write_c0nx(uint8_t offset, uint8_t data)
|
||||
{
|
||||
m_netinf->write(offset,data);
|
||||
}
|
||||
|
||||
DEFINE_DEVICE_TYPE_PRIVATE(A2BUS_UTHERNET, device_a2bus_card_interface, a2bus_uthernet_device, "a2uthernet", "a2RetroSystems Uthernet")
|
||||
|
@ -12,36 +12,8 @@
|
||||
#define MAME_BUS_A2BUS_UTHERNET_H
|
||||
|
||||
#include "a2bus.h"
|
||||
#include "machine/cs8900a.h"
|
||||
|
||||
//**************************************************************************
|
||||
// TYPE DEFINITIONS
|
||||
//**************************************************************************
|
||||
|
||||
class a2bus_uthernet_device:
|
||||
public device_t,
|
||||
public device_a2bus_card_interface
|
||||
{
|
||||
public:
|
||||
// construction/destruction
|
||||
a2bus_uthernet_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
protected:
|
||||
a2bus_uthernet_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
|
||||
virtual void device_start() override;
|
||||
virtual void device_reset() override;
|
||||
|
||||
virtual uint8_t read_c0nx(uint8_t offset) override;
|
||||
virtual void write_c0nx(uint8_t offset, uint8_t data) override;
|
||||
|
||||
private:
|
||||
required_device<cs8900a_device> m_netinf;
|
||||
|
||||
};
|
||||
|
||||
// device type definition
|
||||
DECLARE_DEVICE_TYPE(A2BUS_UTHERNET, a2bus_uthernet_device)
|
||||
// device type declaration
|
||||
DECLARE_DEVICE_TYPE(A2BUS_UTHERNET, device_a2bus_card_interface)
|
||||
|
||||
#endif // MAME_BUS_A2BUS_UTHERNET_H
|
||||
|
@ -9,12 +9,40 @@
|
||||
#include "emu.h"
|
||||
#include "bus/a2gameio/computereyes.h"
|
||||
|
||||
//**************************************************************************
|
||||
// GLOBAL VARIABLES
|
||||
//**************************************************************************
|
||||
#include "imagedev/picture.h"
|
||||
|
||||
// device type definition
|
||||
DEFINE_DEVICE_TYPE(APPLE2_COMPUTEREYES, apple2_compeyes_device, "a2ceyes", "Digital Vision ComputerEyes")
|
||||
#include "bitmap.h"
|
||||
|
||||
|
||||
namespace {
|
||||
|
||||
// ======================> apple2_compeyes_device
|
||||
|
||||
class apple2_compeyes_device : public device_t, public device_a2gameio_interface
|
||||
{
|
||||
public:
|
||||
// construction/destruction
|
||||
apple2_compeyes_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
|
||||
|
||||
protected:
|
||||
// device-level overrides
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
virtual void device_start() override;
|
||||
virtual void device_reset() override;
|
||||
|
||||
// device_a2gameio_interface overrides
|
||||
virtual DECLARE_READ_LINE_MEMBER(sw0_r) override;
|
||||
virtual DECLARE_READ_LINE_MEMBER(sw1_r) override;
|
||||
virtual DECLARE_WRITE_LINE_MEMBER(an0_w) override;
|
||||
virtual DECLARE_WRITE_LINE_MEMBER(an1_w) override;
|
||||
virtual DECLARE_WRITE_LINE_MEMBER(an2_w) override;
|
||||
virtual DECLARE_WRITE_LINE_MEMBER(an3_w) override;
|
||||
|
||||
private:
|
||||
required_device<picture_image_device> m_picture;
|
||||
int m_x, m_y, m_an1, m_an2, m_an3, m_level;
|
||||
u8 m_a2_bitmap[280*192];
|
||||
};
|
||||
|
||||
//**************************************************************************
|
||||
// DEVICE IMPLEMENTATION
|
||||
@ -120,3 +148,13 @@ WRITE_LINE_MEMBER(apple2_compeyes_device::an3_w)
|
||||
m_an3 = state;
|
||||
m_level = (128 * m_an2) + (64 * m_an1) + (32 * m_an3);
|
||||
}
|
||||
|
||||
} // anonymous namespace
|
||||
|
||||
|
||||
//**************************************************************************
|
||||
// GLOBAL VARIABLES
|
||||
//**************************************************************************
|
||||
|
||||
// device type definition
|
||||
DEFINE_DEVICE_TYPE_PRIVATE(APPLE2_COMPUTEREYES, device_a2gameio_interface, apple2_compeyes_device, "a2ceyes", "Digital Vision ComputerEyes")
|
||||
|
@ -12,38 +12,8 @@
|
||||
#pragma once
|
||||
|
||||
#include "bus/a2gameio/gameio.h"
|
||||
#include "bitmap.h"
|
||||
#include "imagedev/picture.h"
|
||||
|
||||
// ======================> apple2_compeyes_device
|
||||
|
||||
class apple2_compeyes_device : public device_t, public device_a2gameio_interface
|
||||
{
|
||||
public:
|
||||
// construction/destruction
|
||||
apple2_compeyes_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
|
||||
|
||||
protected:
|
||||
// device-level overrides
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
virtual void device_start() override;
|
||||
virtual void device_reset() override;
|
||||
|
||||
// device_a2gameio_interface overrides
|
||||
virtual DECLARE_READ_LINE_MEMBER(sw0_r) override;
|
||||
virtual DECLARE_READ_LINE_MEMBER(sw1_r) override;
|
||||
virtual DECLARE_WRITE_LINE_MEMBER(an0_w) override;
|
||||
virtual DECLARE_WRITE_LINE_MEMBER(an1_w) override;
|
||||
virtual DECLARE_WRITE_LINE_MEMBER(an2_w) override;
|
||||
virtual DECLARE_WRITE_LINE_MEMBER(an3_w) override;
|
||||
|
||||
private:
|
||||
required_device<picture_image_device> m_picture;
|
||||
int m_x, m_y, m_an1, m_an2, m_an3, m_level;
|
||||
u8 m_a2_bitmap[280*192];
|
||||
};
|
||||
|
||||
// device type declaration
|
||||
DECLARE_DEVICE_TYPE(APPLE2_COMPUTEREYES, apple2_compeyes_device)
|
||||
DECLARE_DEVICE_TYPE(APPLE2_COMPUTEREYES, device_a2gameio_interface)
|
||||
|
||||
#endif // MAME_BUS_A2GAMEIO_COMPEYES_H
|
||||
|
@ -10,12 +10,33 @@
|
||||
#include "emu.h"
|
||||
#include "bus/a2gameio/gizmo.h"
|
||||
|
||||
//**************************************************************************
|
||||
// GLOBAL VARIABLES
|
||||
//**************************************************************************
|
||||
|
||||
// device type definition
|
||||
DEFINE_DEVICE_TYPE(APPLE2_GIZMO, apple2_gizmo_device, "a2gizmo", "HAL Labs Gizmo")
|
||||
namespace {
|
||||
|
||||
// ======================> apple2_gizmo_device
|
||||
|
||||
class apple2_gizmo_device : public device_t, public device_a2gameio_interface
|
||||
{
|
||||
public:
|
||||
// construction/destruction
|
||||
apple2_gizmo_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
|
||||
|
||||
protected:
|
||||
// device-level overrides
|
||||
virtual ioport_constructor device_input_ports() const override;
|
||||
virtual void device_start() override;
|
||||
|
||||
// device_a2gameio_interface overrides
|
||||
virtual DECLARE_READ_LINE_MEMBER(sw0_r) override;
|
||||
virtual DECLARE_WRITE_LINE_MEMBER(an0_w) override;
|
||||
virtual DECLARE_WRITE_LINE_MEMBER(an1_w) override;
|
||||
virtual DECLARE_WRITE_LINE_MEMBER(an2_w) override;
|
||||
|
||||
private:
|
||||
// input ports
|
||||
required_ioport m_player1;
|
||||
int m_an0, m_an1, m_an2;
|
||||
};
|
||||
|
||||
//**************************************************************************
|
||||
// INPUT PORTS
|
||||
@ -73,3 +94,13 @@ WRITE_LINE_MEMBER(apple2_gizmo_device::an2_w)
|
||||
{
|
||||
m_an2 = state;
|
||||
}
|
||||
|
||||
} // anonymous namespace
|
||||
|
||||
|
||||
//**************************************************************************
|
||||
// GLOBAL VARIABLES
|
||||
//**************************************************************************
|
||||
|
||||
// device type definition
|
||||
DEFINE_DEVICE_TYPE_PRIVATE(APPLE2_GIZMO, device_a2gameio_interface, apple2_gizmo_device, "a2gizmo", "HAL Labs Gizmo")
|
||||
|
@ -14,32 +14,7 @@
|
||||
|
||||
#include "bus/a2gameio/gameio.h"
|
||||
|
||||
// ======================> apple2_gizmo_device
|
||||
|
||||
class apple2_gizmo_device : public device_t, public device_a2gameio_interface
|
||||
{
|
||||
public:
|
||||
// construction/destruction
|
||||
apple2_gizmo_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
|
||||
|
||||
protected:
|
||||
// device-level overrides
|
||||
virtual ioport_constructor device_input_ports() const override;
|
||||
virtual void device_start() override;
|
||||
|
||||
// device_a2gameio_interface overrides
|
||||
virtual DECLARE_READ_LINE_MEMBER(sw0_r) override;
|
||||
virtual DECLARE_WRITE_LINE_MEMBER(an0_w) override;
|
||||
virtual DECLARE_WRITE_LINE_MEMBER(an1_w) override;
|
||||
virtual DECLARE_WRITE_LINE_MEMBER(an2_w) override;
|
||||
|
||||
private:
|
||||
// input ports
|
||||
required_ioport m_player1;
|
||||
int m_an0, m_an1, m_an2;
|
||||
};
|
||||
|
||||
// device type declaration
|
||||
DECLARE_DEVICE_TYPE(APPLE2_GIZMO, apple2_gizmo_device)
|
||||
DECLARE_DEVICE_TYPE(APPLE2_GIZMO, device_a2gameio_interface)
|
||||
|
||||
#endif // MAME_BUS_A2GAMEIO_GIZMO_H
|
||||
|
@ -16,20 +16,34 @@
|
||||
#include "emu.h"
|
||||
#include "bus/a2gameio/joyport.h"
|
||||
|
||||
//**************************************************************************
|
||||
// GLOBAL VARIABLES
|
||||
//**************************************************************************
|
||||
|
||||
// device type definition
|
||||
DEFINE_DEVICE_TYPE(APPLE2_JOYPORT, apple2_joyport_device, "a2joyprt", "Sirius JoyPort")
|
||||
namespace {
|
||||
|
||||
//**************************************************************************
|
||||
// PARAMETERS
|
||||
//**************************************************************************
|
||||
// ======================> apple2_joyport_device
|
||||
|
||||
#define JOYSTICK_DELTA 80
|
||||
#define JOYSTICK_SENSITIVITY 50
|
||||
#define JOYSTICK_AUTOCENTER 80
|
||||
class apple2_joyport_device : public device_t, public device_a2gameio_interface
|
||||
{
|
||||
public:
|
||||
// construction/destruction
|
||||
apple2_joyport_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
|
||||
|
||||
protected:
|
||||
// device-level overrides
|
||||
virtual ioport_constructor device_input_ports() const override;
|
||||
virtual void device_start() override;
|
||||
|
||||
// device_a2gameio_interface overrides
|
||||
virtual DECLARE_READ_LINE_MEMBER(sw0_r) override;
|
||||
virtual DECLARE_READ_LINE_MEMBER(sw1_r) override;
|
||||
virtual DECLARE_READ_LINE_MEMBER(sw2_r) override;
|
||||
virtual DECLARE_WRITE_LINE_MEMBER(an0_w) override;
|
||||
virtual DECLARE_WRITE_LINE_MEMBER(an1_w) override;
|
||||
|
||||
private:
|
||||
// input ports
|
||||
required_ioport m_player1, m_player2;
|
||||
int m_an0, m_an1;
|
||||
};
|
||||
|
||||
//**************************************************************************
|
||||
// INPUT PORTS
|
||||
@ -104,3 +118,13 @@ WRITE_LINE_MEMBER(apple2_joyport_device::an1_w)
|
||||
{
|
||||
m_an1 = state;
|
||||
}
|
||||
|
||||
} // anonymous namespace
|
||||
|
||||
|
||||
//**************************************************************************
|
||||
// GLOBAL VARIABLES
|
||||
//**************************************************************************
|
||||
|
||||
// device type definition
|
||||
DEFINE_DEVICE_TYPE_PRIVATE(APPLE2_JOYPORT, device_a2gameio_interface, apple2_joyport_device, "a2joyprt", "Sirius JoyPort")
|
||||
|
@ -13,33 +13,7 @@
|
||||
|
||||
#include "bus/a2gameio/gameio.h"
|
||||
|
||||
// ======================> apple2_joyport_device
|
||||
|
||||
class apple2_joyport_device : public device_t, public device_a2gameio_interface
|
||||
{
|
||||
public:
|
||||
// construction/destruction
|
||||
apple2_joyport_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
|
||||
|
||||
protected:
|
||||
// device-level overrides
|
||||
virtual ioport_constructor device_input_ports() const override;
|
||||
virtual void device_start() override;
|
||||
|
||||
// device_a2gameio_interface overrides
|
||||
virtual DECLARE_READ_LINE_MEMBER(sw0_r) override;
|
||||
virtual DECLARE_READ_LINE_MEMBER(sw1_r) override;
|
||||
virtual DECLARE_READ_LINE_MEMBER(sw2_r) override;
|
||||
virtual DECLARE_WRITE_LINE_MEMBER(an0_w) override;
|
||||
virtual DECLARE_WRITE_LINE_MEMBER(an1_w) override;
|
||||
|
||||
private:
|
||||
// input ports
|
||||
required_ioport m_player1, m_player2;
|
||||
int m_an0, m_an1;
|
||||
};
|
||||
|
||||
// device type declaration
|
||||
DECLARE_DEVICE_TYPE(APPLE2_JOYPORT, apple2_joyport_device)
|
||||
DECLARE_DEVICE_TYPE(APPLE2_JOYPORT, device_a2gameio_interface)
|
||||
|
||||
#endif // MAME_BUS_A2GAMEIO_JOYPORT_H
|
||||
|
@ -9,12 +9,37 @@
|
||||
#include "emu.h"
|
||||
#include "bus/a2gameio/joystick.h"
|
||||
|
||||
//**************************************************************************
|
||||
// GLOBAL VARIABLES
|
||||
//**************************************************************************
|
||||
namespace {
|
||||
|
||||
// device type definition
|
||||
DEFINE_DEVICE_TYPE(APPLE2_JOYSTICK, apple2_joystick_device, "a2joy", "Apple II analog joysticks")
|
||||
// ======================> apple2_joystick_device
|
||||
|
||||
class apple2_joystick_device : public device_t, public device_a2gameio_interface
|
||||
{
|
||||
public:
|
||||
// construction/destruction
|
||||
apple2_joystick_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
|
||||
|
||||
protected:
|
||||
// device-level overrides
|
||||
virtual ioport_constructor device_input_ports() const override;
|
||||
virtual void device_start() override;
|
||||
|
||||
// device_a2gameio_interface overrides
|
||||
virtual u8 pdl0_r() override;
|
||||
virtual u8 pdl1_r() override;
|
||||
virtual u8 pdl2_r() override;
|
||||
virtual u8 pdl3_r() override;
|
||||
virtual DECLARE_READ_LINE_MEMBER(sw0_r) override;
|
||||
virtual DECLARE_READ_LINE_MEMBER(sw1_r) override;
|
||||
virtual DECLARE_READ_LINE_MEMBER(sw2_r) override;
|
||||
virtual DECLARE_READ_LINE_MEMBER(sw3_r) override;
|
||||
|
||||
private:
|
||||
// input ports
|
||||
required_ioport_array<2> m_joy_x;
|
||||
required_ioport_array<2> m_joy_y;
|
||||
required_ioport m_buttons;
|
||||
};
|
||||
|
||||
//**************************************************************************
|
||||
// PARAMETERS
|
||||
@ -131,3 +156,13 @@ READ_LINE_MEMBER(apple2_joystick_device::sw3_r)
|
||||
{
|
||||
return BIT(m_buttons->read(), 7);
|
||||
}
|
||||
|
||||
} // anonymous namespace
|
||||
|
||||
|
||||
//**************************************************************************
|
||||
// GLOBAL VARIABLES
|
||||
//**************************************************************************
|
||||
|
||||
// device type definition
|
||||
DEFINE_DEVICE_TYPE_PRIVATE(APPLE2_JOYSTICK, device_a2gameio_interface, apple2_joystick_device, "a2joy", "Apple II analog joysticks")
|
||||
|
@ -13,37 +13,7 @@
|
||||
|
||||
#include "bus/a2gameio/gameio.h"
|
||||
|
||||
// ======================> apple2_joystick_device
|
||||
|
||||
class apple2_joystick_device : public device_t, public device_a2gameio_interface
|
||||
{
|
||||
public:
|
||||
// construction/destruction
|
||||
apple2_joystick_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
|
||||
|
||||
protected:
|
||||
// device-level overrides
|
||||
virtual ioport_constructor device_input_ports() const override;
|
||||
virtual void device_start() override;
|
||||
|
||||
// device_a2gameio_interface overrides
|
||||
virtual u8 pdl0_r() override;
|
||||
virtual u8 pdl1_r() override;
|
||||
virtual u8 pdl2_r() override;
|
||||
virtual u8 pdl3_r() override;
|
||||
virtual DECLARE_READ_LINE_MEMBER(sw0_r) override;
|
||||
virtual DECLARE_READ_LINE_MEMBER(sw1_r) override;
|
||||
virtual DECLARE_READ_LINE_MEMBER(sw2_r) override;
|
||||
virtual DECLARE_READ_LINE_MEMBER(sw3_r) override;
|
||||
|
||||
private:
|
||||
// input ports
|
||||
required_ioport_array<2> m_joy_x;
|
||||
required_ioport_array<2> m_joy_y;
|
||||
required_ioport m_buttons;
|
||||
};
|
||||
|
||||
// device type declaration
|
||||
DECLARE_DEVICE_TYPE(APPLE2_JOYSTICK, apple2_joystick_device)
|
||||
DECLARE_DEVICE_TYPE(APPLE2_JOYSTICK, device_a2gameio_interface)
|
||||
|
||||
#endif // MAME_BUS_A2GAMEIO_JOYSTICK_H
|
||||
|
@ -9,12 +9,36 @@
|
||||
#include "emu.h"
|
||||
#include "bus/a2gameio/paddles.h"
|
||||
|
||||
//**************************************************************************
|
||||
// GLOBAL VARIABLES
|
||||
//**************************************************************************
|
||||
namespace {
|
||||
|
||||
// device type definition
|
||||
DEFINE_DEVICE_TYPE(APPLE2_PADDLES, apple2_paddles_device, "a2pdls", "Apple II paddles")
|
||||
// ======================> apple2_paddles_device
|
||||
|
||||
class apple2_paddles_device : public device_t, public device_a2gameio_interface
|
||||
{
|
||||
public:
|
||||
// construction/destruction
|
||||
apple2_paddles_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
|
||||
|
||||
protected:
|
||||
// device-level overrides
|
||||
virtual ioport_constructor device_input_ports() const override;
|
||||
virtual void device_start() override;
|
||||
|
||||
// device_a2gameio_interface overrides
|
||||
virtual u8 pdl0_r() override;
|
||||
virtual u8 pdl1_r() override;
|
||||
virtual u8 pdl2_r() override;
|
||||
virtual u8 pdl3_r() override;
|
||||
virtual DECLARE_READ_LINE_MEMBER(sw0_r) override;
|
||||
virtual DECLARE_READ_LINE_MEMBER(sw1_r) override;
|
||||
virtual DECLARE_READ_LINE_MEMBER(sw2_r) override;
|
||||
virtual DECLARE_READ_LINE_MEMBER(sw3_r) override;
|
||||
|
||||
private:
|
||||
// input ports
|
||||
required_ioport_array<4> m_pdl;
|
||||
required_ioport m_buttons;
|
||||
};
|
||||
|
||||
//**************************************************************************
|
||||
// INPUT PORTS
|
||||
@ -100,3 +124,13 @@ READ_LINE_MEMBER(apple2_paddles_device::sw3_r)
|
||||
{
|
||||
return BIT(m_buttons->read(), 7);
|
||||
}
|
||||
|
||||
} // anonymous namespace
|
||||
|
||||
|
||||
//**************************************************************************
|
||||
// GLOBAL VARIABLES
|
||||
//**************************************************************************
|
||||
|
||||
// device type definition
|
||||
DEFINE_DEVICE_TYPE_PRIVATE(APPLE2_PADDLES, device_a2gameio_interface, apple2_paddles_device, "a2pdls", "Apple II paddles")
|
||||
|
@ -13,36 +13,7 @@
|
||||
|
||||
#include "bus/a2gameio/gameio.h"
|
||||
|
||||
// ======================> apple2_paddles_device
|
||||
|
||||
class apple2_paddles_device : public device_t, public device_a2gameio_interface
|
||||
{
|
||||
public:
|
||||
// construction/destruction
|
||||
apple2_paddles_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
|
||||
|
||||
protected:
|
||||
// device-level overrides
|
||||
virtual ioport_constructor device_input_ports() const override;
|
||||
virtual void device_start() override;
|
||||
|
||||
// device_a2gameio_interface overrides
|
||||
virtual u8 pdl0_r() override;
|
||||
virtual u8 pdl1_r() override;
|
||||
virtual u8 pdl2_r() override;
|
||||
virtual u8 pdl3_r() override;
|
||||
virtual DECLARE_READ_LINE_MEMBER(sw0_r) override;
|
||||
virtual DECLARE_READ_LINE_MEMBER(sw1_r) override;
|
||||
virtual DECLARE_READ_LINE_MEMBER(sw2_r) override;
|
||||
virtual DECLARE_READ_LINE_MEMBER(sw3_r) override;
|
||||
|
||||
private:
|
||||
// input ports
|
||||
required_ioport_array<4> m_pdl;
|
||||
required_ioport m_buttons;
|
||||
};
|
||||
|
||||
// device type declaration
|
||||
DECLARE_DEVICE_TYPE(APPLE2_PADDLES, apple2_paddles_device)
|
||||
DECLARE_DEVICE_TYPE(APPLE2_PADDLES, device_a2gameio_interface)
|
||||
|
||||
#endif // MAME_BUS_A2GAMEIO_PADDLES_H
|
||||
|
@ -137,22 +137,26 @@ private:
|
||||
template <ioport_value Signal>
|
||||
DECLARE_WRITE_LINE_MEMBER( signal_in )
|
||||
{
|
||||
m_signals[Signal] = state ? 1 : 0;
|
||||
state = state ? 1 : 0;
|
||||
if (m_signals[Signal] != state)
|
||||
{
|
||||
m_signals[Signal] = state;
|
||||
|
||||
if (Signal == m_sources[RXD]) output_rxd(m_signals[Signal] ^ m_invert[RXD]);
|
||||
if (Signal == m_sources[DCD]) output_dcd(m_signals[Signal] ^ m_invert[DCD]);
|
||||
if (Signal == m_sources[DSR]) output_dsr(m_signals[Signal] ^ m_invert[DSR]);
|
||||
if (Signal == m_sources[RI]) output_ri(m_signals[Signal] ^ m_invert[RI]);
|
||||
if (Signal == m_sources[SI]) output_si(m_signals[Signal] ^ m_invert[SI]);
|
||||
if (Signal == m_sources[CTS]) output_cts(m_signals[Signal] ^ m_invert[CTS]);
|
||||
if (Signal == m_sources[RXC]) output_rxc(m_signals[Signal] ^ m_invert[RXC]);
|
||||
if (Signal == m_sources[TXC]) output_txc(m_signals[Signal] ^ m_invert[TXC]);
|
||||
if (Signal == m_sources[RXD]) output_rxd(state ^ m_invert[RXD]);
|
||||
if (Signal == m_sources[DCD]) output_dcd(state ^ m_invert[DCD]);
|
||||
if (Signal == m_sources[DSR]) output_dsr(state ^ m_invert[DSR]);
|
||||
if (Signal == m_sources[RI]) output_ri(state ^ m_invert[RI]);
|
||||
if (Signal == m_sources[SI]) output_si(state ^ m_invert[SI]);
|
||||
if (Signal == m_sources[CTS]) output_cts(state ^ m_invert[CTS]);
|
||||
if (Signal == m_sources[RXC]) output_rxc(state ^ m_invert[RXC]);
|
||||
if (Signal == m_sources[TXC]) output_txc(state ^ m_invert[TXC]);
|
||||
|
||||
if (Signal == m_sources[TXD]) m_dce_port->write_txd(m_signals[Signal] ^ m_invert[TXD]);
|
||||
if (Signal == m_sources[DTR]) m_dce_port->write_dtr(m_signals[Signal] ^ m_invert[DTR]);
|
||||
if (Signal == m_sources[RTS]) m_dce_port->write_rts(m_signals[Signal] ^ m_invert[RTS]);
|
||||
if (Signal == m_sources[ETC]) m_dce_port->write_etc(m_signals[Signal] ^ m_invert[ETC]);
|
||||
if (Signal == m_sources[SPDS]) m_dce_port->write_spds(m_signals[Signal] ^ m_invert[SPDS]);
|
||||
if (Signal == m_sources[TXD]) m_dce_port->write_txd(state ^ m_invert[TXD]);
|
||||
if (Signal == m_sources[DTR]) m_dce_port->write_dtr(state ^ m_invert[DTR]);
|
||||
if (Signal == m_sources[RTS]) m_dce_port->write_rts(state ^ m_invert[RTS]);
|
||||
if (Signal == m_sources[ETC]) m_dce_port->write_etc(state ^ m_invert[ETC]);
|
||||
if (Signal == m_sources[SPDS]) m_dce_port->write_spds(state ^ m_invert[SPDS]);
|
||||
}
|
||||
}
|
||||
|
||||
required_device<rs232_port_device> m_dce_port;
|
||||
|
@ -312,8 +312,7 @@ u8 tt5665_device::read(offs_t offset)
|
||||
void tt5665_device::write(offs_t offset, u8 data)
|
||||
{
|
||||
const u8 ch = offset & 1;
|
||||
// if a command is pending, process the second half
|
||||
if (m_command[ch] != -1)
|
||||
if (m_command[ch] != -1) // if a command is pending, process the second half
|
||||
{
|
||||
// the chip can only play one voice at a time, but has extra phrase spaces. that's are main difference from MSM 6295.
|
||||
const int voicemask = (data >> 4) & 3;
|
||||
@ -353,10 +352,9 @@ void tt5665_device::write(offs_t offset, u8 data)
|
||||
voice.m_adpcm.reset();
|
||||
voice.m_volume = s_volume_table[data & 0x0f];
|
||||
}
|
||||
|
||||
// invalid samples go here
|
||||
else
|
||||
{
|
||||
// invalid samples go here
|
||||
logerror("Requested to play invalid sample %04x\n", sample_ind);
|
||||
}
|
||||
}
|
||||
@ -368,13 +366,11 @@ void tt5665_device::write(offs_t offset, u8 data)
|
||||
// reset the command
|
||||
m_command[ch] = -1;
|
||||
}
|
||||
|
||||
// if this is the start of a command, remember the sample number for next time
|
||||
else if (data & 0x80)
|
||||
else if (data & 0x80) // if this is the start of a command, remember the sample number for next time
|
||||
{
|
||||
m_command[ch] = data & 0x7f;
|
||||
|
||||
// otherwise, see if this is a silence command
|
||||
else
|
||||
}
|
||||
else // otherwise, see if this is a silence command
|
||||
{
|
||||
// update the stream, then turn it off
|
||||
m_stream->update();
|
||||
|
@ -116,6 +116,8 @@ MIG RAM page 2 $CE02 is the speaker/slot bitfield and $CE03 is the paddle/accele
|
||||
|
||||
#define IICP_NEW_IWM (0)
|
||||
|
||||
#include "machine/apple2common.h"
|
||||
|
||||
#include "cpu/m6502/m6502.h"
|
||||
#include "cpu/m6502/m65c02.h"
|
||||
#include "cpu/mcs48/mcs48.h"
|
||||
@ -123,16 +125,16 @@ MIG RAM page 2 $CE02 is the speaker/slot bitfield and $CE03 is the paddle/accele
|
||||
#include "imagedev/cassette.h"
|
||||
#include "imagedev/flopdrv.h"
|
||||
#include "machine/appldriv.h"
|
||||
#include "machine/applefdintf.h"
|
||||
#include "machine/bankdev.h"
|
||||
#include "machine/ds1315.h"
|
||||
#include "machine/iwm.h"
|
||||
#include "machine/kb3600.h"
|
||||
#include "machine/mos6551.h"
|
||||
#include "machine/ram.h"
|
||||
#include "machine/sonydriv.h"
|
||||
#include "machine/timer.h"
|
||||
#include "machine/ds1315.h"
|
||||
#include "machine/apple2common.h"
|
||||
#include "machine/applefdintf.h"
|
||||
#include "machine/iwm.h"
|
||||
#include "sound/spkrdev.h"
|
||||
|
||||
#include "bus/a2bus/4play.h"
|
||||
#include "bus/a2bus/a2alfam2.h"
|
||||
@ -199,6 +201,9 @@ MIG RAM page 2 $CE02 is the speaker/slot bitfield and $CE03 is the paddle/accele
|
||||
#include "formats/ap2_dsk.h"
|
||||
#include "formats/ap_dsk35.h"
|
||||
|
||||
|
||||
namespace {
|
||||
|
||||
#define A2_CPU_TAG "maincpu"
|
||||
#define A2_KBDC_TAG "ay3600"
|
||||
#define A2_BUS_TAG "a2bus"
|
||||
@ -5781,6 +5786,9 @@ ROM_START(zijini)
|
||||
ROM_LOAD( "u40.m2822.bin", 0x000000, 0x000100, CRC(b72a2c70) SHA1(bc39fbd5b9a8d2287ac5d0a42e639fc4d3c2f9d4) )
|
||||
ROM_END
|
||||
|
||||
} // anonymous namespace
|
||||
|
||||
|
||||
/* YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME */
|
||||
COMP( 1983, apple2e, 0, apple2, apple2e, apple2e, apple2e_state, empty_init, "Apple Computer", "Apple //e", MACHINE_SUPPORTS_SAVE )
|
||||
COMP( 1983, apple2euk, apple2e, 0, apple2epal, apple2euk, apple2e_state, init_pal, "Apple Computer", "Apple //e (UK)", MACHINE_SUPPORTS_SAVE )
|
||||
|
Loading…
Reference in New Issue
Block a user