Jump to content
IGNORED

Need all information on the ECS (computer module)


Recommended Posts

Need all available schematics, detailed motherboard pictures. Any information about the circuits, chips, ect would and anything that has been discovered about the ECS (computer module) would be appreciated.

 

Was there an socket or place on the board where expansion could have happened?

Link to comment
Share on other sites

I've posted a few pictures of the interior of the ECS Computer Adaptor. Here is a newly-unboxed one, including a picture of the board with the RF shielding removed, and here are some more pictures of a water-damaged board that I repaired and restored. In several of these pictures, you can see a 26-pin card-edge connector in the upper-left area of the board, which is accessible through a long removable panel in the top of the case. I don't have any pinout information for this connector, however, and not every Computer Adaptor has it (as you can see in the pictures of the new Computer Adaptor).

 

Joe Zbiciak provided some useful information about accessing the features of the ECS—particularly about reading the keyboard, controllers, and Music Synthesizer through the ECS's extra PSG—in this thread. The interesting thing about this PSG is that it is an AY-3-8917, with bidirectional I/O ports, as opposed to the unidirectional AY-3-8914 ports in the Intellivision console. Depending on what you have in mind, these I/O ports might offer the best expansion possibilities.

 

In addition to the PSG, there is a 2K RAM chip in the Computer Adaptor (visible in my pictures), along with a ROM for the ECS BASIC and a UART for the printer and cassette ports. This thread in the Intellivision Programmers newsgroup discusses the UART in some detail.

Link to comment
Share on other sites

Some other random information about the ECS, somewhat abbreviated.

  • 12K of bankswitched ROM for the ECS EXEC/BASIC. (More details on bankswitching below)
  • UART at $E0/$E1/$E2. Not much is known about this UART. I recall Carl Mueller had worked out the patterns for switching between write cassette, read cassette and write to printer, but I don't think we ever learned what the fields in the control register do.
  • 2K 8-bit RAM at $4000 - $47FF. Some documents list this at $4040-$47FF, because writes to $4000-$403F also will write to STIC registers in this range during VBlank.
  • Cassette format is 8E1 at 300 baud. 0 is represented by 2400Hz tone, 1 by 4800Hz tone.

That's about it for major technical bullets. More on the bankswitching:

 

The ECS has 3 4K ROM segments at $2xxx, $7xxx and $Exxx. All three segments are page-switched (bankswitched). The way Mattel's page switching works (the scheme I've called elsewhere "ECS style") is as follows:

 

Each 4K segment can have up to 16 different 4K ROM pages mapped to it. After "reset", all switched segments much switch to page 0. To switch pages within a given 4K segment, write the value $xA5y to location $xFFF, where 'x' is the upper 4 bits of the range you want to switch, and 'y' is the page number to switch to. This will switch the ROM in segment $x000 - $xFFF to page 'y'. If there's no ROM mapped to that page within that segment, then to the Intellivision, it will look like there's no ROM there. In jzIntv, you can specify a paged ROM in the [mapping] section of a .CFG file like so:

[mapping]
$0000 - $0FFF = $2000 PAGE 1
$1000 - $1FFF = $7000 PAGE 0
$2000 - $2FFF = $E000 PAGE 1

 

In fact, that example config pretty much describes how the ECS ROM itself is mapped. After reset, the Intellivision only sees the ROM at $7xxx, because that's mapped into page 0 in its segment. The ROM at $2xxx PAGE 1 and $Exxx PAGE 1 is not visible. The ECS boot code makes those ROM segments visible.

 

Note that the pages in each segment are completely independent. That allows you to make very, very large games if you like. If you applied this technique across the entire 64K address map, that would give you a total space of 1 megawords (2 megabytes). Realistically, you can apply this to only about 48K of the address map, giving you about 1.5 megabytes (768K words) of total ROM space to play with.

 

