~ubuntu-branches/ubuntu/lucid/sdlmame/lucid

« back to all changes in this revision

Viewing changes to src/mame/audio/firetrk.c

  • Committer: Bazaar Package Importer
  • Author(s): Cesare Falco
  • Date: 2009-11-03 17:10:15 UTC
  • mfrom: (1.1.5 upstream)
  • Revision ID: james.westby@ubuntu.com-20091103171015-6hop4ory5lxnumpn
Tags: 0.135-0ubuntu1
* New upstream release - Closes (LP: #403212)
* debian/watch: unstable releases are no longer detected
* mame.ini: added the cheat subdirectories to cheatpath so zipped
  cheatfiles will be searched too
* renamed crsshair subdirectory to crosshair to reflect upstream change
* mame.ini: renamed references to crosshair subdirectory (see above)

Show diffs side-by-side

added added

removed removed

Lines of Context:
68
68
}
69
69
 
70
70
 
71
 
#define FIRETRUCK_HSYNC 15750.0
 
71
#define FIRETRUCK_HSYNC 15750.0         /* not checked */
72
72
#define FIRETRUCK_1V    FIRETRUCK_HSYNC/2
73
73
#define FIRETRUCK_2V    FIRETRUCK_1V/2
74
74
#define FIRETRUCK_8V    FIRETRUCK_1V/8
197
197
        DISCRETE_INPUT_LOGIC(FIRETRUCK_ATTRACT_EN)
198
198
        DISCRETE_INPUT_NOT  (FIRETRUCK_XTNDPLY_EN)
199
199
 
200
 
        DISCRETE_LOGIC_INVERT(FIRETRUCK_ATTRACT_INV, 1, FIRETRUCK_ATTRACT_EN)
 
200
        DISCRETE_LOGIC_INVERT(FIRETRUCK_ATTRACT_INV, FIRETRUCK_ATTRACT_EN)
201
201
 
202
202
        /************************************************/
203
203
        /* Motor sound circuit is based on a 556 VCO    */
210
210
                                RES_K(260),     // R26 + R27 @ max
211
211
                                RES_K(10),      // R26 + R27 @ min
212
212
                                DISC_LOGADJ, "R27")
213
 
        DISCRETE_DAC_R1(NODE_21, 1,             // base of Q1
 
213
        DISCRETE_DAC_R1(NODE_21,                // base of Q1
214
214
                        FIRETRUCK_MOTOR_DATA,   // IC F8, pins 2,5,6,9
215
215
                        DEFAULT_TTL_V_LOGIC_1,
216
216
                        &firetrk_motor_v_dac)
225
225
        DISCRETE_TRANSFORM2(NODE_24, NODE_23, 0x04, "01&")      // IC A9, pin 8
226
226
        DISCRETE_COUNTER(NODE_25, 1, FIRETRUCK_ATTRACT_EN,      // IC A9, pin 12
227
227
                        NODE_24,                                                                        // from IC A9, pin 8
228
 
                        1, 1, 0, DISC_CLK_ON_F_EDGE)
 
228
                        0, 1, 1, 0, DISC_CLK_ON_F_EDGE)
229
229
        DISCRETE_TRANSFORM3(NODE_26, NODE_23, 2, NODE_25, "01*2+")      // Mix QA and QB-D together
