05-02-00 Ver 2.6a * I live, believe it or not. * Upgraded to the latest Atari800 codebase (ver 9.9f) * Switched to the newer binload system of the Atari800 codebase. No idea how well this works compared to the older one I did, but at least now Atari800Win will be consistent with the other versions. * Built with VisC6, latest service pack, DirectX 7.0a * Fixed a small bug in loading the character set for 5200 machines * Mostly releasing this to find out what else needs to be fixed (I'm sure people will find some bugs), and to see how the new code base works. Particularly interested in sound, and any games you couldn't run on Atari800Win 2.5c. *** If you sent me email regarding changes to the Atari800Win code please resend them, my email has been very sporadic and the rich@kesmai.com address NO LONGER works, use rich@cstone.net. 12-18-98 Ver 2.5c * Corrected small but very hard to find bug with some saved registry values blowing keyboard joysticks (again). Believe me I'm more tired of keyboard joystick problems than you are. * Small bug fix to prevent garbled screens when changing hardware mode in a stretched windowed mode with scanlines * Fixed a potentially confusing drive-path remember problem when a temporary disk was mounted (ie a loaded executable disk) * Fixed a small problem in saving/restoring the load exe path * DDraw windowed scanline mode was darker than GDI, fixed * This version invalidates older save-state files - they will need to be resaved. * Re-synced with the general Atari800 code base. Fixed a couple of Antic problems. * Fixed screen getting offset when switching hardware types. * Fixed the damn keyboard joystick not being detected (was only happening on machines that have no hardware joystick devices, and guess what - all of mine do. Grrr). * Joystick selections are saved permanently. If you change your stick config around (hardware wise), it won't crash, but you will probably have to reconfigure via the joystick selection dialog. * The scanline modes are now driven by highly tweaked assembly, mostly because I changed the way they worked: they now show half-lumen lines interleaved instead of black ones. In a couple of the available graphics modes (GDI) even though a lot more work is being done it's slightly faster than the older scanline mode. * Added keyboard accelerators for the following functions: Alt-C Cartridge dialog Alt-D Disk dialog (floppies) Alt-G Graphics dialog (screen modes) Alt-H Hardware dialog Alt-J Joystick dialog Alt-K Keyboard dialog Alt-L Load Atari executable Alt-S Sound dialog Alt-R Rotate through artifacting modes (including off) * Last path used to load Atari executables is remembered * Some small code re-orgs (same functionality, but less code) * Fixed screen corruption in stretched-window modes when paused * Smarter about registry updates - doesn't have to reset ROM paths when these occur now. Also, for first time users tries to find the ROMS in either the working directory or "ROMS" subdirectory * Added different machine types in hardware selector for 320XE Compy and 320XE Rambo 12-05-98 Ver 2.5 (a "beta" release) * Consider this a beta release. It has not been tested extensively. I will be releasing again soon to sync up with the general Atari800 code base and address some other issues of my own. * Any "sticky key" problems should be fixed on slow machines * Warmstart reappears on F5 as if by magic :-) * Arrgh! ATR images formatted while loaded into the emulator were getting corrupted headers (they were reformatted as XFD). Modified SIO code so that any valid ATR image (even megadisks) can be reformatted by Atari800win. * Added option to load Atari executable files individually instead of requiring a disk image. This will NOT work for files that require Atari DOS. I more or less lifted Ken Sider's routines right out of MakeATR (actually I initially wrote a multi-segment loader myself, but it sucked, so people can thank Ken for this feature). When you do this the EXE will replace the disk mounted in drive 1. * John Frias contributed some icons (mine are retired to no artistic talent land now). * Fixed a problem with the R-TIME cartridge returning the incorrect month. BTW This should come as a surprise to no one, but the R-TIME is not year 2000 compliant. * Fixed a small timing problem on keyboard input. * Blank scan line option added for some video modes. Read the readme.txt for why I still think this is a *really* stupid idea. * Built a new ZLIB DLL which appears much less touchy about alignment. I highly recommend you use the one included with Atari800win as your DLL in general (slightly larger but works much better). * Drive status can be set directly from the disk drive dialog. This is mainly so images can be switched to read-only on the fly for some demos. You cannot use the dialog to override actual file permissions - if the file is read-only to the OS, then it will always be read-only to Atari800win (and that's by design, not omission). * Corrected small joystick bug that prevented the keypad from working as joystick on port 1 while a real joystick was used on port 2. * Inserted a completely bogus wait after DDraw SetDisplayMode that corrects garbage sometimes left on the screen. This very much looks like a DDraw bug. The delay may not be long enough for all systems. Email me if you still see window garbage on your display. * 640x480 is now a "no visible menu" mode. Use F10 to get a menu (or the keyboard accelerators - e.g. Alt-A + L is Atari/Load Exe). Let me know if you find this a problem - I could make it configurable. 800x600 and up still have menus. 09-09-98 Ver 2.4a - a "doh" version * Sigh. Single comparison failure led to keyboard joystick not working under NT. Fixed now. Otherwise this build is identical to 2.4 09-08-98 Ver 2.4 - large update, some beta features * A request: I am looking for an image of the 8-bit Epyx game "Hellfire Warrior". I'm not sure if it was available for the Atari, but it was for the Apple][. I own this game, but only have the TRS-80 disk image. If you can help, please e-mail rich@cstone.net * Big feature: support for save states (also known as "snapshots"). You must have ZLIB working (the DLL supplied with Atari800Win must be in the path) to use this. Saved states saves _everything_ about your Atari itself, the entire contents of memory, where you are in a program, etc. A save state does NOT save your display, input, or sound settings. When you load a state save, the Atari will be paused on a black screen. Hit F9 to start the saved state. Saved state file sizes will vary based on the machine type and what it was doing / had loaded. Use the File menu to access the Load/Save state features. There are two types of save: normal and verbose. Verbose is ONLY necessary if you have patched ROMS that somebody else wouldn't have. Verbose saves are larger. Save states should be considered a somewhat beta feature. Changes might affect the format as other Atari800 ports adopt it, making the current format obselete. Keep in mind that even if you snapshot a program it may still want to access the disk later; and save states do NOT save disks. If you know a program accesses the disk, you will have to keep the disk handy with your save state to resume later. Save state are machine independent; they will be useable on other ports of Atari800. * Machine language routines here and there; small speed difference. I spent considerable time rewriting some large sections in assembly, and found there was little speed increase in them even when heavily optimized.I'll continue investigating asm for things like Antic though. * Atari crashes are much less dramatic now, as you don't have to exit Atari800Win. The screen will simply go black, you then have the opportunity to change settings, and there is a new Atari/Restart menu option to fire the machine up again (Ctrl-F5 will also work). * Added 512x384 mode. Should help those on slow machines without 320 modes. Shows full overscan and on most cards has that "scanline" feel. * Completely rewrote the keyboard handler, many changes include: - A few layout changes; see README.TXT - Insert/Delete work correctly (char normally, line when shifted) - Clear character now on the Windows Home key - Option/Select/Start can be held down in combinations,fixes some demos - When holding a regular key, pressing then releasing a second key will have no effect (the first key will stay held). - Hold down a regular key, hold down a second. Release the first key. The Atari will register the second key as being held down after exactly 1 frame of no keys. - F1-F4 exist only for XL, returns no keyboard code for other machines. - Help returns no code for non XL/XE machine - With CTRL + SHIFT held, the following keys do NOT work on purpose: J K L ; + * Z X C V B F1 F2 F3 F4 and HELP In many cases the new behavior my seem more limiting than before; but it is now highly accurate compared to the real hardware. Many hours in testing with a real XE back this up. Since there is considerable new code there may be an errant key here or there; please e-mail me if you find keyboard oddities (or if you find things fixed!) * Keyboard templates option added (Options/Keyboard.. menu). This is a complicated feature for expert users, consult the README for details. Do not mess with it if you don't understand the purpose. Briefly, It allows you to remap almost the entire keyboard to anything you wish to define. Helpful for games that use whacked out directional keys like the Ultima series or if you want to exactly duplicate the Atari layout. * Keyboard joystick reworked. Now handles combination keys (numpad4 + numpad8 = diagonal up/right). Ignores your Windows key delay/repeat settings and works right off the keystroke (instant feedback). * Checkbox for "use AGP memory", which controls whether a surface is allocated as "local video memory" in Ddraw terms. This is basically for DDraw windowed modes, and could be faster, much slower, or no change on any particular card - you'll just have to try it and compare. * Fixed a problem with small graphics selector dialog used in 320 modes. * All full screen modes clear their backgrounds. * Bolder, more ambitious icons, less filling but taste great. Any icon artists out there? * Machine type and speed shown in window title (status bar in full screen) * Finally remembered to add keyboard click. You will notice a slight delay between the keystroke and sound, can't be helped at present. * Fixed a display bug that had crept in when in windowed mode with the display partially off the desktop * If you exit while running full speed, the next time you launch sound will be (correctly) disabled until you switch back to normal speed * Pause shows paused text on Atari screen (for full screen modes) * Fixed crash bug that sometimes occurred changing artifacting modes. 08-03-98 Ver 2.3 - Compressed images, artifacting updated 07-12-98 Ver 2.2 - 5200 fixes, disk indicators, source code release 06-28-98 Ver 2.1 - Artifacting, emulation fixes 06-21-98 Ver 2.0 - Bugfixes from beta 05-03-98 Ver 1.9 - beta 2, merged code, mmsystem sound, timing fixes 03-21-98 Ver 1.9 - beta release, code base Atari800 0.9.0 09-16-97 Ver 1.4 - Sound updates, recording, DirectInput changes 08-26-97 Ver 1.3 - Small crash patch 08-24-97 Ver 1.2 - Sound 08-13-97 Ver 1.1 - Bug fixes 08-08-97 Ver 1.0 - first public release.