<-BAMDUA TK2!19200 $ZxCONFIG BAS~zw4DIAGNOSEASM DIAGNOSECOM.FORMAT QD } INIT COM|(NSWP COM\QFORMAT COM)SWAP COM]TERMINALDAT2=,-BAMDUA.TK2 Thi specia librar volum contain Georg Borys CONFIG patchin progra fo Morro computer tha allo yo t instal an combinatio o u t fou (4 singl o doubl side dis drive i doubl o qua density Als include o thi dis i INIT.CO an it dat fil TERMINAL.DA tha allow yo t instal you termina characteristic WITHOU usin specia utilit program Rea th TERMINAL.DA fil fo instruction o ho t ad you termina i i i no liste o th menu Here' th instruction o ho t us CONFIG writte b th author: CONFIG.BAS version 4.6 Copyright 1987 by George Borys, all rights reserved. CONFIG.BAS is a patching utility for manipulating the MD2/MD3 system image. All disk drive parameters may be individually adjusted, including the number of drives (1 to 4), number of sides (1 or 2), tracks per inch (48 or 96), motor on wait times (0 to 1020 mS), head settling times after seek (0 to 1020 mS), stepping rates (1 to 15 mS), head unload times (16 to 240 mS) and head load times (2 to 254 mS). Quad density drives will of course require a modified format program (like QFORMAT.COM) to take advantage of the 784K quad density format. To create a boot disk for a "special" drive (3.5 inch, quad density 5 inch, slow stepping standard drive, etc.), proceed as follows: 1. Temporarily configure your hardware with the "special" drive connected as drive C. 2. Format the special disk and copy the following programs to it: CONFIG.BAS MBASIC.COM SYSGEN.COM 3. Add a copy of the system image to the special disk: C: {press [RETURN] } SYSGEN {press [RETURN] } A {response to "SOURCE DRIVE" prompt} [RETURN] {response to "PRESS [RETURN]" prompt} [RETURN] {response to "DESTINATION" prompt} SAVE 46 SYSTEM.CPM {and press [RETURN], of course} 4. Invoke CONFIG.BAS by typing: MBASIC CONFIG {press [RETURN] } 5. Respond to the "FILESPEC" prompt with "SYSTEM.CPM". 6. Respond to the "PHYSICAL DRIVES" prompt with the number of drives that will appear in the final computer configuration. 7. For each drive in the ultimate hardware configuration, respond to the drive characteristics queries about single or double sided media, 48 or 96 tracks per inch, motor on wait time, head settling time after seek, stepping rate, head load time and head unload time. 8. Respond to the "UPDATE" prompt by pressing [RETURN]. 9. Install the updated system image on the special disk by typing: SYSGEN CPM64.COM {press [RETURN] } C {response to "DESTINATION" prompt} [RETURN] {response to "PRESS [RETURN]" prompt} 10. Reconfigure your hardware in its ultimate configuration with the "special" drive connected as drive A. Boot and run! If you find CONFIG valuable, please consider making a tax-deductable contribution to BAMDUA (Bay Area Micro Decision Users Association), the users group that inspired it all, at: BAMDUA P.O. Box 5152 Berkeley, CA 94705 Th followin file ar containe o thi disk: -BAMDUA.TK 6 [Yo ar readin i now] 19200 12K CONSTRUCTION ARTICLE: BAUD RATE DOUBLER FOR MD3 CONFIG.BA 16K CBOOT/CBIOS PATCHER (SAVED AS ASCII FILE) DIAGNOSE.ASM 2K SOURCE CODE FOR DIAGNOSE.COM: DIAGNOSE.COM 2K SOFTWARE EQUIVALENT OF MD3 DIAGNOSTIC JUMPER FORMAT.QD 16K A DISCUSSION OF MD2/MD3 DISKETTE FORMATS INIT.CO 6 INSTALLS NEW TERMINAL PARAMETERS NSWP.CO 12 HANDY LITTLE FILE TRANSFER UTILIT (Vers 2.07) QFORMAT.CO 4 REPLACES FORMAT.COM FOR SSDD,DSDD,SSQD,DSQD SWAP.CO 2 SWAP DRIVES: TEMPORARILY TRADES DRIVE LETTERS TERMINAL.DA 8 DATA FOR INIT.COM (ASCII FILE - EDITABLE) NOTE Yo wil als nee SYSGEN.CO an MBASIC.CO fro your Morrow CP/ Distributio Disk. I you termina i capabl o reliabl operatio a 1920 bau bu you revisio motherboar i keepin you spee dow t 960 baud tak heart Ther i chea (unde $1.0 i parts an eas (les tha a hou o you time modificatio o th revisio motherboar tha precicel double th bau rat o th termina port Th boo-u defaul bau rat become 1920 baud whic translate t FAS scree update SETUP.CO stil works thoug o cours th termina por wil alway ru a exactl doubl th bau rat specified Befor orderin an parts however le m emphasiz th openin caveat Whil mos terminal hav switc setting fo 1920 bau operation no al o thes wil perfor reliabl fo mor tha fe character a time Som terminal wil dro character afte fe second o sustaine operatio a eve 960 baud T se i you favorit termina i trul capabl o sustaine operatio a 1920 baud connec i t compute se u fo operatio a 1920 bau an tr t TYP 10 tex file I th displa garble befor th en o th file you'l hav t upgrad you termina befor yo ca upgrad you computer. Assumin tha yo ca tak advantag o th upgrade th magica fi i jus digita frequenc doubler I technica terms th termina por bau rat cloc signa i differentiate an combine wit th differentiate complemen o th cloc signal Fo ever cloc puls tha goe in yo ge tw pulse out A lon a th pulse ar a leas 0. u wid an space a leas 1. u apart th 825 USAR i mor tha happ t ru a th appropriat bau rate Bes o all n ne chip ar needed Th Japanes revisio boar ha unuse gate i th 740 a boar locatio -C an th Korea boar ha unuse gate i th 740 a boar locatio -A Al i take t tur thes unuse gate int frequenc double i fe resistor an capacitor (and i th cas o th Japanes board pai o diodes) Th adde component ar soldere directl t th motherboard s yo don' eve nee t buil daughterboard I th though o makin permanen circui chang make yo queasy eithe se o jumpe pin o doubl pol doubl thro (DPDT switc wil enabl yo t bypas th frequenc double an rever t th origina slo circuit Thi fast/slo switchin (simila t th M-11' jumpe selectio o 9600/1920 boo u bau rate i hand i you compute wil eve b use wit termina incapabl o ful 1920 bau operation. Difference betwee th Japanes an th Korea revisio board necessitat tw distic set o direction fo upgradin t 1920 baud T minimiz th chance o fallin victi t Murphy' law firs locat th appropriat se o directions the procee slowl an chec of eac ste a yo complet it Kee th jumpe wire short th solderin iro clean an th distraction t minimum Th FAST/SLO switc ma b mounte o th rea pane o th cas fo (perhap too eas access o glue t th to o th 825 time chi wit cyanoacrylat cemen t kee i saf fro accidenta switching First th instructio se fo th JAPANES revisio motherboard: ]1 Locat convenien wor spac wit GOO LIGHTIN an preferabl equippe wit groundin wris strap. ]2 Locat tin ti solderin iro (1-3 Watts wit groundin plug. ]3 Locat smal pai o sid cutter (point an sharp). ]4 Locat pai o smal needl nos pliers. ]5 Locat phillip screwdriver. ]6 Locat regula blad screwdriver. ]7 Locat - fee o wir wra wir (2-3 gauge). ]8 Locat signa diode (1N91 o equivalent). ]9 Locat capacitor (100 pF 10% NP cerami o silve mica). ]10 Locat resistor (100 ohm 1/ Watt 5 carbon). ]11 Locat smal DPD switc fo fast/slo switching. ]12 Locat isopropy alcoho an toothbrus fo clea-up. ]13 Disconnec th powe cor an al cable fro th M-3 Mov i t th wel lighte wor are an tea i apart: ]14 Remov th screw tha hol th cove o an slid th cove of towar th front. ]15 Unplu th fla ribbo cabl an th -wir powe cabl fro th dis drives. ]16 I th powe suppl i blockin acces t th dis driv mountin screws remov th screw fro th botto o th powe suppl an mov th powe suppl t les inconvenien position. ]17 Remov th screw mountin th dis drive an slid ou th drive towar th back. ]18 Disconnec th powe suppl cabl an th smal cabl runnin t th rese button. ]19 Remov th screw holdin th motherboar an lif i out. ]20 Locat th 825 programmabl interva time (boar locatio 4E) Sni pi 1 a boar leve an ben th res o pi 1 u t clea th circui boar pad. ]21 Locat th 740 he inverte a boar locatio 8C Solde jumpe wir fro pi o th 740 t th swinge (center contac o switc S1B. ]22 Solde jumpe wir fro pi 1 o th 740 t th FAS (normall closed contac o switc S1A. ]23 Solde jumpe wir fro th FAS (normall open contac o switc S1 t th SLO (normall open contac o switc S1A an continu th jumpe wir t pi 1 o th 8253. ]24 Solde 1N91 diod fro pi t pi 1 (cathod ban a pi 4 o th 7404. ]25 Solde 1N91 diod fro pi t pi 1 (cathod ban a pi 6 o th 7404. ]26 Solde 1 resisto fro pi t pi o th 7404. ]27 Solde 1 resisto fro pi t pi o th 7404. ]28 Solde 1 resisto fro pi 1 t pi 1 o th 7404. ]29 Solde 100 p capacito fro pi t pi o th 7404. ]30 Solde 100 p capacito fro pi t pi o th 7404. ]31 Solde 100 p capacito fro pi t pi 1 o th 7404. ]32 Solde jumpe wir fro th SLO (normall open contac o switc S1 t pi o th 7404. ]33 Thoroughl clea th motherboar wit th isopropy alcoho an a ol toothbrush Loo fo solde bridges col solde joints diode connecte backwards an othe manifestation o Murphy' law I nothin else a leas coun th connection a th pin o th 7404: pi wir t swinge o switc S1B capacitor pi capacitor pi capacitor resistor pi diod (bande cathod end) pi capacitor resistor pi diod (bande cathod end) pi capacitor resistors wir t SLO contac o switc S1B pin -1 ar use b MD mak n connections! pi 1 wir t FAS contac o switc S1A pi 1 diode (unbande anod end) resistor capacitor pi 1 resistor I everythin check ou visually r-assembl i revers orde o disassembly Remembe t r-connec th cabl t th termina an se th termina t 1920 bau befor firin i al up. Th proceedur fo copin wit th Korea revisio boar i similar bu here' th blo-b-blo checklist: ]1 Locat convenien wor spac wit GOO LIGHTIN an preferabl equippe wit groundin wris strap. ]2 Locat tin ti solderin iro (1-3 Watts wit groundin plug. ]3 Locat smal pai o sid cutter (point an sharp). ]4 Locat pai o smal needl nos pliers. ]5 Locat phillip screwdriver. ]6 Locat regula blad screwdriver. ]7 Locat - fee o wir wra wir (2-3 gauge). ]8 Locat capacitor (100 pF 10% NP cerami o silve mica). ]9 Locat resistor (56 ohm 1/ Watt 5 carbon). ]10 Locat smal DPD switc fo fast/slo switching. ]11 Locat isopropy alcoho an toothbrus fo clea-up. ]12 Disconnec th powe cor an al cable fro th M-3 Mov i t th wel lighte wor are an tea i apart: ]13 Remov th screw tha hol th cove o an slid th cove of towar th front. ]14 Unplu th fla ribbo cabl an th -wir powe cabl fro th dis drives. ]15 I th powe suppl i blockin acces t th dis driv mountin screws remov th screw fro th botto o th powe suppl an mov th powe suppl t les inconvenien position. ]16 Remov th screw mountin th dis drive an slid ou th drive towar th back. ]17 Disconnec th powe suppl cabl an th smal cabl runnin t th rese button. ]18 Remov th screw holdin th motherboar an lif i out. ]19 Locat th 825 programmabl interva timer Sni pi 1 a boar leve an ben th res o pi 1 u t clea th circui boar pad. ]20 Locat th 740 he inverte a boar locatio 7A Solde jumpe wir fro pi o th 740 t th swinge (center contac o switc S1B. ]21 Solde jumpe wir fro pi o th 740 t th FAS (normall closed contac o switc S1A. ]22 Solde jumpe wir fro th FAS (normall closed contac o switc S1 t th SLO (normall open contac o switc S1A an continu th jumpe wir t pi 1 o th 8253. ]23 Solde 56 oh resisto fro pi 1 t pin an (joined o th 7406. ]24 Solde 56 oh resisto fro pi 1 t pi o th 7406. ]25 Solde 56 oh resisto fro pi 1 t pi 1 o th 7406. ]26 Solde 56 oh resisto fro pi 1 t pi an 1 (joined o th 7406. ]27 Solde 56 oh resisto fro pi 1 t pi o th 7406. ]28 Solde 56 oh resisto fro pi 1 t pi o th 7406. ]29 Solde 56 oh resisto fro pi 1 t pi o th 7406. ]30 Solde 100 p capacito fro pi 1 t pi o th 7406. ]31 Solde 100 p capacito fro pi 1 t pin an (joined o th 7406. ]32 Solde 100 p capacito fro pi t pin 9,1 an 1 (joined o th 7406. ]33 Solde jumpe wir fro th SLO (normall open contac o switc S1 t pi o th 7406. ]34 Thoroughl clea you handiwor wit isopropy alcoho an a ol toothbrush Loo fo solde bridges col solde joint an othe manifestation o Murphy' law I nothin else a leas coun th connection a th pin o th 7406: pin an ar use b MD mak n connections! pi wir t swinge o switc S1B pin an (joined): capacitor resistor pi capacitor resistor pi resistors capacitor pi resistor wir t FAS contac o switc S1B pin 9 1 an 1 (joined) resistors capacitor pi 1 capacitor resistor pi 1 resistor capacitor pi 1 resistors I everythin check ou visually r-assembl i revers orde o disassembly Remembe t r-connec th cabl t th termina an se th termina t 1920 bau befor firin i al up. 10 PRINT CHR$(26)CHR$(13)TAB(29)"CONFIG 4.6 - 08 JUL 87" 20 PRINT TAB(14)"Copyright 1987 by George Borys, all rights reserved." 30 PRINT "If you find this program valuable, please consider making "; 40 PRINT "a tax-deductable"CHR$(10)CHR$(13)" contribution to the Bay Area "; 50 PRINT "Micro Decision Users Association (BAMDUA)" 60 PRINT TAB(23)"P.O. Box 5152, Berkeley, CA 94705"CHR$(10) 70 DIM MTAB(5,9),DPB(4,15),FORMAT(5),SIDES(5),TPI(5),MTR(5),HST(5),SRT(5) 80 DIM HUT(5),HLT(5),DRM(5),DSM(5),BLS(5),DAT(11,5) 'USE ARRAYS TO STORE DATA 90 RESTORE 150 'FIRST, READ DATA FOR VARIOUS DPB'S 100 FOR I=1 TO 4 'THAT'S SSDD, DSDD, SSQD, DSQD 110 FOR J=1 TO 15 '15 BYTES PER DPB 120 READ N$ 'GET HEX BYTE FROM DATA STATEMENTS 130 DPB(I,J)=VAL("&H"+N$) 'CONVERT HEX TO DECIMAL 140 NEXT J,I 'AND NOW, THE DPB DATA FOR SSDD, DSDD, SSQD, DSQD: 150 DATA 28,00,04,0F,01,5E,00,7F,00,C0,00,20,00,02,00 'SSDD 160 DATA 28,00,04,0F,01,C2,00,BF,00,E0,00,30,00,02,00 'DSDD 170 DATA 28,00,04,0F,01,C7,00,BF,00,E0,00,30,00,02,00 'SSQD 180 DATA 28,00,05,1F,03,C7,00,BF,00,C0,00,30,00,02,00 'DSQD 190 ON ERROR GOTO 330 'ERROR TRAP IN CASE OF BOGUS FILESPEC 200 PRINT TAB(32)"FILES" 'PROVIDE A HEADING FOR THE DIRECTORY DUMP 210 FILES 'DISPLAY DIRECTORY 220 PRINT CHR$(10) 'START FOLLOWING PROMPT ON A NEW LINE: 230 LINE INPUT "SYSTEM IMAGE TO PATCH (OR [RETURN] TO EXIT): ";FILESPEC$ 240 IF FILESPEC$="" THEN SYSTEM 'ABORT TO CP/M IF NO FILESPEC IS GIVEN 250 FOR I=1 TO LEN(FILESPEC$) 'FOLD FILESPEC INTO UPPER CASE 260 C=ASC(MID$(FILESPEC$,I,1)) 'GET ASCII VALUE OF EACH CHARACTER 270 MID$(FILESPEC$,I,1)=CHR$(C+32*(C=>ASC("a"))) 'FORCE TO UPPER CASE 280 NEXT I 'DO EVERY CHARACTER 290 PRINT CHR$(10)"Loading system image from file "FILESPEC$" ->" 300 OPEN "I",1,FILESPEC$ 'WILL GENERATE ERROR HERE IF FILE DOES NOT EXIST 310 CLOSE 'FILE EXISTS 320 GOTO 350 'SKIP OVER ERROR MESSAGE 330 PRINT "ERROR ACCESSING "FILESPEC$" -- IS IT THERE?" 340 RESUME 230 'TRY AGAIN TO GET VALID FILESPEC 350 ON ERROR GOTO 0 'TURN OFF ERROR TRAP 360 OPEN "R",1,FILESPEC$,128 ' OPEN FILESPEC FOR RANDOM ACCESS 370 FIELD 1,128 AS BUFFER$ 'FIELD THE BUFFER AS ONE LARGE BLOCK 380 DEF FNBLOCK(N)=INT(N/128)-1 'TRANSLATES ADDRESS TO BLOCK NUMBER 390 BOOTBLK=FNBLOCK(&H900) 'BOOT SECTOR BEGINS AT ADDRESS 0900H 400 GET 1,BOOTBLK ' GET BOOT SECTOR FOR CBIOS ADDRESS, LOOK FOR CODE: 410 T$=CHR$(&HB7)+CHR$(&HC2)+CHR$(&H18)+CHR$(0)+CHR$(&HC3) 'JUST BEFORE BIOS 420 X=INSTR(BUFFER$,T$) 'IS THE TARGET STRING IN THE BOOT SECTOR? 430 IF X>0 THEN 470 ELSE CLOSE'IF IT IS, THEN SKIP TO PROCESS THE INFORMATION 440 PRINT FILESPEC$" IS NOT A VALID SYSTEM IMAGE!" 'TARGET STRING NOT FOUND 450 ON ERROR GOTO 330 'RE-INSTALL ERROR TRAP 460 GOTO 230 'GO BACK TO INPUT PROMPT 470 BIOS=ASC(MID$(BUFFER$,X+5,1))+256*ASC(MID$(BUFFER$,X+6,1)) 'BIOS ADDRESS 480 OFFSET=BIOS-&H2300 'ADDRESS OFFSET WITHIN SYSTEM IMAGE 490 BIOSBLK=FNBLOCK(&H2300) 'BLOCK CONTAINING BEGINNING OF CBIOS 500 GET 1,BIOSBLK 'GET FIRST BLOCK OF CBIOS WITH ITS ADDRESS VECTORS 510 MTAB=ASC(MID$(BUFFER$,69,1))+256*ASC(MID$(BUFFER$,70,1)) 'MTAB ADDRESS 520 RAMDATX=ASC(MID$(BUFFER$,65,1))+256*ASC(MID$(BUFFER$,66,1)) 'RAMDATX ADR 530 DPB0=RAMDATX-75 'BACKUP TO DPB FOR DRIVE "A" 540 DPBBLK=FNBLOCK(DPB0-OFFSET) 'BLOCK CONTAINING THE 75 BYTES OF DPB'S 550 DPBSTART=DPB0-128*INT(DPB0/128) 'OFFSET TO START OF DPB0 IN DPBBLK 560 MTBLOCK=FNBLOCK(MTAB-OFFSET) 'BLOCK CONTAINING MTAB 570 MTSTART=MTAB-128*INT(MTAB/128) 'OFFSET TO START OF MTAB IN MTBLOCK 580 GET 1,MTBLOCK 'GET BLOCK CONTAINING MTAB 590 T1$=BUFFER$ 'SAVE BUFFER FOR MTAB DISPLAY 600 GET 1,DPBBLK 'GET DISK PARAMETER BLOCK 610 T2$=BUFFER$ 'SAVE BUFFER FOR DPB DISPLAY 620 IF MTSTART>(128-45) THEN 650 'SKIP TO BLOCK BRIDGE 630 MTAB$=MID$(T1$,MTSTART+1,45) 'OTHERWISE THIS IS THE MTAB INFO 640 GOTO 670 'BYPASS THE BLOCK BRIDGE: 650 GET 1,MTBLOCK+1 'GET REST OF MTAB 660 MTAB$=MID$(T1$,MTSTART,45)+LEFT$(BUFFER$,MTSTART+45-128) 'BUILD MTAB$ 670 IF DPBSTART>(128-75) THEN 700 'SKIP TO BLOCK BRIDGE 680 DPB$=MID$(T2$,DPBSTART+1,75) ' OTHERWISE THIS IS THE DPB INFO 690 GOTO 720 'SKIP THE BLOCK BRIDGE 700 GET 1,DPBBLK+1 'GET REST OF DPB 710 DPB$=MID$(T2$,DPBSTART+1,75)+LEFT$(BUFFER$,DPBSTART+75-128) 'BUILD DPB$ 720 DRIVES=1 'INITIALIZE COUNT OF CURRENTLY INSTALLED DRIVES 730 FOR D=1 TO 5 'ONE MTAB FOR EACH OF 5 DRIVES (A-E) 740 FOR I=1 TO 9 'NINE BYTES PER MTAB 750 MTAB(D,I)=ASC(MID$(MTAB$,I+9*(D-1),1)) 'GET MTAB DATA 760 NEXT I 'NEXT BYTE IN MTAB 770 DRIVES=DRIVES-(MTAB(D,1)<>MTAB(1,1)) 'TALLY UP NUMBER OF PHYSICAL DRIVES 780 NEXT D 'NEXT DRIVE 790 GOSUB 2190 ' DISPLAY MTAB INFORMATION 800 PRINT CHR$(10)FILESPEC$" IS CURRENTLY CONFIGURED AS A"DRIVES"DRIVE SYSTEM." 810 INPUT " -PRESS [RETURN], OR ENTER NEW NUMBER OF DRIVES (1 - 4): ";MAXDRV 820 IF MAXDRV<1 OR MAXDRV>4 THEN MAXDRV=DRIVES 'ACCEPT VALID NUMBERS 830 PRINT MAXDRV"DRIVE SYSTEM." 840 MTAB(1,1)=(MTAB(1,1) AND &HF8) OR 1 'INITIALIZE MTAB MOTOR CONTROL BITS 850 MTAB(2,1)=(MTAB(2,1) AND &HF8) OR 2 ' FOR A 4-DRIVE SYSTEM 860 MTAB(3,1)=(MTAB(3,1) AND &HF8) OR 4 ' (CAN ALWAYS BE CRUNCHED DOWN 870 MTAB(4,1)=(MTAB(4,1) AND &HF8) OR 4 ' TO FEWER DRIVES LATER) 880 FOR I=1 TO 4 '4 PHYSICAL DRIVES NUMBERED 0-3 890 MTAB(I,2)=(MTAB(I,2) AND &H7C) OR I-1 900 NEXT I 'MOTOR CONTROL BITS NOW SET FOR UP TO 4 DRIVES. 910 FOR DRIVE=0 TO MAXDRV-1 'GET INFORMATION FOR NUMBER OF DRIVES SPECIFIED 920 DRIVE$=CHR$(65+DRIVE) 'CREATE DRIVE LETTER 930 PRINT CHR$(10)"DRIVE "CHR$(34)DRIVE$CHR$(34)" CURRENTLY"; 940 PRINT SIDES(DRIVE+1)"SIDED." 'PRINT DEFAULT SETTING 950 INPUT "-PRESS [RETURN], OR ENTER NEW NUMBER OF SIDES (1 - 2): ";S 960 IF S<1 OR S>2 THEN S=SIDES(DRIVE+1) 'USE DEFAULT IF NO VALID ENTRY 970 PRINT S"SIDED DRIVE "CHR$(34)DRIVE$CHR$(34) 'SAY WHAT YOU'RE USING 980 IF S=1 THEN 1020 'SKIP IF SINGLE SIDED DRIVE 990 MTAB(DRIVE+1,1)=MTAB(DRIVE+1,1) OR &H20 'SET BIT FOR DS 1000 MTAB(DRIVE+1,2)=MTAB(DRIVE+1,2) OR 4 'SET BIT FOR DOUBLE SIDED MEDIA 1010 GOTO 1040 'SKIP SINGLE SIDED ROUTINE 1020 MTAB(DRIVE+1,1)=MTAB(DRIVE+1,1) AND &HDF 'RESET BIT -> SINGLE SIDED 1030 MTAB(DRIVE+1,2)=MTAB(DRIVE+1,2) AND &HFB 'RESET BIT -> SINGLE SIDED 1040 PRINT CHR$(10)"DRIVE "CHR$(34)DRIVE$CHR$(34)" IS"TPI(DRIVE+1)"TPI." 1050 INPUT "-PRESS [RETURN] OR ENTER NEW TPI (48 - 96): ";TPI 1060 IF TPI<>48 AND TPI<>96 THEN TPI=TPI(DRIVE+1) 'INSTALL DEFAULT IF NEEDED 1070 MTAB(DRIVE+1,2)=MTAB(DRIVE+1,2) AND &HDF 'RESET BIT -> 40 TRACK 1080 IF TPI=48 THEN 1100 'SKIP SETTING QUAD DENSITY BIT IF 48 TPI 1090 MTAB(DRIVE+1,2)=MTAB(DRIVE+1,2) OR &H20 'SET BIT -> 80 TRACK 1100 PRINT TPI"TRACKS PER INCH DRIVE "CHR$(34)DRIVE$CHR$(34)CHR$(10) 1110 PRINT "MOTOR ON WAIT TIME FOR DRIVE "CHR$(34)DRIVE$CHR$(34)" IS"; 1120 PRINT MTR(DRIVE+1)" mS." 'DISPLAY DEFAULT 1130 PRINT "-PRESS [RETURN] OR ENTER A NEW MOTOR ON WAIT TIME (0-1020 mS): ?"; 1140 LINE INPUT Q$ 'GET THE NEW MOTOR ON WAIT TIME 1150 IF Q$="" THEN 1170 ELSE Q=VAL(Q$) 'SKIP TO DEFAULT IF [RETURN] 1160 IF Q=>0 AND Q<=1020 THEN MTR(DRIVE+1)=4*INT(Q/4) 'INSTALL VALID NUMBERS 1170 PRINT "MOTOR ON WAIT TIME:"MTR(DRIVE+1)"mS."CHR$(10) 1180 MTAB(DRIVE+1,3)=INT(MTR(DRIVE+1)/4) 'INSTALL MOTOR ON WAIT TIME 1190 PRINT "HEAD SETTLING TIME AFTER SEEK FOR DRIVE "CHR$(34)DRIVE$CHR$(34); 1200 PRINT " IS"HST(DRIVE+1)" mS." 'DISPLAY DEFAULT 1210 PRINT "-PRESS [RETURN] OR ENTER NEW HEAD SETTLING TIME (0-1020 mS): ?"; 1220 LINE INPUT Q$ 1230 IF Q$="" THEN 1250 ELSE Q=VAL(Q$) 1240 IF Q=>0 AND Q<=1020 THEN HST(DRIVE+1)=4*INT(Q/4) 'ACCEPT LEGIT NUMBERS 1250 PRINT "HEAD SETTLING TIME AFTER SEEK:"HST(DRIVE+1)"mS."CHR$(10) 1260 MTAB(DRIVE+1,4)=INT(HST(DRIVE+1)/4) 'INSTALL NUMBER IN MTAB 1270 PRINT "STEPPING RATE FOR DRIVE "CHR$(34)DRIVE$CHR$(34)" IS"; 1280 PRINT SRT(DRIVE+1)"mS." 1290 INPUT "-PRESS [RETURN] OR ENTER A NEW STEPPING RATE (1-15 mS): ";Q 1300 IF Q=>1 AND Q<=15 THEN SRT(DRIVE+1)=INT(Q) 'ACCEPT VALID NUMBERS 1310 PRINT "STEPPING RATE:"SRT(DRIVE+1)"mS."CHR$(10) 1320 PRINT "HEAD UNLOAD TIME FOR DRIVE "CHR$(34)DRIVE$CHR$(34)" IS"; 1330 PRINT HUT(DRIVE+1)"mS." 1340 INPUT "-PRESS [RETURN] OR ENTER NEW HEAD UNLOAD TIME (16-240 mS): ";Q 1350 IF Q=>16 AND Q<=240 THEN HUT(DRIVE+1)=16*INT(Q/16) 'ACCEPT VALID NUMBERS 1360 PRINT "HEAD UNLOAD TIME:"HUT(DRIVE+1)"mS."CHR$(10) 1370 MTAB(DRIVE+1,5)=HUT(DRIVE+1)/16+16*(16-SRT(DRIVE+1)) 1380 PRINT "HEAD LOAD TIME FOR DRIVE "CHR$(34)DRIVE$CHR$(34)" IS"; 1390 PRINT HLT(DRIVE+1)"mS." 1400 INPUT "-PRESS [RETURN] OR ENTER NEW HEAD LOAD TIME (2-254 mS): ";Q 1410 IF Q=>2 AND Q<=254 THEN HLT(DRIVE+1)=2*INT(Q/2) 'ACCEPT VALID HLT 1420 PRINT "HEAD LOAD TIME:"HLT(DRIVE+1)"mS."CHR$(10) 1430 MTAB(DRIVE+1,6)=1+2*INT(HLT(DRIVE+1)/2) 'THAT'S THE WAY IT'S STORED. 1440 NEXT DRIVE 1450 PRINT CHR$(10)"Validating data..." 'SOUNDS BETTER THAN 'DIDDLING AROUND' 1460 FOR DRIVE=MAXDRV+1 TO 5 'INSTALL VIRTUAL DRIVE INFORMATION 1470 FOR I=1 TO 9 '9 BYTES IN MTAB 1480 MTAB(DRIVE,I)=MTAB(1,I) 'VIRTUAL DRIVES == DRIVE 'A' 1490 NEXT I,DRIVE 'FINISH INSTALLING VIRTUAL MTABS 1500 FOR D=1 TO 5 'NOW INSTALL ALL 5 DRIVES IN DPB$ AND MTAB$ 1510 FOR I=1 TO 9 '9 BYTES PER MTAB 1520 MID$(MTAB$,I+9*D-9,1)=CHR$(MTAB(D,I)) 'INSTALL BYTE IN MTAB IMAGE 1530 NEXT I 'FINISH ONE MTAB 1540 SINGLE=((MTAB(D,2) AND 4)=0) 'CHECK FOR SINGLE SIDED DRIVE 1550 QUAD=((MTAB(D,2) AND 32)=32) 'CHECK FOR QUAD DENSITY DRIVE 1560 FORMAT(D)=(2+SINGLE-2*QUAD) '4 POSSIBLE FORMATS ARE SSDD,DSDD,SSQD,DSQD 1570 FOR J=1 TO 15 '15 BYTES PER DPB TO INSTALL NOW 1580 MID$(DPB$,J+15*D-15,1)=CHR$(DPB(FORMAT(D),J)) 'INSTALL BYTE IN DPB IMAGE 1590 NEXT J,D 'FINISH INSTALLING DPB FOR EACH DRIVE 1600 GOSUB 2190 'DISPLAY ALL THAT WONDERFUL DATA ABOUT THE CONFIGURATION 1610 PRINT CHR$(10)"PRESS [RETURN] TO UPDATE "FILESPEC$ 1620 PRINT " [ESC] TO EXIT WITHOUT CHANGING, OR 1630 PRINT " ANY OTHER KEY TO RE-CONFIGURE: "; 1640 Q$=INKEY$ 'CHECK KEYBOARD - LOOP UNTIL KEY PRESSED 1650 IF Q$="" THEN 1640 ELSE IF Q$=CHR$(13) THEN 1680 'CHR$(13)=[RETURN] 1660 IF Q$=CHR$(27) THEN SYSTEM ELSE CLOSE 'CHR$(27)=[ESC] 1670 GOTO 190 'FILE IS CLOSED, RUN THE PROGRAM AGAIN 1680 GET 1,MTBLOCK 'GET MTAB INTO BUFFER 1690 T$=BUFFER$ 'TEMP STORAGE OF BUFFER FOR UPDATE 1700 MID$(T$,MTSTART+1,45)=MTAB$ 'INSTALL MTAB 1710 LSET BUFFER$=T$ 'BACK INTO BUFFER 1720 PUT 1,MTBLOCK 'BACK INTO FILE 1730 IF NOT (MTSTART>(128-45)) THEN 1790 'SKIP IF NO DEBLOCKING TO DO 1740 GET 1,MTBLOCK+1 'GET SECOND PART OF MTAB INTO BUFFER 1750 T$=BUFFER$ 'TEMP STORAGE OF BUFFER FOR UPDATE 1760 MID$(T$,1,MTSTART+45-128)=RIGHT$(MTAB$,MTSTART+45-128) 1770 LSET BUFFER$=T$ ' INSTALL REMAINDER OF MTAB 1780 PUT 1,MTBLOCK+1 'PUT BACK INTO FILE 1790 GET 1,DPBBLK 'GET BLOCK WITH DPB INFO 1800 T$=BUFFER$ 'TEMP STORAGE OF DPB BLOCK 1810 MID$(T$,DPBSTART+1,75)=DPB$ 'INSTALL DPB IN TEMP BUFFER 1820 LSET BUFFER$=T$ 'BACK INTO BUFFER 1830 PUT 1,DPBBLK 'BACK INTO FILE 1840 IF NOT (DPBSTART>(128-75)) THEN 1900 'SKIP IF NO DEBLOCKING TO DO 1850 GET 1,DPBBLK+1 'GET SECOND PART OF DPB INTO BUFFER 1860 T$=BUFFER$ 'TEMP STORAGE OF BUFFER FOR UPDATE 1870 MID$(T$,1,DPBSTART+75-128)=RIGHT$(DPB$,DPBSTART+75-128) 'UPDATE DPB 1880 LSET BUFFER$=T$ 'INSTALL REMAINDER OF DPB 1890 PUT 1,DPBBLK+1 'PUT BACK INTO FILE 1900 GET 1,FNBLOCK(&H980) 'GET BOOT SECTOR WITH BTAB, DPB 1910 XSUM=0 'INITIALIZE CHECKSUM TO ZERO 1920 FOR I=1 TO 25 'CHECK ALL 25 BYTES, JUST LIKE THE CBIOS DOES 1930 XSUM=XSUM XOR ASC(MID$(BUFFER$,I,1)) ' CHECKSUM 1940 NEXT 'PROCESS NEXT BYTE THROUGH CHECKSUM ALGORITHM 1950 T$=BUFFER$ 'PUT BUFFER INTO TEMP STORAGE 1960 FOR I=1 TO 9 '9 BYTES IN MTAB 1970 MID$(T$,I,1)=CHR$(MTAB(1,I)) 'INSTALL MTAB BYTES INTO TEMP STORAGE 1980 NEXT I 'NEXT BYTE 1990 IF XSUM<>0 THEN 2080 'SKIP DPB AND CHECKSUM ON REV 1.3 2000 FOR I=1 TO 15 '15 BYTE DPB TO INSTALL: 2010 MID$(T$,I+9,1)=CHR$(DPB(FORMAT(1),I)) ' INSTALL APPROPRIATE DPB 2020 NEXT I 'NEXT BYTE 2030 XSUM=0 'INITIALIZE NEW CHECKSUM: 2040 FOR I=1 TO 24 '25TH BYTE WILL BE THE CHECKSUM 2050 XSUM=XSUM XOR ASC(MID$(T$,I,1)) 'CALCULATE CHECKSUM 2060 NEXT I 'NEXT BYTE 2070 MID$(T$,25,1)=CHR$(XSUM) 'INSTALL CHECKSUM INTO TEMP STORAGE 2080 LSET BUFFER$=T$ 'PUT TEMP STORAGE INTO BUFFER 2090 PUT 1,FNBLOCK(&H980) 'PUT BOOT SECTOR BACK INTO FILE 2100 CLOSE 'DONE. -BUT LEAVE A PARTING MESSAGE: 2110 PRINT CHR$(26) 'CLEAR THE DISPLAY 2120 PRINT "The system image in "FILESPEC$" has been re-configured." 2130 PRINT CHR$(10)"TO INSTALL "FILESPEC$" ON SYSTEM TRACKS, TYPE:"CHR$(10) 2140 PRINT " SYSGEN "FILESPEC$;CHR$(10) 2150 PRINT " - THEN JUST FOLLOW THE PROMPTS." 2160 PRINT " (TO INITIALIZE THE NEW SYSTEM FOR A DIFFERENT TERMINAL," 2170 PRINT " USE INIT.COM)."CHR$(10) 2180 SYSTEM 'EXIT BACK TO THE SYSTEM (YOU'RE DONE!) 2190 FOR I=1 TO 5 '5 LOGICAL DRIVES TO GET PARAMETERS ON: 2200 SIDES(I)=1+(MTAB(I,1) AND 32)/32 'NUMBER OF SIDES (1 OR 2) 2210 DAT(1,I)=SIDES(I) 'NUMBER OF SIDES (1 OR 2) 2220 TPI(I)=48+48*(MTAB(I,2) AND 32)/32 'TRACKS PER INCH (48 OR 96) 2230 DAT(2,I)=TPI(I) 'TRACKS PER INCH (48 OR 96) 2240 MTR(I)=4*MTAB(I,3) 'MOTOR ON WAIT TIME IN mS 2250 DAT(3,I)=MTR(I) 'MOTOR ON WAIT TIME IN mS 2260 HST(I)=4*MTAB(I,4) 'HEAD SETTLING TIME IN mS 2270 DAT(4,I)=HST(I) 'HEAD SETTLING TIME IN mS 2280 SRT(I)=16-INT(MTAB(I,5)/16) 'STEPPING RATE IN mS 2290 DAT(5,I)=SRT(I) 'STEPPING RATE IN mS 2300 HUT(I)=16*(MTAB(I,5) MOD 16) 'HEAD UNLOAD TIME IN mS 2310 DAT(6,I)=HUT(I) 'HEAD UNLOAD TIME IN mS 2320 HLT(I)=MTAB(I,6) AND 254 'HEAD LOAD TIME IN mS, THEN DIRECTORY SPACE: 2330 DAT(7,I)=HLT(I) 'HEAD LOAD TIME DATA 2340 DRM(I)=1+ASC(MID$(DPB$,8+15*I-15,1))+256*(ASC(MID$(DPB$,9+15*I-15,1))) 2350 DAT(8,I)=DRM(I) 'NUMBER OF DIRECTORY ENTRIES 2360 BLS(I)=2^(ASC(MID$(DPB$,3+15*I-15,1))-3) 'BLOCK SIZE IN KBYTES; BLOCKS: 2370 DAT(10,I)=BLS(I) 'BLOCK SIZE DATA 2380 BLOCKS=1+ASC(MID$(DPB$,6+15*I-15,1))+256*ASC(MID$(DPB$,7+15*I-15,1)) 2390 DSM(I)=BLOCKS*BLS(I) 'DISK SIZE IN K (JUST BASED ON NUMBER OF BLOCKS) 2400 FOR AL01=10 TO 11 'TO BE REALISTIC ABOUT IT THOUGH, LET'S SUBTRACT 2410 FOR BIT=0 TO 7 'THE BLOCKS THAT ARE DEVOTED TO THE DIRECTORY: 2420 USED=(ASC(MID$(DPB$,AL01+15*I-15,1)) AND 2^BIT)<>0 'INFO FROM AL0, AL1 2430 DSM(I)=DSM(I)+BLS(I)*USED 'RE-ADJUST THE DISK SIZE BY SUBTRACTING 2440 NEXT BIT,AL01 'EVERY BLOCK THAT'S DEVOTED TO THE DIRECTORY AREA. 2450 DAT(9,I)=DSM(I) 'FREE SPACE ON DISK 2460 NEXT I '(16 BITS TO CHECK IN AL0 AND AL1) 2470 PRINT CHR$(10)TAB(2)"SYSTEM IMAGE FILE: "FILESPEC$; 'NOW DISPLAY INFO: 2480 PRINT " (*->VIRTUAL DRIVE)" 2490 PRINT TAB(14)"DRIVE: A "; 2500 FOR I=2 TO 5 'USE * TO FLAG VIRTUAL DRIVES 2510 PRINT CHR$(64+I);MID$(" *",1-(MTAB(I,1)=MTAB(1,1)),1);" "; 2520 NEXT I 'DISPLAY INFO FOR ALL 5 LOGICAL DRIVES 2530 RESTORE 2640 'point to data for display 2540 FOR J=1 TO 10 '10 lines of data to display 2550 READ T$ 'read title 2560 PRINT TAB(19-LEN(T$))T$": "; 2570 READ PU$ 'READ DATA PRINT FORMAT 2580 FOR I=1 TO 5 '5 DRIVES OF DATA 2590 PRINT USING PU$;DAT(J,I); 'print data 2600 NEXT I 'next drive 2610 PRINT 'new line 2620 NEXT J 'next line of data 2630 RETURN 'end of display routine 2640 DATA "SIDES","#### " 2650 DATA "TRACKS PER INCH","#### tpi" 2660 DATA "MOTOR ON WAIT TIME","#### mS " 2670 DATA "HEAD SETTLING TIME","#### mS " 2680 DATA "STEPPING RATE","#### mS " 2690 DATA "HEAD UNLOAD TIME","#### mS " 2700 DATA "HEAD LOAD TIME","#### mS " 2710 DATA "DIRECTORY ENTRIES","#### " 2720 DATA "DISK STORAGE","#### K " 2730 DATA "BLOCK SIZE","#### K " 10 DATA "DIRECTORY ENTRIES","#### " 2720 DATA "DISK STORAGE","#### K "; DIAGNOSE is the software equivalent of opening ; up the case on your MD-3 and plugging a shorting ; jumper across JP4 (Rev. 2 Kohjinsha) or E5 (Rev. ; 2 Korean motherboard). Assumes ROM 3.1. ; ASEG BOOT EQU 0 ;COLD BOOT DIAGADR EQU 004EH ;DIAGNOSTICS ADDRESS ROMCTL EQU 0F6H ;OUT=ROM, IN=RAM RAM EQU 2000H ;SAFELY BEYOND ROM ; ORG 100H BEGIN: LXI H,PROGRAM ;HL > PROGRAM LXI D,RAM ;DE > RAM LXI B,LENGTH ;BC = BYTE COUNT DB 0EDH,0B0H ;Z-80 LDIR BLOCK MOVE JMP RAM ;NOW GO EXECUTE IT ; PROGRAM:OUT ROMCTL ;TURN ON THE ROM LXI H,BOOT ;COLD BOOT RETURN ADDRESS PUSH H ;ON THE STACK LHLD DIAGADR ;GET ADDRESS OF DIAGNOSTICS PCHL ;GO TO IT FINISH EQU $ LENGTH EQU FINISH-PROGRAM ;LENGTH OF PROGRAM END BEGIN IAGADR ;GET !  !*N Propose Standar Forma fo Qua Densit Micr-Decisio Diskettes (Standard (Propose (Max) Diskett Forma Number (1 (2 (3 (4 (5)* FORMA DESCRIPTION: Usefu Storag (Bytes) 186 384 394 792 816K Side (SS/DS) SS DS SS DS DS Densit (DD/QD) D D Q Q QD CYLinder formatte: 4 4 8 8 84 BLoc Siz (BLS) 2 2 2 4 2K DIS PARAMETE BLOCK: Sector Pe Trac (SPT) 4 4 4 4 40 Bloc SHif facto (BSH) 4 BLoc Mas (BLM) 1 1 1 3 15 EXten Mas (EXM) 3 1 Dis Siz Maximu (DSM) 9 19 199 19 404 DiRector Maximu (DRM) 12 19 19 19 447 ALlocatio Byt (AL0) C E E C FE ALlocatio Byt (AL1) 0 ChecK Siz (CKS) 3 4 4 4 112 OfFSe (OFS) 2 CBIO REQUIREMENTS: CBIO CS Siz (Bytes) 3 4 4 4 112 CBIO AL Siz Bytes) 1 2 2 2 51 Fo hacker only Diskett forma (5 require significan expansio o th AL an CS table i th CBIOS Forge i unles yo hav CBIOS.MAC M80.CO an L80.COM. Diskett format (1 an (2 ar generate b FORMAT.CO o standar 4 trac pe inc (tpi drives Thes ar th "standard Singl Side Doubl Densit (SSDD an Doubl Side Doubl Densit (DSDD format tha ar use o th norma Micr-Decision Format (3) (4 an (5 ar designe t tak advantag o th increase storag capacit o 9 tp "qua density drives Al thre qua densit format mak us o th "extra track tha ar availabl beyon th norma "last cylinder I an case FORMAT.CO mus b patche t generat thes qua densit formats Whil som patchin o th CBIO i als required onl forma (5 ha gon s "ho wild tha th CBIO need t b extensivel r-written Forma (3 i basicall th DSD forma "unfolded t fi o on sid o 9 tp diskette I i include becaus th Shugar SA41 singl side 9 tp driv i sometime availabl fo a littl a on dolla a compute "swa meets" Onl tw "extra track ar added thu keepin th maximu bloc numbe belo 200 Unles th CBIO AL table ar expande beyon thei presen 2 byt length th maximu permissibl bloc numbe i 19 (ALV=(DSM/8)+1) Fo thi sam reason forma (4 use 4 bloc siz an ca onl affor t ad on extr cylinder Th siz o th CBIO CS table plac simila restriction o th maximu numbe o director entries Withou expandin th CS table beyon thei presen 4 bytes maximu o 19 director entrie ar checke (CKS=(DRM+1)/4) Forma (5) fo example woul reqir significan expansio o th CS an AL table i th CBIOS Suc aggressiv tweakin o th CBIO generall mean editin CBIOS.MA an the r-assemblin i wit M80.CO an L80.COM Sinc no al o thes program ar universall available implementatio o forma (5 i bes lef t th dedicate hacker O th othe hand diskett format (3 an (4 ma b full implemente wit "too kit consistin o jus SYSGEN.CO an DDT.CO fro th origina CP/ distributio diskette I keepin wit th KIS philosoph (Kee I Simple Stupid!) forma (5 mus fal b th waysid i favo o th mor easil implemente format (3 an (4) Ste 1 Forcin FORMAT.CO t forma mor tha 4 tracks. Befor attemptin an patchin o FORMAT.COM ge "th bi picture b doin har cop dum o th file Toggl th printe o b pressin contro- (^P) the us DD t loa FORMAT.CO int memory: DD FORMAT.CO {Return} DD wil displa (an print it versio number followe b tw addresse title "NEXT an "PC" P (Progra Counter wil alway b 0100 bu NEX (th nex availabl addres afte th en o th file wil depen o whic revisio o FORMAT.CO i bein patched I th NEX addres i 0B00 th fil occupie 1 block o memor (0B0 010 0A00 o 1 block o 25 byte each) Th comman t dum thes 1 block t th scree (an th printer woul be: D010 0AF {Return} No tha yo hav har cop o FORMAT.COM loo fo th forma contro table locate jus afte th gian pil o ASCI tex messages Th tabl yo ar lookin fo wil en wit th numbers: 0 0 0 0 0 F FE Thes ar th secto number use fo formattin diskette wit fiv 1 sectors I wil b followe b othe table tha wil end: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 F FE (fo formattin wit sixtee 25 byt sectors) an possibl also 0 0 0 0 0 0 0 0 F FE (fo formattin wit eigh 51 byt sectors) Th firs table however i th onl on tha need t b patched Th tabl structur coul b expresse i assembl languag a follows: ;FIRST TH TABL FO SINGL SIDE FORMAT: DEF S_NUM ; BYT ADDRESS TABL CONTAININ SECTO NUMBERS DEF 0 ;COD FO 1 SECTO SIZ DEF ; SECTOS DEF 5FH ;GA LENGT (GA 3 USE I FORMATTING DEF 0E5 ;FILLE BYT USE I FORMATTING DEF 2 ;(LAS TRAC NUMBE 1 O SINGL SIDE FORMAT ;CHANG T 51 FO SINGL SIDE QUA DENSITY. ;REPEA TH ABOV INF FO DOUBL SIDED: DEF S_NUM ;REPEA ADDRES O SECTO NUMBE TABLE DEFB 0 ;COD FO 1 SECTO SIZE DEF ; SECTORS DEF 5F ;GA LENGTH DEF 0E5 ;REPEA FILLE BYTE DEF 50 ;(LAS TRAC NUMBE 1 O DOUBL SIDE FORMAT ;CHANG T 0A2 FO DOUBL SIDE QUA DENSITY. ;FINALLY TH TABL O SECTO NUMBERS: S_NUMS: DEF 1,2,3,4,5 DEF 0FF ;FLA EN O SECTO NUMBERS DEF 0FE ;FLA EN O TABLE B changin th 28 byt t 51H th singl side forma wil continu fo tota o 8 tracks Similarly th chang fro 50 t 0A2 wil forc th doubl side forma t continu throug trac 161 Ste 2 Correctin th boo secto i FORMAT.COM Unles FORMAT.CO write ou th correc boo sector th CBIO wil b unabl t recogniz th ne diskett a vali qua densit format Th dat th CBIO expect t fin i locate i tw 2 byt lon table consistin o byt BTA (boo versio o th CBIO MTAB an it associate 1 byt Dis Paramete Bloc (DPB) Thes table ar locate jus followin th forma contro table describe earlier Th origina tabl fo singl side disk is: 0 0 0 0 0 0 0 0 0 2 0 0 0 0 5 0 7 0 C 0 2 0 0 0 E1 an shoul b change to: 0 F 5 0 D 0 0 1 F 2 0 0 0 0 C 0 B 0 E 0 3 0 0 0 16 Th origina tabl fo doubl side disk is: 0 0 0 0 0 0 0 0 0 2 0 0 0 0 C 0 B 0 E 0 3 0 0 0 89 an shoul b change to: 2 F 7 0 D 0 0 1 F 2 0 0 1 0 C 0 B 0 C 0 3 0 0 0 24 Al othe change ar strictl cosmetic bu recommende non th less G t th ASCI tex portio o th cod an ad th tex "Qua densit version jus befor th copyrigh notice Als chang ever occurrenc o "Doubl density t "Qua density" Mos heartil recommende i addin th tex "8 cylinder formatte 9 tpi jus afte th "No SYSTE Diskette message B sur no t clobbe th Carriag Retur Lin Fee (0D 0AH tha follow th "No SYSTEM... message an ad anothe 0D 0A afte th ".. 9 tpi message Bot message wil the b displaye wheneve a attemp i mad t boo th dis (eve i 4 tp drive!) Finally hi contro- (^C t retur t th A promp an sav th update forma progra b typing: SAV 10 FORMAT96.CO {Return} Ste 3 Correcing th CBIO MTA an DP i MOVCPM.COM Th CP/ distributio diskett carrie tw copie o th syste image On cop i o th syste tracks an th othe cop i i th fil MOVCPM.COM Modifyin th syste imag i MOVCPM.CO give u th opportunit t creat custo syste image fo bot singl side an doubl side qua densit boo disks Repea th ^ tric t dum MOVCPM.CO t th printer T cu dow o th waste paper jus dum th CBOO area: D090 09F {Return} an th CBIO area: D230 2EF {Return} T creat singl side qua densit MOVCPM.COM jus replac th firs 2 byte a 98 wit th correcte tabl fo singl side disk fro FORMAT96.COM: 0 F 5 0 D 0 0 1 F 2 0 0 0 0 C 0 B 0 E 0 3 0 0 0 16 T creat doubl side qua densit MOVCPM.COM th replacemen byte com fro th tabl fo doubl side disks: 2 F 7 0 D 0 0 1 F 2 0 0 1 0 C 0 B 0 C 0 3 0 0 0 24 The procee t correc th DP an MTA table tha wil b foun somewher betwee 260 an 2900 Yo wil mos likel fin DPB' o 1 byte each beginnin wit "default SSD DP of: 2 0 0 0 0 C 0 7 0 C 0 2 0 0 00 whic i the followe b eithe mor SSD DPB's o DSD DPB's: 2 0 0 0 0 C 0 B 0 E 0 3 0 0 00 Th "default DP i onl use whe th CBOO checksu fails s se i t th whateve DP wa specifie i th boo secto (tha woul b byte throug 2 a installe a addres 098 0996) Thes sam byte ar installe fo th secon DP also sinc tha i th driv "A DPB Th succeedin DPB' ar modifie a i appropriat fo th targe hardwar configuration I th DP i screwe up however don' le i worr yo to much Th DP fo eac driv i overwritte b th DP fro th boo secto o whateve dis i i th driv whe yo d war boot Abou 5 o 6 byte afte th las DPB however come th MTA area Thi se o fiv byt lon table describe an control th dis drives Th firs tabl wil generall b identica t th firs byte i th boo secto (addres 98 988) Th fift tabl specifie th configuratio o th virtua "E drive s i (an an othe unuse driv tables wil b identica t th firs table Th byte i eac MTA ar define a follows: Byt 0 Bi 0,1 o i th moto contro bi (001,010,100,100). Bit 3, describ dis usag i doubl side mode: - Eve track o sid 0 od track o sid 1. 0 - 1s 4 (o 80 track o sid 0 res o track ar o sid 1 1 - Bot track treate a singl trac wit twic a man sectors Bi flag th driv a doubl sided. Bi i use onl b foreig dis format i CBIO 3.1 Bi flag th driv a holdin foreig format Byt 1 Bi 0, hol th physica driv addres (00,01,10,11) Bi flag th driv a doubl sided Bi 3, describ th secto siz use durin formatting: 0 - 12 byt sectors 0 - 25 byt sectors 1 - 51 byt sectors 1 - 102 byt sectors Bi flag th driv a qua densit ( tracks) Bi flag th driv a doubl density Bi flag th driv fo us a virtua drive Byt 2 Moto o wai tim i increment o ms. Byt 3 Hea settl tim (afte seek i increment o ms. Byt 4 16*(16-steppin rat i ms. (hea unloa time)* ms. Byt 5 2*(hea loa tim i increment o ms 1 (03) Byt 6 Las secto numbe o trac: (05) Byt 7 Ga lengt fo read/writ: (1CH) Byt 8 Spac fo holdin curren trac numbe (0FFH) singl side driv wil hav bi o byt an bi o byt bot rese t 0 doubl side driv wil hav bot thos bit se t 1 Th firs tw byte o th MTA entrie fo variou drive are: Singl Side Doubl Side Singl Qua Doubl Quad 0 D ...... 2 D ...... 0 F ...... 2 F ....... 0 5 ...... 2 5 ...... 0 F ...... 2 F ....... 0 5 ...... 2 5 ...... 0 F ...... 2 F ....... 04 5 ...... 24 5 ...... 04 F ...... 24 F ....... Selec byte throug a appropriat fo th particula driv t b used Th fina patc t mak i i th ASCI tex o th boo-u copyrigh notic locate fe hundre byte pas th MTA data T provid roo fo "Qua Density boo u message abbreviat othe portion o th boo u messag a deeme appropriate Jus b carefu no t clobbe an cod o pointers Whe th las twea i make retur t th A promp wit ^ an sav th ne file: SAV 5 MOVCPMQ2.CO {Return} Ste 4 FORMAT96in an SYSGENin qua densit boo disk. Befor installin qua densit driv a driv "A" yo mus firs generat bootabl qua densit diskette Th easies wa t d thi i t temporaril instal qua densit driv a driv "B" Th dis i dri "A shoul contai th followin files: DDT.COM MOVCPMQ2.COM FORMAT96.COM an SYSGEN.COM Us DD t loa th forma progra int memory the modif th curren syste t recogniz driv "B a qua density Type: DD FORMAT96.CO {Return} the loo fo th curren MTA are aroun F700H: DF70 {Return} Onc yo hav foun th MTA area locat th MTA fo driv "B" I wil begi: 0 5 ...... o 2 5 ...... Se driv "B t doubl side qua densit b changin thos byte to: 2 7D Ru th forma progra b typing: G10 {Return} Whe th progra ask fo drive pres "B" Whe aske "Singl o doubl side format?" respon wit "D" Jus "g wit th flow an yo wil b rewarde wit formatte qua densit diskette. T tur th diskett int bootabl syste diskette type: MOVCPMQ 6 {Return} Th modifie MOVCP progra wil generat 64 syste an infor yo tha i i read t sysgen A tha point typ: SYSGE {Return} an respon t th "Source? quer wit {Return} an answe "Destination? wit "B" Pres {Return whe asked an yo wil hav generate rea liv qua densit boo disk Ste 5 I i feel good d it. Yo ma no r-configur you hardware cop th modifie file (MOVCPMQ2.CO an FORMAT96.COM t you ne boo disk an procee t creat plethor o ne qua densit boo disk wit jus FORMAT9 an SYSGEN Shoul you termina requir specia installatio fo no-standar contro codes th recommende metho o patchin i wit INIT.CO an TERMINAL.DA fro th Morro Owner' Revie Upgrad kit I yo ar comfortabl wit D o ZAP fee fre t us the i preferenc t DD fo patchin MOVCP an FORMAT I yo hav no ye purchase MOR' FLO collectio o Morro sourc code dela n longer Ever littl bi o documentatio o "wha make i run make i easie t hack tweak an otherwis fine-tun you machine Hav a it! L͇ 7͸ 1  K s ʹ͒(͝(͋( ͒ :G!~ #* 2>2:] :e ( !]8>!(>>!"! (;(* ͙ "X*s#r#:>>= W#~ z :<2R*s#r#" ~ p:G:NO<2N*L^#V#"L͓:QO<2Q*O^#V#"O͓  >2NSL*R=}?0<#"O2Q >A_) ~ ( ( #_x = _A_:=#!^#V#ST^#VSV>) *T~ ( ( #_6 x *T͙>:R<2R (;(* ͙[VR82Rͧ=>! 0 Ͷ! 0l(_(͜>#ͧط # .lo(bg(bw( :2):Z ̀ })\:[G)W:_<8>72: !  !!zw#6O:<2a(  :2>2;̀ :g} % 22#0850 2͙>>#l##[Xs#rͧط(; lW>͎:Z ̀ }͎:[G\͎>͎#>! 0^@'((;>|~'(!(*(t07># 7>y208:8 _A8 G007*Xw#"X~ 7# \~08:0>2Z>:[;' $#~'  # ~*(' #>2Zy2[08:8(*( '(#~ >2Zy2[~# , :[O >"##~ >G# \a8{0_ #*>X^#V :  }"0271'_!^#V %  Rx *:T*:T́*R"S 2S 2S$S$S!e 0(>x!e 0D~G#~#~##(y++~w##~w#ɷG^#V*[Rr+s##*w# "*~ 6*# >0Ͳ);P7 ~>: ~>*.%%66666 66 6*.L ! "L S*BL R :*PL R !*HL *FL R >*HL R *KͶ :2 ! L R !͍ < >>2 a ! : G:<'=2 Sa : GC:W'2:<'2! ">*:G:2Ra *:G:2Rw ѷ>ѷ>! L *L R >*L R *K##:B >B [R>B [r+s##6#s#r>ɾ#^#V#^#V+[R[ɷG^#Vs#r#_Y >N >< : n ͒( B :> :2> *. 2 & :R(m :Ro&- O! ~#^#V#(Y }  0K ! RJ }  0_}  !:_!|+^="G[+~o& ["* MD!x xGyO0))!>jB?8J?j= i HOMEe CLRm LEFTq RIGHTu UPy DOWN} HI LO CEOL CEOS INSLINE INSCHAR DELCHAR DELLINE   ()TYQWER CURSOR ASCII R+ C+ ESC SP LEVEL@   9 c %Dl5Cannot Open the Terminal Definitions file $Cannot Read the Terminal Definition File $Token Buffer has overflowed $No terminal titles to build menu $Current Element not in the dictionary $Missing Delimiter $Line Definition Type is Unknown $Terminal Level Definition Out of Range $Bad Symbol in Definition Line $Invalid Char in Literal Numeric String $Literal Numeric String is too Long $Direct Cursor Address String too Long $Not Enough Room for the Character Translation Table $Unable to Open System file on Disk $Unable to Read System from the Disk $Unable to Write System to the Disk $Unrecognized Error $ Error on line $Micro Decision Terminal Initialization Program, Rev 2.1 Copyright 1984 Morrow Designs Inc. San Leandro, Ca $ Please enter the Letter of Your Choice $ $ Is $ the correct choice? (Y/N) $ Is the current level Ok? (Y/N) $ The CP/M SYSTEM diskette will not be installed for your terminal. You must install some of the application programs (i.e. WordStar and LogiCalc) yourself. In addition, the Micro-Menus will not appear as they should on the screen. Before confirming this selection, check to see if your terminal can emulate any of those on the selection Menu. If it can, you will find it more convenient to use your system. $ You have a Level 1 terminal. All programs supplied by Morrow Designs are pre-installed for your terminal. Any programs not supplied by Morrow Designs must be installed for $ an ADM-3A terminal. $ a SOROC IQ-120 terminal. $ an ADM-31 terminal. $ an MDT-60/MDT-70 terminal. $ The Terminal Installation is Now Complete $ Press Reset to Make the Changes Effective Immediately $TERMINALDATCPM3 SYS  =k)(NSWP is copyright (c) 1983 by Dave Rand 10232-160 Street Edmonton, Alberta (403) 484-4114!9"1=*."7.2.2. 2.2.2. 0ڱ2.-!]. `>?!" .".!^#6#6!M ͼr@Drive :.AQ:.<>*Q>? =__o&S2.@:!.]@ !" .#"+."-.w!=.͊}+h#" .!e2*.+" .#͈".!"."/."1.1=:.2:.d* .#}»@ No files.XL'SʪÀ9*.͈dG!!5~ȸ###^#V:._:.__1*-.@K in #@ files. *+.@K free. u uBXSDTUVPEkL'CM A RcFWY%?Q *.#".* .,Ҁ!".9À*.|+".€9* .".À@ Which drive? @:!AڀQҀ :.GA2.9rw9*+.@K remaining on drive AQ>:Q9x2.rÀ@ Which flags (1-4,R,S,A)? @!o. 6#L!!~ʀ#">.*>.#">.ʊ!o. ʄ#w_>_> 1234zzzzRSA@ Delete file? Y€*.;À͈]2\ `6`__^_:e!@ R/O. Delete? Y:e2e\\_* .*.{ozg))))xV~# xL* .+" .*.,+".@ Erase Tagged or Untagged files (T/U)? TʤU€T>ʬ2 .@ Do you wish to be prompted (Y/N/A)? ʀAʀNY>¯24.!".͈4~G: .f@ Deleting ---> :4.W@ Delete (Y/N/A)? AzYfʃ;h#* .#}z+,!".À!".Ü ~6ʩ#*1."1.*/."/.*/.@K (*1.@K).*.͈4͌u@ Tagged files = *.͈ͩu4~6#*1.~"1.*/.~"/.@ New drive/user/mask? @!!~ʀ#">.:\`:.<=2.:;.y#~*>y:.2.:] ‘!]^ 6?`!\. `992.~ʸV#ª2.@ Illegal drive code.Àͥ:.2;.:.29.~0ں:AںQҺA29.#~:ȷ*:0:'G#~:33036302;.x 2;.>2;.! !!^#6#p#~iwV@ Copy to drive/user? @!!~ʀ r#:D.::.G:;.ʧ:9.G:.@ Can't copy to same drive and user.À*.͈2H.I. `~2:.@ Copy to (filespec)? @!!~ʀ#">.*>.ͥ:] > !I.] ~#4 :\=29.!I.]NT ͙!]I. 怶w#\ !\n. `:.G:9.ʅ  r À@ Squeeze, Unsqueeze or Reverse (S,U,R)? 2.S U R€> 2D.9:.2:. a!͈4~+Fƒ x2:.:D.O :.G:9.O ::.G:;.O @ Skipping, same drive & user --> à :D.s ʊ @ Copying --> Þ @ SQ/USQ --> Þ @ Setting --> @ to :D.) !o. ~ #» !w. ~  ~ # e ~Q#  1 2 3 4 R/W R/O SYS ARC :9.AQ:;.< ::.o& G >:Q:.e @ with CRC.:D.z ʴ } z 6ʜ #* ., 9ñ @ --- Aborted ---ÀH. `~6`2:.d!I.o. ~ww# H.!I. `} !͈4~3 @ Retagging --> > Q4͌#* ., À"@(~#a QS @)~ Q#j ".͵ *."".*. v,­ *.:.U$ R$ *.:.Rʽ U !0͂#*. 0!H.n. 6`!w.~ 6Q#6Q#6Q@(!o.j >.Qj @)s*.!H.͘'}0!0D C @ Not a SQ file.">."B.:;.2;.!\n.6 `s!"| _h *B.,}0@ ERROR - Checksum error in file nngo͵ @ Premature EOF on file... aborted.À0*:9.G:.::.G:;.ȸ!H.n. `2n.!"@.sd*."5.:.–H.l"5.*7.,ܺCͺ}0 |g}o{))))))),*.*7.~y|±}ڳ.&],H.͇"5. ||¥ͺÖ͏ʀl&͇"5.l:.@ Verifying --> R!z.{.6`n..!]~ ʀ ~ µ6?#­@ !/€".À@ Tag what? @!!">.!]~ ʀ@ !/€@ Tagging --> ͈> Q4͌#* .,J͈]N/> ~?\#Q*.͈ ~2:.@ New name, or *? @!!">.!l#~ ʀ ?#¡:;.¶::.w*.͈. r*.* .#" .e2*.+" .".,ڀ!".À:.29.\2\ `d:e9:e2e:u2u\:;._::.F__!mI. `2H.H.*.͊}ʒ@ Destination file exists! rÀ:;.ʢG::.::.___\__!m `::.__!\H. `2H.>?2T.*.H.͊}ʽ" .H.R!mI. `H.!)))))*. T.`H..ý@ Directory full.À<¨!=!o `*7.,@ OUT OF MEMORY?<¨i`@ Old name? @!!">.!.:. ʀ:;.2 .@ New name? @!!">.!n.:o. ʀ9!͈.¢@ Renaming -->  ~2:.@ to !mG:2#* .,R9>. r~ F: .?G># ɯ/o.m> ?~#=:;.::.:.AQ n&} 5 >:QyJ> Qͧ>.QͧJ*.#@. #~#> Q@K : ʢ*ʢ#yQ~Q#§9>2=.92=.<23.@Press ^X to abort, L to advance a line, cr to advance a page. >2<.*.͈ v,!nD*."".!0D D9!"L*.""."bnu>-_ ‚:3.<23.:<.O:=.O:3.G:OLʹlʹ23.O:3.=23.O0ÀO iiX!T.U.6`H.2H. `~2:.d*.""." .H.<@ Can't open file!À__:9._:;._ :._::.^*."&."$."(.R"n.<:w.ʻ:w.2w."!w.E.`6$#6$#6$ ""<@ Destination disk directory full.À!z.{.6`dH.<@ Can't close file!ÀRn."Rn.<=m"!n.~.`!E..`n.<=!E.w.`:Q.G:w.2w.:y.2y.n.*(.*$.G,xw#"$.*$.*&.,R:.,n.Y*$.,*&."$.*&.*$.~}yC#|N}P.],n.V͏%* .*".,ʂ~#"".d*.""." . :.H.¼* ." .—n*".* .,n= ,*".H.͏*"." .n͏ʀl&͇*"." .ü* .!==~V# `~##~#~  x$>[I* .".+|*.|ȯ|g}o".„#".* .+}o|g".!".*.".*.*.".*.*.}o|g".á*.#".*.,oÛ*.͈".*.͈". ~O## *.*.Fwx# |}!".".#".* ." .Q͟h*.".#".* .+" .|E*.͈*.`*.#".*.͈".*.͈". #•*.~ F. x:.?G># ɷ!"-.* .#}!=*-."-. x',?,$?d,2?} =?yRR> Q=G ] |S{0Q }0*0#*0~.Ҙg xʩ|-“#Ï}o|g:*.ʽ)=õ"+.:._.*:GxG|g}o ý^)))))#~&o))))o$#:*.ZK<}>o}}o}}o}#~#`a{_:._<ʀ0`:02*."0L L* .9ͩ9L*>.!\w=L!\*>.:. O0O:77:.Lx,yH,py2;.ͷr#*b6?dwQͷyh#6 r.¢ͷʢ#*’6?ÔwͷʩØ#6 ¢#6«">. =_.:;<> !.!yg)>g>!or$s%# :.~#, *@.O!. ~W$^"@. @ ~#Q@ _{dldr_!u! ~#G~d#z))))= NSWEEP - Version 2.07 07/17/1984 (c) Dave Rand, 1983, 1984 Edmonton, Alberta $ A - Retag files : Q - Squeeze/Unsqueeze tagged files B - Back one file : R - Rename file(s) C - Copy file : S - Check remaining space D - Delete file : T - Tag file for mass E - Erase T/U files : U - Untag file F - Find file : V - View file L - Log new disk/user : W - Wildcard tag of files M - Mass file copy : Y - Set file status P - Print file : ? - Display this help X - Exit to CP/M : cr, sp - Forward one file $"x#"z#!9""c#v]#>2t#2w#c#"~#*x#n͝"Gp#Œ"<"c#"#]#c">*z#"|#|ʓ"c#s#r#c#s#r#*|#+h"1>*x#*~#a{_USQ section (C) 1983, 1984 by Dave Rand (403) 484-4114!9"":w#"=2w#:v#####>==2w#:v#2v#:u#O:t#.#nŒ"O>=2t#yO*z#=###^#Vz#y2u#z>Z#{/|}nŒ"nŒ"go>2+"B,!9",1,*B,}o>͍+"+">,"@,&+2+W+#>Ð'vͨ+#>Ð'}2++|#c+?$!+$#456$~6 $G+~+#6$>+<+6$6$#4~#>+~6+:+2++#:+Q$>+<+*>,^#V#N#zl$#V$>Ð'~*@,w#s#r#q#"+>2+#^#V#N#~#2<,{$:+G*@,#ͮ+ڶ$####Ÿ$y2=,$*+y2=, }O|GT]+++:<,w#s#r#:=,w*+####"+:+<2+„$:+!*%45 %%%#%!*p27,28,l*g2+2+<27,29, '>29,! ,,ͻ+&29,!,:5,͍+::,Nw:6,/< 'G:;, '4x26,&!$,,+!,:5,͍+~2:,:6,&w:9,#%! ,,+#%>26,:*!5,4!'>28,#%~!,͍+~2;,&! ,̈́,2+*+))>͍+ ,",!",!,͒+~w6#w#w#w͒+̈́,!+̈́,*+* ,ͨ+>Ґ'*,* ,:+ʡ'"D,!9",1,!v(*+(!͡+"+*D,#~ ')#'>.)x͍+~ ')#')*+())*+~)#z(2+2+>2+c+v(c+(!+Y(#45v(~6J(G+~(=(v(>(<(v(v(#4~(>(~6(:+2+((:+ʑ(>(<(>́+###(:+ʰ(G:+¨()>2+*+|>(*,((́+F#^#V:+O{_zW:+ ()2+(y2+})|:8,I):+*+*+G:+Os#r#}0) z:)`)%)"+"+y2+!+4~`)2+!+~w:*=Gp)>':8,~):7,¤&!*p:8,#%28,27,#%́+:+w#*++2,,+!"," ,,!,e- ,!,͒+:+!$,͍+4!+5:8,)*+6:+O})7zW{_~*A+~+}* *~)*s#r*+/w#6#"+}!+4>́+###!I*͗)*+>+w+,կ++ä,**x!+4#4#4#4++*o&))*>,4#4#4ɯGO*>,w#w#w#q# ,+!+w#w#w#w#!+++!"+c+oc+gnk+*+͍+"+!+4#4#4*>,G͍+x͍+xo$շ#•+}o|g|}##~+~+~H + +x ~#+x ~++yxX+G]T~w+”,kb ,xG-"L-"N-Hi&)))#"T-!W-^-Aw#,!W-"P-!^-"R-*N-A#,C-A*L-~w#,!T-5,#5G-*P-A~w#-y2V-*R-DM*P-*N-#:V-=2V--?,*P-*R-"P-"R-,7H-*P-xH "-!- "-i`)))#"-A!-6#„-A*-+~w-kbA+~w›-Һ-*-!-Aw#°-!-5Œ-#455Ì-2ͨ!~(G#~ 2"Ox=2y ͨ22A88ͨ*A^#V__#>2Y+n#˖(E:(*G#~ ( ͨS(D( +ͨ ͨ~V!o ! W(l"SG:0"*?^#V!p">A2ͨ : ͨ (ͨͨ2B2^O@n f F~!~.P(h A *x!x$$ !6ͨ[ͨ##ZJͨ2CP7?(2J>2KͭC2ͨ:Y˗G:K2Y^V!!:Jw#:Kw#w#~w#œ:C<ݾ§Jͨnfz2_K ~(* 2`"(ͨJͨ>2~ :(ͨjͨ*|(6: ͨR (ͨ:A '*}(>A2ͨͨbͨ zͭC]2_Kͨ~#$!B ! *9*'!^ ! *3*****!RZ b  Z ZKbͨÁ // d0d 0 0(A8_ 0  * Micro-Decision Format Utility Rev. 1.1 * * BLOCK SIZE: 2K SSDD/DSDD/SSQD, 4K DSQD * * 186K SSDD * 384K DSDD/SSQD * 780K DSQD * $2K BLOCK SIZE $4K BLOCK SIZE $ Disk drive to be used (A-E) $ $ $ Insert diskette to be formatted in drive A, then press [RETURN] $ Single or double sided format (S or D) $D$ Quad density -- $ Double density -- $Single sided format $Double sided format $ Formatting track 000 $ Write error $ Read error $ Some errors were found on this diskette, run FINDBAD.COM to flag.$ Formatting done$ Press R to start again, or [RETURN] to return to CP/M $ Verifying track 000 $ Insert the system diskette in drive A, then press [RETURN] $ Your left drive is being re-assigned as drive A.$ Insert the diskette to be formatted and press [RETURN] $ Insert the system diskette, then press [RETURN] $!M!_Q_墚_(_P`(0d(0@(^ D(0>2!9^#V!1 Not a SYSTEM Diskette.* SWAP [D1][D2] For example, SWAP AB is the software equivalent of physically swapping disk drives A and B. The two drives will stay swapped until a cold boot (reset) or until they are SWAPped back. $ !~(G#~  2}_#~  2A80W{A80_*A~#fo-]T{_z!OO  zK_!yO    t DRIVES A & C HAVE BEEN SWAPPED $:<:=x,>=!]?G~µw#„,p, /; Terminal Definitions for the Terminal Installation Program ;----------------------------------------------------------- ; Last Revision: 26_Jun_84 ; ;---------------------------------------------------------------------- ; Definition Format ;------------------ ; 1) Any given line in this file is a Comment, a Terminal Title ; or a Terminal Definition. ; ; 2) Comment Lines Start with a Semi-Colon (;) or an Astrisk (*). These ; lines are for your benefit and are ignored by the translator. ; ; 3) Terminal Definition Lines start with a function identifier and ; are followed by an argument (ie Clr = *). The Function Identifier ; MUST BE seperated from the Argument by an equal sign (=) even if ; the argument is non-existant (ie Hi = ). ; ; 4) Terminal Title Lines MUST NOT contain an equal sign. ; ; 5) The minimum Terminal Definition contains the terminal title and ; the terminal level definition. Only those Functions which differ ; from the Defaults must be specified (see the table following this ; section). ; ; 6) In the Argument Field: ; -Any characters between two single quotes are taken ; literally (ie without any translation) ; -Two Single quotes together are translated as one single quote. ; -Control characters are preceeded by an Up-Arrow (^). ; -Numbers that are not enclosed in single quotes are translated ; to their value in base 10. ; -The term Esc can be used to represent the character Escape ; -The term Sp can be used to represent the character Space. ; ; 7) In Cursor Position Definitions: ; -the terms R+ and C+ are used to specify the row and column ; offsets. Additionally, The order in which these two terms ; appear determines the order in which the row/column addresses ; will be sent. ; -The word Ascii is used to indicate that the row/column ; addresses should be sent to the terminal in ascii format ; instead of the default binary. ; ; 8) TERMINAL.DAT is the Default Terminal Definition File; However, ; An alternate file may be specified in the command tail. The ; default extent for the alternate file is DAT unless otherwise ; specified. ; ; 9) If an Astrisk (*) appears as the first character of the command ; tail then the final message line (Push Reset to Make Changes ; Immediately Effective) is suppressed. ; ;---------------------------------------------------------------------- ; ProtoType Default Definitions ;------------------------------ ; ; Cursor for All Levels ; Cursor = Esc = R+32 C+32 ; ; Level 1 ..... Clr ^Z (1Ah) or Esc '*' ; Home ^^ (1Eh) ; Left ^H (08h) ; Right ^L (0Ch) ; Up ^K (0Bh) ; Down ^J (0Ah) ; ; Level 2 ..... Hi Esc ( ; Lo Esc ) ; CeoL Esc T ; CeoS Esc Y ; ; Level 3 ..... InsLine Esc W ; InsChar Esc Q ; DelLine Esc R ; DelChar Esc E ; ; Level 4 ..... Screen attributes: Under_Lined Dim and Reverse ; ;---------------------------------------------------------------------- Morrow 20 Level = 3 Cursor = Esc = C+32 R+32 Clr = * Morrow 50 (Freedom) Level = 3 Morrow 60 Level = 4 Morrow 70 Level = 4 ACT 5A Level = 2 Cursor = ^T R+0 C+0 Clr = ^L Home = ^] Right = ^X Up = ^Z Hi = Esc B Lo = Esc C CeoL = Esc I CeoS = Esc K ADDS Viewpoint Level = 2 Cursor = Esc Y R+32 C+32 Clr = ^L Home = Esc Y SP SP Right = ^F Up = ^Z Hi = ^O Esc '0' A Lo = ^N CeoL = Esc K CeoS = Esc k ADDS Viewpoint 3A+ Level = 1 Clr = ^Z Hi = Lo = ADM 3A or 5 Level = 1 Clr = ^Z Hi = Lo = ADM 22 Level = 3 Clr = ^Z ADM 31 Level = 3 Clr = ^Z ANSI Level = 1 Cursor = Esc [ R+1 ; C+1 H Ascii Clr = Esc [ H Esc [ J Home = Esc [ H Left = Esc [ D Right = Esc [ C Up = Esc [ A Hi = Lo = CeoL = Esc [ K CeoS = Esc [ J Beehive Micro B-1 Level = 1 Cursor = Esc Y R+32 C+32 Clr = Esc E Home = Esc H Left = Esc D Right = Esc C Up = Esc A Hi = Lo = Hazeltine 1420/1500 Level = 2 Cursor = ~ ^Q C+0 R+0 Clr = ~ ^\ Home = ~ ^R Right = ^P Up = ~ ^L Hi = ~ ^_ Lo = ~ ^Y CeoL = ~ ^O CeoS = ~ ^X Hazeltine Esprit Level = 2 Cursor = ~ ^Q C+0 R+0 Clr = ~ ^\ Home = ~ ^R Right = ^P Up = ~ ^L Hi = ~ ^_ Lo = ~ ^Y CeoL = ~ ^O CeoS = ~ ^X ; Honeywell ; Level = 3 ; Cursor = Esc f C+32 R+32 ; Clr = Esc ` ; Home = Esc H ; Right = Esc C ; Up = Esc A ; Hi = Esc '3' ; Lo = Esc '4' ; CeoL = Esc K ; CeoS = Esc J ; InsLine = Esc [ L ; InsChar = Esc [ I SP Esc [ J ^H ; DelLine = Esc [ M ; DelChar = Esc [ P Heath H19 Level = 1 Cursor = Esc Y R+32 C+32 Clr = Esc E Home = Esc H Left = Esc D Right = Esc C Up = Esc A Hi = Lo = IBM 3101 Level = 1 Cursor = Esc Y R+32 C+32 Clr = Esc L Home = Esc H Left = Esc D Right = Esc C Up = Esc A Hi = Lo = Qume 102 Level = 3 Clr = ^Z Soroc 120 Level = 2 Clr = Esc * CeoL = Esc T CeoS = Esc Y Televideo 910 Level = 2 Clr = Esc * CeoL = Esc T CeoS = Esc Y Televideo 912C/920 Level = 3 Clr = Esc * Televideo 925/950 Level = 3 Clr = Esc * Teleray Level = 3 Cursor = Esc Y R+32 C+32 Clr = ^L Home = Esc H Right = Esc C Up = Esc A Hi = Esc R @ Lo = Esc R B CeoL = Esc K CeoS = Esc J InsLine = Esc L InsChar = Esc P DelLine = Esc M DelChar = Esc Q Visual 200 Level = 2 Cursor = Esc Y R+32 C+32 Clr = ^L Home = ^A Left = ^G Right = ^F Up = ^Z Hi = Esc '3' Lo = Esc '4' CeoL = Esc x CeoS = Esc y VT52 Level = 1 Cursor = Esc Y R+32 C+32 Clr = Esc H Esc J Home = Esc H Left = Esc D Right = Esc C Up = Esc A Hi = Lo = VT100 Level = 2 Cursor = Esc [ R+1 ; C+1 H Ascii Clr = Esc [ H Esc [ J Home = Esc [ H Left = Esc [ D Right = Esc [ C Up = Esc [ A Hi = Esc [ '1' m Lo = Esc [ '0' m CeoL = Esc [ K CeoS = Esc [ J Wyse Level = 3 Clr = ^Z Concept AVT Level = 4 Cursor = Esc [ R+1 ; C+1 H Ascii Clr = Esc [ H Esc [ J Home = Esc [ H Left = Esc [ D Right = Esc [ C Up = Esc [ A Hi = Esc [ '1' m Lo = Esc [ '0' m CeoL = Esc [ K CeoS = Esc [ J InsChar = Esc 1 InsLine = Esc [ L DelLine = Esc [ M DelChar = Esc [ P None of the above Level = 0