1563
|
1 From: Pete_Lyall (pete@wlbreng1.UUCP)
|
|
2 Subject: COCO OS9 2.00.00 bugs
|
|
3 Newsgroups: net.micro.6809
|
|
4 Date: 1986-07-03 09:43:11 PST
|
|
5
|
|
6 COCO OS9 2.00.00 BUGS LIST
|
|
7 ===========================
|
|
8
|
|
9 As with the 2.00.00 CCio patch, I'm merely passing this on to those that
|
|
10 are interested. Pete Lyall
|
|
11
|
|
12
|
|
13
|
|
14 Description of bugs (and most fixes) in CoCo OS9 ver 2.00.00:
|
|
15 From Kevin Darling and Kent Meyers. 08 Apr 86, rev: 13 Jun 86
|
|
16 (Be sure to re-verify a module after a change)
|
|
17 ------------------------------------
|
|
18
|
|
19 MODULE: RS232
|
|
20 PROBLEM: Returns no error for bad type mode.
|
|
21 SPECIFICS: Original src missing '#' for 'ldb #E$BMode'. Causes B reg to be
|
|
22 loaded from $00CB, which is normally = $00.
|
|
23 SOLUTION: Change byte at offset $0180 from $D6 to $C6.
|
|
24
|
|
25 MODULE: CCHDisk
|
|
26 PROBLEM: Returns no error on write verification failure.
|
|
27 SPECIFICS: Similiar to RS232 bug above, for E$Write.
|
|
28 SOLUTION: Change byte at offset $00FC from $D6 to $C6.
|
|
29
|
|
30 MODULE: Clock
|
|
31 PROBLEM: Day increments by two at midnite.
|
|
32 SPECIFICS: Result of 'fix' to 1.XX bug. Extra increment intended for Feb 28
|
|
33 hits all days instead.
|
|
34 SOLUTION: Several patches in DL, including 'Official Tandy Patch', which also
|
|
35 fixes Virq bug. Or use the following short patch from ??: (and re-verify
|
|
36 module)
|
|
37 Offset Old New
|
|
38 001A 00 1D
|
|
39 001C 1D 1C
|
|
40 0057 08 09
|
|
41 005A 27 C4
|
|
42 005B 04 03
|
|
43 005C C4 26
|
|
44 005E 27 5F
|
|
45 005F 01 20
|
|
46 0060 4C 02
|
|
47
|
|
48 MODULE: Clock
|
|
49 PROBLEM: Undo F$Virq call fails.
|
|
50 SPECIFICS: When a call is made to delete a F$Virq entry, the X register is
|
|
51 pointed to a stack address, instead of loading X with the virq register entry
|
|
52 off the stack.
|
|
53 SOLUTION: Change byte at offset $0119 from $30 to $AE.
|
|
54
|
|
55 MODULE: IOMan
|
|
56 PROBLEM: F$IOQU code mistake.
|
|
57 SPECIFICS: Major code change in IOMan. Idea was to sort queuing processes by
|
|
58 age. Wrong register used for comparison.
|
|
59 SOLUTION: Change the following bytes:
|
|
60 Offset Old New
|
|
61 06BB 10 12
|
|
62 06BC A3 E1
|
|
63
|
|
64 MODULE: OS9p2
|
|
65 PROBLEM: F$UnLink does not terminate devices.
|
|
66 SPECIFICS: Unlink of a filemgr, driver or desc, that is NOT in tbe bootfile
|
|
67 but is in use, should return E$ModBsy error from a internal UnLink call to
|
|
68 F$IODel. A wrong register was used, and a loaded mgr, driver, or desc module's
|
|
69 space will be returned to the free mem pool.
|
|
70 SOLUTI.dON: None at this time to fit within module. Hang on.
|
|
71
|
|
72 MODULE: CCIO
|
|
73 PROBLEM: Failure to recognize CoCo keyboard Break keys.
|
|
74 SPECIFICS: Because the order of IRQ was changed so that CCIO keyboard check
|
|
75 follows Clock, the DP reg is set to $00. The Break or Shift-Break keys (signals
|
|
76 2 and 3) sent to processes while in OS9 non-system state are ignored (the
|
|
77 internal keyboard should've been an IRQ or VIRQ device). The bug will appear if
|
|
78 the receiving program (Basic09 or otherwise) does not do much output, such as
|
|
79 math routines, or using Inkey.
|
|
80 SOLUTION: Use CCIOP files elsewhere in DL. Or instead, if doing a lot of
|
|
81 internal processing, send a char to the screen within loops. This will increase
|
|
82 the chance OS9 will be in a system state and will correctly handle the Break
|
|
83 Sends.
|
|
84
|
|
85 MODULE: CCIO, CO80, CO32
|
|
86 PROBLEM: Co-module terminate routines not called, etc.
|
|
87 SPECIFICS: Termination of CCIO does not result in a call to codrivers'
|
|
88 termination code. Worse, once you do a 'tmode type=xx' and change video
|
|
89 codrivers, CCIO will still believe the other one is in memory. If it was NOT in
|
|
90 the bootfile, a crash may result.
|
|
91 SOLUTION: Until rewrite of CCIO - NEVER change to a different COXX, unlink the
|
|
92 loaded one, then 'tmode type' back to the first. Instead of loading it from the
|
|
93 exec directory, CCIO will jump into never-never land, if that space has been
|
|
94 reused.
|
|
95
|
|
96 MODULE: ACIAPAK
|
|
97 PROBLEM: Not fully reentrant.
|
|
98 SPECIFICS: Each new incarnation saves current D.Firq vector; that vector
|
|
99 restored upon termination. Use of this driver for more than one FIRQ device,
|
|
100 and terminating their use in wrong order could result in FIRQ's going to bad
|
|
101 address.
|
|
102 SOLUTION: None yet. Perhaps driver was not intended to be used for more than
|
|
103 one FIRQ device. Should be in docs. Decent solution would be for Clock or OS9
|
|
104 or separate module to change firq's to irq's, instead of ACIAPAK.
|
|
105
|
|
106 ----------------------------------
|
|
107 Other 'bugs' and things of interest:
|
|
108
|
|
109 MODULE: Unknown (?)
|
|
110 PROBLEM: Machine locks up after using a new OS9Boot.
|
|
111 SPECIFICS: Unfound bug. Programs fail. Drives continue to run.
|
|
112 SOLUTION: Change order of OS9gen bootlist.
|
|
113
|
|
114 MODULE: CCIO
|
|
115 PROBLEM: Incompatibility with previous escape code drivers.
|
|
116 SPECIFICS: New CCIO shunts all <esc> ($1B) (27) codes to GRFO module. This
|
|
117 means original Wordpak software (Dynastar and Stylo for example) won't work.
|
|
118 SOLUTION: See C82KD.DOC in DL6. If you don't need OPak c&
|
|
119 .YYCO80 drivers
|
|
120 by Bill Dickhaus or Rick Johnson in DL6.
|
|
121
|
|
122 MODULE: PRINTER
|
|
123 PROBLEM: Delay for 'printer ready' too short for some devices.
|
|
124 Sorry, don't have details now. I think Bernie Pluth and others may have a
|
|
125 solution.
|
|
126
|
|
127 ----------------------
|
|
128 Differences of interest:
|
|
129
|
|
130 : Be careful using old Password files. Sysgo 2.0 sets default startup priority
|
|
131 at 128, vs 1.XX's 0. If login seems very sluggish, check your SYS/Password
|
|
132 parameters.
|
|
133
|
|
134 : ACIAPAK 2.0 always assumes FIRQ device in first MPI slot. To use RS232 pak,
|
|
135 etc in another slot, change the byte at offset $0080 (or $007F?) in ACIAPAK
|
|
136 from 03 to:
|
|
137 SLOT BYTE
|
|
138 1 03
|
|
139 2 13
|
|
140 3 23
|
|
141 4 -- Floppy controller slot
|
|
142 ----------------------
|
|
143 END OF FILE
|