@L|}6CD l0C)HCC WhL/h `CmCDiD`  R@W1  Y0@R !L` D  C D     )16CS S)  C)D1 p p 0 C9DI pCDL~CiCDiD` D  C D     )16CS S)  C)D1 p p }0 C9DI pCDL~CiCDiD` DD˙` d J)L !}D L(( LL()  L| L( S LH 0p n  } CY?  q  L L  ` )} `A! d߰")-݆ "  $G@LLL&0") $G% }H0 3S8`G ȱG ȱG   Gȭ Gȭ GG}GHiH8(()) G$H% `(0 })8` d)L ݆ & LGȘ ݆LL d  ! LL d)N>Q  HH) }  hyhyB q L> Lm JJ  Ln*` dB%' }8  H H` 1 { LL   !L     Hh SY?  q  1L }  !? S   q 1 L   Ll  Lg E`L   !L)  q 1L}) `L0AM݊L݉ ML  N݆LLLNLMLHG!@}1F GȱGLLEEȩÑEȑEEȑE Ed E7EȩE  q} L !,0,0SGɛ L 1 !L EHEh W G gLLSROTCES EERF } G) *Gȩ GȽG GȌd q q G`  8   0G  `D}CEDC0X:Ȣ Y ȱC* ? 0.. , 0%n ?A[ 0 : L`L  `, 0`Y}`piH n0)բY? 08`0 }  0$L GGȽG L `8L`L}8`  05G)݁,G)ȱGȱGHh0})Hh` B! 8`8iiiLE`}E8FEh( l0`ɃLL L8^~jj8jHi hEEEiEȱEiE` dTE} H8EEȱEEȩEh J E8   . m  i`LI!)E1FR}1LJ舩9GIH`LJJ`HGHh l`} S gL   8 rii `дCDCG W  }C  Lq` X٨`DOS SYS IIIIIIIIIIIIIIIC`0 ߩ0}}0} |||DDOS DOSDOS SYS }}} h}CDOS SYSB*+DUP SYSBURUNME1ST iMACHDOS DOCB4PDG DOCBd-PDG2 DOCBTURBO1 DOCBTURBO2 } DOC 0`BDELV !B }`LVUQ   ]   TU J ]L!T  #      TU  } L ? .  t`GBJ V~DEHI B V0dV!}QDEHI VF9 ,0 ,0 s0hhL  L` H hDHEh"}DEL8HI   0 HI,0 0  9 .G VLO#},0 L4*IJ`llD1:AUTORUN.SYSNEED MEM.SAV TO LOAD THIS FILE.D1:MEM.SAV J y08 B|DEHI$} V0 0`B;DELV䌚 !B y`@ʆ v s? F0Ξ05: [ BDEHI%} VY8 B V  @  /DE `E:D1:DUP.SYSERROR-SAVING USER MEMORY ON DISKTYPE Y TO &}STILL RUN DOS B;DE J V (` 9 V⪍ ઍ  -'}LLu DEHILV 9 .l 9 .l  `` s$B VBH(}I|DE V BLV nB,DE J V* \*` B V BLVDEHI BLVL)}1u H232435; 1 ;  hh@2 e1i1LHҍ 00) 08 109hh@ Ҡ2e*}1i1232435ޥ<<8} 3E:}DISK OPERATING SYSTEM II VERSION 2.0SCOPYRIGHT 1980 ATARIA. DISK DIRECTORY I. FORMAT DISKB. RUN CARTRIDGE J. D,}UPLICATE DISKC. COPY FILE K. BINARY SAVED. DELETE FILE(S) L. BINARY LOADE. RENAME FILE M. RUN AT ADDRESSF. LOCK F-}ILE N. CREATE MEM.SAVG. UNLOCK FILE O. DUPLICATE FILEH. WRITE DOS FILES9!&x#!7&p))'&X*./)L''-؆莟.}R'S  vW DEHHI 1A#! @ ~0ɛ8A0.) ȅ 1 1i/}il ! 1L NO SUCH ITEMSELECT ITEM OR FOR MENU! 0 .{z:*{}.|~ 1 0 00}JB 18L^%|DLl%DIRECTORY--SEARCH SPEC,LIST FILE? # 0 0 n&|D! 1L NOT A DISK FILE1}N !B 1L " 1 !BDED:}:1BJ|DE 1DEBH2}I 1 h0ߢ 0.  0?詛 1 ~0YЛ 1 "L<" "L 3} BL1TYPE "Y" TO DELETE...DELETE FILE SPECCOPY--FROM, TO?OPTION NOT ALLOWED COPYING---DN:4}# 0|D .L$A#B#C#JB|DE 1BHIDD#E 1D#0: B5} 1L B#C#C#B# B 1N#$0SYS1}:e#D# d# D# .d#ȽD# d# 𩛙d#X# 1,A#6}PdD#ELO- A.BJdD#E 1 1HH 0hh|DL^%1}:e# Lt% e#dD#EL%7} 1 0 . .0% 1L WILD CARDS NOT ALLOWED IN DESTINATION 0 A.|K@C}//3Hu ξL/L DRIVE TO WRITE DOS FILES TO?WRITING NEW DOS FILESTYPE "Y" TO WRITE DOS TO DRIVE 1.?}D1:DOS.SYSERROR - NOT VERSION 2 FORMAT. , &* բ( 1L `[) 0NΞ 0 L1M) 1@} L BAD LOAD FILELOAD FROM WHAT FILE?) 0 0#B 1L WHAT FILE TO LOCK?) 0 0$B 1L WHAT FILE TO UNLOCK?DUA}P DISK-SOURCE,DEST DRIVES?TYPE "Y" IF OK TO USE PROGRAM AREACAUTION: A "Y" INVALIDATES MEM.SAV. h  ,B}  `)  <0 2 2 0  ,   ,,ޢ* 1L ,K* 1 ~0 0C}FINSERT BOTH DISKS, TYPE RETURNERROR - DRIVES INCOMPATIBLE., 1 ~038  , 1L D}, &*  Lz+, 0 , 1 ~0 + Y,0!,0 ,L+ ,mm  v,"ǭE}0Ξ, 05,Lt+L +,Hh` NOT ENOUGH ROOMINSERT SOURCE DISK,TYPE RETURNF}INSERT DESTINATION DISK,TYPE RETURN`    `L,8,0( rG}L1(`ߢ) 1* 1 ~0Y`hhL S SL1) 8`NAME OF FILE TO MOVE?- 0 0|DLtH}% A., 1 <0 0 .@L# .BJ 1  DEHIB V L1 ,5 1 <0,L. I} JB|,A#Pd#DE 1 HI BDEHHII 1 B 1 , 1 <0,0Lf- B VJ},A#P, 1 <0 0L#L ߢ) 1* 1 ~0Yj383}mm ݭK}}`8}``|* ? ɛ,`|:(|/ 1L `DESTINATION CANT L}BE DOS.SYS0 0H{ $22Δ $28/L /) $2 Π $2 0 ξM}hAΞB,0 J 1 BޝDEHI,HDE 1HIHIDELSAVE-N}GIVE FILE,START,END(,INIT,RUN)O X0 1`BDEPHI V` X0H 1 L O}0 0 1L0`PLEASE TYPE 1 LETTER,0`hhL <0 1L0LA1 ,;ɛ7,"ɛ:ݦ1ݥP}A"D|ݤD|ȩ:|ȩ|ɛ,,(/+.ީ1 1,ɛ`轤{Q}NAME TOO LONG B VL ` L1I H1EӝDL1|mDiE` V0`8d/8 i:"2!22 1R} L ERROR- 139ɛ+,' 20*.. өw2 1``2TOO MANY DIGITSINVALIDS} HEXADECIMAL PARAMETER800 0 8 00`,0'D800H,ɛh`2L1NEED D1 THRU D4uT} HEXADECIMAL PARAMETER800 0 8 00`,0'D800H,ɛh`2L1NEED D1 THRU D4uGHG Y OUOUTCOLSAIFIOCBAAAHAALLSSHSSLFROWRO@lf@8Bb lflfnfV} ~f ##ŠҠW}##ӠŠΠŠΠ##ҠҠө(##ԠҠΩ2##éX}̠͠<= @p>"@@h? F:@, @"@i@SAdAU'-@Y}@#S(&C堠S򠠠A F:Ad,"AU@eBF:Ad,"@b%C(AdZ}AU(*@A%D<6-%@!@U0*@@<6-E$FC +AR@[}1@@CAdAUP##(Documentation DisplayZ6-P:I:,$?,d++;,;@,;@\},;@ ,f 6.D:n767@,.67,.767@,.7@,x""(creen or rinter Output?-]}@-@@K)@."@6.E:$6-@8. A."@6.P:^}$6-@. A A@ŧӠŠ @ ARo(.(#PRESS FOR LIST O_}F DOC FILES R((THEN TYPE FILENAME AND )o((IF NO DOCS REBOOT DISK)@B:,A =`}@3@@D:*.DOC= A1@17@<@,0 A"(7@<@a}," A+67@,.+67B:,%@,..DOC5@ A5@@""Πb}ӠĠӠ͠!"@!@@6-=@+@@=AR@c}Z6-AH6-C:,)6-P:'AV,96-&AV$J6-P:'AV,Z6-&AV$O%@@%%@d}3%@A%@O%@ 6-?:C:hhhLV,<@,""F:%@,!A'A"))6-F:%@e},%AV$F:%@ ,66 "(@7@<,, @b6 A`@ --J!7&<&,4f} '! APT ^J!(@7&%@<&,+ @b36-&=+%,!@'J Aph r'(@7%@g}<,' @b| A` Ơ5@@" @b*@5@@@%h} D:RUNME1STIOCBAAAHAALLSSHSSLFROWRO@lf@8Bb lflfnf Welcome to JACG Public Domain Files.To bypass our NJ LOGO - DEPRESS "M", or "OPTION" briefly during loading.Tom Pazel's Men$j}u will RUN: Tokenized Basic, and Binary files. Files labelled DOC are RUN by RUNME1ST. Because of time we did not edit the d$k}ocs. Thus, there will be duplication which may be beneficial anyway.The DRDISK.COM file on this 400/800 disk is Turbo Basic.$l} The purpose of this disk is to feature Turbo Basic. There are no other files for your pleasure. We have been unable to fin$m}d any files that work with this version of TURBO BASIC. If you find any we would like to add them to our library. Remember yo$n}u will have free pick of a library disk for a disk of files donated to JACGREAD all the Docs.ing loading.Tom Pazel's Men$aSOME OF THE DOCUMENTATION ON THISDISK REFERS SPECIFICALLY TO THEXL/XE VERSION OF TURBO BASIC.FOR EXAMPLE, EVEN THOUGH THE p} DOC'SREFER TO A COMPILER AND RUNTIMEMODULE, THIS IS ONLY AVAILABLE FORTHE XL/XE VERSION...FOR EXAMPLE, EVEN THOUGH THE _ve a pleasant surprise. Mach switches the XL BASIC in an out to give you more ram while operating in r}Mach mode. BASIC is switched back in when you request option "B". C. COPY FILE(s). Same as DOS II s} D. DELETE FILE(s). Same as DOS II. E. RENAME FILE(s). Same as DOS II. F-LOCK FILE(s). t}Same as DOS II. G. UNLOCK FILE(s). Same as DOS II H. SAVE MACH. Changed from DOS II to l u}oad an overlay from the boot disk. If the system disk is not in D1:, Mach will ask you to insert it v}. Don't worry if you have changed the density; Mach will set it to load the overlay, then reset it to what w} it was, if necessary, for you to write the Mach file at a density different than the boot disk. x} I. FORMAT DISK. Similar to DOS II. The only difference is that if you try to boot a disk that was for y}matted under Mach but does not contain any operating system, you will NOT get a boot error. Instead, it z} will boot as though the disk drive was not turned on. If you have double sided drives and have {} configured the drive as double sided, Mach will use both sides (1427 free sectors or 360K). J. DUP |}LICATE DISK. Similar to DOS II with one major exception: after you have told Mach the source and destinat }}ion drives, it will ask you if it is a "File" or "Sector" copy. Atari DOS II's "J" function is the ~} same as the "File" option (only those Page 1 }MACHDOS ver 3.7 sectors used by files are copied. The Sector option performs a sector by sect }or copy of your disk, regardless of the contents. K. BINARY SAVE. Same as DOS II. L. BINA }RY LOAD. Same as DOS II. M. RUN AT ADDRESS. Same as DOS II. N. CREATE MEM SAV FILE. Same as DOS } II. O. DUPLICATE FILE(s). The Mach DUP FILE is really a full one drive copy function. If yo }u specify wild cards for more than one file, Mach will read as many files into memory as it can, then ask you to } switch disks, repeating the process as times as necessary to complete the request. The files will b }e processed in alphabetical order. P. SET DENSITY. Asks you for the drive number to rev }erse the density (between single and double). The menu display will be updated to reflect the new d }ensity. Q. CONVERT FILE(s). Similar to the "O" function with one important difference: the o }utput will be at the opposite density as the input. In other words, a single drive density converter! }R. SET DEFAULT DRIVE. Changes the drive which is to be assigned as D1:. In other words, if you say the d }efault drive is 2, then all requests for D1: will be routed to drive 2, and all request for D2: will be r }oued to drive 1. Sounds a little confusing, but it won't be after you try it a couple of times. V-SET }WRITE VERIFY. Reverses the current Write verify status. X. FIX SYS. FiX the non-resident por }tion of Mach in memory. Transfers to the cartridge or XL BASIC will have approximately 7k less ram, but }transfers between DOS and the cartridge will take less than a half second. } Page 2 MACHDOS Utilities - ver 3.7 CONFIGUR. This program } is used to set Mach configuration options. Options: A-[s }et] Active Drives [On/Off] Define the drives you have active. After pressing "A" hit the digit key }corresponding to the drive you want to toggle. Remember, if you use RamDisk, you must make drive 4 }active. B-[set] File Buffers Sets the number of 256 byte file buffers. This is the } maximum number of files you can have open at any one time (try 3 or 4). C-[set] Directory }Sort Cycles through directory sort options (none, Name-Ext, Ext-Name) D-[set] Sy }stem Lock Toggles the resident console processor switch. Eliminates need to access disk when returnin }g to Mach from Basic, or other cartridge. Uses an additional 7k of memory though. E-[set] Ram }Disk Type Pressing this key cycles thru all supported Memory Expansion systems. List current }ly supports none, 130XE, AXLON, MOSAIC, INTEC boards as well as the 800+ and MACE modifications. } F-[set] Ram Disk Size Pressing this key cycles thru the supported Ram Disk Sizes in 16k } multiples. Note: this is the amount of memory available for the RamDisk. For example, the 130XE has 64k; } the 288k 800+ has 240k for the ram disk (Mach gives you 950 DD sectors!). G-Activate } [deactivate] RamDisk Toggles RamDisk switch. Note: this does not effect the running system, but } will become effective the next time the system is booted. H-Configure Drives Will }request drive number to configure. After entering it, will display current setting for number of sides and } density. Hitting the number next to sides or density will toggle that setting. Hitting RETURN will ret }urn to Drive question. Hitting escape or return will go return to main menu level. }START -Apply Changes to Mach Mach is modified to conform to the Parameters shown in the menu, and retur }n to the main Mach menu. Page 3 MACHDOS U }tilities - ver 3.7 The changes are only applied to the running version. You must use Mach menu o }ption "H" to make the changes permanent. SELECT-Quit, don't change Return to th }e main Mach menu without making any changes to the system. NOTE: any drive configurati }on changes will remain in effect. BACKUP. This program is used to copy }disk images into Mach Files. Several disks images can be stored on a single DS/DD diskette. Really saves o }n disk storage since most disks dont use the whole thing. Options } A-Source Drive Define the drive that is to be copied. B-First Sector The sta }rting sector to be copied. default is 1 C-Last Sector The last sector to be copied. Default }is 720 for single side, and 1990 for double sided diskettes. D-Read Source (start backup) } Just what it says. Starts running the copy. Will not start if target file name and drive are not set. } E-[set] Copy Type Toggles between file and sector copy types (see Mach Main menu " }J" function for definition of types). File copies are normally faster and produce smaller backup image } files. F-Target Drive Set drive number to write backup image files onto. } G-Target File Set Backup image file name. Name only, "BKU" is standard extension. } H-Close Target [file] Dump remaining buffer and close image file. I-List Files (directory) } List all "BKU" files on the target drive. J-Configure Drive Same as defined in CONF }IGUR program. Z-Quit [and return] to Mach Page 4 } MACHDOS Utilities - ver 3.7 Says it all! RESTORE. Opposite o }f BACKUP. Writes disk image files back to a disk. Options: } A-Source Drive Drive that contains the backup image file. B-Source File Name of bac }kup image file (without extension). C-Configure Drive Same as CONFIGUR program. } D-List Files (directory) List all backup image files on source drive. E-Target Drive } Drive with diskette to be reloaded I-Format Target Toggles format switch. If on, will fo }rmat diskette before reloading it. R-Restore data Start reloading disk. If } the target drive is reconfigurable (eg Percom, INDUS, RANA, etc) it will be set appropriately f }or the backup image. Z-Quit [and return] to Dos COMPAR. }Sector by sector comparison of two disks (if you don't really believe that BACKUP/RESTORE work then try this one to } verify, otherwise tells you any differences between disks. The program requires at least two disk drives t }o function. Options: A-[set] Drive A Defines one of th }e drives to be used in the comparison. B-[set] Drive B Defines the other drive to be used in th }e comparision. C-Start Compare Run the comparison. Compares one track at a time } (displays current track number) F-First Sector Page 5 } MACHDOS Utilities - ver 3.7 Starting sector for comparison Default is 1 } L-Last Sector Ending sector for comparison. Default is 720 or 1990 depending on SS or DS sect }ors. J-Configure Drive Same as the CONFIGUR program. Z-Quit [and return] to }Mach PATASC. A very fast print program to print real ATASCII characters on m }ost printers (at least the ones that look like epsons for graphics printing). It also has an intelligent line wr }ap routine, understands BASIC line numbers, and Remarks, generates line numbers for ACTION, Prints titles, page nu }mbers. Very good for programmer documentation. The program initially asks for the current date to be pr }inted on the title line. It also asks for the file name and title on entry to the program. } Options: A-[set] File Name Enter full file specification with drive, name, }extension. File must be list form of BASIC or MAC/115. B-[turn] Generate Line #s [off/on] } Set on if file does not have line numbers (eg ACTION or AMAC files). Program will generate line number }s for each line. Other wise, it will use the line numbers in the file right aligned. } C-Set Title Enter a title up to 90 characters long. Q-Quit [and return] to Mach } START-start printing Print using the current parameter setting. } Page 6 MACHDOS Differences Mach }Differences. 1. MENU WINDOW The first thing you will notice is the new menu. The } Mach "pull down" menu window is unique among Atari operating systems. You can control the menu and d }isplay totally. Pressing the SELECT function key flips the menu up, re }vealing the display contents which are behind it. The next press of SELECT pulls the menu window back down. } There are several new bits of data on the menu. The top line shows the version (curren }tly 3.7) and the cpu and ramdisk configuration that was set the last time CONFIGUR was ran. Currentl }y, Mach supports 130XE, 800XL 800 with MOSAIC, INTEC, AXLON, MACE, and 800+ memory expansion syst }ems. The bottom line of the menu shows the status of each active drive. The } display shows the current configuration of each drive (single or double sided, single or } double density, or not on. Drives can be activated or deactivated by the CONFIGUR utility. } 2. ONE KEYPRESS COMMANDS. The next thing you notice is that selecting a menu }option does not require hitting the return key. You can now type non-stop when requesting menu functions. } 3. INTELLIGENT SYSTEM DISK HANDLER. Whenever Mach wants the system disk (to load the } non-resident part, or to load the Save Mach overlay), it will instruct you to insert it into drive 1 }(real D1:). It will reset the density to the proper setting for the system disk. The system dis }k is defined as the one you booted from. 4. SAVE SYSTEM TO ANY DISK. }Unlike some other Atari operating systems, you can generate Mach on ANY diskette which is in DOS II or Ma }ch format. It does NOT have to be formatted by Mach, nor do you have to save space for Mach at forma }t time. 6. INTELLIGENT CONSOLE PROCESSOR (DUP) HANDLING Even if you don't fix Mac }h (menu option X), it will check if the console processor is intact. If it is, guess what, no } disk access. By the way, even if Fix is ON, Mach will reload the console processor if the copy in ram } is damaged. Page 7 MACHDOS Differ }ences 12. INTELLIGENT SUPPORT OF DOUBLE DENSITY DRIVES If you have double density drives that } will automatically switch density to match your diskette, more good news. Mach will automatical }ly "sense" the density of the disk when it opens a file. If the drive automatically senses the den }sity of the disk, the process is almost instant. If not, (eg Percom doesn't sense drives 2 thru 9) then } Mach will try to change density when it detects a read error during open file processing. } 8. INTELLIGENT SUPPORT OF DOUBLE SIDED DRIVES If you have double sided drives Mach will auto }matically configure the drive to DS when you open a file from a two sided diskette. Conversely, it }will configure to single sided when a one sided disk is installed. The only restriction is }that the two sided must have been formatted by Mach. 9. FEWER SYSTEM FILES }with DIFFERENT NAMES. The operating system file names are totally different. There is no DOS.SY }S or DUP.SYS files. The only file is MACH.SYS. Also, MEM.SAV has been changed to MEMSAV.SYS. Even }though there is only one file, Mach's console processor (equivalent to DUP.SYS) is non-resident and } will be reloaded when necessary. AUTORUN.SYS files are processed just like DOS 2.0. } 10. MACH.SYS is PROTECTED. You cannot open D:Mach.SYS from your program. You must u }se the console processor to generate Mach files. } Page 8 MACHDOS ver 3.7 Mach DOS Menu functions: A. DISK DIRECTORY LIST. S 12 4 1 5 0 10 70 2 12 132 PDG Doug Van Hook - JACG TURBO-BASIC is a publ}ic domain program developed by Happy Computing magazine. It was written in Germany and Holland and some of its menu selectio}ns are written in German. JACG has TURBO-BASIC available in our disk library for the XL/XE machines, and now has a new relea}se for the 400 and 800 Atari Computers. Included with TURBO-BASIC is a new DOS called, "Mach DOS" which executes DOS functio}ns without ever leaving the BASIC program. This Dialect of BASIC has changed the entire language by adding commands whi}ch encourage organized thinking. Other user's groups have been enthusiastic enough about the language to begin creating libr}aries of commonly used procedures. Why such high hopes? This example shows how organized thought can make extraordinar}y programmers out of ordinary people: 10 EXEC HOUS_KEEP 20 EXEC MAIN_LINE 30 EXEC TERM_INATE 40 END After thes}e four lines are procedures, which divide the program into more managable routines. By dividing the program into smaller par}ts we can focus our attention on one routine at a time. When these blocks of code are finally executed they work together as} a single program. Atari users in Cleveland have plans to release diskettes full of procedures which can be included in your} programs. In addition to the PROC and ENDPROC facility, TURBO-BASIC permits Labels for line numbers which can be used }in GOTO statements. For example GO# MAINLINE will cause the program to jump to the line number defined as MAINLINE. Once a }routine is defined, you never need to worry about its line number. If you are still unconvinced of its value, TURBO-BAS}IC allows selective line renumbering. For example renum 50,100,10 will change line 50 to line number 100 and continue to renu}mber in increments of ten. Not enough? How about a compiler for your completed program. A cookbook explanation was pu }blished in the Australian Atari Gazette. I couldn't do any better so I'll include their article: This documentation is } provided by the Western New York Atari Users Group and may be reprinted freely provided this credit is included. I kno }w everyone is still rubbing their hands in glee over TURBO-BASIC, the new public domain BASIC interpreter imported from Holla }nd and Germany. This month we are proud to present a new treat from our international friends overseas, the TURBO COMPILER. } The TURBO COMPILER will increase the speed of your TURBO-BASIC programs 3-5 times and regular Atari BASIC programs can} be speeded up to 10-15 times faster. The TURBO COMPILER is very easy to operate. It can be used with more than one disk dr}ive, even drive 8, the 130XE ramdisk. On the TURBO COMPILER disk, you will find several files. The important ones for the o}peration of the TURBO COMPILER are COMPILER.COM and RUNTIME.COM. Before you begin, you should prepare two disks. The first }one should be a blank formatted disk with DOS.SYS and DUP.SYS written on it. Your second disk should contain your BASIC prog}ram (TURBO or Atari BASIC). To begin, insert the TURBO COMPILER disk into your drive and turn your computer on. When i}t has finished loading you will be in TURBO BASIC. Type DOS to get to the DOS 2.5 Menu. Choose DOS Option "L", Load Binary }File and load the file COMPILER.COM. After a short while, you will see a screen full of German, if you do not read German do }not worry, that is what this article is for! At any time that you are on this screen you may reboot the system by hitting Co}ntrol-R or you may return to DOS by hitting Control-D. You will be asked if you really want to do this. If you do, don't fo}rget to hit 'J' for Ja and not 'Y' for Yes!! To compile your programs, remove the TURBO COMPILER disk from the drive, a}nd insert the disk with the program you want to compile. (If you have two drives, insert your disk with the program to compil}e in Drive 2 and the blank DOS disk in Drive 1.) Press the number 1 key (number 2 if you have 2 drives). A complete listing }of all the files on that drive will appear on the screen with one highlighted in inverse video. Using the arrow keys, highli}ght the file you want to compile an hit Return. That's all there is to it! At the top of the screen, you will see the l}ine numbers fly by as the program is compiled. When it is finished, you will be prompted for a file name to save your compil}ed program under. It has to have and extender of CTB (for Compiled Turbo Basic). The program will not let you use any other }extender. At this time, if you have one drive, you should remove your original disk with your original program on it and rep}lace it with your blank DOS disk. If you want your compiled program to be an AUTORUN file, you should name it AUTORUN.CTB.  }Then the file will automatically load and run at bootup time. There is one more step that you must do to get a complete!}ly runnable compiled program. Go back to DOS and copy the file RUNTIME.COM from the TURBO COMPILER disk to the disk with you"}r compiled program on it. Rename the RUNTIME.COM file to the name AUTORUN.SYS. Your disk is now ready to go. The TURBO COMP#}ILER does not compile runnable code, you must run the RUNTIME.COM file to run your compiled program. One technical note$} on the TURBO COMPILER: If you're not familiar with other compilers for the Atari computers, you should know that many have %}trouble compiling certain types of statements or insist that you organize your program structure in a certain way. So for no&}ne of these problems have occurred on any programs we have tested with the TURBO COMPILER. The only statement it wouldn't co'}mpile so far is the END statement. The only structure that we have had trouble with is a FOR-NEXT loop that has two or more (}NEXTs for one FOR.For example: 10 FOR X=1 TO 5 20 IF X=3 THEN NEXT X 30 NEXT X Other than those two examples, w)}e have had no problems compiling any type of program, either TURBO or Atari BASIC. Please let us know [Western New York Atar*}i Users Group] of any problems you run into compiling any types of statements or programs. Whether you program in TURBO BASI+}C or just want to supercharge your old Atari BASIC programs to super speed, I'm sure you will find the TURBO COMPILER will f,}it all your speed needs.2 12 132 PDG Doug Van Hook - JACG TURBO-BASIC is a publ12 2 1 5 1 10 52 2 2 1322771PDGby Joseph S. KennedyLet's go from the old to the new. For the past cou.}ple of months we have been looking at some the older programs in the disk library. This month I planned to present the disk /}documantation that we received from Micheal Schuetz with the Turbo BASIC program from Happy Computing magazine. Just before 0}I started this article I came across an article in Pokey, the Western New York Atari Users' Group newsletter, by Dave and Lau1}ra Yearke which covered most of the information we have and a few points we didn't. What I have done in essence is to retype2} their article adding the information which they didn't have for theirs. I just want to say thanks to Dave and Laura for sha3}ring their work with the Atari world. 0TURBO BASIC COMMANDS  ɯϛBLOAD 4} BLOAD"D:name" Loads a binary file (DOS L with /N)BRUN BRUN5}"D:name" Binary load and run file (DOS L)DELETE DELETE"D:nam6}e" Delete file name (DOS D)DIR DIR Disk directory 7} (DOS A) DIR"Dn:*.*" Directory drive n with lega8}l wildcardsLOCK LOCK"D:name" Lock file name (DOS F)RENAME RENAME"D:old,new" Rename9} a file (DOS E)UNLOCK UNLOCK"D:name" Unlock a file (DOS G)G:}RAPHICSCIRCLE CIRCLE x,y,r Draws a circle of radius r at ce;}nter x,y CIRCLE x,y,r,r2 Draws ellipsecentered at x,yCLS CLS Clears screen CLS #6<} Clears screen on channel #6FILLTO FILLTO x,y Fill commandFCOLOR Fcolor=} n Determines fill colorPAINT PAINT x,y Another fill >} this fills closed object around x,yTEXT TEXT x,y,a$ ?} This writes a$ on a graphics screen at x,yMEMORYDPOKE DPOKE@} n,v Pokes locations n & n+1 with 2 byte int. vDPEEK DPEA}EK(n) Peeks n & n+1MOVE MOVE n,n1,n2 Block transfers n2 bytes from B} n to n1-MOVE -MOVE n,n1,n2 Same as MOVE but starts C} copy with last byte of blockBPUT BPUT #n,adr,len Block PUTBGET BGET #n,adrD},len Block GETTIME TIME Time of day numericTIME$ TIME$ TimE}e of day string HHMMSSTIME$= TIME$=hh,mm,ss Used to set TIME$INKEY$ INKEY$ F} Returns last character typedINSTR INSTR(x$,a$) Gives relative G} location of a$ in x$ (must be an exact match) INSTR(x$,aH}$,i) i identifies the start of the searchUINSTR UINSTR(x$,a$) I} As INSTR but does not distinguish beJ}tween case or inverse UINSTR(x$,a$,i) Identifies startERK}R ERR Value of last error numberERL ERL Line last errorL} occurred at%PUT %PUT With %GET reads and stores M} numbers to disk faster and more compactlyN}%GET %GET Used with %PUTPROGRAMMINGREPEAT REPEAT Start a REPEAT- O} UNTIL loopUNTIL UNTIL (c) Terminate when c is met.WHILE WHILE (c) P} Start a WHILE- WEND loop to end when c iQ}s metWEND WEND Terminate a WHILE-WEND loopELSE ELSE OptionR}al extension for IF. IF must not be follS}owed by THENENDIF ENDIF ENDS an IF-ELSE-THENDO DO StartsT} an infinite DO loopLOOP LOOP Cycle back to the sU}tart of a DO loopEXIT EXIT Exit a DO loopLIST LIST Gives inV}dented lines in listing LIST n Lists program W} from line n on*L- *L- Turns off indent*L+ *L+X} Turns indent onPAUSE PAUSE Pause for n/50 secondsRENUM RENUY}M n,j,i Renumber the program from n first number j Z} increment is iDEL DEL n,i Delete lines n to iDUMP DUMP [} Lists all variables on screen DUMP name \}Dump to a deviceTRACE TRACE Trace program during ]} execution TRACE- Trace off.DSOUND DSOUND n,f,d,v SOUND with ^} channel pairing for increased frequency range _} DSOUND Turns off DSOUNDGO TO GO TO n ALternate to `} GOTO*F+ *F+ This command checks all a} FOR/NEXT loops to see if counter has beeb}n reached. if it has the loop won't be exc}ecuted *F- Deactivates mode*B+ *B+ When break key d} hit after this command program acts as if ae}n error occured *B- Deactivates *B+-- -- REM statef}ment that inserts 30 dashes in listing# g} # name Assigns current line # to nameGO# GO# name Similar to Gq}gb'DOS SYSb*+DUP SYSbURUNME1ST boREADME DOCb4PDG DOCbd-PDG2 DOCbTURBO1 DOCbTURBO2 DOCbTURBO3 DOCbiSEEFIRSTDOCbAUTORUN SYSOTOPROC PROC name Start definition of procedureENDPROr}C ENDPROC Ends procedure definitionEXEC EXEC name Execute procedure s} name.CLOSE CLOSE Close channels 1 through 7DIM DIt}M a(n) Automatically assigns zeros to all elements u} of a numeric array or null characters to a v} stringGET GET name At key press assigns the w} value to nameINPUT INPUT "text",x,y Prints text at prompt before x} asking for variables INPUT "text";x,y as above but y} does not print question markON ON a EXEC n1,n2,.. Similar to z} ON..GOSUB but for procedures ON a GO# n1,n2,.. Similar to {} ON..GOTO but line labels are usedPOP POP |} This command pops the routine for all fo}}ur types of loopsPUT PUT n Same as PRINT CHR$(n)R~}ESTORE RESTORE #name Restores the data line indicated by } label nameSOUND SOUND Turns off all soundsTRAP TRAP #}name TRAPS to the line named by labelARITHMETIC/LOGICRND} RND Parentheses are no longer needed but } still works if they are thereRAND RAND(n) Yields random } number 0-nHEX$ HEX$(n) Converts n to hex stringDEC }DEC(a$) Converts hex string a$ to decimalDIV n DIV i} Integer quotient of n/iMOD n MOD i Integ}er remainder of n/iFRAC FRAC(a) Fractional } part of aTRUNC TRUNC(a) Truncates Fractional } part of a$ $nnnn Allows input of hex numbers but } they are converted to decimal& n & i 8-}bit boolean AND! n ! i 8-bit boolean OREXOR } n EXOR i 8-bit boolean exclusive-ORNOTES1. The time functions are wriiten for the} European standard 50Hz thus do not return the proper time here.2. To print a quote mark (") in a text string simply print }a double quote in the string.3. TURBO-BASIC returns error numbers as well as English descriptions. There are several new e}rror messages added. They are as follows:#13 - ?FOR - A FOR statement is missing#15 - ?DEL - Either the RETURN for a GOSU}B or the NEXT for a FOR or the REPEAT for an UNTIL statement has been deleted#16 - ?GOSUB - A GOSUB statement is missing#22} - ?NEST - Loops not properly nested#23 - ?WHILE - A WEND with no corresponding WHILE#24 - ?REPEAT - An UNTIL with no corre}sponding REPEAT#25 - ?DO - A LOOP with no corresponding DO#26 - ?EXIT - An EXIT was placed outside a LOOP#27 - ?XPROC - An} error occured executing PROCedure#28 - ?EXEC - An ENDPROC with no corresponding EXEC#29 - ?PROC - PROCedure does not exist}#30 - ?# - Label does not existThis is a fairly complete description of the commands within TURBO-BASIC which are differe}nt from ATARI BASIC. TURBO-BASIC seems to run all ATARI BASIC programs but the timing in loops can be different. All-in-all} this is a fantastic BASIC that should rapidly become the standard BASIC for the 8-bit Atari's and its priced right. Again I} would like to acknowledge the very large input to this article from the Yearke's article. TURBO-BASIC should be available f}rom the disk library before the September meeting.I have just come into possession of the original German documentation for} TURBO-BASIC; for any of you linguists out there who wold like a copy, please let me know and I will see that you get a copy.}TURBO-BASIC; for any of you linguists out there who wold like a copy, please let me know and I will see that you get a copy.O<<< TURBO BASIC >>>0Reference Manual (c) 1986 BrainsoftODisk Operation Commands0DIR, DIR"D1:*.*" shows di}rectory on screenRENAME "D:old,new" renames file "old" into "new"DELETE "D:file" deletes File "file"LOCK "D:file" } write-protects File "file"UNLOCK "D:file" unprotects the write-protected File "file"BLOAD "D:file.obj" Loads a bina}ry file from BasicBRUN "D:file.obj" Loads and starts a binary fileOStructured Commands0IF aexp ... ELSE ... ENDIF }If condition aexp is correct (<>0) thenthen the element between IF and ELSE will}be executed,otherwise the elementbetween ELSE and ENDIFREPEAT ... UNTIL aexp Rep}eats the element "..." until condi-tion aexp is fullfilled.DO ... LOOP Endless Lo}opEXIT Exits a loop. Program jumps to nextcommand after the loop.*F+ } After this command all occuring For NextLoops are checked if the counter has }already reached the end. If that's thethe case then the loop won't be }executed.i.e.: FOR I=2 TO 1:? I:NEXT Iif the *F+ command has been gi}ven before then this loop won't be gonethrough at all not even once l}ike itwould be in Standard Basic.*F-Deactivates this modePROC name}Beginning of the procedure "name".ENDPROCMarks the end of a procedure just like}the RETURN command marks the end of aGOSUBEXEC nameExecutes t}he procedure "name"ON aexp EXEC name1,name2,..Equals the ON ... GOSUB ... statementin Basic only} that you now don't jump toprogram lines but to procedures ("name1,na}me2")#after this mark always follows a Proce-dure nameGO # name}Jump command (=GOTO Linenumber)means GOTO Procedure "name"ON aexp GO #, TRAP #, REST}ORE # = other commands which allow jumpsto procedures.--equals the REM statement (If a program is}listed then the line containing this sta-tement will not show 2 but 30} "-"chara-cters !!!LISTEmphasizes the structured elements (just}List a Turbo Basic File to see the diffe-rence*L-Turns} this special feature off*L+Turns it on againLIST 100,Program from Line 100 til }end will belisted !!!86 BrainsoftODisk Operation Commands0DIR, DIR"D1:*.*" shows di3OAdditionoal Commands0DEL x,y Deletes Lines from Line "x" to line "y"(inclusive x and }y !!!)RENUM old,new,incr Renumbers from line "old" on. The new programlines begin at "new" and will be i}ncreased by "incr".DUMP Shows a list of all used variables on screenDUMP filespec Al}so possible to dump to Printer or diskTRACE+ Turns Trace mode on. Which means that if thepr}ogram is executed the linenumber the computeris right now will always be shown on screenTRACE- } Turns Trace mode off.*B+ If you hit the break key after this command hasbeen executed} then the program acts as if anerror occured. This means you can prevent theprogram f}rom stopping by using TRAP commands !!(Makes it easy to disactivate the Break Key !!)*B- }Deactivates this deviceNOTE:In the following statement descriptions after "<=>" follows the equi-valent commands you ha}ve to use in standard Basic to achieve the sameresults.DPOKE adr,word Double Byte Poke <=> POKE ad}r,word-256*INT(word/256):POKE adr+1,INT(word/256)DPEEK(adr) <=> PEEK(adr)+256*PEEK(adr+1)MO}VE source,dest,count Makes transfer of large amount of Byteseasy. F.E. MOVE 53744,X},1024 copies the Charactersetfrom start address 57344 to start address "X".BPUT #n,adr,len <=> FOR I}=0 TO len-1:PUT #n,PEEK(adr+I):NEXT IBGET #n,adr,len <=> FOR I=0 to len-1:GET #n,A:POKE adr+I,A:NEXT I%PUT,%GET } These commands store/read numbers faster and morecompact on/from disk.FILLTO x,y <=> POSITION x},y:XIO 18,#6,0,0,"S:"FCOLOR n choose Color for Fill command <=> POKE 765,nCLS,CLS#6 Clear ScreenPUT n } <=> ?CHR$(n)GET KEY <=> OPEN #7,4,0,"K:":GET #7,KEY:CLOSE #7Computer waits for ke}yboard input and stores valueof pressed key in "KEY"DIM A(100) <=> DIM A(100):FOR I=0 TO 100:A(I})=0:N.IINPUT "text",x,y <=> ?"text";:INPUT x,yINPUT "text";x,y same as above only there won't a questionamrk }appear on the screenTEXT x,y,text Writes the text "text" on a graphic screen. Thecoordi}nates x,y mark the upper left pixel of the letter to be printed first.CIRCLE x0,y0,r Draws a circle}CIRCLE x0,y0,xr,yr Draws an ellipsePAINT x,y Fills a closed figure with the color determinedby }the COLOR statementTIME$ special variable which stores the time in theformat hhmmssTIME$=1}02030 Sets the variable at the time 10:20:30 PAUSE n <=> FOR I=1 TO n:NEXT ISOUND <=> FOR I=0} TO 3:SOUND I,0,0,0:N.ICLOSE <=> FOR I=0 TO 7:CLOSE #I:N.I"x" to line "y"(inclusive x and IOSPECIAL FUNCTIONS0INKEY$ Stores the value of the last pressed keyINSTR(A$,B$) Searches a !}the string B$ in the longer stringA$.UNINSTR(A$,B$) Same thing only this time it doesn't mak!}e adifference if the string contains words inlower or upper case (word=WORD=w!}Ord...)ERR stores the value of memroy cell 195 (errorcode)ERL stores the value of the!} line error occurs<=> ERL=PEEK(186)+256*PEEK(187)RND <=> RND(0)RAND(n) !} Creates a number between 0 and n at randomHEX$(exp) Changes an Integernumber into a HEXvalueDEC(sexp) !} Chnages the Hexvalue sexp into a Decimalnumber$aaaa allows use of Hex-values in program!}f.e.: POKE $E477,0& Binary AND! Binary OREXOR !} Exclusive ORDIV Division without remainderf.e. 3 DIV 2 = 1MOD !} contains the remainderONew Error Codes0ERROR-13? FOR a FOR statement is missingERROR-15? DEL e!}ither the GOSUB for a RETURN or the NEXT fora FOR or the REPEAT for an UNTIL statement has!}been deleted.ERROR-16? GOSUB a GOSUB statement is missingERROR-23? WHILE a WHILE statement is mi!}ssingERROR-24? REPEAT a REPEAT is missingERROR-25? DO a DO is missingERROR-26? EXIT EXIT without a!} LOOPERROR-27? XPROC a PROC statement can't be executed (onlypossibility: EXEC!!!)ERROR-28? !}EXEC a EXEC is missingERROR-29? PROC an unknown procedure has been calledERROR-30? # an unknown !}mark has been usedNOTES:- Variable and Procedurenames may include the "_" character: IN_DOO$- It is possible to put BAS!}IC autorun.sys files on a disk just name itAUTORUN.BAS and your file will be automatically run.- Two old Basic bugs have !}been eliminated:1) sudden computer lock up during long time editing2) the adding of 16 bytes to a program whenever stor!}ed with theSAVE command on disk Stores the value of the last pressed keyINSTR(A$,B$) Searches a 'Welcome to JACG Public Domain Files.To bypass our NJ LOGO - DEPRESS "M", or "OPTION" briefly during loading.Tom Pazel's Men%}u will RUN: Tokenized Basic, and Binary files. Files labelled DOC are RUN by RUNME1ST. Because of time we did not edit the d%}ocs. Thus, there will be duplication which may be beneficial anyway.The AUTORUN.SYS file on the back of this XL-XE disk is T%}urbo Basic. The purpose of this disk is to feature Turbo Basic. The other files are for your pleasure. We would appreciate f%}eedback on the use of these files.Read the DOCS.NJ LOGO - DEPRESS "M", or "OPTION" briefly during loading.Tom Pazel's Men$3es, and Hadley V Stacey.in Files.To bypass our NJ LOGO - DEPRESS "M", or "OPTION" briefly during loading.Tom Pazel's Men$h %LzLz &`BÝDEJK V /ԭ0̭1͠ȩȩ)}̠Fȩȩ ȩAȥ̑ȥ̩͑"/Xi(XYiYTUW` BƝDEIH VXi(XYiYTUW` B)}DEI'H VXi(XYiYUTΩ ϩW N%Uϱ΅TL1H `B Vh`M)}     ةMҍЩЩЍ Щ:/ԩЍЩЍoЩ Ԡ~$)}~%nЭ L`M ԎЎЎЍЍЭЭ LJ)}M` B V` 991S:J.A.C.G.堠ɠ)}disklibrary"172<@?B^psv~}xyzrn}h~b\WZF:6.-($")}@.E B ViB'DEE J V#D(D)D %D$DЍ  RbD S)}8*DI*DbD]D B*DDE8HI VBJDDE VBDDEHI VD C D)}*E𩛍D#D C C BDDEIH VL@RTU BHI V BfDDE&HI VR)} B V C A102+M"x  LtALhCLCLCLC%D(ԩ ݭ$Dԩ )}ԍ(DՍ)D(Dm%D(D)Di)DXm(D˥Ym)D̢ i E .Ei E 򩛝E B VBDEEJ)} VB.DEEHI V B V.E-/E$ C%DLtATEUL C%DLtA B VB'DE)}E J VTU B DEEIH V ` BHI&DDE$DT%DULV BHI$)}DT%DU LV EC$D$D$D CLtA EC$D$D$D CLtA EC%Di (%D CLtA EC%D8 %D CLtA#DU0 U+0)}U`#D+TLCҩ0Ҡ ` `_5><8_; _3  _d)}d)}D:*.* GR.0:RUN"D:E: SYS@ԭ0̭1͠ȩȩ(c091AϠàӠ