08-03-98 Ver 2.3 * DCM files (an older semi-compressed disk format) can now be converted to ATR directly from within Atari800Win. This is under the File menu. You can select a single or multiple DCM files to start, and then will be asked the destination directory to save the ATR files. * DCM files can be loaded as regular disk images, but they will be read- only since they are in compressed form. Use the DCM->ATR menu option to create an ATR that you can then open read/write. * ATR/XFD files can be compressed with gzip and read directly as disks in compressed form (they also will be read only, as above - decompress them to get a read/write file). The extension used must be ".atr.gz", ".xfd.gz", "atz" or "xfd" for the file to be recognized (I highly prefer .atr.gz and .xfd.gz). ZLIB is used to manage the decompression code, and the DLL is now included with Atari800Win. You can use any recent zlib.dll however; as long as it is in the path somewhere, it will be found. If zlib is not present Atari800win will still load, but won't decompress files. Atari800Win will NOT read ATR/XFDs compressed with ZIP programs (yet). Temporary files created when compressed disks are read are placed in the Windows TMP directory and automatically removed when no longer needed. PLEASE NOTE THAT COMPRESSED FILES ARE DECOMPRESSED BEFORE BEING READ. IF YOU COMPRESS A MEGADISK, IT'S GOING TO TAKE A LONG TIME TO LOAD AND WILL USE UP THE ORIGINAL DISK SPACE ON YOUR HARD DRIVE AFTERWARDS. * Changed graphics dialogs to reflect the apparently common mistake of not de-selecting windowed modes for full screen. The current system is about as intuitive as you can get and still have all the selections available. * Added 1024x768 DirectDraw mode. This is mostly for people with LCD screens that cannot actually switch resolutions. It also (on a fast machine) is slightly better than 800x600 because the Atari screen is more "zoomed in". However it is quite slow, since it is 3X expanded instead of 2X. * The desktop will always be redrawn when exiting full-screen mode. * Fixed a problem that could cause the Atari to not reboot on cartridge changes (which was the cause of a few lockups in 5200 mode) * Various prompts (dialogs, messageboxes) were changed to give more helpful hints & directions. * Fixed a SHIFT handling bug where it could be lost as a key but kept as a state (if that's not confusing enough). This fixes a bunch of demos. * Added "Allow ROM Patches" to Hardware dialog. When switched off this automatically disables SIO Patching, and also disables various patches to the machine ROMs (notably HATABS) which might prevent a small number of programs from running * Added wait on vsync (no tearing) for DDRAW blits option to Graphics dialogs. You can try checking this if you are getting tearing; it could slow things down a lot though, especially if you are running the Atari full speed. * Added CTIA color lookup table to artifacting modes for older games that depended on this color set (CTIA is an older version of the graphics chip that became GTIA in later Ataris) * Mode 2 artifacting is now implemented from the common code base. You might find this a little disconcerting, as it will make your DOS screen fuzzy or artifacted. Try just turning artifacting off when using DOS and then back on for games etc. 07-12-98 Ver 2.2 * A disk indicator is drawn at the bottom right hand corner of the display when sector I/O occurs. The small block drawn contains the number of the drive being accessed, and is red for writes, green for reads. * 5200 controllers work. F5 is reset, Shift-F5 is coldboot, F4 is the start button. Keyboard 0-9 are equivalent to the 5200 controller 0-9 (you can use the keypad if you aren't using it for a joystick). Keypad * or regular * work as the 5200 * key, and keypad - or regular - work as the "#" key. When running in 5200 mode with a joystick triggers 2-4 operate as 5200 triggers 2-4, NOT as function shortcuts like in Atari computer mode. WARNING: At present several 5200 carts fail. This will have to be worked on for a while. * Found the (atari side) bug that was keeping multiple stick inputs from working. You can now play with at least two sticks; I don't have four to test but that should work as well. I HAVE played a full game of MULE with joystick on one port and keypad on another. It works. * ModeX was abandoned in favor of simple linear modes at 320xXXX resolutions. Some cards will support these modes, some won't - but at least when present they work reliably. If you have "use ModeX for 320 resolutions" set in your DirectDraw control panel you might want to turn it off (default is off). * Switched back to DirectDrawSurface revision one interfaces, since it's obvious some cards that claim to be DirectDraw 5 compliant are not, and do not support DirectDrawSurface2 or 3. If full screen wasn't working for you, this was probably the reason (and it should work now). * Shift-ctrl + keycode is sent properly to Atari machine now * Fixed a potential Windows crash condition when the Atari crashed * Fixed a bug that could cause some cartridge options to not be saved out. * DirectDraw mode transitions are a little smoother (one screen size to other) * Sound is not restarted on mode changes, but it will still get a little garbled (unavoidable). * Various small tweaks and refinements. * Source code released (this doesn't imply it is done). 06-28-98 Ver 2.1 * The SIO patch option is now configurable on the fly; it doesn't reboot the machine. Besides the hardware dialog you can flip it with F11. * Hardware dialog was reworked to display better on small screens. Antic dialog is gone; its contents are on the Hardware dialog now. * Now using better artifacting code from Perry (text mode still doesn't work) * Volume will not be set on MMsystems that can't handle it (what's up with THAT anyway? Seems to be true for ancient SoundBlasters. Ugh). Volume slider will be disabled on these systems. * Fixed SKSTAT handler (could cause missing keystrokes, missed reads of SHIFT) * Any nagging sound initialization problems people were having should be fixed * Added 48Khz sound output. Most sound cards probably don't support this; and the WaveOut functions can NOT check for this capability ahead of time, so be prepared for it to fail. It really rocks on my SoundBlaster PCI64 though; makes a huge difference for disk access noises and high frequency stuff. * Joystick dialog differentiates between "none" and "keypad". Keypad can only be assigned to one port, and should always work. On 101 keyboards the arrow keys WILL work as Atari arrow keys regardless of keypad setting. I'm doing it the pristine MSoft way now; so if it still doesn't work on your keyboard, well, sue Bill Gates or something. * Woohoo! Autoduel works! Use 130XE, SIO patch off, and you'll want to have F8 (full speed) most of the time. One of the best games ever out of Origin. * Took out the internal Atari UI until it can be reworked. Too fugly with the first quicky attempt; and besides it doesn't do anything the Win UI doesn't. * Joystick button 2 (if available) flips between full and regular speed (same as keyboard F8). Button 3 pauses/unpauses (keyboard F9). Button 4 flips the SIO patch (keyboard F11). Yes, I will make these configurable later on. * Pausing the emulator now shades the screen 50%. * Reorganized CPU code for both (slight) speed and size improvement. * Fixed SIO bug in drive status (DCOMND 0x53). 06-21-98 Ver 2.0 * Special mention: Seven Cities of Gold works fine now (you'll have to turn off the SIO patch to generate a world disk). Perry M. found the bug that was keeping it from running. Kewl. * Built with MFC dynamically linked instead of statically. This makes the exe much smaller. If you get a DLL not found message download this file: http://activex.microsoft.com/controls/vc/mfc42.cab. If you have Internet Explorer it can install it automatically. If you don't, get the Powertoys Cab Viewer at http://www.microsoft.com/windows/downloads/contents/powertoys/w95cabview/default.asp * Last directory for disk images is remembered even when using ctrl-F1, ctrl-F2, etc. Drives selected with ctrl-F? are saved in registry. * Keyboard joystick can be configured to automatically release when key is released (joystick dialog). This setting is saved between sessions. * Using relative pathnames for OS images will no longer confuse dialogs * Bad rom paths/names will show a specific dialog about the failed file and will not cause two boot failures in a row. * I think all remaining inconsistencies in graphics/hardware dialogs are gone, and the behavior of the graphics dialog is slightly different to be less confusing (de-selecting windowed mode automatically selects fulls screen mode instead of the other windowed mode). * Failure to boot (bad roms) several times in a row won't get Atari800Win stuck at a black screen, or leave the hardware dialog up. * If individual registry keys are missing/corrupt, they will be replaced with reasonable defaults (after warning the user) so booting proceeds normally next time. * Fixed a problem that could cause the small dialogs used for graphics selection in 320xXXX modes to not actually switch until Alt-Enter was hit. * Windowed modes now clip the extraneous overscan area like other versions - at a price of about 1ms per screen blit to adjust the bitmap size (internally the screen is still 384x240 for emulation accuracy). * 2X stretched non-directdraw window modes are now much faster, but unless you have an AGP graphics card, will almost certainly cause your sound to break up. GDI is only so fast. * Window/Full screen state changes with alt-enter are saved to registry * All strings moved into the string table. This means Atari800Win should now be VERY easy to translate to other languages. I'm looking for people to do this, if interested, e-mail. * The "dont show" flag works for the joystick dialog. * Added a "Clear all settings" menu entry under the "Misc" menu. Basically resets everything to first-run defaults. * Fiddled around reducing code size, got it below 200K with dynamic MFC. * Fixed annoying DirectInput acquire bug * Added support for four joysticks, although I haven't tested this. Each joystick device can only be used for one Atari port (and the selection dialog will enforce this). Note the XL/XE machines don't use joystick ports 3 and 4 (although you can still configure them). * When saving the sound to a file, it is now automatically saved in WAV format (audio format is PCM, 8bit/mono, at whatever the sample rate is). * Further refined the joystick read routines to avoid 8-bit programs that are pounding on the joystick ports with reads (which gives DirectInput fits). * Fixed a bug that occurred when setting the sound volume to 100% * The DirectDraw object is released when transiting modes, so if you start full screen, then go to GDI window, you can run another DirectDraw app without conflicts. * Bad screen dimensions fixed when going from DirectDraw stretched window to a full screen mode via Alt-Enter * Realized the timer was off (it wasn't counting time outside Atari800Win properly), so fixed that. Also decreased the frequency of refresh for the speed % window, and put it back to an integer percentage. * Changed the way screen refresh works when skipping some updates, so that Atari800Win (unlike other Atari800 versions) doesn't suffer any loss of emulation accuracy when skipping frames. Given this, I highly recommend people with speed problems set refresh=2, which still gives a minimum of 25 fps. 05-03-98 Ver 1.9 - beta 2 03-21-98 Ver 1.9 - beta release 09-16-97 Ver 1.4 08-26-97 Ver 1.3 08-24-97 Ver 1.2 08-13-97 Ver 1.1 08-08-97 Ver 1.0 * First release.