(MESS) pet: Moved the remaining PETs to the new driver. [Curt Coder]

This commit is contained in:
Curt Coder 2013-02-01 18:38:13 +00:00
parent 565eb9ff85
commit 0ed1842cdf
5 changed files with 1079 additions and 140 deletions

View File

@ -730,7 +730,7 @@ MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( petb, pet )
MCFG_PIA6821_MODIFY( "pia_0", petb_pia0 )
MACHINE_CONFIG_END
#if 0
static MACHINE_CONFIG_DERIVED( pet2001, pet_general )
MCFG_QUICKLOAD_ADD("quickload", cbm_pet1, "p00,prg", CBM_QUICKLOAD_DELAY_SECONDS)
MCFG_FRAGMENT_ADD(pet_cartslot)
@ -743,7 +743,7 @@ static MACHINE_CONFIG_DERIVED( pet2001, pet_general )
/* IEEE bus */
MCFG_CBM_IEEE488_ADD(ieee488_intf, "c4040")
MACHINE_CONFIG_END
#endif
static MACHINE_CONFIG_DERIVED( pet40, pet )
MCFG_CPU_MODIFY( "maincpu" )
@ -1162,6 +1162,9 @@ ROM_END
/* YEAR NAME PARENT COMPAT MACHINE INPUT INIT COMPANY FULLNAME */
COMP(1977, pet2001, 0, 0, pet2001, pet, pet_state, pet2001, "Commodore Business Machines", "PET 2001", GAME_NOT_WORKING | GAME_NO_SOUND)
COMP(1979, pet2001n, pet2001, 0, pet, pet, pet_state, pet, "Commodore Business Machines", "PET 2001-N", GAME_NOT_WORKING | GAME_NO_SOUND)
COMP(1979, pet2001b, pet2001, 0, petb, petb, pet_state, pet, "Commodore Business Machines", "PET 2001-B", GAME_NOT_WORKING | GAME_NO_SOUND)
COMP(1979, cbm30, pet2001, 0, pet, pet, pet_state, pet, "Commodore Business Machines", "CBM 30xx", GAME_NOT_WORKING | GAME_NO_SOUND)
COMP(1979, cbm30b, pet2001, 0, petb, petb, pet_state, pet, "Commodore Business Machines", "CBM 30xx (Business keyboard)", GAME_NOT_WORKING | GAME_NO_SOUND)
COMP(1979, cbm30nor, pet2001, 0, petb, petb, pet_state, pet, "Commodore Business Machines", "CBM 30xx (Norway, Business keyboard)", GAME_NOT_WORKING | GAME_NO_SOUND)

File diff suppressed because it is too large Load Diff

View File

@ -11,12 +11,15 @@
#include "machine/ieee488.h"
#include "machine/petcass.h"
#include "machine/ram.h"
#include "sound/speaker.h"
#include "video/mc6845.h"
#define M6502_TAG "f3"
#define M6522_TAG "a5"
#define M6520_1_TAG "g8"
#define M6520_2_TAG "b8"
#define MC6845_TAG "ub13"
#define M6809_TAG "u4"
#define SCREEN_TAG "screen"
class pet2001_state : public driver_device
@ -28,15 +31,16 @@ public:
m_via(*this, M6522_TAG),
m_pia1(*this, M6520_1_TAG),
m_pia2(*this, M6520_2_TAG),
m_crtc(*this, MC6845_TAG),
m_ieee(*this, IEEE488_TAG),
m_cassette(*this, PET_DATASSETTE_PORT_TAG),
m_cassette2(*this, PET_DATASSETTE_PORT2_TAG),
//m_exp(*this, PET_EXPANSION_SLOT_TAG),
//m_user(*this, PET_USER_PORT_TAG),
m_speaker(*this, SPEAKER_TAG),
m_ram(*this, RAM_TAG),
m_rom(*this, M6502_TAG),
m_spare_rom(*this, "spare"),
m_char_rom(*this, "gfx1"),
m_char_rom(*this, "charom"),
m_video_ram(*this, "video_ram"),
m_row0(*this, "ROW0"),
m_row1(*this, "ROW1"),
@ -65,14 +69,15 @@ public:
required_device<via6522_device> m_via;
required_device<pia6821_device> m_pia1;
required_device<pia6821_device> m_pia2;
optional_device<mc6845_device> m_crtc;
required_device<ieee488_device> m_ieee;
required_device<pet_datassette_port_device> m_cassette;
required_device<pet_datassette_port_device> m_cassette2;
//required_device<pet_expansion_slot_device> m_exp;
//required_device<pet_user_port_device> m_user;
optional_device<speaker_sound_device> m_speaker;
required_device<ram_device> m_ram;
required_memory_region m_rom;
optional_memory_region m_spare_rom;
required_memory_region m_char_rom;
optional_shared_ptr<UINT8> m_video_ram;
required_ioport m_row0;
@ -87,12 +92,14 @@ public:
required_ioport m_row9;
required_ioport m_lock;
virtual void machine_start();
virtual void machine_reset();
DECLARE_MACHINE_START( pet );
DECLARE_MACHINE_START( pet2001 );
DECLARE_MACHINE_RESET( pet );
UINT32 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 );
@ -101,6 +108,7 @@ public:
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 );
@ -142,6 +150,11 @@ public:
int m_sync;
int m_graphic;
int m_blanktv;
int m_video_ram_size;
// sound state
int m_via_cb2;
int m_pia1_pa7;
// interrupt state
int m_via_irq;
@ -164,5 +177,44 @@ public:
};
class pet80_state : public pet2001b_state
{
public:
pet80_state(const machine_config &mconfig, device_type type, const char *tag)
: pet2001b_state(mconfig, type, tag)
{ }
#endif
DECLARE_MACHINE_START( pet80 );
DECLARE_MACHINE_RESET( pet80 );
};
class superpet_state : public pet80_state
{
public:
superpet_state(const machine_config &mconfig, device_type type, const char *tag)
: pet80_state(mconfig, type, tag)
{ }
};
class cbm8096_state : public pet80_state
{
public:
cbm8096_state(const machine_config &mconfig, device_type type, const char *tag)
: pet80_state(mconfig, type, tag)
{ }
};
class cbm8296_state : public pet80_state
{
public:
cbm8296_state(const machine_config &mconfig, device_type type, const char *tag)
: pet80_state(mconfig, type, tag)
{ }
};
#endif

