/* XGS-Mac To Do List ------------------ € Better Status bar. --In progress € Allow for adjustable RAM allocation in the Setup dialog. € Support keypad keys correctly. € Better GUI support for XGS Disk Utilities... * Note: The test platform used for the boot times listed below is a Power Macintosh 8500/132 with 64MB of RAM, VM on. Revision History Version 0.50r3 07/05/97 ======================== € Fixed up the video code to support 68Ks. € Status Line now shown in 640x400 window. € Fixed Status Line drawing so the text shows up when the GS sets the foreground and background colors to the same value. (Now the status line is visible in Modulae.) € Recompiled and optimized with MrC 4.0d. Slight improvement. € CFM 68K version with DrawSprocket 68K (beta version) support! € Dynamically links the DrawSprocket library (if available on the host) and enables DrawSprocket blitting. Revision History Version 0.50r2 06/16/97 ======================== € Unannounced version, since the 68K version was not ready. € Profiled and optimized a few critical routines. Then, used a dynamic profiler to reorder and optimize the code further, resulting in a 15-20% speed improvement over 0.50r1! € Reduced memory footprint by 3MB. € FKeys no longer register as a GS keyboard keystroke. This allows for toggling of options without disturbing a GS program's execution. € Disk swapping is now implemented under the Drives menu. To eject a disk, select it from the Eject submenu. To load an image into a drive (whether or not that drive is currently loaded), just select it from the Drives menu and you will be prompted for the image. If the disk image does not load properly (or the image is not valid), the drive will remain in its current state. € Setup dialog now sorts *.po, *.dsk, *.do, *.raw into the s6dx list. € Improved the Setup Dialog. You can no longer choose the same image twice, which previously resulted in a hard crash. € Added an "Eject All Disks" button to quickly empty the drive popups. € Overhauled the video code to allow for modularity. As a result, the status lines are now legible in all supported views. € DrawSprocket support! € The frame skip rate is now saved as a preference between launches. € Old, incompatible preference files are ignored and set to the current version's defaults. € Revised sound output routines. In previous versions, about 50ms of many GS audio output samples were cut off unintentionally during playback. € Sound now supports both 8 and 16-bit sound. Files named "gsSound8.aiff" and "gsSound16.aiff" are saved to the application directory if any recording was done in 8 or 16-bit sound respectively. The 8,16-bit sound is saved as a preference also. Version 0.50r1 05/07/97 ======================== € Upgraded to 0.50 core. This is a "stable" core release. It includes: * IWM read&write support for 3.5" and 5.25" disk images loaded into the s5d1,s5d2 (for 3.5" images) and s6d1,s6d2 (for 5.25" images). This means Bouncin'Ferno, Modulae, ZZCopy, and other 3.5" dependent programs now work. * Ensoniq emulation problems have been corrected. Classic AppleII sound is still in progress. € Compiled 100% of the core code with MrC 3.01f1c12. This resulted in a considerable performance improvement and a smaller application size (748K -> 649K = 13%). Thanks, Steve! € Added frame skipping. In most cases, this results in a 200-400% increase in overall performance! Thanks for the update, Ian! € Fixed a disk-loading bug that consistently crashed XGS-Mac after dismissing the Setup dialog under certain circumstances. € Set allocated GS RAM to 2MB to make sure s5d1,s5d2 images have enough memory to load. € Fixed the disk utilities so it changes the image file type as appropriate. € Added a routine to the disk utilities to recalculate the DiskCopy header. Previous versions of the imageutils were not calculating it correctly. € Palette and video updates should be much smoother in Full Screen Mode compared to previous versions. € 8-bit sound implemented. It has been temporarily disabled until I figure out why the GS audio occasionally has crackling or static. However, the sampled aiff (when recorded to disk) will play back flawlessly. I'm not sure why it does this, but I'm looking into it. Version 0.48r1 04/04/97 ======================== € Fixed 68K version to allow for non-Full Screen video. In my testing, the 68K version should no longer crash when switching screen modes. € Worked on the update code so the screen updates cleaner. € Fixed a cosmetic bug when the border was drawn. € Implemented "Copy GS Video" to clipboard. (Command-Shift-C) € Print the GS Video using the Command-Shift-P key combination. € Centered all alerts on the main screen. € Balloon help for menus and menu items included, per Steve's request. (A lesson in patience and a tedious use of freetime.) € Fixed a bug in the arg list so that you will no longer crash when more than 6 disks are loaded in the smartports. € Disk image loading issues: - Loading images into s6_d1, or s6_d2 may crash XGS if the image is corrupt. If you find an image that crashes XGS, please email me. - s6_d1 and s6_d2 has not been tested extensively. Many *.dsk images do not load properly yet. - s6_d1 and s6_d2 support increases the memory allocation by 4MB from the previous version, but you can now load DOS 3.3, ProDOS, and Nibblized 5.25" disk images! - NOTE: 3.5" IWM support is not present in the core yet. Therefore s5_d1 and s5_d2 have been disabled. € Upgraded core to 0.48. - Supports loading the new Apple II disk image format '2IMG' (filename extension ends with "*.2mg"). - Supports loading of DiskCopy (*.dc), ProDOS Order (*.po, *.raw), DOS 3.3 Order (*.dsk, *.do), and Nibblized 5.25" (*.nib) disk image formats! -NOTE: *.xgs images are now outdated, and you should discontinue using them. The application "imgconv" will convert from *.xgs to *.2mg image formats. € Upgraded the imageutil application for the new disk image formats. € 0.48r1: 27s to boot a System 6.01 boot disk after dismissing the XGS Setup Dialog. Version 0.47r4 02/11/97 ======================== € Fixed sound for 68K version. € Fixed crashes when video mode was not set to 8-bit color and Full Screen was active. XGS-Mac now prompts the user to switch into 8-bit color when drawing in Full Screen mode. € Implemented better GUI support for disk loading at launch. € Implemented persistent preferences. € Allocates an amount of RAM to use for the emulated GS based on the memory allocated to the XGS-Mac application in the Finder Info window. Too much & too little memory cases are also handled. € Print Setup and Print now work as expected. € Optimized SuperHiRes video routine for a speed improvement in the GS's 640 mode video. Version 0.47r3 02/02/97 ======================== € Outputs all messages to bootlog.txt in the XGS-Mac application directory. € 68K version again requires an FPU. Install Software FPU if your 68K does not have an FPU. If XGS-Mac 68K crashes your machine, it may be likely that you need Software FPU. € The 68K version is kept in "Full Screen Mode" to improve its performance and stability. € Sound is now totally asynchronous. € Sound can now be recorded to disk as an AIFF file. When checked, the GS's sound is recorded to the file "gsSound.aiff" in the XGS-Mac application directory. Remember... 30seconds of 16-bit, stereo sound will create a 1MB AIFF file. Grab any GS sound-bite you've always wanted! While XGS-Mac runs, it will append the sound to the current "gsSound.aiff" file while "Record GS Sound to AIFF" is checked. You can then pause/resume recording by toggling this menu-item. Check it out! € Printing the GS video output is now implemented. € Speed calculation text now printed at bottom of screen when in 740x480 and Full Screen Modes. € Additional status line underneath the speed indicator line of text. When a menu item is chosen by pressing the respective Command-Shift and key, a line of text will indicate what the menu item status has been changed to (ie Sound enabled, Sound disabled). € "Full Screen Mode" (was previously "Use DirectBlit") improves performance. € Disk utils now allow you to convert an XGS Image back into a DiskCopy image. This makes it possible to manipulate the disk contents using your favorite disk image mounter. € 0.47r3: 22s to boot a System 6.01 boot disk from launch of XGS-Mac from the desktop. Version 0.47r1 01/22/97 ======================== € 68K version no longer requires an FPU. € New emulator core. € New, IWM support for reading/writing 5.25" disks. € Sound is now asynchronous when cycle timing is on. Otherwise, it is synchronous so the sound output does not get clipped with the next sound going to the GS sound output. € Improved sound generation, however, it still clicks between samples if your CPU cannot keep up when cycle timing is turned on. This is because the emulator cannot generate the next sound sample quick enough. Sound Mgr should downsample for Macs that cannot do 16-bit stereo sound. € Somewhat noticeable slowdown in speed. This is because "it is still sometimes necessary to at least 'go through the motions' of sound emulation in order to make some programs work." This is also because the CPU timing method that was not implemented in earlier Mac Ports. € 0.47r1: 30s to boot a System 6.01 boot disk from launch of XGS-Mac from the desktop. Version 0.46r2 01/22/97 ======================== € 68K version no longer requires an FPU. € Added an Input menu for Mac's without an extended keyboard. (Use Command-Shift-M to activate the mouse.) € Fixed static in sound output by removing 2x amplification code. Now, sound output is quiet, but this is how the emulator is generating the sound. The volume will improve in the 0.47 Core. € Eliminated the need to allocate the entire Mac System palette when the in 8-bit color. This means, the screen no longer changes the colors of other running applications. Also, you can run XGS in any bit depth (higher than 8-bit) with the same results! € Improved video redraw speed, therefore increasing performance by 33%! € 0.46r2: 17s to boot a System 6.01 boot disk from launch of XGS-Mac from the desktop. € Core Bug-The video routine is not generating the palette correctly when in the System 6.01 Control Panel. This is not a bug in the Mac-port, rather the core. Version 0.46r1 01/15/97 ======================== € Initial release. Basic user interface support. € 0.46r1: 25s to boot a System 6.01 boot disk Version 0.46p1 01/14/97 through Version 0.44p1 01/05/97 ======================== € 0.45p1: 45s to boot a System 6.01 boot disk € 0.44p1: 50s to boot a System 6.01 boot disk € Decided that release versions will be noted by "X.XXrY", where X.XX is the emulator core version and rY is the release revision of the Mac port. € Fixed an unmapped memory exception bug when using SIOUX that prevented the release of 0.45. Hint: Print to SIOUX only after menus are installed, not before! € Emulated Ensoniq sound supported! € Prototypes of the port (unreleased). */