TRSDOS v1.3 ZAPS (Unofficial)

Page Index

Zaps changing the way TRSDOS 1.3 Boots

Fast Boot (Remove Banner)

Speed up the boot process by removing the initial banner display.
This ZAP modifies OVERLAY 0

DISK LOCATION
(Trk,Sect,Byte)
RAM ADDRESS
From
To
00,0B,40
(4E88)
CD,1B,02
00,00,00
00,0B,4C
(4E9A)
CD,1B,02
00,00,00
00,0B,52
(4E9A)
CD,1B,02
00,00,00

Bypass Model III ‘picture’

PATCH *0 (ADD=516C,FIND=D0,CHG=03) -or-
PATCH *0 (ADD=516C,FIND=D0,CHG=0D)


Bypass the copyright notice

PATCH *0 (ADD=508A,FIND=28,CHG=03) -or-
PATCH *0 (ADD=508A,FIND=28,CHG=0D)


Bypass the Date/Time query on power up

PATCH *0 (ADD=4EB8,FIND=213B51,CHG=C3394F) -or-
PATCH *0 (ADD=4EA9,FIND=CA,CHG=C3) -or-
PATCH *0 (ADD=4EB5,FIND=CD1B02,CHG=B72846)


Remove Time and Date Question

Speed up the boot process by removing the time and date inquiry.
This ZAP modifies OVERLAY 0

DISK LOCATION
(Trk,Sect,Byte)
RAM ADDRESS
From
To
00,0B,61
(4E9A)
CA
C3

Bypass only the Time query on power up

PATCH *0 (ADD=4EF7,FIND=06,CHG=36)


Bypass the line which tells you the RAM and Number of Drives, as well as Time/Date Prompts

PATCH *0 (ADD=5039,FIND=20,CHG=0D)


Bypass Date/Time on power up and set Date to 00/00/00

PATCH *0 (ADD=4EB1,FIND=06,CHG=17)
PATCH *0 (ADD=4ED4,FIND=3A81,CHG=184D)


Bypass Date/Time error checking so anything can be entered

PATCH *0 (ADD=4EB5,FIND=CD1B02,CHG=C3F64E)


Hasten the Boot time by eliminating the fancy displays and tell TRSDOS that you have 4 drives

PATCH *0 (ADD=4E11,FIND=21F443,CHG=C3264E)
PATCH *0 (ADD=4E43,FIND=3A1244,CHG=C3614E)
PATCH *0 (ADD=4E63,FIND=0604CDD444,CHG=3E03C3744E)
PATCH *0 (ADD=4E9A,FIND=CD1B02,CHG=000000)
PATCH *0 (ADD=5039,FIND=20,CHG=0D)
PATCH *0 (ADD=516C,FIND=D0BF9F,CHG=1C1F03)


Bypass the “Auto Function Engaged” message

PATCH *0 (ADD=4F62,FIND=CD1B02,CHG=000000)


Patch locations for bootup items

Logo addresses in overlay 0 (PATCH *0):

