summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/pet.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/pet.cpp')
-rw-r--r--src/mame/drivers/pet.cpp126
1 files changed, 69 insertions, 57 deletions
diff --git a/src/mame/drivers/pet.cpp b/src/mame/drivers/pet.cpp
index a57f80fc845..e0af100d5d2 100644
--- a/src/mame/drivers/pet.cpp
+++ b/src/mame/drivers/pet.cpp
@@ -222,6 +222,61 @@ public:
m_user_diag(1)
{ }
+ void _4k(machine_config &config);
+ void _8k(machine_config &config);
+ void _16k(machine_config &config);
+ void _32k(machine_config &config);
+ void pet(machine_config &config);
+ void pet2001n(machine_config &config);
+ void pet2001n8(machine_config &config);
+ void cbm3032(machine_config &config);
+ void pet20018(machine_config &config);
+ void pet2001n16(machine_config &config);
+ void cbm3016(machine_config &config);
+ void cbm3000(machine_config &config);
+ void cbm4000(machine_config &config);
+ void cbm4032f(machine_config &config);
+ void cbm4032(machine_config &config);
+ void cbm4016(machine_config &config);
+ void cbm3008(machine_config &config);
+ void pet2001(machine_config &config);
+ void pet2001n32(machine_config &config);
+
+ DECLARE_READ8_MEMBER( read );
+ DECLARE_WRITE8_MEMBER( write );
+
+ DECLARE_WRITE_LINE_MEMBER( via_irq_w );
+ DECLARE_WRITE8_MEMBER( via_pa_w );
+ DECLARE_READ8_MEMBER( via_pb_r );
+ DECLARE_WRITE8_MEMBER( via_pb_w );
+ DECLARE_WRITE_LINE_MEMBER( via_ca2_w );
+ DECLARE_WRITE_LINE_MEMBER( via_cb2_w );
+
+ DECLARE_WRITE_LINE_MEMBER( pia1_irqa_w );
+ DECLARE_WRITE_LINE_MEMBER( pia1_irqb_w );
+ DECLARE_READ8_MEMBER( pia1_pa_r );
+ DECLARE_READ8_MEMBER( pia1_pb_r );
+ DECLARE_WRITE8_MEMBER( pia1_pa_w );
+ DECLARE_WRITE_LINE_MEMBER( pia1_ca2_w );
+
+ DECLARE_WRITE_LINE_MEMBER( pia2_irqa_w );
+ DECLARE_WRITE_LINE_MEMBER( pia2_irqb_w );
+
+ DECLARE_WRITE_LINE_MEMBER( user_diag_w );
+
+ MC6845_BEGIN_UPDATE( pet_begin_update );
+ MC6845_UPDATE_ROW( pet40_update_row );
+
+ TIMER_DEVICE_CALLBACK_MEMBER( sync_tick );
+
+ DECLARE_QUICKLOAD_LOAD_MEMBER( cbm_pet );
+
+ uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
+
+ DECLARE_MACHINE_START( pet40 );
+ DECLARE_MACHINE_RESET( pet40 );
+
+protected:
required_device<m6502_device> m_maincpu;
required_device<via6522_device> m_via;
required_device<pia6821_device> m_pia1;
@@ -247,43 +302,11 @@ public:
DECLARE_MACHINE_START( pet );
DECLARE_MACHINE_START( pet2001 );
DECLARE_MACHINE_RESET( pet );
- DECLARE_MACHINE_START( pet40 );
- DECLARE_MACHINE_RESET( pet40 );
- MC6845_BEGIN_UPDATE( pet_begin_update );
- MC6845_UPDATE_ROW( pet40_update_row );
-
- uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
void check_interrupts();
void update_speaker();
- DECLARE_READ8_MEMBER( read );
- DECLARE_WRITE8_MEMBER( write );
-
- DECLARE_WRITE_LINE_MEMBER( via_irq_w );
- DECLARE_WRITE8_MEMBER( via_pa_w );
- DECLARE_READ8_MEMBER( via_pb_r );
- DECLARE_WRITE8_MEMBER( via_pb_w );
- DECLARE_WRITE_LINE_MEMBER( via_ca2_w );
- DECLARE_WRITE_LINE_MEMBER( via_cb2_w );
-
- DECLARE_WRITE_LINE_MEMBER( pia1_irqa_w );
- DECLARE_WRITE_LINE_MEMBER( pia1_irqb_w );
- DECLARE_READ8_MEMBER( pia1_pa_r );
- DECLARE_READ8_MEMBER( pia1_pb_r );
- DECLARE_WRITE8_MEMBER( pia1_pa_w );
- DECLARE_WRITE_LINE_MEMBER( pia1_ca2_w );
-
- DECLARE_WRITE_LINE_MEMBER( pia2_irqa_w );
- DECLARE_WRITE_LINE_MEMBER( pia2_irqb_w );
-
- DECLARE_WRITE_LINE_MEMBER( user_diag_w );
-
- TIMER_DEVICE_CALLBACK_MEMBER( sync_tick );
-
- DECLARE_QUICKLOAD_LOAD_MEMBER( cbm_pet );
-
enum
{
SEL0 = 0,
@@ -327,25 +350,6 @@ public:
int m_pia2b_irq;
int m_exp_irq;
int m_user_diag;
- void _4k(machine_config &config);
- void _8k(machine_config &config);
- void _16k(machine_config &config);
- void _32k(machine_config &config);
- void pet(machine_config &config);
- void pet2001n(machine_config &config);
- void pet2001n8(machine_config &config);
- void cbm3032(machine_config &config);
- void pet20018(machine_config &config);
- void pet2001n16(machine_config &config);
- void cbm3016(machine_config &config);
- void cbm3000(machine_config &config);
- void cbm4000(machine_config &config);
- void cbm4032f(machine_config &config);
- void cbm4032(machine_config &config);
- void cbm4016(machine_config &config);
- void cbm3008(machine_config &config);
- void pet2001(machine_config &config);
- void pet2001n32(machine_config &config);
void pet2001_mem(address_map &map);
};
@@ -357,7 +361,6 @@ public:
pet_state(mconfig, type, tag)
{ }
- DECLARE_READ8_MEMBER( pia1_pb_r );
void pet2001b(machine_config &config);
void pet2001b32(machine_config &config);
void pet4000(machine_config &config);
@@ -372,6 +375,10 @@ public:
void cbm4032b(machine_config &config);
void pet2001b8(machine_config &config);
void pet4016(machine_config &config);
+
+protected:
+ DECLARE_READ8_MEMBER( pia1_pb_r );
+
};
@@ -382,13 +389,16 @@ public:
pet2001b_state(mconfig, type, tag)
{ }
+ void pet80(machine_config &config);
+ void pet8032(machine_config &config);
+
DECLARE_MACHINE_START( pet80 );
DECLARE_MACHINE_RESET( pet80 );
- MC6845_UPDATE_ROW( pet80_update_row );
MC6845_UPDATE_ROW( cbm8296_update_row );
- void pet80(machine_config &config);
- void pet8032(machine_config &config);
+
+protected:
+ MC6845_UPDATE_ROW( pet80_update_row );
};
@@ -425,6 +435,10 @@ public:
m_pla2(*this, PLA2_TAG)
{ }
+ void cbm8296d(machine_config &config);
+ void cbm8296(machine_config &config);
+
+private:
required_memory_region m_basic_rom;
required_memory_region m_editor_rom;
required_memory_region m_ue5_rom;
@@ -447,8 +461,6 @@ public:
DECLARE_WRITE8_MEMBER( write );
uint8_t m_cr;
- void cbm8296d(machine_config &config);
- void cbm8296(machine_config &config);
void cbm8296_mem(address_map &map);
};