230
 
        DISCRETE_DAC_R1(FIRETRUCK_MOTORSND, 1, NODE_26,
 
230
        DISCRETE_DAC_R1(FIRETRUCK_MOTORSND, NODE_26,
231
231
                        DEFAULT_TTL_V_LOGIC_1,
232
232
                        &firetrk_motor_out_dac)
233
233
 
246
246
        /* 0000 = 666Hz with 35% duty cycle             */
247
247
        /* 1111 = 526Hz with 63% duty cycle             */
248
248
        /************************************************/
249
 
        DISCRETE_DAC_R1(NODE_40, 1,             // IC E9, pin 7
 
249
        DISCRETE_DAC_R1(NODE_40,                // IC E9, pin 7
250
250
                        FIRETRUCK_SIREN_DATA,   // IC F8, pins 15,16,12,19
251
251
                        DEFAULT_TTL_V_LOGIC_1,
252
252
                        &firetrk_siren_cv_dac)
270
270
 
271
271
        DISCRETE_SWITCH(NODE_50, 1, FIRETRUCK_NOISE, 0, // Enable gate K9
272
272
                        FIRETRUCK_CRASH_DATA)           // IC K9, pins 3,6,11,8
273
 
        DISCRETE_DAC_R1(FIRETRUCK_BANGSND, 1,   // Bang
 
273
        DISCRETE_DAC_R1(FIRETRUCK_BANGSND,      // Bang
274
274
                        NODE_50,                // from enable gates K9
275
275
                        DEFAULT_TTL_V_LOGIC_1,
276
276
                        &firetrk_bang_dac)
293
293
        DISCRETE_TRANSFORM2(NODE_71, NODE_70,
294
294
                                5.0 * 680 / (RES_K(10) + 680),  // vRef = 5V * R64 / (R65 + R64)
295
295
                                "01<")                          // Output is low until vIn drops below vRef
296
 
        DISCRETE_COUNTER(NODE_72, 1, NODE_71, FIRETRUCK_HSYNC, 15, 1, 0, DISC_CLK_IS_FREQ)      // IC B10
 
296
        DISCRETE_COUNTER(NODE_72, 1, NODE_71, FIRETRUCK_HSYNC, 0, 15, 1, 0, DISC_CLK_IS_FREQ)   // IC B10
297
297
        DISCRETE_TRANSFORM4(FIRETRUCK_BELLSND, NODE_72,
298
298
                                8,      // count 0-7 allow cap voltage to output.  8-15 ground output.
299
299
                                NODE_70,        // scale logic to cap voltage
401
401
        DISCRETE_INPUT_LOGIC(SUPERBUG_ATTRACT_EN)
402
402
        DISCRETE_INPUT_LOGIC(SUPERBUG_ASR_EN)
403
403
 
404
 
        DISCRETE_LOGIC_INVERT(SUPERBUG_ATTRACT_INV, 1, SUPERBUG_ATTRACT_EN)
 
404
        DISCRETE_LOGIC_INVERT(SUPERBUG_ATTRACT_INV, SUPERBUG_ATTRACT_EN)
405
405
 
406
406
        /************************************************/
407
407
        /* Motor sound circuit is based on a 556 VCO    */
413
413
                                RES_K(260),     // R12 + R62 @ max
414
414
                                RES_K(10),      // R12 + R62 @ min
415
415
                                DISC_LOGADJ, "R62")
416
 
        DISCRETE_DAC_R1(NODE_21, 1,             // base of Q1
 
416
        DISCRETE_DAC_R1(NODE_21,                // base of Q1
417
417
                        SUPERBUG_SPEED_DATA,    // IC B5, pins 3, 14, 6, 11
418
418
                        DEFAULT_TTL_V_LOGIC_1,
419
419
                        &superbug_motor_v_dac)
427
427
                        NODE_22, DISC_CLK_ON_F_EDGE)                                    // from IC A6, pin 3
428
428
        DISCRETE_TRANSFORM2(NODE_24, NODE_23, 0x04, "01&")      // IC A7, pin 8-QD
429
429
        DISCRETE_TRANSFORM2(NODE_25, NODE_23, 0x01, "01&")      // IC A7, pin 11-QB
430
 
        DISCRETE_LOGIC_XOR(NODE_26, 1, NODE_24, NODE_25)        // Gate A9, pin 8
 
430
        DISCRETE_LOGIC_XOR(NODE_26, NODE_24, NODE_25)   // Gate A9, pin 8
431
431
        DISCRETE_COUNTER(NODE_27, 1, SUPERBUG_ATTRACT_EN,       // IC A7, pin 12-QA
432
432
                        NODE_26,                                                                        // from IC A9, pin 8
433
 
                        1, 1, 0, DISC_CLK_ON_F_EDGE)
 
433
                        0, 1, 1, 0, DISC_CLK_ON_F_EDGE)
434
434
        DISCRETE_TRANSFORM3(NODE_28, NODE_23, 2, NODE_27, "01*2+")      // Mix QA and QB-D together
435
 
        DISCRETE_DAC_R1(SUPERBUG_MOTORSND, 1, NODE_28,
 
435
        DISCRETE_DAC_R1(SUPERBUG_MOTORSND, NODE_28,
436
436
                        DEFAULT_TTL_V_LOGIC_1,
437
437
                        &superbug_motor_out_dac)
438
438
 
449
449
 
450
450
        DISCRETE_SWITCH(NODE_40, 1, SUPERBUG_NOISE, 0,  // Enable gate C8
451
451
                        SUPERBUG_CRASH_DATA)            // IC D8, pins 3,14,6,11
452
 
        DISCRETE_DAC_R1(SUPERBUG_BANGSND, 1,    // Bang
 
452
        DISCRETE_DAC_R1(SUPERBUG_BANGSND,       // Bang
453
453
                        NODE_40,                // from enable gates C8
454
454
                        DEFAULT_TTL_V_LOGIC_1,
455
455
                        &superbug_bang_dac)
584
584
        DISCRETE_INPUT_LOGIC(MONTECAR_ATTRACT_INV)
585
585
        DISCRETE_INPUT_NOT  (MONTECAR_BEEPER_EN)
586
586
 
587
 
        DISCRETE_LOGIC_INVERT(MONTECAR_ATTRACT_EN, 1, MONTECAR_ATTRACT_INV)
 
587
        DISCRETE_LOGIC_INVERT(MONTECAR_ATTRACT_EN, MONTECAR_ATTRACT_INV)
588
588
 
589
589
        /************************************************/
590
590
        /* Motor sound circuit is based on a 556 VCO    */
597
597
                                RES_K(260),     // R87 + R89 @ max
598
598
                                RES_K(10),      // R87 + R89 @ min
599
599
                                DISC_LOGADJ, "R89")
600
 
        DISCRETE_DAC_R1(NODE_21, 1,             // base of Q7
 
600
        DISCRETE_DAC_R1(NODE_21,                // base of Q7
601
601
                        MONTECAR_MOTOR_DATA,    // IC H8, pins 5, 2, 9, 6
602
602
                        DEFAULT_TTL_V_LOGIC_1,
603
603
                        &montecar_motor_v_dac)
611
611
                        NODE_22, DISC_CLK_ON_F_EDGE)                                            // from IC C9, pin 9
612
612
        DISCRETE_TRANSFORM2(NODE_24, NODE_23, 0x04, "01&")      // IC B/C9, pin 8-QD
613
613
        DISCRETE_TRANSFORM2(NODE_25, NODE_23, 0x01, "01&")      // IC B/C9, pin 11-QB
614
 
        DISCRETE_LOGIC_XOR(NODE_26, 1, NODE_24, NODE_25)        // Gate A9, pin 11
 
614
        DISCRETE_LOGIC_XOR(NODE_26, NODE_24, NODE_25)   // Gate A9, pin 11
615
615
        DISCRETE_COUNTER(NODE_27, 1, MONTECAR_ATTRACT_EN,       // IC B/C9, pin 12-QA
616
616
                        NODE_26,                                                                        // from IC A9, pin 11
617
 
                        1, 1, 0, DISC_CLK_ON_F_EDGE)
 
617
                        0, 1, 1, 0, DISC_CLK_ON_F_EDGE)
618
618
        DISCRETE_TRANSFORM3(NODE_28, NODE_23, 2, NODE_27, "01*2+")      // Mix QA and QB-D together
619
 
        DISCRETE_DAC_R1(MONTECAR_MOTORSND, 1, NODE_28,
 
619
        DISCRETE_DAC_R1(MONTECAR_MOTORSND, NODE_28,
620
620
                        DEFAULT_TTL_V_LOGIC_1,
621
621
                        &montecar_motor_out_dac)
622
622
 
632
632
                                RES_K(260),     // R85 + R88 @ max
633
633
                                RES_K(10),      // R85 + R88 @ min
634
634
                                DISC_LOGADJ, "R88")
635
 
        DISCRETE_DAC_R1(NODE_41, 1,                     // base of Q7
 
635
        DISCRETE_DAC_R1(NODE_41,                        // base of Q7
636
636
                        MONTECAR_DRONE_MOTOR_DATA,      // IC H8, pins 19, 16, 12, 15
637
637
                        DEFAULT_TTL_V_LOGIC_1,
638
638
                        &montecar_motor_v_dac)
646
646
                        NODE_42, DISC_CLK_ON_F_EDGE)                                    // from IC C9, pin 5
647
647
        DISCRETE_TRANSFORM2(NODE_44, NODE_43, 0x04, "01&")      // IC A/B9, pin 8-QD
648
648
        DISCRETE_TRANSFORM2(NODE_45, NODE_43, 0x01, "01&")      // IC A/B9, pin 11-QB
649
 
        DISCRETE_LOGIC_XOR(NODE_46, 1, NODE_44, NODE_45)        // Gate A9, pin 6
 
649
        DISCRETE_LOGIC_XOR(NODE_46, NODE_44, NODE_45)   // Gate A9, pin 6
650
650
        DISCRETE_COUNTER(NODE_47, 1, MONTECAR_ATTRACT_EN,       // IC A/B9, pin 12-QA
651
651
                        NODE_46,                                                                        // from IC A9, pin 6
652
 
                        1, 1, 0, DISC_CLK_ON_F_EDGE)
 
652
                        0, 1, 1, 0, DISC_CLK_ON_F_EDGE)
653
653
        DISCRETE_TRANSFORM3(NODE_48, NODE_43, 2, NODE_47, "01*2+")      // Mix QA and QB-D together
654
 
        DISCRETE_DAC_R1(MONTECAR_DRONE_MOTORSND, 1, NODE_48,
 
654
        DISCRETE_DAC_R1(MONTECAR_DRONE_MOTORSND, NODE_48,
655
655
                        DEFAULT_TTL_V_LOGIC_1,
656
656
                        &montecar_motor_out_dac)
657
657
 
668
668
 
669
669
        DISCRETE_SWITCH(NODE_50, 1, MONTECAR_NOISE, 0,  // Enable gate A9
670
670
                        MONTECAR_CRASH_DATA)            // IC J8, pins 3,6,11,14
671
 
        DISCRETE_DAC_R1(NODE_51, 1,     // Bang
 
671
        DISCRETE_DAC_R1(NODE_51,        // Bang
672
672
                        NODE_50,        // from enable gates A9
673
673
                        DEFAULT_TTL_V_LOGIC_1,
674
674
                        &montecar_bang_dac)