516C
Model III picture, using space compression codes.
5010
483216 , used for 48k, 32k, or 16k in the display
5016
Version number, # of drives, memory size, text
508A
Copyright notice (on some DOS, the “(” around the “(c)” is 03 Hex, should be 28 Hex)
512D
Try Again, followed by 4 spaces and 03 Hex
513D
Enter Date (MM/DD/YY)?, followed by 20 Hex, 03 Hex
4F6B
Auto Function Engaged, followed by 0D Hex

Normally, a carriage return <0D Hex> follows text.


Cause the AUTO command to be displayed when executing. Since this patch affects other patches, it will be referred to as the DISPLAY AUTO patch.

PATCH *0 (ADD=4F60,FIND=6B4F,CHG=2542)



Stop Zeroing of Memory on Boot

Stop the automatic zeroing of memory at reboot.
This ZAP modifies OVERLAY 1

DISK LOCATION
(Trk,Sect,Byte)
RAM ADDRESS
From
To
10,00,77
(4E73)
ED,B0
00,00

Zaps changing the TRSDOS 1.3 Prompt

Eliminate the dots after TRSDOS Ready (next line)

PATCH *1 (ADD=4E78,FIND=2E,CHG=03) -or-
PATCH *1 (ADD=4E78,FIND=2E,CHG=20) -or-
PATCH *1 (ADD=4E75,FIND=063E3E,CHG=C37E4E)


Change the “TRSDOS Ready” prompt to any 12 characters

PATCH *1 (ADD=509C,FIND=545253444F53,CHG=242003000000)


Change the “TRSDOS Ready” prompt to whatever you like. You will have to do a little work here. The new prompt can be 12 or fewer new characters. Each character must be converted to its ascii hex value and used in the place of a pair of the “xx”‘s. Almost any character works fine, even graphics blocks. Be carefull with control characters though. To find hex value, first find the ASC value. Then look up the hex table in the back of the Model III “Operation and BASIC Language Reference Manual”

PATCH *1 (ADD=509C,FIND=545253444F53,CHG=xxxxxxxxxxxx)
PATCH *1 (ADD=50A2,FIND=205265616479,CHG=xxxxxxxxxxxx)


Change the “TRSDOS Ready” prompt to whatever you like but 35 characters. Each character must be converted to its ascii hex value and used in the place of a pair of the “xx”‘s. This one affects the opening banner. If you have not applied any of the banner patches, your new boot message could get “lost in the crowd”. If your message is shorter than 35 characters, then left over message should be padded with spaces (hex val 20)

PATCH *0 (ADD=5016,FIND=5452532D383020,CHG=xxxxxxxxxxxxxx)
PATCH *0 (ADD=501D,FIND=4D6F64656C2049,CHG=xxxxxxxxxxxxxx)
PATCH *0 (ADD=5024,FIND=49492054525344,CHG=xxxxxxxxxxxxxx)
PATCH *0 (ADD=502B,FIND=4F532076657273,CHG=xxxxxxxxxxxxxx)
PATCH *0 (ADD=5032,FIND=696F6E20312E33,CHG=xxxxxxxxxxxxxx)


Alter the default values for cursor character, cursor flash, and caps on/off. Change “xx” to cursor character desired, “y” to a 1 for non-flashing or 0 for flashing, and “z” to 1 for caps lock on or 0 for Upper a.d lower case. Do not install this patch unless the DISPLAY AUTO patch has been installed (uses space freed up by the DISPLAY AUTO patch)

PATCH *0 (ADD=4E11,FIND=21F443,CHG=CD6B4F)

PATCH *0 (ADD=4F6B,FIND=4155544F2046,CHG=3E0z3219403E)

PATCH *0 (ADD=4F71,FIND=756E6374696F,CHG=0y321C403Exx)

PATCH *0 (ADD=4F77,FIND=6E20456E676167,CHG=32234021F443C9)


Shorten “Operation Aborted” Error to “Aborted”

Shorten the ‘Operation Aborted’ Message to ‘Aborted’.
This will lengthen the DOS READY Prompt Space to 22 spaces.
This ZAP modifies OVERLAY 1

DISK LOCATION
(Trk,Sect,Byte)
RAM ADDRESS
From
To
10,00,2D
(4E30)
A9
B3

Change “TRSDOS READY” to “Zapped TRSDOS READY”

Change the DOS READY prompt from “TRSDOS Ready” to “Zapped TRSDOS Ready”.
There is a carriage return “0D” to marke the end of the message
This ZAP modifies OVERLAY 1

DISK LOCATION
(Trk,Sect,Byte)
RAM ADDRESS
From
To
10,02,AB
(509B)
STRING
NEW STRING+0D

Zaps changing the way DIR works

Customize filedate, using any combination of 2 Date/Time fields.

Use the following codes:

  • 17 = seconds
  • 18 = minutes
  • 19 = hours
  • 1A = year
  • 1B = day
  • 1C = month

PATCH *2 (ADD=4FD2,FIND=1C,CHG=1A)
PATCH *2 (ADD=4FD7,FIND=1A,CHG=17)


Skip CLS before DIR listing

PATCH *3 (ADD=4FB7,FIND=EDB0,CHG=0000)


Shorten DIR command “SYS” to “S”

PATCH *6 (ADD=5CC4,FIND=5953,CHG=2020)


Shorten DIR command “INV” to “I”

PATCH *6 (ADD=5CCC,FIND=4E56,CHG=2020)


Shorten DIR command “PRT” to “P”

PATCH *6 (ADD=5CD4,FIND=5254,CHG=2020)


Allow use of BASIC’s short directory routine from TRSDOS 1.3 ready. These patches eliminate TRSDOS’s Route command and “Operation Aborted” message, using no additional disk space. Type in “CAT” from DOS Ready. This patch affects other patches and will be referred to as the “SHORT DIR PATCH”

PATCH *10 (ADD=4E2E,FIND=CD3E4B,CHG=CD8A50)
PATCH *10 (ADD=508A,FIND=4469736B,CHG=4FC33E4B)
PATCH *1 (ADD=50A9,FIND=4F7065726174,CHG=0D7EFE343004)
PATCH *1 (ADD=50AF,FIND=696F6E204162,CHG=FE3030023E30)
PATCH *1 (ADD=50B5,FIND=6F727465640D,CHG=327142C31944)
PATCH *1 (ADD=51C9,FIND=524F55544520A842,CHG=434154202020AA50)


Give TRSDOS 1.3’s directory command a pagination feature. After each video page, it pauses. Note, this will conflict with other zaps, and will be referred to as the “DIR PAGE ZAP”

PATCH *6 (ADD=616D,FIND=CD8861B7C8FE40,CHG=3A803FD620C8CD)
PATCH *6 (ADD=6174,FIND=2806C547AF78C1,CHG=7C61CDC901AFC9)


After installing this patch, pressing “@” will cause long directory listings to pause. Do not install this patch if you’ve installed the DIR PAGE ZAP

PATCH *6 (ADD=6173,FIND=40,CHG=60)


Puts a message at the bottom of the screen reminding you to press the ENTER key to continue

If the DIR PAGE ZAP has been made:

PATCH *6 (ADD=6111,FIND=0D0000,CHG=202003)
PATCH *6 (ADD=6174,FIND=7C61,CHG=CF60)

If the DIR PAGE ZAP has NOT been made:

PATCH *6 (ADD=6111,FIND=0D0000,CHG=202003)
PATCH *6 (ADD=616D,FIND=CD8861B7C8FE40,CHG=3A803FD620C8CD)
PATCH *6 (ADD=6174,FIND=2806C547AF78C1,CHG=CF60CDC901AFC9)


Give you the option of including or not including a colon (:) when specifing a drive number for the DIR command

PATCH *6 (ADD=59EC,FIND=7EFE3A2015,CHG=2BCD781D38)
PATCH *6 (ADD=59F1,FIND=237ED630DA,CHG=06FE3A2010)
PATCH *6 (ADD=59F6,FIND=3452FE04D2,CHG=237ED630DA)


Zaps adding new LIBrary Commands

Add a DOS ‘R’epeat command (similar to NEWDOS/80)

PATCH *1 (ADD=4E36,FIND=2642013F003600,CHG=8041013F000000)
PATCH *1 (ADD=5191,FIND=4D4153544552,CHG=522020202020)
PATCH *9 (ADD=603E,FIND=CD8E5FFE0D2003,CHG=21804111254201)
PATCH *9 (ADD=6045,FIND=AF1829111060CD,CHG=2500EDB0212542)
PATCH *9 (ADD=604C,FIND=5444C2,CHG=C39942)


Add a CAT command to TRSDOS 1.3 (appears to work for Drive 0 only)

PATCH *1 (ADD=50A9,FIND=4F7065726174,CHG=0D7EFE343004)
PATCH *1 (ADD=50AF,FIND=696F6E204162,CHG=FE3030023E30)
PATCH *1 (ADD=50B5,FIND=6F727465640D,CHG=327142C31944)
PATCH *1 (ADD=51C9,FIND=524F55544520A842,CHG=434154202020AA50)


Zaps Changing Security

Bypass all password checking

PATCH *2 (ADD=4ED4,FIND=20,CHG=18)


Enable access to all files (e.g. BASIC/CMD)

PATCH *2 (ADD=5135,FIND=2C,CHG=00)


Allow unlimited backup, no matter what limited backup count is set to

PATCH *7 (ADD=528E,FIND=C8,CHG=C9)


Restore read protection to a BACKUP of your TRSDOS 1.3 disk

PATCH *0 (ADD=4760,FIND=18,CHG=38)


Remove read protection to a BACKUP of your TRSDOS 1.3 disk

PATCH *0 (ADD=4760,FIND=38,CHG=18)


Write to any file

PATCH *0 (ADD=47F5,FIND=62,CHG=F7)


Allow LOAD from DOS

PATCH *0 (ADD=4BF6,FIND=38,CHG=18)


Stop memory clear (usually)

PATCH *1 (ADD=4E5D,FIND=20,CHG=18)


Allow open

PATCH *2 (ADD=4ED4,FIND=20,CHG=18)


Lets you kill anything

PATCH *3 (ADD=4F6C,FIND=38,CHG=18)


Allow you to acces any file regardless of password. This patch affects other patches and will be referred to as the ACCESS ANY FILE patch.

PATCH *2 (ADD=4ED4,FIND=20,CHG=18)


Give every file the protection level you designate. Change “x” to desired protection level. This patch requires that you also make the ACCESS ANY FILE patch.

PATCH *2 (ADD=4ECB,FIND=00,CHG=0x)


Changes PURGE command so it no longer asks or cares for disk master password

PATCH *11 (ADD=5648,FIND=66,CHG=99)
PATCH *11 (ADD=564D,FIND=21A25B,CHG=C36E56)
PATCH *11 (ADD=5693,FIND=28,CHG=18)


Zaps changing the way TRSDOS Works

Allow a Full Error Message to be Printed Instead of a Short “ERROR XX” Code Message.
This ZAP modifies OVERLAY 4

DISK LOCATION
(Trk,Sect,Byte)
RAM ADDRESS
From
To
00,0F,2C
(4E28)
20
18

BACKUP

Modifies the BACKUP command so that it ignores password prompt, ignores disk master password, and improves FORMAT command. When TRSDOS asks you for disk name, pressing ENTER will name it DATADISK

PATCH *7 (ADD=5013,FIND=534F55524345,CHG=FE08C0E1211D)
PATCH *7 (ADD=5019,FIND=204469736B20,CHG=50C383564441)
PATCH *7 (ADD=501F,FIND=4D6173746572,CHG=54414449534B)
PATCH *7 (ADD=55A8,FIND=28,CHG=18)
PATCH *7 (ADD=5657,FIND=21,CHG=C9)
PATCH *7 (ADD=5673,FIND=FE0828EF,CHG=CD135000)

– and possibly –

PATCH *7 (ADD=501D,FIND=444154414449534B,CHG=54484F4D50534F4E)


Allow unlimited backup, no matter what limited backup count is set to

PATCH *7 (ADD=528E,FIND=C8,CHG=C9)


BASIC

Eliminates BASIC’s opening banner.
Note, this patch will affect others and will be referred to as the ELIMINATE BASIC BANNER patch.
Do not make this patch if you have made the SHORTEN BASIC BANNER patch.

PATCH BASIC/CMD (ADD=62EF,FIND=CD,CHG=C9)

Shorten Basic’s opening banner to 1 Line. Note, this patch will affect others and will be referred to as the SHORTEN BASIC BANNER patch. Do not make this patch if you have made the ELIMINATE BASIC BANNER patch.

PATCH BASIC/CMD (ADD=62ED,FIND=29,CHG=8F)

Allows support for 65535 logical records by expressing those above 32767 as negative numbers. Eg. record # + (65536 * (record #>32767))

PATCH BASIC/CMD (ADD=5EE8,FIND=451E,CHG=012B)

Allow a BASIC program to be read with up to a 50% increase in speed. If the program leaves less than 400 bytes in memory you will recieve an out of Memory error.

PATCH BASIC/CMD (ADD=5BFE,FIND=2AA440,CHG=CD8754)
PATCH BASIC/CMD (ADD=5C07,FIND=FF,CHG=FE)
PATCH BASIC/CMD (ADD=5C0D,FIND=CD535F7723,CHG=CD9B540000)
PATCH BASIC/CMD (ADD=53CC,FIND=8754,CHG=4A1E)
PATCH BASIC/CMD (ADD=5487,FIND=E17EFE26,CHG=2323E5DD)
PATCH BASIC/CMD (ADD=548B,FIND=C24A1ED7,CHG=E1ED5BA4)
PATCH BASIC/CMD (ADD=548F,FIND=C24A1EE5,CHG=40013300)
PATCH BASIC/CMD (ADD=5493,FIND=219B54CD,CHG=0901FF00)
PATCH BASIC/CMD (ADD=5497,FIND=3F56E1C9,CHG=EDB0EBC9)
PATCH BASIC/CMD (ADD=549B,FIND=35013D3C,CHG=DD7503DD)
PATCH BASIC/CMD (ADD=549F,FIND=26751734,CHG=7404DD36)
PATCH BASIC/CMD (ADD=54A3,FIND=263C3675,CHG=0500DDCB)
PATCH BASIC/CMD (ADD=54A7,FIND=3C267516,CHG=01EEDD34)
PATCH BASIC/CMD (ADD=54AB,FIND=1A050C07,CHG=0A2003DD)
PATCH BASIC/CMD (ADD=54AF,FIND=1C121D01,CHG=340B24C3)
PATCH BASIC/CMD (ADD=54B3,FIND=1011,CHG=535F)


DEBUG

Allow ‘DEBUG/CMD’ to be able to examine program with starting addresses below 5600H

PATCH *5 (ADD=4ED9,FIND=0056,CHG=0000)
PATCH *5 (ADD=4EFF,FIND=0056,CHG=0000)
PATCH *5 (ADD=5068,FIND=0056,CHG=0000)

-or-

PATCH *5 (ADD=4EDA,FIND=56,CHG=00)
PATCH *5 (ADD=4F00,FIND=56,CHG=00)
PATCH *5 (ADD=5069,FIND=56,CHG=40)

-or-

PATCH *5 (ADD=4EDF,FIND=38E6,CHG=0000)
PATCH *5 (ADD=4F04,FIND=D0,CHG=C9)
PATCH *5 (ADD=506E,FIND=38E3,CHG=0000)


DUMP

Change the DUMP command so that ANY memory location can be dumped, not just those above 5FFFH

PATCH *6 (ADD=5702,FIND=60,CHG=00)
PATCH *6 (ADD=579C,FIND=D22552,CHG=000000)


FREE

Modify TRSDOS 1.3’s FREE command so that it also displays disk space left. Shortens Prot (PW) command.

PATCH *6 (ADD=5D52,FIND=FE28D0,CHG=CD4555)
PATCH *6 (ADD=5542,FIND=2050617373,CHG=3F2003FE28)
PATCH *6 (ADD=5547,FIND=776F72643F,CHG=D8F1C3FC5B)


Modify TRSDOS 1.3’s FREE command so that it also displays disk space left. They do not affect the Prot prompt. If the above patches have been installed, they MUST be removed!

PATCH *6 (ADD=5483,FIND=26,CHG=3C)
PATCH *6 (ADD=5526,FIND=4D617374657220,CHG=FE28D8F1C3FC5B)
PATCH *6 (ADD=5D52,FIND=FE28D0,CHG=CD2655)


FORMAT

Better formatting routine in TRSDOS 1.3

PATCH *7 (ADD=5BEE,FIND=E5,CHG=5B)


LIST

Changes the default format of the LIST command from hexadecimal to ASCII instead. If you want hex format, specify (HEX) in the parameter.

PATCH *11 (ADD=593E,FIND=28,CHG=20)
PATCH *11 (ADD=5949,FIND=EDB0,CHG=0000)
PATCH *11 (ADD=595C,FIND=28,CHG=20)
PATCH *11 (ADD=5B89,FIND=4153434949,CHG=4845582020)
PATCH *11 (ADD=5AC5,FIND=20,CHG=28)
PATCH *11 (ADD=5B3C,FIND=3030303030,CHG=4153434949)


Changes the pause feature of TRSDOS’s List command from “@” to the “@”

PATCH *11 (ADD=5265,FIND=40,CHG=60)


PATCH

Allow PATCH to use only single letters for “ADD”, “FIND”, and “CHG” (apply in order, as the first changes ADD to A, and the second, which changes FIND to F, uses A instead of ADD …)

PATCH *9 (ADD=56C5,FIND=044144,CHG=02413D)
PATCH *9 (A=56CA,FIND=054649,CHG=02463D)
PATCH *9 (A=56D0,F=044348,CHG=02433D)


OTHER

To get an error message instead of ‘ERROR#’

PATCH *4 (ADD=4228,FIND=20,CHG=18)

– or –

PATCH *4 (ADD=4E26,FIND=CB7020,CHG=000018)

– or –

PATCH *4 (ADD=4E28,FIND=20,CHG=18)


To get an error number instead of an error message

PATCH *4 (ADD=4E26,FIND=000018,CHG=CB7020)


Eliminates “Operaton Aborted” message. DO NOT install this patch if the SHORT DIR PATCH has been installed

PATCH *1 (ADD=50A9,FIND=4F,CHG=0D)


Improves the way TRSDOS 1.3 accepts DOS commands. 1) Repeating DOS commands. Press key and last DOS command is repeated. 2) You can enter a DOS command in either upper or lower case or a combination of the two. 3) Any command line with a period as the first character will be ignored. This is handy for putting comment lines in BUILD files! This routine occupies the space where the TRSDOS ready dots are.

