~ubuntu-branches/debian/sid/mame/sid

« back to all changes in this revision

Viewing changes to src/emu/cpu/h83002/h8_16.c

  • Committer: Bazaar Package Importer
  • Author(s): Jordi Mallach, Emmanuel Kasper, Félix Arreola Rodríguez, Jordi Mallach
  • Date: 2011-05-11 21:06:50 UTC
  • mfrom: (1.1.1 upstream)
  • Revision ID: james.westby@ubuntu.com-20110511210650-jizvh8a6x117y9hr
Tags: 0.142-1
[ Emmanuel Kasper ]
* New upstream release
* Set NOWERROR=1 to allow compiling with gcc-4.6
* Remove fix_powerpc_build.patch, as upstream has taken it in this release
* Add gnome-video-arcade front end as a suggested package

[ Félix Arreola Rodríguez ]
* Add kfreebsd-build.patch to quilt series, to fix build on kfreebsd

[ Jordi Mallach ]
* Remove unneeded and bogus addition of --with-quilt to the dh invocation.
* Add Cesare Falco (long time Ubuntu maintainer) to Uploaders, and wrap
  them into multiple lines.

Show diffs side-by-side

added added

removed removed

Lines of Context:
101
101
 
102
102
static char *h8_get_ccr_str(h83xx_state *h8)
103
103
{
104
 
        static char res[8];
 
104
        static char res[10];
105
105
 
106
 
        memset(res, 0, 8);
 
106
        memset(res, 0, sizeof(res));
107
107
        if(h8->h8iflag) strcat(res, "I"); else strcat(res, "i");
108
108
        if(h8->h8uiflag)strcat(res, "U"); else strcat(res, "u");
109
109
        if(h8->h8hflag) strcat(res, "H"); else strcat(res, "h");
224
224
        h8->direct = &h8->program->direct();
225
225
        h8->io = device->space(AS_IO);
226
226
 
227
 
        state_save_register_device_item(device, 0, h8->h8err);
228
 
        state_save_register_device_item_array(device, 0, h8->regs);
229
 
        state_save_register_device_item(device, 0, h8->pc);
230
 
        state_save_register_device_item(device, 0, h8->ppc);
231
 
        state_save_register_device_item(device, 0, h8->h8_IRQrequestH);
232
 
        state_save_register_device_item(device, 0, h8->h8_IRQrequestL);
233
 
        state_save_register_device_item(device, 0, h8->ccr);
234
 
        state_save_register_device_item(device, 0, h8->mode_8bit);
235
 
 
236
 
        state_save_register_device_item_array(device, 0, h8->per_regs);
237
 
        state_save_register_device_item(device, 0, h8->h8TSTR);
238
 
        state_save_register_device_item_array(device, 0, h8->h8TCNT);
239
 
 
240
 
        state_save_register_postload(device->machine, h8_onstateload, h8);
 
227
        device->save_item(NAME(h8->h8err));
 
228
        device->save_item(NAME(h8->regs));
 
229
        device->save_item(NAME(h8->pc));
 
230
        device->save_item(NAME(h8->ppc));
 
231
        device->save_item(NAME(h8->h8_IRQrequestH));
 
232
        device->save_item(NAME(h8->h8_IRQrequestL));
 
233
        device->save_item(NAME(h8->ccr));
 
234
        device->save_item(NAME(h8->mode_8bit));
 
235
 
 
236
        device->save_item(NAME(h8->per_regs));
 
237
        device->save_item(NAME(h8->h8TSTR));
 
238
        device->save_item(NAME(h8->h8TCNT));
 
239
 
 
240
        device->machine().state().register_postload(h8_onstateload, h8);
241
241
 
242
242
        h8_itu_init(h8);
243
243
}
430
430
 
