Previous 15994 Revisions Next

r10399 Saturday 12th February, 2011 at 22:12:49 UTC by Curt Coder
[M6800] Added HD6301 subtype.
[src/emu/cpu/m6800]6800dasm.c m6800.c m6800.h
[src/mess/drivers]atarist.c

src/emu/cpu/m6800/m6800.h
r10398r10399
5656DECLARE_LEGACY_CPU_DEVICE(M6802, m6802);
5757DECLARE_LEGACY_CPU_DEVICE(M6803, m6803);
5858DECLARE_LEGACY_CPU_DEVICE(M6808, m6808);
59DECLARE_LEGACY_CPU_DEVICE(HD6301, hd6301);
5960DECLARE_LEGACY_CPU_DEVICE(HD63701, hd63701);
6061DECLARE_LEGACY_CPU_DEVICE(NSC8105, nsc8105);
6162
r10398r10399
6768CPU_DISASSEMBLE( m6802 );
6869CPU_DISASSEMBLE( m6803 );
6970CPU_DISASSEMBLE( m6808 );
71CPU_DISASSEMBLE( hd6301 );
7072CPU_DISASSEMBLE( hd63701 );
7173CPU_DISASSEMBLE( nsc8105 );
7274
src/emu/cpu/m6800/6800dasm.c
r10398r10399
264264   return Dasm680x(6808,buffer,pc,oprom,opram);
265265}
266266
267CPU_DISASSEMBLE( hd6301 )
268{
269   return Dasm680x(6301,buffer,pc,oprom,opram);
270}
271
267272CPU_DISASSEMBLE( hd63701 )
268273{
269274   return Dasm680x(63701,buffer,pc,oprom,opram);
src/emu/cpu/m6800/m6800.c
r10398r10399
9999   SUBTYPE_M6802,
100100   SUBTYPE_M6803,
101101   SUBTYPE_M6808,
102   SUBTYPE_HD6301,
102103   SUBTYPE_HD63701,
103104   SUBTYPE_NSC8105
104105};
r10398r10399
176177         device->type() == M6802 ||
177178         device->type() == M6803 ||
178179         device->type() == M6808 ||
180         device->type() == HD6301 ||
179181         device->type() == HD63701 ||
180182         device->type() == NSC8105);
181183   return (m6800_state *)downcast<legacy_cpu_device *>(device)->token();
r10398r10399
12911293}
12921294
12931295/****************************************************************************
1294 * HD63701 similiar to the M6800
1296 * HD6301 similiar to the M6800
12951297 ****************************************************************************/
12961298
1299static CPU_INIT( hd6301 )
1300{
1301   m6800_state *cpustate = get_safe_token(device);
1302   //  cpustate->subtype = SUBTYPE_HD6301;
1303   cpustate->insn = hd63701_insn;
1304   cpustate->cycles = cycles_63701;
1305   cpustate->irq_callback = irqcallback;
1306   cpustate->device = device;
1307
1308   cpustate->program = device->space(AS_PROGRAM);
1309   cpustate->direct = &cpustate->program->direct();
1310   cpustate->data = device->space(AS_DATA);
1311   cpustate->io = device->space(AS_IO);
1312
1313   cpustate->clock = device->clock() / 4;
1314   cpustate->sci_timer = device->machine->scheduler().timer_alloc(FUNC(sci_tick), cpustate);
1315
1316   state_register(cpustate, "hd6301");
1317}
1318
1319/****************************************************************************
1320 * HD63701 similiar to the HD6301
1321 ****************************************************************************/
1322
12971323static CPU_INIT( hd63701 )
12981324{
12991325   m6800_state *cpustate = get_safe_token(device);
r10398r10399
20042030 * CPU-specific set_info
20052031 **************************************************************************/
20062032
2033CPU_GET_INFO( hd6301 )
2034{
2035   switch (state)
2036   {
2037      /* --- the following bits of info are returned as 64-bit signed integers --- */
2038      case CPUINFO_INT_CLOCK_DIVIDER:                     info->i = 4;               break;
2039      case DEVINFO_INT_DATABUS_WIDTH + ADDRESS_SPACE_IO:      info->i = 8;               break;
2040      case DEVINFO_INT_ADDRBUS_WIDTH + ADDRESS_SPACE_IO:      info->i = 9;               break;
2041
2042      /* --- the following bits of info are returned as pointers to data or functions --- */
2043      case CPUINFO_FCT_INIT:                     info->init = CPU_INIT_NAME(hd6301);            break;
2044      case CPUINFO_FCT_DISASSEMBLE:               info->disassemble = CPU_DISASSEMBLE_NAME(hd6301);      break;
2045
2046      /* --- the following bits of info are returned as NULL-terminated strings --- */
2047      case DEVINFO_STR_NAME:                     strcpy(info->s, "HD6301");            break;
2048
2049      default:                              CPU_GET_INFO_CALL(m6800);            break;
2050   }
2051}
2052
2053/**************************************************************************
2054 * CPU-specific set_info
2055 **************************************************************************/
2056
20072057CPU_GET_INFO( hd63701 )
20082058{
20092059   switch (state)
r10398r10399
20522102DEFINE_LEGACY_CPU_DEVICE(M6802, m6802);
20532103DEFINE_LEGACY_CPU_DEVICE(M6803, m6803);
20542104DEFINE_LEGACY_CPU_DEVICE(M6808, m6808);
2105DEFINE_LEGACY_CPU_DEVICE(HD6301, hd6301);
20552106DEFINE_LEGACY_CPU_DEVICE(HD63701, hd63701);
20562107DEFINE_LEGACY_CPU_DEVICE(NSC8105, nsc8105);
src/mess/drivers/atarist.c
r10398r10399
23732373   MCFG_CPU_ADD(M68000_TAG, M68000, Y2/4)
23742374   MCFG_CPU_PROGRAM_MAP(st_map)
23752375
2376   MCFG_CPU_ADD(HD6301V1_TAG, HD63701, XTAL_4MHz)
2376   MCFG_CPU_ADD(HD6301V1_TAG, HD6301, XTAL_4MHz)
23772377   MCFG_CPU_PROGRAM_MAP(ikbd_map)
23782378   MCFG_CPU_IO_MAP(ikbd_io_map)
23792379
r10398r10399
24242424   MCFG_CPU_ADD(M68000_TAG, M68000, Y2/4)
24252425   MCFG_CPU_PROGRAM_MAP(megast_map)
24262426
2427   MCFG_CPU_ADD(HD6301V1_TAG, HD63701, XTAL_4MHz)
2427   MCFG_CPU_ADD(HD6301V1_TAG, HD6301, XTAL_4MHz)
24282428   MCFG_CPU_PROGRAM_MAP(ikbd_map)
24292429   MCFG_CPU_IO_MAP(ikbd_io_map)
24302430
r10398r10399
24762476   MCFG_CPU_ADD(M68000_TAG, M68000, Y2/4)
24772477   MCFG_CPU_PROGRAM_MAP(ste_map)
24782478
2479   MCFG_CPU_ADD(HD6301V1_TAG, HD63701, XTAL_4MHz)
2479   MCFG_CPU_ADD(HD6301V1_TAG, HD6301, XTAL_4MHz)
24802480   MCFG_CPU_PROGRAM_MAP(ikbd_map)
24812481   MCFG_CPU_IO_MAP(ikbd_io_map)
24822482

Previous 15994 Revisions Next


© 1998-2018 The MESS Team