Sitenotice: 11/29/2018: The wiki is back. It turns out, some anti-virus product on my web server had an issue with the latest version of PHP. My server techs have resolved this issue, and things should be working again. During the investigation, I did restore to a backup from September. There is a chance that any changes done since then were lost, but I do not recall any edits. --OS-9 Al
8/30/2016: Massive re-work is being done on the InfoBox Templates. Read that page to keep up with the plan for that, and adding better keyword tags (categories) to all the pages. --OS-9 Al (talk) 15:28, 31 August 2016 (CDT)
Undercolor/850105/The Data Gatherer
Home Articles Companies Publications Hardware People Software Timeline ... Emulators Internet Resources
(Don't see something listed? Click "edit" and add it! Together we can build this database. When making a new info page, refer to this InfoBox Template for guidelines.)
UnderColor, Volume 1, Number 5, February 20, 1985
- Title: The Data Gatherer
- Author: Dennis Kitsz
- Synopsis: Part III
- Page Scans: Link
The Data Gatherer, the complete data acquisition system for the Color Computer, is a complex project to construct, especially if you "scratch build" it. The schematic (see issue 4) is quite formidable. Fortunately you have two options that ease the way somewhat: you can obtain a ready-made circuit board and stuff it with parts, or, if you prefer to do it entirely yourself, you can build and test the unit as nine separate modules.
The modular way is how I constructed the prototype . . . but I cheated a little, using a pair of my CoCoPort input/output ports and one of my ColorPak ROM cartridges as building blocks. Creating the whole thing from scratch was too much for me! I used 16-pin plug-in headers to simplify debugging my modules; that way I didn't have to desolder a board to check my connections.
Even if you’re not going to build the Data Gatherer from scratch, read on. You'll get an idea of the practical considerations in working with such a project.
The Power Supply
In order to test anything in the Data Gatherer, you will need a power supply. The full schematic presented last time shows only connections for +12 and -12 volts from an off-board power supply. Plus or minus 12 volt power supplies are relatively common, and can be obtained from such surplus houses as BNF Enterprises; if you need to build that section, Fig. 1 presents a simple +/-12 volt supply.
The on-board power supply for the Data Gatherer is important because it has to be clean and quiet. Keep wires as short as possible. Don’t use a cheap commercial power supply for this job; instead, use the circuit in Fig. 2. Capacitors C21 and C22 should be small monolithic ceramic or glass types, and must be physically placed where the +/-12 volts are connected to the Data Gatherer board. This halts some power supply noise right at the front steps.
The C28/C30 and C27/C29 monolithic/electrolytic pairs should be physically close together and placed near U14, the +5 volt regulator. C16 and C14 should be next to their respective input and output pins on U14, and must be connected together at the ground of U14. Electrolytic capacitor C19 should be nearby. The capacitor pairs further reduce outboard noise and help stabilize the line; the capacitors right on the regulator keep the regulator's own noise off the line.
Finally, the two 13-volt zener diodes D4 and D5 should be placed at the far end of the +12 volt and -12 volt lines, at the point where those lines will (eventually) connect with U4 and U13. These zeners are essentially over-voltage protectors, preventing occasional glitches from getting to the sensitive and expensive D/A converter.
You must be careful about physical placement because any noise contributed by the power supply will affect the operation of the digital-to-analog converter and voltage comparator. The longer the power supply wires, the more likely they will act as receiver antennas, listen in on all the digital noise
around them, and send all that garbage to the converter section. Reliability of the converter will be degraded, and its .025 percent rated accuracy will be lost.
Using a digital volt meter, turn on the power supply and make sure it is correct to within 10 percent, and that it is stable and doesn't wander. This should be true for all three voltages (+12, -12 and +5).
The Operating System Module
Continue by building the Data Gatherer Operating System (DGOS) module. You can simplify your work by purchasing one of the dozen or so commercial blank ROM cartridges, and burning the operating system (coming!) into an EPROM. Then you're ready to build the next module. Otherwise, read on.
The operating system is short — less than 2K. However, DGOS is both expandable and contains an auto-boot routine to download and run a Basic program. So, if you will be writing your own assembly language programs to interface with the Data Gatherer, a 2716(2K) or 2732(4K) EPROM will provide plenty of read-only memory space. The operating system's auto-boot routine, though, requires using a 2764/68764/68766(8K) or 27128(16K) EPROM in order to store DGOS plus the Basic program itself. (I'll present the details of those routines later. As you construct the operating system module, just keep in mind that it should be wired for the EPROM you'll be using.)
All that is necessary to construct the operating system module is a small perforated board and a 28-pin socket for the EPROM. Leave some space on the perfboard for a few extra integrated circuits — two for disk compatibility and two for the "swap" system. If you want disk compatibility, you'll need a 74LS04 and a 74LS32 integrated circuit; I'll discuss the swap system later. Figure 3 shows the DGOS module. All eight data lines (computer pins 10-17) are wired directly to the socket, as are 13 address lines (computer pins 19-31). Also, attach the ground (computer pins 33 and 34), and +5 volts and ground from your newly assembled power supply module. Be sure to include C15, the 0.1 mF decoupling capacitor, near the socket.
To test this module, temporarily hook CTS* (computer pin 32) to pins 20 and 22 of the EPROM socket, and install a 2764 EPROM with known contents. This will select the EPROM at $C000, the normal place in memory for a ROM cartridge. Turn on the power to the module and to the computer. If you've installed an auto-boot ROM of some kind, it should be satisfactory; otherwise, enter and run the following lines:
10 FOR X = &HC000 TO &HDFFF
20 PRINT HEX$(PEEK(X))" ";
30 NEXT X
The contents of the EPROM will be displayed in hexadecimal. If the EPROM contains numerous messages in ASCII, change Line 20 to read:
20 PRINT CHR$(PEEK(X));
If everything looks right (as far as you can tell about the ROM you've installed), remove the power and disconnect the CTS* line. Rewire CTS* together with the sockets for U8 and U11 as shown. Now the EPROM will be placed at $E000, above the normal ROM cartridge position. Install U8 and U11 in their sockets, restore power and change Line 10 in the program above to read:
10 FOR X =&HE000 TO &HFEFF
If any problems arise with either arrangement, check your wiring and soldering (or wire wrapping). Make sure this module works reliably before proceeding.
The Decoder Module
Central to getting the most out of the little room in the Color Computer’s memory map is the decoder module. Prepare this module, shown in Fig. 4, next. Again, you’ll need a small
perfboard, plus a 16-pin socket. The wiring is simple; don't forget C1, the decoupling capacitor; it is particularly important here because the 748139 (U1) switches extremely quickly and causes a great deal of strain on the local power pool.
Install U1 in its socket. Hook up 5 volts and ground, and fire up the system again. There’s no way to test this module's operation without an oscilloscope, but so long as everything powers up normally, you can continue with the next step.
The Swap System Module
The swap system provides the tricky business of selecting either the real-time clock/calendar or the disk drive. Even if you're not going to use a disk, select this section. It will keep you compatible with any upgrade you do, since it's very difficult to retrofit a project like this once you get it working. (I tend to forget what I’ve done, and usually have to build a new module!)
Examine Fig. 5. The swap system uses U7, U8, U11 and U12. Since part of U8 and U11 have already been used for the operating system module, you should build this on the same piece of perfboard, or mount it nearby.
You will need D0, Reset*, R/W* and E from the computer, plus the special disk SCS* from the decoder module. Recall that the Reset* line makes sure the disk system is selected on power-up. The wiring is not critical, but be sure to use decoupling capacitors near all the integrated circuits (C7, C8, C11 and C12). Place 56 pF capacitor C26 and 1K resistor R4 near U7; these devices prevent false triggering of the swap mode, especially in a hand-wired version of the Data Gatherer.
Install the integrated circuits in their sockets. Once again, apply power and be sure that all seems normal. This section cannot be tested without special equipment, so double-check all your wiring before moving on.
The Clock/Calendar Module
The clock/calendar module has a messy group of parts — all sizes and shapes, only one convenient socket, and worst of all, a delicate CMOS integrated circuit to deal with.
Again, a 16-pin socket and a section of perfboard will do nicely. But this time use "flea clips," draw the pattern of parts hook—up on the board, and wire the flea clips on the bottom of the perfboard. Work according to the schematic shown in Fig. 6. Finally, solder the parts to the flea clips (all but the integrated circuit U10), being quick and careful; don’t overheat anything! The diodes, transistors and crystal are particularly susceptible to heat damage, and the plastic in the small variable capacitor can melt.
About the battery: you can use a stack of rechargeable batteries if you wish (they're called 1/3 AA and come with pins or tabs), but with the circuit shown, a "primary" cell such as a tiny mercury or lithium battery will work for several years without replacement. If you do use a primary cell, it is very important that you not include resistor R5, and that
you be extremely cautious when soldering. Lithium cells in particular can be effective, but dangerous. In either case, don't connect the battery yet; leave the positive side free.
Before installing U10, wire the entire board and hook it to the swap module, the computer, and the power supply. Turn on the power and do the usual check for a proper power up, then power down again.
Handle the CMOS clock/calendar chip with great care. Do your work in a static-free environment (some humidity in the air), and on a conductive mat or foil surface. Insert U1O in the socket, and do a final double-check of your assembly.
Restore the power, and enter and run Listing 1, the clock test. A running clock display should appear on the screen. If you do not get a running display, recheck your work, especially the swap circuitry, the insertion of the integrated circuits in the sockets, and the polarity of transistors and diodes. Remove U10 before making any changes!
When this test is complete, you may finish hooking up the battery. Let the system charge for about an hour. (end)
Listing 1. Clock Test 1 CLS:POKE&HFF58,255:X=&HFF40 2 POKEX,0:Y=15 3 PRINT@260,PEEK(X+7)AND3; 4 PRINTPEEK(X+6)ANDY":"; 5 PRINTPEEK(X+5)ANDY; 6 PRINTPEEK(X+4)ANDY":"; 7 PRINTPEEK(X+3)ANDY; 8 PR1NTPEEK(x+2)ANDY"."; 9 PRINTPEEK(X+1)ANDY; 10 GOTO3