(MESS) Legacy removal. (nw)
This commit is contained in:
parent
d2938b8a39
commit
c44e3354c2
4
.gitattributes
vendored
4
.gitattributes
vendored
@ -6724,7 +6724,6 @@ src/mess/includes/c128.h svneol=native#text/plain
|
||||
src/mess/includes/c64.h svneol=native#text/plain
|
||||
src/mess/includes/c65.h svneol=native#text/plain
|
||||
src/mess/includes/c80.h svneol=native#text/plain
|
||||
src/mess/includes/cbm.h svneol=native#text/plain
|
||||
src/mess/includes/cbm2.h svneol=native#text/plain
|
||||
src/mess/includes/cgc7900.h svneol=native#text/plain
|
||||
src/mess/includes/cgenie.h svneol=native#text/plain
|
||||
@ -7358,7 +7357,6 @@ src/mess/machine/c64_nl10.h svneol=native#text/plain
|
||||
src/mess/machine/c65.c svneol=native#text/plain
|
||||
src/mess/machine/c8280.c svneol=native#text/plain
|
||||
src/mess/machine/c8280.h svneol=native#text/plain
|
||||
src/mess/machine/cbm.c svneol=native#text/plain
|
||||
src/mess/machine/cbm2_24k.c svneol=native#text/plain
|
||||
src/mess/machine/cbm2_24k.h svneol=native#text/plain
|
||||
src/mess/machine/cbm2_graphic.c svneol=native#text/plain
|
||||
@ -7375,8 +7373,6 @@ src/mess/machine/cbm_snqk.c svneol=native#text/plain
|
||||
src/mess/machine/cbm_snqk.h svneol=native#text/plain
|
||||
src/mess/machine/cbmiec.c svneol=native#text/plain
|
||||
src/mess/machine/cbmiec.h svneol=native#text/plain
|
||||
src/mess/machine/cbmipt.c svneol=native#text/plain
|
||||
src/mess/machine/cbmipt.h svneol=native#text/plain
|
||||
src/mess/machine/cgenie.c svneol=native#text/plain
|
||||
src/mess/machine/cmdhd.c svneol=native#text/plain
|
||||
src/mess/machine/cmdhd.h svneol=native#text/plain
|
||||
|
@ -1327,6 +1327,25 @@ WRITE_LINE_MEMBER( c128_state::exp_reset_w )
|
||||
}
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// SLOT_INTERFACE( c128dcr_iec_devices )
|
||||
//-------------------------------------------------
|
||||
|
||||
SLOT_INTERFACE_START( c128dcr_iec_devices )
|
||||
SLOT_INTERFACE("c1571", C1571)
|
||||
SLOT_INTERFACE("c1571cr", C1571CR)
|
||||
SLOT_INTERFACE_END
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// SLOT_INTERFACE( c128d81_iec_devices )
|
||||
//-------------------------------------------------
|
||||
|
||||
SLOT_INTERFACE_START( c128d81_iec_devices )
|
||||
SLOT_INTERFACE("c1563", C1563)
|
||||
SLOT_INTERFACE_END
|
||||
|
||||
|
||||
|
||||
//**************************************************************************
|
||||
// MACHINE INITIALIZATION
|
||||
|
@ -984,6 +984,15 @@ WRITE_LINE_MEMBER( c64_state::exp_reset_w )
|
||||
}
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// SLOT_INTERFACE( sx1541_iec_devices )
|
||||
//-------------------------------------------------
|
||||
|
||||
SLOT_INTERFACE_START( sx1541_iec_devices )
|
||||
SLOT_INTERFACE("sx1541", SX1541)
|
||||
SLOT_INTERFACE_END
|
||||
|
||||
|
||||
|
||||
//**************************************************************************
|
||||
// MACHINE INITIALIZATION
|
||||
|
@ -54,9 +54,7 @@ bus serial (available in all modes), a Fast and a Burst serial bus
|
||||
#include "cpu/m6502/m4510.h"
|
||||
#include "sound/mos6581.h"
|
||||
#include "machine/mos6526.h"
|
||||
#include "machine/cbmipt.h"
|
||||
#include "video/vic4567.h"
|
||||
#include "includes/cbm.h"
|
||||
#include "machine/cbm_snqk.h"
|
||||
#include "includes/c65.h"
|
||||
#include "machine/cbmiec.h"
|
||||
@ -119,8 +117,85 @@ ADDRESS_MAP_END
|
||||
*************************************/
|
||||
|
||||
static INPUT_PORTS_START( c65 )
|
||||
PORT_INCLUDE( common_cbm_keyboard ) /* ROW0 -> ROW7 */
|
||||
PORT_START( "ROW0" )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Crsr Down Up") PORT_CODE(KEYCODE_RALT) PORT_CHAR(UCHAR_MAMEKEY(DOWN)) PORT_CHAR(UCHAR_MAMEKEY(UP))
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_F3) PORT_CHAR(UCHAR_MAMEKEY(F5))
|
||||
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_F2) PORT_CHAR(UCHAR_MAMEKEY(F3))
|
||||
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_F1) PORT_CHAR(UCHAR_MAMEKEY(F1))
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_F4) PORT_CHAR(UCHAR_MAMEKEY(F7))
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Crsr Right Left") PORT_CODE(KEYCODE_RCONTROL) PORT_CHAR(UCHAR_MAMEKEY(RIGHT)) PORT_CHAR(UCHAR_MAMEKEY(LEFT))
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Return") PORT_CODE(KEYCODE_ENTER) PORT_CHAR(13)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("INST DEL") PORT_CODE(KEYCODE_BACKSPACE) PORT_CHAR(8) PORT_CHAR(UCHAR_MAMEKEY(INSERT))
|
||||
|
||||
PORT_START( "ROW1" )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Shift (Left)") PORT_CODE(KEYCODE_LSHIFT) PORT_CHAR(UCHAR_SHIFT_1)
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_E) PORT_CHAR('E')
|
||||
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_S) PORT_CHAR('S')
|
||||
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_Z) PORT_CHAR('Z')
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_4) PORT_CHAR('4') PORT_CHAR('$')
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_A) PORT_CHAR('A')
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_W) PORT_CHAR('W')
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_3) PORT_CHAR('3') PORT_CHAR('#')
|
||||
|
||||
PORT_START( "ROW2" )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_X) PORT_CHAR('X')
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_T) PORT_CHAR('T')
|
||||
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_F) PORT_CHAR('F')
|
||||
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_C) PORT_CHAR('C')
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_6) PORT_CHAR('6') PORT_CHAR('&')
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_D) PORT_CHAR('D')
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_R) PORT_CHAR('R')
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_5) PORT_CHAR('5') PORT_CHAR('%')
|
||||
|
||||
PORT_START( "ROW3" )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_V) PORT_CHAR('V')
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_U) PORT_CHAR('U')
|
||||
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_H) PORT_CHAR('H')
|
||||
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_B) PORT_CHAR('B')
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_8) PORT_CHAR('8') PORT_CHAR('(')
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_G) PORT_CHAR('G')
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_Y) PORT_CHAR('Y')
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_7) PORT_CHAR('7') PORT_CHAR('\'')
|
||||
|
||||
PORT_START( "ROW4" )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_N) PORT_CHAR('N')
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_O) PORT_CHAR('O')
|
||||
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_K) PORT_CHAR('K')
|
||||
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_M) PORT_CHAR('M')
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_0) PORT_CHAR('0')
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_J) PORT_CHAR('J')
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_I) PORT_CHAR('I')
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_9) PORT_CHAR('9') PORT_CHAR(')')
|
||||
|
||||
PORT_START( "ROW5" )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_COMMA) PORT_CHAR(',') PORT_CHAR('<')
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_OPENBRACE) PORT_CHAR('@')
|
||||
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_COLON) PORT_CHAR(':') PORT_CHAR('[')
|
||||
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_STOP) PORT_CHAR('.') PORT_CHAR('>')
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_EQUALS) PORT_CHAR('-')
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_L) PORT_CHAR('L')
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_P) PORT_CHAR('P')
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_MINUS) PORT_CHAR('+')
|
||||
|
||||
PORT_START( "ROW6" )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_SLASH) PORT_CHAR('/') PORT_CHAR('?')
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("\xE2\x86\x91 Pi") PORT_CODE(KEYCODE_DEL) PORT_CHAR(0x2191) PORT_CHAR(0x03C0)
|
||||
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_BACKSLASH) PORT_CHAR('=')
|
||||
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Shift (Right)") PORT_CODE(KEYCODE_RSHIFT) PORT_CHAR(UCHAR_SHIFT_1)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("CLR HOME") PORT_CODE(KEYCODE_INSERT) PORT_CHAR(UCHAR_MAMEKEY(HOME))
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_QUOTE) PORT_CHAR(';') PORT_CHAR(']')
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_CLOSEBRACE) PORT_CHAR('*')
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_BACKSLASH2) PORT_CHAR('\xA3')
|
||||
|
||||
PORT_START( "ROW7" )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("RUN STOP") PORT_CODE(KEYCODE_HOME)
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_Q) PORT_CHAR('Q')
|
||||
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("CBM") PORT_CODE(KEYCODE_LALT)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_SPACE) PORT_CHAR(' ')
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_2) PORT_CHAR('2') PORT_CHAR('"')
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_TAB) PORT_CHAR(UCHAR_SHIFT_2)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("\xE2\x86\x90") PORT_CODE(KEYCODE_TILDE) PORT_CHAR(0x2190)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_1) PORT_CHAR('1') PORT_CHAR('!')
|
||||
PORT_START("FUNCT")
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("ESC") PORT_CODE(KEYCODE_F1)
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("F13 F14") PORT_CODE(KEYCODE_F11)
|
||||
@ -131,10 +206,104 @@ static INPUT_PORTS_START( c65 )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("TAB") PORT_CODE(KEYCODE_TAB)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("NO SCRL") PORT_CODE(KEYCODE_F4)
|
||||
|
||||
PORT_INCLUDE( c65_special ) /* SPECIAL */
|
||||
PORT_START( "SPECIAL" ) /* special keys */
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Restore") PORT_CODE(KEYCODE_PRTSCR)
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Shift Lock (switch)") PORT_CODE(KEYCODE_CAPSLOCK) PORT_TOGGLE PORT_CHAR(UCHAR_MAMEKEY(CAPSLOCK))
|
||||
PORT_CONFNAME( 0x20, 0x00, "(C65) Caps Lock (switch)") PORT_CODE(KEYCODE_F3)
|
||||
PORT_CONFSETTING( 0x00, DEF_STR( Off ) )
|
||||
PORT_CONFSETTING( 0x20, DEF_STR( On ) )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
|
||||
PORT_INCLUDE( c64_controls ) /* CTRLSEL, JOY0, JOY1, PADDLE0 -> PADDLE3, TRACKX, TRACKY, LIGHTX, LIGHTY, OTHER */
|
||||
INPUT_PORTS_END
|
||||
PORT_START("CTRLSEL") /* Controller selection */
|
||||
PORT_CONFNAME( 0x07, 0x00, "Gameport A" )
|
||||
PORT_CONFSETTING( 0x00, DEF_STR( Joystick ) )
|
||||
PORT_CONFSETTING( 0x01, "Paddles 1 & 2" )
|
||||
PORT_CONFSETTING( 0x02, "Mouse 1351" )
|
||||
PORT_CONFSETTING( 0x03, "Mouse (Non Proportional) 1350" )
|
||||
PORT_CONFSETTING( 0x04, "Lightpen" )
|
||||
// PORT_CONFSETTING( 0x05, "Koala Pad" )
|
||||
PORT_CONFSETTING( 0x06, "Lightgun" )
|
||||
PORT_CONFSETTING( 0x07, "No Device Connected" )
|
||||
PORT_CONFNAME( 0x70, 0x00, "Gameport B" )
|
||||
PORT_CONFSETTING( 0x00, DEF_STR( Joystick ) )
|
||||
PORT_CONFSETTING( 0x10, "Paddles 3 & 4" )
|
||||
// PORT_CONFSETTING( 0x20, "Mouse 1351" )
|
||||
// PORT_CONFSETTING( 0x30, "Mouse (Non Proportional) 1350" )
|
||||
PORT_CONFSETTING( 0x70, "No Device Connected" )
|
||||
PORT_CONFNAME( 0x80, 0x00, "Swap Gameport A and B") PORT_CODE(KEYCODE_F1) PORT_TOGGLE
|
||||
PORT_CONFSETTING( 0x00, DEF_STR( No ) )
|
||||
PORT_CONFSETTING( 0x80, DEF_STR( Yes ) )
|
||||
|
||||
PORT_START("JOY1_1B")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(1) PORT_CONDITION("CTRLSEL", 0x0f, EQUALS, 0x00)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(1) PORT_CONDITION("CTRLSEL", 0x0f, EQUALS, 0x00)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(1) PORT_CONDITION("CTRLSEL", 0x0f, EQUALS, 0x00)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(1) PORT_CONDITION("CTRLSEL", 0x0f, EQUALS, 0x00)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(1) PORT_CONDITION("CTRLSEL", 0x0f, EQUALS, 0x00)
|
||||
PORT_BIT( 0xe0, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
|
||||
PORT_START("JOY2_1B")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(2) PORT_CODE(KEYCODE_HOME) PORT_CODE(JOYCODE_Y_UP_SWITCH) PORT_CONDITION("CTRLSEL", 0xf0, EQUALS, 0x00)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(2) PORT_CODE(KEYCODE_END) PORT_CODE(JOYCODE_Y_DOWN_SWITCH) PORT_CONDITION("CTRLSEL", 0xf0, EQUALS, 0x00)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(2) PORT_CODE(KEYCODE_DEL) PORT_CODE(JOYCODE_X_LEFT_SWITCH) PORT_CONDITION("CTRLSEL", 0xf0, EQUALS, 0x00)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(2) PORT_CODE(KEYCODE_PGDN) PORT_CODE(JOYCODE_X_RIGHT_SWITCH) PORT_CONDITION("CTRLSEL", 0xf0, EQUALS, 0x00)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(2) PORT_CODE(KEYCODE_INSERT) PORT_CODE(JOYCODE_BUTTON1) PORT_CONDITION("CTRLSEL", 0xf0, EQUALS, 0x00)
|
||||
PORT_BIT( 0xe0, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
|
||||
/* Mouse Commodore 1350 was basically working as a Joystick */
|
||||
PORT_START("JOY1_2B")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(1) PORT_NAME("Mouse 1350 Up") PORT_CONDITION("CTRLSEL", 0x0f, EQUALS, 0x03)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(1) PORT_NAME("Mouse 1350 Down") PORT_CONDITION("CTRLSEL", 0x0f, EQUALS, 0x03)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(1) PORT_NAME("Mouse 1350 Left") PORT_CONDITION("CTRLSEL", 0x0f, EQUALS, 0x03)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(1) PORT_NAME("Mouse 1350 Right") PORT_CONDITION("CTRLSEL", 0x0f, EQUALS, 0x03)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(1) PORT_NAME("Mouse 1350 Button 1") PORT_CONDITION("CTRLSEL", 0x0f, EQUALS, 0x03)
|
||||
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_PLAYER(1) PORT_NAME("Mouse 1350 Button 2") PORT_CONDITION("CTRLSEL", 0x0f, EQUALS, 0x03)
|
||||
PORT_BIT( 0xc0, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
|
||||
/* Still to verify how many mices you were able to plug into a c64 */
|
||||
/* Only one, for now */
|
||||
PORT_START("JOY2_2B")
|
||||
PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
/* PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(2) PORT_CODE(KEYCODE_HOME) PORT_CODE(JOYCODE_Y_UP_SWITCH)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(2) PORT_CODE(KEYCODE_END) PORT_CODE(JOYCODE_Y_DOWN_SWITCH) PORT_CONDITION("CTRLSEL", 0xf0, EQUALS, 0x30)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(2) PORT_CODE(KEYCODE_DEL) PORT_CODE(JOYCODE_X_LEFT_SWITCH) PORT_CONDITION("CTRLSEL", 0xf0, EQUALS, 0x30)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(2) PORT_CODE(KEYCODE_PGDN) PORT_CODE(JOYCODE_X_RIGHT_SWITCH) PORT_CONDITION("CTRLSEL", 0xf0, EQUALS, 0x30)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(2) PORT_CODE(KEYCODE_INSERT) PORT_CODE(JOYCODE_BUTTON1) PORT_CONDITION("CTRLSEL", 0xf0, EQUALS, 0x30)
|
||||
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_PLAYER(2) PORT_CODE(KEYCODE_PGUP) PORT_CODE(JOYCODE_BUTTON2) PORT_CONDITION("CTRLSEL", 0xf0, EQUALS, 0x30)
|
||||
PORT_BIT( 0xc0, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
*/
|
||||
PORT_START("PADDLE1")
|
||||
PORT_BIT( 0xff, 128, IPT_PADDLE) PORT_SENSITIVITY(30) PORT_KEYDELTA(20) PORT_MINMAX(0,255) PORT_CENTERDELTA(0) PORT_CODE_DEC(KEYCODE_LEFT) PORT_CODE_INC(KEYCODE_RIGHT) PORT_CODE_DEC(JOYCODE_X_LEFT_SWITCH) PORT_CODE_INC(JOYCODE_X_RIGHT_SWITCH) PORT_PLAYER(1) PORT_REVERSE PORT_CONDITION("CTRLSEL", 0x0f, EQUALS, 0x01)
|
||||
|
||||
PORT_START("PADDLE2")
|
||||
PORT_BIT( 0xff, 128, IPT_PADDLE) PORT_SENSITIVITY(30) PORT_KEYDELTA(20) PORT_MINMAX(0,255) PORT_CENTERDELTA(0) PORT_CODE_DEC(KEYCODE_DOWN) PORT_CODE_INC(KEYCODE_UP) PORT_CODE_DEC(JOYCODE_Y_UP_SWITCH) PORT_CODE_INC(JOYCODE_Y_DOWN_SWITCH) PORT_PLAYER(2) PORT_REVERSE PORT_CONDITION("CTRLSEL", 0x0f, EQUALS, 0x01)
|
||||
|
||||
PORT_START("PADDLE3")
|
||||
PORT_BIT( 0xff, 128, IPT_PADDLE) PORT_SENSITIVITY(30) PORT_KEYDELTA(20) PORT_MINMAX(0,255) PORT_CENTERDELTA(0) PORT_CODE_DEC(KEYCODE_HOME) PORT_CODE_INC(KEYCODE_PGUP) PORT_PLAYER(3) PORT_REVERSE PORT_CONDITION("CTRLSEL", 0xf0, EQUALS, 0x10)
|
||||
|
||||
PORT_START("PADDLE4")
|
||||
PORT_BIT( 0xff, 128, IPT_PADDLE) PORT_SENSITIVITY(30) PORT_KEYDELTA(20) PORT_MINMAX(0,255) PORT_CENTERDELTA(0) PORT_CODE_DEC(KEYCODE_END) PORT_CODE_INC(KEYCODE_PGDN) PORT_PLAYER(4) PORT_REVERSE PORT_CONDITION("CTRLSEL", 0xf0, EQUALS, 0x10)
|
||||
|
||||
PORT_START("TRACKX")
|
||||
PORT_BIT( 0x7e, 0x00, IPT_TRACKBALL_X) PORT_SENSITIVITY(100) PORT_KEYDELTA(0) PORT_PLAYER(1) PORT_CONDITION("CTRLSEL", 0x0f, EQUALS, 0x02)
|
||||
|
||||
PORT_START("TRACKY")
|
||||
PORT_BIT( 0x7e, 0x00, IPT_TRACKBALL_Y) PORT_SENSITIVITY(100) PORT_KEYDELTA(0) PORT_PLAYER(1) PORT_REVERSE PORT_CONDITION("CTRLSEL", 0x0f, EQUALS, 0x02)
|
||||
|
||||
PORT_START("LIGHTX")
|
||||
PORT_BIT( 0xff, 0x00, IPT_TRACKBALL_X) PORT_NAME("Lightpen X Axis") PORT_CROSSHAIR(X, 1.0, 0.0, 0) PORT_SENSITIVITY(30) PORT_KEYDELTA(20) PORT_PLAYER(1) PORT_CONDITION("CTRLSEL", 0x0f, EQUALS, 0x04)
|
||||
|
||||
PORT_START("LIGHTY")
|
||||
PORT_BIT( 0xff, 0x00, IPT_TRACKBALL_Y) PORT_NAME("Lightpen Y Axis") PORT_CROSSHAIR(Y, 1.0, 0.0, 0) PORT_SENSITIVITY(30) PORT_KEYDELTA(20) PORT_PLAYER(1) PORT_CONDITION("CTRLSEL", 0x0f, EQUALS, 0x04)
|
||||
|
||||
PORT_START("OTHER")
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_BUTTON1) PORT_NAME("Paddle 1 Button") PORT_CODE(KEYCODE_LCONTROL) PORT_CODE(JOYCODE_BUTTON1) PORT_CONDITION("CTRLSEL", 0x0f, EQUALS, 0x01)
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_BUTTON2) PORT_NAME("Paddle 2 Button") PORT_CODE(KEYCODE_LALT) PORT_CODE(JOYCODE_BUTTON2) PORT_CONDITION("CTRLSEL", 0x0f, EQUALS, 0x01)
|
||||
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON3) PORT_NAME("Paddle 3 Button") PORT_CODE(KEYCODE_INSERT) PORT_CODE(JOYCODE_BUTTON1) PORT_CONDITION("CTRLSEL", 0xf0, EQUALS, 0x10)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON4) PORT_NAME("Paddle 4 Button") PORT_CODE(KEYCODE_DEL) PORT_CODE(JOYCODE_BUTTON2) PORT_CONDITION("CTRLSEL", 0xf0, EQUALS, 0x10)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON1) PORT_NAME("Lightpen Signal") PORT_CODE(KEYCODE_LCONTROL) PORT_CONDITION("CTRLSEL", 0x0f, EQUALS, 0x04)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON1) PORT_NAME("Mouse Button Left") PORT_CODE(KEYCODE_LCONTROL) PORT_CODE(JOYCODE_BUTTON1) PORT_CONDITION("CTRLSEL", 0x0f, EQUALS, 0x02)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON2) PORT_NAME("Mouse Button Right") PORT_CODE(KEYCODE_LALT) PORT_CODE(JOYCODE_BUTTON2) PORT_CONDITION("CTRLSEL", 0x0f, EQUALS, 0x02)INPUT_PORTS_END
|
||||
|
||||
|
||||
static INPUT_PORTS_START( c65ger )
|
||||
|
@ -1269,6 +1269,15 @@ static MC6845_INTERFACE( cbm8296_crtc_intf )
|
||||
};
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// SLOT_INTERFACE( cbm8296d_ieee488_devices )
|
||||
//-------------------------------------------------
|
||||
|
||||
SLOT_INTERFACE_START( cbm8296d_ieee488_devices )
|
||||
SLOT_INTERFACE("c8250lp", C8250LP)
|
||||
SLOT_INTERFACE_END
|
||||
|
||||
|
||||
|
||||
//**************************************************************************
|
||||
// MACHINE INITIALIZATION
|
||||
|
@ -654,6 +654,16 @@ WRITE_LINE_MEMBER( plus4_state::exp_irq_w )
|
||||
}
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// SLOT_INTERFACE( cbm_datassette_devices )
|
||||
//-------------------------------------------------
|
||||
|
||||
SLOT_INTERFACE_START( plus4_datassette_devices )
|
||||
SLOT_INTERFACE("c1531", C1531)
|
||||
SLOT_INTERFACE("diag264", DIAG264_CASSETTE_LOOPBACK)
|
||||
SLOT_INTERFACE_END
|
||||
|
||||
|
||||
|
||||
//**************************************************************************
|
||||
// MACHINE INITIALIZATION
|
||||
|
@ -114,7 +114,6 @@ Interrupts:
|
||||
#include "imagedev/cartslot.h"
|
||||
#include "formats/primoptp.h"
|
||||
#include "machine/cbmiec.h"
|
||||
#include "machine/cbmipt.h"
|
||||
|
||||
static ADDRESS_MAP_START( primoa_port, AS_IO, 8, primo_state )
|
||||
ADDRESS_MAP_GLOBAL_MASK(0xff)
|
||||
|
@ -9,7 +9,6 @@
|
||||
#include "machine/c64/exp.h"
|
||||
#include "machine/c64/user.h"
|
||||
#include "machine/cbmiec.h"
|
||||
#include "machine/cbmipt.h"
|
||||
#include "machine/mos6526.h"
|
||||
#include "machine/mos8722.h"
|
||||
#include "machine/petcass.h"
|
||||
|
@ -9,7 +9,6 @@
|
||||
#include "machine/c64/exp.h"
|
||||
#include "machine/c64/user.h"
|
||||
#include "machine/cbmiec.h"
|
||||
#include "machine/cbmipt.h"
|
||||
#include "machine/mos6526.h"
|
||||
#include "machine/petcass.h"
|
||||
#include "machine/pla.h"
|
||||
|
@ -1,34 +0,0 @@
|
||||
/*****************************************************************************
|
||||
*
|
||||
* includes/cbm.h
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
#ifndef CBM_H_
|
||||
#define CBM_H_
|
||||
|
||||
#include "imagedev/cassette.h"
|
||||
|
||||
|
||||
/* global header file for c16, c64, c65, c128, vc20 */
|
||||
|
||||
/*----------- defined in machine/cbm.c -----------*/
|
||||
|
||||
/* keyboard lines */
|
||||
extern UINT8 c64_keyline[10];
|
||||
void cbm_common_init(void);
|
||||
void cbm_common_interrupt( device_t *device );
|
||||
|
||||
UINT8 cbm_common_cia0_port_a_r( device_t *device, UINT8 output_b );
|
||||
UINT8 cbm_common_cia0_port_b_r( device_t *device, UINT8 output_a );
|
||||
|
||||
/***********************************************
|
||||
|
||||
CBM Datasette Tapes
|
||||
|
||||
***********************************************/
|
||||
|
||||
extern const cassette_interface cbm_cassette_interface;
|
||||
|
||||
|
||||
#endif /* CBM_H_ */
|
@ -7,11 +7,9 @@
|
||||
#include "cpu/m6502/m6509.h"
|
||||
#include "cpu/i86/i86.h"
|
||||
#include "machine/cbm_snqk.h"
|
||||
#include "includes/cbm.h"
|
||||
#include "machine/6525tpi.h"
|
||||
#include "machine/cbm2exp.h"
|
||||
#include "machine/cbm2user.h"
|
||||
#include "machine/cbmipt.h"
|
||||
#include "machine/ds75160a.h"
|
||||
#include "machine/ds75161a.h"
|
||||
#include "machine/ieee488.h"
|
||||
|
@ -5,10 +5,10 @@
|
||||
|
||||
#include "emu.h"
|
||||
#include "cpu/m6502/m6502.h"
|
||||
#include "imagedev/cartslot.h"
|
||||
#include "machine/6522via.h"
|
||||
#include "machine/6821pia.h"
|
||||
#include "machine/cbm_snqk.h"
|
||||
#include "machine/cbmipt.h"
|
||||
#include "machine/ieee488.h"
|
||||
#include "machine/petcass.h"
|
||||
#include "machine/petexp.h"
|
||||
|
@ -7,7 +7,6 @@
|
||||
#include "cpu/m6502/m7501.h"
|
||||
#include "machine/cbm_snqk.h"
|
||||
#include "machine/cbmiec.h"
|
||||
#include "machine/cbmipt.h"
|
||||
#include "machine/mos6529.h"
|
||||
#include "machine/mos6551.h"
|
||||
#include "machine/mos8706.h"
|
||||
|
@ -7,7 +7,6 @@
|
||||
#include "cpu/z80/z80.h"
|
||||
#include "imagedev/harddriv.h"
|
||||
#include "includes/corvushd.h"
|
||||
#include "machine/cbmipt.h"
|
||||
#include "machine/com8116.h"
|
||||
#include "machine/i8251.h"
|
||||
#include "machine/i8255.h"
|
||||
|
@ -5,10 +5,10 @@
|
||||
|
||||
#include "emu.h"
|
||||
#include "cpu/m6502/m6510.h"
|
||||
#include "machine/cbmipt.h"
|
||||
#include "machine/mos6526.h"
|
||||
#include "machine/petcass.h"
|
||||
#include "machine/ram.h"
|
||||
#include "machine/vic10exp.h"
|
||||
#include "machine/vcsctrl.h"
|
||||
#include "sound/dac.h"
|
||||
#include "sound/mos6581.h"
|
||||
|
@ -5,13 +5,11 @@
|
||||
|
||||
|
||||
#include "emu.h"
|
||||
#include "includes/cbm.h"
|
||||
#include "machine/cbm_snqk.h"
|
||||
#include "cpu/m6502/m6510.h"
|
||||
#include "imagedev/cartslot.h"
|
||||
#include "machine/6522via.h"
|
||||
#include "machine/cbmiec.h"
|
||||
#include "machine/cbmipt.h"
|
||||
#include "machine/ieee488.h"
|
||||
#include "machine/petcass.h"
|
||||
#include "machine/ram.h"
|
||||
|
@ -22,7 +22,6 @@
|
||||
#include "machine/6821pia.h"
|
||||
#include "machine/c64/bn1541.h"
|
||||
#include "machine/cbmiec.h"
|
||||
#include "machine/cbmipt.h"
|
||||
#include "machine/ctronics.h"
|
||||
|
||||
|
||||
|
@ -21,7 +21,6 @@
|
||||
#include "machine/64h156.h"
|
||||
#include "machine/6525tpi.h"
|
||||
#include "machine/c1541.h"
|
||||
#include "machine/cbmipt.h"
|
||||
#include "machine/pla.h"
|
||||
#include "machine/plus4exp.h"
|
||||
|
||||
|
@ -21,7 +21,6 @@
|
||||
#include "machine/6522via.h"
|
||||
#include "machine/c64/bn1541.h"
|
||||
#include "machine/cbmiec.h"
|
||||
#include "machine/cbmipt.h"
|
||||
#include "machine/isa.h"
|
||||
#include "machine/mos6526.h"
|
||||
#include "machine/wd_fdc.h"
|
||||
|
@ -16,7 +16,6 @@
|
||||
#include "cpu/m6502/m6502.h"
|
||||
#include "formats/d81_dsk.h"
|
||||
#include "machine/cbmiec.h"
|
||||
#include "machine/cbmipt.h"
|
||||
#include "machine/mos6526.h"
|
||||
#include "machine/wd_fdc.h"
|
||||
|
||||
|
@ -7,8 +7,6 @@
|
||||
|
||||
**********************************************************************/
|
||||
|
||||
|
||||
#include "c1541.h"
|
||||
#include "c2031.h"
|
||||
|
||||
|
||||
|
@ -12,15 +12,12 @@
|
||||
#ifndef __C2031__
|
||||
#define __C2031__
|
||||
|
||||
|
||||
#include "emu.h"
|
||||
#include "cpu/m6502/m6502.h"
|
||||
#include "imagedev/flopdrv.h"
|
||||
#include "formats/d64_dsk.h"
|
||||
#include "formats/g64_dsk.h"
|
||||
#include "machine/64h156.h"
|
||||
#include "machine/6522via.h"
|
||||
#include "machine/cbmipt.h"
|
||||
#include "machine/c1541.h"
|
||||
#include "machine/ieee488.h"
|
||||
|
||||
|
||||
|
@ -12,7 +12,6 @@
|
||||
#ifndef __C2040__
|
||||
#define __C2040__
|
||||
|
||||
|
||||
#include "emu.h"
|
||||
#include "cpu/m6502/m6502.h"
|
||||
#include "cpu/m6502/m6504.h"
|
||||
@ -21,9 +20,8 @@
|
||||
#include "formats/g64_dsk.h"
|
||||
#include "machine/6522via.h"
|
||||
#include "machine/6532riot.h"
|
||||
#include "machine/cbmipt.h"
|
||||
#include "machine/mos6530.h"
|
||||
#include "machine/ieee488.h"
|
||||
#include "machine/mos6530.h"
|
||||
|
||||
|
||||
|
||||
|
@ -375,3 +375,78 @@ int c64_expansion_slot_device::exrom_r(offs_t offset, int sphi2, int ba, int rw,
|
||||
|
||||
return state;
|
||||
}
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// SLOT_INTERFACE( c64_expansion_cards )
|
||||
//-------------------------------------------------
|
||||
|
||||
SLOT_INTERFACE_START( c64_expansion_cards )
|
||||
SLOT_INTERFACE("16k", C64_16KB)
|
||||
SLOT_INTERFACE("cpm", C64_CPM)
|
||||
SLOT_INTERFACE("dqbb", C64_DQBB)
|
||||
SLOT_INTERFACE("easyflash", C64_EASYFLASH)
|
||||
SLOT_INTERFACE("georam", C64_GEORAM)
|
||||
SLOT_INTERFACE("ide64", C64_IDE64)
|
||||
SLOT_INTERFACE("midimap", C64_MIDI_MAPLIN)
|
||||
SLOT_INTERFACE("midins", C64_MIDI_NAMESOFT)
|
||||
SLOT_INTERFACE("midipp", C64_MIDI_PASSPORT)
|
||||
SLOT_INTERFACE("midisci", C64_MIDI_SCI)
|
||||
SLOT_INTERFACE("midisiel", C64_MIDI_SIEL)
|
||||
SLOT_INTERFACE("music64", C64_MUSIC64)
|
||||
SLOT_INTERFACE("neoram", C64_NEORAM)
|
||||
SLOT_INTERFACE("reu1700", C64_REU1700)
|
||||
SLOT_INTERFACE("reu1750", C64_REU1750)
|
||||
SLOT_INTERFACE("reu1764", C64_REU1764)
|
||||
SLOT_INTERFACE("sfxse", C64_SFX_SOUND_EXPANDER)
|
||||
SLOT_INTERFACE("supercpu", C64_SUPERCPU)
|
||||
SLOT_INTERFACE("swiftlink", C64_SWIFTLINK)
|
||||
SLOT_INTERFACE("turbo232", C64_TURBO232)
|
||||
|
||||
// the following need ROMs from the software list
|
||||
SLOT_INTERFACE_INTERNAL("standard", C64_STD)
|
||||
SLOT_INTERFACE_INTERNAL("comal80", C64_COMAL80)
|
||||
SLOT_INTERFACE_INTERNAL("c128_comal80", C128_COMAL80)
|
||||
SLOT_INTERFACE_INTERNAL("cs64", C64_CURRAH_SPEECH)
|
||||
SLOT_INTERFACE_INTERNAL("dela_ep256", C64_DELA_EP256)
|
||||
SLOT_INTERFACE_INTERNAL("ep64", C64_DELA_EP64)
|
||||
SLOT_INTERFACE_INTERNAL("ep7x8", C64_DELA_EP7X8)
|
||||
SLOT_INTERFACE_INTERNAL("dinamic", C64_DINAMIC)
|
||||
SLOT_INTERFACE_INTERNAL("easycalcres", C64_EASY_CALC_RESULT)
|
||||
SLOT_INTERFACE_INTERNAL("epyxfastload", C64_EPYX_FAST_LOAD)
|
||||
SLOT_INTERFACE_INTERNAL("exos", C64_EXOS)
|
||||
SLOT_INTERFACE_INTERNAL("fcc", C64_FCC)
|
||||
SLOT_INTERFACE_INTERNAL("final", C64_FINAL)
|
||||
SLOT_INTERFACE_INTERNAL("final3", C64_FINAL3)
|
||||
SLOT_INTERFACE_INTERNAL("fun_play", C64_FUN_PLAY)
|
||||
SLOT_INTERFACE_INTERNAL("ieee488", C64_IEEE488)
|
||||
SLOT_INTERFACE_INTERNAL("kingsoft", C64_KINGSOFT)
|
||||
SLOT_INTERFACE_INTERNAL("mach5", C64_MACH5)
|
||||
SLOT_INTERFACE_INTERNAL("magic_desk", C64_MAGIC_DESK)
|
||||
SLOT_INTERFACE_INTERNAL("magic_formel", C64_MAGIC_FORMEL)
|
||||
SLOT_INTERFACE_INTERNAL("magic_voice", C64_MAGIC_VOICE)
|
||||
SLOT_INTERFACE_INTERNAL("mikroasm", C64_MIKRO_ASSEMBLER)
|
||||
SLOT_INTERFACE_INTERNAL("multiscreen", C64_MULTISCREEN)
|
||||
SLOT_INTERFACE_INTERNAL("ocean", C64_OCEAN)
|
||||
SLOT_INTERFACE_INTERNAL("pagefox", C64_PAGEFOX)
|
||||
SLOT_INTERFACE_INTERNAL("prophet64", C64_PROPHET64)
|
||||
SLOT_INTERFACE_INTERNAL("ps64", C64_PS64)
|
||||
SLOT_INTERFACE_INTERNAL("rex", C64_REX)
|
||||
SLOT_INTERFACE_INTERNAL("rex_ep256", C64_REX_EP256)
|
||||
SLOT_INTERFACE_INTERNAL("ross", C64_ROSS)
|
||||
SLOT_INTERFACE_INTERNAL("silverrock", C64_SILVERROCK)
|
||||
SLOT_INTERFACE_INTERNAL("simons_basic", C64_SIMONS_BASIC)
|
||||
SLOT_INTERFACE_INTERNAL("stardos", C64_STARDOS)
|
||||
SLOT_INTERFACE_INTERNAL("struct_basic", C64_STRUCTURED_BASIC)
|
||||
SLOT_INTERFACE_INTERNAL("super_explode", C64_SUPER_EXPLODE)
|
||||
SLOT_INTERFACE_INTERNAL("super_games", C64_SUPER_GAMES)
|
||||
SLOT_INTERFACE_INTERNAL("sw8k", C64_SW8K)
|
||||
SLOT_INTERFACE_INTERNAL("system3", C64_SYSTEM3)
|
||||
SLOT_INTERFACE_INTERNAL("tdos", C64_TDOS)
|
||||
SLOT_INTERFACE_INTERNAL("vizastar", C64_VIZASTAR)
|
||||
SLOT_INTERFACE_INTERNAL("vizawrite", C64_VW64)
|
||||
SLOT_INTERFACE_INTERNAL("warp_speed", C64_WARP_SPEED)
|
||||
SLOT_INTERFACE_INTERNAL("westermann", C64_WESTERMANN)
|
||||
SLOT_INTERFACE_INTERNAL("zaxxon", C64_ZAXXON)
|
||||
SLOT_INTERFACE_INTERNAL("xl80", C64_XL80)
|
||||
SLOT_INTERFACE_END
|
||||
|
@ -198,5 +198,73 @@ protected:
|
||||
extern const device_type C64_EXPANSION_SLOT;
|
||||
|
||||
|
||||
// slot devices
|
||||
#include "machine/c64/16kb.h"
|
||||
#include "machine/c64/comal80.h"
|
||||
#include "machine/c64/cpm.h"
|
||||
#include "machine/c64/currah_speech.h"
|
||||
#include "machine/c64/dela_ep256.h"
|
||||
#include "machine/c64/dela_ep64.h"
|
||||
#include "machine/c64/dela_ep7x8.h"
|
||||
#include "machine/c64/dinamic.h"
|
||||
#include "machine/c64/dqbb.h"
|
||||
#include "machine/c64/easy_calc_result.h"
|
||||
#include "machine/c64/easyflash.h"
|
||||
#include "machine/c64/epyx_fast_load.h"
|
||||
#include "machine/c64/exos.h"
|
||||
#include "machine/c64/fcc.h"
|
||||
#include "machine/c64/final.h"
|
||||
#include "machine/c64/final3.h"
|
||||
#include "machine/c64/fun_play.h"
|
||||
#include "machine/c64/georam.h"
|
||||
#include "machine/c64/ide64.h"
|
||||
#include "machine/c64/ieee488.h"
|
||||
#include "machine/c64/kingsoft.h"
|
||||
#include "machine/c64/mach5.h"
|
||||
#include "machine/c64/magic_desk.h"
|
||||
#include "machine/c64/magic_formel.h"
|
||||
#include "machine/c64/magic_voice.h"
|
||||
#include "machine/c64/midi_maplin.h"
|
||||
#include "machine/c64/midi_namesoft.h"
|
||||
#include "machine/c64/midi_passport.h"
|
||||
#include "machine/c64/midi_sci.h"
|
||||
#include "machine/c64/midi_siel.h"
|
||||
#include "machine/c64/mikro_assembler.h"
|
||||
#include "machine/c64/multiscreen.h"
|
||||
#include "machine/c64/music64.h"
|
||||
#include "machine/c64/neoram.h"
|
||||
#include "machine/c64/ocean.h"
|
||||
#include "machine/c64/pagefox.h"
|
||||
#include "machine/c64/prophet64.h"
|
||||
#include "machine/c64/ps64.h"
|
||||
#include "machine/c64/reu.h"
|
||||
#include "machine/c64/rex.h"
|
||||
#include "machine/c64/rex_ep256.h"
|
||||
#include "machine/c64/ross.h"
|
||||
#include "machine/c64/sfx_sound_expander.h"
|
||||
#include "machine/c64/silverrock.h"
|
||||
#include "machine/c64/simons_basic.h"
|
||||
#include "machine/c64/stardos.h"
|
||||
#include "machine/c64/std.h"
|
||||
#include "machine/c64/structured_basic.h"
|
||||
#include "machine/c64/super_explode.h"
|
||||
#include "machine/c64/super_games.h"
|
||||
#include "machine/c64/supercpu.h"
|
||||
#include "machine/c64/sw8k.h"
|
||||
#include "machine/c64/swiftlink.h"
|
||||
#include "machine/c64/system3.h"
|
||||
#include "machine/c64/tdos.h"
|
||||
#include "machine/c64/turbo232.h"
|
||||
#include "machine/c64/vizastar.h"
|
||||
#include "machine/c64/vw64.h"
|
||||
#include "machine/c64/warp_speed.h"
|
||||
#include "machine/c64/westermann.h"
|
||||
#include "machine/c64/xl80.h"
|
||||
#include "machine/c64/zaxxon.h"
|
||||
#include "machine/c128_comal80.h"
|
||||
|
||||
SLOT_INTERFACE_EXTERN( c64_expansion_cards );
|
||||
|
||||
|
||||
|
||||
#endif
|
||||
|
@ -16,7 +16,6 @@
|
||||
#include "emu.h"
|
||||
#include "machine/6525tpi.h"
|
||||
#include "machine/c64/exp.h"
|
||||
#include "machine/cbmipt.h"
|
||||
#include "machine/ieee488.h"
|
||||
#include "video/mc6845.h"
|
||||
|
||||
|
@ -16,7 +16,6 @@
|
||||
#include "machine/40105.h"
|
||||
#include "machine/6525tpi.h"
|
||||
#include "machine/c64/exp.h"
|
||||
#include "machine/cbmipt.h"
|
||||
#include "sound/t6721a.h"
|
||||
|
||||
|
||||
|
@ -14,7 +14,6 @@
|
||||
|
||||
#include "emu.h"
|
||||
#include "machine/c64/exp.h"
|
||||
#include "machine/cbmipt.h"
|
||||
|
||||
|
||||
|
||||
|
@ -14,7 +14,6 @@
|
||||
|
||||
#include "emu.h"
|
||||
#include "machine/c64/exp.h"
|
||||
#include "machine/cbmipt.h"
|
||||
#include "sound/3526intf.h"
|
||||
|
||||
|
||||
|
@ -14,7 +14,6 @@
|
||||
|
||||
#include "emu.h"
|
||||
#include "machine/c64/exp.h"
|
||||
#include "machine/cbmipt.h"
|
||||
#include "cpu/g65816/g65816.h"
|
||||
|
||||
|
||||
|
@ -14,7 +14,6 @@
|
||||
|
||||
#include "emu.h"
|
||||
#include "machine/c64/exp.h"
|
||||
#include "machine/cbmipt.h"
|
||||
#include "machine/mc6852.h"
|
||||
|
||||
|
||||
|
@ -106,3 +106,18 @@ WRITE_LINE_MEMBER( c64_user_port_device::cnt1_w ) { if (m_card != NULL) m_card->
|
||||
WRITE_LINE_MEMBER( c64_user_port_device::sp1_w ) { if (m_card != NULL) m_card->c64_sp1_w(state); }
|
||||
WRITE_LINE_MEMBER( c64_user_port_device::cnt2_w ) { if (m_card != NULL) m_card->c64_cnt2_w(state); }
|
||||
WRITE_LINE_MEMBER( c64_user_port_device::sp2_w ) { if (m_card != NULL) m_card->c64_sp2_w(state); }
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// SLOT_INTERFACE( c64_user_port_cards )
|
||||
//-------------------------------------------------
|
||||
|
||||
SLOT_INTERFACE_START( c64_user_port_cards )
|
||||
SLOT_INTERFACE("4cga", C64_4CGA)
|
||||
SLOT_INTERFACE("4dxh", C64_4DXH)
|
||||
SLOT_INTERFACE("4ksa", C64_4KSA)
|
||||
SLOT_INTERFACE("4tba", C64_4TBA)
|
||||
SLOT_INTERFACE("bn1541", C64_BN1541)
|
||||
SLOT_INTERFACE("geocable", C64_GEOCABLE)
|
||||
SLOT_INTERFACE("rs232", C64_VIC1011)
|
||||
SLOT_INTERFACE_END
|
||||
|
@ -152,5 +152,17 @@ protected:
|
||||
extern const device_type C64_USER_PORT;
|
||||
|
||||
|
||||
// slot devices
|
||||
#include "machine/c64/4cga.h"
|
||||
#include "machine/c64/4dxh.h"
|
||||
#include "machine/c64/4ksa.h"
|
||||
#include "machine/c64/4tba.h"
|
||||
#include "machine/c64/bn1541.h"
|
||||
#include "machine/c64/geocable.h"
|
||||
#include "machine/c64/vic1011.h"
|
||||
|
||||
SLOT_INTERFACE_EXTERN( c64_user_port_cards );
|
||||
|
||||
|
||||
|
||||
#endif
|
||||
|
@ -7,7 +7,6 @@
|
||||
|
||||
#include "emu.h"
|
||||
|
||||
#include "includes/cbm.h"
|
||||
#include "includes/c65.h"
|
||||
#include "cpu/m6502/m4510.h"
|
||||
#include "sound/mos6581.h"
|
||||
@ -15,6 +14,9 @@
|
||||
#include "machine/cbmiec.h"
|
||||
#include "machine/ram.h"
|
||||
#include "video/vic4567.h"
|
||||
#include "imagedev/cassette.h"
|
||||
#include "crsshair.h"
|
||||
#include "formats/cbm_tap.h"
|
||||
|
||||
#define VERBOSE_LEVEL 0
|
||||
#define DBG_LOG( MACHINE, N, M, A ) \
|
||||
@ -29,6 +31,358 @@
|
||||
|
||||
|
||||
|
||||
/***********************************************
|
||||
|
||||
Input Reading - Common Components
|
||||
|
||||
***********************************************/
|
||||
|
||||
/* These are needed by c64, c65 and c128, each machine has also additional specific
|
||||
components in its INTERRUPT_GEN */
|
||||
|
||||
/* keyboard lines */
|
||||
UINT8 c64_keyline[10];
|
||||
|
||||
void cbm_common_init(void)
|
||||
{
|
||||
int i;
|
||||
|
||||
for (i = 0; i < ARRAY_LENGTH(c64_keyline); i++)
|
||||
c64_keyline[i] = 0xff;
|
||||
}
|
||||
|
||||
static TIMER_CALLBACK( lightpen_tick )
|
||||
{
|
||||
if (((machine.root_device().ioport("CTRLSEL")->read() & 0x07) == 0x04) || ((machine.root_device().ioport("CTRLSEL")->read() & 0x07) == 0x06))
|
||||
{
|
||||
/* enable lightpen crosshair */
|
||||
crosshair_set_screen(machine, 0, CROSSHAIR_SCREEN_ALL);
|
||||
}
|
||||
else
|
||||
{
|
||||
/* disable lightpen crosshair */
|
||||
crosshair_set_screen(machine, 0, CROSSHAIR_SCREEN_NONE);
|
||||
}
|
||||
}
|
||||
|
||||
void cbm_common_interrupt( device_t *device )
|
||||
{
|
||||
int value, i;
|
||||
int controller1 = device->machine().root_device().ioport("CTRLSEL")->read() & 0x07;
|
||||
int controller2 = device->machine().root_device().ioport("CTRLSEL")->read() & 0x70;
|
||||
static const char *const c64ports[] = { "ROW0", "ROW1", "ROW2", "ROW3", "ROW4", "ROW5", "ROW6", "ROW7" };
|
||||
|
||||
/* Lines 0-7 : common keyboard */
|
||||
for (i = 0; i < 8; i++)
|
||||
{
|
||||
value = 0xff;
|
||||
value &= ~device->machine().root_device().ioport(c64ports[i])->read();
|
||||
|
||||
/* Shift Lock is mapped on Left Shift */
|
||||
if ((i == 1) && (device->machine().root_device().ioport("SPECIAL")->read() & 0x40))
|
||||
value &= ~0x80;
|
||||
|
||||
c64_keyline[i] = value;
|
||||
}
|
||||
|
||||
|
||||
value = 0xff;
|
||||
switch(controller1)
|
||||
{
|
||||
case 0x00:
|
||||
value &= ~device->machine().root_device().ioport("JOY1_1B")->read(); /* Joy1 Directions + Button 1 */
|
||||
break;
|
||||
|
||||
case 0x01:
|
||||
if (device->machine().root_device().ioport("OTHER")->read() & 0x40) /* Paddle2 Button */
|
||||
value &= ~0x08;
|
||||
if (device->machine().root_device().ioport("OTHER")->read() & 0x80) /* Paddle1 Button */
|
||||
value &= ~0x04;
|
||||
break;
|
||||
|
||||
case 0x02:
|
||||
if (device->machine().root_device().ioport("OTHER")->read() & 0x02) /* Mouse Button Left */
|
||||
value &= ~0x10;
|
||||
if (device->machine().root_device().ioport("OTHER")->read() & 0x01) /* Mouse Button Right */
|
||||
value &= ~0x01;
|
||||
break;
|
||||
|
||||
case 0x03:
|
||||
value &= ~(device->machine().root_device().ioport("JOY1_2B")->read() & 0x1f); /* Joy1 Directions + Button 1 */
|
||||
break;
|
||||
|
||||
case 0x04:
|
||||
/* was there any input on the lightpen? where is it mapped? */
|
||||
// if (device->machine().root_device().ioport("OTHER")->read() & 0x04) /* Lightpen Signal */
|
||||
// value &= ?? ;
|
||||
break;
|
||||
|
||||
case 0x07:
|
||||
break;
|
||||
|
||||
default:
|
||||
logerror("Invalid Controller 1 Setting %d\n", controller1);
|
||||
break;
|
||||
}
|
||||
|
||||
c64_keyline[8] = value;
|
||||
|
||||
|
||||
value = 0xff;
|
||||
switch(controller2)
|
||||
{
|
||||
case 0x00:
|
||||
value &= ~device->machine().root_device().ioport("JOY2_1B")->read(); /* Joy2 Directions + Button 1 */
|
||||
break;
|
||||
|
||||
case 0x10:
|
||||
if (device->machine().root_device().ioport("OTHER")->read() & 0x10) /* Paddle4 Button */
|
||||
value &= ~0x08;
|
||||
if (device->machine().root_device().ioport("OTHER")->read() & 0x20) /* Paddle3 Button */
|
||||
value &= ~0x04;
|
||||
break;
|
||||
|
||||
case 0x20:
|
||||
if (device->machine().root_device().ioport("OTHER")->read() & 0x02) /* Mouse Button Left */
|
||||
value &= ~0x10;
|
||||
if (device->machine().root_device().ioport("OTHER")->read() & 0x01) /* Mouse Button Right */
|
||||
value &= ~0x01;
|
||||
break;
|
||||
|
||||
case 0x30:
|
||||
value &= ~(device->machine().root_device().ioport("JOY2_2B")->read() & 0x1f); /* Joy2 Directions + Button 1 */
|
||||
break;
|
||||
|
||||
case 0x40:
|
||||
/* was there any input on the lightpen? where is it mapped? */
|
||||
// if (device->machine().root_device().ioport("OTHER")->read() & 0x04) /* Lightpen Signal */
|
||||
// value &= ?? ;
|
||||
break;
|
||||
|
||||
case 0x70:
|
||||
break;
|
||||
|
||||
default:
|
||||
logerror("Invalid Controller 2 Setting %d\n", controller2);
|
||||
break;
|
||||
}
|
||||
|
||||
c64_keyline[9] = value;
|
||||
|
||||
// vic2_frame_interrupt does nothing so this is not necessary
|
||||
// vic2_frame_interrupt (device);
|
||||
|
||||
/* check if lightpen has been chosen as input: if so, enable crosshair */
|
||||
device->machine().scheduler().timer_set(attotime::zero, FUNC(lightpen_tick));
|
||||
|
||||
set_led_status (device->machine(), 1, device->machine().root_device().ioport("SPECIAL")->read() & 0x40 ? 1 : 0); /* Shift Lock */
|
||||
set_led_status (device->machine(), 0, device->machine().root_device().ioport("CTRLSEL")->read() & 0x80 ? 1 : 0); /* Joystick Swap */
|
||||
}
|
||||
|
||||
|
||||
/***********************************************
|
||||
|
||||
CIA Common Handlers
|
||||
|
||||
***********************************************/
|
||||
|
||||
/* These are shared by c64, c65 and c128. c65 and c128 also have additional specific
|
||||
components (to select/read additional keyboard lines) */
|
||||
|
||||
/*
|
||||
* CIA 0 - Port A
|
||||
* bits 7-0 keyboard line select
|
||||
* bits 7,6: paddle select( 01 port a, 10 port b)
|
||||
* bit 4: joystick a fire button
|
||||
* bits 3,2: Paddles port a fire button
|
||||
* bits 3-0: joystick a direction
|
||||
*
|
||||
* CIA 0 - Port B
|
||||
* bits 7-0: keyboard raw values
|
||||
* bit 4: joystick b fire button, lightpen select
|
||||
* bits 3,2: paddle b fire buttons (left,right)
|
||||
* bits 3-0: joystick b direction
|
||||
*
|
||||
* flag cassette read input, serial request in
|
||||
* irq to irq connected
|
||||
*/
|
||||
|
||||
UINT8 cbm_common_cia0_port_a_r( device_t *device, UINT8 output_b )
|
||||
{
|
||||
UINT8 value = 0xff;
|
||||
|
||||
if (!(output_b & 0x80))
|
||||
{
|
||||
UINT8 t = 0xff;
|
||||
if (!(c64_keyline[7] & 0x80)) t &= ~0x80;
|
||||
if (!(c64_keyline[6] & 0x80)) t &= ~0x40;
|
||||
if (!(c64_keyline[5] & 0x80)) t &= ~0x20;
|
||||
if (!(c64_keyline[4] & 0x80)) t &= ~0x10;
|
||||
if (!(c64_keyline[3] & 0x80)) t &= ~0x08;
|
||||
if (!(c64_keyline[2] & 0x80)) t &= ~0x04;
|
||||
if (!(c64_keyline[1] & 0x80)) t &= ~0x02;
|
||||
if (!(c64_keyline[0] & 0x80)) t &= ~0x01;
|
||||
value &= t;
|
||||
}
|
||||
|
||||
if (!(output_b & 0x40))
|
||||
{
|
||||
UINT8 t = 0xff;
|
||||
if (!(c64_keyline[7] & 0x40)) t &= ~0x80;
|
||||
if (!(c64_keyline[6] & 0x40)) t &= ~0x40;
|
||||
if (!(c64_keyline[5] & 0x40)) t &= ~0x20;
|
||||
if (!(c64_keyline[4] & 0x40)) t &= ~0x10;
|
||||
if (!(c64_keyline[3] & 0x40)) t &= ~0x08;
|
||||
if (!(c64_keyline[2] & 0x40)) t &= ~0x04;
|
||||
if (!(c64_keyline[1] & 0x40)) t &= ~0x02;
|
||||
if (!(c64_keyline[0] & 0x40)) t &= ~0x01;
|
||||
value &= t;
|
||||
}
|
||||
|
||||
if (!(output_b & 0x20))
|
||||
{
|
||||
UINT8 t = 0xff;
|
||||
if (!(c64_keyline[7] & 0x20)) t &= ~0x80;
|
||||
if (!(c64_keyline[6] & 0x20)) t &= ~0x40;
|
||||
if (!(c64_keyline[5] & 0x20)) t &= ~0x20;
|
||||
if (!(c64_keyline[4] & 0x20)) t &= ~0x10;
|
||||
if (!(c64_keyline[3] & 0x20)) t &= ~0x08;
|
||||
if (!(c64_keyline[2] & 0x20)) t &= ~0x04;
|
||||
if (!(c64_keyline[1] & 0x20)) t &= ~0x02;
|
||||
if (!(c64_keyline[0] & 0x20)) t &= ~0x01;
|
||||
value &= t;
|
||||
}
|
||||
|
||||
if (!(output_b & 0x10))
|
||||
{
|
||||
UINT8 t = 0xff;
|
||||
if (!(c64_keyline[7] & 0x10)) t &= ~0x80;
|
||||
if (!(c64_keyline[6] & 0x10)) t &= ~0x40;
|
||||
if (!(c64_keyline[5] & 0x10)) t &= ~0x20;
|
||||
if (!(c64_keyline[4] & 0x10)) t &= ~0x10;
|
||||
if (!(c64_keyline[3] & 0x10)) t &= ~0x08;
|
||||
if (!(c64_keyline[2] & 0x10)) t &= ~0x04;
|
||||
if (!(c64_keyline[1] & 0x10)) t &= ~0x02;
|
||||
if (!(c64_keyline[0] & 0x10)) t &= ~0x01;
|
||||
value &= t;
|
||||
}
|
||||
|
||||
if (!(output_b & 0x08))
|
||||
{
|
||||
UINT8 t = 0xff;
|
||||
if (!(c64_keyline[7] & 0x08)) t &= ~0x80;
|
||||
if (!(c64_keyline[6] & 0x08)) t &= ~0x40;
|
||||
if (!(c64_keyline[5] & 0x08)) t &= ~0x20;
|
||||
if (!(c64_keyline[4] & 0x08)) t &= ~0x10;
|
||||
if (!(c64_keyline[3] & 0x08)) t &= ~0x08;
|
||||
if (!(c64_keyline[2] & 0x08)) t &= ~0x04;
|
||||
if (!(c64_keyline[1] & 0x08)) t &= ~0x02;
|
||||
if (!(c64_keyline[0] & 0x08)) t &= ~0x01;
|
||||
value &= t;
|
||||
}
|
||||
|
||||
if (!(output_b & 0x04))
|
||||
{
|
||||
UINT8 t = 0xff;
|
||||
if (!(c64_keyline[7] & 0x04)) t &= ~0x80;
|
||||
if (!(c64_keyline[6] & 0x04)) t &= ~0x40;
|
||||
if (!(c64_keyline[5] & 0x04)) t &= ~0x20;
|
||||
if (!(c64_keyline[4] & 0x04)) t &= ~0x10;
|
||||
if (!(c64_keyline[3] & 0x04)) t &= ~0x08;
|
||||
if (!(c64_keyline[2] & 0x04)) t &= ~0x04;
|
||||
if (!(c64_keyline[1] & 0x04)) t &= ~0x02;
|
||||
if (!(c64_keyline[0] & 0x04)) t &= ~0x01;
|
||||
value &= t;
|
||||
}
|
||||
|
||||
if (!(output_b & 0x02))
|
||||
{
|
||||
UINT8 t = 0xff;
|
||||
if (!(c64_keyline[7] & 0x02)) t &= ~0x80;
|
||||
if (!(c64_keyline[6] & 0x02)) t &= ~0x40;
|
||||
if (!(c64_keyline[5] & 0x02)) t &= ~0x20;
|
||||
if (!(c64_keyline[4] & 0x02)) t &= ~0x10;
|
||||
if (!(c64_keyline[3] & 0x02)) t &= ~0x08;
|
||||
if (!(c64_keyline[2] & 0x02)) t &= ~0x04;
|
||||
if (!(c64_keyline[1] & 0x02)) t &= ~0x02;
|
||||
if (!(c64_keyline[0] & 0x02)) t &= ~0x01;
|
||||
value &= t;
|
||||
}
|
||||
|
||||
if (!(output_b & 0x01))
|
||||
{
|
||||
UINT8 t = 0xff;
|
||||
if (!(c64_keyline[7] & 0x01)) t &= ~0x80;
|
||||
if (!(c64_keyline[6] & 0x01)) t &= ~0x40;
|
||||
if (!(c64_keyline[5] & 0x01)) t &= ~0x20;
|
||||
if (!(c64_keyline[4] & 0x01)) t &= ~0x10;
|
||||
if (!(c64_keyline[3] & 0x01)) t &= ~0x08;
|
||||
if (!(c64_keyline[2] & 0x01)) t &= ~0x04;
|
||||
if (!(c64_keyline[1] & 0x01)) t &= ~0x02;
|
||||
if (!(c64_keyline[0] & 0x01)) t &= ~0x01;
|
||||
value &= t;
|
||||
}
|
||||
|
||||
if ( device->machine().root_device().ioport("CTRLSEL")->read() & 0x80 )
|
||||
value &= c64_keyline[8];
|
||||
else
|
||||
value &= c64_keyline[9];
|
||||
|
||||
return value;
|
||||
}
|
||||
|
||||
UINT8 cbm_common_cia0_port_b_r( device_t *device, UINT8 output_a )
|
||||
{
|
||||
UINT8 value = 0xff;
|
||||
|
||||
if (!(output_a & 0x80)) value &= c64_keyline[7];
|
||||
if (!(output_a & 0x40)) value &= c64_keyline[6];
|
||||
if (!(output_a & 0x20)) value &= c64_keyline[5];
|
||||
if (!(output_a & 0x10)) value &= c64_keyline[4];
|
||||
if (!(output_a & 0x08)) value &= c64_keyline[3];
|
||||
if (!(output_a & 0x04)) value &= c64_keyline[2];
|
||||
if (!(output_a & 0x02)) value &= c64_keyline[1];
|
||||
if (!(output_a & 0x01)) value &= c64_keyline[0];
|
||||
|
||||
if ( device->machine().root_device().ioport("CTRLSEL")->read() & 0x80 )
|
||||
value &= c64_keyline[9];
|
||||
else
|
||||
value &= c64_keyline[8];
|
||||
|
||||
return value;
|
||||
}
|
||||
|
||||
|
||||
/***********************************************
|
||||
|
||||
CBM Cartridges
|
||||
|
||||
***********************************************/
|
||||
|
||||
|
||||
/* All the cartridge specific code has been moved
|
||||
to machine/ drivers. Once more informations
|
||||
surface about the cart expansions for systems
|
||||
in c65.c, c128.c, cbmb.c and pet.c, the shared
|
||||
code could be refactored to have here the
|
||||
common functions */
|
||||
|
||||
|
||||
|
||||
/***********************************************
|
||||
|
||||
CBM Datasette Tapes
|
||||
|
||||
***********************************************/
|
||||
|
||||
const cassette_interface cbm_cassette_interface =
|
||||
{
|
||||
cbm_cassette_formats,
|
||||
NULL,
|
||||
(cassette_state) (CASSETTE_STOPPED | CASSETTE_MOTOR_DISABLED | CASSETTE_SPEAKER_ENABLED),
|
||||
NULL,
|
||||
NULL
|
||||
};
|
||||
|
||||
|
||||
/*UINT8 *c65_basic; */
|
||||
|
@ -16,7 +16,6 @@
|
||||
#include "emu.h"
|
||||
#include "cpu/m6502/m6502.h"
|
||||
#include "machine/6532riot.h"
|
||||
#include "machine/cbmipt.h"
|
||||
#include "machine/ieee488.h"
|
||||
#include "machine/wd_fdc.h"
|
||||
|
||||
|
@ -1,359 +0,0 @@
|
||||
#include "emu.h"
|
||||
#include "imagedev/cassette.h"
|
||||
#include "crsshair.h"
|
||||
#include "includes/cbm.h"
|
||||
#include "formats/cbm_tap.h"
|
||||
|
||||
|
||||
/***********************************************
|
||||
|
||||
Input Reading - Common Components
|
||||
|
||||
***********************************************/
|
||||
|
||||
/* These are needed by c64, c65 and c128, each machine has also additional specific
|
||||
components in its INTERRUPT_GEN */
|
||||
|
||||
/* keyboard lines */
|
||||
UINT8 c64_keyline[10];
|
||||
|
||||
void cbm_common_init(void)
|
||||
{
|
||||
int i;
|
||||
|
||||
for (i = 0; i < ARRAY_LENGTH(c64_keyline); i++)
|
||||
c64_keyline[i] = 0xff;
|
||||
}
|
||||
|
||||
static TIMER_CALLBACK( lightpen_tick )
|
||||
{
|
||||
if (((machine.root_device().ioport("CTRLSEL")->read() & 0x07) == 0x04) || ((machine.root_device().ioport("CTRLSEL")->read() & 0x07) == 0x06))
|
||||
{
|
||||
/* enable lightpen crosshair */
|
||||
crosshair_set_screen(machine, 0, CROSSHAIR_SCREEN_ALL);
|
||||
}
|
||||
else
|
||||
{
|
||||
/* disable lightpen crosshair */
|
||||
crosshair_set_screen(machine, 0, CROSSHAIR_SCREEN_NONE);
|
||||
}
|
||||
}
|
||||
|
||||
void cbm_common_interrupt( device_t *device )
|
||||
{
|
||||
int value, i;
|
||||
int controller1 = device->machine().root_device().ioport("CTRLSEL")->read() & 0x07;
|
||||
int controller2 = device->machine().root_device().ioport("CTRLSEL")->read() & 0x70;
|
||||
static const char *const c64ports[] = { "ROW0", "ROW1", "ROW2", "ROW3", "ROW4", "ROW5", "ROW6", "ROW7" };
|
||||
|
||||
/* Lines 0-7 : common keyboard */
|
||||
for (i = 0; i < 8; i++)
|
||||
{
|
||||
value = 0xff;
|
||||
value &= ~device->machine().root_device().ioport(c64ports[i])->read();
|
||||
|
||||
/* Shift Lock is mapped on Left Shift */
|
||||
if ((i == 1) && (device->machine().root_device().ioport("SPECIAL")->read() & 0x40))
|
||||
value &= ~0x80;
|
||||
|
||||
c64_keyline[i] = value;
|
||||
}
|
||||
|
||||
|
||||
value = 0xff;
|
||||
switch(controller1)
|
||||
{
|
||||
case 0x00:
|
||||
value &= ~device->machine().root_device().ioport("JOY1_1B")->read(); /* Joy1 Directions + Button 1 */
|
||||
break;
|
||||
|
||||
case 0x01:
|
||||
if (device->machine().root_device().ioport("OTHER")->read() & 0x40) /* Paddle2 Button */
|
||||
value &= ~0x08;
|
||||
if (device->machine().root_device().ioport("OTHER")->read() & 0x80) /* Paddle1 Button */
|
||||
value &= ~0x04;
|
||||
break;
|
||||
|
||||
case 0x02:
|
||||
if (device->machine().root_device().ioport("OTHER")->read() & 0x02) /* Mouse Button Left */
|
||||
value &= ~0x10;
|
||||
if (device->machine().root_device().ioport("OTHER")->read() & 0x01) /* Mouse Button Right */
|
||||
value &= ~0x01;
|
||||
break;
|
||||
|
||||
case 0x03:
|
||||
value &= ~(device->machine().root_device().ioport("JOY1_2B")->read() & 0x1f); /* Joy1 Directions + Button 1 */
|
||||
break;
|
||||
|
||||
case 0x04:
|
||||
/* was there any input on the lightpen? where is it mapped? */
|
||||
// if (device->machine().root_device().ioport("OTHER")->read() & 0x04) /* Lightpen Signal */
|
||||
// value &= ?? ;
|
||||
break;
|
||||
|
||||
case 0x07:
|
||||
break;
|
||||
|
||||
default:
|
||||
logerror("Invalid Controller 1 Setting %d\n", controller1);
|
||||
break;
|
||||
}
|
||||
|
||||
c64_keyline[8] = value;
|
||||
|
||||
|
||||
value = 0xff;
|
||||
switch(controller2)
|
||||
{
|
||||
case 0x00:
|
||||
value &= ~device->machine().root_device().ioport("JOY2_1B")->read(); /* Joy2 Directions + Button 1 */
|
||||
break;
|
||||
|
||||
case 0x10:
|
||||
if (device->machine().root_device().ioport("OTHER")->read() & 0x10) /* Paddle4 Button */
|
||||
value &= ~0x08;
|
||||
if (device->machine().root_device().ioport("OTHER")->read() & 0x20) /* Paddle3 Button */
|
||||
value &= ~0x04;
|
||||
break;
|
||||
|
||||
case 0x20:
|
||||
if (device->machine().root_device().ioport("OTHER")->read() & 0x02) /* Mouse Button Left */
|
||||
value &= ~0x10;
|
||||
if (device->machine().root_device().ioport("OTHER")->read() & 0x01) /* Mouse Button Right */
|
||||
value &= ~0x01;
|
||||
break;
|
||||
|
||||
case 0x30:
|
||||
value &= ~(device->machine().root_device().ioport("JOY2_2B")->read() & 0x1f); /* Joy2 Directions + Button 1 */
|
||||
break;
|
||||
|
||||
case 0x40:
|
||||
/* was there any input on the lightpen? where is it mapped? */
|
||||
// if (device->machine().root_device().ioport("OTHER")->read() & 0x04) /* Lightpen Signal */
|
||||
// value &= ?? ;
|
||||
break;
|
||||
|
||||
case 0x70:
|
||||
break;
|
||||
|
||||
default:
|
||||
logerror("Invalid Controller 2 Setting %d\n", controller2);
|
||||
break;
|
||||
}
|
||||
|
||||
c64_keyline[9] = value;
|
||||
|
||||
// vic2_frame_interrupt does nothing so this is not necessary
|
||||
// vic2_frame_interrupt (device);
|
||||
|
||||
/* check if lightpen has been chosen as input: if so, enable crosshair */
|
||||
device->machine().scheduler().timer_set(attotime::zero, FUNC(lightpen_tick));
|
||||
|
||||
set_led_status (device->machine(), 1, device->machine().root_device().ioport("SPECIAL")->read() & 0x40 ? 1 : 0); /* Shift Lock */
|
||||
set_led_status (device->machine(), 0, device->machine().root_device().ioport("CTRLSEL")->read() & 0x80 ? 1 : 0); /* Joystick Swap */
|
||||
}
|
||||
|
||||
|
||||
/***********************************************
|
||||
|
||||
CIA Common Handlers
|
||||
|
||||
***********************************************/
|
||||
|
||||
/* These are shared by c64, c65 and c128. c65 and c128 also have additional specific
|
||||
components (to select/read additional keyboard lines) */
|
||||
|
||||
/*
|
||||
* CIA 0 - Port A
|
||||
* bits 7-0 keyboard line select
|
||||
* bits 7,6: paddle select( 01 port a, 10 port b)
|
||||
* bit 4: joystick a fire button
|
||||
* bits 3,2: Paddles port a fire button
|
||||
* bits 3-0: joystick a direction
|
||||
*
|
||||
* CIA 0 - Port B
|
||||
* bits 7-0: keyboard raw values
|
||||
* bit 4: joystick b fire button, lightpen select
|
||||
* bits 3,2: paddle b fire buttons (left,right)
|
||||
* bits 3-0: joystick b direction
|
||||
*
|
||||
* flag cassette read input, serial request in
|
||||
* irq to irq connected
|
||||
*/
|
||||
|
||||
UINT8 cbm_common_cia0_port_a_r( device_t *device, UINT8 output_b )
|
||||
{
|
||||
UINT8 value = 0xff;
|
||||
|
||||
if (!(output_b & 0x80))
|
||||
{
|
||||
UINT8 t = 0xff;
|
||||
if (!(c64_keyline[7] & 0x80)) t &= ~0x80;
|
||||
if (!(c64_keyline[6] & 0x80)) t &= ~0x40;
|
||||
if (!(c64_keyline[5] & 0x80)) t &= ~0x20;
|
||||
if (!(c64_keyline[4] & 0x80)) t &= ~0x10;
|
||||
if (!(c64_keyline[3] & 0x80)) t &= ~0x08;
|
||||
if (!(c64_keyline[2] & 0x80)) t &= ~0x04;
|
||||
if (!(c64_keyline[1] & 0x80)) t &= ~0x02;
|
||||
if (!(c64_keyline[0] & 0x80)) t &= ~0x01;
|
||||
value &= t;
|
||||
}
|
||||
|
||||
if (!(output_b & 0x40))
|
||||
{
|
||||
UINT8 t = 0xff;
|
||||
if (!(c64_keyline[7] & 0x40)) t &= ~0x80;
|
||||
if (!(c64_keyline[6] & 0x40)) t &= ~0x40;
|
||||
if (!(c64_keyline[5] & 0x40)) t &= ~0x20;
|
||||
if (!(c64_keyline[4] & 0x40)) t &= ~0x10;
|
||||
if (!(c64_keyline[3] & 0x40)) t &= ~0x08;
|
||||
if (!(c64_keyline[2] & 0x40)) t &= ~0x04;
|
||||
if (!(c64_keyline[1] & 0x40)) t &= ~0x02;
|
||||
if (!(c64_keyline[0] & 0x40)) t &= ~0x01;
|
||||
value &= t;
|
||||
}
|
||||
|
||||
if (!(output_b & 0x20))
|
||||
{
|
||||
UINT8 t = 0xff;
|
||||
if (!(c64_keyline[7] & 0x20)) t &= ~0x80;
|
||||
if (!(c64_keyline[6] & 0x20)) t &= ~0x40;
|
||||
if (!(c64_keyline[5] & 0x20)) t &= ~0x20;
|
||||
if (!(c64_keyline[4] & 0x20)) t &= ~0x10;
|
||||
if (!(c64_keyline[3] & 0x20)) t &= ~0x08;
|
||||
if (!(c64_keyline[2] & 0x20)) t &= ~0x04;
|
||||
if (!(c64_keyline[1] & 0x20)) t &= ~0x02;
|
||||
if (!(c64_keyline[0] & 0x20)) t &= ~0x01;
|
||||
value &= t;
|
||||
}
|
||||
|
||||
if (!(output_b & 0x10))
|
||||
{
|
||||
UINT8 t = 0xff;
|
||||
if (!(c64_keyline[7] & 0x10)) t &= ~0x80;
|
||||
if (!(c64_keyline[6] & 0x10)) t &= ~0x40;
|
||||
if (!(c64_keyline[5] & 0x10)) t &= ~0x20;
|
||||
if (!(c64_keyline[4] & 0x10)) t &= ~0x10;
|
||||
if (!(c64_keyline[3] & 0x10)) t &= ~0x08;
|
||||
if (!(c64_keyline[2] & 0x10)) t &= ~0x04;
|
||||
if (!(c64_keyline[1] & 0x10)) t &= ~0x02;
|
||||
if (!(c64_keyline[0] & 0x10)) t &= ~0x01;
|
||||
value &= t;
|
||||
}
|
||||
|
||||
if (!(output_b & 0x08))
|
||||
{
|
||||
UINT8 t = 0xff;
|
||||
if (!(c64_keyline[7] & 0x08)) t &= ~0x80;
|
||||
if (!(c64_keyline[6] & 0x08)) t &= ~0x40;
|
||||
if (!(c64_keyline[5] & 0x08)) t &= ~0x20;
|
||||
if (!(c64_keyline[4] & 0x08)) t &= ~0x10;
|
||||
if (!(c64_keyline[3] & 0x08)) t &= ~0x08;
|
||||
if (!(c64_keyline[2] & 0x08)) t &= ~0x04;
|
||||
if (!(c64_keyline[1] & 0x08)) t &= ~0x02;
|
||||
if (!(c64_keyline[0] & 0x08)) t &= ~0x01;
|
||||
value &= t;
|
||||
}
|
||||
|
||||
if (!(output_b & 0x04))
|
||||
{
|
||||
UINT8 t = 0xff;
|
||||
if (!(c64_keyline[7] & 0x04)) t &= ~0x80;
|
||||
if (!(c64_keyline[6] & 0x04)) t &= ~0x40;
|
||||
if (!(c64_keyline[5] & 0x04)) t &= ~0x20;
|
||||
if (!(c64_keyline[4] & 0x04)) t &= ~0x10;
|
||||
if (!(c64_keyline[3] & 0x04)) t &= ~0x08;
|
||||
if (!(c64_keyline[2] & 0x04)) t &= ~0x04;
|
||||
if (!(c64_keyline[1] & 0x04)) t &= ~0x02;
|
||||
if (!(c64_keyline[0] & 0x04)) t &= ~0x01;
|
||||
value &= t;
|
||||
}
|
||||
|
||||
if (!(output_b & 0x02))
|
||||
{
|
||||
UINT8 t = 0xff;
|
||||
if (!(c64_keyline[7] & 0x02)) t &= ~0x80;
|
||||
if (!(c64_keyline[6] & 0x02)) t &= ~0x40;
|
||||
if (!(c64_keyline[5] & 0x02)) t &= ~0x20;
|
||||
if (!(c64_keyline[4] & 0x02)) t &= ~0x10;
|
||||
if (!(c64_keyline[3] & 0x02)) t &= ~0x08;
|
||||
if (!(c64_keyline[2] & 0x02)) t &= ~0x04;
|
||||
if (!(c64_keyline[1] & 0x02)) t &= ~0x02;
|
||||
if (!(c64_keyline[0] & 0x02)) t &= ~0x01;
|
||||
value &= t;
|
||||
}
|
||||
|
||||
if (!(output_b & 0x01))
|
||||
{
|
||||
UINT8 t = 0xff;
|
||||
if (!(c64_keyline[7] & 0x01)) t &= ~0x80;
|
||||
if (!(c64_keyline[6] & 0x01)) t &= ~0x40;
|
||||
if (!(c64_keyline[5] & 0x01)) t &= ~0x20;
|
||||
if (!(c64_keyline[4] & 0x01)) t &= ~0x10;
|
||||
if (!(c64_keyline[3] & 0x01)) t &= ~0x08;
|
||||
if (!(c64_keyline[2] & 0x01)) t &= ~0x04;
|
||||
if (!(c64_keyline[1] & 0x01)) t &= ~0x02;
|
||||
if (!(c64_keyline[0] & 0x01)) t &= ~0x01;
|
||||
value &= t;
|
||||
}
|
||||
|
||||
if ( device->machine().root_device().ioport("CTRLSEL")->read() & 0x80 )
|
||||
value &= c64_keyline[8];
|
||||
else
|
||||
value &= c64_keyline[9];
|
||||
|
||||
return value;
|
||||
}
|
||||
|
||||
UINT8 cbm_common_cia0_port_b_r( device_t *device, UINT8 output_a )
|
||||
{
|
||||
UINT8 value = 0xff;
|
||||
|
||||
if (!(output_a & 0x80)) value &= c64_keyline[7];
|
||||
if (!(output_a & 0x40)) value &= c64_keyline[6];
|
||||
if (!(output_a & 0x20)) value &= c64_keyline[5];
|
||||
if (!(output_a & 0x10)) value &= c64_keyline[4];
|
||||
if (!(output_a & 0x08)) value &= c64_keyline[3];
|
||||
if (!(output_a & 0x04)) value &= c64_keyline[2];
|
||||
if (!(output_a & 0x02)) value &= c64_keyline[1];
|
||||
if (!(output_a & 0x01)) value &= c64_keyline[0];
|
||||
|
||||
if ( device->machine().root_device().ioport("CTRLSEL")->read() & 0x80 )
|
||||
value &= c64_keyline[9];
|
||||
else
|
||||
value &= c64_keyline[8];
|
||||
|
||||
return value;
|
||||
}
|
||||
|
||||
|
||||
/***********************************************
|
||||
|
||||
CBM Cartridges
|
||||
|
||||
***********************************************/
|
||||
|
||||
|
||||
/* All the cartridge specific code has been moved
|
||||
to machine/ drivers. Once more informations
|
||||
surface about the cart expansions for systems
|
||||
in c65.c, c128.c, cbmb.c and pet.c, the shared
|
||||
code could be refactored to have here the
|
||||
common functions */
|
||||
|
||||
|
||||
|
||||
/***********************************************
|
||||
|
||||
CBM Datasette Tapes
|
||||
|
||||
***********************************************/
|
||||
|
||||
const cassette_interface cbm_cassette_interface =
|
||||
{
|
||||
cbm_cassette_formats,
|
||||
NULL,
|
||||
(cassette_state) (CASSETTE_STOPPED | CASSETTE_MOTOR_DISABLED | CASSETTE_SPEAKER_ENABLED),
|
||||
NULL,
|
||||
NULL
|
||||
};
|
@ -289,3 +289,14 @@ void cbm2_expansion_slot_device::write(address_space &space, offs_t offset, UINT
|
||||
m_card->cbm2_bd_w(space, offset, data, csbank1, csbank2, csbank3);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// SLOT_INTERFACE( cbm2_expansion_cards )
|
||||
//-------------------------------------------------
|
||||
|
||||
SLOT_INTERFACE_START( cbm2_expansion_cards )
|
||||
SLOT_INTERFACE("24k", CBM2_24K)
|
||||
SLOT_INTERFACE_INTERNAL("standard", CBM2_STD)
|
||||
SLOT_INTERFACE_INTERNAL("graphic", CBM2_GRAPHIC)
|
||||
SLOT_INTERFACE_END
|
||||
|
@ -148,5 +148,13 @@ protected:
|
||||
extern const device_type CBM2_EXPANSION_SLOT;
|
||||
|
||||
|
||||
// slot devices
|
||||
#include "machine/cbm2_std.h"
|
||||
#include "machine/cbm2_24k.h"
|
||||
#include "machine/cbm2_graphic.h"
|
||||
|
||||
SLOT_INTERFACE_EXTERN( cbm2_expansion_cards );
|
||||
|
||||
|
||||
|
||||
#endif
|
||||
|
@ -121,3 +121,11 @@ WRITE_LINE_MEMBER( cbm2_user_port_device::pb3_w ) { if (m_card != NULL) m_card->
|
||||
WRITE_LINE_MEMBER( cbm2_user_port_device::pc_w ) { if (m_card != NULL) m_card->cbm2_pc_w(state); }
|
||||
WRITE_LINE_MEMBER( cbm2_user_port_device::cnt_w ) { if (m_card != NULL) m_card->cbm2_cnt_w(state); }
|
||||
WRITE_LINE_MEMBER( cbm2_user_port_device::sp_w ) { if (m_card != NULL) m_card->cbm2_sp_w(state); }
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// SLOT_INTERFACE( cbm2_user_port_cards )
|
||||
//-------------------------------------------------
|
||||
|
||||
SLOT_INTERFACE_START( cbm2_user_port_cards )
|
||||
SLOT_INTERFACE_END
|
||||
|
@ -136,5 +136,9 @@ protected:
|
||||
extern const device_type CBM2_USER_PORT;
|
||||
|
||||
|
||||
// slot devices
|
||||
SLOT_INTERFACE_EXTERN( cbm2_user_port_cards );
|
||||
|
||||
|
||||
|
||||
#endif
|
||||
|
@ -477,3 +477,31 @@ int cbm_iec_device::get_signal(int signal)
|
||||
|
||||
return state;
|
||||
}
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// SLOT_INTERFACE( cbm_iec_devices )
|
||||
//-------------------------------------------------
|
||||
|
||||
SLOT_INTERFACE_START( cbm_iec_devices )
|
||||
SLOT_INTERFACE("c1540", C1540)
|
||||
SLOT_INTERFACE("c1541", C1541)
|
||||
SLOT_INTERFACE("c1541c", C1541C)
|
||||
SLOT_INTERFACE("c1541ii", C1541II)
|
||||
SLOT_INTERFACE("fsd2", FSD2)
|
||||
SLOT_INTERFACE("csd1", CSD1)
|
||||
SLOT_INTERFACE("c1541dd", C1541_DOLPHIN_DOS)
|
||||
SLOT_INTERFACE("c1541pd", C1541_PROFESSIONAL_DOS_V1)
|
||||
SLOT_INTERFACE("c1541pdc", C1541_PROLOGIC_DOS_CLASSIC)
|
||||
SLOT_INTERFACE("c1570", C1570)
|
||||
SLOT_INTERFACE("c1571", C1571)
|
||||
SLOT_INTERFACE("c1581", C1581)
|
||||
SLOT_INTERFACE("cmdhd", CMD_HD)
|
||||
SLOT_INTERFACE("fd2000", FD2000)
|
||||
SLOT_INTERFACE("fd4000", FD4000)
|
||||
SLOT_INTERFACE("interpod", INTERPOD)
|
||||
SLOT_INTERFACE("minichief", MINI_CHIEF)
|
||||
SLOT_INTERFACE("serialbox", SERIAL_BOX)
|
||||
SLOT_INTERFACE("diag264", DIAG264_SERIAL_LOOPBACK)
|
||||
SLOT_INTERFACE("nl10", C64_NL10_INTERFACE)
|
||||
SLOT_INTERFACE_END
|
||||
|
@ -54,6 +54,15 @@
|
||||
downcast<cbm_iec_slot_device *>(device)->set_address(_address);
|
||||
|
||||
|
||||
#define MCFG_CBM_IEC_ADD(_default_drive) \
|
||||
MCFG_CBM_IEC_SLOT_ADD("iec4", 4, cbm_iec_devices, NULL) \
|
||||
MCFG_CBM_IEC_SLOT_ADD("iec8", 8, cbm_iec_devices, _default_drive) \
|
||||
MCFG_CBM_IEC_SLOT_ADD("iec9", 9, cbm_iec_devices, NULL) \
|
||||
MCFG_CBM_IEC_SLOT_ADD("iec10", 10, cbm_iec_devices, NULL) \
|
||||
MCFG_CBM_IEC_SLOT_ADD("iec11", 11, cbm_iec_devices, NULL) \
|
||||
MCFG_CBM_IEC_BUS_ADD()
|
||||
|
||||
|
||||
|
||||
//**************************************************************************
|
||||
// TYPE DEFINITIONS
|
||||
@ -195,5 +204,19 @@ extern const device_type CBM_IEC;
|
||||
extern const device_type CBM_IEC_SLOT;
|
||||
|
||||
|
||||
// slot devices
|
||||
#include "machine/c1541.h"
|
||||
#include "machine/c1571.h"
|
||||
#include "machine/c1581.h"
|
||||
#include "machine/c64_nl10.h"
|
||||
#include "machine/cmdhd.h"
|
||||
#include "machine/diag264_lb_iec.h"
|
||||
#include "machine/fd2000.h"
|
||||
#include "machine/interpod.h"
|
||||
#include "machine/serialbox.h"
|
||||
|
||||
SLOT_INTERFACE_EXTERN( cbm_iec_devices );
|
||||
|
||||
|
||||
|
||||
#endif
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,198 +0,0 @@
|
||||
#pragma once
|
||||
|
||||
#ifndef CBMIPT_H_
|
||||
#define CBMIPT_H_
|
||||
|
||||
#include "machine/c2n.h"
|
||||
#include "machine/c64/4cga.h"
|
||||
#include "machine/c64/4dxh.h"
|
||||
#include "machine/c64/4ksa.h"
|
||||
#include "machine/c64/4tba.h"
|
||||
#include "machine/c64/16kb.h"
|
||||
#include "machine/c64/bn1541.h"
|
||||
#include "machine/c64/comal80.h"
|
||||
#include "machine/c64/cpm.h"
|
||||
#include "machine/c64/currah_speech.h"
|
||||
#include "machine/c64/dela_ep256.h"
|
||||
#include "machine/c64/dela_ep64.h"
|
||||
#include "machine/c64/dela_ep7x8.h"
|
||||
#include "machine/c64/dinamic.h"
|
||||
#include "machine/c64/dqbb.h"
|
||||
#include "machine/c64/easy_calc_result.h"
|
||||
#include "machine/c64/easyflash.h"
|
||||
#include "machine/c64/epyx_fast_load.h"
|
||||
#include "machine/c64/exos.h"
|
||||
#include "machine/c64/fcc.h"
|
||||
#include "machine/c64/final.h"
|
||||
#include "machine/c64/final3.h"
|
||||
#include "machine/c64/fun_play.h"
|
||||
#include "machine/c64/geocable.h"
|
||||
#include "machine/c64/georam.h"
|
||||
#include "machine/c64/ide64.h"
|
||||
#include "machine/c64/ieee488.h"
|
||||
#include "machine/c64/kingsoft.h"
|
||||
#include "machine/c64/mach5.h"
|
||||
#include "machine/c64/magic_desk.h"
|
||||
#include "machine/c64/magic_formel.h"
|
||||
#include "machine/c64/magic_voice.h"
|
||||
#include "machine/c64/midi_maplin.h"
|
||||
#include "machine/c64/midi_namesoft.h"
|
||||
#include "machine/c64/midi_passport.h"
|
||||
#include "machine/c64/midi_sci.h"
|
||||
#include "machine/c64/midi_siel.h"
|
||||
#include "machine/c64/mikro_assembler.h"
|
||||
#include "machine/c64/multiscreen.h"
|
||||
#include "machine/c64/music64.h"
|
||||
#include "machine/c64/neoram.h"
|
||||
#include "machine/c64/ocean.h"
|
||||
#include "machine/c64/pagefox.h"
|
||||
#include "machine/c64/prophet64.h"
|
||||
#include "machine/c64/ps64.h"
|
||||
#include "machine/c64/reu.h"
|
||||
#include "machine/c64/rex.h"
|
||||
#include "machine/c64/rex_ep256.h"
|
||||
#include "machine/c64/ross.h"
|
||||
#include "machine/c64/sfx_sound_expander.h"
|
||||
#include "machine/c64/silverrock.h"
|
||||
#include "machine/c64/simons_basic.h"
|
||||
#include "machine/c64/stardos.h"
|
||||
#include "machine/c64/std.h"
|
||||
#include "machine/c64/structured_basic.h"
|
||||
#include "machine/c64/super_explode.h"
|
||||
#include "machine/c64/super_games.h"
|
||||
#include "machine/c64/supercpu.h"
|
||||
#include "machine/c64/sw8k.h"
|
||||
#include "machine/c64/swiftlink.h"
|
||||
#include "machine/c64/system3.h"
|
||||
#include "machine/c64/tdos.h"
|
||||
#include "machine/c64/turbo232.h"
|
||||
#include "machine/c64/vizastar.h"
|
||||
#include "machine/c64/vic1011.h"
|
||||
#include "machine/c64/vw64.h"
|
||||
#include "machine/c64/warp_speed.h"
|
||||
#include "machine/c64/westermann.h"
|
||||
#include "machine/c64/xl80.h"
|
||||
#include "machine/c64/zaxxon.h"
|
||||
#include "machine/c128_comal80.h"
|
||||
#include "machine/c64_nl10.h"
|
||||
#include "machine/cbm2_std.h"
|
||||
#include "machine/cbm2_24k.h"
|
||||
#include "machine/cbm2_graphic.h"
|
||||
#include "machine/c1541.h"
|
||||
#include "machine/c1551.h"
|
||||
#include "machine/c1571.h"
|
||||
#include "machine/c1581.h"
|
||||
#include "machine/c2031.h"
|
||||
#include "machine/c2040.h"
|
||||
#include "machine/c8280.h"
|
||||
#include "machine/d9060.h"
|
||||
#include "machine/cmdhd.h"
|
||||
#include "machine/diag264_lb_iec.h"
|
||||
#include "machine/diag264_lb_tape.h"
|
||||
#include "machine/diag264_lb_user.h"
|
||||
#include "machine/fd2000.h"
|
||||
#include "machine/hardbox.h"
|
||||
#include "machine/interpod.h"
|
||||
#include "machine/pet_64k.h"
|
||||
#include "machine/plus4_sid.h"
|
||||
#include "machine/plus4_std.h"
|
||||
#include "machine/serialbox.h"
|
||||
#include "machine/shark.h"
|
||||
#include "machine/softbox.h"
|
||||
#include "machine/superpet.h"
|
||||
#include "machine/vic1010.h"
|
||||
#include "machine/vic1011.h"
|
||||
#include "machine/vic1110.h"
|
||||
#include "machine/vic1111.h"
|
||||
#include "machine/vic1112.h"
|
||||
#include "machine/vic1210.h"
|
||||
#include "machine/vic10std.h"
|
||||
#include "machine/vic20std.h"
|
||||
#include "machine/vic20_megacart.h"
|
||||
|
||||
|
||||
#define MCFG_CBM_IEC_ADD(_default_drive) \
|
||||
MCFG_CBM_IEC_SLOT_ADD("iec4", 4, cbm_iec_devices, NULL) \
|
||||
MCFG_CBM_IEC_SLOT_ADD("iec8", 8, cbm_iec_devices, _default_drive) \
|
||||
MCFG_CBM_IEC_SLOT_ADD("iec9", 9, cbm_iec_devices, NULL) \
|
||||
MCFG_CBM_IEC_SLOT_ADD("iec10", 10, cbm_iec_devices, NULL) \
|
||||
MCFG_CBM_IEC_SLOT_ADD("iec11", 11, cbm_iec_devices, NULL) \
|
||||
MCFG_CBM_IEC_BUS_ADD()
|
||||
|
||||
|
||||
#define MCFG_CBM_IEEE488_ADD(_default_drive) \
|
||||
MCFG_IEEE488_SLOT_ADD("ieee4", 4, cbm_ieee488_devices, NULL) \
|
||||
MCFG_IEEE488_SLOT_ADD("ieee8", 8, cbm_ieee488_devices, _default_drive) \
|
||||
MCFG_IEEE488_SLOT_ADD("ieee9", 9, cbm_ieee488_devices, NULL) \
|
||||
MCFG_IEEE488_SLOT_ADD("ieee10", 10, cbm_ieee488_devices, NULL) \
|
||||
MCFG_IEEE488_SLOT_ADD("ieee11", 11, cbm_ieee488_devices, NULL) \
|
||||
MCFG_IEEE488_SLOT_ADD("ieee12", 12, cbm_ieee488_devices, NULL) \
|
||||
MCFG_IEEE488_SLOT_ADD("ieee13", 13, cbm_ieee488_devices, NULL) \
|
||||
MCFG_IEEE488_SLOT_ADD("ieee14", 14, cbm_ieee488_devices, NULL) \
|
||||
MCFG_IEEE488_SLOT_ADD("ieee15", 15, cbm_ieee488_devices, NULL) \
|
||||
MCFG_IEEE488_BUS_ADD()
|
||||
|
||||
|
||||
/* Commodore 64 */
|
||||
|
||||
INPUT_PORTS_EXTERN( common_cbm_keyboard ); /* shared with c16, c65, c128 */
|
||||
INPUT_PORTS_EXTERN( c64_special );
|
||||
INPUT_PORTS_EXTERN( c64_controls ); /* shared with c65, c128, cbmb */
|
||||
|
||||
|
||||
/* Commodore 16 */
|
||||
|
||||
INPUT_PORTS_EXTERN( c16_special );
|
||||
INPUT_PORTS_EXTERN( c16_controls );
|
||||
|
||||
|
||||
/* Commodore 65 */
|
||||
|
||||
INPUT_PORTS_EXTERN( c65_special );
|
||||
|
||||
|
||||
/* PET2001 */
|
||||
|
||||
INPUT_PORTS_EXTERN( pet_keyboard );
|
||||
INPUT_PORTS_EXTERN( pet_business_keyboard );
|
||||
INPUT_PORTS_EXTERN( pet_special );
|
||||
INPUT_PORTS_EXTERN( pet_config );
|
||||
|
||||
|
||||
/* CBMB 500 / 600/ 700 */
|
||||
|
||||
INPUT_PORTS_EXTERN( cbmb_keyboard );
|
||||
INPUT_PORTS_EXTERN( cbmb_special );
|
||||
|
||||
|
||||
/* Vic 20 */
|
||||
|
||||
INPUT_PORTS_EXTERN( vic_keyboard );
|
||||
INPUT_PORTS_EXTERN( vic_special );
|
||||
|
||||
|
||||
|
||||
SLOT_INTERFACE_EXTERN( pet_expansion_cards );
|
||||
SLOT_INTERFACE_EXTERN( pet_user_port_cards );
|
||||
SLOT_INTERFACE_EXTERN( cbm2_expansion_cards );
|
||||
SLOT_INTERFACE_EXTERN( cbm2_user_port_cards );
|
||||
SLOT_INTERFACE_EXTERN( cbm_datassette_devices );
|
||||
SLOT_INTERFACE_EXTERN( cbm_iec_devices );
|
||||
SLOT_INTERFACE_EXTERN( sx1541_iec_devices );
|
||||
SLOT_INTERFACE_EXTERN( c128dcr_iec_devices );
|
||||
SLOT_INTERFACE_EXTERN( c128d81_iec_devices );
|
||||
SLOT_INTERFACE_EXTERN( cbm_ieee488_devices );
|
||||
SLOT_INTERFACE_EXTERN( cbm8296d_ieee488_devices );
|
||||
SLOT_INTERFACE_EXTERN( vic20_control_port_devices );
|
||||
SLOT_INTERFACE_EXTERN( vic20_expansion_cards );
|
||||
SLOT_INTERFACE_EXTERN( vic20_user_port_cards );
|
||||
SLOT_INTERFACE_EXTERN( vic10_expansion_cards );
|
||||
SLOT_INTERFACE_EXTERN( c64_expansion_cards );
|
||||
SLOT_INTERFACE_EXTERN( c64_user_port_cards );
|
||||
SLOT_INTERFACE_EXTERN( plus4_datassette_devices );
|
||||
SLOT_INTERFACE_EXTERN( plus4_expansion_cards );
|
||||
SLOT_INTERFACE_EXTERN( plus4_user_port_cards );
|
||||
|
||||
|
||||
|
||||
#endif /* CBMIPT_H_ */
|
@ -17,7 +17,6 @@
|
||||
#include "imagedev/harddriv.h"
|
||||
#include "machine/6522via.h"
|
||||
#include "machine/cbmiec.h"
|
||||
#include "machine/cbmipt.h"
|
||||
#include "machine/i8255.h"
|
||||
#include "machine/scsibus.h"
|
||||
#include "machine/scsicb.h"
|
||||
|
@ -28,7 +28,6 @@
|
||||
#include "cpu/m6502/m6502.h"
|
||||
#include "machine/6522via.h"
|
||||
#include "machine/6532riot.h"
|
||||
#include "machine/cbmipt.h"
|
||||
#include "machine/ieee488.h"
|
||||
#include "machine/scsicb.h"
|
||||
|
||||
|
@ -17,7 +17,6 @@
|
||||
#include "formats/d81_dsk.h"
|
||||
#include "machine/6522via.h"
|
||||
#include "machine/cbmiec.h"
|
||||
#include "machine/cbmipt.h"
|
||||
#include "machine/upd765.h"
|
||||
|
||||
|
||||
|
@ -16,7 +16,6 @@
|
||||
#include "cpu/z80/z80.h"
|
||||
#include "imagedev/harddriv.h"
|
||||
#include "includes/corvushd.h"
|
||||
#include "machine/cbmipt.h"
|
||||
#include "machine/i8255.h"
|
||||
#include "machine/ieee488.h"
|
||||
#include "machine/serial.h"
|
||||
|
@ -362,3 +362,24 @@ UINT8 ieee488_device::get_data()
|
||||
|
||||
return data;
|
||||
}
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// SLOT_INTERFACE( cbm_ieee488_devices )
|
||||
//-------------------------------------------------
|
||||
|
||||
SLOT_INTERFACE_START( cbm_ieee488_devices )
|
||||
SLOT_INTERFACE("c2040", C2040)
|
||||
SLOT_INTERFACE("c3040", C3040)
|
||||
SLOT_INTERFACE("c4040", C4040)
|
||||
SLOT_INTERFACE("c8050", C8050)
|
||||
SLOT_INTERFACE("c8250", C8250)
|
||||
SLOT_INTERFACE("sfd1001", SFD1001)
|
||||
SLOT_INTERFACE("c2031", C2031)
|
||||
SLOT_INTERFACE("c8280", C8280)
|
||||
SLOT_INTERFACE("d9060", D9060)
|
||||
SLOT_INTERFACE("d9090", D9090)
|
||||
SLOT_INTERFACE("softbox", SOFTBOX)
|
||||
SLOT_INTERFACE("hardbox", HARDBOX)
|
||||
SLOT_INTERFACE("shark", SHARK)
|
||||
SLOT_INTERFACE_END
|
||||
|
@ -64,6 +64,19 @@
|
||||
downcast<ieee488_slot_device *>(device)->set_address(_address);
|
||||
|
||||
|
||||
#define MCFG_CBM_IEEE488_ADD(_default_drive) \
|
||||
MCFG_IEEE488_SLOT_ADD("ieee4", 4, cbm_ieee488_devices, NULL) \
|
||||
MCFG_IEEE488_SLOT_ADD("ieee8", 8, cbm_ieee488_devices, _default_drive) \
|
||||
MCFG_IEEE488_SLOT_ADD("ieee9", 9, cbm_ieee488_devices, NULL) \
|
||||
MCFG_IEEE488_SLOT_ADD("ieee10", 10, cbm_ieee488_devices, NULL) \
|
||||
MCFG_IEEE488_SLOT_ADD("ieee11", 11, cbm_ieee488_devices, NULL) \
|
||||
MCFG_IEEE488_SLOT_ADD("ieee12", 12, cbm_ieee488_devices, NULL) \
|
||||
MCFG_IEEE488_SLOT_ADD("ieee13", 13, cbm_ieee488_devices, NULL) \
|
||||
MCFG_IEEE488_SLOT_ADD("ieee14", 14, cbm_ieee488_devices, NULL) \
|
||||
MCFG_IEEE488_SLOT_ADD("ieee15", 15, cbm_ieee488_devices, NULL) \
|
||||
MCFG_IEEE488_BUS_ADD()
|
||||
|
||||
|
||||
|
||||
//**************************************************************************
|
||||
// TYPE DEFINITIONS
|
||||
@ -234,5 +247,17 @@ extern const device_type IEEE488;
|
||||
extern const device_type IEEE488_SLOT;
|
||||
|
||||
|
||||
// slot devices
|
||||
#include "machine/c2031.h"
|
||||
#include "machine/c2040.h"
|
||||
#include "machine/c8280.h"
|
||||
#include "machine/d9060.h"
|
||||
#include "machine/hardbox.h"
|
||||
#include "machine/shark.h"
|
||||
#include "machine/softbox.h"
|
||||
|
||||
SLOT_INTERFACE_EXTERN( cbm_ieee488_devices );
|
||||
|
||||
|
||||
|
||||
#endif
|
||||
|
@ -17,12 +17,7 @@
|
||||
#include "machine/6522via.h"
|
||||
#include "machine/6532riot.h"
|
||||
#include "machine/6850acia.h"
|
||||
#include "machine/c2031.h"
|
||||
#include "machine/c2040.h"
|
||||
#include "machine/c8280.h"
|
||||
#include "machine/d9060.h"
|
||||
#include "machine/cbmiec.h"
|
||||
#include "machine/cbmipt.h"
|
||||
#include "machine/ieee488.h"
|
||||
|
||||
|
||||
|
@ -88,3 +88,13 @@ READ_LINE_MEMBER( pet_datassette_port_device::sense_r ) { int state = 1; if (m_c
|
||||
WRITE_LINE_MEMBER( pet_datassette_port_device::motor_w ) { if (m_cart != NULL) m_cart->datassette_motor(state); }
|
||||
|
||||
WRITE_LINE_MEMBER( pet_datassette_port_device::read_w ) { m_read_handler(state); }
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// SLOT_INTERFACE( cbm_datassette_devices )
|
||||
//-------------------------------------------------
|
||||
|
||||
SLOT_INTERFACE_START( cbm_datassette_devices )
|
||||
SLOT_INTERFACE("c2n", C2N)
|
||||
SLOT_INTERFACE("c1530", C1530)
|
||||
SLOT_INTERFACE_END
|
||||
|
@ -107,5 +107,12 @@ protected:
|
||||
extern const device_type PET_DATASSETTE_PORT;
|
||||
|
||||
|
||||
// slot devices
|
||||
#include "machine/c2n.h"
|
||||
#include "machine/diag264_lb_tape.h"
|
||||
|
||||
SLOT_INTERFACE_EXTERN( cbm_datassette_devices );
|
||||
|
||||
|
||||
|
||||
#endif
|
||||
|
@ -186,3 +186,13 @@ int pet_expansion_slot_device::phi2()
|
||||
{
|
||||
return clock();
|
||||
}
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// SLOT_INTERFACE( pet_expansion_cards )
|
||||
//-------------------------------------------------
|
||||
|
||||
SLOT_INTERFACE_START( pet_expansion_cards )
|
||||
SLOT_INTERFACE("64k", PET_64K)
|
||||
SLOT_INTERFACE("superpet", SUPERPET)
|
||||
SLOT_INTERFACE_END
|
||||
|
@ -133,5 +133,12 @@ protected:
|
||||
extern const device_type PET_EXPANSION_SLOT;
|
||||
|
||||
|
||||
// slot devices
|
||||
#include "machine/pet_64k.h"
|
||||
#include "machine/superpet.h"
|
||||
|
||||
SLOT_INTERFACE_EXTERN( pet_expansion_cards );
|
||||
|
||||
|
||||
|
||||
#endif
|
||||
|
@ -112,3 +112,11 @@ READ_LINE_MEMBER( pet_user_port_device::ca1_r ) { int state = 1; if (m_card != N
|
||||
WRITE_LINE_MEMBER( pet_user_port_device::ca1_w ) { if (m_card != NULL) m_card->pet_ca1_w(state); }
|
||||
READ_LINE_MEMBER( pet_user_port_device::cb2_r ) { int state = 1; if (m_card != NULL) state = m_card->pet_cb2_r(); return state; }
|
||||
WRITE_LINE_MEMBER( pet_user_port_device::cb2_w ) { if (m_card != NULL) m_card->pet_cb2_w(state); }
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// SLOT_INTERFACE( pet_user_port_cards )
|
||||
//-------------------------------------------------
|
||||
|
||||
SLOT_INTERFACE_START( pet_user_port_cards )
|
||||
SLOT_INTERFACE_END
|
||||
|
@ -131,5 +131,9 @@ protected:
|
||||
extern const device_type PET_USER_PORT;
|
||||
|
||||
|
||||
// slot devices
|
||||
SLOT_INTERFACE_EXTERN( pet_user_port_cards );
|
||||
|
||||
|
||||
|
||||
#endif
|
||||
|
@ -17,7 +17,6 @@
|
||||
#include "machine/plus4exp.h"
|
||||
#include "sound/dac.h"
|
||||
#include "sound/mos6581.h"
|
||||
#include "machine/cbmipt.h"
|
||||
#include "machine/vcsctrl.h"
|
||||
|
||||
|
||||
|
@ -312,3 +312,16 @@ void plus4_expansion_slot_device::cd_w(address_space &space, offs_t offset, UINT
|
||||
m_card->plus4_cd_w(space, offset, data, ba, cs0, c1l, c1h, cs1, c2l, c2h);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// SLOT_INTERFACE( plus4_expansion_cards )
|
||||
//-------------------------------------------------
|
||||
|
||||
SLOT_INTERFACE_START( plus4_expansion_cards )
|
||||
SLOT_INTERFACE("c1551", C1551)
|
||||
SLOT_INTERFACE("sid", PLUS4_SID)
|
||||
|
||||
// the following need ROMs from the software list
|
||||
SLOT_INTERFACE_INTERNAL("standard", PLUS4_STD)
|
||||
SLOT_INTERFACE_END
|
||||
|
@ -187,5 +187,13 @@ protected:
|
||||
extern const device_type PLUS4_EXPANSION_SLOT;
|
||||
|
||||
|
||||
// slot devices
|
||||
#include "machine/c1551.h"
|
||||
#include "machine/plus4_sid.h"
|
||||
#include "machine/plus4_std.h"
|
||||
|
||||
SLOT_INTERFACE_EXTERN( plus4_expansion_cards );
|
||||
|
||||
|
||||
|
||||
#endif
|
||||
|
@ -94,3 +94,12 @@ WRITE_LINE_MEMBER( plus4_user_port_device::dtr_w ) { if (m_cart != NULL) m_cart-
|
||||
WRITE_LINE_MEMBER( plus4_user_port_device::rts_w ) { if (m_cart != NULL) m_cart->plus4_rts_w(state); }
|
||||
WRITE_LINE_MEMBER( plus4_user_port_device::rxc_w ) { if (m_cart != NULL) m_cart->plus4_rxc_w(state); }
|
||||
WRITE_LINE_MEMBER( plus4_user_port_device::atn_w ) { if (m_cart != NULL) m_cart->plus4_atn_w(state); }
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// SLOT_INTERFACE( plus4_user_port_cards )
|
||||
//-------------------------------------------------
|
||||
|
||||
SLOT_INTERFACE_START( plus4_user_port_cards )
|
||||
SLOT_INTERFACE("diag264", DIAG264_USER_PORT_LOOPBACK)
|
||||
SLOT_INTERFACE_END
|
||||
|
@ -117,5 +117,11 @@ protected:
|
||||
extern const device_type PLUS4_USER_PORT;
|
||||
|
||||
|
||||
// slot devices
|
||||
#include "machine/diag264_lb_user.h"
|
||||
|
||||
SLOT_INTERFACE_EXTERN( plus4_user_port_cards );
|
||||
|
||||
|
||||
|
||||
#endif
|
||||
|
@ -15,7 +15,6 @@
|
||||
#include "emu.h"
|
||||
#include "cpu/m6502/m65c02.h"
|
||||
#include "machine/cbmiec.h"
|
||||
#include "machine/cbmipt.h"
|
||||
|
||||
|
||||
|
||||
|
@ -17,7 +17,6 @@
|
||||
#include "emu.h"
|
||||
#include "cpu/i8085/i8085.h"
|
||||
#include "imagedev/harddriv.h"
|
||||
#include "machine/cbmipt.h"
|
||||
#include "machine/ieee488.h"
|
||||
#include "machine/serial.h"
|
||||
|
||||
|
@ -16,7 +16,6 @@
|
||||
#include "cpu/z80/z80.h"
|
||||
#include "imagedev/harddriv.h"
|
||||
#include "includes/corvushd.h"
|
||||
#include "machine/cbmipt.h"
|
||||
#include "machine/com8116.h"
|
||||
#include "machine/i8251.h"
|
||||
#include "machine/i8255.h"
|
||||
|
@ -14,7 +14,6 @@
|
||||
|
||||
|
||||
#include "emu.h"
|
||||
#include "machine/cbmipt.h"
|
||||
#include "machine/vic20exp.h"
|
||||
|
||||
|
||||
|
@ -275,3 +275,13 @@ void vic10_expansion_slot_device::cd_w(address_space &space, offs_t offset, UINT
|
||||
|
||||
READ_LINE_MEMBER( vic10_expansion_slot_device::p0_r ) { int state = 0; if (m_card != NULL) state = m_card->vic10_p0_r(); return state; }
|
||||
WRITE_LINE_MEMBER( vic10_expansion_slot_device::p0_w ) { if (m_card != NULL) m_card->vic10_p0_w(state); }
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// SLOT_INTERFACE( vic10_expansion_cards )
|
||||
//-------------------------------------------------
|
||||
|
||||
SLOT_INTERFACE_START( vic10_expansion_cards )
|
||||
// the following need ROMs from the software list
|
||||
SLOT_INTERFACE_INTERNAL("standard", VIC10_STD)
|
||||
SLOT_INTERFACE_END
|
||||
|
@ -176,5 +176,11 @@ protected:
|
||||
extern const device_type VIC10_EXPANSION_SLOT;
|
||||
|
||||
|
||||
// slot devices
|
||||
#include "machine/vic10std.h"
|
||||
|
||||
SLOT_INTERFACE_EXTERN( vic10_expansion_cards );
|
||||
|
||||
|
||||
|
||||
#endif
|
||||
|
@ -18,7 +18,6 @@
|
||||
#include "emu.h"
|
||||
#include "cpu/m6502/m6502.h"
|
||||
#include "machine/6522via.h"
|
||||
#include "machine/cbmipt.h"
|
||||
#include "machine/ieee488.h"
|
||||
#include "machine/vic20exp.h"
|
||||
|
||||
|
@ -315,3 +315,20 @@ void vic20_expansion_slot_device::cd_w(address_space &space, offs_t offset, UINT
|
||||
m_card->vic20_cd_w(space, offset, data, ram1, ram2, ram3, blk1, blk2, blk3, blk5, io2, io3);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// SLOT_INTERFACE( vic20_expansion_cards )
|
||||
//-------------------------------------------------
|
||||
|
||||
SLOT_INTERFACE_START( vic20_expansion_cards )
|
||||
SLOT_INTERFACE("exp", VIC1010)
|
||||
SLOT_INTERFACE("3k", VIC1210)
|
||||
SLOT_INTERFACE("8k", VIC1110)
|
||||
SLOT_INTERFACE("16k", VIC1111)
|
||||
|
||||
// the following need ROMs from the software list
|
||||
SLOT_INTERFACE_INTERNAL("standard", VIC20_STD)
|
||||
SLOT_INTERFACE_INTERNAL("ieee488", VIC1112)
|
||||
SLOT_INTERFACE_INTERNAL("megacart", VIC20_MEGACART)
|
||||
SLOT_INTERFACE_END
|
||||
|
@ -174,5 +174,17 @@ protected:
|
||||
extern const device_type VIC20_EXPANSION_SLOT;
|
||||
|
||||
|
||||
// slot devices
|
||||
#include "machine/vic1010.h"
|
||||
#include "machine/vic1110.h"
|
||||
#include "machine/vic1111.h"
|
||||
#include "machine/vic1112.h"
|
||||
#include "machine/vic1210.h"
|
||||
#include "machine/vic20std.h"
|
||||
#include "machine/vic20_megacart.h"
|
||||
|
||||
SLOT_INTERFACE_EXTERN( vic20_expansion_cards );
|
||||
|
||||
|
||||
|
||||
#endif
|
||||
|
@ -123,3 +123,12 @@ READ_LINE_MEMBER( vic20_user_port_device::cassette_switch_r ) { int state = 1; i
|
||||
WRITE_LINE_MEMBER( vic20_user_port_device::cb1_w ) { if (m_card != NULL) m_card->vic20_cb1_w(state); }
|
||||
WRITE_LINE_MEMBER( vic20_user_port_device::cb2_w ) { if (m_card != NULL) m_card->vic20_cb2_w(state); }
|
||||
WRITE_LINE_MEMBER( vic20_user_port_device::atn_w ) { if (m_card != NULL) m_card->vic20_atn_w(state); }
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// SLOT_INTERFACE( vic20_user_port_cards )
|
||||
//-------------------------------------------------
|
||||
|
||||
SLOT_INTERFACE_START( vic20_user_port_cards )
|
||||
SLOT_INTERFACE("rs232", VIC1011)
|
||||
SLOT_INTERFACE_END
|
||||
|
@ -146,5 +146,11 @@ protected:
|
||||
extern const device_type VIC20_USER_PORT;
|
||||
|
||||
|
||||
// slot devices
|
||||
#include "machine/vic1011.h"
|
||||
|
||||
SLOT_INTERFACE_EXTERN( vic20_user_port_cards );
|
||||
|
||||
|
||||
|
||||
#endif
|
||||
|
@ -747,6 +747,14 @@ $(MESSOBJ)/shared.a: \
|
||||
$(MESS_MACHINE)/hd63450.o \
|
||||
$(MESS_MACHINE)/i8271.o \
|
||||
$(MESS_MACHINE)/ieee488.o \
|
||||
$(MESS_MACHINE)/c2031.o \
|
||||
$(MESS_MACHINE)/c2040.o \
|
||||
$(MESS_MACHINE)/c8280.o \
|
||||
$(MESS_MACHINE)/d9060.o \
|
||||
$(MESS_MACHINE)/d9060hd.o \
|
||||
$(MESS_MACHINE)/softbox.o \
|
||||
$(MESS_MACHINE)/hardbox.o \
|
||||
$(MESS_MACHINE)/shark.o \
|
||||
$(MESS_MACHINE)/imi5000h.o \
|
||||
$(MESS_MACHINE)/kb3600.o \
|
||||
$(MESS_MACHINE)/keyboard.o \
|
||||
@ -1074,7 +1082,6 @@ $(MESSOBJ)/cbm.a: \
|
||||
$(MESS_MACHINE)/pet_64k.o \
|
||||
$(MESS_MACHINE)/superpet.o \
|
||||
$(MESS_MACHINE)/mos6702.o \
|
||||
$(MESS_MACHINE)/shark.o \
|
||||
$(MESS_DRIVERS)/c64.o \
|
||||
$(MESS_DRIVERS)/c64dtv.o \
|
||||
$(MESS_MACHINE)/c64/exp.o \
|
||||
@ -1187,20 +1194,11 @@ $(MESSOBJ)/cbm.a: \
|
||||
$(MESS_MACHINE)/c1551.o \
|
||||
$(MESS_MACHINE)/c1571.o \
|
||||
$(MESS_MACHINE)/c1581.o \
|
||||
$(MESS_MACHINE)/c2031.o \
|
||||
$(MESS_MACHINE)/c2040.o \
|
||||
$(MESS_MACHINE)/c8280.o \
|
||||
$(MESS_MACHINE)/d9060.o \
|
||||
$(MESS_MACHINE)/d9060hd.o \
|
||||
$(MESS_MACHINE)/serialbox.o \
|
||||
$(MESS_MACHINE)/c64_nl10.o \
|
||||
$(MESS_MACHINE)/softbox.o \
|
||||
$(MESS_MACHINE)/hardbox.o \
|
||||
$(MESS_MACHINE)/cmdhd.o \
|
||||
$(MESS_MACHINE)/fd2000.o \
|
||||
$(MESS_DRIVERS)/clcd.o \
|
||||
$(MESS_MACHINE)/cbm.o \
|
||||
$(MESS_MACHINE)/cbmipt.o \
|
||||
$(MESS_MACHINE)/64h156.o \
|
||||
$(MESS_MACHINE)/mos8722.o \
|
||||
$(MESS_MACHINE)/mos8726.o \
|
||||
|
Loading…
Reference in New Issue
Block a user