Previous 199869 Revisions Next

r22704 Wednesday 8th May, 2013 at 12:56:31 UTC by Miodrag Milanović
midtunit modernization and some cleanup (nw)
[src/emu/video]psx.c
[src/mame/includes]midtunit.h
[src/mame/machine]midtunit.c
[src/mess/machine]thomflop.c thomson.c

trunk/src/mame/machine/midtunit.c
r22703r22704
2020#define SOUND_DCS                   3
2121
2222
23/* CMOS-related variables */
24static UINT8    cmos_write_enable;
25
26/* sound-related variables */
27static UINT8    chip_type;
28static UINT8    fake_sound_state;
29
30/* protection */
31static UINT8    mk_prot_index;
32static UINT16   mk2_prot_data;
33
34static const UINT32 *nbajam_prot_table;
35static UINT16   nbajam_prot_queue[5];
36static UINT8    nbajam_prot_index;
37
38static const UINT8 *jdredd_prot_table;
39static UINT8    jdredd_prot_index;
40static UINT8    jdredd_prot_max;
41
42
43
4423/*************************************
4524 *
4625 *  State saving
4726 *
4827 *************************************/
4928
50static void register_state_saving(running_machine &machine)
29void midtunit_state::register_state_saving()
5130{
52   state_save_register_global(machine, cmos_write_enable);
53   state_save_register_global(machine, fake_sound_state);
54   state_save_register_global(machine, mk_prot_index);
55   state_save_register_global(machine, mk2_prot_data);
56   state_save_register_global_array(machine, nbajam_prot_queue);
57   state_save_register_global(machine, nbajam_prot_index);
58   state_save_register_global(machine, jdredd_prot_index);
59   state_save_register_global(machine, jdredd_prot_max);
31   state_save_register_global(machine(), cmos_write_enable);
32   state_save_register_global(machine(), fake_sound_state);
33   state_save_register_global(machine(), mk_prot_index);
34   state_save_register_global(machine(), mk2_prot_data);
35   state_save_register_global_array(machine(), nbajam_prot_queue);
36   state_save_register_global(machine(), nbajam_prot_index);
37   state_save_register_global(machine(), jdredd_prot_index);
38   state_save_register_global(machine(), jdredd_prot_max);
6039}
6140
6241
r22703r22704
407386 *
408387 *************************************/
409388
410static void init_tunit_generic(running_machine &machine, int sound)
389void midtunit_state::init_tunit_generic(int sound)
411390{
412391   /* register for state saving */
413   register_state_saving(machine);
392   register_state_saving();
414393
415394   /* load sound ROMs and set up sound handlers */
416395   chip_type = sound;
r22703r22704
421400         break;
422401
423402      case SOUND_DCS:
424         dcs_init(machine);
403         dcs_init(machine());
425404         break;
426405   }
427406
r22703r22704
442421DRIVER_INIT_MEMBER(midtunit_state,mktunit)
443422{
444423   /* common init */
445   init_tunit_generic(machine(), SOUND_ADPCM);
424   init_tunit_generic(SOUND_ADPCM);
446425
447426   /* protection */
448427   m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0x1b00000, 0x1b6ffff, read16_delegate(FUNC(midtunit_state::mk_prot_r),this), write16_delegate(FUNC(midtunit_state::mk_prot_w),this));
r22703r22704
460439}
461440
462441
463static void init_nbajam_common(running_machine &machine, int te_protection)
442void midtunit_state::init_nbajam_common(int te_protection)
464443{
465444   /* common init */
466   init_tunit_generic(machine, SOUND_ADPCM_LARGE);
467   midtunit_state *state = machine.driver_data<midtunit_state>();
445   init_tunit_generic(SOUND_ADPCM_LARGE);
468446   /* protection */
469447   if (!te_protection)
470448   {
471449      nbajam_prot_table = nbajam_prot_values;
472      state->m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0x1b14020, 0x1b2503f, read16_delegate(FUNC(midtunit_state::nbajam_prot_r),state), write16_delegate(FUNC(midtunit_state::nbajam_prot_w),state));
450      m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0x1b14020, 0x1b2503f, read16_delegate(FUNC(midtunit_state::nbajam_prot_r),this), write16_delegate(FUNC(midtunit_state::nbajam_prot_w),this));
473451   }
474452   else
475453   {
476454      nbajam_prot_table = nbajamte_prot_values;
477      state->m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0x1b15f40, 0x1b37f5f, read16_delegate(FUNC(midtunit_state::nbajam_prot_r),state), write16_delegate(FUNC(midtunit_state::nbajam_prot_w),state));
478      state->m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0x1b95f40, 0x1bb7f5f, read16_delegate(FUNC(midtunit_state::nbajam_prot_r),state), write16_delegate(FUNC(midtunit_state::nbajam_prot_w),state));
455      m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0x1b15f40, 0x1b37f5f, read16_delegate(FUNC(midtunit_state::nbajam_prot_r),this), write16_delegate(FUNC(midtunit_state::nbajam_prot_w),this));
456      m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0x1b95f40, 0x1bb7f5f, read16_delegate(FUNC(midtunit_state::nbajam_prot_r),this), write16_delegate(FUNC(midtunit_state::nbajam_prot_w),this));
479457   }
480458
481459   /* sound chip protection (hidden RAM) */
482460   if (!te_protection)
483      machine.device("adpcm:cpu")->memory().space(AS_PROGRAM).install_ram(0xfbaa, 0xfbd4);
461      machine().device("adpcm:cpu")->memory().space(AS_PROGRAM).install_ram(0xfbaa, 0xfbd4);
484462   else
485      machine.device("adpcm:cpu")->memory().space(AS_PROGRAM).install_ram(0xfbec, 0xfc16);
463      machine().device("adpcm:cpu")->memory().space(AS_PROGRAM).install_ram(0xfbec, 0xfc16);
486464}
487465
488466DRIVER_INIT_MEMBER(midtunit_state,nbajam)
489467{
490   init_nbajam_common(machine(), 0);
468   init_nbajam_common(0);
491469}
492470
493471DRIVER_INIT_MEMBER(midtunit_state,nbajamte)
494472{
495   init_nbajam_common(machine(), 1);
473   init_nbajam_common(1);
496474}
497475
498476DRIVER_INIT_MEMBER(midtunit_state,jdreddp)
499477{
500478   /* common init */
501   init_tunit_generic(machine(), SOUND_ADPCM_LARGE);
479   init_tunit_generic(SOUND_ADPCM_LARGE);
502480
503481   /* looks like the watchdog needs to be disabled */
504482   m_maincpu->space(AS_PROGRAM).nop_write(0x01d81060, 0x01d8107f);
r22703r22704
530508DRIVER_INIT_MEMBER(midtunit_state,mk2)
531509{
532510   /* common init */
533   init_tunit_generic(machine(), SOUND_DCS);
511   init_tunit_generic(SOUND_DCS);
534512   midtunit_gfx_rom_large = 1;
535513
536514   /* protection */
trunk/src/mame/includes/midtunit.h
r22703r22704
6868   DECLARE_VIDEO_START(midtunit);
6969   TIMER_CALLBACK_MEMBER(dma_callback);
7070   required_device<cpu_device> m_maincpu;
71   void register_state_saving();
72   void init_tunit_generic(int sound);
73   void init_nbajam_common(int te_protection);
74   
75   /* CMOS-related variables */
76   UINT8    cmos_write_enable;
77
78   /* sound-related variables */
79   UINT8    chip_type;
80   UINT8    fake_sound_state;
81
82   /* protection */
83   UINT8    mk_prot_index;
84   UINT16   mk2_prot_data;
85
86   const UINT32 *nbajam_prot_table;
87   UINT16   nbajam_prot_queue[5];
88   UINT8    nbajam_prot_index;
89
90   const UINT8 *jdredd_prot_table;
91   UINT8    jdredd_prot_index;
92   UINT8    jdredd_prot_max;
93   
7194};
7295/*----------- defined in video/midtunit.c -----------*/
7396extern UINT8 midtunit_gfx_rom_large;
trunk/src/emu/video/psx.c
r22703r22704
568568   machine().save().save_memory( "globals", NULL, 0, "m_packet", (UINT8 *)&m_packet, 1, sizeof( m_packet ) );
569569
570570   state_save_register_global_pointer( machine(), p_vram, width * height );
571   state_save_register_global( machine(), n_gpu_buffer_offset );
572   state_save_register_global( machine(), n_vramx );
573   state_save_register_global( machine(), n_vramy );
574   state_save_register_global( machine(), n_twy );
575   state_save_register_global( machine(), n_twx );
576   state_save_register_global( machine(), n_tww );
577   state_save_register_global( machine(), n_drawarea_x1 );
578   state_save_register_global( machine(), n_drawarea_y1 );
579   state_save_register_global( machine(), n_drawarea_x2 );
580   state_save_register_global( machine(), n_drawarea_y2 );
581   state_save_register_global( machine(), n_horiz_disstart );
582   state_save_register_global( machine(), n_horiz_disend );
583   state_save_register_global( machine(), n_vert_disstart );
584   state_save_register_global( machine(), n_vert_disend );
585   state_save_register_global( machine(), b_reverseflag );
586   state_save_register_global( machine(), n_drawoffset_x );
587   state_save_register_global( machine(), n_drawoffset_y );
588   state_save_register_global( machine(), m_n_displaystartx );
589   state_save_register_global( machine(), n_displaystarty );
590   state_save_register_global( machine(), n_gpustatus );
591   state_save_register_global( machine(), n_gpuinfo );
592   state_save_register_global( machine(), n_lightgun_x );
593   state_save_register_global( machine(), n_lightgun_y );
594   state_save_register_global( machine(), m_n_tx );
595   state_save_register_global( machine(), m_n_ty );
596   state_save_register_global( machine(), n_abr );
597   state_save_register_global( machine(), n_tp );
598   state_save_register_global( machine(), n_ix );
599   state_save_register_global( machine(), n_iy );
600   state_save_register_global( machine(), n_ti );
571   state_save_register_global(machine(), n_gpu_buffer_offset );
572   state_save_register_global(machine(), n_vramx );
573   state_save_register_global(machine(), n_vramy );
574   state_save_register_global(machine(), n_twy );
575   state_save_register_global(machine(), n_twx );
576   state_save_register_global(machine(), n_tww );
577   state_save_register_global(machine(), n_drawarea_x1 );
578   state_save_register_global(machine(), n_drawarea_y1 );
579   state_save_register_global(machine(), n_drawarea_x2 );
580   state_save_register_global(machine(), n_drawarea_y2 );
581   state_save_register_global(machine(), n_horiz_disstart );
582   state_save_register_global(machine(), n_horiz_disend );
583   state_save_register_global(machine(), n_vert_disstart );
584   state_save_register_global(machine(), n_vert_disend );
585   state_save_register_global(machine(), b_reverseflag );
586   state_save_register_global(machine(), n_drawoffset_x );
587   state_save_register_global(machine(), n_drawoffset_y );
588   state_save_register_global(machine(), m_n_displaystartx );
589   state_save_register_global(machine(), n_displaystarty );
590   state_save_register_global(machine(), n_gpustatus );
591   state_save_register_global(machine(), n_gpuinfo );
592   state_save_register_global(machine(), n_lightgun_x );
593   state_save_register_global(machine(), n_lightgun_y );
594   state_save_register_global(machine(), m_n_tx );
595   state_save_register_global(machine(), m_n_ty );
596   state_save_register_global(machine(), n_abr );
597   state_save_register_global(machine(), n_tp );
598   state_save_register_global(machine(), n_ix );
599   state_save_register_global(machine(), n_iy );
600   state_save_register_global(machine(), n_ti );
601601
602602   machine().save().register_postload( save_prepost_delegate( FUNC( psxgpu_device::updatevisiblearea ), this ) );
603603}
trunk/src/mess/machine/thomflop.c
r22703r22704
340340void thomson_state::to7_5p14_init()
341341{
342342   LOG(( "to7_5p14_init: CD 90-640 controller\n" ));
343   state_save_register_global( machine(), to7_5p14_select );
343   state_save_register_global(machine(), to7_5p14_select );
344344}
345345
346346
r22703r22704
447447void thomson_state::to7_5p14sd_init()
448448{
449449   LOG(( "to7_5p14sd_init: CD 90-015 controller\n" ));
450   state_save_register_global( machine(), to7_5p14sd_select );
450   state_save_register_global(machine(), to7_5p14sd_select );
451451}
452452
453453
r22703r22704
858858
859859   to7qdd = auto_alloc(machine(), to7qdd_t);
860860
861   state_save_register_global( machine(), to7qdd->status );
862   state_save_register_global( machine(), to7qdd->ctrl1 );
863   state_save_register_global( machine(), to7qdd->ctrl2 );
864   state_save_register_global( machine(), to7qdd->ctrl3 );
865   state_save_register_global( machine(), to7qdd->drive );
866   state_save_register_global( machine(), to7qdd->data_idx );
867   state_save_register_global( machine(), to7qdd->start_idx );
868   state_save_register_global( machine(), to7qdd->data_size );
869   state_save_register_global( machine(), to7qdd->data_crc );
870   state_save_register_global( machine(), to7qdd->index_pulse );
871   state_save_register_global_array( machine(), to7qdd->data );
861   state_save_register_global(machine(), to7qdd->status );
862   state_save_register_global(machine(), to7qdd->ctrl1 );
863   state_save_register_global(machine(), to7qdd->ctrl2 );
864   state_save_register_global(machine(), to7qdd->ctrl3 );
865   state_save_register_global(machine(), to7qdd->drive );
866   state_save_register_global(machine(), to7qdd->data_idx );
867   state_save_register_global(machine(), to7qdd->start_idx );
868   state_save_register_global(machine(), to7qdd->data_size );
869   state_save_register_global(machine(), to7qdd->data_crc );
870   state_save_register_global(machine(), to7qdd->index_pulse );
871   state_save_register_global_array(machine(), to7qdd->data );
872872}
873873
874874
r22703r22704
15541554
15551555   thmfc_floppy_cmd = machine().scheduler().timer_alloc(timer_expired_delegate(FUNC(thomson_state::thmfc_floppy_cmd_complete_cb),this));
15561556
1557   state_save_register_global( machine(), thmfc1->op );
1558   state_save_register_global( machine(), thmfc1->sector );
1559   state_save_register_global( machine(), thmfc1->sector_id );
1560   state_save_register_global( machine(), thmfc1->track );
1561   state_save_register_global( machine(), thmfc1->side );
1562   state_save_register_global( machine(), thmfc1->drive );
1563   state_save_register_global( machine(), thmfc1->sector_size );
1564   state_save_register_global( machine(), thmfc1->formatting );
1565   state_save_register_global( machine(), thmfc1->ipl );
1566   state_save_register_global( machine(), thmfc1->data_idx );
1567   state_save_register_global( machine(), thmfc1->data_size );
1568   state_save_register_global( machine(), thmfc1->data_finish );
1569   state_save_register_global( machine(), thmfc1->stat0 );
1570   state_save_register_global( machine(), thmfc1->data_raw_idx );
1571   state_save_register_global( machine(), thmfc1->data_raw_size );
1572   state_save_register_global( machine(), thmfc1->data_crc );
1573   state_save_register_global( machine(), thmfc1->wsync );
1574   state_save_register_global_array( machine(), thmfc1->data );
1557   state_save_register_global(machine(), thmfc1->op );
1558   state_save_register_global(machine(), thmfc1->sector );
1559   state_save_register_global(machine(), thmfc1->sector_id );
1560   state_save_register_global(machine(), thmfc1->track );
1561   state_save_register_global(machine(), thmfc1->side );
1562   state_save_register_global(machine(), thmfc1->drive );
1563   state_save_register_global(machine(), thmfc1->sector_size );
1564   state_save_register_global(machine(), thmfc1->formatting );
1565   state_save_register_global(machine(), thmfc1->ipl );
1566   state_save_register_global(machine(), thmfc1->data_idx );
1567   state_save_register_global(machine(), thmfc1->data_size );
1568   state_save_register_global(machine(), thmfc1->data_finish );
1569   state_save_register_global(machine(), thmfc1->stat0 );
1570   state_save_register_global(machine(), thmfc1->data_raw_idx );
1571   state_save_register_global(machine(), thmfc1->data_raw_size );
1572   state_save_register_global(machine(), thmfc1->data_crc );
1573   state_save_register_global(machine(), thmfc1->wsync );
1574   state_save_register_global_array(machine(), thmfc1->data );
15751575}
15761576
15771577
r22703r22704
17521752void thomson_state::to7_floppy_init( void* base )
17531753{
17541754   membank( THOM_FLOP_BANK )->configure_entries( 0, TO7_NB_FLOP_BANK, base, 0x800 );
1755   state_save_register_global( machine(), to7_controller_type );
1756   state_save_register_global( machine(), to7_floppy_bank );
1755   state_save_register_global(machine(), to7_controller_type );
1756   state_save_register_global(machine(), to7_floppy_bank );
17571757   to7_5p14sd_init();
17581758   to7_5p14_init();
17591759   to7_qdd_init();
trunk/src/mess/machine/thomson.c
r22703r22704
13261326{
13271327   LOG (( "to7_midi_init\n" ));
13281328   to7_midi_chardev = chardev_open( &machine, "/dev/snd/midiC0D0", "/dev/snd/midiC0D1", &to7_midi_interface );
1329   state_save_register_global( machine, to7_midi_status );
1330   state_save_register_global( machine, to7_midi_overrun );
1331   state_save_register_global( machine, to7_midi_intr );
1329   state_save_register_global(machine(), to7_midi_status );
1330   state_save_register_global(machine(), to7_midi_overrun );
1331   state_save_register_global(machine(), to7_midi_intr );
13321332}
13331333
13341334
r22703r22704
22972297   m_to9_palette_idx = 0;
22982298   memset( m_to9_palette_data, 0, sizeof( m_to9_palette_data ) );
22992299   save_item(NAME(m_to9_palette_idx));
2300   state_save_register_global_array( machine(), m_to9_palette_data );
2300   state_save_register_global_array(machine(), m_to9_palette_data);
23012301}
23022302
23032303

Previous 199869 Revisions Next


© 1997-2024 The MAME Team