View File

@ -576,30 +576,34 @@ sym1 // Synertek SYM-1
aim65 // Rockwell AIM65
aim65_40 // Rockwell AIM65/40
pet2001 // PET 2001
pet2001n // PET 2001-N
pet2001b // PET 2001-B
cbm30 // CBM 30xx
cbm30b // CBM 30xx (Business keyboard)
cbm30nor // CBM 30xx (Norway, Business keyboard)
pet40on // PET 40xx (Basic 4, no CRTC, Normal keyboard)
pet40ob // PET 40xx (Basic 4, no CRTC, Business keyboard)
pet40n // PET 40xx (Basic 4, CRTC 60Hz, 40 columns)
pet40b // PET 40xx (Basic 4, CRTC 60Hz, 80 columns)
cbm40o // CBM 40xx (Basic 4, no CRTC, Normal keyboard)
cbm40ob // CBM 40xx (Basic 4, no CRTC, Business keyboard)
cbm40n // CBM 40xx (Basic 4, CRTC 50Hz, 40 columns)
cbm40b // CBM 40xx (Basic 4, CRTC 50Hz, 80 columns)
pet80 // PET 80xx (Basic 4, CRTC 60Hz, 80 columns)
cbm80 // CBM 80xx (Basic 4, CRTC 50Hz, 80 columns)
cbm80ger // CBM 80xx (Germany, Basic 4, CRTC 50Hz, 80 cols)
cbm80hun // CBM 80xx (Hungary, Basic 4, CRTC 50Hz, 80 cols)
cbm80swe // CBM 80xx (Sweden, Basic 4, CRTC 50Hz, 80 cols)
cbm8296 // CBM 8296 (Basic 4, CRTC 50Hz, 80 columns)
cbm8296d // CBM 8296D
superpet // SuperPET
sp9000 // CBM SP9000 / MiniMainFrame 9000
mmf9000s // MiniMainFrame 9000 (Sweden)
pet2001
pet20018
pet2001n
pet2001n16
pet2001n32
cbm3008
cbm3016
cbm3032
pet2001b
pet2001b16
pet2001b32
cbm3032b
pet4016
pet4032
cbm4016
cbm4032
pet4032b
cbm4032b
pet8032
cbm8032
cbm8032_de
cbm8032_se
superpet
mmf9000
cbm8096
cbm8296
cbm8296d
cbm8296d_de
vic1001 // Commodore VIC-1001 (Japan)
vic20 // Commodore VIC 20 (NTSC)

View File

@ -825,9 +825,6 @@ $(MESSOBJ)/casio.a: \
$(MESSOBJ)/cbm.a: \
$(MESS_DRIVERS)/pet2001.o \
$(MESS_VIDEO)/pet.o \
$(MESS_DRIVERS)/pet.o \
$(MESS_MACHINE)/pet.o \
$(MESS_DRIVERS)/c64.o \
$(MESS_MACHINE)/c64_legacy.o \
$(MESS_DRIVERS)/c64dtv.o \