1
/***************************************************************************
7
Skeleton driver, not working
9
***************************************************************************/
13
#include "cpu/m6800/m6800.h"
14
#include "machine/upd765.h"
17
/***************************************************************************
19
***************************************************************************/
21
typedef struct _pf10_state pf10_state;
28
/*****************************************************************************
30
*****************************************************************************/
32
INLINE pf10_state *get_safe_token(device_t *device)
34
assert(device != NULL);
35
assert(device->type() == PF10);
37
return (pf10_state *)downcast<legacy_device_base *>(device)->token();
41
/*****************************************************************************
43
*****************************************************************************/
45
static ADDRESS_MAP_START( pf10_mem, AS_PROGRAM, 8 )
46
AM_RANGE(0x0040, 0x013f) AM_RAM /* internal ram */
47
AM_RANGE(0x0800, 0x0fff) AM_RAM /* external 2k ram */
48
AM_RANGE(0xe000, 0xffff) AM_ROM AM_REGION("pf10", 0)
51
static ADDRESS_MAP_START( pf10_io, AS_IO, 8 )
52
ADDRESS_MAP_UNMAP_HIGH
53
ADDRESS_MAP_GLOBAL_MASK(0xff)
57
/*****************************************************************************
59
*****************************************************************************/
61
static const upd765_interface pf10_upd765a_intf =
63
DEVCB_NULL, /* interrupt line */
66
UPD765_RDY_PIN_NOT_CONNECTED, /* ??? */
67
{NULL, NULL, NULL, NULL}
70
static MACHINE_CONFIG_FRAGMENT( pf10 )
71
MCFG_CPU_ADD("pf10", M6803, XTAL_2_4576MHz / 4 /* ??? */) /* HD63A03 */
72
MCFG_CPU_PROGRAM_MAP(pf10_mem)
73
MCFG_CPU_IO_MAP(pf10_io)
75
MCFG_UPD765A_ADD("upd765a", pf10_upd765a_intf)
79
/***************************************************************************
81
***************************************************************************/
84
ROM_REGION(0x2000, "pf10", ROMREGION_LOADBYNAME)
85
ROM_LOAD("k3pf1.bin", 0x0000, 0x2000, CRC(eef4593a) SHA1(bb176e4baf938fe58c2d32f7c46d7bb7b0627755))
89
/*****************************************************************************
91
*****************************************************************************/
93
static DEVICE_START( pf10 )
95
pf10_state *pf10 = get_safe_token(device);
100
static DEVICE_RESET( pf10 )
104
DEVICE_GET_INFO( pf10 )
108
/* --- the following bits of info are returned as 64-bit signed integers --- */
109
case DEVINFO_INT_TOKEN_BYTES: info->i = sizeof(pf10_state); break;
110
case DEVINFO_INT_INLINE_CONFIG_BYTES: info->i = 0; break;
112
/* --- the following bits of info are returned as pointers --- */
113
case DEVINFO_PTR_MACHINE_CONFIG: info->machine_config = MACHINE_CONFIG_NAME(pf10); break;
114
case DEVINFO_PTR_ROM_REGION: info->romregion = ROM_NAME(pf10); break;
116
/* --- the following bits of info are returned as pointers to data or functions --- */
117
case DEVINFO_FCT_START: info->start = DEVICE_START_NAME(pf10); break;
118
case DEVINFO_FCT_STOP: /* Nothing */ break;
119
case DEVINFO_FCT_RESET: info->reset = DEVICE_RESET_NAME(pf10); break;
121
/* --- the following bits of info are returned as NULL-terminated strings --- */
122
case DEVINFO_STR_NAME: strcpy(info->s, "PF-10"); break;
123
case DEVINFO_STR_FAMILY: strcpy(info->s, "Floppy drive"); break;
124
case DEVINFO_STR_VERSION: strcpy(info->s, "1.0"); break;
125
case DEVINFO_STR_SOURCE_FILE: strcpy(info->s, __FILE__); break;
126
case DEVINFO_STR_CREDITS: strcpy(info->s, "Copyright MESS Team"); break;
131
/***************************************************************************
133
***************************************************************************/
135
/* serial interface in (to the host computer) */
136
READ_LINE_DEVICE_HANDLER( pf10_txd1_r )
138
logerror("%s: pf10_txd1_r\n", device->machine().describe_context());
143
WRITE_LINE_DEVICE_HANDLER( pf10_rxd1_w )
145
logerror("%s: pf10_rxd1_w %u\n", device->machine().describe_context(), state);
149
/* serial interface out (to another floppy drive) */
150
READ_LINE_DEVICE_HANDLER( pf10_txd2_r )
152
logerror("%s: pf10_txd2_r\n", device->machine().describe_context());
157
WRITE_LINE_DEVICE_HANDLER( pf10_rxd2_w )
159
logerror("%s: pf10_rxd2_w %u\n", device->machine().describe_context(), state);
162
DEFINE_LEGACY_DEVICE(PF10, pf10);