Compiled BASIC...BASIC is normally an "interpreted" language. This meansthat the computer reads the BASIC code directly through aBASIC interpreter, as the CPU can’t directly read the code.The interpreter converts the BASIC code into machinelanguage- the native language of the CPU. The interpretationprocess is part of what makes BASIC slow compared toother languages. A good analogy is speaking to someonethrough an interpreter... how much longer does it take to getyour message through, since you have to speak to theinterpreter, then he/she to the other person?There are two BASIC compilers available for the CoCo now,WasatchWare’s MLBASIC and Cer-Comp’s CBASIC. Itis important to note that compilers don’t normally accept asisBASIC code, they have certain formats the code must bewritten in before compiling. These differences are minor ifone is already familiar with BASIC though. The Cer-Compcompiler requires much fewer changes (reportedly up to99% compatible with BASIC) than WasatchWare’s, but ismore expensive.A BASIC compiler takes the BASIC code, converts it to M/L, then saves the M/L code in a form that the computer canrun directly, bypassing the built in interpreter. This speedsthe program up from 10-20 times over interpreted BASIC.Converting Between BASICs... not an easy task...One would think that converting a program between theCoCo 1/2 and the CoCo 3 would be quite simple. This is onlytrue if the enhanced capabilities of the CoCo 3 are not to beused. The main problem is converting between PRINT@ andLOCATE statements. In cases where only the appearance ofthe screen needs changing, simple replotting of the textlocations on screen is in order and relatively simple. If aprogram scans across the screen for input (such as a spreadsheetprogram), the programs just aren’t easily converted.The PRINT@ function works very different from LOCATE(and vice-versa) when a formula is incorporated into aprogram to scan or plot locations on the screen. One cansimply add and subtract from the PRINT@ value since allscreen locations have their own, specific value. LOCATEmust move up and down as well as back and forth, making therequired formula more difficult to program- and entirelydifferent from that required by PRINT@.The PRINT@ and LOCATE differences are just some ofthose encountered between CoCo 1/2 and CoCo 3 BASIC.The others can be easily documented by going through themanuals for both computers and comparing. Note that theCoCo 3 doesn't support the undocumented "semi graphics"modes of the CoCo 1/2. This is a function of the 6847 VDGthat was not officially supported by Tandy. Only one commercialprogram is known to have used this mode, the Plug‘N Power ROM Pak."Converting" is probably NOT the correct term when IBMBASIC (BASIC-A or GW-BASIC) is concerned. The authorhas done this before, and it isn’t quite that easy. There aremany differences between the two, to many to even begin tolist here. Manuals for both BASICs can be gone through andthe differences compared, possibly during a program "con-version" exercise. One can also visit the local library and seeif BASIC Program Conversions (HP Books, 1984, ISBN0-89586-297-2) is available. This book lists all the commandsand equivalents of IBM/compatibles, Commodore64, Apple IIe/II+, <strong>TRS</strong>-<strong>80</strong> Model III/IV, and CoCo 1/2BASICs. There is room for notes to be made on the CoCo 3commands, but they aren’t included in the book. These othercomputers could theoretically be converted to/from, butonly the <strong>TRS</strong>-<strong>80</strong> models would be practical, as the Commodoreand Apple BASICs have many unique commands.PEEK, POKE, and EXEC locations are different for all thepreviously listed computers! One must find out exactly whatthe original program expected to find at the specified memorylocation and write a routine (or find a similar operation onthe target machine) to emulate the PEEK, POKE or EXECoperation. It can be extremely difficult, sometimes virtuallyimpossible, to rewrite a program that contains a lot of thesestatements.When converting from the IBM to CoCo, it is much easierto convert to the CoCo 3 because the LOCATE commandsare similar. The format for the CoCo 3 is "LOCATE x,y"(column, row) while the IBM is the opposite ("LOCATE y,x";row, column). The CoCo 3 numbers rows and columnsbeginning with 0 (0-79, 0-24) and the IBM numbers beginningwith 1 (1-<strong>80</strong>, 1-25). If going from the IBM to CoCo,many routines will have to be totally rewritten. Going fromthe CoCo to IBM is easier, as CoCo BASIC is simpler thanthe IBM version. Converting to/from the CoCo 1/2 has thesame major problem as converting to the CoCo 3- thePRINT@ and LOCATE command disparities.<strong>Tandy's</strong> <strong>Little</strong> <strong>Wonder</strong> page 43
Other DECB Programming Languages...Other programming languages were written to operate inconjunction with DECB over the years. These include "C",FORTH, PASCAL, and LOGO. Only the first two arecurrently available.A new company (Infinitum Technologies) recently releaseda new "C" compiler for the CoCo, called simply"CoCo-C", which is very similar to the OS-9 "C" compilerthesame reference material is usable with minor differences.The best book to get for reference is "The C ProgrammingLanguage" by Kernighan and Ritchie. The currentedition is based on ANSI "C", but the differences betweenthe original "C" language and ANSI are minimal. The mainadvantage of the "C" language is that it can be transportedbetween different computers and operating systems (usually)with minimal changes.CF83 FORTH is available from BDS Software. The followingdescription was written by M. David Johnson.BASIC has 157 commands in a CoCo 2 and 185 commandsin a CoCo 3 This is quite a lot and when you combinecommands to make a program, the number of things you canaccomplish with your CoCo becomes very large indeed. Butthere ARE limits. Because there are only so many commands,there are some things that you just can’t do in BASIC.And because BASIC has to interpret every command as it isencountered, BASIC tends to be rather slow. Commandscan’t be easily changed or new commands easily added,unless you are intimately knowledgeable concerning everyinternal idiosyncrasy of the CoCo, and an adept assemblylanguage and machine language programmer to boot. It takeshours of development and debugging time also.The basic "C" commands are the same for all compilers. Thecompiler is different for each computer/operating system."Source code" (the actual list of commands, similar to aBASIC program listing) is written with an editor or wordprocessor then saved in ASCII format and compiled on thedesired computer. The differences come in because somecomputers have added commands that take advantage ofdifferences in the hardware and operating systems. Oneexample is the graphics resolution on a CoCo and on an IBMcompatible with VGA monitor. Any high resolution graphicson the IBM would have to be changed to the lower resolutionof the CoCo before the program could be compiled with aCoCo "C" compiler. Some operation systems have moremath capabilities than the CoCo also. These differences canbe overcome, but only with more programming. Text basedprograms usually compile with a minimum of changes.Many OS-9 commands have been ported over from UNIXcomputers through "C". "C" wasn’t as popular with CoCoBASIC (it was available for the CoCo early on, but only as asubset of the full "C" language) as it has been for the OS-9crowd, but renewed popularity of "C" across all computersshould change that. It will also mean converting a programfrom one computer to another won’t require as much workas it has in the past, as a program written on a CoCo in "C"should easily transport to a more powerful machine.The package from Infinitum is more than just a compiler, itcontains all one needs to start programming in "C" except atext book! Included in the software package is a text editorfor creating/editing source code (any word processor mayalso be used), the compiler, an assembler for creatingassembly language files, library/linker to create standalonebinary files, and a command coordinator to integratethe above into a user friendly enviroment.page 44<strong>Tandy's</strong> <strong>Little</strong> <strong>Wonder</strong>So, you can choose slow, easy BASIC, or fast, difficultAssembly Language. But, what if you want fast and easyboth? CF83 FORTH is not a perfect solution, but it comesclose. CF83 FORTH is almost as fast as Assembly Languageand almost as easy to use as BASIC (once you get past theinitial learning phase which is admittedly not trivial).The first FORTH was written by Charles Moore in 1971 tobe a data acquisition system for the National Radio AstronomyObservatory at Kitt Peak in Arizona. FORTH hassince grown into a major control language for the entireastronomical community.But FORTH is no longer limited to astronomy. FORTH isalso currently used in image processing, robotics,servomotion controls, electrophoretic separation of biologicalmaterials on the space shuttle, and many small-scaleimbedded systems. These systems all require very compactcode in small packages, and that is just what FORTH wasdesigned for. But FORTH also does well in truly hugesystems. A FORTH system currently controls almost all theoperations of the main airport in Saudi Arabia. The game,"STARFLIGHT", for the PC is written entirely in FORTH.Another FORTH system is Amtelco’s massive EVE (ElectronicVideo Exchange) which has become the predominant,largest, and most sophisticated messaging system for thetelephone answering service (TAS) industry. EVE has captured70 percent of the TAS market and consists of about100,000 lines of source code. Despite its "large" size, EVEcomfortably runs on a single 10 MHz 6<strong>80</strong>00 Motorolamicroprocessor. Olaf Meding of Amtelco says, "FORTH ismuch more than a computer language. FORTH is a completeprogramming environment, and even more it is a philosophy.The concept of simplicity is what makes FORTH so effectiveand powerful."
- Page 1: Tandy's Little Wonder,The Color Com
- Page 6: Introduction...Alfredo Santos, Dece
- Page 9 and 10: The Micro Works had its CBUG, 80C d
- Page 11 and 12: Washington state. The computers wer
- Page 13 and 14: ticle describing the installation o
- Page 15 and 16: A new CoCo magazine, 68 Color Micro
- Page 17 and 18: pitched carrier tone but by a "disc
- Page 19 and 20: With desktop publishing so popular,
- Page 21 and 22: What better time to advertise new p
- Page 23 and 24: plugged into the CoCo. A separate p
- Page 25 and 26: ceived 20 hours of on-line time. It
- Page 27: Technologies. This computer had bee
- Page 30 and 31: issue (sore spot!) for many adverti
- Page 32 and 33: the missing September OS-9 Undergro
- Page 34 and 35: 1985 (continued)26-1275 - $299.00 -
- Page 38 and 39: Operating Environments and Programm
- Page 40 and 41: The CoCo 3 DOES NOT support the fir
- Page 42 and 43: ADOS... Arts' Disk Operating System
- Page 46 and 47: When you LOAD and RUN a BASIC progr
- Page 48 and 49: the CPU to the number 1 and put the
- Page 50: With all these modules and processe
- Page 54 and 55: * Connecticut -NAME: South Eastern
- Page 56 and 57: * Texas -NAME: CoCoNautsADDRESS: 16
- Page 58 and 59: NAME: Rick's Computer EnterpriseADD
- Page 60 and 61: National Bulletin Board/Database Sy
- Page 63 and 64: Current PublicationsThere are still
- Page 65 and 66: Past MagazinesThe Color Computer de
- Page 67 and 68: The next video type to consider is
- Page 69 and 70: Co., 4300 West 62nd Street, Indiana
- Page 71 and 72: Tape I/O for the CoCo normally occu
- Page 73 and 74: SCS line activates the controller,
- Page 75 and 76: uilt in controller boards and were
- Page 77: Most laser and ink-jet printers als
- Page 80 and 81: Modem Pak that you wish to be inter
- Page 83 and 84: RAM UpgradesEach of the various CoC
- Page 85 and 86: Beyond 64K in the CoCo 1 & 2There w
- Page 87 and 88: functions, the PLAY and SOUND comma
- Page 89 and 90: 5) I cut a piece of sheet metal to
- Page 91 and 92: lows as 0V. A pulse should read as
- Page 93 and 94: MC6883 and 74LS783/785 SAM Chip (Co
- Page 95 and 96:
on. CTRL-ALT-RESET may not clear ev
- Page 97:
E board CoCo, the zener is a 1N4735
- Page 100 and 101:
When it seemed that the CoCo was ag
- Page 102 and 103:
Around the same time as the demise
- Page 104 and 105:
into the upgradable TC9 and then in
- Page 106 and 107:
I completed my second book, a compl
- Page 108 and 109:
The CoCo is capable of using up to
- Page 110:
BASIC/Extended/Disk Error CodesCode
- Page 124:
POWER JOYSTICK JOYSTICK SERIAL CASS
- Page 132 and 133:
IndexSymbols and Numbers128K upgrad
- Page 134 and 135:
DigiSector DS-69(B) 20, 21, 80Digit
- Page 136 and 137:
MediaLink Software 56Olaf Meding 44
- Page 138:
Snake Mountain Software 11Soft Sect