85606-B-2 Sheet 3/9 — OBJECT DATA CONTROL

manual p13 · 27 ICs · 0 verified ✓ · 27 unverified (auto) · layout mirrors the original drawing
Click a net label to trace it — endpoints colour-coded input · output · in/out — click an IC box (either panel) to select it in both, click again to deselect (multi-select OK), Esc clears all. Use the IC rail on the far left to jump straight to a chip. A net name shown muted like this and prefixed $ is ours - a node the 1985 drawing leaves unlabelled; every other name was read off the drawing. Hover a pin for its net's story.
Notes and open questions on this sheet (16)
4J — 74LS86: Four XORs conditionally inverting the four row bits with OBVFLIP, producing the sprite ROM's row address flipped vertically when the attribute says so. — AUTO-EXTRACTED, not yet walkthrough-verified 4J ? 74LS86 $SB2 2A 1 $SB2 OBVFLIP 2B 2 OBVFLIP $SB3 1A 4 $SB3 OBVFLIP 1B 5 OBVFLIP $SB0 3A 9 $SB0 OBVFLIP 3B 10 OBVFLIP $SB1 4A 12 $SB1 OBVFLIP 4B 13 OBVFLIP Vb2 2Y 3 Vb2 Vb3 1Y 6 Vb3 Vb0 3Y 8 Vb0 Vb1 4Y 11 Vb1 5D — 74LS86: Two XORs generating the sprite's horizontal sub-address. NOTE as drawn the second gate takes OBH4 itself on pin 10, not the flip signal - checked at 13x. — AUTO-EXTRACTED, not yet walkthrough-verified 5D ? 74LS86 drawn on b2-9-scrollrom - click to jump there · SHFLIPa 1 SHFLIPa drawn on b2-9-scrollrom - click to jump there · FLIPa 2 FLIPa drawn on b2-9-scrollrom - click to jump there · SH8 4 SH8 drawn on b2-9-scrollrom - click to jump there · SHFLIP 5 SHFLIP H8 3A 9 H8 OBH4 3B 10 OBH4 /$OBHFLIP 4A 12 /$OBHFLIP H4 4B 13 H4 drawn on b2-9-scrollrom - click to jump there · $SCRFLIP 3 $SCRFLIP drawn on b2-9-scrollrom - click to jump there · $SA4 6 $SA4 OBH8 3Y 8 OBH8 OBH4 4Y 11 OBH4 5J — 74LS273: Second pipeline stage: re-latches 6J at the end of the byte-1 slot, producing AD7-AD0, the sprite code low byte. — AUTO-EXTRACTED, not yet walkthrough-verified 5J ? 74LS273 +5V /CL 1 +5V $ADP0 D1 3 $ADP0 $ADP1 D2 4 $ADP1 $ADP2 D3 7 $ADP2 $ADP3 D4 8 $ADP3 /$OBJB1 CLK 11 /$OBJB1 $ADP4 D5 13 $ADP4 $ADP5 D6 14 $ADP5 $ADP6 D7 17 $ADP6 $ADP7 D8 18 $ADP7 AD0 Q1 2 AD0 AD1 Q2 5 AD1 AD2 Q3 6 AD2 AD3 Q4 9 AD3 AD4 Q5 12 AD4 AD5 Q6 15 AD5 AD6 Q7 16 AD6 AD7 Q8 19 AD7 6J — 74LS273: First stage of the code-byte pipeline: captures DF7-0 at the end of the byte-0 slot. Its Q feeds 5J - the two are CASCADED, not parallel. — AUTO-EXTRACTED, not yet walkthrough-verified 6J ? 74LS273 +5V /CL 1 +5V DF0 D1 3 DF0 DF1 D2 4 DF1 DF2 D3 7 DF2 DF3 D4 8 DF3 /$OBJB0 CLK 11 /$OBJB0 DF4 D5 13 DF4 DF5 D6 14 DF5 DF6 D7 17 DF6 DF7 D8 18 DF7 $ADP0 Q1 2 $ADP0 $ADP1 Q2 5 $ADP1 $ADP2 Q3 6 $ADP2 $ADP3 Q4 9 $ADP3 $ADP4 Q5 12 $ADP4 $ADP5 Q6 15 $ADP5 $ADP6 Q7 16 $ADP6 $ADP7 Q8 19 $ADP7 7E — 74LS175: Latches the flipped V counter's low nibble; again only the /Q outputs are wired out. — AUTO-EXTRACTED, not yet walkthrough-verified 7E ? 74LS175 +5V /CL 1 +5V V2F 1D 4 V2F V1F 2D 5 V1F $V175CLK CLK 9 $V175CLK V8F 3D 12 V8F V4F 4D 13 V4F /$V2L /1Q 3 /$V2L /$V1L /2Q 6 /$V1L /$V8L /3Q 11 /$V8L /$V4L /4Q 14 /$V4L 7F — 74LS283: Low nibble of stage A. A is 0000 or 1111 from the inverted FLIP with A1 hard-wired high, B is the inverted V low nibble, C0 grounded. The sum is the negated, flip-adjusted scanline. — AUTO-EXTRACTED, not yet walkthrough-verified 7F ? 74LS283 /$V2L B2 2 /$V2L /$FLIP A2 3 /$FLIP +5V A1 5 +5V /$V1L B1 6 /$V1L GND C0 7 GND /$V8L B4 11 /$V8L /$FLIP A4 12 /$FLIP /$FLIP A3 14 /$FLIP /$V4L B3 15 /$V4L $SA1 S2 1 $SA1 $SA0 S1 4 $SA0 $SACY C4 9 $SACY $SA3 S4 10 $SA3 $SA2 S3 13 $SA2 7H — 74LS283: Low nibble of stage B: adds the object's Y to stage A's result, giving the beam's row within this sprite. — AUTO-EXTRACTED, not yet walkthrough-verified 7H ? 74LS283 $SA1 B2 2 $SA1 Va1 A2 3 Va1 Va0 A1 5 Va0 $SA0 B1 6 $SA0 GND C0 7 GND $SA3 B4 11 $SA3 Va3 A4 12 Va3 Va2 A3 14 Va2 $SA2 B3 15 $SA2 $SB1 S2 1 $SB1 $SB0 S1 4 $SB0 $SBCY C4 9 $SBCY $SB3 S4 10 $SB3 $SB2 S3 13 $SB2 7J — 74LS373: Transparent latch grabbing DF7-0 during the byte-2 slot; its output is the object's Y coordinate feeding the row subtracter. /OC grounded, so it always drives. — AUTO-EXTRACTED, not yet walkthrough-verified 7J ? 74LS373 GND /OC 1 GND DF0 D0 3 DF0 DF1 D1 4 DF1 DF2 D2 7 DF2 DF3 D3 8 DF3 $TR2I CLK 11 $TR2I DF4 D4 13 DF4 DF5 D5 14 DF5 DF6 D6 17 DF6 DF7 D7 18 DF7 Va0 O0 2 Va0 Va1 O1 5 Va1 Va2 O2 6 Va2 Va3 O3 9 Va3 Va4 O4 12 Va4 Va5 O5 15 Va5 Va6 O6 16 Va6 Va7 O7 19 Va7 8E — 74LS175: Latches the flipped V counter's high nibble. ONLY the /Q outputs are used, so the adder receives the ones complement of V - this is what turns the '283 chain into a subtracter. — AUTO-EXTRACTED, not yet walkthrough-verified 8E ? 74LS175 +5V /CL 1 +5V V32F 1D 4 V32F V16F 2D 5 V16F $V175CLK CLK 9 $V175CLK V128F 3D 12 V128F V64F 4D 13 V64F /$V32L /1Q 3 /$V32L /$V16L /2Q 6 /$V16L /$V128L /3Q 11 /$V128L /$V64L /4Q 14 /$V64L 8F — 74LS283: High nibble of stage A, carry-chained from 7F. All four A inputs tie to the inverted FLIP, sign-extending the constant. — AUTO-EXTRACTED, not yet walkthrough-verified 8F ? 74LS283 /$V32L B2 2 /$V32L /$FLIP A2 3 /$FLIP /$FLIP A1 5 /$FLIP /$V16L B1 6 /$V16L $SACY C0 7 $SACY /$V128L B4 11 /$V128L /$FLIP A4 12 /$FLIP /$FLIP A3 14 /$FLIP /$V64L B3 15 /$V64L $SA5 S2 1 $SA5 $SA4 S1 4 $SA4 $SA7 S4 10 $SA7 $SA6 S3 13 $SA6 8H — 74LS283: High nibble of stage B. Its sum is all-ones only when the beam is inside the sprite's sixteen rows, which is what 10H tests. — AUTO-EXTRACTED, not yet walkthrough-verified 8H ? 74LS283 $SA5 B2 2 $SA5 Va5 A2 3 Va5 Va4 A1 5 Va4 $SA4 B1 6 $SA4 $SBCY C0 7 $SBCY $SA7 B4 11 $SA7 Va7 A4 12 Va7 Va6 A3 14 Va6 $SA6 B3 15 $SA6 LVb5 S2 1 LVb5 LVb4 S1 4 LVb4 LVb7 S4 10 LVb7 LVb6 S3 13 LVb6 8J — 74LS273: Attribute latch, captured at the end of the byte-1 slot. Unpacks to the code high bits, the X ninth bit, both flips and the colour. Q2 is not drawn - attribute bit 1 is unused, matching MAME. — AUTO-EXTRACTED, not yet walkthrough-verified 8J ? 74LS273 +5V /CL 1 +5V DF0 D1 3 DF0 DF1 D2 4 DF1 DF2 D3 7 DF2 DF3 D4 8 DF3 /$OBJB1 CLK 11 /$OBJB1 DF4 D5 13 DF4 DF5 D6 14 DF5 DF6 D7 17 DF6 DF7 D8 18 DF7 HOVER Q1 2 HOVER $OBVFLIPD Q3 6 $OBVFLIPD $OBHFLIPD Q4 9 $OBHFLIPD $COL4D Q5 12 $COL4D $COL5D Q6 15 $COL5D AD8 Q7 16 AD8 AD9 Q8 19 AD9 9H — 74LS157: Upper nibble of the A/B store read mux: whichever buffer was filled last is read back onto the DF bus. Both stores are pulled up by 4.7K packs. — AUTO-EXTRACTED, not yet walkthrough-verified 9H ? 74LS157 LV1 SEL 1 LV1 DEA7 A 2 DEA7 DEB7 B 3 DEB7 DEA6 A 5 DEA6 DEB6 B 6 DEB6 DEB5 B 10 DEB5 DEA5 A 11 DEA5 DEB4 B 13 DEB4 DEA4 A 14 DEA4 24/96TM /ST 15 24/96TM DF7 Y 4 DF7 DF6 Y 7 DF6 DF5 Y 9 DF5 DF4 Y 12 DF4 9J — 74LS157: Lower nibble of the A/B store read mux: whichever buffer was filled last is read back onto the DF bus. Both stores are pulled up by 4.7K packs. — AUTO-EXTRACTED, not yet walkthrough-verified 9J ? 74LS157 LV1 SEL 1 LV1 DEA3 A 2 DEA3 DEB3 B 3 DEB3 DEA2 A 5 DEA2 DEB2 B 6 DEB2 DEB1 B 10 DEB1 DEA1 A 11 DEA1 DEB0 B 13 DEB0 DEA0 A 14 DEA0 24/96TM /ST 15 24/96TM DF3 Y 4 DF3 DF2 Y 7 DF2 DF1 Y 9 DF1 DF0 Y 12 DF0 9K — 74LS139: Half a '139 decoding H4:H2 while H8 is low - one active-low strobe per byte of the 4-byte object record. The decode lines up with MAME's record layout exactly. — AUTO-EXTRACTED, not yet walkthrough-verified 9K ? 74LS139 H8 /1G 1 H8 H2 1A 2 H2 H4 1B 3 H4 drawn on b2-4-objrom - click to jump there · $6MB B 13 $6MB drawn on b2-4-objrom - click to jump there · $LV1α A 14 $LV1α drawn on b2-4-objrom - click to jump there · $11KQ1 /EN (2G) 15 $11KQ1 /$OBJB0 1Y0 4 /$OBJB0 /$OBJB1 1Y1 5 /$OBJB1 /TR2 1Y2 6 /TR2 /$OBJB3 1Y3 7 /$OBJB3 drawn on b2-4-objrom - click to jump there · /1ST 2Y1 (drawn '1') 11 /1ST drawn on b2-4-objrom - click to jump there · /2ST 2Y0 (drawn '0') 12 /2ST 10J — 74LS174: Three of six flip-flops, clocked by OH from sheet 4/9: retimes the colour bits and the horizontal-flip bit into the pixel pipeline. — AUTO-EXTRACTED, not yet walkthrough-verified 10J ? 74LS174 +5V /CL 1 +5V OH CLK 9 OH $COL4D 4D 11 $COL4D $COL5D 5D 13 $COL5D $OBHFLIPD 6D 14 $OBHFLIPD COL4 4Q 10 COL4 COL5 5Q 12 COL5 OBHFLIP 6Q 15 OBHFLIP 11H — 2114: Buffer-A object store, upper nibble. Only A0-A6 are used - 128 bytes, which is 32 objects of 4 bytes - with A7-A9 tied high and /CE tied low. — AUTO-EXTRACTED, not yet walkthrough-verified 11H ? 2114 $OBAA6 A6 1 $OBAA6 $OBAA5 A5 2 $OBAA5 $OBAA4 A4 3 $OBAA4 $OBAA3 A3 4 $OBAA3 $OBAA0 A0 5 $OBAA0 $OBAA1 A1 6 $OBAA1 $OBAA2 A2 7 $OBAA2 GND /CE 8 GND /$OBAWE /WE 10 /$OBAWE DEA7 I/O1 11 DEA7 DEA6 I/O2 12 DEA6 DEA5 I/O3 13 DEA5 DEA4 I/O4 14 DEA4 +5V A9 15 +5V +5V A8 16 +5V +5V A7 17 +5V 11J — 2114: Buffer-B object store, upper nibble. Only A0-A6 are used - 128 bytes, which is 32 objects of 4 bytes - with A7-A9 tied high and /CE tied low. — AUTO-EXTRACTED, not yet walkthrough-verified 11J ? 2114 $OBBA6 A6 1 $OBBA6 $OBBA5 A5 2 $OBBA5 $OBBA4 A4 3 $OBBA4 $OBBA3 A3 4 $OBBA3 $OBBA0 A0 5 $OBBA0 $OBBA1 A1 6 $OBBA1 $OBBA2 A2 7 $OBBA2 GND /CE 8 GND /$OBBWE /WE 10 /$OBBWE DEB7 I/O1 11 DEB7 DEB6 I/O2 12 DEB6 DEB5 I/O3 13 DEB5 DEB4 I/O4 14 DEB4 +5V A9 15 +5V +5V A8 16 +5V +5V A7 17 +5V 11L — 74LS00: One NAND gating the byte-3 decode with H1 to make /TR1, the X-position latch strobe used on sheet 4/9. — AUTO-EXTRACTED, not yet walkthrough-verified 11L ? 74LS00 $OBJB3I 2A 4 $OBJB3I H1 2B 5 H1 /TR1 2Y 6 /TR1 12H — 2114: Buffer-A object store, lower nibble. Only A0-A6 are used - 128 bytes, which is 32 objects of 4 bytes - with A7-A9 tied high and /CE tied low. — AUTO-EXTRACTED, not yet walkthrough-verified 12H ? 2114 $OBAA6 A6 1 $OBAA6 $OBAA5 A5 2 $OBAA5 $OBAA4 A4 3 $OBAA4 $OBAA3 A3 4 $OBAA3 $OBAA0 A0 5 $OBAA0 $OBAA1 A1 6 $OBAA1 $OBAA2 A2 7 $OBAA2 GND /CE 8 GND /$OBAWE /WE 10 /$OBAWE DEA3 I/O1 11 DEA3 DEA2 I/O2 12 DEA2 DEA1 I/O3 13 DEA1 DEA0 I/O4 14 DEA0 +5V A9 15 +5V +5V A8 16 +5V +5V A7 17 +5V 12J — 2114: Buffer-B object store, lower nibble. Only A0-A6 are used - 128 bytes, which is 32 objects of 4 bytes - with A7-A9 tied high and /CE tied low. — AUTO-EXTRACTED, not yet walkthrough-verified 12J ? 2114 $OBBA6 A6 1 $OBBA6 $OBBA5 A5 2 $OBBA5 $OBBA4 A4 3 $OBBA4 $OBBA3 A3 4 $OBBA3 $OBBA0 A0 5 $OBBA0 $OBBA1 A1 6 $OBBA1 $OBBA2 A2 7 $OBBA2 GND /CE 8 GND /$OBBWE /WE 10 /$OBBWE DEB3 I/O1 11 DEB3 DEB2 I/O2 12 DEB2 DEB1 I/O3 13 DEB1 DEB0 I/O4 14 DEB0 +5V A9 15 +5V +5V A8 16 +5V +5V A7 17 +5V 13H — 74LS157: Low half of the buffer-A address mux: A inputs are the CPU-side object-RAM address, B inputs the H-counter scan address. — AUTO-EXTRACTED, not yet walkthrough-verified 13H ? 74LS157 /OBASEL SEL 1 /OBASEL OBA1 1A 2 OBA1 H32 1B 3 H32 OBA0 2A 5 OBA0 H16 2B 6 H16 H4 3B 10 H4 OB1 3A 11 OB1 H2 4B 13 H2 OB0 4A 14 OB0 GND /ST 15 GND $OBAA3 1Y 4 $OBAA3 $OBAA2 2Y 7 $OBAA2 $OBAA1 3Y 9 $OBAA1 $OBAA0 4Y 12 $OBAA0 13J — 74LS157: Low half of the buffer-B address mux: A inputs are the CPU-side object-RAM address, B inputs the H-counter scan address. — AUTO-EXTRACTED, not yet walkthrough-verified 13J ? 74LS157 /OBBSEL SEL 1 /OBBSEL OBA1 1A 2 OBA1 H32 1B 3 H32 OBA0 2A 5 OBA0 H16 2B 6 H16 H4 3B 10 H4 OB1 3A 11 OB1 H2 4B 13 H2 OB0 4A 14 OB0 GND /ST 15 GND $OBBA3 1Y 4 $OBBA3 $OBBA2 2Y 7 $OBBA2 $OBBA1 3Y 9 $OBBA1 $OBBA0 4Y 12 $OBBA0 14H — 74LS157: High half of the buffer-A address mux. Channel 1 muxes the write strobe itself, so /WE is the write pulse when the CPU owns the buffer and +5 (read) when the beam does. — AUTO-EXTRACTED, not yet walkthrough-verified 14H ? 74LS157 /OBASEL SEL 1 /OBASEL /OBJABWR 1A 2 /OBJABWR +5V 1B 3 +5V OBA4 2A 5 OBA4 H256 2B 6 H256 H128 3B 10 H128 OBA3 3A 11 OBA3 H64 4B 13 H64 OBA2 4A 14 OBA2 GND /ST 15 GND /$OBAWE 1Y 4 /$OBAWE $OBAA6 2Y 7 $OBAA6 $OBAA5 3Y 9 $OBAA5 $OBAA4 4Y 12 $OBAA4 14J — 74LS157: High half of the buffer-B address mux. Channel 1 muxes the write strobe itself, so /WE is the write pulse when the CPU owns the buffer and +5 (read) when the beam does. — AUTO-EXTRACTED, not yet walkthrough-verified 14J ? 74LS157 /OBBSEL SEL 1 /OBBSEL /OBJABWR 1A 2 /OBJABWR +5V 1B 3 +5V OBA4 2A 5 OBA4 H256 2B 6 H256 H128 3B 10 H128 OBA3 3A 11 OBA3 H64 4B 13 H64 OBA2 4A 14 OBA2 GND /ST 15 GND /$OBBWE 1Y 4 /$OBBWE $OBBA6 2Y 7 $OBBA6 $OBBA5 3Y 9 $OBBA5 $OBBA4 4Y 12 $OBBA4 10H — 74LS20: One 4-input NAND over the high nibble of the row difference. VIN ZONE goes low only when all four are high, i.e. this object covers the current scanline. — AUTO-EXTRACTED, not yet walkthrough-verified 10H ? 74LS20 drawn on b2-1-objram - click to jump there · $YDIF4 1A 1 $YDIF4 drawn on b2-1-objram - click to jump there · $YDIF7 1B 2 $YDIF7 drawn on b2-1-objram - click to jump there · $YDIF5 1C 4 $YDIF5 drawn on b2-1-objram - click to jump there · $YDIF6 1D 5 $YDIF6 LVb7 2A 9 LVb7 LVb6 2B 10 LVb6 LVb4 2C 12 LVb4 LVb5 2D 13 LVb5 drawn on b2-1-objram - click to jump there · /MATCH 1Y 6 /MATCH VIN ZONE 2Y 8 VIN ZONE 6H — 74LS04: Five scattered inverters (the box is the union of all five locations): FLIP, /TR2 to the Y latch enable, OBHFLIP, the raw vertical-flip bit, and the byte-3 decode. — AUTO-EXTRACTED, not yet walkthrough-verified 6H ? 74LS04 FLIP 1A 1 FLIP /TR2 2A 3 /TR2 OBHFLIP 3A 5 OBHFLIP $OBVFLIPD 4A 9 $OBVFLIPD /$OBJB3 5A 11 /$OBJB3 drawn on b2-2-objcontroller - click to jump there · $CTRCLK 6A 13 $CTRCLK /$FLIP 1Y 2 /$FLIP $TR2I 2Y 4 $TR2I /$OBHFLIP 3Y 6 /$OBHFLIP OBVFLIP 4Y 8 OBVFLIP $OBJB3I 5Y 10 $OBJB3I drawn on b2-2-objcontroller - click to jump there · $WRSTB 6Y 12 $WRSTB
· Original scan — manual p13 · zoom
original schematic scan
4J
5D
5J
6J
7E
7F
7H
7J
8E
8F
8H
8J
9H
9J
9K
10J
11H
11J
11L
12H
12J
13H
13J
14H
14J
10H
6H