431
431
static READ16_HANDLER( h8_itu_r )
432
432
{
433
 
        h83xx_state *h8 = get_safe_token(space->cpu);
 
433
        h83xx_state *h8 = get_safe_token(&space->device());
434
434
 
435
435
        if (mem_mask == 0xffff)
436
436
        {
451
451
 
452
452
static WRITE16_HANDLER( h8_itu_w )
453
453
{
454
 
        h83xx_state *h8 = get_safe_token(space->cpu);
 
454
        h83xx_state *h8 = get_safe_token(&space->device());
455
455
 
456
456
        if (mem_mask == 0xffff)
457
457
        {
471
471
 
472
472
static READ16_HANDLER( h8_3007_itu_r )
473
473
{
474
 
        h83xx_state *h8 = get_safe_token(space->cpu);
 
474
        h83xx_state *h8 = get_safe_token(&space->device());
475
475
 
476
476
        if (mem_mask == 0xffff)
477
477
        {
491
491
}
492
492
static WRITE16_HANDLER( h8_3007_itu_w )
493
493
{
494
 
        h83xx_state *h8 = get_safe_token(space->cpu);
 
494
        h83xx_state *h8 = get_safe_token(&space->device());
495
495
 
496
496
        if (mem_mask == 0xffff)
497
497
        {
511
511
 
512
512
static READ16_HANDLER( h8_3007_itu1_r )
513
513
{
514
 
        h83xx_state *h8 = get_safe_token(space->cpu);
 
514
        h83xx_state *h8 = get_safe_token(&space->device());
515
515
 
516
516
        if (mem_mask == 0xffff)
517
517
        {
531
531
}
532
532
static WRITE16_HANDLER( h8_3007_itu1_w )
533
533
{
534
 
        h83xx_state *h8 = get_safe_token(space->cpu);
 
534
        h83xx_state *h8 = get_safe_token(&space->device());
535
535
 
536
536
        if (mem_mask == 0xffff)
537
537
        {
550
550
}
551
551
 
552
552
// On-board RAM and peripherals
553
 
static ADDRESS_MAP_START( h8_3002_internal_map, ADDRESS_SPACE_PROGRAM, 16 )
 
553
static ADDRESS_MAP_START( h8_3002_internal_map, AS_PROGRAM, 16 )
554
554
        // 512B RAM
555
555
        AM_RANGE(0xfffd10, 0xffff0f) AM_RAM
556
556
        AM_RANGE(0xffff10, 0xffffff) AM_READWRITE( h8_itu_r, h8_itu_w )
557
557
ADDRESS_MAP_END
558
558
 
559
 
static ADDRESS_MAP_START( h8_3044_internal_map, ADDRESS_SPACE_PROGRAM, 16 )
 
559
static ADDRESS_MAP_START( h8_3044_internal_map, AS_PROGRAM, 16 )
560
560
        // 32k ROM, 2k RAM
561
561
        AM_RANGE(0xfff710, 0xffff0f) AM_RAM
562
562
        AM_RANGE(0xffff1c, 0xffffff) AM_READWRITE( h8_itu_r, h8_itu_w )
563
563
ADDRESS_MAP_END
564
564
 
565
 
static ADDRESS_MAP_START( h8_3007_internal_map, ADDRESS_SPACE_PROGRAM, 16 )
 
565
static ADDRESS_MAP_START( h8_3007_internal_map, AS_PROGRAM, 16 )
566
566
        // ROM-less, 4k RAM
567
567
        AM_RANGE(0xfee000, 0xfee0ff) AM_READWRITE( h8_3007_itu1_r, h8_3007_itu1_w )
568
568
        AM_RANGE(0xffef20, 0xffff1f) AM_RAM
588
588
        case CPUINFO_INT_MAX_INSTRUCTION_BYTES:         info->i           = 10;                                                 break;
589
589
 
590
590
                // Bus sizes
591
 
        case DEVINFO_INT_DATABUS_WIDTH + ADDRESS_SPACE_PROGRAM: info->i = 16;                                           break;
592
 
        case DEVINFO_INT_ADDRBUS_WIDTH + ADDRESS_SPACE_PROGRAM: info->i = 24;                                           break;
593
 
        case DEVINFO_INT_ADDRBUS_SHIFT + ADDRESS_SPACE_PROGRAM: info->i = 0;                                            break;
594
 
        case DEVINFO_INT_DATABUS_WIDTH + ADDRESS_SPACE_DATA:    info->i = 0;                                            break;
595
 
        case DEVINFO_INT_ADDRBUS_WIDTH + ADDRESS_SPACE_DATA:    info->i = 0;                                            break;
596
 
        case DEVINFO_INT_ADDRBUS_SHIFT + ADDRESS_SPACE_DATA:    info->i = 0;                                            break;
597
 
        case DEVINFO_INT_DATABUS_WIDTH + ADDRESS_SPACE_IO:              info->i = 8;                                            break;
598
 
        case DEVINFO_INT_ADDRBUS_WIDTH + ADDRESS_SPACE_IO:              info->i = 16;                                           break;
599
 
        case DEVINFO_INT_ADDRBUS_SHIFT + ADDRESS_SPACE_IO:              info->i = 0;                                            break;
 
591
        case DEVINFO_INT_DATABUS_WIDTH + AS_PROGRAM:    info->i = 16;                                           break;
 
592
        case DEVINFO_INT_ADDRBUS_WIDTH + AS_PROGRAM:    info->i = 24;                                           break;
 
593
        case DEVINFO_INT_ADDRBUS_SHIFT + AS_PROGRAM:    info->i = 0;                                            break;
 
594
        case DEVINFO_INT_DATABUS_WIDTH + AS_DATA:       info->i = 0;                                            break;
 
595
        case DEVINFO_INT_ADDRBUS_WIDTH + AS_DATA:       info->i = 0;                                            break;
 
596
        case DEVINFO_INT_ADDRBUS_SHIFT + AS_DATA:       info->i = 0;                                            break;
 
597
        case DEVINFO_INT_DATABUS_WIDTH + AS_IO:         info->i = 8;                                            break;
 
598
        case DEVINFO_INT_ADDRBUS_WIDTH + AS_IO:         info->i = 16;                                           break;
 
599
        case DEVINFO_INT_ADDRBUS_SHIFT + AS_IO:         info->i = 0;                                            break;
600
600
 
601
601
                // Internal maps
602
 
        case DEVINFO_PTR_INTERNAL_MEMORY_MAP + ADDRESS_SPACE_PROGRAM: info->internal_map16 = ADDRESS_MAP_NAME(h8_3002_internal_map); break;
603
 
        case DEVINFO_PTR_INTERNAL_MEMORY_MAP + ADDRESS_SPACE_DATA:    info->internal_map16 = NULL;      break;
604
 
        case DEVINFO_PTR_INTERNAL_MEMORY_MAP + ADDRESS_SPACE_IO:      info->internal_map16 = NULL;      break;
 
602
        case DEVINFO_PTR_INTERNAL_MEMORY_MAP + AS_PROGRAM: info->internal_map16 = ADDRESS_MAP_NAME(h8_3002_internal_map); break;
 
603
        case DEVINFO_PTR_INTERNAL_MEMORY_MAP + AS_DATA:    info->internal_map16 = NULL; break;
 
604
        case DEVINFO_PTR_INTERNAL_MEMORY_MAP + AS_IO:      info->internal_map16 = NULL; break;
605
605
 
606
606
                // CPU misc parameters
607
607
        case DEVINFO_STR_NAME:                                          strcpy(info->s, "H8/3002");                                             break;
648
648
{
649
649
        switch (state)
650
650
        {
651
 
                case DEVINFO_PTR_INTERNAL_MEMORY_MAP + ADDRESS_SPACE_PROGRAM: info->internal_map16 = ADDRESS_MAP_NAME(h8_3044_internal_map);  break;
 
651
                case DEVINFO_PTR_INTERNAL_MEMORY_MAP + AS_PROGRAM: info->internal_map16 = ADDRESS_MAP_NAME(h8_3044_internal_map);  break;
652
652
                case CPUINFO_FCT_DISASSEMBLE:                           info->disassemble = CPU_DISASSEMBLE_NAME(h8_24);                                        break;
653
653
                case DEVINFO_STR_NAME:                          strcpy(info->s, "H8/3044");      break;
654
654
                default:
660
660
{
661
661
        switch (state)
662
662
        {
663
 
                case DEVINFO_PTR_INTERNAL_MEMORY_MAP + ADDRESS_SPACE_PROGRAM: info->internal_map16 = ADDRESS_MAP_NAME(h8_3007_internal_map);  break;
 
663
                case DEVINFO_PTR_INTERNAL_MEMORY_MAP + AS_PROGRAM: info->internal_map16 = ADDRESS_MAP_NAME(h8_3007_internal_map);  break;
664
664
                case CPUINFO_FCT_INIT:                          info->init = CPU_INIT_NAME(h8_3007);            break;
665
665
                case DEVINFO_STR_NAME:                          strcpy(info->s, "H8/3007");             break;
666
666
                default: