Mercurial > hg > Members > kono > nitros9-code
view level1/coco/v2bugs.txt @ 1563:cc4a58b55d79
Go for it!
author | boisy |
---|---|
date | Fri, 14 May 2004 03:20:44 +0000 |
parents | |
children |
line wrap: on
line source
From: Pete_Lyall (pete@wlbreng1.UUCP) Subject: COCO OS9 2.00.00 bugs Newsgroups: net.micro.6809 Date: 1986-07-03 09:43:11 PST COCO OS9 2.00.00 BUGS LIST =========================== As with the 2.00.00 CCio patch, I'm merely passing this on to those that are interested. Pete Lyall Description of bugs (and most fixes) in CoCo OS9 ver 2.00.00: From Kevin Darling and Kent Meyers. 08 Apr 86, rev: 13 Jun 86 (Be sure to re-verify a module after a change) ------------------------------------ MODULE: RS232 PROBLEM: Returns no error for bad type mode. SPECIFICS: Original src missing '#' for 'ldb #E$BMode'. Causes B reg to be loaded from $00CB, which is normally = $00. SOLUTION: Change byte at offset $0180 from $D6 to $C6. MODULE: CCHDisk PROBLEM: Returns no error on write verification failure. SPECIFICS: Similiar to RS232 bug above, for E$Write. SOLUTION: Change byte at offset $00FC from $D6 to $C6. MODULE: Clock PROBLEM: Day increments by two at midnite. SPECIFICS: Result of 'fix' to 1.XX bug. Extra increment intended for Feb 28 hits all days instead. SOLUTION: Several patches in DL, including 'Official Tandy Patch', which also fixes Virq bug. Or use the following short patch from ??: (and re-verify module) Offset Old New 001A 00 1D 001C 1D 1C 0057 08 09 005A 27 C4 005B 04 03 005C C4 26 005E 27 5F 005F 01 20 0060 4C 02 MODULE: Clock PROBLEM: Undo F$Virq call fails. SPECIFICS: When a call is made to delete a F$Virq entry, the X register is pointed to a stack address, instead of loading X with the virq register entry off the stack. SOLUTION: Change byte at offset $0119 from $30 to $AE. MODULE: IOMan PROBLEM: F$IOQU code mistake. SPECIFICS: Major code change in IOMan. Idea was to sort queuing processes by age. Wrong register used for comparison. SOLUTION: Change the following bytes: Offset Old New 06BB 10 12 06BC A3 E1 MODULE: OS9p2 PROBLEM: F$UnLink does not terminate devices. SPECIFICS: Unlink of a filemgr, driver or desc, that is NOT in tbe bootfile but is in use, should return E$ModBsy error from a internal UnLink call to F$IODel. A wrong register was used, and a loaded mgr, driver, or desc module's space will be returned to the free mem pool. SOLUTI.dON: None at this time to fit within module. Hang on. MODULE: CCIO PROBLEM: Failure to recognize CoCo keyboard Break keys. SPECIFICS: Because the order of IRQ was changed so that CCIO keyboard check follows Clock, the DP reg is set to $00. The Break or Shift-Break keys (signals 2 and 3) sent to processes while in OS9 non-system state are ignored (the internal keyboard should've been an IRQ or VIRQ device). The bug will appear if the receiving program (Basic09 or otherwise) does not do much output, such as math routines, or using Inkey. SOLUTION: Use CCIOP files elsewhere in DL. Or instead, if doing a lot of internal processing, send a char to the screen within loops. This will increase the chance OS9 will be in a system state and will correctly handle the Break Sends. MODULE: CCIO, CO80, CO32 PROBLEM: Co-module terminate routines not called, etc. SPECIFICS: Termination of CCIO does not result in a call to codrivers' termination code. Worse, once you do a 'tmode type=xx' and change video codrivers, CCIO will still believe the other one is in memory. If it was NOT in the bootfile, a crash may result. SOLUTION: Until rewrite of CCIO - NEVER change to a different COXX, unlink the loaded one, then 'tmode type' back to the first. Instead of loading it from the exec directory, CCIO will jump into never-never land, if that space has been reused. MODULE: ACIAPAK PROBLEM: Not fully reentrant. SPECIFICS: Each new incarnation saves current D.Firq vector; that vector restored upon termination. Use of this driver for more than one FIRQ device, and terminating their use in wrong order could result in FIRQ's going to bad address. SOLUTION: None yet. Perhaps driver was not intended to be used for more than one FIRQ device. Should be in docs. Decent solution would be for Clock or OS9 or separate module to change firq's to irq's, instead of ACIAPAK. ---------------------------------- Other 'bugs' and things of interest: MODULE: Unknown (?) PROBLEM: Machine locks up after using a new OS9Boot. SPECIFICS: Unfound bug. Programs fail. Drives continue to run. SOLUTION: Change order of OS9gen bootlist. MODULE: CCIO PROBLEM: Incompatibility with previous escape code drivers. SPECIFICS: New CCIO shunts all <esc> ($1B) (27) codes to GRFO module. This means original Wordpak software (Dynastar and Stylo for example) won't work. SOLUTION: See C82KD.DOC in DL6. If you don't need OPak c& .YYCO80 drivers by Bill Dickhaus or Rick Johnson in DL6. MODULE: PRINTER PROBLEM: Delay for 'printer ready' too short for some devices. Sorry, don't have details now. I think Bernie Pluth and others may have a solution. ---------------------- Differences of interest: : Be careful using old Password files. Sysgo 2.0 sets default startup priority at 128, vs 1.XX's 0. If login seems very sluggish, check your SYS/Password parameters. : ACIAPAK 2.0 always assumes FIRQ device in first MPI slot. To use RS232 pak, etc in another slot, change the byte at offset $0080 (or $007F?) in ACIAPAK from 03 to: SLOT BYTE 1 03 2 13 3 23 4 -- Floppy controller slot ---------------------- END OF FILE