The CoCo 3 DOES NOT support the first "double speed"POKE. Tandy actual did something better... they decided tosupport the double speed POKE fully! The address at 65497,0supports true double speed operation of ROM, RAM (RAMis refreshed properly), and video. POKE 65496,0 still returnsto standard speed. Many CoCo 3 programs take advantageof the double speed mode, but disk operation is stillhindered because the Disk BASIC extension was not modified.OS-9 Level II runs in double speed all the time- thereis no way to slow the processor down!The following program makes several changes to DiskBASIC. These changes can be burned into an Intel 2764ROM to make them permanent. The 2764 is a 28 pin chip,meaning an adapter (available from Spectro <strong>Systems</strong>) isrequired for all Tandy controllers except the short one.Simply run the program and then save a copy of the DiskBASIC ROM code to disk (or tape). The listing is commentedwith explanations between program lines (don’t typein the explanations, program lines are in bold). Eliminatethe lines with unwanted features. Programmers may useportions of this listing in commercial products as long as thestatement "Portions by F.G. Swygert & L.Todd Knudsen" isincluded in the new BASIC code.10 REM Program for setting printer baud, drive step rate, anddouble speed disk access, CoCo 3.Program was written for a CoCo 3. Will run on a CoCo 1/ 2 afterchanging all LOCATE statements to PRINT@ and running the ROMinto RAM program.30 REM by F.G. Swygert, January, <strong>1993</strong> - 1110-1140 by L.ToddKnudsen, 199260 POKE 65497,0CoCo 3 double speed; 65495,0 for CoCo 1/265 POKE 150,18Change printer baud rate to 1200. Will be 2400 (double the value) withthe speed-up POKE.70 IF PEEK(&HA282)=23 THEN 120Check for ADOS & EADOS3. ADOS should already be set up withfaster drive access rates. If present go to line 120.<strong>80</strong> IF PEEK(&HC004)=215 THEN 100Check if DECB 1.0/1.1. If PEEK value is 215, then DECB 1.1 ispresent. Value would be 214 for 1.0. If 1.1, go to line 100. If not(therefore 1.0), continue.90 POKE &HD6CD,0 : POKE &HD723,20 : GOTO 140Set drive to 6ms access time, DECB 1.0/2.0100 POKE &HD7C0,0 :POKE &HD816,20 : GOTO 140Set drive to 6ms access time, DECB 1.1/2.1120 CLS : SOUND 150,4 : LOCATE 14,16 : PRINT "Currentlyset up for 2400 baud printer." : LOCATE 14,17 : INPUT "Doyou wish to change this? (Y/N)"; A$Clear the screen : Make a sound with tone 150 for a duration of 4 :move cursor to column 14, line 16 : PRINT statement in quotes : movecursor to column 14, line 17: accept INPUT after printing statementin quotes, the INPUT will be stored as A string130 IF A$="y" OR A$="Y" THEN 320 : IF A$="n" ORA$="N" THEN 420 : GOTO 120If A string is "y" or "Y" (yes) go to line 320, if it is "n" or "N" (no) goto line 420. If A string is neither, the computer will go this far and startover by returning to line 120.140 CLS : SOUND 150,4 : LOCATE 14,16 : PRINT"Currentlyset up for 2400 baud printer and 6ms drive"See comments for line 120.150 LOCATE 14,17 : INPUT "step rate. Do you wish to changethis? (Y/N)"; A$See comments for line 120.160 IF A$="y" OR A$="Y" THEN 190 : IF A$="n" ORA$="N" THEN 440 : GOTO 150See comments for line 130190 CLS : LOCATE 6,4 : PRINT"Select Drive Step Rate: ": PRINTSee comments for line 120. The PRINT at the end causes a blank lineto be put on the screen.200 PRINTTAB(8) "1 = 6ms 2 = 12ms 3 = 20ms 4 =30ms"PRINT the following beginning 8 spaces over.210 PRINT : LOCATE 6,8 : INPUT "Selected Value"; D$See comments for line 120.220 IF PEEK(&HC004)=215 THEN 230 ELSE 270Check for DECB 1.1. If present go to line 230, otherwise go to line 270.230 IF D$="1" THEN POKE &HD7C0,0 : POKE &HD816,20: GOTO320240 IF D$="2" THEN POKE &HD7C0,0 : POKE &HD816,21: GOTO320250 IF D$="3" THEN POKE &HD7C0,0 : POKE &HD816,22: GOTO320260 IF D$="4" THEN POKE &HD7C0,0 : POKE &HD816,23: GOTO320265 POKE &HD762,2POKE the values for the specified step rate, DECB 1.1 then go to line320 (see line 200 for rates). Line 265 sets the number of times thecomputer will try to read a disk before issuing an "I/O ERROR" (in thiscase, 2 tries- normally 5)270 IF D$="1" THEN POKE &HD6CD,0 : POKE &HD723,20: GOTO3202<strong>80</strong> IF D$="2" THEN POKE &HD6CD,0 : POKE &HD723,21: GOTO320290 IF D$="3" THEN POKE &HD6CD,0 : POKE &HD723,22: GOTO320300 IF D$="4" THEN POKE &HD6CD,0 : POKE &HD723,23: GOTO320305 POKE &HD66F,2Same as 230-265, except for DECB 1.0.310 GOTO 190If none of the above, go back to line 190.320 LOCATE 6,10 : PRINT "Select Printer Baud Rate:" :PRINTSee comments for line 190.330 PRINTTAB(8) "1 = 600 2 = 1200 3 = 2400 4 = 4<strong>80</strong>05 = 9600"See comments for line 200340 LOCATE 8,14 : A=PEEK(65314) : B=INT(A/2) : C=A/2: IF C-B=0 THEN PRINT " PRINTER IS ON " ELSE PRINT" PRINTER IS OFF "Move cursor to column 8 line 14 : the next four statementscheck the printer port for activity : PRINT whether the printer is on ornot.350 PRINT:LOCATE 6,18:INPUT"Selected Value"; R$See comments for line 120.360 IF R$="1" THEN POKE 150,1<strong>80</strong> : GOTO 420370 IF R$="2" THEN POKE 150,87 : GOTO 4203<strong>80</strong> IF R$="3" THEN POKE 150,41 : GOTO 420390 IF R$="4" THEN POKE 150,18 : GOTO 420<strong>Tandy's</strong> <strong>Little</strong> <strong>Wonder</strong> page 39
400 IF R$="5" THEN POKE 150,4 : GOTO 420410 GOTO 320POKE the values for the specified baud rate then go to line 420. Notethat the value is actually HALF the specified rate because the doublespeed POKE is used.420 LOCATE 20,23 : PRINT "PRESS ANY KEY TO AC-CEPT, BREAK TO STOP"; : EXEC 44539This line allows a chance to stop if a mistake was made. EXEC 44539makes the computer wait for a key to be pressed before continuing theprogram.430 IF PEEK(&HA282)=23 THEN 1000Check for ADOS/EADOS. If present, go to line 1000440 IF PEEK(&HC004)=214 THEN A$="C0EED52AD6D1D6F1D727D75E" ELSE A$="C101D617D7C4D7E4D81AD851"Check for DECB 1.0, use first string for data if it is present, else usethe second string for DECB 1.1450 FOR V=1TO24 STEP 4460 A=VAL("&H"+MID$(A$,V,4))470 POKE A,189 : POKE A+1,240 : POKE A+2,157 : POKEA+3,184<strong>80</strong> NEXT490 POKE &HF09D,52 : POKE &HF09E,127500 POKE &HF09F,53 : POKE &HF0A0,255Lines 450-500 use the data strings in line 440 to POKE values into DiskBASIC to change timing so that double speed can be used reliably.510 IF PEEK(&HC004)=214 THEN 520 ELSE 600Check for DECB 1.0, go to 600 if not present.520 POKE 50952,78530 POKE 50986,84 : POKE 51083,78540 POKE 51104,78 : POKE 51135,78 : POKE 52300,78550 POKE 52697,78560 POKE 536<strong>80</strong>,40570 POKE 54111,785<strong>80</strong> POKE 54342,39590 POKE 54642,40 : POKE 54677,40Lines 520-590 patch the following in DECB 1.0 for 40 trackoperation (line by line): KILL, FAT (File Allocation Table),GAT (Granule Allocation Table), FREE, BACKUP, COPY,DSKI$/DSKO$, and DSKINI. Values 40 and 39 are tracks,78 is the maximum number of files (68 for 35 tracks).600 POKE 50997,78610 POKE 51034,84 : POKE 51131,78620 POKE 51183,78 : POKE 51152,78 : POKE 52518,78630 POKE 52917,78640 POKE 53917,40650 POKE 54349,78660 POKE 545<strong>80</strong>,39670 POKE 54879,40See comments for lines 520-590, these for DECB 1.1.1000 CLS : PRINT : PRINT : PRINT "FINISHED!!!"Clear screen, print three blank lines then FINISHED!Miscellaneous Useful PEEKs, POKEs & EXECs:1. POKE 111,254 : DIR - Prints disk directory on printer.2. POKE 308,0 : POKE 313,0 - Disables ALL disk commands.3. POKE 308,19 : POKE 313,6 - Restores all disk commands(DECB 1.0; change 19 to 20 for DECB 1.1).4. POKE 113,0 : EXEC 40999 - does a "cold start". Can usePOKE then press RESET (good for program protectionpreventslisting after RESET). Mostly used for CoCo 1/2,CoCo 3 has CTRL-ALT-RESET (use EXEC 35867 withPOKE 113,0 for CC 3).5. POKE 234,0 : EXEC 55135 - "parks" disk drive heads.6. PRINT PEEK(188) - Prints 14 with a disk system, 6 withcassette.7. POKE 282,0 - Sets lowercase display.8. POKE 282,255 - Sets uppercase display.9. POKE 293,0 - Disables all BASIC functions, 293,20restores.10. POKE 306,178 : POKE 307,119 - Disables Extendedand Disk BASIC only, 306,129 : 307,104 restores.11. PRINT PEEK(33021) - Prints 50 if CoCo 3.12. POKE 65281,0 - Locks out keyboard, RESET to restore.POKE 65281,4 restores keyboard in a program.14. POKE 383,158 - Prevents listing of a BASIC program.POKE 383,126 restores.15. POKE $H167,&H39 : POKE &HFF22,21 - EnablesCoCo 2B lowercase display mode, prevents ASCII saves.Try without first POKE... may not prevent ASCII saves then.16. PRINT PEEK(341) - ALT key (prints 191 pressed);PEEK(342) - CTRL key; PEEK(343) - F1; PEEK(344) - F2(these will work on keyboards with four function keys also)17. POKE 65502,0 - Disables all CoCo 3 commands, readsonly ECB portion of ROM directly from ROM, just as aCoCo 1/2 would. Some programs that won’t run on a CoCo3 might after this. POKE 65503,0 restores normal CoCo 3functions.More POKE enhancements can be found in the books "500POKES, PEEKS, 'N EXECS", "Supplement to POKES,PEEKS, 'N EXECS", and "300 POKES, PEEKS, 'N EXECSfor the CoCo III" series of books from Zebra <strong>Systems</strong>. Thesehave many programming hints for all CoCos and are highlyrecommended to all programmers.page 40<strong>Tandy's</strong> <strong>Little</strong> <strong>Wonder</strong>
- Page 1: Tandy's Little Wonder,The Color Com
- Page 6: Introduction...Alfredo Santos, Dece
- Page 9 and 10: The Micro Works had its CBUG, 80C d
- Page 11 and 12: Washington state. The computers wer
- Page 13 and 14: ticle describing the installation o
- Page 15 and 16: A new CoCo magazine, 68 Color Micro
- Page 17 and 18: pitched carrier tone but by a "disc
- Page 19 and 20: With desktop publishing so popular,
- Page 21 and 22: What better time to advertise new p
- Page 23 and 24: plugged into the CoCo. A separate p
- Page 25 and 26: ceived 20 hours of on-line time. It
- Page 27: Technologies. This computer had bee
- Page 30 and 31: issue (sore spot!) for many adverti
- Page 32 and 33: the missing September OS-9 Undergro
- Page 34 and 35: 1985 (continued)26-1275 - $299.00 -
- Page 38 and 39: Operating Environments and Programm
- Page 42 and 43: ADOS... Arts' Disk Operating System
- Page 44 and 45: Compiled BASIC...BASIC is normally
- Page 46 and 47: When you LOAD and RUN a BASIC progr
- Page 48 and 49: the CPU to the number 1 and put the
- Page 50: With all these modules and processe
- Page 54 and 55: * Connecticut -NAME: South Eastern
- Page 56 and 57: * Texas -NAME: CoCoNautsADDRESS: 16
- Page 58 and 59: NAME: Rick's Computer EnterpriseADD
- Page 60 and 61: National Bulletin Board/Database Sy
- Page 63 and 64: Current PublicationsThere are still
- Page 65 and 66: Past MagazinesThe Color Computer de
- Page 67 and 68: The next video type to consider is
- Page 69 and 70: Co., 4300 West 62nd Street, Indiana
- Page 71 and 72: Tape I/O for the CoCo normally occu
- Page 73 and 74: SCS line activates the controller,
- Page 75 and 76: uilt in controller boards and were
- Page 77: Most laser and ink-jet printers als
- Page 80 and 81: Modem Pak that you wish to be inter
- Page 83 and 84: RAM UpgradesEach of the various CoC
- Page 85 and 86: Beyond 64K in the CoCo 1 & 2There w
- Page 87 and 88: functions, the PLAY and SOUND comma
- Page 89 and 90: 5) I cut a piece of sheet metal to
- Page 91 and 92:
lows as 0V. A pulse should read as
- Page 93 and 94:
MC6883 and 74LS783/785 SAM Chip (Co
- Page 95 and 96:
on. CTRL-ALT-RESET may not clear ev
- Page 97:
E board CoCo, the zener is a 1N4735
- Page 100 and 101:
When it seemed that the CoCo was ag
- Page 102 and 103:
Around the same time as the demise
- Page 104 and 105:
into the upgradable TC9 and then in
- Page 106 and 107:
I completed my second book, a compl
- Page 108 and 109:
The CoCo is capable of using up to
- Page 110:
BASIC/Extended/Disk Error CodesCode
- Page 124:
POWER JOYSTICK JOYSTICK SERIAL CASS
- Page 132 and 133:
IndexSymbols and Numbers128K upgrad
- Page 134 and 135:
DigiSector DS-69(B) 20, 21, 80Digit
- Page 136 and 137:
MediaLink Software 56Olaf Meding 44
- Page 138:
Snake Mountain Software 11Soft Sect