summaryrefslogtreecommitdiffstatshomepage
path: root/src/mess/includes
diff options
context:
space:
mode:
author Nigel Barnes <Pernod70@users.noreply.github.com>2015-09-07 09:46:21 +0100
committer Nigel Barnes <Pernod70@users.noreply.github.com>2015-09-07 09:49:14 +0100
commitc0e72ea08dfb0ba8a93bd9e09d58de7b361ef31f (patch)
treeb4c0979f795852124e734fedd0127a34e09fab45 /src/mess/includes
parent3227c85ed64e08ad1cc1d61d22e8e8556f56d043 (diff)
bbc: clones, floppy formats, softlists, and cleanups.
- Added clone bbcb1770, bbcb now 8271 only. - Added clone pro128s, Olivetti Prodest PC 128S. - Added clones Acorn Business Computers and Cambridge Workstation. - Added clone reutapm, Reuters APM board. - Improved floppy formats, added dsd and double density formats for ADFS. - Added speech PHROMs, not yet hooked up correctly. - Added softlists bbcb_de_cass, bbcb_us_flop and bbcmc_flop. - Added S11 links (dipswitch) to specify Econet ID. - Address map cleanups.
Diffstat (limited to 'src/mess/includes')
-rw-r--r--src/mess/includes/bbc.h56
1 files changed, 24 insertions, 32 deletions
diff --git a/src/mess/includes/bbc.h b/src/mess/includes/bbc.h
index 11bd1c13eb1..9f5dcb19327 100644
--- a/src/mess/includes/bbc.h
+++ b/src/mess/includes/bbc.h
@@ -22,6 +22,7 @@
#include "machine/i8271.h"
#include "machine/wd_fdc.h"
#include "machine/upd7002.h"
+#include "machine/mc146818.h"
#include "video/mc6845.h"
#include "video/saa5050.h"
#include "sound/sn76496.h"
@@ -52,7 +53,10 @@ public:
m_via6522_0(*this, "via6522_0"),
m_via6522_1(*this, "via6522_1"),
m_upd7002(*this, "upd7002"),
+ m_rtc(*this, "rtc"),
m_i8271(*this, "i8271"),
+ m_wd1770(*this, "wd1770"),
+ m_wd1772(*this, "wd1772"),
m_exp1(*this, "exp_rom1"),
m_exp2(*this, "exp_rom2"),
m_exp3(*this, "exp_rom3"),
@@ -64,7 +68,6 @@ public:
m_region_maincpu(*this, "maincpu"),
m_region_os(*this, "os"),
m_region_opt(*this, "option"),
- m_region_dfs(*this, "dfs"),
m_bank1(*this, "bank1"),
m_bank2(*this, "bank2"),
m_bank3(*this, "bank3"),
@@ -80,7 +83,9 @@ public:
m_palette(*this, "palette")
{ }
- DECLARE_FLOPPY_FORMATS(floppy_formats);
+ DECLARE_FLOPPY_FORMATS(floppy_formats_525sd);
+ DECLARE_FLOPPY_FORMATS(floppy_formats_525dd);
+ DECLARE_FLOPPY_FORMATS(floppy_formats_35dd);
DECLARE_WRITE8_MEMBER(bbc_page_selecta_w);
DECLARE_WRITE8_MEMBER(bbc_memorya1_w);
@@ -104,40 +109,34 @@ public:
DECLARE_READ8_MEMBER(bbcm_r);
DECLARE_WRITE8_MEMBER(bbcm_w);
DECLARE_WRITE8_MEMBER(bbc_SerialULA_w);
- DECLARE_READ8_MEMBER(bbc_i8271_read);
- DECLARE_WRITE8_MEMBER(bbc_i8271_write);
- DECLARE_WRITE8_MEMBER(bbc_wd177x_status_w);
- DECLARE_READ8_MEMBER(bbc_wd1770_read);
- DECLARE_WRITE8_MEMBER(bbc_wd1770_write);
- DECLARE_WRITE8_MEMBER(bbc_opus_status_w);
- DECLARE_READ8_MEMBER(bbc_opus_read);
- DECLARE_WRITE8_MEMBER(bbc_opus_write);
- DECLARE_READ8_MEMBER(bbcm_wd1770_read);
- DECLARE_WRITE8_MEMBER(bbcm_wd1770_write);
- DECLARE_READ8_MEMBER(bbcm_wd1770l_read);
+
+ DECLARE_WRITE8_MEMBER(bbc_wd1770_status_w);
+ DECLARE_READ8_MEMBER(bbcm_wd177xl_read);
DECLARE_WRITE8_MEMBER(bbcm_wd1770l_write);
- DECLARE_READ8_MEMBER(bbc_disc_r);
- DECLARE_WRITE8_MEMBER(bbc_disc_w);
+ DECLARE_WRITE8_MEMBER(bbcm_wd1772l_write);
DECLARE_WRITE8_MEMBER(bbc_videoULA_w);
- DECLARE_WRITE8_MEMBER(bbc_6845_w);
- DECLARE_READ8_MEMBER(bbc_6845_r);
DECLARE_READ8_MEMBER(bbc_fe_r);
DECLARE_DIRECT_UPDATE_MEMBER(bbcbp_direct_handler);
DECLARE_DIRECT_UPDATE_MEMBER(bbcm_direct_handler);
+
DECLARE_DRIVER_INIT(bbc);
- DECLARE_DRIVER_INIT(bbcm);
+
DECLARE_MACHINE_START(bbca);
DECLARE_MACHINE_RESET(bbca);
DECLARE_VIDEO_START(bbca);
+
DECLARE_MACHINE_START(bbcb);
DECLARE_MACHINE_RESET(bbcb);
DECLARE_VIDEO_START(bbcb);
+
DECLARE_MACHINE_START(bbcbp);
DECLARE_MACHINE_RESET(bbcbp);
DECLARE_VIDEO_START(bbcbp);
+
DECLARE_MACHINE_START(bbcm);
DECLARE_MACHINE_RESET(bbcm);
DECLARE_VIDEO_START(bbcm);
+
DECLARE_PALETTE_INIT(bbc);
UINT32 screen_update_bbc(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
INTERRUPT_GEN_MEMBER(bbcb_vsync);
@@ -197,13 +196,16 @@ public: // HACK FOR MC6845
optional_device<saa5050_device> m_trom;
optional_device<tms5220_device> m_tms;
optional_device<cassette_image_device> m_cassette;
- required_device<acia6850_device> m_acia;
- required_device<clock_device> m_acia_clock;
+ optional_device<acia6850_device> m_acia;
+ optional_device<clock_device> m_acia_clock;
optional_device<rs232_port_device> m_rs232;
required_device<via6522_device> m_via6522_0;
optional_device<via6522_device> m_via6522_1;
optional_device<upd7002_device> m_upd7002;
+ optional_device<mc146818_device> m_rtc;
optional_device<i8271_device> m_i8271;
+ optional_device<wd1770_t> m_wd1770;
+ optional_device<wd1772_t> m_wd1772;
required_device<generic_slot_device> m_exp1;
required_device<generic_slot_device> m_exp2;
optional_device<generic_slot_device> m_exp3;
@@ -213,7 +215,6 @@ public: // HACK FOR MC6845
required_memory_region m_region_maincpu;
required_memory_region m_region_os;
required_memory_region m_region_opt;
- optional_memory_region m_region_dfs;
required_memory_bank m_bank1; // bbca bbcb bbcbp bbcbp128 bbcm
optional_memory_bank m_bank2; // bbcbp bbcbp128 bbcm
optional_memory_bank m_bank3; // bbca bbcb
@@ -225,11 +226,8 @@ public: // HACK FOR MC6845
void check_interrupts();
- int m_DFSType; // this stores the DIP switch setting for the DFS type being used
int m_SWRAMtype; // this stores the DIP switch setting for the SWRAM type being used
int m_Speech; // this stores the CONF setting for Speech enabled/disabled
- int m_Master; // if 0 then we are emulating a BBC B style machine
- // if 1 then we are emulating a BBC Master style machine
int m_ACCCON_IRR; // IRQ inputs
@@ -347,7 +345,7 @@ public: // HACK FOR MC6845
i8271 disc control
***************************************/
- int m_previous_i8271_int_state; // 8271 interupt status
+ int m_previous_i8271_int_state; // 8271 interrupt status
/**************************************
WD1770 disc control
@@ -357,13 +355,7 @@ public: // HACK FOR MC6845
int m_wd177x_irq_state;
int m_wd177x_drq_state;
int m_previous_wd177x_int_state;
- int m_1770_IntEnabled;
-
- /**************************************
- Opus Challenger Disc control
- ***************************************/
-
- int m_opusbank;
+ int m_177x_IntEnabled;
/**************************************
Video Code