TutorVision / INTV88 Reverse Engineering
J. Zbiciak
March / April 2017; Updated October 2018
Special thanks to Earl Ruffa, whose INTV88 PCB provided much of the circuit information below, and Chuck Gill for providing access to his complete TutorVision. Board photos show Earl Ruffa’s board, except where otherwise noted.
Title Screen / Menu GRAM Font 5
System RAM: 4×2114 RAM + 2×74HCTLS174 latches (U3 through U8) 6
Interrupt / Bus Request Generation (U17 through U22) 8
Graphics Generation / AY-3-8900-1 Compatibility 14
Read Only vs Read/Write STIC register bits 14
Display Resolution: 160x192 vs. 159x192 15
Bus Isolation Mode / Cycle Stealing 15
Sears Bus Copy and VBLANK / STIC Period 15
INTV88 Bus Copy and VBLANK / STIC Period 16
Foreground / Background MOB Incompatibility 17
Sound Generation / AY-3-8914 Compatibility 18
ADAR Bus Phase / Running Code from RAM 18
Graphics Bus: GROM and GRAM (U10, U11, U12) 18
Comparison to original GROM 19
Title and Copyright String Comparison 19
Updated Alphanumeric and Punctuation Tiles 19
Hand Controller Interface (U14, U15) 21
Prevalence of INTV88 Systems / SuperPro Variants 24
Instruction Fetch and Data Access (Indirect Reg. Mode) 29
Instruction Fetch and Data Access (Direct Addr. Mode) 30
MVO Timing (Write Operation) 30
The CP1610A is a pin-count-reduced, single voltage variant of the CP1610. No data sheet is available.
I determined the pinout below analyzing connections into the rest of the circuit. The CP1610A also appears in some later logic boards that predate the INTV88. It is found in some System /// and SuperPro units. (INTV87 and perhaps others.)
Pin | Signal | Pin | Signal |
1 | ? | 28 | VCC |
2 | ? | 27 | BC2 |
3 | /INTRM | 26 | BC1 |
4 | /BUSAK | 25 | BDIR |
5 | /BUSRQ | 24 | ? CLK ? |
6 | DB15 | 23 | /MSYNC |
7 | DB14 | 22 | DB0 |
8 | DB13 | 21 | DB1 |
9 | DB12 | 20 | DB2 |
10 | DB11 | 19 | DB3 |
11 | DB10 | 18 | DB4 |
12 | DB9 | 17 | DB5 |
13 | DB8 | 16 | DB6 |
14 | GND | 15 | DB7 |
Note: On previous Intellivisions, the CPU bus control signals go through additional logic that remaps the INTAK bus phase to BAR. On the TutorVision / INTV88 PCB, the CP1610A bus controls go directly to the cartridge port without further conditioning. That means that cartridges now see INTAK:
Datasheets:
The WBEXEC connects to the BC1/BC2/BDIR signals that are driven from the cartridge port, similar to the Intellivision.
On the original Intellivision, the EXEC ROM provides interrupt/reset vectors in response to the IAB bus phase. WBEXEC has no /MSYNC input to distinguish a reset from an interrupt. Therefore, the STIC1A likely picks up this responsibility. No other hardware in the system is suitable. See RO-3-9502 and RO9580 datasheets linked above for more detail on IAB.
Locations $2000 - $24AF in the WBEXEC contain packed graphics data that is mostly used for the title screen and TutorVision menu system. This data gets unpacked to GRAM locations $39D0 through $3F7F. This corresponds to GRAM card numbers $3A through $F0.
x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | |
3x | ||||||||||||||||
4x | ||||||||||||||||
5x | ||||||||||||||||
6x | ||||||||||||||||
7x | ||||||||||||||||
8x | ||||||||||||||||
9x | ||||||||||||||||
Ax | ||||||||||||||||
Bx | ||||||||||||||||
Cx | ||||||||||||||||
Dx | ||||||||||||||||
Ex |
It appears the card loaded at $E6 (highlighted in red) is incorrect. Assuming this portion of the font is supposed to mimic IBM extended ASCII line-drawing characters, $E6 should hold a plus-sign shape.This is not an error in the dump. Rather, this is apparently an actual error in the WBEXEC.
The cards $B6 .. $DA form the tall, thick font used for game names on the TutorVision title screen and elsewhere in TutorVision games.
INTV88 boards that lack the WBEXEC seem to have an INTV88-specific version of the Intellivision 1 EXEC. The image is bit-identical to the Intellivision 1 EXEC; however, it is in a single RO9580 ROM designated P586. It also shares the same second-line designation 3504-730A.
The fact that the two variants are numbered P586 and P587 suggests INTV was preparing to ramp up parallel production of TutorVision and non-TutorVision units, and the few SuperPro systems found with WBEXEC are evidence of INTV shipping whatever’s available to ship, there in the final days.
One curiosity: RO9580 is twice the necessary capacity for holding the Intellivision 1 EXEC. What’s in the other 4K, or is it just disabled?
The 2 × 74HCTLS174 latch addresses to demultiplex the address/data bus for the System RAM. These capture DB9 - DB0 to feed to A9 - A0 on each of the 4 × 2114s. The A0 bit is also used by the controller-reading logic to select left vs. right controller.
The 2114s are organized as 16-bit memory, with separate byte enables for the upper and lower bytes. The 2114s map into memory as follows:
Start | End | Description |
$100 | $1EF | 8-bit memory. Upper byte always reads as 0. |
$200 | $4FF | 16-bit memory |
The STIC1A generates all enables and chip-selects for the System RAM.
The STIC1A fetches BACKTAB from System RAM during active display, using /BUSRQ to halt the processor during fetches.
The logic block U17 through U22 generates /INTRM and /BUSRQ signals from a set of signals provided by STIC1A. Chip breakdown:
Ref | Part Number | Description |
U17 | 74HCTLS08 | Quad 2-Input AND gate |
U18 | 74HCTLS04 | Hex inverter |
U19 | 74HCTLS73 | Dual J-K Flip Flop |
U20 | 74HCTLS30 | 8-input NAND |
U21 | 74HCTLS163 | 4-bit Synchronous Counter |
U22 | 74HCTLS163 | 4-bit Synchronous Counter |
This circuit takes 3 inputs from the STIC1A ASIC:
Note: CBLNK is named for the pin it connects to on the cartridge connector. UNK_1 and UNK_2 are signals I don’t have better names for.
The 6 chips form the following circuit:
The upper portion of the circuit stretches low transitions of UNK_1 out to CBLNK boundaries. UNK_1 therefore indicates the start of /BUSRQ, while CBLNK defines the end of /BUSRQ.
The lower portion of the circuit uses CBLNK to count scan lines, ultimately generating a long /INTRM pulse. Asserting UNK_2 terminates /INTRM; however, CBLNK also must toggle to fully deassert /INTRM; otherwise asserting UNK_2 will just deassert /INTRM until UNK_2 deasserts.
Quite why this circuit is necessary remains a mystery. I suspect the ASIC was intended to generate /BUSRQ and /INTRM, but generated them incorrectly.
This logic is likely buggy. The 74HCTLS163s have synchronous reset inputs. CBLNK must toggle while UNK_2 is asserted for circuit to reset properly. It’s not clear when CBLNK toggles. IntyBASIC v1.2.9 games hang on startup. While dispatching to an interrupt, the CPU dispatches a second time. (Symptom: Interrupt return address of $100A, which is in the EXEC interrupt dispatch code.) Current theory: STIC1A asserts UNK_2 when the CPU issues INTAK. Under normal circumstances, STIC1A would also be toggling CBLNK around the time the CPU issues INTAK. If the display was disabled for a long time when the CPU finally takes the interrupt, that assumption may not hold.
(Picture from Chuck Gill’s system.)
The STIC1A ASIC integrates the following major functions from the original Intellivision:
The analysis below applies to the 8930 date code STIC1A variant. At least one other date code has been spotted (8912); however, I expect the analysis to apply to both.
The STIC1A has the following major interfaces:
The STIC1A connects to the BC1, BC2, BDIR inputs driven from the cartridge port, rather than a direct connection from the CPU. The STIC1A integrates the functions of both the RA-3-9600 and AY-3-8900. Therefore, this represents a change for the RA-3-9600 functionality (slightly), but not the AY-3-8900.
Because BC1, BC2, BDIR come from the cartridge port, it’s possible to completely override the address map for all of the hardware inside the TutorVision/INTV88 with external logic, including the System RAM, STIC, PSG, and hand controllers. On the Intellivision, you could not intercept bus cycles decoded by the System RAM (RA-3-9600), as it took its bus control inputs directly from the CPU.
I do not know the STIC1A’s complete pinout. I determined the following pinout through reverse engineering. The following pin numbering assumes counter-clockwise starting at the top right corner.
Pin (Top) | Signal | Pin (Left) | Signal | Pin (Bottom) | Signal | Pin (Right) | Signal |
1 | DB11 | 18 | BDIR | 35 | ? | 52 | ? |
2 | DB12 | 19 | ? | 36 | /RAMH | 53 | ? |
3 | DB13 | 20 | UNK_1 | 37 | /RAML | 54 | ? |
4 | DB14 | 21 | /RDWS | 38 | /GROM | 55 | ? |
5 | DB15 | 22 | /RBAR | 39 | /GRAM | 56 | DB0 |
6 | UNK_X | 23 | /HAND | 40 | CBLNK | 57 | DB1 |
7 | /RESET | 24 | UNK_2 | 41 | GAD0 | 58 | DB2 |
8 | ? | 25 | ? | 42 | GAD1 | 59 | DB3 |
9 | ? | 26 | ? | 43 | GAD2 | 60 | ? |
10 | ? | 27 | /GBAR | 44 | GAD3 | 61 | Vunreg |
11 | ? | 28 | /GDWS | 45 | GAD4 | 62 | DB4 |
12 | ? | 29 | GND | 46 | GAD5 | 63 | DB5 |
13 | /MSYNC | 30 | RF8 | 47 | GAD6 | 64 | DB6 |
14 | BC1 | 31 | RF4 | 48 | GAD7 | 65 | DB7 |
15 | BC2 | 32 | RF2 | 49 | GA8 | 66 | DB8 |
16 | ? | 33 | RF1 | 50 | GA9 | 67 | DB9 |
17 | ? | 34 | ? | 51 | GA10 | 68 | DB10 |
Note: STIC1A does not connect to +5V VCC. Rather, it accepts the same unregulated voltage input as the 7805 voltage regulator, indicated as Vunreg above.
Note2: GD0 .. GD7 in diagram above is GAD0 .. GAD7 elsewhere in this document. (1), (2) and (X) are the same as UNK_1, UNK_2, UNK_X.
Note3: !FOO means the same as /FOO, ~FOO, FOO*, and FOO with a bar over it. All five notations refer to an active-low signal. Some signals polarity aren’t known definitively yet and may appear with inconsistent polarity notations in the short run.
No major oddities have been observed in the STIC1A’s graphics output or backward compatibility to the AY-3-8900-1. There are some minor differences.
Locations $0000 - $003F mostly respond identically to an AY-3-8900-1, including the following:
There is one exception:
This table shows read/write bits (RW) vs. bits that return a fixed value (shaded value) by address.
Addrs | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
00 | 07 | 0 | 0 | 1 | 1 | 1 | RW | RW | RW | RW | RW | RW | RW | RW | RW | RW | RW |
08 | 0F | 0 | 0 | 1 | 1 | RW | RW | RW | RW | RW | RW | RW | RW | RW | RW | RW | RW |
10 | 17 | 0 | 0 | RW | RW | RW | RW | RW | RW | RW | RW | RW | RW | RW | RW | RW | RW |
18 | 0 | 0 | 1 | 1 | 1 | 1 | RW | RW | RW | RW | RW | RW | RW | RW | RW | 0 | |
19 | 0 | 0 | 1 | 1 | 1 | 1 | RW | RW | RW | RW | RW | RW | RW | RW | 0 | RW | |
1A | 0 | 0 | 1 | 1 | 1 | 1 | RW | RW | RW | RW | RW | RW | RW | 0 | RW | RW | |
1B | 0 | 0 | 1 | 1 | 1 | 1 | RW | RW | RW | RW | RW | RW | 0 | RW | RW | RW | |
1C | 0 | 0 | 1 | 1 | 1 | 1 | RW | RW | RW | RW | RW | 0 | RW | RW | RW | RW | |
1D | 0 | 0 | 1 | 1 | 1 | 1 | RW | RW | RW | RW | 0 | RW | RW | RW | RW | RW | |
1E | 0 | 0 | 1 | 1 | 1 | 1 | RW | RW | RW | 0 | RW | RW | RW | RW | RW | RW | |
1F | 0 | 0 | 1 | 1 | 1 | 1 | RW | RW | 0 | RW | RW | RW | RW | RW | RW | RW | |
20 | 21 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
22 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 1 | 1 | 1 | |
23 | 27 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
28 | 2C | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | RW | RW | RW | RW |
2D | 2F | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
30 | 31 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | RW | RW | RW |
32 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | RW | RW | |
33 | 3F | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
Locations $0040 - $007F return $FFFF. On older Intellivisions, a portion of GRAM(?) was visible here.
The STIC1A displays the 160th column, unlike the AY-3-8910-1. This may have some implications for MOB-vs-border collision detection.
Bus Isolation mode is “more isolated” in some ways. During active display, STIC registers return various random garbage. GROM and GRAM however return $00FF. In contrast, RA-3-9600 would sample the graphics bus, giving semi-predictable garbage based on what portion of the display was being generated.
The game Map Mazes shows some graphical glitches that appear as light-colored stripes near where the STIC should assert /BUSRQ. This suggests the STIC1A may behave differently when programs have too many non-interruptible instructions in a row. This requires further investigation.
The STIC1A definitely has different cycle stealing and bus isolation timing. The following values were measured by irq_per, run on both a Sears unit and an INTV88 unit.
In this test, we see that the INTV88 unit allows slightly more bus-copy time when the vertical delay register is 0, and allows increasing amounts of bus-copy time as the vertical delay increases. In contrast, the AY-3-8900-1 offers about the same amount of bus-copy time regardless of the vertical delay register.
INTV88 steals fewer cycles, as indicated by the larger numbers in the S-ON column, and roughly identical numbers for vert_delay = 0 and vert_delay > 0. Likely, STIC1A only issues 12 /BUSRQs for the 12 rows of cards, omitting the initial short /BUSRQ the AY-3-8900-1 issued at the start of field, and the 14th /BUSRQ that only gets issued when vertical delay is 0. That is, the STIC1A likely omits the first and last /BUSRQ pictured here. Also /BUSRQ appears to be ~1 CPU cycle shorter based on experiments in jzIntv.
The irq_per test does not measure how long STIC registers are visible for, only GROM/GRAM. It also does not measure how long the STIC asserts /INTRM. Those parameters need to be measured.
Also of note: The Bus Copy Measurement makes the screen jump wildly on the Sears unit, and not at all on the INTV88 unit, which indicates the two behave differently when given too many non-interruptible instructions in a row. This deserves further investigation. Likely cause: No initial short /BUSRQ.
The STIC1A does not respond to STIC register aliases at $40xx, $80xx, $C0xx. It also does not appear to respond to GRAM write aliases at $7800 - $7FFF, $B800 - $BFFF, and $F800 - $FFFF.
Code which writes to GRAM at its aliases at $7800 - $7FFF, $B800 - $BFFF, and $F800 - $FFFF will not function correctly. Note the ECS also masks these GRAM write aliases.
Foreground/Background mode on the AY-3-8900 and AY-3-8900-1 limits all card numbers for GRAM and GROM to the range 0 - 63. This limitation applies equally to BACKTAB and MOBs. The AY-3-8900 STIC places the RO-3-9503 GROM into a different addressing mode that causes it to ignore bits 9 and 10 of the GROM address for all purposes. (See the RO-3-9503 datasheet, bullet 3.)
STIC1A only applies the restriction to BACKTAB cards. MOBs always see the full GRAM and full GROM. Games that rely on Foreground/Background mode to restrict the span of GRAM or GROM card numbers for its MOBs will display incorrectly on STIC1A.
The STIC1A PSG implementation mostly appears to be an AY-3-8914 clone. Importantly, there is zero evidence that it is an AY8930 clone. The 8930 printed on the package is most likely a date code.
STIC1A specific behaviors:
The STIC1A behaves similarly to the RA-3-9600, in that direct-mode instructions do not operate correctly when run from system RAM. This was tested with a simple program run from System RAM.
Timing of /BUSRQ, /INTRM. Duration of STIC register visibility. Whether MOBs are visible in the rows exposed by v-delay > 0.
The graphics bus consists of the following components:
The /GBAR signal from STIC1A instructs the 74HCTLS374 latch to sample GA0 .. GA7 from GAD0 .. GAD7. This, combined with GA8 .. GA10 provides a 11-bit address to both GRAM and GROM.
The /GRAM and /GROM signals separately enable GRAM and GROM. /GRAM goes to pins 18 and 20 on U11. /GROM goes to pins 18 and 20 on U12.
The /GDWS signal acts as a write-enable to the GRAM. It goes to pin 21 of U12. Pin 21 of U11 is tied to ground.
Original: 00 FF FF FF FF FF FF 00 4D 61 74 74 65 6C 20 45 # ........Mattel E 000006A0 6C 65 63 74 72 6F 6E 69 63 73 20 20 20 20 20 20 # lectronics 000006B0 20 70 72 65 73 65 6E 74 73 00 43 6F 70 72 20 40 # presents.Copr @ 000006C0 20 31 39 38 34 20 4D 61 74 74 65 6C 00 FF FF 24 # 1984 Mattel...$ 000006D0 |
Updated: 00 FF FF FF FF FF FF 00 20 49 4E 54 56 20 43 6F # ........ INTV Co 000006A0 72 70 6F 72 61 74 69 6F 6E 20 20 20 20 20 20 20 # rporation 000006B0 20 70 72 65 73 65 6E 74 73 00 43 6F 70 72 20 40 # presents.Copr @ 000006C0 20 31 39 38 36 20 20 49 4E 54 56 20 00 FF FF 24 # 1986 INTV ...$ 000006D0 |
x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | |
0x | ||||||||||||||||
1x | ||||||||||||||||
2x | ||||||||||||||||
3x | ||||||||||||||||
4x | ||||||||||||||||
5x |
This font is nearly identical to the IBM CGA font, with the following changes:
It’s otherwise pixel identical. Reference:
The TutorVision/INTV88 is slightly incompatible with the Intellivision, due to its expanded 2K × 8 GRAM. The STIC1A does not appear to provide a mechanism to disable the additional GRAM. This affects BACKTAB and MOBs in Color Stack mode, and MOBs only in Foreground / Background mode. (MOBs have other issues. See Foreground / Background MOB Incompatibility above.)
On the original Intellivision, the STIC effectively ignores bits 6 and 7 of the card number when selecting graphics tiles from GRAM. (These are bit 9 and 10 of the BACKTAB entry and STIC MOB Attribute registers.) The original Intellivision ignores these bits because it only provides 512 bytes of GRAM.
In Color Stack mode, BACKTAB entries select GRAM cards with the following encoding:
A similar situation exists for MOBs. The MOB Attribute register is encoded similarly:
With the expanded GRAM, bits 10:9 now form part of the GRAM card number, giving the user access to 256 GRAM cards. Games which do not zero these two bits—either because they store other data in these bits, or just treat them as don’t-care bits—will display incorrectly.
On the original Intellivision, the AY-3-8914 PSG provided two 8-bit input ports for the hand controllers. The STIC1A absorbs most PSG functionality on the INTV88 board. However, the hand controller input ports remain outside.
Two 74HCTLS257 4-bit 2:1 multiplexor chips provide the two 8-bit input ports for the hand controllers. RA0 from the System RAM address latch selects between controller 0 and controller 1. The /HAND output from the STIC1A enables the muxes onto the CPU bus when reading locations $1FE and $1FF.
The controller ports themselves connect to the inputs of the 74HCTLS257s directly, with 47kΩ pull-up resistors on each pin.
There are no series resistors on the controller inputs, unlike the Intellivision 1.
The main video interface consists of a 7407 open-collector buffer, along with a resistor-ladder DAC. This mimics the resistor-ladder circuit that previously attached to the AY-3-8915.
The resistor ladder is essentially identical to the one in the AY-3-8915 data sheet and the original 2609 Intellivision schematic: Outputs RF8, RF4, RF2, RF1 feed into 22kΩ, 11kΩ, 5.5kΩ (via two 11kΩ in parallel) and 2.1kΩ resistors, with an 18kΩ resistor to GND.
TBD
The board has 7 pairs of jumper points, labeled JP0 through JP6.
ID | Left | Right | Description / Purpose |
JP0 | JP0 | JP0 | Just connected to itself? |
JP1 | UNK_X | VCC | Unknown; crashes system |
JP2 | UNK_X | GND | Unknown |
JP3 | GA9 | GND | Shorts graphics address 9 to ground |
JP4 | GA10 | GND | Shorts graphics address 10 to ground |
JP5 | GA10 | Open? | Purpose unknown |
JP6 | GA9 | Open? | Purpose unknown |
Because the jumper block involves GA9 and GA10, I speculate INTV Corp may have experimented with methods to correct the INTV88’s GRAM compatibility issues.
The RESET pin on cartridge connector doesn’t seem to do anything on the INTV88. However, it is connected to an RC circuit.
At present, this means LTO Flash!, JLP, CC3, Intellicart, etc. cannot reset the console. We observed this behavior with Chuck’s TutorVision. In fact, Chuck’s TutorVision also requires hitting reset on every power-up. Because RESET is connected to an RC circuit and a pin on the ASIC, I have some hope that we can make LTO Flash! and JLP reset the unit properly. (To be certain: I have not tried CC3 or Intellicart in the system yet..)
MCLK on cartridge connector doesn’t seem to be connected to anything either.
Beamrider crashes from LTO Flash; runs OK in jzIntv. Don’t know why—perhaps double interrupt issue. Worm Whomper displays corrupted graphics. So does Space Patrol. Reason: Expanded GRAM.
Some SuperPro systems contain INTV88 hardware. We don’t have much data on which SuperPro systems are INTV88 systems. All confirmed INTV88 SuperPro systems have an A-series serial number. We’ve also verified that some SuperPro systems have an Intellivision 2 EXEC image.
Datapoints:
Serial No. | Mainboard Type | EXEC Type | GROM Type[1] | Notes |
A-7571 | Intellivision 1 | EXEC 2 | Mattel 1984 | |
A-7940 | Intellivision 1? | ? | ? | Limited evidence from eBay listing. |
A-008244 | Intellivision 1? | ? | ? | Limited evidence from eBay listing. |
A-008598 | Intellivision 1 | EXEC 1 | Mattel 1984 | INTV 1987 REV A board |
A-8644 | INTV88 | EXEC 1 | INTV 1986 | STIC 1A 08E023-4 8912 |
A-8652 | INTV88 | EXEC 1? | INTV 1986? | STIC 1A 802E028-1 8912 (not working, EXEC and GROM types assumed off of chip markings) |
A-8774 | INTV88 | WBEXEC | INTV 1986 | STIC 1A BV2 8930 |
A-8800 | INTV88 | EXEC 1 | INTV 1986 | STIC 1A BV2 8930 |
A-8833 | Intellivision I | EXEC 2 | Mattel 1984 | |
A-8906 | INTV88 | EXEC 1 | INTV 1986 | EXEC RO09580/P586 STIC 1A BV2 8930 |
A-9033 | Intellivision I | EXEC 1 | Mattel 1984 | |
A-10045 | INTV88 | WBEXEC | INTV 1986 | STIC 1A BV2 8930 |
A-10461 | INTV88 | WBEXEC | INTV 1986 | STIC 1A BV2 8930 Serial No. hand-written |
A-11229 | INTV 1987 | EXEC 1 | Mattel 1984 | |
A-11403 | Intellivision I | ? | Mattel 1984 | Spotted on eBay; inferred from photo of Hockey title screen. |
A-013915 | Intellivision I? | EXEC 1? | Mattel 1984? | Based on photos from eBay auction |
A-016692 | Intellivision I | ? | Mattel 1984 | Spotted on eBay; inferred from photo of AD&D title screen. |
A-021202 | Intellivision I | EXEC 2 | Mattel 1984 | |
A-026101 | INTV88 | WBEXEC | INTV 1986 | STIC 1A BV2 8930 Serial number hand-written, the ‘2’ is written over white-out |
A-026841 | INTV88 | ? | INTV 1986 | Spotted on eBay; auction pictures indicate updated GROM |
A-031062 | INTV88 | ? | ? | Spotted on eBay |
A-031118 | INTV88 | WBEXEC | INTV 1986 | STIC 1A BV2 8930 |
Chuck Gill’s TutorVision | INTV88 | WBEXEC | INTV 1986 | STIC 1A BV2 8930 |
I use the mainboard type designation “Intellivision I” to broadly mean all mainboard styles similar to the original 2609 Intellivision, including the INTV 1987 design, despite the fact there’s a ton of variants out there. I list INTV 1987 where we’ve explicitly identified an INTV 1987 board.
At least 3 different INTV88 PCB revisions have been spotted, and can be identified by a circuit trace near U1. On one board variant, there is no circuit trace below the U1 designator. On another, there is a jumper there. On the third, there’s a permanent trace.
The leftmost (no trace) appears to be the earliest, while the permanent trace version seems to be the newest. This trace seems to be connected to Vunreg and the Zener diode near the RF modulator.
The second and third style of boards have additional inductors L1 and L2 near the power supply and controller input section, and capacitor C31 near the reset circuitry between R1 and R2. These are all missing on the first board style.
Note: The second board style labels L1 and L2 as R33 and R34; however.
Chuck Gill’s system is a fourth variant. It looks like the second variant; however, it uses a mesh copper fill rather than a solid fill in certain areas. It’s otherwise the same as the second variant above.
Chuck’s:
Other:
From CP-1600 Microprocessors User Manual, 1975.
[1] Named after the copyright string contained in the GROM image. See Comparison to original GROM for details.