12.12.1993 Sugar for Computers Yes, you've known it all along, computers can be really sweet. But - did you ever connect sugar with computers? No? Believe me, this connection was one of the best ever for Z80-based machines. Maybe I have to be more precise: Alan Sugar is the full truth and the renowned Alan M. Sugar Trading Company formed a big name: AMSTRAD. Actually, the originial AMSTRAD computer was supposed to be a clone of the C64 with a 6502, which, by luck, didn't work out in time, so they took a Z80. The funny thing about that machine was the fact that it was designed "outside-in", meaning, the housing was ready, but the circuit board wasn't! But back to our story. In 1984, AMSTRAD shook the market for CP/M Computers for the first time: The Colour Personal Computer (CPC) 464 was cast into the home computer market, then offering not only a perfect game console, but also a very effective and powerful BASIC, the Locomotive BASIC, in the ROM of the computer. This BASIC had been written by the same people, who had done the famous BBC-BASIC for Acorn. A built-in high-speed cassette tape loader managed to outrace the floppy-drive of the Commodore C64 (naked, no speed-DOS)! Thus, for very little money, you had a 4 MHz Z80 machine with an extension bus to take all sorts of peripheral devices, the most interesting of which without question was the external floppy controller. This floppy-controller came together with CP/M 2.2 and the typical AMSTRAD 3" (Yes, 3", not 3.5") disk drive. The reason for this format was, that the decision for the new disk size hadn't really been taken and the odds were fifty-fifty between 3" and 3.5". Since the TATUNG "Einstein" started to use 3"-disks, AMSTRAD followed this sign together with several industrial developers. Nobody had an idea, what dramatic problems this decision would cause. Anyway, CP/M 2.2 at hand and the ability to use various disk formats made the CPC look really good. The Standard IBM- 8 SPT SS40 format with 153K capacity was typically available on most CP/M machines. On the CPC this was nice, but useless, if you only had one disk drive, normally a 3" drive. But the 3" disks semselves were not all that bad. In fact, they proved to be the most robust for shipping by mail and handling was next to fool-proof, since a slideable write-protection was integrated into the disk design and bending a disk by accident was completely impossible. CP/M loading on the CPC is done in no time at all. A slight disadvantage was only, that of the addressable 64K, CP/M would use 16K for itself, thus leaving a meager 39K Transient Program Area for loadable code. Now, you might ask, what good is a CP/M machine, that can barely run WordStar and not at all dBASE or Multiplan? Patience, we'll talk about that later. For the average user, public domain software would have been ideal. So why had all these other computers have to be in such awkward formats like 8" or 5.25" ? Fortunately, soon some people noticed, that you could hook up not only a second drive, but that the disk drives could be anything, they would just be of the same logical format (how the operating system "sees" the disk), dispite the different physical format. That was the time, when adding a 5.25" drive to the CPCs became a regular thing. After a short while, SIG/M software had found its ways into AMSTRAD CPCs. The need arose, to meet the demands of the software market for more TPA. VORTEX, a company from the Heilbronn area in Germany, soon came up with a RAM-expansion card to plug into the CPC. And into the CPC it was. You had to open the computer (oops, warranty) and pull the Z80 and the complicated AMSTRAD Gate Array out of their 40-pin sockets and plug them into matching sockets on the RAM-expansion card. From there, flatwire cable arrays went to 40-pin plugs to take up the vacant spots on the computer circuit board. All in all, a horrible construction, leaving many customers next to helpless. Another problem showed shortly after. The 50 pin expansion bus of the CPC is not buffered and has a very small capacity of driving any load. So, the additional circuitry of the VORTEX expansion RAM really brought exciting new effects to the world of Amstrad users. One of the most likely to happen was the so-called "CAT-syndrome". This has nothing to do with anybody's pet animal, but with the BASIC command "cat" used for displaying the contents of a tape or disk. When the computer starts, a "ROM-walk" is performed, initializing all ROMs. The external disk controller ROM (inside the controller housing), when installed by this ROM-walk, simply returns and the BASIC ROM issues it's READY. In the CAT-syndrome case, this READY would never or seldom appear. The message would flash in and out, but never come to the point where it could put out READY. Solution: the ROM in the controller was replaced by an EPROM, which is a bit more tolerant. These problems with the VORTEX expansion-RAM-card soon lead to the forming of the VORTEX User Group, which, after a short while, turned out to be a clever gimmick pulled by a salesman to hook CPC customers. One of them, a certain Peter Immerz, had the intention of founding his own CPC Club. He called it, in accordance to its German brand name "Schneider", the "Schneider CPC User Group". A couple of people immediately joined this group, among them Andreas Kisslinger and me. After a rough period of establishing, our club started to work fine. Andreas had written an excellent program to install a different DPB (disk parameter block) in the CP/M, so that 80 Track drives, hooked up as B: could be used with all the 80 Tracks possible. Since the BIOS didn't support double sided disks, flippy disks were quite common. You know, the kind of disks with two index holes and two cutouts that you could flip over and use the other side. Shortly after, the CPC 664 was introduced by AMSTRAD. That model contained the dreaded 3"-disk drive already and had no cassette drive. This pushed the market for disk oriented 3"-CPC games quite a bit. The standard CP/M software was available from Markt & Technik in Germany, some of it only with the addition of the VORTEX-RAM-expansion, like dBASE or Multiplan. WordStar (3.0) could run in the meager native CP/M TPA. Programmers started to hack all sorts of Public Domain tools and some even got fully translated into German with printed manual and all files on 3" disks! The users were so busy, they were absolutely shocked, when shortly after, the PCW 8256 was announced, the "Joyce", as it was called during the development period (after the secretary). By the way, the CPC's nickname was "Arnold". This PCW had frightening new things to offer: CP/M Plus operating system (3.1 - the "repaired version"), a compact design with monitor, computer and disk drive, all in one. A comfortable keyboard made clear what the machine was aimed for: professional and semiprofessional office use! In fact, the word processor included, was one of the most powerful available for CP/M machines then. The reason for this was simple: the Locomotive people (the ones who had written the BASIC, remember?) had developed the Z80-based word processor "DIAMOND" some time ago that used to run for ........ US $. There didn't have to be many changes made to adapt it to new hardware. To complete the office design, a small and handy matrix printer was included with the PCW. A clever marketing thing - to sell computers like Hi-Fi stuff - a typical AMSTRAD idea. This concept was adopted by the German Schneider GmbH, who then started to sell AMSTRAD computer products and offered repairs from their existing net of electronic service centers. The next surprise was the fast advent of the CPC 6128, a twin of the 664 concerning CP/M 2.2, but a little different in its BASIC, able to run in different banks through BANKMANAGER, an AMSTRAD program included with that particular computer. On top of it all, a perfect implementation of the AMSTRAD CP/M Plus came with it, possible through the 128K RAM memory with bank switching, but still allowing the typical CPC firmware calls through the XBIOS calls. Digging into the machine. One of the great disadvantages of the AMSTRAD CP/M 2.2 terminal was the incompatability with practically all existing terminals. Only CTRL-L (Formfeed) as ClearScreen command turned out to be useful. An interesting feature to modify screen colors by sequences containing nulls and a true windowing function with a starting byte of CTRL-Z drove everyone crazy, when trying to run a Televideo-type program, like from an Osborne or Kaypro terminal. Those computers use CTRL-Z for ClearScreen and their programs are full of single byte CTRL-Zs, followed by HEX 00. This produced a beautiful window size 0 on the CPC. Great. Now, finally also on the CPC - a common terminal. The AMSTRAD CP/M Plus supports a subset of the VT52 terminal, pretty much the same as the Heath/Zenith terminal. The main difference in the two is the way the screen is erased. The Heath/Zenith and AMSTRAD terminal use ESC-E to erase the screen and ESC-H to home the cursor, whereas the real VT52 uses ESC-H to home the cursor first(!) and ESC-J to erase to the end of screen (EOS). So, where did this leave us users now? We now not only had three different BASIC-computers or three different CP/M machines: BASIC CP/M 2.2 CP/M 3.1 DS Drives -------------------------------------------------------------------------- CPC 464 Tape/disk w. extra DDI-1 no no CPC 664 disk yes no no CPC6128 disk New BASIC yes yes no PCW8256 disk no yes yes As mentioned before, in Germany, the former Hi-Fi company SCHNEIDER had opened an agency for AMSTRAD and used their own brand name, so the AMSTRADs are also often referred to as the "SCHNEIDERs" in Germany and Austria. The slightly different keyboard layout and more uniform colour had prepared ground for SCHNEIDER. Further, the English CPCs and PCWs were different from keyboard and connector layout, so the peripherals had to be different for both versions. When dk'tronics in England came up with RAM-expansion cards for the CPCs, they wouldn't fit on the German Schneiders. On the other hand, the VORTEX-RAM expansion card would fit in the British CPCs, but the British didn't know about it. It is simply a fact, that computer development flowed in one direction only, that is, from USA and England into Germany and seldom the other way aroud. That is perhaps the main reason, why two totally different worlds developed. The dk'tronics RAM-boxes initially suffered from weak hardware design, but came with a nice tool to run either a big CP/M 2.2 with large TPA or a RAM-disk, or both. Also, CP/M Plus was possible on the CPC x64s. This was achieved by sticking closely to the AMSTRAD standards. The VORTEX RAM-expansion card also allowed for a large TPA in CP/M 2.2 (62K!), but the BASIC supported was quite diefferent from the BASIC 1.1 of the 6128, which was supported by the dk'tronics hardware. Like the dk'tronics, the VORTEX RAM-card allowed for a RAM-disk of full-blown 444KB net capacity (the actual 512KB mapped the first 64KB to the parallel bank address and was used for bank switching). The only real advantage of the VORTEX card was the separately loaded BIOS-file $OSC.SYS, that couldn't be loaded from the system tracks because of its size. This soon inspired the cracks to disassemble it and try to comment what they found. And brother!, what they found, they didn't like. The code was filled with redundand loops and fuzzy jumps. Much of the stuff could have been eliminated by using labels and constants. So, whatever could be clearly identified, was partly rewritten more efficiently or rather patched for better action. Also, some new features were added, like disk parameter block manipulation for new drive type support. Doublesided disks with either double-stepping or none-doublestepping could be used as well as single-sided types. This whole "new" BIOS was released to licensed owners through our club and equipped with the programs SETFMT to set, change and/or format various disk formats. Also, the program to initialize the RAM-disk was rewritten from scratch and much better in my opinion. The new tool was called RAMINIT and made use of the extended user areas of CP/M 2.2. With special tricks, one can access more than the usual 16 user areas, actually upto user 32. Here, the author (Andreas Kisslinger) deposited a special string that was checked for existence, and, if found and ok, then the first 16 entries of the directory were checked. Where the original tool RAMDISK formatted the RAM-disk no matter what and never checked anything, RAMINIT presented you with the choice to do so, if the afore mentioned checks were successful, otherwise it would automatically format the RAM-disk. Since German users needed "Umlauts" ,i.e. a,o,u, diarhesis, a way had to be found to install a translation. Since there were several solutions possible, there were different solutions. Markt & Technik, the distributor of WordStar, dBASE 2.41 and Multiplan for the AMSTRAD line, chose to implement a patch into the program, that demanded a VORTEX RAM-card and wouldn't run the program without it. In the beginning, everybody thought that would be okay, until other RAM-cards appeared on the market. Then, the patch would have to be removed manually, usually my job, since most users were unable to do it themselves. The other way to install "Umlauts", was a program written by one of our club members: DEUTSCH.COM. You would then call the program with an argument of either "ein" or "aus" to toggle on/off. The same guy (Helmut Tischer) also wrote a whole bunch of tools for the VORTEX CP/M and regular CPC CP/M 2.2. There was a keyboard patch program, several disk-tools to read the sector I/Ds of any disk, patches to alter the steprate of the disk-drives and many others. He adapted Z80DOS and wrote a CP/M-replacement to support a realtime clock and multiple disk types (BANKCPM). Of course, there were also others who wrote programs and tools for that special unique environment, even commercial ones. The most famous team consisted of Peter Hoepfner and Detlev Gunkel, who among comfortable user interfaces for disk handling and copying finally even came up with a special CP/M Plus for the VORTEX RAM-card. But that was a long way to go. In my next article, I want to cover other developments for the AMSTRADs and modifications made by our club members. I hope you enjoyed reading this. Let me know, if you have any specific questions on AMSTRAD computers. I will try to combine information with historical anecdotes in order to give you a round picture. Helmut Jungkunz, "Virtual" ZNODE #51