DOS Detach for Dragon and Tandy CoCo

Use this forum to submit new files for the download section of the archive. I will check each submission and upload it to the archive on a regular basis.
Post Reply
zephyr
Posts: 1474
Joined: Mon Jul 21, 2008 1:18 am

DOS Detach for Dragon and Tandy CoCo

Post by zephyr »

Here's a handy DOS detach utility from Steve Woolham. Two versions are supplied, one for the Dragon 32/64, and one for Tandy Color Computer models 1, 2, and 3.

A utility like this is invaluable if you happen to own an original Dragon or CoCo DOS disk system. There's a lot of software (games/utilities) that won't work with the DOS cartridge installed, because both software and DOS want to use the same memory. Without utilities like this, the only option is to unplug the DOS controller cartridge. Doing this frequently will put the edge and cartridge port connector under a lot of stress, and could damage your valuable controller cartridge, or the computer's cartridge port.


First you must type in one of the following BASIC programs, RUN it, and save the machine code to floppy disk using the START, END, and EXEC addresses displayed on screen.

e.g.
Dragon

Code: Select all

SAVE"DETACH",20480,20680,20480
Tandy

Code: Select all

SAVEM"DETACH",20480,20711,20480
Alternatively, you can record one of the attached audio WAV files from your PC to a suitable cassette.

Code: Select all

0 'DOS DETACH V1.0
1 'FOR THE DRAGON 32/64
2 'BY STEPHEN J WOOLHAM
3 '
10 CLS:PRINT"WRITING MACHINE CODE..."
20 FOR I=20480 TO 20679:READ A$:X=VAL("&H"+A$):CSUM=CSUM+X:POKEI,X:NEXT
30 CLS:IF CSUM<>19162 THEN PRINT"ERROR IN DATA LINES":END
40 PRINT"START ADDRESS = 20480"
50 PRINT"END ADDRESS = 20680"
60 PRINT"EXEC ADDRESS = 20480"
70 POKE144,2:POKE145,0:END
100 DATA 86,7E,CE,1,D1,B7,1,A0,FF,1,A1,30,8D,0,B9,9F,76,30,8D,0,9,A6,80,A7,C0,9C,76,25,F8,39,34,1,8C,81,94,26,4,81,39,27,2,35,81,9D,9F,35,11,1A,50
110 DATA F,6F,30,8D,0,1B,BD,90,E5,8E,B4,4F,9F,72,CC,39,4A,8E,1,5E,A7,80,5A,26,FB,BE,CC,CB,8C,44,45,26,4D,39,44,4F,53,20,44,45,54,41,43,48,20,56,31,2E,30
120 DATA D,46,4F,52,20,54,48,45,20,44,52,41,47,4F,4E,20,33,32,2F,36,34,D,28,43,29,20,32,30,31,30,20,42,59,20,53,54,45,50,48,45,4E,20,4A,20,57,4F,4F,4C,48
130 DATA 41,4D,D,D,0,A7,80,ED,81,EF,81,39,4F,B7,FF,48,8E,B4,69,BF,1,A,BF,1,10,8E,1,2A,CE,89,B4,8D,E4,8D,E2,9F,B0,8E,9D,3D,BF,1,D,CC,C,6,97,B7,D7,BA,D7,BC,39

Code: Select all

0 'DOS DETACH V1.0
1 'FOR THE TANDY COCO
2 'BY STEPHEN J WOOLHAM
3 '
10 CLS:PRINT"WRITING MACHINE CODE..."
20 FOR I=20480 TO 20710:READ A$:X=VAL("&H"+A$):CSUM=CSUM+X:POKEI,X:NEXT
30 CLS:IF CSUM<>22795 THEN PRINT"ERROR IN DATA LINES":END
40 PRINT"START ADDRESS = 20480"
50 PRINT"END ADDRESS = 20711"
60 PRINT"EXEC ADDRESS = 20480"
70 POKE146,2:POKE147,0:END
100 DATA 5F,8E,1,A0,B6,BF,FF,81,1B,26,9,CC,BD,7E,B7,A9,10,BF,A9,11,86,7E,CE,1,D1,A7,84,EF,1,30,8D,0,C6,9F,76,30,8D,0,B,A6,80,A7,C0,9C,76,25,F8,D7,76,39,34,1,8C,AB,A3,26,4,81
110 DATA 39,27,2,35,81,9D,9F,35,11,96,76,27,9,8E,8C,46,B7,A9,10,BF,A9,11,1A,50,7F,FF,40,F,6F,30,8D,0,48,BD,B9,9C,8E,80,C0,9F,72,CC,C,6,97,B7,D7,BA,D7,BC,8E,A0,F6,BF,1,A,8E,1
120 DATA 34,6F,80,8C,1,3C,25,F9,CC,39,4A,8E,1,5E,A7,80,5A,26,FB,8E,80,2,33,8D,0,16,A6,80,A7,C0,8C,80,92,25,F7,86,39,A7,C4,D,76,27,5,86,76,A7,C8,94,44,4F,53,20,44,45,54,41,43
130 DATA 48,20,56,31,2E,30,D,46,4F,52,20,54,48,45,20,54,41,4E,44,59,20,43,4F,43,4F,D,28,43,29,20,32,30,31,30,20,42,59,20,53,54,45,50,48,45,4E,20,4A,20,57,4F,4F,4C,48,41,4D,D,D,0

Instructions for the Dragon version of DOS Detach

To detach DOS before loading cassette based software:

1. LOAD"DETACH.BIN"
2. EXEC20527 or EXEC&H502F


To detach DOS after loading a BASIC, or machine code program from floppy disk:

1. LOAD"DETACH.BIN":EXEC
2. LOAD any BASIC or machine code program (game/utility) from floppy disk
3. CLS9:RUN for BASIC programs. CLS9:EXEC for machine code programs.


Instructions for the Tandy version of DOS Detach

To detach DOS before loading cassette based software:

1. LOADM"DETACH"
2. EXEC20560 or EXEC&H5050


To detach DOS after loading a BASIC, or machine code program from floppy disk:

1. LOADM"DETACH":EXEC
2. LOAD any BASIC or machine code program (game/utility) from floppy disk
3. CLS9:RUN for BASIC programs. CLS9:EXEC for machine code programs.


NOTE: In order to prevent corruption of machine code programs loaded from floppy disk, BASIC is not moved during the detach process. The position of the BASIC stack pointer is also left unchanged so that you can move it wherever you like with a CLEAR statement before loading a machine code program from floppy disk. As a result of this you will need to do a PCLEAR4 after DOS has been detached if you want the full 24871 bytes free prior to running a BASIC program. If you are using DeltaDOS, a CLEAR200,32767 will also be required.
Attachments
DOS_DETACH_V10.zip
(108 KiB) Downloaded 271 times
Post Reply