summaryrefslogtreecommitdiffstatshomepage
path: root/src/mess/includes/cbm2.h
diff options
context:
space:
mode:
author Miodrag Milanovic <mmicko@gmail.com>2015-09-30 17:21:14 +0200
committer Miodrag Milanovic <mmicko@gmail.com>2015-09-30 17:21:14 +0200
commit1fc48ce120a376c288daeeed98daccecf1b60d7b (patch)
tree72cefcede17f3a27fa8256b43bfac9756db82312 /src/mess/includes/cbm2.h
parent87a576c55501bd7125b51ca786a010229669df0e (diff)
move mess into mame (nw)
Diffstat (limited to 'src/mess/includes/cbm2.h')
-rw-r--r--src/mess/includes/cbm2.h329
1 files changed, 0 insertions, 329 deletions
diff --git a/src/mess/includes/cbm2.h b/src/mess/includes/cbm2.h
deleted file mode 100644
index 41ba6707dc8..00000000000
--- a/src/mess/includes/cbm2.h
+++ /dev/null
@@ -1,329 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Curt Coder
-#pragma once
-
-#ifndef __P500__
-#define __P500__
-
-#include "emu.h"
-#include "bus/cbm2/exp.h"
-#include "bus/cbm2/user.h"
-#include "bus/ieee488/ieee488.h"
-#include "bus/pet/cass.h"
-#include "bus/vcs_ctrl/ctrl.h"
-#include "cpu/m6502/m6509.h"
-#include "cpu/i86/i86.h"
-#include "machine/cbm_snqk.h"
-#include "machine/6525tpi.h"
-#include "machine/ds75160a.h"
-#include "machine/ds75161a.h"
-#include "machine/mos6526.h"
-#include "machine/mos6551.h"
-#include "machine/pic8259.h"
-#include "machine/pla.h"
-#include "machine/ram.h"
-#include "sound/dac.h"
-#include "sound/mos6581.h"
-#include "video/mc6845.h"
-#include "video/mos6566.h"
-
-#define M6509_TAG "u13"
-#define PLA1_TAG "u78"
-#define PLA2_TAG "u88"
-#define MOS6567_TAG "u23"
-#define MOS6569_TAG "u23"
-#define MC68B45_TAG "u10"
-#define MOS6581_TAG "u4"
-#define MOS6525_1_TAG "u20"
-#define MOS6525_2_TAG "u102"
-#define MOS6551A_TAG "u19"
-#define MOS6526_TAG "u2"
-#define DS75160A_TAG "u3"
-#define DS75161A_TAG "u7"
-#define SCREEN_TAG "screen"
-#define CONTROL1_TAG "joy1"
-#define CONTROL2_TAG "joy2"
-#define RS232_TAG "rs232"
-
-#define EXT_I8088_TAG "ext_u1"
-#define EXT_I8087_TAG "ext_u4"
-#define EXT_I8259A_TAG "ext_u3"
-#define EXT_MOS6526_TAG "ext_u15"
-#define EXT_MOS6525_TAG "ext_u16"
-
-class cbm2_state : public driver_device
-{
-public:
- cbm2_state(const machine_config &mconfig, device_type type, const char *tag)
- : driver_device(mconfig, type, tag),
- m_maincpu(*this, M6509_TAG),
- m_pla1(*this, PLA1_TAG),
- m_crtc(*this, MC68B45_TAG),
- m_palette(*this, "palette"),
- m_sid(*this, MOS6581_TAG),
- m_tpi1(*this, MOS6525_1_TAG),
- m_tpi2(*this, MOS6525_2_TAG),
- m_acia(*this, MOS6551A_TAG),
- m_cia(*this, MOS6526_TAG),
- m_ieee1(*this, DS75160A_TAG),
- m_ieee2(*this, DS75161A_TAG),
- m_joy1(*this, CONTROL1_TAG),
- m_joy2(*this, CONTROL2_TAG),
- m_exp(*this, CBM2_EXPANSION_SLOT_TAG),
- m_user(*this, CBM2_USER_PORT_TAG),
- m_ram(*this, RAM_TAG),
- m_cassette(*this, PET_DATASSETTE_PORT_TAG),
- m_ieee(*this, IEEE488_TAG),
- m_ext_cpu(*this, EXT_I8088_TAG),
- m_ext_pic(*this, EXT_I8259A_TAG),
- m_ext_cia(*this, EXT_MOS6526_TAG),
- m_ext_tpi(*this, EXT_MOS6525_TAG),
- m_basic(*this, "basic"),
- m_kernal(*this, "kernal"),
- m_charom(*this, "charom"),
- m_buffer_ram(*this, "buffer_ram"),
- m_extbuf_ram(*this, "extbuf_ram"),
- m_video_ram(*this, "video_ram"),
- m_pa0(*this, "PA0"),
- m_pa1(*this, "PA1"),
- m_pa2(*this, "PA2"),
- m_pa3(*this, "PA3"),
- m_pa4(*this, "PA4"),
- m_pa5(*this, "PA5"),
- m_pa6(*this, "PA6"),
- m_pa7(*this, "PA7"),
- m_pb0(*this, "PB0"),
- m_pb1(*this, "PB1"),
- m_pb2(*this, "PB2"),
- m_pb3(*this, "PB3"),
- m_pb4(*this, "PB4"),
- m_pb5(*this, "PB5"),
- m_pb6(*this, "PB6"),
- m_pb7(*this, "PB7"),
- m_lock(*this, "LOCK"),
- m_dramon(1),
- m_video_ram_size(0x800),
- m_graphics(1),
- m_todclk(0),
- m_tpi1_irq(CLEAR_LINE),
- m_acia_irq(CLEAR_LINE),
- m_user_irq(CLEAR_LINE),
- m_tpi2_pa(0),
- m_tpi2_pb(0)
- { }
-
- required_device<cpu_device> m_maincpu;
- required_device<pla_device> m_pla1;
- optional_device<mc6845_device> m_crtc;
- optional_device<palette_device> m_palette;
- required_device<mos6581_device> m_sid;
- required_device<tpi6525_device> m_tpi1;
- required_device<tpi6525_device> m_tpi2;
- required_device<mos6551_device> m_acia;
- required_device<mos6526_device> m_cia;
- required_device<ds75160a_device> m_ieee1;
- required_device<ds75161a_device> m_ieee2;
- required_device<vcs_control_port_device> m_joy1;
- required_device<vcs_control_port_device> m_joy2;
- required_device<cbm2_expansion_slot_device> m_exp;
- required_device<cbm2_user_port_device> m_user;
- required_device<ram_device> m_ram;
- required_device<pet_datassette_port_device> m_cassette;
- required_device<ieee488_device> m_ieee;
- optional_device<cpu_device> m_ext_cpu;
- optional_device<pic8259_device> m_ext_pic;
- optional_device<mos6526_device> m_ext_cia;
- optional_device<tpi6525_device> m_ext_tpi;
- required_memory_region m_basic;
- required_memory_region m_kernal;
- required_memory_region m_charom;
- optional_shared_ptr<UINT8> m_buffer_ram;
- optional_shared_ptr<UINT8> m_extbuf_ram;
- optional_shared_ptr<UINT8> m_video_ram;
- required_ioport m_pa0;
- required_ioport m_pa1;
- required_ioport m_pa2;
- required_ioport m_pa3;
- required_ioport m_pa4;
- required_ioport m_pa5;
- required_ioport m_pa6;
- required_ioport m_pa7;
- required_ioport m_pb0;
- required_ioport m_pb1;
- required_ioport m_pb2;
- required_ioport m_pb3;
- required_ioport m_pb4;
- required_ioport m_pb5;
- required_ioport m_pb6;
- required_ioport m_pb7;
- required_ioport m_lock;
-
- virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr);
-
- DECLARE_MACHINE_START( cbm2 );
- DECLARE_MACHINE_START( cbm2_ntsc );
- DECLARE_MACHINE_START( cbm2_pal );
- DECLARE_MACHINE_START( cbm2x_ntsc );
- DECLARE_MACHINE_START( cbm2x_pal );
- DECLARE_MACHINE_RESET( cbm2 );
-
- virtual void read_pla(offs_t offset, int ras, int cas, int refen, int eras, int ecas,
- int *casseg1, int *casseg2, int *casseg3, int *casseg4, int *rasseg1, int *rasseg2, int *rasseg3, int *rasseg4);
-
- void bankswitch(offs_t offset, int eras, int ecas, int refen, int cas, int ras, int *sysioen, int *dramen,
- int *casseg1, int *casseg2, int *casseg3, int *casseg4, int *buframcs, int *extbufcs, int *vidramcs,
- int *diskromcs, int *csbank1, int *csbank2, int *csbank3, int *basiccs, int *knbcs, int *kernalcs,
- int *crtccs, int *cs1, int *sidcs, int *extprtcs, int *ciacs, int *aciacs, int *tript1cs, int *tript2cs);
-
- UINT8 read_keyboard();
- void set_busy2(int state);
-
- DECLARE_READ8_MEMBER( read );
- DECLARE_WRITE8_MEMBER( write );
- DECLARE_READ8_MEMBER( ext_read );
- DECLARE_WRITE8_MEMBER( ext_write );
-
- DECLARE_READ8_MEMBER( sid_potx_r );
- DECLARE_READ8_MEMBER( sid_poty_r );
-
- DECLARE_WRITE_LINE_MEMBER( tpi1_irq_w );
- DECLARE_READ8_MEMBER( tpi1_pa_r );
- DECLARE_WRITE8_MEMBER( tpi1_pa_w );
- DECLARE_READ8_MEMBER( tpi1_pb_r );
- DECLARE_WRITE8_MEMBER( tpi1_pb_w );
- DECLARE_WRITE_LINE_MEMBER( tpi1_ca_w );
- DECLARE_WRITE_LINE_MEMBER( tpi1_cb_w );
-
- DECLARE_WRITE8_MEMBER( tpi2_pa_w );
- DECLARE_WRITE8_MEMBER( tpi2_pb_w );
- DECLARE_READ8_MEMBER( tpi2_pc_r );
-
- DECLARE_READ8_MEMBER( cia_pa_r );
- DECLARE_WRITE8_MEMBER( cia_pa_w );
- DECLARE_READ8_MEMBER( cia_pb_r );
-
- DECLARE_WRITE_LINE_MEMBER( tape_read_w );
-
- DECLARE_READ8_MEMBER( ext_tpi_pb_r );
- DECLARE_WRITE8_MEMBER( ext_tpi_pb_w );
- DECLARE_WRITE8_MEMBER( ext_tpi_pc_w );
-
- DECLARE_WRITE_LINE_MEMBER( ext_cia_irq_w );
- DECLARE_READ8_MEMBER( ext_cia_pb_r );
- DECLARE_WRITE8_MEMBER( ext_cia_pb_w );
-
- DECLARE_WRITE_LINE_MEMBER( user_irq_w );
-
- MC6845_UPDATE_ROW( crtc_update_row );
-
- DECLARE_QUICKLOAD_LOAD_MEMBER( cbmb );
- // memory state
- int m_dramon;
- int m_busen1;
- int m_busy2;
-
- // video state
- size_t m_video_ram_size;
- int m_graphics;
- int m_ntsc;
-
- // interrupt state
- int m_todclk;
- int m_tpi1_irq;
- int m_acia_irq;
- int m_user_irq;
-
- // keyboard state;
- UINT8 m_tpi2_pa;
- UINT8 m_tpi2_pb;
- UINT8 m_cia_pa;
-
- UINT8 m_ext_cia_pb;
- UINT8 m_ext_tpi_pb;
-
- // timers
- emu_timer *m_todclk_timer;
-};
-
-
-class cbm2hp_state : public cbm2_state
-{
-public:
- cbm2hp_state(const machine_config &mconfig, device_type type, const char *tag)
- : cbm2_state(mconfig, type, tag)
- { }
-
- virtual void read_pla(offs_t offset, int ras, int cas, int refen, int eras, int ecas,
- int *casseg1, int *casseg2, int *casseg3, int *casseg4, int *rasseg1, int *rasseg2, int *rasseg3, int *rasseg4);
-
- DECLARE_READ8_MEMBER( tpi2_pc_r );
-};
-
-
-class p500_state : public cbm2_state
-{
-public:
- p500_state(const machine_config &mconfig, device_type type, const char *tag)
- : cbm2_state(mconfig, type, tag),
- m_pla2(*this, PLA2_TAG),
- m_vic(*this, MOS6569_TAG),
- m_color_ram(*this, "color_ram"),
- m_statvid(1),
- m_vicdotsel(1),
- m_vicbnksel(0x03),
- m_vic_irq(CLEAR_LINE)
- { }
-
- required_device<pla_device> m_pla2;
- required_device<mos6566_device> m_vic;
- optional_shared_ptr<UINT8> m_color_ram;
-
- DECLARE_MACHINE_START( p500 );
- DECLARE_MACHINE_START( p500_ntsc );
- DECLARE_MACHINE_START( p500_pal );
- DECLARE_MACHINE_RESET( p500 );
-
- void read_pla1(offs_t offset, int busy2, int clrnibcsb, int procvid, int refen, int ba, int aec, int srw,
- int *datxen, int *dramxen, int *clrniben, int *segf, int *_64kcasen, int *casenb, int *viddaten, int *viddat_tr);
-
- void read_pla2(offs_t offset, offs_t va, int ba, int vicen, int ae, int segf, int bank0,
- int *clrnibcsb, int *extbufcs, int *discromcs, int *buframcs, int *charomcs, int *procvid, int *viccs, int *vidmatcs);
-
- void bankswitch(offs_t offset, offs_t va, int srw, int ba, int ae, int busy2, int refen,
- int *datxen, int *dramxen, int *clrniben, int *_64kcasen, int *casenb, int *viddaten, int *viddat_tr,
- int *clrnibcs, int *extbufcs, int *discromcs, int *buframcs, int *charomcs, int *viccs, int *vidmatcs,
- int *csbank1, int *csbank2, int *csbank3, int *basiclocs, int *basichics, int *kernalcs,
- int *cs1, int *sidcs, int *extprtcs, int *ciacs, int *aciacs, int *tript1cs, int *tript2cs, int *aec, int *vsysaden);
-
- UINT8 read_memory(address_space &space, offs_t offset, offs_t va, int ba, int ae);
- void write_memory(address_space &space, offs_t offset, UINT8 data, int ba, int ae);
-
- DECLARE_READ8_MEMBER( read );
- DECLARE_WRITE8_MEMBER( write );
-
- DECLARE_READ8_MEMBER( vic_videoram_r );
- DECLARE_READ8_MEMBER( vic_colorram_r );
- DECLARE_WRITE_LINE_MEMBER( vic_irq_w );
-
- DECLARE_WRITE_LINE_MEMBER( tpi1_irq_w );
- DECLARE_WRITE_LINE_MEMBER( tpi1_ca_w );
- DECLARE_WRITE_LINE_MEMBER( tpi1_cb_w );
-
- DECLARE_READ8_MEMBER( tpi2_pc_r );
- DECLARE_WRITE8_MEMBER( tpi2_pc_w );
-
- DECLARE_WRITE_LINE_MEMBER( user_irq_w );
-
- DECLARE_QUICKLOAD_LOAD_MEMBER( p500 );
- // video state
- int m_statvid;
- int m_vicdotsel;
- int m_vicbnksel;
-
- // interrupt state
- int m_vic_irq;
-};
-
-
-
-#endif