Previous 199869 Revisions Next

r32782 Friday 17th October, 2014 at 07:56:41 UTC by Miodrag Milanović
From Fabio (nw)
-hector: creates a machine fragment for the sound components which are shared among hector and interact to avoid duplicate code

-specialist : makes static the specimx palette because it is not used outside video/specimx,c

-pce: fixed MT5734 by adding support for 192k images
[src/emu/bus/pce]pce_slot.c
[src/mess/drivers]hec2hrp.c interact.c
[src/mess/includes]hec2hrp.h special.h
[src/mess/machine]hec2hrp.c
[src/mess/video]special.c

trunk/src/emu/bus/pce/pce_slot.c
r32781r32782
44    PC-Engine / Turbografx-16 cart emulation
55    (through slot devices)
66
7 TODO:
8   - reimplement cart mirroring in a better way
9 
710 ***********************************************************************************************************/
811
912
r32781r32782
8588      rom_bank_map[6] = 2;
8689      rom_bank_map[7] = 2;
8790   }
91   else if (size == 0x30000)
92   {
93      // 192K images (some demos)
94      rom_bank_map[0] = 0;
95      rom_bank_map[1] = 1;
96      rom_bank_map[2] = 2;
97      rom_bank_map[3] = 2;
98      rom_bank_map[4] = 0;
99      rom_bank_map[5] = 1;
100      rom_bank_map[6] = 2;
101      rom_bank_map[7] = 2;
102   }
88103   else
89104   {
90105      int i;
trunk/src/mess/drivers/hec2hrp.c
r32781r32782
379379   hector_reset(1, 0);
380380}
381381
382/* Discrete Sound */
383static DISCRETE_SOUND_START( hec2hrp )
384   DISCRETE_INPUT_LOGIC(NODE_01)
385   DISCRETE_OUTPUT(NODE_01, 5000)
386DISCRETE_SOUND_END
387
388382/***********************************************************/
389383/********* mini disque interface ***************************/
390384/***********************************************************/
r32781r32782
419413   MCFG_PALETTE_ADD("palette", 16)
420414   MCFG_VIDEO_START_OVERRIDE(hec2hrp_state,hec2hrp)
421415
422   /* sound hardware */
423   MCFG_SPEAKER_STANDARD_MONO("mono")
424   MCFG_SOUND_WAVE_ADD(WAVE_TAG, "cassette")
425   MCFG_SOUND_ROUTE(0, "mono", 0.25)
416   MCFG_FRAGMENT_ADD(hector_audio)
426417
427   MCFG_SOUND_ADD("sn76477", SN76477, 0)
428   MCFG_SN76477_NOISE_PARAMS(RES_K(47), RES_K(330), CAP_P(390)) // noise + filter
429   MCFG_SN76477_DECAY_RES(RES_K(680))                  // decay_res
430   MCFG_SN76477_ATTACK_PARAMS(CAP_U(47), RES_K(180))   // attack_decay_cap + attack_res
431   MCFG_SN76477_AMP_RES(RES_K(33))                     // amplitude_res
432   MCFG_SN76477_FEEDBACK_RES(RES_K(100))               // feedback_res
433   MCFG_SN76477_VCO_PARAMS(2, CAP_N(47), RES_K(1000))  // VCO volt + cap + res
434   MCFG_SN76477_PITCH_VOLTAGE(2)                       // pitch_voltage
435   MCFG_SN76477_SLF_PARAMS(CAP_U(0.1), RES_K(180))     // slf caps + res
436   MCFG_SN76477_ONESHOT_PARAMS(CAP_U(1.00001), RES_K(10000))   // oneshot caps + res
437   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.1)
438
439   MCFG_SOUND_ADD("discrete", DISCRETE, 0) /* Son 1bit*/
440   MCFG_DISCRETE_INTF( hec2hrp )
441   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
442
443418   /* Gestion cassette*/
444419   MCFG_CASSETTE_ADD( "cassette" )
445420   MCFG_CASSETTE_FORMATS(hector_cassette_formats)
r32781r32782
473448   MCFG_PALETTE_ADD("palette", 16)
474449   MCFG_VIDEO_START_OVERRIDE(hec2hrp_state,hec2hrp)
475450
476   /* sound hardware */
477   MCFG_SPEAKER_STANDARD_MONO("mono")
478   MCFG_SOUND_WAVE_ADD(WAVE_TAG, "cassette")
479   MCFG_SOUND_ROUTE(0, "mono", 0.25)// Sound level for cassette, as it is in mono => output channel=0
451   MCFG_FRAGMENT_ADD(hector_audio)
480452
481   MCFG_SOUND_ADD("sn76477", SN76477, 0)
482   MCFG_SN76477_NOISE_PARAMS(RES_K(47), RES_K(330), CAP_P(390)) // noise + filter
483   MCFG_SN76477_DECAY_RES(RES_K(680))                  // decay_res
484   MCFG_SN76477_ATTACK_PARAMS(CAP_U(47), RES_K(180))   // attack_decay_cap + attack_res
485   MCFG_SN76477_AMP_RES(RES_K(33))                     // amplitude_res
486   MCFG_SN76477_FEEDBACK_RES(RES_K(100))               // feedback_res
487   MCFG_SN76477_VCO_PARAMS(2, CAP_N(47), RES_K(1000))  // VCO volt + cap + res
488   MCFG_SN76477_PITCH_VOLTAGE(2)                       // pitch_voltage
489   MCFG_SN76477_SLF_PARAMS(CAP_U(0.1), RES_K(180))     // slf caps + res
490   MCFG_SN76477_ONESHOT_PARAMS(CAP_U(1.00001), RES_K(10000))   // oneshot caps + res
491   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.1)
492
493   MCFG_SOUND_ADD("discrete", DISCRETE, 0) // Son 1bit
494   MCFG_DISCRETE_INTF(hec2hrp)
495   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
496
497453   /* Gestion cassette*/
498454   MCFG_CASSETTE_ADD( "cassette" )
499455   MCFG_CASSETTE_FORMATS(hector_cassette_formats)
r32781r32782
541497   MCFG_PALETTE_ADD("palette", 16)
542498   MCFG_VIDEO_START_OVERRIDE(hec2hrp_state,hec2hrp)
543499
544   /* sound hardware */
545   MCFG_SPEAKER_STANDARD_MONO("mono")
546   MCFG_SOUND_WAVE_ADD(WAVE_TAG, "cassette")
547   MCFG_SOUND_ROUTE(0, "mono", 0.25)// Sound level for cassette, as it is in mono => output channel=0
500   MCFG_FRAGMENT_ADD(hector_audio)
548501
549   MCFG_SOUND_ADD("sn76477", SN76477, 0)
550   MCFG_SN76477_NOISE_PARAMS(RES_K(47), RES_K(330), CAP_P(390)) // noise + filter
551   MCFG_SN76477_DECAY_RES(RES_K(680))                  // decay_res
552   MCFG_SN76477_ATTACK_PARAMS(CAP_U(47), RES_K(180))   // attack_decay_cap + attack_res
553   MCFG_SN76477_AMP_RES(RES_K(33))                     // amplitude_res
554   MCFG_SN76477_FEEDBACK_RES(RES_K(100))               // feedback_res
555   MCFG_SN76477_VCO_PARAMS(2, CAP_N(47), RES_K(1000))  // VCO volt + cap + res
556   MCFG_SN76477_PITCH_VOLTAGE(2)                       // pitch_voltage
557   MCFG_SN76477_SLF_PARAMS(CAP_U(0.1), RES_K(180))     // slf caps + res
558   MCFG_SN76477_ONESHOT_PARAMS(CAP_U(1.00001), RES_K(10000))   // oneshot caps + res
559   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.1)
560
561   MCFG_SOUND_ADD("discrete", DISCRETE, 0) // Son 1bit
562   MCFG_DISCRETE_INTF( hec2hrp )
563   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
564
565502   /* Gestion cassette*/
566503   MCFG_CASSETTE_ADD( "cassette" )
567504   MCFG_CASSETTE_FORMATS(hector_cassette_formats)
r32781r32782
604541   MCFG_PALETTE_ADD("palette", 16)
605542   MCFG_VIDEO_START_OVERRIDE(hec2hrp_state,hec2hrp)
606543
607   /* sound hardware */
608   MCFG_SPEAKER_STANDARD_MONO("mono")
609   MCFG_SOUND_WAVE_ADD(WAVE_TAG, "cassette")
610   MCFG_SOUND_ROUTE(0, "mono", 0.25)// Sound level for cassette, as it is in mono => output channel=0
544   MCFG_FRAGMENT_ADD(hector_audio)
611545
612   MCFG_SOUND_ADD("sn76477", SN76477, 0)
613   MCFG_SN76477_NOISE_PARAMS(RES_K(47), RES_K(330), CAP_P(390)) // noise + filter
614   MCFG_SN76477_DECAY_RES(RES_K(680))                  // decay_res
615   MCFG_SN76477_ATTACK_PARAMS(CAP_U(47), RES_K(180))   // attack_decay_cap + attack_res
616   MCFG_SN76477_AMP_RES(RES_K(33))                     // amplitude_res
617   MCFG_SN76477_FEEDBACK_RES(RES_K(100))               // feedback_res
618   MCFG_SN76477_VCO_PARAMS(2, CAP_N(47), RES_K(1000))  // VCO volt + cap + res
619   MCFG_SN76477_PITCH_VOLTAGE(2)                       // pitch_voltage
620   MCFG_SN76477_SLF_PARAMS(CAP_U(0.1), RES_K(180))     // slf caps + res
621   MCFG_SN76477_ONESHOT_PARAMS(CAP_U(1.00001), RES_K(10000))   // oneshot caps + res
622   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.1)
623
624   MCFG_SOUND_ADD("discrete", DISCRETE, 0) // Son 1bit
625   MCFG_DISCRETE_INTF( hec2hrp )
626   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
627
628546   // Gestion cassette
629547   MCFG_CASSETTE_ADD( "cassette" )
630548   MCFG_CASSETTE_FORMATS(hector_cassette_formats)
r32781r32782
665583   MCFG_PALETTE_ADD("palette", 16)
666584   MCFG_VIDEO_START_OVERRIDE(hec2hrp_state,hec2hrp)
667585
668   /* sound hardware */
669   MCFG_SPEAKER_STANDARD_MONO("mono")
670   MCFG_SOUND_WAVE_ADD(WAVE_TAG, "cassette")
671   MCFG_SOUND_ROUTE(0, "mono", 0.25)// Sound level for cassette, as it is in mono => output channel=0
586   MCFG_FRAGMENT_ADD(hector_audio)
672587
673   MCFG_SOUND_ADD("sn76477", SN76477, 0)
674   MCFG_SN76477_NOISE_PARAMS(RES_K(47), RES_K(330), CAP_P(390)) // noise + filter
675   MCFG_SN76477_DECAY_RES(RES_K(680))                  // decay_res
676   MCFG_SN76477_ATTACK_PARAMS(CAP_U(47), RES_K(180))   // attack_decay_cap + attack_res
677   MCFG_SN76477_AMP_RES(RES_K(33))                     // amplitude_res
678   MCFG_SN76477_FEEDBACK_RES(RES_K(100))               // feedback_res
679   MCFG_SN76477_VCO_PARAMS(2, CAP_N(47), RES_K(1000))  // VCO volt + cap + res
680   MCFG_SN76477_PITCH_VOLTAGE(2)                       // pitch_voltage
681   MCFG_SN76477_SLF_PARAMS(CAP_U(0.1), RES_K(180))     // slf caps + res
682   MCFG_SN76477_ONESHOT_PARAMS(CAP_U(1.00001), RES_K(10000))   // oneshot caps + res
683   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.1)
684
685   MCFG_SOUND_ADD("discrete", DISCRETE, 0) // Son 1bit
686   MCFG_DISCRETE_INTF( hec2hrp )
687   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
688
689588   // Gestion cassette
690589   MCFG_CASSETTE_ADD( "cassette" )
691590   MCFG_CASSETTE_FORMATS(hector_cassette_formats)
r32781r32782
729628   MCFG_PALETTE_ADD("palette", 16)
730629   MCFG_VIDEO_START_OVERRIDE(hec2hrp_state,hec2hrp)
731630
732   /* sound hardware */
733   MCFG_SPEAKER_STANDARD_MONO("mono")
734   MCFG_SOUND_WAVE_ADD(WAVE_TAG, "cassette")
735   MCFG_SOUND_ROUTE(0, "mono", 0.25)// Sound level for cassette, as it is in mono => output channel=0
631   MCFG_FRAGMENT_ADD(hector_audio)
736632
737   MCFG_SOUND_ADD("sn76477", SN76477, 0)
738   MCFG_SN76477_NOISE_PARAMS(RES_K(47), RES_K(330), CAP_P(390)) // noise + filter
739   MCFG_SN76477_DECAY_RES(RES_K(680))                  // decay_res
740   MCFG_SN76477_ATTACK_PARAMS(CAP_U(47), RES_K(180))   // attack_decay_cap + attack_res
741   MCFG_SN76477_AMP_RES(RES_K(33))                     // amplitude_res
742   MCFG_SN76477_FEEDBACK_RES(RES_K(100))               // feedback_res
743   MCFG_SN76477_VCO_PARAMS(2, CAP_N(47), RES_K(1000))  // VCO volt + cap + res
744   MCFG_SN76477_PITCH_VOLTAGE(2)                       // pitch_voltage
745   MCFG_SN76477_SLF_PARAMS(CAP_U(0.1), RES_K(180))     // slf caps + res
746   MCFG_SN76477_ONESHOT_PARAMS(CAP_U(1.00001), RES_K(10000))   // oneshot caps + res
747   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.1)
748
749   MCFG_SOUND_ADD("discrete", DISCRETE, 0) // Son 1bit
750   MCFG_DISCRETE_INTF( hec2hrp )
751   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
752
753633   /* Gestion cassette*/
754634   MCFG_CASSETTE_ADD( "cassette" )
755635   MCFG_CASSETTE_FORMATS(hector_cassette_formats)
trunk/src/mess/drivers/interact.c
r32781r32782
9797
9898ADDRESS_MAP_END
9999
100/* Discrete Sound */
101static DISCRETE_SOUND_START( hec2hrp )
102   DISCRETE_INPUT_LOGIC(NODE_01)
103   DISCRETE_OUTPUT(NODE_01, 5000)
104DISCRETE_SOUND_END
105100
106101MACHINE_RESET_MEMBER(interact_state,interact)
107102{
r32781r32782
143138   MCFG_PALETTE_ADD("palette", 16)             /* 8 colours, but only 4 at a time*/
144139
145140   MCFG_VIDEO_START_OVERRIDE(interact_state,hec2hrp)
146      /* sound hardware */
147   MCFG_SPEAKER_STANDARD_MONO("mono")
148   MCFG_SOUND_WAVE_ADD(WAVE_TAG, "cassette")
149   MCFG_SOUND_ROUTE(0, "mono", 0.25)  /* Sound level for cassette, as it is in mono => output channel=0*/
150141
151   MCFG_SOUND_ADD("sn76477", SN76477, 0)
152   MCFG_SN76477_NOISE_PARAMS(RES_K(47), RES_K(330), CAP_P(390)) // noise + filter
153   MCFG_SN76477_DECAY_RES(RES_K(680))                  // decay_res
154   MCFG_SN76477_ATTACK_PARAMS(CAP_U(47), RES_K(180))   // attack_decay_cap + attack_res
155   MCFG_SN76477_AMP_RES(RES_K(33))                     // amplitude_res
156   MCFG_SN76477_FEEDBACK_RES(RES_K(100))               // feedback_res
157   MCFG_SN76477_VCO_PARAMS(2, CAP_N(47), RES_K(1000))  // VCO volt + cap + res
158   MCFG_SN76477_PITCH_VOLTAGE(2)                       // pitch_voltage
159   MCFG_SN76477_SLF_PARAMS(CAP_U(0.1), RES_K(180))     // slf caps + res
160   MCFG_SN76477_ONESHOT_PARAMS(CAP_U(1.00001), RES_K(10000))   // oneshot caps + res
161   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.1)
142   MCFG_FRAGMENT_ADD(hector_audio)
162143
163   MCFG_SOUND_ADD("discrete", DISCRETE, 0) /* Son 1bit*/
164   MCFG_DISCRETE_INTF( hec2hrp )
165   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
166
167   MCFG_CASSETTE_ADD( "cassette" )
144   MCFG_CASSETTE_ADD("cassette")
168145   MCFG_CASSETTE_FORMATS(hector_cassette_formats)
169146   MCFG_CASSETTE_DEFAULT_STATE(CASSETTE_STOPPED | CASSETTE_MASK_SPEAKER)
170147   MCFG_CASSETTE_INTERFACE("interact_cass")
r32781r32782
198175   MCFG_PALETTE_ADD("palette", 16)             /* 8 colours, but only 4 at a time*/
199176
200177   MCFG_VIDEO_START_OVERRIDE(interact_state,hec2hrp)
201      /* sound hardware */
202   MCFG_SPEAKER_STANDARD_MONO("mono")
203   MCFG_SOUND_WAVE_ADD(WAVE_TAG, "cassette")
204   MCFG_SOUND_ROUTE(0, "mono", 0.25)/* Sound level for cassette, as it is in mono => output channel=0*/
205178
206   MCFG_SOUND_ADD("sn76477", SN76477, 0)
207   MCFG_SN76477_NOISE_PARAMS(RES_K(47), RES_K(330), CAP_P(390)) // noise + filter
208   MCFG_SN76477_DECAY_RES(RES_K(680))                  // decay_res
209   MCFG_SN76477_ATTACK_PARAMS(CAP_U(47), RES_K(180))   // attack_decay_cap + attack_res
210   MCFG_SN76477_AMP_RES(RES_K(33))                     // amplitude_res
211   MCFG_SN76477_FEEDBACK_RES(RES_K(100))               // feedback_res
212   MCFG_SN76477_VCO_PARAMS(2, CAP_N(47), RES_K(1000))  // VCO volt + cap + res
213   MCFG_SN76477_PITCH_VOLTAGE(2)                       // pitch_voltage
214   MCFG_SN76477_SLF_PARAMS(CAP_U(0.1), RES_K(180))     // slf caps + res
215   MCFG_SN76477_ONESHOT_PARAMS(CAP_U(1.00001), RES_K(10000))   // oneshot caps + res
216   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.1)
179   MCFG_FRAGMENT_ADD(hector_audio)
217180
218   MCFG_SOUND_ADD("discrete", DISCRETE, 0) /* Son 1bit*/
219   MCFG_DISCRETE_INTF( hec2hrp )
220   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
221
222   MCFG_CASSETTE_ADD( "cassette" )
181   MCFG_CASSETTE_ADD("cassette")
223182   MCFG_CASSETTE_FORMATS(hector_cassette_formats)
224183   MCFG_CASSETTE_DEFAULT_STATE(CASSETTE_STOPPED | CASSETTE_MASK_SPEAKER)
225184   MCFG_CASSETTE_INTERFACE("interact_cass")
trunk/src/mess/machine/hec2hrp.c
r32781r32782
847847   /* Sound sn76477*/
848848   Init_Value_SN76477_Hector();  /*init R/C value*/
849849}
850
851
852/* sound hardware */
853
854static DISCRETE_SOUND_START( hec2hrp )
855   DISCRETE_INPUT_LOGIC(NODE_01)
856   DISCRETE_OUTPUT(NODE_01, 5000)
857DISCRETE_SOUND_END
858
859MACHINE_CONFIG_FRAGMENT( hector_audio )
860   MCFG_SPEAKER_STANDARD_MONO("mono")
861   MCFG_SOUND_WAVE_ADD(WAVE_TAG, "cassette")
862   MCFG_SOUND_ROUTE(0, "mono", 0.25)  /* Sound level for cassette, as it is in mono => output channel=0*/
863
864   MCFG_SOUND_ADD("sn76477", SN76477, 0)
865   MCFG_SN76477_NOISE_PARAMS(RES_K(47), RES_K(330), CAP_P(390)) // noise + filter
866   MCFG_SN76477_DECAY_RES(RES_K(680))                  // decay_res
867   MCFG_SN76477_ATTACK_PARAMS(CAP_U(47), RES_K(180))   // attack_decay_cap + attack_res
868   MCFG_SN76477_AMP_RES(RES_K(33))                     // amplitude_res
869   MCFG_SN76477_FEEDBACK_RES(RES_K(100))               // feedback_res
870   MCFG_SN76477_VCO_PARAMS(2, CAP_N(47), RES_K(1000))  // VCO volt + cap + res
871   MCFG_SN76477_PITCH_VOLTAGE(2)                       // pitch_voltage
872   MCFG_SN76477_SLF_PARAMS(CAP_U(0.1), RES_K(180))     // slf caps + res
873   MCFG_SN76477_ONESHOT_PARAMS(CAP_U(1.00001), RES_K(10000))   // oneshot caps + res
874   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.1)
875
876   MCFG_SOUND_ADD("discrete", DISCRETE, 0) /* Son 1bit*/
877   MCFG_DISCRETE_INTF(hec2hrp)
878   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
879
880MACHINE_CONFIG_END
881
trunk/src/mess/includes/hec2hrp.h
r32781r32782
187187};
188188
189189extern const floppy_interface minidisc_floppy_interface;
190
191MACHINE_CONFIG_EXTERN( hector_audio );
trunk/src/mess/includes/special.h
r32781r32782
148148   virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr);
149149};
150150
151/*----------- defined in video/special.c -----------*/
152
153extern const rgb_t specimx_palette[16];
154
155
156151#endif /* SPECIAL_H_ */
trunk/src/mess/video/special.c
r32781r32782
5454}
5555
5656
57const rgb_t specimx_palette[16] = {
57static const rgb_t specimx_palette[16] = {
5858   rgb_t(0x00, 0x00, 0x00), // 0
5959   rgb_t(0x00, 0x00, 0xaa), // 1
6060   rgb_t(0x00, 0xaa, 0x00), // 2

Previous 199869 Revisions Next


© 1997-2024 The MAME Team