PATCH *0 (ADD=4CD1,FIND=204E53,CHG=4E530D)
PATCH *1 (ADD=4E32,FIND=212542112642,CHG=180B773E1BCD)
PATCH *1 (ADD=4E38,FIND=013F003600EDB0,CHG=3300CD1B02186F)
PATCH *1 (ADD=4E9D,FIND=E5C52A,CHG=C3BB4E)
PATCH *1 (ADD=4EA0,FIND=2040E548060009,CHG=1A28917EFE6138)
PATCH *1 (ADD=4EA7,FIND=014000B7ED4222,CHG=03D620772310F5)
PATCH *1 (ADD=4EAE,FIND=20403E1ECD3300,CHG=D1E17E12FE2ECA)
PATCH *1 (ADD=4EB5,FIND=E1222040C1E1,CHG=4A4EFE0D288F)
PATCH *1 (ADD=4E9B,FIND=28ADC3BB4E,CHG=11D44CE5D5)


Allow symbols <, =, >, ?, @ and [ to be part of a filespec
(NOTE: The decimal/hex nature of the patch is due to SU+ being the recommended applicator)

DISK LOCATION
(Trk,Sect,Byte)
From
To
16,02,4E
41
3C
16,03,36
41
3C
16,03,CF
41
3C
16,03,D2
5B
5C
18,08,D7
41
3C
18,08,DA
5B
5C
16,09,E7
41
3C
16,09,EA
5B
5C

Enable lower case on power-up

(NOTE: The decimal/hex nature of the patch is due to SU+ being the recommended applicator)
00,02,A8
FF,42
19,40


Zaps upgrading versions or fixing bugs

To Upgrade a Fri. May 1, 1981 version of TRSDOS 1.3 to a Sat. May 2, 1981 version

PATCH XFERSYS/CMD (ADD=548E,FIND=3500FD21,CHG=FD360001)
PATCH *0 (ADD=503B,FIND=467269,CHG=536174)
PATCH *0 (ADD=5044,FIND=31,CHG=32)
PATCH BASIC/CMD (ADD=58F8,FIND=F1,CHG=00)

To upgrage a Sat. May 2, 1981 version of TRSDOS 1.3 to a Wed. July 1, 1981 version

PATCH *6 (ADD=5850,FIND=3A62,CHG=BF5F)
PATCH *6 (ADD=5FBE,FIND=20697320616374,CHG=0D116544C31C44)
PATCH *0 (ADD=5044,FIND=32,CHG=31)
PATCH *0 (ADD=503A,FIND=20536174204D,CHG=20576564204A)
PATCH *0 (ADD=5040,FIND=617920,CHG=756C79)
PATCH *7 (ADD=579C,FIND=0955,CHG=3851)
PATCH *7 (ADD=5135,FIND=207468652064,CHG=3F20033A7D4E)
PATCH *7 (ADD=513B,FIND=69736B657474,CHG=FE81CA0D55C9)

Fix a bug in TRSDOS 1.3 when it tries to list nonexistant files in HIT table

PATCH *10 (ADD=4E47,FIND=02,CHG=03)

After scrolling around in BASIC, a strange memory loss occurs. The following patch corrects this. Also corrects “Can’t continue” error. May not work TRSDOS dated other than Wed. Jul 1, 1981.

PATCH BASIC/CMD (ADD=58C4,FIND=D5,CHG=00)

On some of the later versions of the Model III, a new ROM chip is used and the checksum that MEMTEST comes up with does not agree with what it says it SHOULD be. The following patch corrects this.

PATCH MEMTEST/CMD (ADD=6573,FIND=32423931,CHG=32463834)

The TRSDOS I/O (machine language) call to display the directory listing of all non-protected user files must be patched. This call (at HEX 4419) does not work correctly. The following two patches will cause this I/O call to function correctly:

PATCH *10 (ADD=4E2E,FIND=CD3E4B,CHG=CD8A50)
PATCH *10 (ADD=508A,FIND=4469736B,CHG=4FC33E4B)

Correct an error in FORMAT wherein disk I/O error retry counter is left incorrectly at 2 (recommended patch).

PATCH *7 (ADD=4E55,FIND=12,CHG=0F)
PATCH *7 (ADD=4E5B,FIND=0C,CHG=09)

Correct an I/O error in a directory USR call

PATCH *10 (ADD=4E2E,FIND=CD3E4B,CHG=CD8A50)
PATCH *10 (ADD=508A,FIND=4469736B,CHG=4FC33E4B)

Corrects 2 potential errors in the DIRECTORY

PATCH *10 (ADD=4E2A,FIND=3ADA4E,CHG=784F00)
PATCH *10 (ADD=4E47,FIND=02,CHG=03)

TRSDOS 1.3 automatically CLOSEs an OPEN file before acting on a KILL command. While Tandy considers it bad style to KILL an OPEN file, if you must, the following patch will prevent Disk BASIC from closing files before the KILL command. They note, however, that this may destory the disk directory and render all programs and data on the disk useless

PATCH BASIC/CMD (ADD=60D0,FIND=CDE95C,CHG=000000)


Zaps changing stepping speed and track count

Alter the stepping speed of TRSDOS 1.3 from 6 msec to 10 nsec. Use 0F & 1F for 20 msec

PATCH *0 (ADD=42EE,FIND=0C,CHG=0E)
PATCH *0 (ADD=4516,FIND=0C,CHG=0E)
PATCH *0 (ADD=4544,FIND=1C,CHG=1E)
PATCH *0 (ADD=4FE1,FIND=0C,CHG=0E)

Alter the stepping speed of TRSDOS 1.3. TRSDOS uses a stepping speed of 6ms. This may be too fast for some older drives and can cause errors. Using a slower rate corrects this problem. Change the “x” to C, D, E, or F, and the “y” to 8, 9, A, or B for stepping rates of 6, 12, 20, or 30 ms. The selected rate works for all drives. Too much re-writing of TRSDOS would have to be done to have a separate stepping rate for individual drives.

PATCH *0 (ADD=42EE,FIND=0C,CHG=0x)
PATCH *0 (ADD=4516,FIND=0C,CHG=0x)
PATCH *0 (ADD=4544,FIND=1C,CHG=1x)
PATCH *0 (ADD=4FE1,FIND=0C,CHG=0x)
PATCH *7 (ADD=580E,FIND=0C,CHG=0x)
PATCH *7 (ADD=5841,FIND=0C,CHG=0x)
PATCH *7 (ADD=5B3C,FIND=58,CHG=5y)

Alter the stepping speed of TRSDOS 1.3 from 5ms to 10ms.

PATCH *0:1 (ADD=42EE,FIND=0C,CHG=0D)
PATCH *0:1 (ADD=4516,FIND=0C,CHG=0D)
PATCH *0:1 (ADD=4544,FIND=1C,CHG=1D)
PATCH *0:1 (ADD=4FE1,FIND=0C,CHG=0D)
PATCH *7:1 (ADD=580E,FIND=0C,CHG=0D)
PATCH *7:1 (ADD=5841,FIND=0C,CHG=0D)
PATCH *7:1 (ADD=5923,FIND=1C,CHG=1D)
PATCH CONVERT/CMD:1 (ADD=5604,FIND=1C,CHG=1D)

Alter the stepping speed of TRSDOS 1.3 from 10ms to 20ms.

PATCH *0:1 (ADD=42EE,FIND=0D,CHG=0E)
PATCH *0:1 (ADD=4516,FIND=0D,CHG=0E)
PATCH *0:1 (ADD=4544,FIND=1D,CHG=1E)
PATCH *0:1 (ADD=4FE1,FIND=0D,CHG=0E)
PATCH *7:1 (ADD=580E,FIND=0D,CHG=0E)
PATCH *7:1 (ADD=5841,FIND=0D,CHG=0E)
PATCH *7:1 (ADD=5923,FIND=1D,CHG=1E)
PATCH CONVERT/CMD:1 (ADD=5604,FIND=1D,CHG=1E)

Alter the stepping speed of TRSDOS 1.3 from 20ms to 40ms.

PATCH *0:1 (ADD=42EE,FIND=0E,CHG=0F)
PATCH *0:1 (ADD=4516,FIND=0E,CHG=0F)
PATCH *0:1 (ADD=4544,FIND=1E,CHG=1F)
PATCH *0:1 (ADD=4FE1,FIND=0E,CHG=0F)
PATCH *7:1 (ADD=580E,FIND=0E,CHG=0F)
PATCH *7:1 (ADD=5841,FIND=0E,CHG=0F)
PATCH *7:1 (ADD=5923,FIND=1E,CHG=1F)
PATCH CONVERT/CMD:1 (ADD=5604,FIND=1E,CHG=1F)

Alter TRSDOS 1.3 from 40 to 80 tracks

PATCH *0 (ADD=4926,FIND=28,CHG=50)
PATCH *0 (ADD=499B,FIND=28,CHG=50)
PATCH *0 (ADD=4B29,FIND=29,CHG=51)
PATCH *2 (ADD=4F61,FIND=28,CHG=50)
PATCH *6 (ADD=5C06,FIND=28,CHG=50)
PATCH *6 (ADD=5D53,FIND=28,CHG=50)
PATCH *7 (ADD=5203,FIND=28,CHG=50)
PATCH *7 (ADD=53FF,FIND=28,CHG=50)
PATCH *7 (ADD=5504,FIND=28,CHG=50)
PATCH *7 (ADD=5C4F,FIND=28,CHG=50)
PATCH *7 (ADD=5CD4,FIND=28,CHG=50)
PATCH *7 (ADD=0000,FIND=00,CHG=00)


Hint to get 2 more Grans

All TRSDOS 1.3 system disks shipped out of Tandy warehouses have a built-in GAT error. This error appears to be the result of two files being improperly killed, removing the file information from the directory but leaving the sectors allocated in the GAT. This results in 2 grans less available (166) than would normally be (168). This error can be repaired easily with SU+.