Leci beta za betą w zastraszającym tempie, znów Phaeron dał o sobie znać i znów możemy przetestować kolejne poprawki w tym emulatorze ośmiobitowych konstrukcji ATARI. Warto zaznajomić się z wątkiem dotyczącym testowej wersji 2.0, gdyż Phaeron ustosunkował się w poście z test34 do paru pytań, mniej lub bardziej ważnych.
Version 2.00 test 34:
The Direct3D 9 driver is the only one that actually supports mode switches; the GDI, DirectDraw, and OpenGL drivers don't. I probably won't be implementing that for 2.0, although I did fix the bug where the title bar was left on screen when the drivers went to fake full screen mode. There was also a fix for a pretty bad bug in earlier versions that was reported by email, which is a crash when Data Execution Prevention (DEP) was enabled. I didn't mention it in the changelist since it was only in the test releases, but I think I introduced it around test26.
Version 2.00 test 33:
- features added
- Debugger: A matching .atdbg file is now processed when an executable loads.
- Debugger: startup.atdbg in the program directory is now processed on startup if present.
- bugs fixed
- UI:Command-line processing now better matches standard VC++ escaping rules.
Version 2.00 test 32:
- features added
- Debugger: Go (g) command now has options to preserve and force source mode.
- Debugger: Added batch (.batch) command.
- Debugger: Added source mode control (.sourcemode) command.
- Debugger: Commands can now be queued to run when an EXE loads or runs.
- Debugger: Source line breakpoints can now be set prior to line debug information being available.
- bugs fixed
- Debugger: Improved parsing of MADS listings.
- Debugger: Fixed command escaping so that escapes are no longer processed unless enabled, i.e. "foonbar".
- UI: Adjusted default NTSC color preset. The old preset is still available.
Version 2.00 test 31:
- features added
- UI: Color settings can now be exported as a palette file (*.pal).
- UI: Display API options can now be changed through the GUI (not just cmdline).
- UI: Added full screen resolution options.
- Debugger: Profiler now shows unhalted cycle counts and DMA contention rates.
- bugs fixed
- UI: Fixed crash if DirectX 9 is not installed.
- UI: Display window can no longer be undocked in full screen mode.
Version 2.00 test 30:
- features added
- Disk: Fixed a couple of bugs with DCM disk image decoding.
Version 2.00 test 29:
- features added
- Debugger: Added dump double words (dd) command.
Version 2.00 test 28
When a POKEY timer was active for more than two billion cycles before the IRQ was activated. Two billion cycles is a lot. Problem is, the Atari executes about 1.8 million cycles per second, so that happens in under 20 minutes. At 1500% turbo that's less than two minutes. Ordinarily I'm pretty careful about writing code that handles timestamp wraparound, but I missed the case where a timer is running deferred for longer than that. Now the emulator checks if a timer is more than two seconds old and kicks it forward to avoid the problem.
Version 2.00 test 27:
- features added
- Debugger: Break on expression command (bx) can now include address ranges.
- bugs fixed
- Disk: Disk explorer now properly increments volume sequence number when modifying SpartaDOS X images.
- HLE: Boot loader now sets DBYTLO/DBYTHI to $0400 before launching.
- SoundBoard: Restricted $D5/D6xx mapping to $D500-D53F and $D600-D63F.
Version 2.00 test 26:
- features added
- UI: Added MRU list for booted images.
- GTIA: Optimizations to mode 9 and mode 10 rendering.
- POKEY: Rewrote sound core to defer repeating events whenever possible for extra speed.
Version 2.00 test 25:
- features added
- SoundBoard: Multiplier support
Version 2.00 test 24:
- bugs fixed
- Disk: Fixed H: device not handling zero-byte get/puts properly with burst I/O enabled (affected GET/PUT from BASIC).
- Disk: H: device now supports OPEN with AUX1=7 to fix directory listing from DOS 2.5.
Version 2.00 test 23:
- bugs fixed
- UI: Disk sector display was incorrect for accelerated writes.
Version 2.00 test 22:
- ????
Version 2.00 test 21:
- bugs fixed
- HLE: Screen setup now matches the display list and playfield addressing of the stock OS ROM.
- HLE: Fixed cartridge handling so that cartridges are run after disk boot completes.
- HLE: Added known RTS instruction at $E4C0.
- HLE: CIO now allows SPECIAL commands to be issued on a closed IOCB.
- HLE: Screen setup now matches the display list and playfield addressing of the stock OS ROM.
It also contains a fix for not being able to format double-sided disks, which I didn't add into the changelog because there was already an entry for fixing PERCOM block problems.
Version 2.00 test 20:
- features added
- Disk: Disk explorer now properly increments volume sequence number when modifying SpartaDOS X images.
- Disk: Live disk images can now be explored directly from the disk drive entry rather than requiring an unmount and remount.
- Disk: Disk explorer shows timestamps.
- Disk: .ARC compressed archives can now be explored.