****************************************************************************** * File: HISTORY * Purpose: To record MDOS changes for future reference * Started: May 04, 1996 by Tim Tesch * * * DATE PROBLEM/SOLUTION *------------------------------------------------------------------------------ * 04/28/96 Jeff White fixed the Genmod compatibility problem between the * Genmod Geneves and the SCSI cards, MDOS v3.00 Bravo is born. * * 05/04/96 Tim Tesch revised the new Genmod compatible source code to * bring it up to the level of MDOS 4.00 * * - L6\KEY2S Keyscan reset code now works with all PFM devices * - HEAD\TASKHEADS removed 3 nodes from the environment linked-list * to make up for the SCSx devices Mike added. This fixes the * problem 2.50S had mostly with PFM/Flashdisk devices hanging. * Why? MDOS uses the linked list to keep track of space. When * Mike added the scsi devices he pushed the list past >0400, * removing the NULL pointer required to signify the end of the list. * * 05/07/96 - L6\WRITETTY CLI\NEWCMDS CLI\HCLIS * Added code to toggle Psystem video for TTYOUT. * PSYS OFF is standard mdos, PSYS ON is used for Psystem * Jerry Coffey tested these changes and has stated that psystem * now works properly * - L8\SECT2-P, Added remap/sector-access code for PFM Flashdisk * Made sure NULLP saw >0000, not >FF00 * * 05/08/96 - L7\MANAGE2S L7\MANAGE2T * Modified memory count in 3 places to reflect FAST ram at * pages >C0 thru >EF, the location of Cecure's 384K memory * upgrade. * * 05/24/96 l7\MANAGE2S * *->Disabled memory power up from adding pages B9,BD,BE,BF for * ver5.00 | use with Rave Ram card as device H. * | * 05/26/96 | cli\chkdsks * | Received update to this file from Jeff White. Fixed size * | reporting for drives >90Mb and improved comments in source file. * | * 06/02/96 | l7\manage2s * | Decided that blocking B9,BD,BE,BF should not be done for Memex. * | Added routine to check for Rave card at CRU >1700 - if present, * | the four pages are blocked during powerup. If Rave is not * | present at >1700, the pages are not blocked. * | * |ERROR: The system page used for these routines was almost full; * | adding the Rave routine pushed it past 8K. So, I removed * *----> the test. Rave use is now determined by a flag. To * activate the Rave, you must SECTOR EDIT MDOS. * * 1) Search for HEX string >9640 * 2) replace with >0000 for Rave use * * * 06/02/96 \HEAD\OSHEAD1S * Located two areas which permanently declare pages for SCSI use. * Must modify these areas if we want to make those pages free * whenever a SCSI card is not present. * * 06/30/96 Modified GPL, included ROMPAGE support from menu * * 07/02/96 \CLI\NEWCMDS * Added routines for REMAP and SETDSK to show the current settings. * Until now, there was no way of knowing what each drive was remapped * to or setdsk'd to. * * 07/04/96 Dan Eicher had mentioned that Port's MDOS Shell did not work * with MDOS 5.00, so today was debug day. MDOS 2.21, 2.50 and 4.00 * worked, so I knew it was in the code changes between 4.00 and 5.00. * I forced a full assemble - no change. I removed all remap/setdsk * changes from NEWCMDS - no change. Finally I went into my Shell * code where I found it had something to do with the keyboard * routine. Hmm... my routine, like others, was looking at hard-coded * values for the keyboard buffer. After staring at that code, went * into L6\XOPS-S where the PSYSTEM flag was added. Sure enough, my * strategic placement had backfired... once I removed the psystem * flag, all worked as it should. * * - 'tis time to fix the psystem flag...DONE. Moved to offset >2200 * in KEY1S. * * - \CLI\COPYS * Fixed problem with COPY CON. Create/update dates are now * written out to the file properly. * * - \HD\WINDS3-S * Fixed problem with SAVing files. Before, saving a file over an * existing file would blast the create date. Now the creation * date is preserved. Must check whether it is preserved when * a file of a different type (ie, df80 over program) is written. * * TESTED - date is preserved, even when different file type is * used. I will not change this.. * * 7/5/96 \L8\SECT-P and L8\RW-P2 * Cleaned up a few routines, in particular the floppy controller * sector IO routines. Verified that the CALL DIR loop worked * properly. More debugging to do to get CALL DIR() to work from * HFDC floppies / emulate files. * * 7/7/96 \L8\SECT-P * After TWO days of searching I finally tracked down a long-present * DSR bug. This bug caused the CALL DIR() to lock up whenever it * was used with an emulate file or a HFDC floppy. * * In the process of debugging, I learned that the CALL DIR code * is located in two areas, one for all floppy support, the other * for HFDC. The HFDC CALL DIR code is not used but could be added * at a later date. Directorys are not display, but that too could * be added later. * * The final solution was to save and restore the MDOS pages before * and after the disk access was performed. I believe this may * eliminate some of the "sporadic" HFDC operation, at least under * ****** GPL mode. The next step is to LOOK AT THE OTHER HFDC FLOPPY SECTOR * ***!!*** ROUTINES to make sure they too are saving/restoring the correct * ****** memory pages. * * 7/7/96 Further checking in this file shows that the HFDC Floppy sector * WRITE routine MAY NOT BE CHECKING FOR ERRORS properly. * * - \CLI\DISKCOMP * Bad sectors on source/target disks caused this routine to * increment the TOTAL number of sectors by one for each bad sector, * thereby causing the routine to loop indefinitely (verified w/2.21) * * The bug has been removed. Bad sectors may or may not show up * in the compare. Why? The buffer used to load the sectors into * memory is not cleared prior to the compare, so comparing a 360 * sector disk twice may give different results. If room can be * spared, a routine to clear the memory will be added. I see this * as an inconvenience, not a bug... * * - \CLI\DISKCOPY * Bad sectors caused the DISKCOPY command to fail similarly to the * way DISKCOMP failed (verified w/2.21) * * The bugs have been removed, and this command will copy disks * properly. Bad sectors are skipped on the source. The bad sectors * not read on the source are written to the target as whatever * was in memory at the time. * * Errors on the target diskette will cause the DISKCOPY to skip that * particular sector. This means that the info did not copy * correctly, and it is time to (a)reformat the target disk or * (b) throw the target disk away and get a new disk! * * - \CLI\CHKDSKS * (Use of "CHKDSK /F") * Uncommented the routine which writes sector 0 back to disk if * errors are encountered. As of MDOS 2.21, errors were reported * to the user on the screen but were never fixed!!!!!!!! * * In the event that sector 0 is garbaged, the disk is write protected, * or the disk is removed, CHKDSK will tell you it could not write * the modified sector zero back to disk. * * (Usage of "CHKDSK *") * It was either Bill Sullivan or Bud Mills who told me about this * use of CHKDSK. It checks the directory/disk and tells you which * files, if any, are fractured. * * The routine ONLY WORKS ON FLOPPIES. The code used to catalog the * disk is the same that finds the fractured files, and it is not * sophisticated enough to detect hard drive fractured files. * * Therefore, if you get "All specified files are contiguous" on * a hard drive device, take the message with a grain of salt! * * 07/08/96 \CLI\TREES and \CLI\GETCATS * Modified GETCATS so that it would report whether floppy directories * existed on the cataloged floppy. The TREE code uses relative * record access which does not catalog floppy directories, so my * fix did not work. To make TREE catalog floppies, I have to add * more code to the TREE routine. Since MDOS has less than 1K * (1024 bytes) of room left in this area I cannot justify it at this * time. * * - Looked through the HFDC FLOPPY Format code some more. Still am unabe * to get the format to work, with the HFDC, under GPL. I have not * tried removing the Myarc Floppy Controller and setting the HFDC * to >1100. Perhaps this has something to do with Jeff/Dan's * assertion that both cards are turned on during the HFDC Floppy * format process. * * 07/09/96 \L6\KEY2S * Checked for keyboard filter...found out it was not present, so * added it back in. Keyboard code now compatible with GPL and * EXEC (all filter the same way). * Last Modification for MDOS 5.00 release * ******************************************************************************* * 07/30/96 \L8\SECT2-P * Removed code for Rave RAMdisk to switch banks to bank 0 before * shutting off card. Caused Flakey access. Don Walden alerted me * to this; we temporarily NOP'd the two lines (02030100....) * * 02/07/97 \SCSI\SECTOR_S * Added SCSI ID "remap" table. Now able to assign SCSI ID #s to * SCS1, SCS2, and SCS3. Have made no effort (yet) to add support * for SCS4...SCS7 nor has a "remap" style command been added to * MDOS. Sector editing is the only way to change the ID's for now. * * 12/30/97 \SCSI * Cleaned up SCSI directory. Removed COPY directives from SECTOR_S * and made one file, SCSI_S, for the copy. Cleaned up unused * code; reassembled and tested. * * 12/30/97 \L8\DSRPASS-S and HDR2-P2, HDR1-P2 * Removed code specific to powering up the Winchester. * Next step... try to remove pass-throughs for same card * 12/31/97 Passthrough=s removed. * * 01/01/98 \CLI\NEWCMDS * Modified SETDSK/REMAP text, lengthened SETDSK text... * \L8\SECT2-P * Modified Flashdisk code to support PFM512 * \L6\KEY2S * PFM512 modifications * * 03/21/98 \CLI\NEWCMDS, \CLI\HCLIS, \SCSI\SECTOR_S * Added new command: SCSMAP. Allows customization of SCSx devices * so any ID from 0-6 can be assigned to any SCSx device. * Moved SCSI Remap table to offset >040A for future reference * * \CLI\HCLIS * Removed reference to "TI" command for WDS emulation as part of * ongoing process of removing WDS support. Will eliminate actual * command later * * 03/22/98 \CLI\NEWCMDS * Modified HARD ON/OFF command to show actual status * * 03/22/98 \CLI\NEWCMDS, \CLI\HCLIS, L6\XOPS-S, \L6\VX282AS * IBMGRF: Modifies location >2022 in L6\XOPS-S * 127*8 = normal character set * 255*8 = extended character set; used PORT's 128-255 * * Needed because programs like Directory Manager don't redefine * their graphics set properly. * * VX282AS was modified to use the location instead of equates, * allowing self-modification by the CLI. * * 05/01/98 \CLI\DIRS * Modified DIR command; now displays full 4-digit year. Investigated * date and time routines and have determined that adding the "19" * or "20" prefix would likely break most programs which ask MDOS * for the date/time, as their buffers are likely set to 8 bytes * and not 10. May investigate this more in the future, but it * appears we are stuck with 2-digit displays in most programs. * * 05/02/98 \L8\SECT3-P3; \L8\DSRPASS-S; \L8\COPY2-P2 * Added label CYASTP and added substitution table for CYA. This * table allows CYA to bypass the Floppy controller DIP settings, * making SETDSK configurable from within CYA. No more surprises. * If the values in CYASTP are "0", the floppy controller settings * are used; if the track value is not "0", the CYA setting is * used for that particular drive. * * 05/02/98 Code archived for Michael Becker - testing of new SCSI to commence. * * 05/07/98 \l9\GENERALS * Date code modified - now Y2K compliant. Both routines modified * to make 2000 a leap year and calculate dates properly. * * 05/12/98 \CLI\NEWCMDS & HCLIS * Added VIDEO command * *-----* * EOF * *-----*