37.12 22 May 93 Change to include Emulation code result for 68040 FPU was overwriting CPU code string. Strings incresed to 50 chars. Now finally correctly reports all CPU's and FPU's. 37.11 4 May 93 Added exit(0) at termination. Was returning random result code. I think this was reported, but I forgot it. Thanks to Eddy Carroll. It appears some CD's can have seek times in excess of 1.2 seconds. Changed the result string gadget format to conditionally test and print as "%6.1f" if >999.0mS, else "%6.2f" . Thanks Jez and Dave. Bug fixed with FPU detection. FPU was being wrongly reported due to wrong assumptions about 040 flag. Now correctly reports all FPU's and advises if 040 FPU is running on it's own or with the 68040 library Emulation code loaded. Thanks sclifton@cix and kholland@cix. 37.10 25 April 93 (First release 2 May 93) Added name of Device Driver to Proforma Corrected spelling of picky Beta testers name in docs :-) Removed debugging printf()'s and window, as IDE bug now fixed Added error trapping and abort. If errors occur during a test run, the error will be reported and the remainder of the tests aborted. Tidied up some resource allocation. After a real thrashing, she gave back every single byte ! IO buffer now long aligned, thanks Steve. No longer detaches from CLI. Cback.o was causing problems, still not recognising Ctrl-C to abort test though OK, I've given up trying to abort a test with Ctrl-C or whatever. Everything I've tried has failed. So we are linking with cback.o again, and it detaches from the CLI again. 37.9 17 April 93 Added some debug code to try find the IDE problem Replaced SendIO() / WaitIO() with DoIO Now correctly passes Startup->fssm_Flags to OpenDevice(), was always opening the device driver with Flags = -1 Now correctly gets the BytesPerSector from the Info() command, rather than assuming 512 Now correctly gets the total sectors from Info() command, rather than calculating from the Environ array. This correctly reflects the reserved blocks. Device Requester now opens with NULL as default device. Default was previous garbage, and gave rise to "Device <$%*&*&> not found" requester. YARP (yet another reqtools problem). If the user hits return without entering a device, the requester is cancelled. If the user clicks OK without entering a device, the requester passes a NULL string back as a valid device ! Now uses BytesPerSector for the tests. Should theoretically work on devices with other than 512bps 37.8 16 April 93 Added requester after clicking save to give the choice between Save or Append All results now column alligned Changed process name to SeekSpeed_Process. Original, huh ? Changed a few requesters that won't get seen unless there's an error Finally got the window locking and BusyPointer working on all requesters Appears to be major BUG, in that she fails on IDE drives with invalid device and gets confused. This could be volume name is being returned, but with DLT_DEVICE set. Need to select Devices only Removed string gadget for entering Device Name and replaced with Text gadget to display it and Device requester to get it. Seems to work OK. Should be able to re-enable START button now, as device is still vailid at end of run. After testing a valid device, the START button is left enabled so you can re-test over and over again if you wish Return from AddPart was being wrongly assigned to a global which is one of the loop counters in the test routine. Global/Local mixup. May have been causing some strange results Tidied up a lot of requesters. Now correctly reports if results have been saved or appended, or if append or save has been cancelled 37.7 12 April 93 Added DateStamp to Proforma SeekSpeed now detaches itself when 'run' from the CLI *BUG* (to be fixed) If you do more than one test, then memory is lost. The cleanup code is a big change, as it is only effectively freeing some of the structures and messageports from one test. Think I'll leave this one until later :-) Some (most) of the above fixed. Each time a Device is entered, The MessagePort and IORequest are freed, NULLed, and then new ones assigned to the new device. This results in Start being ghosted until a Device is entered, so you can't test again until re-entering the Device name. Still have to fix a possible missing CloseDevice() if more than one test is conducted Device is now 'Busied' during the test. I personally don't like this, as it takes longer for the system to implement than it does to test a ram drive, and if the HD is busied, all windows are closed, the backdrop cleared, and if, during the test, you click on the Icon for the assigned volume name, it asks you to insert the Device: . Comments please Beta testers ? Later... I've compromised and only Busy the device if it is DFx: . Floppies take a long while, and can safely be busied. The effects of Busying the HD were horrible Now fixed the unclosed Device. All memory is returned, and all messageports, IORequests and Devices safely closed down, on exit, or when choosing a new device. Please check this well Beta guys. No changes to the manual since V37.6 37.6 11/12 April 93 Added file requester for saving results (at last...) Added ProForma information to Results Added CPU and FPU auto-detection to Proforma Added AddBuffers detection to Proforma Removed gadget ghosting, and added BusyPointer during SAVE and PRINT Added 'File saved' confirmation requester. Removed disasterous bug that was waiting to happen. Managed to get two nested rtLockWindow/rtUnlockWindow. If the middle one had happened (unable to open file/printer) then unallocated memory would have been freed. 37.5 10 April 93 Guru when exiting after choosing Ram: . Although the device is found in the dev list and locked, it is correctly detected as not a valid device for this test. However disk info is assigned. When exiting the DoIO had invalid data and crashed. Only way round this was to do a string comparison for ram: and never look at the unit. Added the letters T, F, B for total, free and bytes/sector into the device gadgets. Now uses ReqTools Library for requesters, and for saying Ram device cannot be tested. Also added BusyPointers where needed Added Menus with Quit and About items. Made them NewLookMenus 37.4 9 April 93 Fixed the memory leakage. Few FreeMem()'s missing ! Re-worked the algorithm for number of timing events used. Now default to 100, but each test call will dynamically calculate the maximum allowed number of tests and set n accordingly, such that the device is never over-seeked. Print and Save functions implemented. 37.3 8 April 93 First test vesion. Functioning, but some memory leakage. If device has low sector count, it can seek past the end.