print 1-2 Date: Tue Dec 25, 1990 11:28 am CST From: BITFTP1 EMS: INTERNET / MCI ID: 376-5414 MBX: BITFTP1@pucc.princeton.edu TO: * Mark Steiger / MCI ID: 422-7818 Subject: BITFTP output, 504-release-notes1.txt, Part 1 of 1 (uuencoded) Apple IIGS System Software Release Notes Version 5.0.4 December 10th, 1990 Part 1 of 2 These release notes list the changes made from version 5.0.2 to 5.0.4 of the Apple IIGS System Software. Most of these changes were made for version 5.0.3; changes made from version 5.0.3 to version 5.0.4 are noted with 5.0.4 in the margin. Miscellaneous Changes: The font Times.12 is now also deleted when you run the SCSI Hard Disk script. Times.12 is now on System.Tools disk as well as the System.Disk. Any script that copies the file Times.12 has been modified to copy it from /System.Tools/System/Fonts/ instead of /System.Disk/System/Fonts/. The ACE (Tool029) toolset has been moved from System.Disk to System.Tools. A new script has been added to install ACE. Several other scripts have also been changed to reflect this change in organization. The installer script SCSI Hard Disk has been modified slightly. This script now deletes the font Shaston.16 in additon to the Tutorials folder. Shaston.16 is now on the System.Tools disk as well as the System.Disk. Any script that copies the file Shaston.16 has been modified to copy it from /System.Tools/System/Fonts/ instead of /System.Disk/System/Fonts/. ToolBox Changes: ToolSets Window Manager v3.2 Tool014 Defined new bit in TaskMaster (tmNoGetNextEvent, bit 21). When this bit is set, TaskMaster does not call GetNextEvent. Instead, it uses the data in the Event Record portion of the Task Record you pass. Menu Manager v3.2 Tool015 Fixed a bug in DeleteMenu. The handle to the menu that was being removed was not getting unlocked. Fixed bug in NewMenuBar2. When the call was made using resources, the rMenuBar resource was not getting released properly when done. If the high word of the resource ID passed was zero, then the resource was just not released. Having a nonzero high word used to cause a fatal error. Control Manager v3.2 Tool016 Fixed bug in Static Text controls. The justification field now works. Fixed a bug in NewControl2 where the owner port was not being set before the definition procedure was being called. This caused a problem in size calculation. With this fix, it is now safe to use NewWindow2 with attached controls. QuickDraw Auxiliary v3.3 Tool018 (5.0.4) Fixed bug in ClosePicture. If an error occurred in picture accumulation, ClosePicture could trash the first word of a random region (usually the clip region of the last window drawn to). 5.0.4: CopyPixels segment is now static instead of dynamic. 5.0.4: The top scan line on CalcMask is now handled properly. Two variables had been initialized improperly. 5.0.4: Rounding the pixel map buffer size to an even number of bytes in SeedFill and CalcMask now works if the low word of the size was $FFFF. 5.0.4: SeedFill and CalcMask no longer return a bogus error code in 640 pure mode. 5.0.4: Fixed a stack imbalance deep inside picture pixel map routines under low memory conditions. LineEdit v3.2 Tool020 Fix bug in LEFromScrap. Two bytes of memory were getting trashed when LEFromScrap was made and there was an empty text scrap. The word that got trashed was $FFFE from where the Line Edit scrap is located. Dialog Manager v3.3 Tool021 Fix bug in ModalDialog. ModalDialog was stealing all events from the event queue-instead it should have been leaving application events alone. This was only fixed for ROM 01 machines. For ROM 3 ModalDialog can still steal application events. Standard File v3.2 Tool023 When in the Volumes list for "Get" dialogs you can now select a member in the list by using keystrokes. Fixed some spacing problems with "Get" dialogs in 320 mode. The wrong dialog item was being zeroed in the previous fix. Symptoms were if you called SFPMultiGet2 the second time you brought up this dialog, button item 5 would be blank. This has been fixed. Fixed a problem with using custom Standard File dialogs. Standard File physically patches certain items in the application's dialog template. For the Path item (item 6 in GET, item 7 in PUT) Standard File patches in an address to a routine that draws the path. Since this address points to a routine within Standard File, if someone unloaded the toolset and loaded it again, it is very probable that the toolset could load at a different memory location which would make this patched address invalid. Standard File only patches this item if the refdescriptor field is zero. The next time this dialog template is used, this field is now non-zero and therefore not patched again by Standard File. The bug is fixed by making sure that before the dialog is closed this field is zeroed out (if it was zero to begin with). If an unformatted disk is inserted while a standard file dialog is up, it is no longer just ignored. An error message is now displayed and the disk is ejected after the user selects OK. If prefix 8 or 0 (depending on old or new call) was set to a valid filename and not a directory name, all standard file calls would fail. This has been fixed. Whenever you initially brought up a standard file dialog the cursor would flicker back and forth from a watch cursor to an arrow cursor. This has been fixed. Hitting the key in "Put" dialogs when the default button is inactive could cause problems because the key is then passed onto the active edit line item. The would erase any selected text in the edit line. This has been fixed. Fixed bug where multiple volumes could be selected in "Multi" dialogs. You can now only select one volume at a time when in the "volumes" list. If a volume was larger than 16MB the string that shows how much room was left on the volume currently being displayed was wrong. This has been fixed. When the promptRef passed is a resource and the resource cannot be found, Standard File would crash. This has been fixed. Standard File now returns with carry set and returns the error received from LoadResource call. Fixed bug in SFMultiGet2. No matter how many files were selected, the call would always return 1 as the number of files selected. Folders on AppleShare volumes that you do not have enough access privileges to are now displayed grayed out. When a disk is inserted that GS/OS cannot recognize an alert is put up and the disk is ejected when the user selects OK. In the "Put" dialogs, selecting New Folder now drops you into the folder that was just created. Hitting the key no longer hilites the "Volumes" button. For the new "Put" calls (SFPutFile2, SFPPutFile2), fixed bug where trying to reference the origNameRef as a resource with the middle word of the resource ID equal to zero would not work. Disk switch events are now being monitored. A disk insert event now causes that disk's list of files to be displayed in the file list. A disk eject, if it is the currently displayed volume will cause the next volume's list of files to be displayed in the file list. The "Disk" button no longer advances to the next volume, instead selecting this button now displays the list of all volumes currently on-line (this is now titled the "Volumes" button). Selecting the pathname field or the "Close" button when the volume currently being displayed is at the root level also has the same response as selecting the "Volumes" button. You would encounter several problems if you tried to bring up a standard file dialog and there were no volumes on-line or if you ejected all the volumes while a dialog was already open. The default edit line name in "Put" dialogs is now highlighted. Fixed bug where system crashed after entering too many characters. The maximum number of characters that can be entered in any edit line field is limited to 32. Fixed bug where in 320 mode when a disk was locked the lock icon would not appear in the pathname field of the dialog. Fixed bug in SFRescan. The call would not work in 320 mode. Fixed bug in all the "Put" calls. When an illegal filename was entered by the user they were never notified that it was bad. Instead Standard File would just skip to the next volume. Font Manager v3.2 Tool027 If one of the buffers the Font Manager gets during FMStartup crosses a bank boundary in the right way FMStartup could return a bogus error. This has been fixed. Fixed bug in FMStartUp where a partially created FONT.LISTS file would be left around if it could not be created successfully. This could cause the system to crash. Now if anything goes wrong when creating the FONT.LISTS file it will be deleted. Fix bug in ChooseFont and InstallWithStats. Occasionally when a font had to be created ChooseFont and InstallWithStats would not be able to create the font because it encountered a memory error even though there was enough memory to create the font. This fix just makes this whole process of having to create a font more robust. The watch cursor is now put up when ChooseFont has to call InstallFont. List Manager v3.2 Tool028 Fixed bug in NewList2. Problems would arise when NewList2 was called and the list grew. ACE v1.2 Tool029 Re-written to improve performance. Resource Manager v1.1 Tool030 Fixed bug where the resource map was getting corrupted (this would cause the file's resources to get trashed). Whenever the resource manager had to join two free blocks (in its own free block list) the resulting block was not correctly sized. Fix a bug relating to restarting the OS. While the resource manager was working fine, it no longer had Sys.Resources in its search path (that is, running a P8 application from the Finder and then returning to GS/OS would cause problems such as Standard File being unable to display a Replace/Cancel dialog). TextEdit v1.2 Tool034 Fixed a bug where, in certain instances, super blocks were not ending in a carriage return. Fixed a problem in TEGetSelectionStyle where the common style flags did not properly reflect the common styles that were in use. Fixed super block trashing bug where a deletion would cause a super block to end without a carrige return. Fixed LETextBox2 output. Note: This output is still not a supported option in TextEdit. However, it should work for small blocks of text with reasonable numbers of styles. Fixed a bug in the Idle routine that would corrupt the superblock list if the fixblocklist routine was called to join 2 small blocks. Fixed a bug in TESetText which corrupted the text edit record if the length of the incoming text was 0. Fixed a bug in the TEGetText routine that would trash the contents of memory if you tried to retrieve too much text into a Pascal string. When an invisible TextEdit control is created the scroll bar is still visible. This has been fixed. Fixed control so that the selection is not outlined when a control is made invisible. Fixed deletion bug which trashed the block list if large blocks were deleted from a record. Fixed the Text Edit control definition procedure so that initial style is properly set up when you use less than 13 as your pcount. This was causing some hangs and out of memory indications at NewControl2 time. This could also cause bad style lists and improper handling of style changes. TS2 (patch for ROM 01) This patch file has been segmented so that the initialization code can be disposed of when the patch has been loaded. This will mean that QDBootInit cannot be called again (but that was the case anyway). Memory Manager v3.1 Fix bug in DisposeHandle. Put in check to make sure that the handle being disposed was a valid handle. QuickDraw II v3.5 SetGrafProcs no longer increments the BUSY flag too many times. Added bit to QDStartup MasterSCB flags that says to not load/use FastFont. The noFastFont bit has value $1000 in the MasterSCB word. Fixed bug in all region op calls that would leave region handles locked after certain operations. Fix bug in QDShutDown. Shadowed memory was not being released properly when shadowing was turned on. Fix bug in RectInRgn. The high word of a variable being used was not being zeroed out correctly. Desk Manager v3.3 Fixed bug in RemoveNDA. The call was not properly removing the NDA from the NDA list. If you tried removing NDAs in the same order you installed them and then tried quitting the application, you would die a horrible death. Sound v3.3 Fixed bug in FFStartSound. Fixed FFStartPlaying to no longer garble sound when SampleSize is less than or equal to 2*BufferSize. Fixed FFSoundDoneStatus to operate correctly when SampleSize is less than or equal to 2*BufferSize. Miscellaneous Tools v3.1 Added new call, ConvSeconds ($3703). See the attached pages at the end of these release notes for documentation for ConvSeconds. Added address $00FF to the GetAddr function. This address is the location of the serial port buffer pointers. (These data structures are not currently documented, so don't use them.) TS3 (patch for ROM 03) This patch file has been segmented so that the initialization code can be disposed of when the patch has been loaded. This will mean that QDBootInit cannot be called again (but that was the case anyway). Tool.Setup (this is the init that loads the patch files) Fix bug in GetNewID that only occurs on ROM 03 machines. The first ID reserved was always lost. Since GetNewID is called before the patch can be loaded but not before the init is run, we make the fix here. Memory Manager v3.1 Fix bug in DisposeHandle. Put in check to make sure that the handle being disposed was a valid handle. QuickDraw II v3.6 (5.0.4) Added bit to QDStartup MasterSCB flags that says to not load and use FastFont. The noFastFont bit has value $1000 in the MasterSCB word. Fixed bug in all region operation calls that would leave region handles locked after certain operations. Fixed bug in seekRgn. It would crash/hang/generate garbage when seeking a non- rectangular region up instead of down. This should fix many problems with ScrollRect and the bit transfer routines. Fixed backwards slices for all pixel transfer operations (they would usually crash). 5.0.4: Fixed QDStartUp to make sure the cursor image handle is safe. This patch is identical to one that's been in TS2 or Tool.Setup since May 1987. Desk Manager v3.3 Fixed a bug in RemoveNDA. The call was not properly removing the NDA from the NDA list. If you tried removing NDAs in the same order you installed them and then tried quitting the application, you would die a horrible death. Sound v3.3 See changes in TS2 patch for Sound Tools. Miscellaneous Tools v3.1 See changes in TS2 patch for Miscellaneous Tools. Window Manager v3.2 See changes for Window Manager toolset. Menu Manager v3.2 See changes for Menu Manager toolset. Control Manager v3.2 See changes for Control Manager toolset. LineEdit v3.2 See changes for Line Edit toolset. Font Manager v3.2 Patch to FMStartup. See changes for Font Manager toolset. Fixed bug in ChooseFont. There was a bug fix in the call InstallFont that was patched for 5.0 that never got incorporated into ChooseFont, which calls InstallFont. List Manager v3.2 See changes for List Manager toolset. Printer Drivers Imagewriter LQ v4.1 (5.0.4) Version 4.0 is all new for System Disk 5.0.3. All new features are described in a separate document not included with these release notes. 5.0.4: Worked around a strange behavior of PAP by calling PrDevStatus a second time if any tool errors occur the first time. 5.0.4: Modified the end of PrCloseDoc to insure that all spooling resources are released if there is a print loop error. 5.0.4: Spooling now occurs to the user folder if you booted over AppleShare. 5.0.4: Changed spacing around the "/" in the top line of the dialog boxes. 5.0.4: More robust and correct error checking implemented. Imagewriter v4.1 (5.0.4) Version 4.0 is all new for System Disk 5.0.3. All new features are described in a separate document not included with these release notes. 5.0.4: Worked around a strange behavior of PAP by calling PrDevStatus a second time if any tool errors occur the first time. 5.0.4: Modified the end of PrCloseDoc to insure that all spooling resources are released if there is a print loop error. 5.0.4: Spooling now occurs to the user folder if you booted over AppleShare. 5.0.4: Changed spacing around the "/" in the top line of the dialog boxes. 5.0.4: More robust and correct error checking implemented. 5.0.4: Both the Open and PicFile routines now call the idle procedure at the beginning and exit if the error status is set. This makes the driver work better with those programs that patch out the Event Manager (like HyperCard IIGS...) Fixed bug that caused vertical repeating. Fixed by forcing band buffer to clear each time. Hitting command-period right after Job Dialog OK would cause crashing due to calling PrDevClose w/o PrDevOpen. Fixed. Change-color-table PicComment implemented. LaserWriter v3.0.1 Fixed bug that sometimes caused font lists from the LaserWriter to appear in the status dialog. The driver was skipping some bytes in a PrAsyncDevRead (PAP read) call. Changed "pop=flush" to "pop = flush" in the prep file (internal) to prevent a PostScript error when running out of VM in the printer. Corrected other small bugs relating to PostScript and typographical errors. Modem v2.1 Timeout on the PrDevRead call changed. If the currently-installed printer driver is less than v4.0, then the timeout delay on the read call is unaffected; otherwise, it is about 2 seconds (the old delay remains at about 45 seconds). Added direct-to-SCC-chip write for true 19.2Kbaud. Added a zap ("Ignore all subsequent ^I commands") command to DevOpen, so that Ctrl-Is ($09 or $89) in the data stream won't be interpreted and filtered out by the firmware. Removed similar zap code from DevRead. Modified the stack offset for DevAsyncRead to not include direct page and bank address since the call never switches direct page. Printer v2.1 Timeout on the PrDevRead call changed. If the currently installed printer driver is less than v4.0, then the timeout delay on the read call is unaffected; otherwise, it is about 2 seconds (the old delay remains at about 45 seconds). Added direct-to-SCC-chip write for true 19.2Kbaud. Added a zap ("Ignore all subsequent ^I commands") command to DevOpen, so that Ctrl-Is ($09 or $89) in the data stream won't be interpreted and filtered out by the firmware. Removed similar zap code from DevRead. Modified the stack offset for DevAsyncRead to not include direct page and bank address since the call never switches direct page. Date: Tue Dec 25, 1990 11:29 am CST From: BITFTP1 EMS: INTERNET / MCI ID: 376-5414 MBX: BITFTP1@pucc.princeton.edu TO: * Mark Steiger / MCI ID: 422-7818 Subject: BITFTP output, 504-release-notes2.txt, Part 1 of 1 (uuencoded) Apple IIGS System Software Release Notes Version 5.0.4 December 10th, 1990 Part 2 of 2 These release notes list the changes made from version 5.0.2 to 5.0.4 of the Apple IIGS System Software. Most of these changes were made for version 5.0.3; changes made from version 5.0.3 to version 5.0.4 are noted with 5.0.4 in the margin. GS/OS Changes: GS/OS (composed of the files GS.OS, GS.OS.Dev, and Start.GS.OS): SCM (System Call Manager) Removed code that checks for more than 65535 unclaimed interrupts and calls the subroutine that displays the dialog box. There seems to be a problem with the 6551 chip used in several internal modems that cause spurious interrupts to be generated. This caused GS/OS to generate the unclaimed interrupt error dialog which caused problems for those who were doing remote downloads since the dialog required a response from the user. Fixed bugs in make_seg, deallocate, and lock/unlock_mem which were using 16-bit addressing when the data bank register was not set correctly, so SCM was stomping on memory and not unlocking some handles. Incorporated a bug fix where SCM was erroneously reporting 65536 unclaimed interrupts. Fixed a bug in the notification queue where the event code was being lost if a Notify Proc generated another event. System Error Messages Changed text of unclaimed interrupt error message to send the user to their Apple dealer, instead of a fatal message. ExpressLoad Unloading a dynamic segment by address was not working reliably. When the address of a procedure within a dynamic segment was passed which hadn't been used yet, ExpressLoad looked at its jump table segment and assumed that, since the referenced entry hadn't been patched yet, it couldn't have been loaded yet. This has been corrected by having ExpressLoad always attempt to mark the dynamic segment as purgeable, whether it is in memory or not. Since it ignores a "Segment Not Found" error returned by at attempt to mark the dynamic segment as purgeable, this shouldn't cause any problems. GQuit GQuit's ProDOS 8 loading routines changed due to the new size and version of ProDOS 8 v1.9. Changed allocation of 64K buffer used to read the OS files from disk. Previously, it was allocated as locked, non-fixed, in no particular place in memory. This caused the Memory Manager to allocate the block high in memory. During the boot process, other handles are allocated as locked and never go away, effectively creating a very large free area high in memory (when this buffer is deallocated, that is) that can't be combined with the main portion of free memory (producing fragmentation). Calls to the Memory Manager CompactMem routine have been added prior to: a) Initializing SCM b) Initializing the Device Dispatcher c) Processing Tool.Setup d) Loading Desk Accessories e) Performing the Quit call to load and execute the "Start" program This should further reduce memory fragmentation that was occurring during booting. GQuit now masks off any irrelevant bits of the quit flags prior to sending the quit word to the UserShutdown function of the Loader. Device Manager D_Info call now respects the size of the supplied result buffer for the device name. Console.Driver The User Input Read routine was not updating the GS/OS direct page transfer_count field during the call. During investigation, it was noticed that the raw read routine had the same problem. Both routines have been fixed. SCSI.Manager (5.0.4) 5.0.4: Known bug: The SCSI Manager asks peripherals to return 256 bytes of status into an 8-byte buffer in the middle of the code. Most hard disks only return 8 bytes, but some peripherals return more, overwriting some Manager code and crashing during boot. This is not fixed in 5.0.4. 5.0.4: Changed the startup routines to not reset the SCSI bus, to prevent some peripherals from entering power-on diagnostics in the middle of the boot process (and also to keep the Rev. C SCSI Card from changing CD-ROMs back to 2K/block mode). The Manager version is now 5.4. Fixed Startup Call. If no hardware is found on startup, the bound IRQs will be Unbound now so that they are not left hanging. Designed to support both the old and the new SCSI cards. Modified to add support for the 1 meg transfer rate required by the new card. Also a number of format changes have taken place in the Manager that makes this a new environment. SCSICD.Driver Bug fixes. SCSIHD.Driver Added support for Extended Read and Write in the default command bitmap. Bug fixes. UniDisk 3.5 Driver While being warm-started (after a switch to GS/OS from P8), the parameter list used to download the disk-switched code to the drive was not being set up properly, resulting in the UniDisk failing to recognize disk-switched occurrences. This has been corrected. (Disk switches were still noticed if the driver was called while there was no disk online, so the problem was not obvious in applications like the Finder, which continually poll drives.) ATalk Changed the device characteristics of .RPM so that it no longer allows read access. DRead will no longer hang when issued to .RPM. Fixed a bug in the .RPM driver where it closed RPM without flushing unwritten data. Now calls PMFlushSession before closing .RPM. ATP2.ATRAM You no longer lose connections with servers when you change your machine's clock setting. The ToWriteTime routine is intercepted to keep AppleTalk aware of the current real time. (When you changed your clock, AppleTalk thought that a lot of real time had elapsed-often many hours-and caused all of its timers to expire, including the server session timers.) Fixed a bug in the FIAccess call where it assumed it was passed a complete pathname and returned an error $0A09 (volume not mounted) when a partial path was used. Added a new call (PMFlushSession, $48) to RPM to allow explicit flushing of unwritten data. This call causes the flush timer to complete immediately, causing buffered data to be written. The parameters are the same as those to PMCloseSession. HS.FST (High Sierra FST) Fixed the problem where the disk switched was being returned by the Volume call when High Sierra comes in before ProDOS in the FST calling loop (for example, when booting over AppleShare). It is important that the retry not happen in general, otherwise the FST will blindly read from the wrong disk if you swap disks. ProDOS.FST Fixed several problems related to the SetEOF fix implemented in earlier versions of System Disk 5.0.3. These could cause an error $2C (invalid device request count) to be returned by the FST if certain pairs of calls were executed in succession. Another problem would cause blocks to not get deallocated when cutting back a file's EOF across 64K boundaries. Fixed a bug where cutting back the EOF of a file with more than $8000 blocks allocated to it (counting index blocks) would never change the block count in the file's directory entry (that is, it would be "stuck" above $8000 for all time). Added support for the FLUSH_TYPE parameter for the Flush call. The Flush call now supports two types of flush: a "full" flush, which flushes a file's dirty data blocks and dirty directory blocks, and a "fast" flush which flushes dirty data blocks only. Note that Flush previously performed the "full" flush. The type of flush is specified in the parameter block by the caller. A fast flush is specified by specifying a FLUSH_TYPE of $8000. Fixed bug where SetFileInfo was not handling zeroed fields of the mod_date and create_date parameters correctly. If the entire parameter is zeroed, it's supposed to either use the current date (if its the mod_date parm) or leave it alone (if its the create_date). If only a portion of the field is zero, though, it should use the zero as the value to place in the directory entry. This is now the case. Fixed bug where SetEOF would trash a file when a call was made to move the EOF back or the same on a file which has a sparse area at the end (i.e., sparsed-out blocks at the end of the block list) and the new EOF is still within the sparsed range. SetEOF now always views a change in the EOF as being relative to the position of the last physically allocated block in the file. Fixed a bug where a system crash was possible if a sequence of FST calls caused disk blocks to be freed and then re-allocated on the same volume. Fixed a bug in SetEOF. Under certain conditions, if the new EOF was not an even multiple of $200 file data could be corrupted. When the FST accesses a volume and then a new volume gets swapped into that same device, the FST now allows access to the new volume in that device when the device name is specified in the call. Previously, the FST would display a dialog box asking the user to insert the volume that was seen in that device before the swap. AppleShare FST (5.0.4) 5.0.4: Fixed the routines that shield and unshield the cursor while drawing the arrows in the menu bar during server access. These routines now save and restore the direct page locations documented in the January 1991 revision to Apple IIGS Technical Note #34, Low-Level QuickDraw II Routines. Fixed bug when switching between users with diskless booting. The system disk not recognize that the boot volume had been renamed. ProDOS 8 Version 1.9: Known Bugs: ProDOS 8 doesn't handle seedling sparse files correctly. SET_PREFIX "/" followed by a SET_PREFIX with a volume name without a slash sets the prefix to the first letter of the volume name. Changes: P8 had problems displaying the "program too large" message. This has been fixed. P8 could not load large system programs. When checking the size of the .SYSTEM program to be loaded at boot time, the code was comparing the second byte of the file's EOF to a constant $98. This limited the size of the program to 38K, when it could actually be 39.75K without interfering with ProDOS. The constant value has been changed to $9F. A second version of the Quit call handler has been added to the operating system. The new Quit code lets the user select the next application interactively instead of remebering and typing its pathname. The new quit code is only used on an 80-column Apple IIe or later when ProDOS 8 is booted directly (not when you have booted GS/OS). The original version of the quit code is automatically used on machines that don't have the necessary hardware to support the new code. BASIC.System v1.4.1 Fixed a problem where the high byte of the ,B parameter was not being zeroed, causing BSAVE to create files with excessively large EOFs. CDev Changes: ATalk ImageWriter Printer CDev Fixed the bug with network booting as a guest. The CDev was trying to build a path to the user's ATINIT file. But the guest's user name is returned as the empty string (creating an invalid pathname). It now uses "" instead of the empty string. Fixed text justification problems with static text controls (especially the titles above lists and line edits). Fixed problem with CDev not showing more than 3 ImageWriters on the net. It was incorrectly calling NewList2 with listStart=0 when no printer had been selected, and no printer matched the name in the Printer.Setup file. It now uses $FFFF for listStart (to keep the first item displayed the same as before). Fixed problem with crashing under low memory situations. It was possible for the CDev to get loaded in bank 0 which was causing the problem. ATalk ImageWriter LQ Printer CDev Fixed the bug with network booting as a guest. The CDev was trying to build a path to the user's ATINIT file. But the guest's user name is returned as the empty string (creating an invalid pathname). It now uses "" instead of the empty string. Fixed text justification problems with static text controls (especially the titles above lists and line edits). Fixed problem with CDev not showing more than 3 ImageWriters on the net. It was incorrectly calling NewList2 with listStart=0 when no printer had been selected, and no printer matched the name in the Printer.Setup file. It now uses $FFFF for listStart (to keep the first item displayed the same as before). Fixed problem with crashing under low memory situations. It was possible for the CDev to get loaded in bank 0 which was causing the problem. ATalk LaserWriter Printer CDev Fixed the bug with network booting as a guest. The CDev was trying to build a path to the user's ATINIT file. But the guest's user name is returned as the empty string (creating an invalid pathname). It now uses "" instead of the empty string. Fixed text justification problems with static text controls (especially the titles above lists and line edits). Fixed problem with crashing under low memory situations. It was possible for the CDev to get loaded in bank 0 which was causing the problem. Desk Accessories: VideoMix.NDA v1.3 Fixed bug where hitting the key when VideoMix NDA is up and no card is installed would crash the system. A.U.G. Changes: (Applications and Utilities Group) Installer v1.2 If the last FileSpec in a script required no action to be taken the Installer would get confused and think there were more fields in the script. This has been fixed. Fixed bug where the Installer was incorrectly parsing the file spec field separator character "~" in the scripts. Installer Scripts: SCSI Hard Disk: This script now also deletes Times.12 to make room for the drivers. This script now deletes Shaston.16 to make room for the drivers. ACE Toolset: This is a new script for 5.0.3 that copies the ACE toolset. Additional Fonts: Times.12 is now copied from the System.Tools. disk. Changed to reflect the moving of Shaston.16 to System.Tools disk. AppleShare on 3.5 Disk: Changed to reflect the moving of Shaston.16 and Tool029 to the System.Tools disk. Latest Sys. Files (No Finder): Times.12 is now copied from the System.Tools. disk. Changed to reflect the moving of Shaston.16 and Tool029 to the System.Tools disk. Latest System Files: Times.12 is now copied from the System.Tools. disk. Changed to reflect the moving of Shaston.16 and Tool029 to the System.Tools disk. Local Network Startup: Changed to reflect the moving of Shaston.16 and Tool029 to the System.Tools disk. Server Network Startup: Times.12 is now copied from the System.Tools. disk. Changed to reflect the moving of Shaston.16 and Tool029 to the System.Tools disk. ------------------------------------------------------------------------------ ConvSeconds $3703 Allows conversion to and from a long integer containing the number of seconds Since January 1, 1904-the format used by the Macintosh operating system. ConvSeconds is provided to allow easier handling of dates in applications that work with several different date formats. Parameters Stack before call Previous contents | | | Space | Long-Space for result | | |-----------------| | convVerb | Word-Direction and type of conversion |-----------------| | | | seconds | Long-Number of seconds since January 1, 1904 | | |-----------------| | | | datePtr | Long-Pointer to buffer for converted date | | |-----------------| <-SP Stack after call Previous contents | | | secondsOut | Long-resulting number of seconds | | |-----------------| <-SP Errors $0390 badTimeVerb Invalid convVerb value $0391 badTimeData Invalid date or time to be converted C extern pascal unsigned long convSeconds(convVerb, seconds, datePtr); unsigned Word convVerb; unsigned Long seconds; Pointer datePtr; convVerb The type and direction for the conversion. Valid verbs are: 0 from seconds to the Miscellaneous Tools ReadTimeHex format 1 from the Miscellaneous Tools ReadTimeHex format to seconds 2 from seconds to ASCII text (ReadTimeASCII format) 3 not implemented 4 from seconds to ProDOS date/time format 5 from ProDOS date/time format to seconds 6 return the current time in seconds 7 set the current time from seconds 8 from the Miscellaneous Tools ReadTimeHex format to ProDOS date/time format 9 from ProDOS date/time format to the Miscellaneous Tools ReadTimeHex format 10 from seconds to HyperCard IIgs format 11 from HyperCard IIgs format to seconds HyperCard IIgs format is the same as the Miscellaneous Tools ReadTimeHex format except that the bytes for the month and the day are one-based instead of zero-based. seconds The input number of seconds since January 1, 1904 for all conversions that convert from a number of seconds to a different format, as well as for setting the current time. Conversions to a number of seconds since January 1, 1904 ignore this parameter, although it must be present. datePtr Pointer to a buffer for all input and output values that are not a number of seconds since January 1, 1904. Conversions from a number of seconds will place the results in the buffer pointed to by datePtr; conversions to a number of seconds will get the source from a record pointed to by datePtr. When converting between two formats that are not seconds, the input pointed to by datePtr will be overwritten by the output. WARNING: The buffer pointed to by datePtr must always be at least 8 bytes long and must be at least 40 bytes long when converting to ASCII format. ConvSeconds will overwrite the first eight bytes of the buffer pointed to by datePtr even if the input is less than eight bytes long. secondsOut The output number of seconds since January 1, 1904 for all conversions that convert from any other format to a number of seconds. Conversions from a number of seconds since January 1, 1904 do not use this result space, although it must be present. NOTE: In System Software version 5.0.4, ConvSeconds can return with the carry set and zero in the accumulator when no error occurred. Also, an invalid convVerb value of 12 does not return an error as it should. Command: