mirror of
https://github.com/holub/mame
synced 2025-07-07 02:50:50 +03:00
Various spelling fixes, comment updates, etc in several Votrax and SC-01 related source files. [skip ci]
This commit is contained in:
parent
6e2d6cd2c5
commit
16a8ce5cb2
@ -481,7 +481,7 @@ void votrax_sc01_device::chip_update()
|
||||
// Closure counter, reset every other tick in theory when not
|
||||
// active (on the extra rom cycle).
|
||||
//
|
||||
// The closure level is immediatly used in the analog path,
|
||||
// The closure level is immediately used in the analog path,
|
||||
// there's no pitch synchronization.
|
||||
|
||||
if(!m_cur_closure && (m_filt_fa || m_filt_va))
|
||||
@ -683,16 +683,16 @@ stream_buffer::sample_t votrax_sc01_device::analog_calc()
|
||||
defined as the ratio Vo/Vi. To do that, you use some properties:
|
||||
|
||||
- The intensity through an element is equal to the voltage
|
||||
difference through the element divided by the impedence
|
||||
difference through the element divided by the impedance
|
||||
|
||||
- The impedence of a resistance is equal to its resistance
|
||||
- The impedance of a resistance is equal to its resistance
|
||||
|
||||
- The impedence of a capacitor is 1/(s*C) where C is its capacitance
|
||||
- The impedance of a capacitor is 1/(s*C) where C is its capacitance
|
||||
|
||||
- The impedence of elements in series is the sum of the impedences
|
||||
- The impedance of elements in series is the sum of their impedances
|
||||
|
||||
- The impedence of elements in parallel is the inverse of the sum of
|
||||
the inverses
|
||||
- The impedance of elements in parallel is the inverse of the sum of
|
||||
their inverses
|
||||
|
||||
- The sum of all intensities flowing into a node is 0 (there's no
|
||||
charge accumulation in a wire)
|
||||
@ -737,7 +737,7 @@ stream_buffer::sample_t votrax_sc01_device::analog_calc()
|
||||
| H(s) = -------------------------
|
||||
| 1 + k[1]*s + k[2]*s^2
|
||||
|
||||
We can always reintroduce the global multipler later, and it's 1 in
|
||||
We can always reintroduce the global multiplier later, and it's 1 in
|
||||
most of our cases anyway.
|
||||
|
||||
The we pose:
|
||||
|
@ -41,7 +41,7 @@ DEFINE_DEVICE_TYPE(GOTTLIEB_SOUND_REV2, gottlieb_sound_r2_device,
|
||||
|
||||
|
||||
//**************************************************************************
|
||||
// PIN 2 SOUND BOARD: 6502 + 6530 + DAC
|
||||
// PIN 2 SOUND BOARD: 6503 + 6530 + DAC
|
||||
//**************************************************************************
|
||||
|
||||
//-------------------------------------------------
|
||||
@ -262,7 +262,7 @@ void gottlieb_sound_p3_device::device_start()
|
||||
|
||||
|
||||
//**************************************************************************
|
||||
// REV 1 SOUND BOARD: 6502 + DAC part number MA-309
|
||||
// REV 1 SOUND BOARD: 6502 + DAC; part number MA-309
|
||||
//**************************************************************************
|
||||
|
||||
//-------------------------------------------------
|
||||
@ -398,7 +398,7 @@ void gottlieb_sound_r1_device::device_start()
|
||||
|
||||
|
||||
//**************************************************************************
|
||||
// REV 1 SOUND BOARD WITH VOTRAX, part number MA-216 (same pcb as MA-309 but with a Votrax SC-01(-A) and support components populated)
|
||||
// REV 1 SOUND/SPEECH BOARD; part number MA-216 (same PCB as MA-309 above but with a Votrax SC-01(-A) and support components populated)
|
||||
//**************************************************************************
|
||||
|
||||
//-------------------------------------------------
|
||||
@ -425,7 +425,6 @@ void gottlieb_sound_r1_with_votrax_device::device_add_mconfig(machine_config &co
|
||||
m_dac->reset_routes();
|
||||
m_dac->add_route(ALL_OUTPUTS, *this, 0.20);
|
||||
|
||||
// add the VOTRAX
|
||||
VOTRAX_SC01A(config, m_votrax, 720000); // Note: early boards use an SC-01 (reactor, q-bert test version, maybe some early pinball machines?) while later boards (qbert main release, most pinball machines) use an SC-01-A
|
||||
m_votrax->ar_callback().set("nmi", FUNC(input_merger_device::in_w<1>));
|
||||
m_votrax->add_route(ALL_OUTPUTS, *this, 0.80);
|
||||
|
@ -9,7 +9,7 @@
|
||||
/*
|
||||
The HC-110 and HC-120 both consist of 3 boards:
|
||||
1. An 'embedded system' 6800 board with two output latches, one input
|
||||
latch, and two 'resume/reset' latches which pull the 6800 is out of
|
||||
latch, and two 'resume/reset' latches which pull the 6800 is out of
|
||||
reset on a rising edge, as a form of power saving. (pcb 1816?)
|
||||
2. A keyboard handler pcb; this is different on the HC-110 (where it is
|
||||
made by a 3rd party company for the 128-key input) and the HC-120
|
||||
@ -45,8 +45,6 @@
|
||||
+--------+
|
||||
see http://bitsavers.org/components/motorola/_dataBooks/1978_Motorola_CMOS_Data_Book.pdf
|
||||
page 488
|
||||
|
||||
TODO: make the two latcha/b flops combine together using input_merger
|
||||
*/
|
||||
|
||||
/* Core includes */
|
||||
@ -471,11 +469,11 @@ void votrhv_state::pho_done(int state)
|
||||
{
|
||||
bool rising_edge = (!m_latcha_in && (state == ASSERT_LINE));
|
||||
m_latcha_in = (state == ASSERT_LINE);
|
||||
if (rising_edge) // HACK: sc-01 is in /ready state now
|
||||
if (rising_edge) // HACK: SC-01-A is in /ready state now
|
||||
{
|
||||
// clock the pho_done flipflop which sets its state to 1
|
||||
m_latcha_flop = true;
|
||||
// HACK: we manually clock the same old phoneme into the sc-01 here, this is a hack since the 1818c the pho_done signal is a free running counter and doesn't stop like the A/R latch on the sc-01 does
|
||||
// HACK: we manually clock the same old phoneme into the SC-01-A here, this is a hack since on the 1818C the pho_done signal is a free running counter and doesn't stop like the A/R latch on the SC-01[-A] does
|
||||
//m_votrax->inflection_w((m_latchy&0xc0)>>6);
|
||||
m_votrax->write(m_latchy&0x3f);
|
||||
m_reset->in_w<0>(1);
|
||||
@ -508,7 +506,7 @@ void votrhv_state::latchx_w(uint8_t data)
|
||||
* |||\----- \ LED select 1/2/3/4
|
||||
* ||\------ /
|
||||
* |\------- Green status LED
|
||||
* \-------- Phoneme silence (ties pitch input of 1818c high thru a diode)
|
||||
* \-------- Phoneme silence (ties pitch input of 1818C high thru a diode)
|
||||
*/
|
||||
m_latchx = data;
|
||||
LOGLTX("latchx written with value of %02x\n", m_latchx);
|
||||
@ -696,14 +694,14 @@ void votrhv_state::hc110(machine_config &config)
|
||||
******************************************************************************/
|
||||
|
||||
ROM_START(hc110)
|
||||
ROM_REGION(0x8000, "maskrom", 0) // 4x EA8316 (2316 equivalent) CMOS Mask ROMs and 2x 512x8 SN74S472 PROMs
|
||||
ROM_REGION(0x8000, "maskrom", 0) // 4x EA8316 (2316 equivalent) CMOS Mask ROMs
|
||||
//ROM_LOAD("ea8316e030.ic9", 0x0000, 0x0800, CRC(fd8cbf7d) SHA1(a2e1406c498a1821cacfcda254534f8e8d6b8260)) // used on older firmware?
|
||||
ROM_LOAD("ea8316e144.ic9", 0x0000, 0x0800, CRC(636415ee) SHA1(9699ea75eed566447d8682f52665b01c1e876981))
|
||||
ROM_LOAD("ea8316e031.ic8", 0x0800, 0x0800, CRC(f2de4e3b) SHA1(0cdc71a4d01d73e403cdf283c6eeb53f97ca5623))
|
||||
ROM_LOAD("ea8316e032.ic7", 0x1000, 0x0800, CRC(5df1270c) SHA1(5c81fcb2bb2c0bf509aa9fc11a92071cd469e407))
|
||||
ROM_LOAD("ea8316e033.ic6", 0x1800, 0x0800, CRC(0d7e246c) SHA1(1454c6c7ef3743320443c7bd1f37df6a25ff7795))
|
||||
|
||||
ROM_REGION(0x0600, "bootrom", 0)
|
||||
ROM_REGION(0x0600, "bootrom", 0) // 2x 512x8 SN74S472 PROMs
|
||||
// ic12 is unpopulated
|
||||
ROM_LOAD("7031r2.sn74s472.ic11", 0x0200, 0x0200, CRC(6ef744c9) SHA1(6a92e520adb3c47b849241648ec2ca4107edfd8f))
|
||||
ROM_LOAD("7031r3.sn74s472.ic10", 0x0400, 0x0200, CRC(0800b0e6) SHA1(9e0481bf6c5feaf6506ac241a2baf83fb9342033))
|
||||
@ -715,13 +713,13 @@ ROM_START(hc110)
|
||||
ROM_END
|
||||
|
||||
ROM_START(hc120) // ic10 and ic11 are Rev B? is there an older revision undumped?
|
||||
ROM_REGION(0x2000, "maskrom", 0) // 4x EA8316 (2316 equivalent) CMOS Mask ROMs and 2x 512x8 SN74S472 PROMs
|
||||
ROM_REGION(0x2000, "maskrom", 0) // 4x EA8316 (2316 equivalent) CMOS Mask ROMs
|
||||
ROM_LOAD("ea8316e030.ic9", 0x0000, 0x0800, CRC(fd8cbf7d) SHA1(a2e1406c498a1821cacfcda254534f8e8d6b8260))
|
||||
ROM_LOAD("ea8316e031.ic8", 0x0800, 0x0800, CRC(f2de4e3b) SHA1(0cdc71a4d01d73e403cdf283c6eeb53f97ca5623))
|
||||
ROM_LOAD("ea8316e032.ic7", 0x1000, 0x0800, CRC(5df1270c) SHA1(5c81fcb2bb2c0bf509aa9fc11a92071cd469e407))
|
||||
ROM_LOAD("ea8316e033.ic6", 0x1800, 0x0800, CRC(0d7e246c) SHA1(1454c6c7ef3743320443c7bd1f37df6a25ff7795))
|
||||
|
||||
ROM_REGION(0x0600, "bootrom", 0)
|
||||
ROM_REGION(0x0600, "bootrom", 0) // 2x 512x8 SN74S472 PROMs
|
||||
// ic12 is unpopulated
|
||||
ROM_LOAD("7037__r2b.sn74s472.ic11", 0x0200, 0x0200, CRC(44de1bb1) SHA1(53e6811baf37af5da0648e906fee6c6acf259b82))
|
||||
ROM_LOAD("7037__r3b.sn74s472.ic10", 0x0400, 0x0200, CRC(688be8c7) SHA1(c9bdc7472cabcdddc23e63f45afbfcc835bb8f69))
|
||||
|
@ -354,8 +354,12 @@ z80 pinout:
|
||||
39 A9-> to eproms and module bus
|
||||
40 A10-> to eproms and module bus
|
||||
|
||||
Note: it seems originally that /NMI and /HALT may have been tied together (and perhaps to VCC through a resistor) and NOT directly connected to VCc, so when the HALT opcode was executed it would immediately trigger an NMI and reset the cpu.
|
||||
BUT, at least on the revision C 1872 CPU pcb, they are both tied directly to VCC, disabling this behavior.
|
||||
Note: It seems originally that /NMI and /HALT may have been tied together
|
||||
(and perhaps to VCC through a resistor) and NOT directly connected to VCC,
|
||||
so when the HALT opcode was executed it would immediately trigger an NMI
|
||||
and the CPU could handle this specifically.
|
||||
However, at least on the revision C 1872 CPU pcb, they are both tied
|
||||
directly to VCC, disabling this behavior.
|
||||
*****************************************************************************/
|
||||
|
||||
/* Core includes */
|
||||
|
@ -23,9 +23,6 @@
|
||||
* A0 switches the ACIA between status/command, and data in/out.
|
||||
*
|
||||
*
|
||||
* ToDo:
|
||||
* - Votrax device needs considerable improvement in sound quality.
|
||||
*
|
||||
******************************************************************************/
|
||||
|
||||
/* Core includes */
|
||||
|
Loading…
Reference in New Issue
Block a user