BegasBattleNotes
From DaphneWiki
Contents |
Main CPU
RD' and WR'
RD' = R/W' NAND PHI2 WR' = R'/W NAND PHI2
See https://wilsonminesco.com/6502primer/ClkGen.html
Address decoding
Two PALs are used to aid with address decoding (instead of the usual '138's). Changes in PAL outputs occur when the CPU's PHI2 goes low.
PAL (10H)
Pin(s) | In/Out? | Description |
1-3 | In | A15-A13 |
4-7 | In | A3-A0 |
8 | In | CPU PHI2 |
9 | In | CPU R/W' |
11 | In | Memory Disable (not sure what the intent is for this) |
12 | Out | R'/W (read/write flipped?). Unconfirmed. |
13 | Out | Goes low when A0-A3 has the value of 3. Used by the other PAL as an input. |
14-19 | Out | ROM enable lines (active low) |
Memory map
Address Range | Description |
0x0000-0x07FF | RAM #1 (unconfirmed) |
0x0800-0xFFF | RAM #2 (unconfirmed) |
0x1000 R | |
0x1000 W | Lower nibble appears to be used to disable laserdisc video (unconfirmed). See video PCB schematic page 14/14, around 7C. Lowest 2 bits appear to control the coin blockers (unconfirmed). |
0x1001 R | |
0x1001 W | NMI Ack' |
0x1002 R | |
0x1003 R | Read from video PCB. Bit 7 = VBLANK. Bit 6 = BLK2. It doesn't look like any other bits can be read here. |
0x1004 W | AM2950. Sound CPU I/O? |
0x1005 R | |
0x1006 R | MC68B50 Serial port control |
0x1006 W | MC68B50 Serial port control |
0x1007 R | MC68B50 Serial port data rx |
0x1007 W | MC68B50 Serial port data tx |
0x4000-0x5FFF | ROM5 |
0x6000-0x7FFF | ROM4 |
0x8000-0x9FFF | ROM3 |
0xA000-0xBFFF | ROM2 |
0xC000-0xDFFF | ROM1 |
0xE000-0xFFFF | ROM0 |
Power supply
-5V
After inspecting the schematics and the PCB itself, the -5V rail appears to only be used by 9J (SN75188N) to be the low signal for the serial port. Therefore, it probably doesn't need much current. Substituting with -12V may work, although it might strain the capacitors.
16V
The 16V rail appears to be used only by the audio amplifier. I did a visual inspection of the PCB to confirm this.
The audio amplifiers are MB3730 and have a max VCC voltage of 18V. It is designed to be powered by anything between 8V and 16V. So perhaps the audio amps could be powered by 12V instead of 16V and still work.
RGB output
RA2
Pin | In/Out | Notes |
1 | I | Power |
2 | O | Red |
3 | I | |
4 | I | |
5 | I | |
6 | O | Green |
7 | I | |
8 | I | |
9 | I | |
10 | O | Blue |
11 | I | |
12 | I |
Sync signals
Sync Generation
Video sync signals are generated by what appears to be a custom Sony chip called the CX 773A (I couldn't find any info about this by googling for it). The chip itself is labeled as "SONY 773A 3A" with "001" at the bottom. You can find it on the Bega's Battle schematic called "DSP Control Decode" and it is at position 16K on the VDO-1 (bottom) PCB (the one with the two BNC outputs).
This custom IC takes in a 14.3182 MHZ clock and five of its output are used. Exact clock frequency is 315/22 (see https://en.wikipedia.org/wiki/Crystal_oscillator_frequencies )
Pin | Description | Notes |
4 | Composite Sync | Active low. Typical NTSC composite sync. Nothing unusual observed. |
6 | SG BLK | Active low. May refer to "signal block" meaning when to prevent computer generated video from going to the monitor. For top field, starts at beginning of line 1 and ends when line 21 begins, and otherwise goes low when HSync goes low (and lasts a little bit longer than HSync pulses). |
8 | HSYNC 2 | Active low. Appears to run at a constant 15.73 kHz frequency with no variation. Each line is 63.56 uS long. Each pulse lasts for 6.72 uS. Usually starts a little before csync and ends a little after. Goes low at the same time as SG BLK. |
11 | VSYNC 2 | Active low. For top field, starts at the beginning of line 1 and ends at the end of line 9. No apparent delay relative to csync. Each pulse lasts for 0.5721 ms and the frequency is a constant 59.93 Hz, with a period of 16.69 ms. |
15 | SC | Stands for Sub-Carrier. Matches the color burst frequency. Runs at 3.58 MHz. |
NTSC composite signal notes
Color burst is 3.58 MHz and should last for 9 cycles. Wave shape is sine wave. Its range should be +/- 20 IRE which, if the video signal is 1Vp-p, means going from -142.857 mV to 142.857 mV . To verify, divide 20*1000/140 according to this page: https://en.wikipedia.org/wiki/IRE_(unit)
IRE for an NTSC signal can be derived by measuring voltage depth of HSYNC (or VSYNC) pulse. Said depth will be 40 IRE. The full range of the composite signal is 140 IRE.
Genlock / PLL stuff for color burst
https://electronics.stackexchange.com/questions/14361/synchronising-to-a-colour-burst
( MC1378P and MC44144 mentioned, both out of production)
Page about color burst PLL: https://books.google.com/books?id=_spKr2qoRKwC&pg=PA313#v=onepage&q&f=false
Techniques for converting analog sine wave into square wave:
https://electronics.stackexchange.com/questions/24979/changing-a-signals-dc-offset https://electronics.stackexchange.com/questions/163253/sine-wave-to-square-wave-schmitt-trigger
Spartan 3E docs that include info about clocks: https://www.xilinx.com/support/documentation/user_guides/ug331.pdf
Chroma Board
Signals from VDO-1 (bottom) PCB that are sent to Chroma board
CN2 Pin from VDO-1 (bottom) PCB | CN1 Pin on Chroma PCB | Description |
B3 | 2 | 12V |
A5 | 3 | 5V |
B5 | 3 | 5V |
A7 | 9 | Analog red |
B7 | 4 | DSP Sel (I assume this means whether to display laserdisc video or computer generated video) |
A8 | 8 | Analog green |
B8 | 5 | SUB PC BLKING aka BL (related to SG BLK) |
A9 | 7 | Analog blue |
B9 | 6 | csync |
A10 | 1 | Ground |
B10 | 10 | Ground |
Other stuff the chroma board may use
Lock Pulse from player: According to LDP-1000A manual, this is used to superimpose graphics over the player's image. The chroma board apparently makes use of it.
BNC output voltage levels
Sub carrier
Yellow is Sub-Carrier (color burst).
Input specs say signal may be 2V(p-p) +/- 0.5V(p-p) 75 ohm
Composite sync
Blue is composite sync. Blue averages about 2.4V high.
Input specs say signal may be 4V(p-p) +/- 1V(p-p) 75 ohm
Serial I/O
VDO-2 CN2
CN2 Pin from VDO-2 (top) PCB | Name | Notes |
A1 | GND | |
A2 | RxD | Incoming |
A3 | TxD | Outgoing, +12V to -5V (apparently) |
A4 | CTS ? | Tied to A5. |
A5 | RTS ? | Tied to A4 |
A6 | DTR ? | 12V through 1k resistor |
A7 | Signal ground? | GND |
A8 | Not connected? |
UART (17F / MC68B50P)
Pin | Name | Notes |
1 | GND | |
2 | Rx Data | |
3 | Rx Clock | Tied to 16D-12 |
4 | Tx clock | Tied to 16D-12 |
5 | RTS' | Not connected |
6 | Tx Data | To 9J-2 |
7 | IRQ' | To main CPU IRQ (I think?) |
8 | CS0 | To 5V |
9 | CS2' | To 14E-9 |
10 | CS1 | To 5V? (schematic hard to read) |
11 | RS | Tied to an address bus line |
12 | VCC | To 5V |
13 | R/W' | To CPU R/W' it appears |
14 | E (Enable) | to something related to main CPU |
15-22 | D7-D0 | Data bus |
23 | DCD' | Tied to GND |
24 | CTS' | Tied to GND |
Logic Analyzer Notes
Data bus holds a valid writable value when CS2' is low and E is high.
Software configuration
Control set with 0x03 (E104). Master reset of MC68B50. Control set with 0x96 (E109). Bit 7 - enable RX interrupt. Bits 6:5 - RTS' = low, transmit interrupt disabled. Bits 4:2 - 8 bits, 1 stop bit. Bits 1:0 - divide incoming clock by 64.
Transmission speed
Surprisingly, the game communicates with the laserdisc player at 1200 bps.
You can confirm this yourself by taking the incoming clock ( 9.804 MHz ), dividing it by 128 ( 76.59 kHz ) and then dividing that again by 64 (a configuration setting on the MC68B50) to get 1.1967 kHz (about 1200 bps).