,!LLjL D1:CONFIG.SYSD1:QDUP.SYS119IPRWSQhB!RhB!RhB!RǀhB!RhB!RhB!RhB!RhB!RL K   h*`kةǍ ȹDD   biH)H EF`EDBJK V0 k 0 k 0;` k ! B V0 - ~ ` k 0э- k 0 k 0 k 0 k 054326DE8HIB V0   LHIB V`ll j6`7H B Vhi" hߤL  L `  eCDi1=! .F:<@= L .U3m$ %i L EF&m4 'i 388(#m   1 GHG)  Y1hG0)=."C1C `F`3,"P3L 007H)p$ 0!= 0.  ``CCEDF*34 044+/C(*m,ɀL^ ) CiL^ C3 qCiCx%H)X< xhX` {:)" i 0252: E?``Eg` { 0" )2L :?$E5L< $E(52$m2$%(82()2` < `? ?: @`40@ e 0:)3C4`44#w:) 3L 4`6$L 63<:)B4C633CCŬ3C3CC3CC8CCiC<4!5:)6" ); : +E3C495`Lw @25; @` {:)0 i 0*8S25!EȌ253C4``` { 0")L E$5 < 2L 8 `ǘm2iE`_``Lw 0  02ȱE ~82E) *`C ~#[``8`024 FREE SECTORS0ǢnȈ-}nn:8 n`*3;; 4L) 0!+? 0 ?244+`;  `2i22E)@F-pJG7K; 8ݬ; ? 0`L2i?E :2ȱE6G2ȱE92ȱE ``$:0T:Pȱ$:I ȱ$a{8 ,&" {Lc`ɛ\ X. L* ʩ??0 :A[,0LVL:" ` 0; Lj`C/*C6CL6C6#C``CCL6#C 6ذL6CC6CCiCL 0L 0G 0@ 0;7H)p-3; 0" 0 0C6 0 CC`*3 l4; `;JJJ!J-; 02`$10:)%77H)!ʊ4 Q"` ``` 0>E,Jjii`7H)pp` 07 HjHHiH)=CL>0 =07H8H)p= NMGJP`Bǭ2BB270 =0 7>0 ` {*): ' s0F8:  05!254`) 08;`2E) `@:`q s0 02E 0 0 0LʭL); l4 Y02E2i?E 0LL) > s0 02ȱE<926C#436!5@`L) {@: @ <`40 e : 613C4CC6C6LGʨC3qCC2ʎ Y @ L2ȭ: 6EL6HE62ȱE h660ŊC#6C2@E2ȭ<E2ȭE 0 @L {: @` s0  <` {" : <`#`L$-@:" s02E?  <` !~: s0p  `L 04?" 2E 0=L2i?E " @ 0@ <`&m:ea40><#m! Nnn28mL`%: `@0L   e 0L !..,NȢ8#6C#`! 9534 e 0 h@34<2`hB!R1 #z MODEt># r7 # 5 # l 5t>#>8C  &',067<FQDOSJ MSYSY _ &dk A{8%P>A,*hB!R>&\"R7.-ATARI 810, 1050: *A. SS/SDT B. SS/2D``?AhB!R\9h ~:!RU&h B!CNECONFIGURATION-BLOCK DRIVES:> FC. SS/SDJ RD. SS/DDV E. DS/DD @N   Y01iȱȱȱO Y`8`P   ili Y0 ii Ӡ`1N@     Y0#O Y8`R@   Y0ʭ   @ Y0L!#A>>> ??A:@>> AJ`D1:AUTORUN.SYS8d Q)!` !! `8 "` G"G")1  HȊqmmmh" !""G`l W!`8 ]Q)]QQȱQH)HL!"""" 4 "0"m"#D"EHIǩ B VLJ""$D"EHI B V B V0,GD!EJKB V B Vhh@M>)M>@`}GDRIVE 1 WILL NOT CONFIGUREB"HI B V B V0,GD!EJKB V B Vhh@M>)M>@`}112R'S/DE JKB V`E:2hihiHHH  B  H ILu DžJ K D EhLVȹ`` 2 907 0 2 0өA7 2M< La 0`0|:0 2 ` 200:C 2 0 2 08A 8AL 2 1 2 +V  2 0 2 J 2 5@0ɛ 2 DL)0:L)` ъ) @ZS8@xԭX 8HHl 2 <0L}LA8A  D:  2  C L}6L  2 < 2 0` 2 @ 2 0- 20 20 2 0L 7 2 L}.COM MI. }DOS 4.0 COMMAND PROCESSORCOPYRIGHT 1984 ATARI,INC.Q mNO CARTRIDGEK:D1:*.COMq Z. RUN CARTRIDGCmE 0-9. DISK DIRECTORYSELECT ITEM OR FOR MENUERROR - 000}D1:*.*}D1: DURING BINARY LOAD:*.COMq Z. RUN CARTRIDG=#^' A!#A>>> ??AGM>> AWmD1:AUTORUN.SYS8q Q)!` !!`8 "` G"G")1  HȊqmmmh" !""G`l W!`8# ]Q)]QQȱQH)HL!"""" 4 "0"m"#D"ǝEHI B VLJ""$D"EHI B V B V0,GD!EJKB V B Vhh@M>)M>@`}DRIVE 1 WILL NOT CONFIGUREB"hs#iht#iHHH q# q#B  q#H q#ILa# q#J q#K q#D q#EhLVTȹ-`i0# ##0A8!>!>8!阍#!># # >0 # " 0 # X`D1:CONFIG.SYS Y$0% 50 #1tɛ8A!`!i@S$ # !5$0 $L#iAW$ # V$0ԭ#`GIVE A RESPONSE FROM "A" TO "G"A!`8x H!N! JiAȑJ!hQ)#! !!* # R0P## 7!8!m$i$ȱ $ # A6?0##! # $` W!0L!`A!` #0 # %0!% %٭"%%#%%"%m!"%#%m!#%#%O"%!%!% # >0! !7!!8!!!i!!i!! !!!!!i!!i!!$%٭"%! #%!` %>!>` !!m%i%!%% # E'`%%Q !!mM%ͭiMG%í> "01;@ >H0. %U8 V RX0i8Wm   %I>` GHGH)  YhhG.0 #< # BL7&>> Y$`Unable to identify mode> # 7 #  5 # ( 5>#>>8, >Q> " 5 # P90@ 50ɛɛ # 'p9Ll'\>0f:ǰb9D: # 90 50ϭɛ 9 #0 #0 # 0L1( 5Ll'AlBUB@xԭX(} # 08HHl # 90Ll'CL) # 90 50,ɛ # (9L(]>ـ +6 #06 7]> +6 s6~/A~ #  L:) #  5Ll' 78!u)!v)!w)!x)!)!) #!^> X YLl'0X)Y) # !0^>Ll'DL* # :0 50 +6 s6~/N~ #! 5Ll'!_>!`>v> ~60`>!_>!L) # ,:0ĭ!! ]70 # B:0 50Yɛo*p* #!0ii`>_>ЭLl'E& # D:0 50 +6 #  5Ll'F& # d:0 50 +6 ## 5Ll'G& # u:0 50 +6 #$ 5Ll'IHL-\>H # :L6+ # !:0 50ϭɛ 0: # ":0 ;:;;(;\>Hi/ # :0 50YЃɛ # ; 5Ll'2w>2 #;0!@>) @ # 0 # m@M>)M>@w>ǝ2 5Ll';80?) %0;80 v#0 #;08;;<; # 7;08Y,Z, # 60A;B;ER;F;8G;H; # =;05,,8,, # 20 # V 5Ll' #';08!S;!T; # I;08! -! - #  0Ll'JOL2\>J # $U;L;- # $y;0 50ϭɛ50#:>,0: >ɛ! # ;0L- # =0,1>>>>)>>)> 5Ll'M>>>L. # %;0 50ݩ> s6R~/ ~>ɛ # =0LQ.80! +>80  # %;0kL- m>>>Z # =0L> #0D> # $=06> #0.>>8 Q)>>>Q> " 5Ll'>D>:\>J;>> # $ # <07 502!_>!`>ȹ, ɛ>]> 5Ll'v>\>J|.? *Cwv> ~60̭>ɛ]>ȢL(/`>!_>!LK/>>>!>!>>`>>_>B>@>>8{ >[xQ> "0> # !D<0  5 5Ll'>>>>> > >>_>>`>>>> # <0> ]70 # |0O00 #0>\ #%0歍>0>08>0>0 #S^>>ȭ>ȭXm>>ȭYm>>^> N~ # l0s>>>>i>>i>>`>>_>M>>=L@0 #&0)\> #p0 #  5Ll'>>8 >Q> "0ڭ>>> # &e<0ĩ 50>*>< #$<0n #!<0c> %0[>> > # <0 ]70 # $s0 ͇>͆>>?2A2B2 # 0/e2ȱf2ȱc2ȱd2 # w0 # :^> # ^>΁>f 60a # <<0Y 50TYMɛFL2ii>> > > >L1΂>L1>>L/ 5Ll'L[ # <0 50 +6 s6~/N~23!4!56  5Ll'M7 # !"=0 50 q7 # C=0LW3lɛ ~3Ll'KL4 # &<0 50ȹ,ɛ # C=0L3Ȍ]> +6]> q7]>չɛΥ[=\=44Ȍ]> q7]>]=^=84444>>ɛOȌ]> q7A]>c=d=>ɛ)Ȍ]> q7]>Wi=j=>ɛL3 s6~/A~ # 0DL4 #06 # Y=0+ # [0 > # _=0> # e= 5Ll'NQL5\>Q # k=L5 # >>0 50ϭɛ # ":0ɠ=<80 ߪ?)>4\>Q3 # #=0%> #0>8 $Q> " 5Ll'>8( Q)>> %0Ll'P # D=0 50  +6 %% 5Ll' # 'p9Ll' #` #}`^>^> 60`0999:09 # 9`D1:ɛ!: Ld60 ::ɛA`ـ`a> #0 #d>0d>0: # E`v>n>و:0̠n>ً:0c> a> .a> a>șa> șa>!!`>_>4a>iiL7a>_>i_>`>i`>L6n7o7 # `ɛ3,/A G87L780 &&&&Ƞ``}DOS 4.0 DISK UTILITY PACKAGECOPYRIGHT 1984 ATARI,INC. From ANTIC, The Atari Resource 0-9. DIRECTORY I. FORMAT DATA DISKA. COM PROCESSOR J. DUPLICATE DISKB. RUN CARTRC IDGE K. BINARY SAVEC. COPY FILE% L. BINARY LOADD. DELETE FILE M. RUN AT ADDRESSE. RENAME FILE N. CONFIGURE DRIVEF. LOmCK FILE HO. DUPLICATE FILEG. UNLOCK FILE P. MERGE DCFH. WRITE DOSM ]Q. IDENTIFY MODEaSELECT ITEM OR FOR MENUǛRESPOND "0" THRU "9", OR "A" THRU "Q"DISK 1 DIRECTORY - SEARCH SPEC?*.*ERROR - 000NO CARTRIDGECOPY FILE - GIVE SOURCE,DESTǛGIVE AN ANSWER LIKE "SRC.FIL,DST.FIL"DELETE WHICH FILE?TYPE "Y" TO DELETE...?RENAME - GIVE OLD_NAME,NEW_NAMELOCK WHICH FILE?UNLOCK WHICH FILE?SYSCOMWRITE DOS FILES - DRIVE NUMBER?FORMAT DATA DISK - DRIVE NUMBER?TYPE "Y" TO FORMAT DISK 1GIVE A RESPONSE LIKE "1" OR "2"D1:D1:QDOS.SYSD1:QDUP.SYSD1:DISKUTIL.COM12^' ADUP DISK - SOURCE_DRIVE,DEST_DRIVE?DUP FILE - SOURCE_DRIVE,DEST_DRIVE?GIVE A RESPONSE LIKE "1,2"SWAPPING REQUIRED - HOW MANY COPIES?GIVE A RESPONSE BETWEEN "1" AND "99"GIVE NAME(S) OF FILE(S) TO MOVEINSERT BOTH DISKS, TYPE RETURNINSERT SOURCE DISK, TYPE RETURNINSERT DESTINATION DISK, TYPE RETURNREADING --- WRITING --- D8:*.*DO YOU WANT TO COMPLETE THE OTHERCOPIES? TYPE "Y" IF YES.LOAD FROM kWHICH FILE?SAVE - GIVE FILE,START,END,[RUN,INIT]GIVE HEX ADDRESS AT WHICH TO RUNINVALID HEX ADDRESSoCONFIGURE DRIVE - DRIVE NUMBER?DESIRED CONFIGURATION FOR DRIVE 8?CONFIGURATION FOR SOURCE DISK?CONFIGURATION FOR DESTINATION DISK?m1,11MERGE DISK CONFIGURATION FILE INTOUTILITY PACKAGE - GIVE FILE NAMEIDENTIFY MODE - DRIVE NUMBER?Hx,*hB!R&>A,*hB!R>&\"R7.-ATARI 810, 1050: *A. SS/SD| B. SbS/2D``?AhB!R\9h ~!RU&h B!CNECONFIGURATION-BLOCK DRIVES:f nC. SS/SDr zD. SS/DD~ E. DS/DD @N   Y01iȱȱȱO Y`8`P   ili Y0 ii Ӡ`1N@     Y0#O Y8`R@   Y0ʭ G  @ Y0LO Y8`R@   Y0ʭ ,!'"%*K:D:QHELP.DATXԥYi i ',RԈi(ԥi.Ϣ 0D!EJKB V0:3D!EJKB V0 $ B V B V`hh0 # # #:0 # 0" "ɀL! HIB V 0ɛ("##)``_"ֽ`"׭*!ԭ+!լ,!Ԉȱɛ8 LO"`m"""""##SELECT TOPIC OR PRESS BREAK TO EXITSELECT TOPIC OR RETURN FOR LAST MENUPRESS SPACE BAR TO CONTINUEPRESS SPACE BAR FOR LAST MENUPRESS BREAK TO EXITERROR 000 - PRESS BREAK TO EXIT$#U#-! Խ թ,!Ԉ`HIB V`####@ `#$##` A#0ɀ ɠɁ@`ɂA`8邍#L$ A#0*)]#` %#######\#]#^%B V0>.!# A#01V#+ mV##WD#E#H#IB V`.! Խ ՠ/! #0@.!-! .!.!L$A`/!,!/!$%L$# 0" C$L!`V# #L2% # 0" "ɀɛ #8#L% V#L%V# i@a{8 8AV##### m##W##X##Y##LA!?%uhQihRiHHH O OB  OH OIL? OJ OK OD OEhLVȹ`  i0" '0}  y0  N"0 'l D*$ ,ɛ    1Lq}  R0  d4 0 '0D h  !h 1L  0  %0  !0L_ `hh =0`0/ / / :0/   & `}DOS 4 BASIC GO PROGRAM GENERATORCOPYRIGHT 1984 THE HAPPY HEROFROM ANTIC - THE ATARI RESOURCEThis program creates a machine-language program that loads and runsan Atari BASIC program. Possibleuses are (1) having a BASIC programload and run automaticalGly when youturn on the computer, and (2) beingable to load and run a BASIC programdirectly from the Command Processormenu.5Press RETURN to proceed or pressBREAK to exit.9Insert the disk containing the BASICprogram and then type the name of thedisk file which contains the program(for example, D:MYPROG.BAS). Notethat this file must have been createdby Atari BASIC='s SAVE command. Donot enclose the file name in quotes.AERROR - 000Give the name of the disk file intowhich the machine-language program isto be placed. Use D:AUTORUN.SYS ifyou want the BASIC program to runautomatically when you turn on the !computer. Use a name ending in .COM(for example, D:MYPROG.COM) if youwant the program to be listed in theCommand Processor menu. Do notenclose the file name in quotes.}Your BASIC go program has been writ-ten to the disk.Press RETURN if you!0" want to createanother BASIC go program, or pressBREAK to return to DOS.  @xԭX`@HIii  D8HHlG} @HI`RUN "Tii  D8HHlShQihRiHHH O OB  OH OIL? OJ OK OD OEhLVȹ`VXD1:id8逍fg 0  0 0Y N l 0  0 0U  0 0WMUh  L  !* 0 )0ǍT|pTT@  / 0 )0L)"TJJJii i | C0|)@LL e`} ~ m| Y .YȢ | Y𩛙Y  0S  Y0H  0= 08Y N 0+L 0#̅   ǩ CB0u v w w w :0w v v :0v u  j 0 )0LyJJTL y)a\z{{CYm{ 4}~}} ~gfL S0 mLL  S0L ]0) @) @`  ` ;0.0:) 0  `HH hh` ?0 ɛ `U; `h  ]XK 0P )0K  V0C8&̍    0!  *I0h  !* 0 )`H  Mph`1@ H8t ` GH]GH)  YhhGh`K:}DOS 2 TO DOS 4 CONVERSION PROGRAMCOPYRIGHT 1984 ATARI,INC.a FROYT M ANTIC - THE ATARI RESNOURCEDo you want to convert files fromDOS 2 format to DOS 4 format? (Y/N) RDrive 1 is not supported.Source Drive? (0-9) Destination Drive? (0-9) Insert both disks, press RETURN Insert source disk, press RETURN Insert desU t disk, press RETURN ǛERROR - 000Press RETURN Convert file ? (Y/N) All files have been convertedPress RETURN i t disk, press RETURN |hihiHHH  B  H IL J K D EhLVȹ`D1:8逍 | 0 | " 0 0Y N l 0 |  0 0 |  0 0M | !Lx | !7!0 60Ǎ   PL#|p@ | /!0 60L)"JJJi i | P0 |)LL# 魊΋Ί)).Nz|  .Ȣ |  𩛙 | !00 | 0% | !0 0Y N 0L L#證0L#م!   .  .  .     i  i  PB0!!!!!:0!!!:0!! | w!0 60Li͋@iiL `0 zLL#8mi `0L |m0) @) @`K |  ` 0.0:) 0 |  `HH hh` |O0 ɛ `; ` | X!0P 60K2 | 0C8ٍ!  | !0! | 6U0 | !7!0 6`H | Yh`1@  H8 m` GHGH)  YhhGh`K:}DOS 3 TO DOS 4 CONVERSION PROGRAMCOPYRIGHT 1984 ATARI,INC.q FROM ANTIC - TZHE ATARI RESOURCEDo you want to convert files fromDOS 3 format to DOS 4 format? (Y/N) ^Drive 1 ! is not supported.SouGrce Drive? (0-9) Destination Drive? (0-9) Insert both disks, press RETURN Insert source disk, press RETURN Insert dest disk, preGss RETURN ERROR - 000Press RETURN Convert file ? (Y/N) All files have been convertedPress !!RETURN  disk, prehQihRiHHH O OB  OH OIL? OJ OK OD OEhLVȹ`  xd0 0 0ɛLl  `00F  ?0F)  L0L   Z0Li0_  ^0FF:а  a0 P0ɛ$?)?H)H]?)]??L)0:Í  0 T0)80 ])]L}DOS 4 DISK DR0IVE NUMBER REDIRECTIONCOPYRIGHT 1984 ATARI,INC.4 FROM ANTIC - THE ATARI RESOURCEThis program lets you redirect diskdrive numbers so that each of the tenlogical drives refers to whichever ofthe eight physical drives you want.The "logical drives" are the drivenumbers which appear in file names.They are numbered from D0: to D9:.The "physical drives" are the actualpieces of hardware. They are numberedfrom 1 to 8.In the default configuration, logicaldrives D1: to D8: refer to physicalǛdrives 1 to 8 respectively, while D0:and D9: are not supported.Press RETURN to proceed or pressBREAK to exit.K:} Logical | Currently refers to! ;drive | physical drive C-D+X-Y_ D0: | not supported??? 1Pre!ss 0-9 to select a logical drive% \-or-Press RETURN to restore the defaultconfiguration` z-or-Press BREAK to exit.Logical drive D0:) *O vPress 1-8 to select a physical drive z -or- C RPress 0 if logical drive D0: is not to be supported.g vT drive z -or- hQihRiHHH O OB  OH OIL? OJ OK OD OEhLVȹ`l   0 0  0 E0  0 ^0  0 w0  60 0Aq  R0 0  o 0 0ɭɛ6ɛ80 L1м80i  L`Bl  oi!0 E0H!Q)@i  j"0Lq  YB#0  V#0 0ɛDS L`C6  #0 ^0  ?%0 0ɛCDL`D6  &0 w0  F'01 0ɛPFWS:L`L 1  5E08 i0  IR0  V`  `  `  ` 0 `:P  `  `l 40ɛ) @) @`K:SingleDoubleSlowFastDOSCartridge}DOS 4 PAR0AMETER SETTING PROGRAMCOPYRIGHT 1984 ATARI,INC.4 FROM ANTIC - THE ATARI RESOURCE This program allows you to changethe values of the four DOS 4 para-meters listed below. Once you altera parameter, it will retain its newvalue until you change it again orturn off the computer. The WRITE DOScommand in the Disk Utility Packagewill save the new values on the disk. Parameter (Current Value 1-1< FROM ANTIC - THE ATARI RESOURCE This program will load theRS-232-C handler into the computer.The RS-232-C handler must be loadedbefore you can use the RS-232-Cmodule. Press RETURN to load the RS-232-Chandler, or press BREAK to exit. The RS-232-C module does notrespond. Press RETURN to try again,or` press BREAK to exit.` L The RS-232-C handler has beensuccessfully loaded. Press BREAK toexit.TA1;FILE QDOSEQU;9/15/83;COPYRIGHT 1983 ATARI,INC.5 ;;This file contains equates for the;fixed memory locations in QDOS.;;ǛDOSORG EQU $701 ;FMS originLOADER EQU $70A ;Binary loaderKERNEL EQU $70D ;Kernel binary loaderBUFMAX EQU $710 ;# of sector buffersBUFSIZ EQU $711 ;Size of buffersAUTSPC EQU $712 ;Disk config filespecDUPSPC EQU $722 ;CP filespecDUPLO EQU $732 ;Kernel low addressDUPHI EQU $734 ;Kernel high addressDUPFLG EQU $736 ;Overwrite flagBLDFLG EQU $737 ;Bin load error statDUPRES EQU $738 ;Reserved for CPWRCOMD EQU $73A ;SIO data write cmdRDCOMD EQU $73B ;SIO read cmdDWCOMD EQU $73C ;SIO map write cmdSTCOMD EQU $73D ;SIO status cmdSDTYPE EQU $73E ;Shadow for DTYPE+1DTYPE EQU $73F ;Drive # indirectionMAPOFF EQU $748 ;Drive densityCONTYP EQU $751 ;Drive configurationDENSTY EQU $751 ;Flags & type codeSCPERB EQU $752 ;# sectors per blockVTCSEC EQU $G753 ;VTOC sectorFSTSEC EQU $755 ;First sectorLOBLK EQU $757 ;First blockHIBLK EQU $758 ;Last blockDIRBLK EQU $759 ;Directory blockDIRSEC EQU $75A ;# sectors in direct.DIRCNT EQU $75B ;# blocks in direct.DSPERB EQU $75C ;# logical sec/blockFMCOMD EQU $75D ;SIO format cmdMODEID EQU $75E ;Disk mode ID codeDRVRES EQU $75F ;ReservedUNIT EQU $760 ;Unit #, PIO bypassRRVECT EQU $7D1 ;SIO/PIO interceptionCRTENV EQU $7D4 ;Cart. environ. flagCTBOOT EQU $7D5 ;Boot to cart. flagREQEOL EQU $7D6 ;Filespec rule relax.BUFFER EQU $17FC ;Sector buffersDUPORG EQU $1BFC ;CP originVMENU EQU $1BFC ;CP run vectorVMENLO EQU $1BFE ;CP run low addressVMENHI EQU $1C00 ;CP run high addressUTLORG EQU $20FC ;DUP originUTLTOP EQU $2103 ;Ptr. to top of DUPMODNUM EQU $2105 ;# of drive modesMDLNUM EQU $2106 ;# of drive modelsMODTAB EQU $2107 ;Drive mode tableMDLTAB EQU $2137 ;Drive modelG tableAUTOSP EQU $2147 ;Autorun filespec06 ;# of drive modelsMODTAB EQU $2107 ;Drive mode tableMDLTAB EQU $2137 ;Drive modelj  w6DM1Disk Operating System 4.0On-Line Help SystemCopyright 1984 ATARI,INC.n From ANTIC - The Atari ResourceA. How to use the help systemB. General informationC. Disk drive numbersD. File specifications and wildcardsE. The DOS 4 File Management SystemF. The DOS 4 Command ProcessorG. The DOS 4 Disk Utility PackageH. Advanced informationI. Input/Output error codesJ. Configuring DOS 4 to your systemÁHOW TO USE THE HELP SYSTEMThe information in the help systemis organized into "screens".To movefrom screen to screen, you press thespace bar, the letter keys A-Z, theRETURN key, and the ESC key.Most screens contain text for youto read.Press the space bar to movefrom one text screen to the next.When you reach the last text screen ina sequence, press the space bar toreturn to the previous menu.Some screens contain menus oGftopics.To select a topic, press oneone of the letter keys A-Z.At any time, you may:- Press the RETURN key to go back to ǁthe previous menu.- Press the ESC key to go back to themain menu.- Press the BREAK key to exit from thehelp system and return to DOS.GENERAL INFORMATION ON DOS 4The DOS 4 Disk Operating System isa program which controls disk driveson Atari computers.DOS 4 can beconfigured to run a variety ofdifferent disk drives, single-densityor double-density, and single-sided ordouble-sided.DOS 4 consists of three separateparts:1. The File Management System (FMS)2. The Command Processor (CP)3. The Disk Utility Package (DUP)The FMS remains in computer memoryall the time, while the CP and DUPremain on the disk and are loaded intomemory only when needed.ށThe File Management System main-tains the file structure on the disk.It performs disk input/output (I/O)commands like OPEN, CLOSE, INPUT, andPRINT.The DOS 4 FMS supports all thecommands accepted by Atari DOS 2.0.Virtually all software written forDOS 2.0 or DOS 3 will also work onDOS 4.The Command Processor displays amenu of all the programs on a disk andruns any of them with a single key-stroke.The CP also lets you examinethe disk directory (a list of all thefiles on the disk) or run the car-tridge (if a cartridge is installed).The Disk Utility Package performs awide variety of manipulations on diskfiles, such as copying, locking andunlocking, renaming, and deleting.Among the most useful commands in theDUP are those which copy files fromone disk to another or duplicate anentire disk even if you have only onedisk drive. "DISK DRIVE NUMBERSThere are three different types ofdisk drive numbers:1. Physical drive numbers2. Logical drive numbers3. Unit numbersPhysical drive numbers correspondto the actual pieces of hardware.They range from 1 to 8.Physical drive numbers are assignedfirst to disk drives on the parallelbus and second to disk drives on theserial bus.ǃFor example, if you havetwo parallel bus drives and threeserial bus drives then the parallelbus drives are 1 and 2 and the serialbus drives are 3, 4, and 5.7Logical drive numbers are numberswhich appear in the names of diskfiles.There are tenG different logic-al drive numbers, ranging from D0: toD9:.Any time the computer asks youto specify a disk drive, give thelogical number of the drive.Normally, logical drive numbers D1:through D8: refer to physical drives1 through 8 respectively, while logic-al drive numbers D0: and D9: are notsupported.You can change the assign-ment of logical drive numbers tophysical drive numbers by using theREDIRECT utility program.Unit numbers are numbers that thecomputer uses to communicate with diskdrives.They range from P1 to P8 fordrives on the parallel bus, and fromS1 to S8 for drives on the serial bus.On each bus, unit numbers areassigned beginning with 1.For exam-ple, if you have two parallel busdrives and three serial bus drives,the parallel bus drives are units P1and P2, and the serial bus drives areunits S1, S2, and S3.Most serial bus drives have switch-es you must set to indicate the unitnumber.Parallel bus drives determinetheir own unit numbers automatically.FILE SPECIFICATIONS AND WILDCARDSThe data on a disk is organizedinto files.Each file has a name.To access a disk file, you must giveits name so that DOS 4 will know whichfile you are referring to.The name of a disk file is alwaysin the form of a file specification(or "filespec" for short).A filespecconsists of three parts:1. A device specification2. A primary file name3. An optional extenderThe device specification indicateson which disk drive the file is locat-ed.It consists of the uppercase let-ter "D", followed by a digit (0-9),followed by a colon.Normally, devicespecifications "D1:" through "D8:"refer to disk drives 1 through 8,while "D0:" and "D9:" are not support-ed.The digit in the device specifi-cation is optional; if it is omitted(as in "D:") then 1 is assumed.The primary file name consists ofone to eight characters. Each char-acter must be either an uppercaseletter (A-Z), a lowercase letter(a-z), or a digit (0-9).The firstcharacter must be a letter.Lowercaseletters are automatically converted touppercase by DOS 4.The extender, which is optional,consists of a period followed by zeroto three characters. Each charactermust be either a letter or a digit;lowercase letters are automaticallyconvertGed to uppercase.Examples of valid filespecs are"D:MYPROG.BAS", "D:Chapter4.Txt","D2:paper.7", and "D1:r1245".WILDCARDS/DŽThere are two wildcard characterswhich may be used within file names(both the primary and the extender):the question mark "?" and the star"*".The question mark "?" matches anycharacter (including a blank).Forexample, "D:WH?" matches "D:WHO" and"D:WHY" and "D:WH", but not "D:WHEN".The star "*" is equivalent to pad-ding the rest of the field (primary orextender) with question marks.Forexample, "D:WH*" will match "D:WHO"and "D:WHEN" but not "D:WAVE".Thefilespec "D:*.BAS" will match all filenames with extender ".BAS", and"D:*.*" will match anything.If a wildcard is used in a filespecin an OPEN or STATUS command, thefirst file in the disk directory whichmatches the filespec is used.In aRENAME, DELETE, LOCK, or UNLOCK com-mand, the indicated operation is doneon all files that match.>/R24648 :];f<e=7?JAXBځTHE DOS 4 FILE MANAGEMENT SYSTEMA. Input/output control blocks (IOCBs)B. The OPEN commandC. The CLOSE commandD. The GET and INPUT commandsE. The PUT and PRINT commandsF. The STATUS commandG. The RENAME commandH. The DELETE commandI. The LOCK commandJ. The UNLOCK commandK. The POINT commandL. The NOTE commandM. The FORMAT commandN. AUTORUN.SYS filesAn input/output control block(IOCB) is a block of memory used tocontrol an input/output operation.Every I/O operation in progress musthave an IOCB associated with it.DŽThere are eight IOCBs, numbered 0through 7.Atari BASIC uses IOCB 0,so in BASIC programs you may use onlyIOCBs 1 through 7.In assembly lan-guage programs, you may use all eightIOCBs.#$')a*,ՄThe OPEN command establishes a lineof communication to a disk file.Youmust OPEN a disk file before you canread data from it or write data to it.In BASIC, the command takes the formOPEN #iocb,aux1,aux2,filespecHere "iocb" is a number from 1 to 7which indicates the IOCB to be usedfor this file, and "filespec" is astring which contains the file speci-fication."Aux1" is a code number with thefollowing meanings.Select thedesired topic for further information:A. 4 = INPUTE.9 = APPENDB. 5 = BAD FILE INPUTF. 12 = UPDATEC. 6 = DIRGECTORY READG. 14 = VERIFYD. 8 = OUTPUTThe OPEN INPUT command takes theformOPEN #iocb,4,0,filespecThis command estabAlishes a line ofcommunication to the specified file(which must already exist) and allowsyou to read data from the file, be-ginning with the first byte of thefile.A file open for input may beaccessed with the GET, INPUT, NOTE,and POINT commands."QThe OPEN BAD FILE INPUT commandtakes the formOPEN #iocb,5,fill,filespecwhere "fill" is the numerical code ofa character to be used to fill in badsectors of the file.OPEN BAD FILE INPUT is the same asOPEN INPUT except that handling oferrors is different.If a bad sectoris encountered while reading a fileopen for input then DOS 4 issues anerror message and freezes the file.If a bad sector is encountered whilereading a file open for bad file inputthen DOS 4 replaces it with a sectorof fill characters, does not issue anerror message, and continues readingthe file.The OPEN BAD FILE INPUT command en-ables you to recover all the readableportions of a file which contains badsectors.A file open for bad file input maybe accessed by the GET, INPUT, andNOTE commands.$The OPEN DIRECTORY READ commandtakes the formOPEN #iocb,6,0,filespecThis command allows you to read thedisk directory using the INPUT and GETcommands.For each directory entrywhich matches the given filespec,DOS 4 returns an eighteen-characterrecord of the following form:1. A star if the file is locked, or ablank if the file is not locked.2. A blank.3. Eight characters giving the primaryfile name, left justified andpadded with blanks.&|4. Three characters giving the extend-er, left justified and padded withblanks.5. A blank.6. Three digits giving the number ofsectors allocated to the file.7. A carriage return.Following the last such record,DOS 4 sends this 17-character record:1. Three digits giving the number offree sectors on the disk.2. The phrase " FREE SECTORS".3. A carriage return.If the disk has more than 999sectors, then the numbers appearing inthe directory are a fraction of thetrue sector counts.For Atari 1050drives in dual-density mode and forPercom-compatible drives in double-sided double-density mode, the numbersin theG directory are half the truesector counts.The OPEN OUTPUT command takes theformOPEN #iocb,8,0,filespecThis command eSstablishes a line ofcommunication to the specified fileand allows you to write data to thefile, beginning with the first byte ofthe file.If the file does not al-ready exist then it is created; if thefile does exist then it is erased(provided that it is not locked).A file open for output may beaccessed by the PUT, PRINT, and NOTEcommands.The OPEN APPEND command takes theformOPEN #iocb,9,0,filespecThis command establishes a line ofcommunication to the specified file(which must already exist and beunlocked) and allows you to write datato the file.Data written to the fileis added on to the end of the file.ǁA file open for append may beaccessed by the PUT, PRINT, and NOTEcommands.The OPEN UPDATE command takes theformOPEN #iocb,12,0,filespecThis command establishes a line ofcommunication to the specified file(which must already exist and beunlocked) and allows you to both readdata from the file and write data tothe file, beginning with the firstbyte of the file.Data written to thefile overwrites the previous contentsof the file.A file open for updatemay not be extended.A file open for update may be ac-cessed by the GET, INPUT, PUT, PRINT,POINT, and NOTE commands.The OPEN VERIFY command takes theform @zQDOS )SYS@ CONFIG SYS@dQDUP- SYS@ &DISKUTILCOM@QHELP COM@=GOBASIC COM@e"READDOS2COM@u$READDOS3COMC<@m'REDIRECTCOM@z)SETPARAMCOM@.RS232C COM@)0QDOSEQU@ P@GK3QHELP DAThR|  !#%&(*+,-/12456789:;<=>?@ADEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{}~OPEN #iocb,14,0,filespecThis command establishes a line ofcommunication to the specified file(which must already exist) and allowsyou to both read data from the fileand write data to the file, beginningwith the first byte of the file.However, data written to the file isnot sent to the disk.Instead, DOS 4reads from the disk the data alreadyin the file and compares it to thedata you write; if the two do notagree, DOS 4 returns ERROR 174.Thecontents of the file is unchanged.A file open for verify may be ac-cessed by the GET, INPUT, PUT, PRINT,POINT, and NOTE commands.1dThe CLOSE command takes the formCLOSE #iocbThis command causes DOS 4 to writeout to the file any data stored in itsinternal buffers, update the disk dir-ectory, release all internal resourcesused to support the file, and free theIOCB.A file opened for output will notappear in the directory until it hasbeen closed.Failure to close a fileopened for output causes all datawritten to the file to be lost (how-ever, sectors allocated to the fileare not lost; they remain availablefor use by other files).If a file opened for append is notclosed, the appended data is lost.The original contents of the fileremains intact.If a file opened for update is notclosed, one sector of data may belost.Failure to close a file opened forinput, bad file input, or verify willnot cause any harm.The GET command reads one byte fromthe disk file.In BASIC, this commandtakes the formGET #iocb,varwhich places into the arithmetic var-iable "var" the numerical value of thebyte.The INPUT command reads one or morerecords from thGe disk file.It takesthe formINPUT #iocb,var_1,...,var_nwhere each "var" is either an arith-metic variable or a string vawriable.The PUT command writes one byte ofdata to the disk file.In BASIC ittakes the formPUT #iocb,expwhere "exp" is an arithmetic expres-sion which gives the numerical valueof the byte to be written.The PRINT command writes a recordto the disk file.It takes the formPRINT #iocb;exp_1;...;exp_nwhere each "exp" is either an arith-metic or a string expression.After"exp_1" through "exp_n" are written,a carriage return (which indicatesend-of-record) is written; the car-riage return can be suppressed byplacing a semicolon after exp_n.The STATUS command takes two dif-ferent forms.Which form you usedepends on whether the file whosestatus you want to check is open orclosed.If the file is open, use the formSTATUS #iocb,varThis stores a status code into thearithmetic variable "var".If thefile has been frozen due to an error,"var" contains the error code. If thefile has not been frozen, "var" con-tains the value 1.If the file is closed, use the formXIO 13,#iocb,0,0,filespecIn BASIC, the RENAME command takesthe formXIO 32,#iocb,0,0,filespecThis command changes the name of adisk file.In the RENAME command, thefilespec has a special form: a devicespecification, followed by the oldfilename and extender, followed by acomma, followed by the new filenameand extender.For example, use"D:BLUE.BAS,GREEN.BAS" to change thename of file BLUE.BAS to GREEN.BAS.If wildcards are used in the file-spec, all files which match the file-spec are renamed.When you use the RENAME command, becareful not to create two or more diskfiles with the same name.In BASIC, the DELETE command takesthe formXIO 33,#iocb,0,0,filespecThe DELETE command deletes a diskfile.Once a file is deleted, thereis no way to get it back.If wildcards are used in the file-spec, all files which match the file-spec are deleted.In BASIC, the LOCK command takesthe formXIO 35,#iocb,0,0,filespecThe LOCK command locks a disk file.Alocked disk file cannot be overwrittenor deleted.If wildcards are used in the file-spec, all files which match the file-spec are locked.In BASIC, the UNLOCK comGmand takesthe formXIO 36,#iocb,0,0,filespecThe UNLOCK command unlocks a diskfile.If wildcards are used in the file-spec, all files which match the file-spec are unlocked.The POINT command allows you toperform random access by skipping fromǁplace to place within a file withoutreading all the data in between.In Atari BASIC, the POINT commandshould be given as the followingthree-line sequence:Q=INT(P/256)R=P-Q*256POINT #iocb,Q,RThis tells DOS 4 that the next byteto be read or written is the byte inposition P.If P was 0, the next byteread or written will be the first byteof the file; if P was 1, the next byteread or written will be the secondbyte of the file; and so on.The NOTE command tells the positionwithin the file of the next byte to beread or written.In Atari BASIC, the NOTE commandshould be given as the following two-line sequence:ǁNOTE #iocb,Q,RP=Q*256+RThis gives the variable P a valueequal to the position within the fileof the next byte to be read or writ-ten.If the next byte to be read orwritten is the first byte of the file,P is given the value 0; if the nextbyte to be read or written is thesecond byte of the file, P is giventhe value 1; and so on.In BASIC, the FORMAT command takesthe formXIO 254,#iocb,0,0,devspecwhere "devspec" is a device specifica-tion ("D0:" through "D9:").The FORMAT command prepares a blankdisk to receive data.A new disk mustbe formatted before it can be used tostore disk files.Warning: Formatting a disk erasesall the files on the disk, regardlessof whether or not they are locked!!!When the computer is turned on, theǁDOS 4 File Management System automati-cally loads in from the disk.Once itis loaded, it runs the program infile CONFIG.SYS.ǃCONFIG.SYS config-ures all the disk drives and thenchecks disk drive #1 to see if thereis a file named D1:AUTORUN.SYS.Ifso, then the program contained inAUTORUN.SYS is automatically loadedand run.The contents of the AUTORUN.SYSfile must be a machine-language pro-gram in the standard binary load for-mat.FIKTHE DOS 4 COMMAND PROCESSORThe DOS 4 Command Processor is anon-resident program from which youselect a program to run, run a car-tridge, or examine the disk directory.For iGnformation, select one of thefollowing:A. Loading the Command ProcessorB. The Command Processor menuC. Making a menu selectionGǁIf there is no cartridge installed,the Command Processor loads automati-cally when the computer is turned on.From within BASIC, you load theCommand Processor by typing DOS.Thiserases any BASIC program in memory, sobe sure to save your program to diskbefore typing DOS.To load the Command Processor fromwithin other software, give thecommand equivalent to the BASIC "DOS"command, usually something like "EXIT"or "RETURN TO DOS".Before you load the Command Proces-sor, insert a disk that contains theCommand Processor program into diskdrive #1 (if using the disk drivenumber redirection feature of DOS 4then the CP program must go intological drive #1, not physical drive#1).If you attempt to load the CommandProcessor without first inserting sucha disk, the computer will "freeze".If this happens, press BREAK andanother attempt will be made to loadthEe Command Processor.The CP menu is constructed by read-ing the directory of disk drive #1 andlisting all files whose names end inthe extender ".COM".(If disk drivenumber redirection is being used, theCP reads the directory of logicaldrive #1, not physical drive #1.)Amaximum of sixteen such files can belisted.After all ".COM" files are listed,the CP lists the RUN CARTRIDGE andDISK DIRECTORY items and prompts youto make a selection.You can add new items to the CPmenu by creating disk files whosenames end in ".COM".Each such filemust be a machine-language program instandard binary load format.To select an item from the CP menu,press the appropriate key:- A letter key from A to P runs theprogram listed on the menu next tothat letter.- The Z key runs the cartridge in-stalled in the computer.- A digit key from 0 to 9 displays thedirectory of the corresponding diskdrive.- The RETURN key reconstructs the CPmenu.A menu selection can be made whilethe CP is loading.VVdVZM\!]^\^bcvm=oAp$|pROP|QÈcTHE DOS 4 DISK UTILITY PACKAGECommands selected using letter keys: A. Com ProcessorI. Format Data Disk B. Run CartridgeJ. Duplicate Disk C. Copy FileK. Binary Save D. Delete FileL. Binary Load E. Rename FileM. Run At Address F. Lock FileN. Configure Drive G. Unlock FileO. Duplicate File H. Write DOSP. Merge DCFQ. Identify ModeOther commands and information: R. The Directory commands (0-9) S. Loading the Disk Utility Package T. How to make a menu selection U. How to respond to prompts V. How to make bootable disksThe Disk Utility Package is loadedfrom the DOS 4 Command Processor menu.Press the letter key listed next to"DISKUTIL" (this is usually A).To make a menu selection, type oneof the letters A-Q or one of thedigits 0-9, and then press RETURN.Note that only uppercase letters arerecognized as valid selections.Menu selections can be made when-ever the prompt "SELECT ITEM OR ΁FOR MENU" appears.Press RETURN tore-display the Disk Utility Packagemenu.Most commands require some addi-tional information, such Gas the nameof a file.The DUP requests theinformation necessary.You may givethe name of a file with or without adevice specification.Device "D1:" isassumed if the device specification isomitted.TfTo select the DIRECTORY command,press the digit key 0-9 correspondingto the number of the drive whosedirectory you want to examine.DUP responds by asking for a searchspecification.Press RETURN to listall the files on the selected diskdrive.Alternatively, enter a searchspecification (do not include a devicespecification) and only files whosenames match the search specificationare listed.If the disk has more than 999sectors, then the numbers appearing inthe directory are a fraction of thetrue sector counts.For Atari 1050drives in dual-density mode and forPercom-compatible drives in double-sided double-density mode, the numbersin the directory are half the truesector counts.The directory is always displayedon the screen.There is no provisionfor sending the directory to a diskfile or printer.The A. COM PROCESSOR command re-turns you to the DOS 4 Command Proces-sor.The B. RUN CARTRIDGE command runsthe cartridge installed in the com-puter.XՁThe C. COPY FILE command copies thecontents of one file into anotherfile.The DUP asks for the sourcefile and the destination file.Typethe name of the source file, followedby a comma, followed by the name ofthe destination file.Add "/A" at theend of the name of the destinationfile to append the contents of thesource file onto the end of the des-tination file.Wildcards may be used in the filenames, but only the first file match-ing the filespec is copied.To copyseveral files at once, use theDUPLICATE FILE command.Specify "P:" as the destinationfile to have the source file printedby the printer.Specify "E:" as thedestination file to have the sourcefile displayed on the screen.Specify "E:" as the source file totype in a file.You may use thecursor control keys normally whiledoing so; data is entered only whenyou press RETURN.Press CTRL 3 whenyou have finished typing.The D. DELETE FILE command deletesa disk file.ǁIf wildcards are used in the filename, all files matching the filespecare deleted.Before deleting a file,the DUP asks for Gpermission.Type "Y"if you want to delete the file, or "N"if you don't want to delete the file.If you add "/N" at the end of thefile name, the DUP automatically de-letes all matching files without ask-ing permission.Once a file has been deleted, thereis no way to get it back.The E. RENAME FILE command changesthe name of a disk file.The DUP asks for the old and newnames.Type the current name of thefile, followed by a comma, followed bythe desired new name.You can includea device specification in the currentname, but not in the new name.If wildcards are used in the filename, all files whose names match thefilespec are renamed.The F. LOCK FILE command locks adisk file.A locked disk file cannotbe overwritten or deleted.If wildcards are used in the filename, all files whose names match thefilespec are locked.The G. UNLOCK FILE command unlocksa disk file.If wildcards are used in the filename, all files whose names match thefilespec are unlocked.`いThe H. WRITE DOS command writes thethree disk files which make up DOS 4 -QDOS.SYS (containing the File Manage-ment System), QDUP.SYS (containing theCommand Processor), and DISKUTIL.COM(containing the Disk Utility Package).This command also writes a filecalled CONFIG.SYS which automaticallyconfigures all the disk drives whenyou turn on the computer.On disk drives which require aninvisible boot file, this commandwrites the boot file so that the re-sulting disk is bootable.In order for a DOS 4 diskette to bebootable, it is necessary that thefile manager (QDOS.SYS) be the firstfile written onto the diskette.Thismeans that the best time to give theWRITE DOS command is immediately afterthe diskette has been formatted.Note that if you WRITE DOS to adrive other than drive #1, the config-uration of the drive to which youwrite DOS must be the same as theconfiguration of drive #1.The I. FORMAT DATA DISK commandformats a blank disk.You must formata disk before you can use it to storedisk files.Warning: Formatting a disk erasesall the files on the disk, regardlessof whether or not they are locked!!!eꁄThe J. DUPLICATE DISK command makesa copy of an entire disk.It workswith one or more disk drives.Thecommand can be used to copyG the entirecontents of a disk from one kind ofdisk drive to another (say, from asingle-density drive to a double-density drive or vice versa, or from adrive made by one manufacturer to adrive made by a different manufac-turer).The DUP asks for the numbers of thesource drive and of the destinationdrive (which default to "1,1" if youpress RETURN).If you specify twodifferent drives, the DUP asks you toinsert both disks and then the dupli-cate disk operation will proceed.hOIf you specify the same drive asboth source and destination, the DUPinforms you that swapping is requiredand asks how many copies you want toǁmake.Respond with a number from 1 to99.(The number defaults to 1 if youpress RETURN.)When you specify the number ofcopies, you may place the option "/R"after the number (for example, you maytype "3/R").The /R option specifiesthat the drive is to be reconfiguredeach time disks are swapped.Thismakes it possible to move files be-tween disks of different types (e.g.,between single- and double-densitydisks) even if you have only one diskdrive.jƁIf you choose the /R option, theDUP asks you to specify the drive con-figuration to be used for the sourcedisk and the configuration to be usedfor the destination disk(s).Eachtime, DUP displays a menu of configur-ations to choose from.Next, the DUP asks you to insertthe source disk.When you have doneso, it reads in as much of the sourcedisk as will fit into memory and thenasks you insert the destination disk.ǁOnce you've done that, the data inmemory is written out.If you requested more than onecopy, the DUP asks you to insert theǁsecond destination disk and again thedata in memory is written out.The DUP continues to ask for des-tination disks until it has writtenonto each of them.At this point, ifthe entire contents of the source diskhas been written then the operationends.If not, the DUP asks you to re-insert the source disk, and the abovesteps are repeated until the entirecontents of the source disk has beenwritten onto each destination disk.Whenever the destination drive of aDUPLICATE DISK command requires anǁinvisible boot file, the DUP writesthe boot file onto the destinationdisk(s).Thus, if you use DUPLICATEDISK to duplicate a Gbootable disk, theresulting duplicates are also boot-able.The K. BINARY SAVE command savesa block of memory into a disk file inthe standard binary load format.Touse this command, give the name of thefile and the addresses of the firstand last bytes of the block of memoryto be saved.The addresses must bein hexadecimal.In addition, you may specify theaddress at which the program is to berun and the address of an initializa-tion routine in the program.If you place "/A" at the end of theǁfile name, the saved data is appendedonto the end of the file.The L. BINARY LOAD command loads adisk file into memory and runs it.The file must be in the standard bi-nary load format.If you place "/N" at the end of thefile name, the file is loaded and ini-tialized but not run.The M. RUN AT ADDRESS command runsa program beginning at an address youspecify.The address must be given inhexadecimal.sThe O. DUPLICATE FILE commandcopies one or more files from one diskto another.It works with one or moredisk drives.The command can be usedto copy files from one kind of diskdrive to another (say, from a single-density drive to a double-densitydrive or vice versa, or from a drivemade by one manufacturer to a drivemade by a different manufacturer).When you select this item, the DUPasks for the numbers of the sourcedrive and of the destination drive(which default to "1,1" if you pressRETURN).What happens next depends onwhether or not you specify the samedrive as both source and destination.uIf you specify two different drivesthen the DUP asks you for the names ofthe files to be duplicated.Respondby entering the names of one or moredisk files, separated by commas (donot include device specifications).If wildcards are used in the filenames, all files which match the givenfilespecs are copied.There is, how-ever, one exception to the wildcardrules: an extender which contains awildcard will not match an extender of".SYS" or ".COM".For example, "*.*"refers to all files except thoseending in ".SYS" or ".COM", while"*.COM" refers to all files whosenames end in ".COM".When you have done this, the dupli-cate operation will proceed.xIf you specify the same drive asboth source and destination, the DUPiGnforms you that swapping is requiredand asks how many copies you want tomake.Respond with a number from 1 to99.(The number defaults to 1 if youpress RETURN.)When you specify the number ofcopies, you may place the option "/R"after the number (for example, you maytype "3/R").The /R option specifiesthat the drive is to be reconfiguredeach time disks are swapped.Thismakes it possible to move files be-tween disks of different types (e.g.,between single- and double-densitydisks) even if you have only one diskdrive.zIf you choose the /R option, theDUP asks you to specify the drive con-figuration to be used for the sourcedisk and the configuration to be usedfor the destination disk(s).Eachtime, DUP displays a menu of configur-ations to choose from.Next, the DUP asks for the names ofthe files to be copied.Respond byentering one or more file names,separated by commas, as previouslydescribed.The DUP then asks you to insert thesource disk.When you have done so,it reads in as many of the specifiedsource files as will fit into memoryand then asks you insert the desti-nation disk.Once you've done that,the data in memory is written out.If you requested more than onecopy, the DUP asks you to insert thesecond destination disk and again thedata in memory is written out.The DUP continues to ask for des-tination disks until it has writtenonto each of them.At this point, ifall of the specified source disk fileshave been written then the operationends.If not, the DUP asks you to re-insert the source disk, and the abovesteps are repeated until all of thespecified files have been written ontoeach destination disk.~wThe N. CONFIGURE DRIVE command doestwo things: it tells DOS 4 what kindof disk drive is in your system, andit tells the disk drive how it shouldconfigure itself (e.g., single-densitymode or double-density mode).When you select this item, the DUPasks you which drive you want to con-figure.Respond by typing a numberfrom 0 to 9 (if you are using the diskdrive number redirection feature ofDOS 4, this is a logical drive number,not a physical drive number).After you have specified the drivenumber, the DUP displays a menu ofdisk drive configurations, with a starplaced next to the driGve's currentconfiguration (actually, the star in-dicates what DOS 4 thinks the currentconfiguration is; the DUP does notinterrogate the drive to find out whatits actual configuration is).Respondby typing the letter listed next tothe configuration that you want thedrive to become.If you press RETURNwithout typing a letter, the DUPassumes that you want the drive toremain in its current configuration.For an Atari 810 disk drive, youmust select configuration A.For an Atari 1050-compatible drive,you may select either configuration Afor single-density operation, or con-figuration B for dual-density oper-ation.For a Percom-compatible drive, youmay select configuration C for single-sided single-density operation, orconfiguration D for single-sideddouble-density oparation.If thedrive is double-sided, you may alsoselect configuration E for double-sided double-density operation.Note that configurations A and Care not the same.You must select thecorrect one for your drive.The P. MERGE DCF command adds newdisk drives to the menu of disk driveconfigurations.This menu is used bythe CONFIGURE DRIVE, IDENTIFY MODE,DUPLICATE DISK, and DUPLICATE FILEcommands.When you select the MERGE DCF com-mand, the DUP asks for the name of a"Disk Configuration File" (DCF).Typethe name of the DCF for the disk drivemodel that you want to add to themenu.After you have merged a DCFinto the DUP, use the WRITE DOS com-mand to write out the new DUP.The Q. IDENTIFY MODE command tellsyou the mode in which a disk was for-matted (e.g., it tells you whether adisk was formatted in single-densitymode or in double-density mode).When you select this item, the DUPasks you which disk drive contains thedisk.Respond by typing a number from0 to 9 (if you are using the diskdrive number redirection feature ofDOS 4, this is a logical drive number,not a physical drive number).After you have specified the drivenumber, the DUP attempts to identifythe mode in which the disk was for-matted.If the DUP successfully identifiesthe mode, it configures the drive intothe correct mode and displays the menuof disk drive configurations with astar placed next to the correct mode.If the DUP is unsuccessful in iden-tifying the mode, it lGeaves the diskdrive configuration unchanged and dis-plays the message "UNABLE TO IDENTIFYMODE".A disk is "bootable" if you  canload in DOS 4 from it when the com-puter is turned on.In order to usethe disk drives, you must place abootable disk in drive #1 before turn-ing on the computer.In order for a disk to be bootable,QDOS.SYS must be the first file writ-ten onto it.Also, the disk driveconfiguration program CONFIG.SYS mustbe on the disk.In addition, some disk drivesrequire that a special "boot file" bepresent on the disk.The boot file isnot listed in the directory and isinvisible to DOS 4.The DUP automati-cally writes the boot file on thedestination disk whenever you selectthe WRITE DOS command or the DUPLICATEDISK command. FAØ"J,ADVANCED INFORMATIONA. IntroductionB. Disk drive number indirectionC. Buffer allocationD. The resident binary loaderE. The standard binary file formatF. Command Processor filenameG. Environment controlH. SIO/PIO commands and interceptionI. Relaxation of filespec rulesJ. Memory mapINTRODUCTIONThe advanced information providedby the help system describes some ofthe fixed memory locations withinDOS 4 and gives a DOS 4 memory map.This information makes it possiblefor you to redirect the disk drivenumbers D0: through D9: to whicheverdrives you choose, to control theallocation of sector buffers, and touse the resident binary loader.WARNING: Use extreme caution if youmodify any of the memory locationswithin DOS 4, because a mistake mightdestroy your disk files.DISK DRIVE NUMBER INDIRECTIONDOS 4 has the ability to support upto eight physical drives and up to tenlogical drives.The physical drivesare the actual pieces of hardware, andare numbered from 1 to 8.The logicaldrives are the drives referred to infile specifications, and are numberedfrom D0: to D9:.Whenever you give afile specification, DOS 4 must readthe logical drive number and decidewhich physical drive you are referringǁto.Normally, D1: through D8: refer tophysical drives 1 through 8 respec-tively, while D0: and D9: are notsupported.However, by modifyingcertain memory locations within DOS 4,you can make each logical drive referto whichever physical drive you wiGsh.Drive number indirection is con-trolled by DTYPE at [$73F,$A].Thefour low-order bits of memory locationDTYPE+n gives t2he physical drive num-ber to be associated with logicaldrive number Dn:.If the four low-order bits of DTYPE+n are zero thenlogical drive Dn: is not supported.You may change the contents ofDTYPE at any time, even if there areopen files to the drives in question.The physical drive associated with afile is determined when the OPENstatement is executed, so that chang-ing DTYPE will not cause an open fileto start reading from a differentdrive.To change DTYPE, use AND andOR operations to alter the four low-order bits without altering the fourhigh-order bits.IBUFFER ALLOCATIONBuffer allocation is controlled bythe contents of memory locationsBUFMAX at [$710,1] and BUFSIZ at[$711,1].BUFMAX contains the numberof sector buffers to be allocated;it must be between 2 and 16 (decimal)inclusive.If you want to have N openfiles on a system with D disk drivesthen the minimum number of buffersrequired is N+MIN(N,D).The standardnumber of buffers is 5.BUFSIZ determines the size of thebuffers.It must contain either 0(for 256-byte buffers) or $80 (for128-byte buffers).If you have anydouble-density drives (or single-den-sity drives with a two-sector VTOC),BUFSIZ must contain 0.The standard value of BUFSIZ is 0.It is recommended that you use a valueof 0 even if you have only single-den-sity drives.The contents of BUFMAX and BUFSIZmay be changed only when there are noopen disk files.The recommendedprocedure is:(a) close all disk files,(b) store new values into BUFMAXand/or BUFSIZ,(c) load the Disk Utility Package,(d) use the WRITE DOS command to writeout the new version of DOS 4, and(e) reboot the system.;THE RESIDENT BINARY LOADERThe resident File Management Systemcontains a program which loads andruns a machine-language program in thestandard binary load file format.Theloader has two entry points: LOADER at$70A and KERNEL at $70D.Use entry point LOADER if (a) youknow that the loaded program is notgoing to overwrite the calling pro-gram, or (b) you know that the loadedprogram is not going to return, or (c)you are chaining programs and theloaded program is the neGxt one in thechain.The calling sequence for LOADER is:eLDY #FILE&255 ;FILE contains theLDA #FILE/256 ;filespecLDX D#$FF ;Use #$FF to load and run,;#0 to load and not runJSR LOADERCPY #0 ;Error status returned in YBMI ERROR ;Branch if errorIf you are chaining programs, precedethe above code by two PLA instructionsand replace the JSR LOADER instructionwith JMP LOADER.Entry point KERNEL is used if theloaded program may overwrite the call-ing program and then return.Shouldthis happen, KERNEL will automaticallyload and run the Command Processorwhen the loaded program returns.The calling sequence for KERNEL isthe same as for LOADER, except thatbefore calling KERNEL you must storea value into DUPFLG at [$736,1] andoptionally into DUPLO at [$732,2] andDUPHI at [$734,2].Storing zero into DUPFLG forcesKERNEL to load the Command Processorwhen the loaded program returns.Storing any non-zero value intoDUPFLG makes KERNEL load the CP onlyif the calling program was overwrittenduring the load.In this case, thecalling program stores the address ofits first byte into DUPLO and theaddress of its last byte into DUPHI.If the calling program is not over-written during the load then KERNELwill return to the calling programinstead of loading the CP.If KERNEL decides that it must loadand run the Command Processor then,before it does so, it stores the errorstatus resulting from the binary loadinto BLDFLG at [$737,1].The CP willexamine BLDFLG and issue an errormessage if the contents of BLDFLG in-dicates that an error occurred duringthe binary load process.Note that both LOADER and KERNELuse IOCB #1 to perform the load.Therefore, before calling either ofthese routines, make sure that IOCB #1is closed.Lj THE STANDARD BINARY LOAD FILE FORMATDOS 4 uses the same format for bi-nary load files as Atari DOS 2.0 andDOS 3.A binary load file consists ofone or more "segments", each of whichgives the data to be loaded into acontiguous block of memory.A segmentconsists of three parts:1. A two-byte file type code, in whicheach byte contains $FF.This isrequired on the first segment inthe file, but optional on subse-quent segments.2. A four-byte header in which thefirst two bytes give the addreGsswhere the first byte of the datablock goes, and the last two bytesgive the address where the lastbyte of the data blocVk goes.3. A data block which contains one ormore bytes of data to be loadedinto memory.There are two memory locationswhich have special significance to theloader: INIVEC at [$2E2,2] and RUNVECat [$2E0,2].Every time the loaderfinishes loading a segment, it checksto see if a non-zero address was load-ed into INIVEC.If so, the loaderimmediately executes a subroutine call(JSR statement) to the address inINIVEC.When the program returns, theloader will continue the load.When the entire file has been load-ed, the loader checks to see if a non-zero address is in RUNVEC.If so, theloader executes a subroutine call (JSRstatement) to that address.COMMAND PROCESSOR FILENAMEDUPSPC at [$722,$10] contains thename of the file which contains theCommand Processor.This is normally"D1:QDUP.SYS".The filename must endwith a carriage return.If you wish to replace the CommandProcessor with a program of your own,place the name of the file containingyour program into DUPSPC.The programmust be in the standard binary loadfile format.The H. WRITE DOS commandcan be used to write out a version ofDOS 4 containE_ing the new value ofDUPSPC.Before it loads the CP, the resi-dent FMS closes all IOCB's.The FMSdoes not clear the screen, so if ascreen clear is desired then the CPmust do it.If the CP is going to use the resi-dent screen editor "E:", it shouldbegin with an initialization routinewhich:(a) sets the screen margins,(b) opens IOCB #0 to E:, and then(c) delays long enough to allowvertical blank to bring up thescreen.There are two entry points whichload the CP: indirectly through DOSVECat $0A, or directly through KERNEL at$70D.The CP can determine whichentry point was used by examiningBLDFLG at [$737,1].The contents ofBLDFLG is zero if entry DOSVEC wasused, and non-zero if entry KERNEL wasused.In the latter case, the con-ǁtents of BLDFLG is the error statuscode resulting from the binary loadprocess; a value greater than or equalto $80 indicates that an error occur-red.SIO/PIO COMMANDS AND INTERCEPTIONThe following locations contain thebus commands used by DOS 4 to communi-cate with the disk drives:stan- alter-dardnatesymbollocationcommand valuevalueWRCOMD[$73A,1]write$50$57RDCOMD[$73B,1]read$52-DWCOMD[$73C,1]write$57$50STCOMD[$73D,1]status$53-WRCOMD is the command used to writedata sectors, and DWCOMD is the com-mand used to write directory and VTOCsectors.Use $50 for fast write(write without verify) and $57 forslow write (write with verify).Memory location RRVECT at [$7D1,3]contains a JMP instruction.The FMSexecutes a subroutine call (JSR state-ment) to RRVECT immediately prior toeach call to SIO or PIO (the calltakes place after setting up the DCB).If you store an address into RRVECT+1and RRVECT+2, you can effectivelyintercept all calls to SIO or PIO.The intended use of RRVECT is toallow programs to remain responsive tothe user during long disk operations.The contents of RRVECT+1 andRRVECT+2 are initialized to point toan RTS during both coldstart and warm-start.If an RRVECT routine wishes to pre-vent the FMS from calling SIO or PIO,it can do so by pulling the returnaddress off the stack, adding 3, andthen pushinGg the result back on thestack.If this is done, the RRVECTroutine must store an error statuscode into DSTATS at [$303,1] and qintothe 6502 Y-register before it returns.DOS 4 MEMORY MAP$0A-$0BCP Load And Run Vector$0C-$0DFMS Init Vector$1A-ǃ$1BDUP Zero Page$43-$46FMS Zero Page $2E0- $2E1Binary Load Run Vector $2E2- $2E3Binary Load Init Vector $701-$17FBFile Management System$17FC-Sector Buffers$1BFC-$20FBCommand Processor$20FC-$4FFBDisk Utility PackageNote 1: DOS 4 assumes that the FMSZero Page is not altered in betweencalls to the FMS.Note 2: The actual top address of DUPvaries depending on the DCF's mergedinto it.The top of DUP will never behigher than $4FFB.ENVIRONMENT CONTROLCTBOOT at [$7D5,1] determinesǁwhether control goes to the CP or tothe cartridge when the computer isturned on.If CTBOOT is zero thencontrol goes to the CP.If CTBOOTis non-zero then control goes to thecartridge (provided that a cartridgeis installed).Built-in BASIC actsjust like a cartridge.CRTENV at [$7D4,1] determineswhether control goes to the CP or tothe cartridge when SYSTEM RESET ispressed: zero for the CP, non-zero forthe cartridge.Any program loadedfrom the CP that passes control to acartridge should store a non-zerovalue into CRTENV.RELAXATION OF FILESPEC RULESREQEOL at [$7D6,1] determines howstrictly the FMS enforces the rulesfor filespecs.A value of $FF means that the rulesare strictly enforced.In particular,each filespec must end with a carriagereturn.A value of $0B is the same as $FF,except that extra characters in theextender are ignored.A value of $00relaxes the rules, which means thatany invalid character is interpretedto mean end-of-filespec.The default value of REQEOL is $0B.Values other than $00, $0B, or $FF arenot allowed.lr>恌I/O ERROR CODESA. Errors 128 - 132B. Errors 133 - 137C. Errors 138 - 142D. Errors 143 - 146E. Errors 160 - 165F. Errors 166 - 173G. Errors 174 - 177r128 - BREAK ABORTYou pressed the BREAK key duringan I/O operation.This stops theoperation.129 - IOCB ALREADY OPENYou tried to give an OPEN commandto an IOCB which is already open.130 - NONEXISTENT DEVICEYou did not give a correct devicespecification (D0G: through D9:).131 - IOCB WRITE ONLYYou tried to do a GET or INPUTcommand to an IOCB which was openedfor output only.132 - INVALID COMMANDYou gave an I/O command which isnot recognized by the CentralInput/Output System (CIO).>133 - DEVICE OR FILE NOT OPENYou tried to GET, INPUT, PUT, orPRINT to an IOCB which is not open.134 - BAD IOCB NUMBERYou gave an invalid IOCB number.135 - IOCB READ ONLYYou tried to PUT or PRINT to anIOCB which was opened for inputonly.136 - END OF FILEYou tried to read or write past theend of the file.137 - TRUNCATED RECORDDuring an INPUT (or GET RECORD) op-eration, the input buffer filledbefore end-of-record was found.138 - DEVICE TIMEOUTThe device does not respond.Mayindicate a drive which is notturned on or not connected.Alsomay indicate an incorrect diskdrive configuration.139 - DEVICE DOES NOT ACKNOWLEDGEAn error in the serial I/O system.May indicate a malfunctioningpiece of hardware.Also may indi-cate an incorrect disk drive con-figuration.140 - SERIAL BUS INPUT FRAMING ERRORHardware malfunction.142 - SERIAL BUS OVERRUNǁHardware malfunction.143 - CHECKSUM ERRORSerial bus communications aregarbled.May indicate an incorrectdisk drive configuration.May alsoindicate a hardware malfunction.144 - DEVICE DONE ERRORYou attempted to write on a write-protected disk.Also may indicatethat the disk drive needs adjust-ment.Also may indicate an incor-rect disk drive configuration.ǁ146 - FUNCTION NOT IMPLEMENTEDYou gave DOS 4 an invalid command(for example, attempting to givea POINT command to a file openfor output).160 - DRIVE NUMBER ERRORYou specified a disk drive numberwhich is not supported.161 - TOO MANY OPEN FILESThere are no free sector buffersavailable.162 - DISK FULLThere are no more free sectors onthe disk.Use another disk.164 - DISK MAP ERRORThe control information on the diskis messed up.May indicate anincorrect configuration, or anDŽattempt to read a disk that waswritten by another DOS.165 - FILE NAME ERRORYou gave an invalid file name.166 - POINT DATA ERRORThe data you gave in a POINT state-ment is too big (i.e., you tried topoint past the end of the file).167 - FGILE LOCKEDYou tried to overwrite or delete afile which is currently locked.169 - DIRECTORY FULLYou tried to create a new file ona disk whose directory is alreadyfull.170 - FILE NOT FOUNDYou tried to access a disk filewhich does not exist.ǁ173 - BAD SECTORS AT FORMAT TIMEBad sectors were found on the diskwhile it was being formatted.174 - SOFTWARE VERIFY ERROROutput sent to a disk file which isopen for verify did not match thecontents of the file.175 - BAD LOAD FILEAn attempt was made to load a diskfile which is not in the standardbinary load format.176 - UNKNOWN DRIVE CONFIGURATIONThe Disk Utility Package encount-ered a disk drive configurationit does not understand.177 - UNABLE TO MERGEThe Disk Utility Package was unableto merge a Disk Configuration Filebecause the file is not in thecorrect format, or there is in-sufficient memory, or the diskdrive menu is already full.=CONFIGURING DOS 4 TO YOUR SYSTEMTo configure DOS 4 to your system,perform steps 1-8 below:1. Load in the Disk Utility Packageby selecting DISKUTIL on the DOS 4Command Processor menu.2. Select item N. CONFIGURE DRIVE.3. In response to the prompt "CONFIG-URE DRIVE - DRIVE NUMBER?", type"1" to indicate drive #1.4. A menu of disk drive configurationswill appear on the screen.Typea letter to select the type ofdrive you have installed as drive#1 and the density in which youwant to use it.p4a. For an Atari 810 (or equivalent)drive, you must select A.ǁ4b. For an Atari 1050-compatibledrive, you may select A forsingle-density operation, or B fordual-density operation.4c. For a Percom-compatible drive, youmay select C for single-sidedsingle-density operation, or D forsingle-sided double-density oper-ation.If the drive is double-sided, you may also select E fordouble-sided double-density oper-ation.5. If you have more than one diskdrive, use the N. CONFIGURE DRIVEcommand to configure each drive inyour system.6. Insert a blank diskette in drive#1 and use the I. FORMAT DATA DISKcommand to format it.7. Use the H. WRITE DOS command towrite out to drive #1 a version ofDOS 4 which is configured to yoursystem.8. Try to boot the system using thenew system disk youG just created.If it works, you're done.If not,then go back and try again.You now have a disk with a properlyconfigured version of DOS 4.It con-tains the files QDOS.SYS, QDUP.SYS,CONFIG.SYS, and DISKUTIL.COM.If youwant to copy the remaining DOS 4 filesonto your new diskette, perform steps9-17 below: 9. Load the Disk Utility Package andselect the O. DUPLICATE FILEcommand.10. When the prompt "DUP FILE -SOURCE_DRIVE,DEST_DRIVE" appears,press RETURN.11. When the prompt "SWAPPING REQUIRED- HOW MANY COPIES" appears, type"1/R" and press RETURN.12. The disk drive configuration menuwill appear.Select the single-sided single-density choice(A or C) for the drive you haveinstalled as drive #1.13. The configuration menu will appearagain.Press RETURN.(No choiceis necessary.)݁14. In response to the prompt "GIVENAME(S) OF FILE(S) TO MOVE", type"*.COM,*.*" and press RETURN.15. When "INSERT SOURCE DISK" appears,insert your original DOS 4 programdisk in drive #1 and press RETURN.16. When "INSERT DESTINATION DISK"appears, insert your new systemdisk in drive #1 and press RETURN.17. Repeat steps 15 and 16 until theDUPLICATE FILE operation isfinished.You now have a system disk whichcontains a version of DOS 4 that iscorrectly configured for your system,together with all the DOS 4 files.If you ever add a new disk drive toyour system, you will have to repeatsteps 1-8 above to create a version ofDOS 4 which is customized to your newsystem configuration.By this time,you will probably have lots of diskscontaining your old version of DOS 4;it is safe to use the H. WRGITE DOScommand to overwrite the old versionof DOS 4 with the new version.ur old version of DOS 4;it is safe to use the H. WREE