Each ROM latches the bankswitching information internally so far as I can tell. (If there is any bankswitching logic outside of a ROM on the ECS, it isn't shared with anything else outside the ECS.) That means game ROMs and other expansion ROMs can cooperate in this scheme, so long as they bring their own decoder. The ECS, for example, scans for expansion ROMs at $7xxx during bootup. You can see that here in this jzIntv watch output:

WR a=$7FFF d=7A5F CP-1610		  (PC = $202C) t=48640
WR a=$7FFF d=7A5E CP-1610		  (PC = $202C) t=48798
WR a=$7FFF d=7A5D CP-1610		  (PC = $202C) t=48956
WR a=$7FFF d=7A5C CP-1610		  (PC = $202C) t=49114
WR a=$7FFF d=7A5B CP-1610		  (PC = $202C) t=49272
WR a=$7FFF d=7A5A CP-1610		  (PC = $202C) t=49430
WR a=$7FFF d=7A59 CP-1610		  (PC = $202C) t=49588
WR a=$7FFF d=7A58 CP-1610		  (PC = $202C) t=49746
WR a=$7FFF d=7A57 CP-1610		  (PC = $202C) t=49904
WR a=$7FFF d=7A56 CP-1610		  (PC = $202C) t=50062
WR a=$7FFF d=7A55 CP-1610		  (PC = $202C) t=50220
WR a=$7FFF d=7A54 CP-1610		  (PC = $202C) t=50378
WR a=$7FFF d=7A53 CP-1610		  (PC = $202C) t=50536
WR a=$7FFF d=7A52 CP-1610		  (PC = $202C) t=50694
WR a=$7FFF d=7A51 CP-1610		  (PC = $202C) t=50852
WR a=$7FFF d=7A50 CP-1610		  (PC = $202C) t=51010

The way this works is that no ROM responds to a request in its range if it has no page selected in that range. So, I can put down two ROM chips mapped to $7xxx but in different pages, and it should work. Furthermore, if you have a normal unpaged ROM mapped to the same segment as a paged ROM, you can switch out the paged ROM with a simple write and the system will work just fine.

 

In fact, this happens with World Series Major League Baseball (WSMLB). First off, it has two 4K pages of ROM at $Fxxx PAGE 0 and $Fxxx PAGE 1. The game switches between the two using the ECS scheme, writing $FA50 or $FA51 to $FFFF as needed. It also has a non-paged segment at $Exxx. The game writes $EA50 to $EFFF to switch out the ECS ROM in that range.

 

So there you go.

 

As far as the UART goes, I know I have documentation somewhere, I just don't know where. What I do remember is that there's a receive data register, transmit data register and a status/command register. The UART also controls the relay that turns the tape drive on/off.

 

The David "Papa Intellivision" Chandler memorial site does have a couple documents with the memory map, and it indicates which of $E0, $E1 and $E2 are the recv, send and cmd/stat registers.

Edited by intvnut
  • Like 2
Link to comment
Share on other sites

I've posted a few pictures of the interior of the ECS Computer Adaptor. Here is a newly-unboxed one, including a picture of the board with the RF shielding removed, and here are some more pictures of a water-damaged board that I repaired and restored. In several of these pictures, you can see a 26-pin card-edge connector in the upper-left area of the board, which is accessible through a long removable panel in the top of the case. I don't have any pinout information for this connector, however, and not every Computer Adaptor has it (as you can see in the pictures of the new Computer Adaptor).

 

So far, I have yet to see an ECS that had this connector populated in person. I've also not seen an Intellivoice that had its riser connector populated either.

Link to comment
Share on other sites

So far, I have yet to see an ECS that had this connector populated in person. I've also not seen an Intellivoice that had its riser connector populated either.

That's interesting. Perhaps Mattel began omitting these connectors with the later ECS and Intellivoice units, after they decided that they wouldn't be making use of them (an unfortunate decision for us, since it means that we can't depend on their presence for upgrades). Since I took those pictures of my first two ECS units, I've acquired a third one, and it too has the connector. I believe all three of my Intellivoice units have their riser connectors as well.

Link to comment
Share on other sites

So far, I have yet to see an ECS that had this connector populated in person. I've also not seen an Intellivoice that had its riser connector populated either.

That's interesting. Perhaps Mattel began omitting these connectors with the later ECS and Intellivoice units, after they decided that they wouldn't be making use of them. Since I took those pictures of my first two ECS units, I've acquired a third one, and it too has the connector. I believe all three of my Intellivoice units have their riser connectors as well.

 

Too weird. I acquired most of my equipment on eBay. Did you get your stuff on eBay, or elsewhere?

 

I'm sure it is a date-code thing--earlier ECSes and Intellivoices are going to have the connector, and later ones not, I'm almost certain.

 

The ECS motherboard I have laying here on the desk has a label "L00024186", which I assume is a serial number of some sort. The metal on the bottom of the main board says "4182-4229 REV. C MATTEL , INC. © 1983". On the mezzanine board, I see "4182-4239 REV B." Like yours, the socketed 24-pin DIP on the mezzanine board reads "4182-0128 / 8333 REV H / SINGAPORE". The mystery chip next to it (the slender 20-pin DIP) reads "4182-0033 / 8315".

 

Under the mezzanine board there's only the 2016 SRAM (this is the 2Kx8-bit SRAM).

Link to comment
Share on other sites

Minor addendum... apparently one of my ECSes *does* have a populated expansion connector. Not that it really matters much....

 

(I own at least 3, and I apparently never looked at that part on the third one 'till tonight.)

Edited by intvnut
Link to comment
Share on other sites

Too weird. I acquired most of my equipment on eBay. Did you get your stuff on eBay, or elsewhere?

 

I'm sure it is a date-code thing--earlier ECSes and Intellivoices are going to have the connector, and later ones not, I'm almost certain.

Mine were all from eBay. The ones with the connector were bought used (already opened), while the one without the connector was new (still sealed). I don't have the serial numbers and date codes handy, but if I compared them, I suspect I'd find that the new one was produced later. Your description of the board sounds like all of mine; I didn't look very closely, but the presence or absence of the connector is the only difference I've detected between them.

 

I'm curious about the AY-3-8917 that was used in the ECS, since there doesn't seem to be much information available about it: do you happen to know if it is pin-compatible with the 8910? I have one that I think needs to be replaced, and I already know that the 8914 won't work (I tried it).

Link to comment
Share on other sites

I'm curious about the AY-3-8917 that was used in the ECS, since there doesn't seem to be much information available about it: is it pin-compatible with the 8910? I have one that I think needs to be replaced, and I already know that the 8914 won't work.

 

As far as I can tell, it's pretty much identical to an AY-3-8914, only that it leaves its I/O ports bidirectional-capable. I haven't actually traced out the circuit to verify, but the times I've looked at it for a signal here or there, the pins seem to jibe with the pinout of the AY-3-8914.

 

If that's indeed the case, then the address decoding that puts the chip at $0FF is outside the chip. The chip only gets DA0 - DA7, and has three additional "chip select" lines. (See the "~ENABLE" line going to the PSG pin 26 in the lower left of the schematic here: http://spatula-city.org/~im14u2c/intv/tech/images/schematic.png ) So, if that's actually the case, then putting an AY-3-8914 in would work to get you sound, but in theory it shouldn't be able to scan the keyboard if its I/O ports are truly neutered.

 

The AY-3-8910 has a different register map than the AY-3-8914. The AY-3-8914's address map actually matches a preliminary AY-3-8910 data sheet I managed to snag a copy of. ( http://spatula-city.org/~im14u2c/intv/gi_micro_programmable_tv_games/ -- PSG starts at page 100.) The AY-3-8917 follows the same register map, although I believe it removes the extra bit in the volume register for scaling the envelope, as the AY-3-8910 did. Compare that to the final AY-3-8910 register map here: http://spatula-city.org/~im14u2c/chips/ay38910.pdf . And finally, by default, the final AY-3-8910 maps itself at $xx00 - $xx0F, whereas the AY-3-8914 maps itself at $xxF0 - $xxFF.

 

The AY-3-8910 also has a slightly different pinout. Two of the three chip-selects are still there, only renamed A8 and A9. The third has been repurposed as a test pin. (Interestingly, they chose the one chip select pin the Intellivision actually uses.)

 

My guess is that GI had started to change the AY-3-8910 address map to make it friendlier (packing coarse/fine pitch registers differently, mainly), but Mattel had already built their system around the preliminary chip, and so the AY-3-8914 was born. That's my guess. I've never seen a data sheet for it or seen it mentioned in a data book.

 

Another enigma is the AY-3-8916. This shows up in a few Intellivision II systems.

Edited by intvnut
  • Like 1
Link to comment
Share on other sites

As far as I can tell, it's pretty much identical to an AY-3-8914, only that it leaves its I/O ports bidirectional-capable. I haven't actually traced out the circuit to verify, but the times I've looked at it for a signal here or there, the pins seem to jibe with the pinout of the AY-3-8914.

 

If that's indeed the case, then the address decoding that puts the chip at $0FF is outside the chip. The chip only gets DA0 - DA7, and has three additional "chip select" lines. (See the "~ENABLE" line going to the PSG pin 26 in the lower left of the schematic here: http://spatula-city....s/schematic.png ) So, if that's actually the case, then putting an AY-3-8914 in would work to get you sound, but in theory it shouldn't be able to scan the keyboard if its I/O ports are truly neutered.

 

The AY-3-8910 has a different register map than the AY-3-8914. The AY-3-8914's address map actually matches a preliminary AY-3-8910 data sheet I managed to snag a copy of. ( http://spatula-city....mable_tv_games/ -- PSG starts at page 100.) The AY-3-8917 follows the same register map, although I believe it removes the extra bit in the volume register for scaling the envelope, as the AY-3-8910 did. Compare that to the final AY-3-8910 register map here: http://spatula-city....ips/ay38910.pdf . And finally, by default, the final AY-3-8910 maps itself at $xx00 - $xx0F, whereas the AY-3-8914 maps itself at $xxF0 - $xxFF.

 

The AY-3-8910 also has a slightly different pinout. Two of the three chip-selects are still there, only renamed A8 and A9. The third has been repurposed as a test pin. (Interestingly, they chose the one chip select pin the Intellivision actually uses.)

 

My guess is that GI had started to change the AY-3-8910 address map to make it friendlier (packing coarse/fine pitch registers differently, mainly), but Mattel had already built their system around the preliminary chip, and so the AY-3-8914 was born. That's my guess. I've never seen a data sheet for it or seen it mentioned in a data book.

 

Another enigma is the AY-3-8916. This shows up in a few Intellivision II systems.

Thanks for the detailed explanation! I socketed the 8917 and replaced it with an 8914 only long enough to confirm that the keyboard wouldn't scan. I'll have to try it with an ECS game that uses the extra sound channels but doesn't require keyboard input to start (Scooby Doo's Maze Chase, perhaps?) to see if the sound works.

Link to comment
Share on other sites

Thanks for the detailed explanation! I socketed the 8917 and replaced it with an 8914 only long enough to confirm that the keyboard wouldn't scan. I'll have to try it with an ECS game that uses the extra sound channels but doesn't require keyboard input to start (Scooby Doo's Maze Chase, perhaps?) to see if the sound works.

 

If you have an Intellicart or CC3, you can try the ECS Volume Calibration program here: http://www.intellivision.us/roms/ecscal.zip

 

All this does is play the same tone on the Intellivision and the ECS, switching back and forth, so you can adjust the volume knob to match the two volume levels. If sound is missing from the ECS, you'll hear "tone", "silence", "tone", "silence", etc.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...