home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
rtsi.com
/
2014.01.www.rtsi.com.tar
/
www.rtsi.com
/
OS9
/
OS9_6X09
/
SYSMODS
/
OS9p2_DistoHD_FSleepFix.lzh
/
os9p2.doc
< prev
next >
Wrap
Text File
|
1991-01-25
|
4KB
|
86 lines
*** OS9p2 F$Sleep Patch ***
Included in this archive are the following files:
os9p2.doc This information file.
os9p2.ipc IPatch file to create new OS9p2
init.ipc IPatch file to create new Init
A number of persons have noted lockup problems when using the Disto
HD interface, especially when multitasking is occurring. Numerous
theories have been put forth to explain this problem. One involves
problems with the F$Sleep routine. Difficulties associated with
Boot problems of the new version of CCHDisk posted by KScales were
also attributed to a bug with this routine.
A solution suggested by Volney Larowe involved patching the sleep
routine in OS9p2. The solution suggested inserts a test into the
Sleep routine to prevent the SysProcess from sleeping. The example
is given below:
-----------------------------------------------------------------
Sleep PshS CC Save CC register
Ldx <D.Proc> Load current process pointer into X
CmpX <D.SysPrc> Is Sleep called by the system??
Beq SleepXit If Yes, branch to SleepXit
(rest of Sleep code)
SleepXit Rts Return
(etc...)
----------------------------------------------------------------
Included in this archive is a IPatch file os9p2.ipc to generate a new
OS9p2 from the Tandy module. The new OS9p2 was developed using source
code provided by Volney Larowe (Thanks Volney !!!). A few minor bugs
were also fixed and the new module is 18 bytes shorter than the original.
The CRC values of the original Tandy and the new OS9p2 are given below:
Original Tandy Module New Module
--------------------- ----------
Header for: OS9p2 OS9p2
Module size: $0CAE #3246 $0C9C #3228
Module CRC: $47B370 (Good) $E9D722 (Good)
Hdr parity: $58 $6A
Edition: $11 #17 $12 #18
Ty/La At/Rv: $C0 $82 $C0 $82
System mod, Data, re-en, R/O
This module has been successfully tested with Disto based HD systems
using the WD1002-SHD, Xebec 1410A, Xebec 1420, and OMTI 20L hard drive
controllers. (The OMTI uses a version of CCHDisk not in the public
domain. Sorry.) In all cases the observed lockup problem was
eliminated. However the module has in no way been fully tested. USE
IT AT YOU OWN RISK. Use it with CAUTION and report any bugs to my
UserId given below.
Also included in this archive is an IPatch file, init.ipc, to fix minor
bugs in the INIT module. The missing Rev Number was added and changes
to the interrupt and device tables were made. CRC values of the original
Tandy Init and the new Init are shown below:
Original Tandy Module New Module
--------------------- ----------
Header for: Init Init
Module size: $002E #46 $002F #47
Module CRC: $0B2322 (Good) $BD0820 (Good)
Hdr parity: $CC $CF
Edition: $43 #67 $02 #2
Ty/La At/Rv: $C0 $81 $C0 $83
System mod, Data, re-en, R/O
Those users who have patched the Init data directory from /D0 to /DD
can do the same with the new module. The new Init has been used in
conjunction with the patched OS9p2 although either can be used
independently.
I hope these patches help those who have seen the lockup bug. Thanks
to Volney Larowe for the source code, and also to Joe Miller and
Ken Scales (KSCALES) for their participation. Any comments or bug
reports should be sent to user DocBear on Delphi.
01/14/91 DocBear