Step 1 - Hard Facts Pt. II
A further look under the hood.
by Maurice Molyneaux
Allergic to all things Commodore, Maurice Molyneaux is an author and artist who—when not writing articles for ST-Log—continues to struggle with a recalcitrant 8-year-old science fiction novel, paints, illustrates, and uses his ST for "every conceivable task." Despite a ridiculously French name, he claims to having been born in Vicenza, Italy, and denies vicious rumors that he eats escargots and calamari when computing. His DELPHI user-name is MAURICEM.
In the previous installment of Step 1, I set out to give you a brief guided tour of the interiors of an ST system, discussing what various chips controlled, and which other chips they worked with. This month, rather than discussing individual parts, we're going to discuss how the system works, and why it can and cannot do various things.
When looking at any ST but a Mega you should be aware that it is—technically—what is known as a closed system. No provision is made for internal expansion, i.e., adding hardware to expand the capabilities of your computer. This refers to internal expansion of the computer, not to adding peripheral devices to your ST (like modems, printers, digitizers, hard disks, etc.), which you obviously can do (if not, what are all those ports for?). Such closed architecture is the opposite side of the coin from open systems, which usually allow users to easily pop the top off of their computers and simply plug in hardware devices to do various things: add extra RAM, graphics enhancements, math coprocessors, etc. Open systems usually feature what are known as expansion slots. The slots are simply connectors into which the user can plug in an expansion board (or-card). Apple II series computers (except the IIc) and most IBM PC compatibles are open systems. Computers like Atari's 520ST, 1040ST, 400, 1200XL and 65XE, Commodore's 64, 128, 16 and + 4 (never heard of those last two, I'll bet), Texas Instrument's ill-fated TI-99, etc., are examples of closed architecture.
We're going to take a detour here and cover a little Atari history. As history often repeats itself, it might be wise to observe past trends and see what might be if such trends continue. If you're familiar with Atari's 8-bit computers, you might have noticed that I didn't include the 800, 600XL, 800XL and 130XE in that list of closed computers. They are not exactly open systems, but they do have some facilities for expansion. For example, the Atari 800 has four slots inside it. These were originally intended only to allow users to plug in simple RAM expansions that would increase your original 8K or 16K of RAM to 32K or even a whopping (for that time) 48K! A few companies and individuals have produced different kinds of boards to go in these slots, but as a rule they were underutilized.
As to the 600XL and 800XL, these two machines are, in a sense, closed, except for a tiny pop-out panel on the back of the machines. Behind that panel is an edge-connector to the computer's motherboard called Parallel bus. This connector contains most of the important address and data lines of the computer and provides access to them so that users can potentially add on all kinds of devices. In fact, Atari even developed a device for this bus called the 1090XL, which was nothing more than a box that connected to the bus, and split it out into card slots—just like in an Apple II or IBM PC! The idea was to provide the ability to add RAM expansions, etc., in the box. Unfortunately, the 1090XL was a long time in coming and eventually scrapped. Without it, the expansion bus on these computers was made almost worthless (though RAM cartridges for the 600XL were produced to use this bus).
When the 130XE showed up, Atari eliminated the parallel bus connector, and replaced it with an "Enhanced Cartridge Interface" (ECI). They limited the address and data lines in this connector, but put the connector directly next to the cartridge port, through which most of the rest of the lines could be accessed if developers needed to use them.
Well, at last, a few developers began to take advantage of this expansion. Some hard disks for the 8-bits plug in through the ECI. Since the ECI connector is not the same as the XL parallel bus, usually an adapter is used to make such devices work with both XL and 130XE machines (the 65XE and XE Game System do not feature the ECI). Then, ICD produced its MIO device, which allows all kinds of expansion on the bus. It's what was needed when the XLs first came out. Better late than never.
Now we return to the STs. Neither the 520 or 1040 models provide any sort of parallel or processor bus. Some types of expansion are easily carried out by plugging devices into the ST's DMA (Direct Memory Access) or Cartridge (ROM) ports. To add RAM, for example, isn't as simple as plugging a card into a slot. Most methods require the user to solder wires or cables to the ST motherboard. The simplest expansions I've seen require the user to pull two chips out of their sockets (MMU and Shifter—see last issue), plug a RAM board's connectors into these sockets, and then plug the chips back into sockets on the expansion itself.
Expandability is nice, although not everyone needs it. The Mega ST units address this need—sort of. Atari hasn't given us an open system, but it has given us an internal DMA port and—a processor bus. Hmmm. It seems you can add one board inside a Mega by plugging into a connector which provides the full 68000 bus. It's not quite card slots; although, theoretically, an enterprising company could hook into the bus and add an expansion chassis outside the ST.
Sound good? Maybe. Remember the XL parallel bus, 1090XL box, or the 800's internal slots? The connectors were there on those 8-bits, but they never got the kind of use they should have. Just because Atari gave us a processor bus in the Megas doesn't mean we'll instantly be able to add an expansion box and slam cards into it. It's possible that will happen, perhaps more likely than on the 8-bits, but it hasn't yet, so don't bet your bottom dollar on it. Don't run out and buy a Mega because of its "promise," because a lot of times such promises are not met.
(One quick note: At the Northeast Atari Computer Fair in October, Supra Corp. was showing an internal 20-megabyte hard disk [hard card] for the Mega STs. Please note that this device does not plug into the processor bus, but rather ties into the Megas' aforementioned internal DMA port.)
The All-In-One Micro
One thing many users fail to understand is just why various microcomputers are incompatible. Why can't you plug a C-64 disk drive into an Apple II? Run IBM software on an ST? There are myriad reasons for this, but the most common cause is that the hardware itself is completely different.
Let's take a disk drive problem as an example. Let's say you have 130XE with an Atari 1050 floppy disk drive. You also have a 520ST with its SF354 microfloppy disk drive. You want to port some data files from the XE to the ST. It would be nice if you could just plug the disk drive from one into the other and read the data. Not so easy. If, for example, you wanted to move some files from an ST disk to an XE disk, you might think to hook the SF354 drive to your XE. Doesn't sound difficult, right? Get a cable and away you go.
Wrong. Even if you could get a proper cable made, it still wouldn't work. The Atari 8-bit floppy disk drives are "intelligent," meaning they have their own ROM and disk controller systems built in. ST microfloppy drives are "dumb," and are controlled by the WD1772 disk controller inside the ST. The 8-bit doesn't have a disk controller itself, so, if the drive doesn't have its own "brains," the 8-bit can't control it.
Further, even if by some miracle you could give the 8-bit a disk controller (in software, for example), the computers SIO (serial input/output) port doesn't transfer data at the same rates as the ST's microfloppy interface! In fact, to use an SF354 on an 8-bit would require you to build an interface board—no easy feat!
The only other way would be to buy an 8-bit drive containing a controller board that works with disk mechanisms using standard interfaces (such as the XF551), use the controller board and swap the drive mechanism out of your ST drive. (In fact, this is being done by some dealers and hackers. They exchange the 5.25-inch drive mechanism in an XF551 with a standard 3.5-inch double-sided mechanism. Apparently this works with most kinds of 8-bit DOS, although to use both sides of the disk you'll need a DOS which supports double-sided drives—like Sparta-DOS.)
The cost and effort of building your own interface would make it prohibitive; and you'd have no better luck trying to interface an Atari 810 or 1050 drive to your ST. (And, if you did somehow manage to build the interface, you'd need a program to tell each computer just how to access the disk drive, and how to read the other computer's files!)
Such problems can occur with many types of hardware. Hard disk drives used with the ST must have a proper controller and interface. Most hard drives sold specifically for the ST have these built in, but if you want to add a "generic" hard drive, you'll have to obtain the proper controllers (these can be purchased if you know where to look).
This applies to running software too. Sometimes I think I'll scream whenever I hear people complain that "Atari should have made the ST compatible with the Amiga/IBM/Atari 8-bits/AppleII/Fred's Computer/etc." Still, it's a valid question. Why didn't Atari make the ST compatible with other computers?
To begin with, various computers use different parts. The microprocessor in the ST, Amiga and Macintosh is the 16-bit MC68000; in the Atari 8-bits, C-64 and Apple II family (but not the IIGS), it's the 8-bit 6502 (or a variation of it). IBM PC compatibles have Intel 8088, 8086 processors, and their more advanced models use 80286 and 80386 chips. Most CP/M machines used the 8-bit Zilog Z80. Each kind of microprocessor is different. They have different addressing modes, instruction sets, number of data and address bits, types of registers, etc. Also, chips work in "families." A 68000 is designed to work with a 68901 MFP, and the 8088 can use an 8087 math coprocessor. I suppose you could make an 8088 work with a 68901 MFP, but again, it's probably not worth the trouble.
In order to make the ST compatible with the IBM PC, Atari would have had to include an 8088 (or derivative of it) and its support chips inside the ST. They would have had to add a 6502 and support chips to make it Atari 8-bit compatible. This would not only have made the design of the computer more complex, but would have substantially raised its cost.
To complicate matters, just sticking the proper microprocessor and its support chips into the ST wouldn't do the job. For example, Atari 8-bits have a lot of custom chips inside them. Custom chips (also mentioned last time) are Integrated Circuits (ICs) designed and built for a specific computer. To make the ST fully compatible with an Atari 8-bit, we'd need not only the 6502, but the Atari 8-bit chips ANTIC, GTIA, POKEY, FREDDY, and the 8-bit ROMs. To use the 8-bit's peripheral hardware, we'd need to add the proper cartridge port, as well as an SIO port.
Atari could do this—since those are Atari chips. But for the ST to be Amiga compatible, Atari would need to add the custom chips from that computer (which they do not have legal rights to use), or build their own "clone" parts to do the same job. Imagine trying to make a chip which does the same job as the Amiga's Bimmer (blitter) chip, that is compatible with Amiga software, works just like in the Amiga, but doesn't infringe on the copyrights on that chip! It's next to impossible!
Even if they managed to overcome that hurdle, there's still the question of the computer's Operating System (OS). Commodore isn't going to let Atari use Intuition OS and AmigaDos, no more than Apple will license Atari to use the Mac's Finder, or the Apple II's Applesoft BASIC.
Some computers can be emulated rather easily, although dealing with formats and file compatibility can still be a problem. IBM PCs are simple to clone because IBM used "off the shelf" parts for its PCs, which anyone can buy and use, regardles of whether IBM likes it or not. Their PC-DOS OS is not in ROM, but on disk. It was designed by Microsoft and can itself be purchased under the name MS-DOS. A Mac emulator is more difficult. The Macintosh's OS is in ROM, and Apple vigorously attacks anyone who produces anything that even resembles what their ROMs do. The Magic Sac Mac emulator for the ST gets around this problem by providing no ROMs. You have to somehow obtain the actual Mac ROMs (either from a Mac or an agreeable Apple dealer). Then you also have to get a copy of the (copyrighted) Mac Finder software. To make the ST Mac-compatible, Atari would have had to do the same. They couldn't very well have advertised the ST as Mac-compatible and then required the user to get the Mac Finder and ROMs on his own and install them!
Oh, it can be done, one way or another. But generally speaking, it jacks the price of the machine up. Atari's marketing strategy has been "Power Without Price." To make an ST which is also Mac/Amiga/IBM/etc, compatible would make it too pricey.
I'm forgetting software emulation, like the ST X-former, the CP/M emulator or PC Ditto. They more or less work, but they're never as good as a hardware solution because they have to make the computer pretend it's something it isn't. Since the commands for an 8088 processor are different than those for a 68000, for the ST to be able to run MS-DOS (IBM) software, the emulator must translate the 8088 instructions into a form understandable by the 68000. Then the 68000 must do its job and translate its data back to a form understood by the program being run. This is usually slow. Most software emulators run between 30% and 70% as fast as the real thing. But, I hasten to add, they do run. They may not be 100% compatible with, or as fast as the real thing, but if the program you need to run works with a software emulator, then it's probably worth having (and it's usually much cheaper to obtain a software emulator than a hardware one.)
I suppose now that I've listed all these things your ST can't do, I should balance the bad news with good by discussing some things it can. Let's start by looking at expandability. True, the ST doesn't have card slots, and there isn't (as I write this) anything that uses the Mega's processor bus, but you can add some kinds of hardware to your ST.
The most common hardware upgrade is the RAM expansion. Most often these are performed on 520STs to give them the same total RAM as a 1040ST: 1 megabyte (1024K). There are also upgrades for 1040STs, as well as boards which will push either ST into the 2- to 4-megabyte range. Most of these large expansions feature a board to which the user must add RAM chips, usually of the (somewhat expensive) 1-megabit variety. The chips for such large upgrades must usually be purchased separately of the board.
Most common RAM expansions are of a set RAM size and all necessary chips are provided. The boards usually work by hooking into the address lines of the MMU and Shifter chips. A few (as mentioned earlier) can be plugged in, but most require soldering jumper wires, cables, or for you to move or replace some components. Some might even require you to "piggyback" components (placing one chip on top of another and soldering the top one's legs to those below), which is delicate and sometime dangerous work.
A far less common upgrade (now) is to put TOS in ROM. If you purchased a 520ST prior to January 1986, it probably didn't have TOS in ROM (in such a case you need a TOS system disk to boot the machine). Using a disk-based TOS takes away about 200K of RAM from your use. If you have an older 520ST and still must boot TOS from a disk, you should get the ROM TOS—now! Installing it is a simple operation, merely requiring the technician to remove the two 16K boot ROMs and insert the TOS chips into the waiting sockets. The only loss is the colorful boot screen (I always liked those color-cycling Fuji logos), which the gains far outweigh.
A battery backup clock is another common upgrade. When files are saved the current time/date settings are stamped on the file. The time/date is set from the Control Panel accessory, which you may not always have present on the Desktop. It's also easy to forget to set the clock when you boot up. A clock upgrade adds a battery backup unit to your ST (the board, because of the battery, holds the correct time even when the computer has been turned off). When the computer is booted, the current time/date from the clock are fed to the system's own real-time clock, insuring the correct date and time are always set.
Such upgrades come in a number of forms. Some are cartridges, plugging in externally (some of these extend the cartridge port, permitting you to plug another cartridge in even with the clock in the cartridge port—though I've heard of problems with this method). Others are small units which are interfaced into the IKBD chip socket on the bottom of the keyboard, or plug into one of the ROM chip sockets. The internal kind tend to be better because you don't always end up having a cartridge hanging out of the side of your ST. The Mega STs have a battery backed-up clock as part of their standard equipment.
When most people think of cartridge ports, they generally think of video games. Such ports can be used for all kinds of input, not just plugging in PacMan. That the ST has a cartridge port is nice, and something that should not be overlooked. Without it, imagine how difficult it would be to implement something like the Magic Sac! The cartridge port allows such devices to be plugged right in.
Sure, it's not the same as having six or eight card slots, but it's something Atari could easily have left out. With it, I can plug in a digitizer, a cartridge containing numerous desk accessories, the Magic Sac, StereoTek 3-D glasses, or even a system diagnostic unit (used by Atari service centers to check machines for defects), without having to unplug other devices (my printer, modem, hard disk, etc.)
My only advice: Don't touch the cartridge port! If at all possible avoid any contact with it, particularly when the machine is on. The port exposes many critical address lines on the mother-board, and you don't want to risk building up static electricity, or causing a short, in such a delicate area.
That's Italian for farewell (and, no, it's not spelled chow), but only with people you really know, otherwise it's arrividerci. And, since we've become familiar over the past months, I'll close with it. Tune in next time when we'll be getting away from hardware-related topics (at last).
Again, more comments and corrections on previous Step 1s.
—In Processed Prose (issue #17), I was discussing ST Writer version 1.70 and 1st Word version 1.06. I forgot to mention that while versions of 1st Word were freely distributed with some ST systems, that bundling was discontinued some time ago, 1st Word can be purchased from Atari Corp., but it is no longer a "freebie." I do not know what version number the latest for-sale version is.
As to ST Writer, since I wrote Processed Prose, a significant upgrade has taken place. As I write this, ST Writer version 2.3 is now available (public domain). This version works just like 1.70 and 1.80, but adds some GEM goodies. You can activate the mouse and use a special GEM menu bar in place of the usual command menu screen, or even move your cursor or scroll pages using the mouse. However, the mouse can easily be disabled, allowing the program to remain much quicker and nimbler than 1st Word. Contact your local users group or peruse some BBS systems if you wish to obtain the latest ST Writer upgrades. They can also be found in ANALOG'S Atari SIG on Delphi.