WinUAE/od-win32/winuaechangelog.txt
Toni Wilen 6726287b74 3000
2014-12-17 18:26:51 +02:00

12849 lines
697 KiB
Plaintext
Raw Blame History

1 -> 0 (-) : 0,1FE,1FE,1FE,..
1 -> 1 (D) : 0,1FE,0,1FE,0,..
1 -> 2 (C) : 0,1FE,70,1FE,70,.. (C-)
1 -> 9 (AD) : 0,1FE,0,74,0,74,.. (DA)
1 -> B (ACD) : 0,1FE,70,0,74,70,0,74,70,0,74,.. (CDA)
1 -> C (AB) : 0,1FE,72,74,70,72,74,70,72,.. (CBA)
1 -> D (ABD) : 0,1FE,72,74,70,72,74,70,72,.. (CBA)
1 -> E (ABC) : 0,1FE,70,70,70,70,.. (C)
1 -> F (ABCD): 0,1FE,70,70,74,70,70,70,74,70,70,70,74,.. (CCCA)
Things that may happen in 2015:
- Minium Windows version will be Windows 7.
- CPU must be SSE 2 capable.
- DirectDraw support will be removed.
- and more
- restore only single input target to default.
3.0.0
Beta 28: (RC3)
- qemu-uae.dll updated to final 2.2.0 QEMU release. (No PPC changes)
- Removed A26x0 chip ram mirror hack (b25), not needed anymore.
- Copper WAIT with BFD=0 (wait for blitter enabled) sequence was incorrect, copper first waits for blitter, then
it goes to normal WAIT state. Previously WAIT state check was done first, then blitter wait. It is not same
because copper requires idle cycle when WAIT ends and it should be after blitter has finished, not before.
(Last minute change 1)
- Second last minute change: last line sprite DMA logic behavior difference between A1000 Agnus and Fat revisions.
Sprite glitches are different in Skitro by Awesome/D-Tect/Vanish when run on A1000 vs OCS A500. Also fixes missing
yellow glitches in same demo.
- b23 "Fixed missing graphics in Disposable Hero title screen in non-cycle exact modes." broke (again) demo Back
in 90 / Samplers. Added quick workaround: only do "Disposable Hero" fix if CPU is 68020+ (=works in most whdload
configurations without glitches).
Beta 27: (RC2)
- Added compatibility warning message if PPC CPU (and m68k is stopped) configures UAE filesystem
autoconfig board ("UAE" controller that is needed by uaehf.device bsdsocket, uaescsi and so on)
- Added download url to no ppc plugin detected message.
- Minimize when inactive option should be ignored if mode is fullscreen. Only uncapturing mouse in
real fullscreen mode makes no sense. (b24)
- 68000 MOVE to CCR/SR idle cycle count is 4 cycles, not 6.
- 68000 prefetch mode ("more compatible") DBcc cycle counting fixed.
- 68030 prefetch/"cycle-exact" mode MMU instruction exception prefetch fix. (Same as 280b1 for FPU)
- 68030 "fake" MMU (MMU emulation not enabled = MMU instructions do nothing), absolute address
(xxx.w and xxx.l) addressing modes were marked incorrectly as invalid.
- Strange immediate TST variant (TST.x #z) is valid instruction if 68020+.
- Allow 24-bit address space with 68030 CPU. (Not going to touch other CPUs just yet)
Beta 26: (RC1, Official release date deadline is mid december)
- Bumped version to 3.0.
- Directory filesystem statefile support didn't save open file's full path correctly if path was deeper than
2 levels from root. (Bug since directory statefile support was implemented)
- Z3 mapping mode = automatic: select always real mode if JIT is disabled.
- Added picassoiv_rom_file config file entry, if you want to use different versions or custom path.
- Off by one error in internal buffer calculation, display was shifted by 1 vertical pixel, hiding
first line if window size was small enough but still big enough to fit all vertical lines.
- 68000 JMP (d8,An/PC,Xn) didn't include extra 4 cycle idle time. (Documentation says 3 read cycles which
is incorrect, correct sequence is 4 idle cycles + 2 idle cycles + prefetch + prefetch)
Beta 25:
- Added 1M/0.5M+0.5M chip/slow ram option checkbox to Advanced Chipset (for example in rev6 A500 it is JP2
solder pad). If hardware is configured for 1M chip without 512k slow ram, normal chip ram alias at upper
512k of chip ram address space gets replaced with "bus noise". Can be only changed when chip RAM size is
less than 1M. (ECS Agnus + 512k chipram without slow ram configuration always used this option previously,
now it is optional and not enabled by default)
- Map Chip RAM mirror at 0x01000000 in A2620/A2630 config, to prevent A26x0 built-in monitor program detecting
huge ram expansion at 0x01000000.
- uaenet.device + slirp combination was broken (probably has always been).
- uaegfx modeid space increased, reduces modeid conflicts if host os has huge amount of resolutions (>~80).
- Debugger does not anymore exit stopped CPU state (STOP instruction) after exiting debugger.
- "SCSI (Auto)" priorities changed: mainboard built-in first, then accelerator board, expansions last. (Expansions
was first previously)
- More accurate 68000 prefetch mode instruction cycle usage, added non-static cycle counting (mul, div etc..)
- Most CDTV-CR built-in CD audio player features, including CD+G, are now working. Media changes supported.
3.44 ROM CD player works better than 3.32.
Beta 24:
- Native code Z3 offset was wrong if Z3 mapping was using "real" mode.
- CD32 NVRAM file was not automatically created (b14).
- Added some accelerator board A1200 and A4000 configs to Quickstart.
- Only PCM audio worked (and was always used) when recording audio in non-wave mode.
- Picasso IV in Z3 mode didn't appear in Z3 autoconfig space.
- Initialize VGA chip emulation earlier, fixes emulator crash when Piccolo board is configured. (Also for some
reason Piccolo and Piccolo SD boards are not used by OS4)
- Too large Z2 RTG VRAM value in config file was accepted as valid.
- Show user friendly message if PPC CPU is started without PPC plugin.
- Disassembler decoded FMOVE.x FPy,<ea> incorrectly, FPy was wrong.
- "Untrap = middle button" + "Minimize when focus is lost" + full-window mode didn't minimize. Only windowed
mode should require real lost focus to become minimized.
- GUI appeared under full-window background window.
- Use secondary fast RAM bank for A2620/A2630 accelerator memory, works better with other Z2 boards (like A2091)
- Allow hardware unsupported (total >8M) Z2 total board size. Can happen in real world so it should be available
in emulation too.
- Added Z2 autoconfig address validation, log and ignore any autoconfig attempt outside of valid Z2 regions.
- Added 68030 + more compatible CPU core. Previously this combination was unusable.
Beta 23:
- Dragging vhd file to harddrives panel now adds it as a HDF, not a directory if it does not contain any known
filesystem or RDB identifiers.
- PCMCIA IDE was always mounted without drive since drive attribute update long time ago.
- PCMCIA IDE and SRAM can be added (card inserted) after emulation has been started.
- Replaced "JIT direct compatible" option in memory panel with more useful Z3 mapping option:
Auto = Use OS mapping if possible, fall back to UAE hack if JIT direct enabled and not enough adddress space.
UAE = Always use UAE hack mapping (0x10000000). NOTE: not compatible with non-m68k operating systems. This mode
was always forced until 282b1.
Real = Always use OS mapping (0x40000000 with alignment support), disable JIT direct if not enough address space.
- Fixed missing graphics in Disposable Hero title screen in non-cycle exact modes.
- Load config with statefile set, load another config without statefile, GUI shows no statefile selected but
when starting emulation statefile was still loaded.
- CDTV-CR CD read speed is now limited to 1x/2x.
- Added CD turbo data read speed mode, affects CDTV/CDTV-CR/CD32 emulation only. SCSI CD is always in turbo mode.
Checkbox in CD/Harddrives panel.
- QEMU PPC module update, now all extra dependencies are statically linked. External dlls are not
needed anymore (whole plugins\qemu can be deleted). Must be located at <winuae path>\plugins\qemu-uae.dll
Beta 22:
- CDTV-CR CD unit was initialized even when CDTV-CR emulation was not enabled. Broke CD access on configurations
that used CD unit for other purposes.
- Changed directory filesystem max file size limit (when not using 64-bit dos packets) to 4G-1. Old 2G-1 was
technically official max size but most native filesystems don't enforce it and support file sizes up to 4G-1
(at least as long as application uses unsigned integers)
- Standard CD image read sector function didn't handle (rarely used) 2336 byte CD sectors correctly.
- Some statefiles have corrupt "extra_cycle" value (probably saved by some buggy beta) that causes long delay
when restored, added workaround.
- 68000 CE mode IPL line sampling timing update. Do it during any memory access, not just prefetches.
Beta 21:
- Moved CDTV-CR under original CDTV Quickstart option.
- Added 3.44 CDTV-CR extended ROM.
- CDTV-CR now boots CDTV CDs. CD audio player does not yet work and some games that play CD audio will hang.
Also CD reading speed is currently unlimited.
- Added 256M (max possible) Blizzard accelerator board RAM size support. Works with 1230, 1260 and PPC.
- CSPPC P5_SELF_RESET bit emulation fixed, M68K can only reset PPC and PPC can only reset M68K if
P5_SELF_RESET is not active. (Blizkick reset hang)
- When switching quickstart modes, extended ROM was not reset if new mode didn't use extended ROM.
- Switching Quickstart models now remembers previously selected model configuration setting.
- Disable tablet mode if tablet name query returns error or empty name. WTInfo() with null parameters is
supposed to return error if tablet is not connected but it does not seem to be true with all drivers.
(Fixes division by zero guru at boot if tablet emulation is emulated)
- default_xlate() system halt didn't work, broke probably when 1 second boot delay option was added.
- default_xlate() now also generates bus error if Gary bus error bit is set instead of halting.
- Include approximate exception startup time in non-cycle exact 68000 emulation modes.
Beta 20:
- A2630 rom was not unmapped completely (only first half)
- CSMK3/CSPPC/BPPC Amiga reset bit should stop the PPC before reseting the system to prevent random hangs.
- CSMK3/CSPPC/BPPC switching off maprom programmatically (not hard reset) didn't restore original KS ROM.
- Added preliminary CDTV-CR emulation. Boots to title screen, preferences screen also works. Only clock
and 4k (nonvolatile?) RAM emulated. No CD, no nothing else. v3.32 extended ROM added to ROM scanner,
CDTV-CR option added to Quickstart.
- PPC interrupt/thread-safety hang problems should be fixed.
Beta 19:
- Restarting and loading another config crashed if PPC or RTG without JIT direct was active.
- After restarting non-JIT config, JIT direct was not available (old restriction that should have been gone
few official releases ago)
- Added A2620/A2630 emulation and two rom images to rom scanner. (390282-06/390283-06 and 390282-07/390283-07)
Not JIT direct compatible. 68000 fall back mode causes HALT4 status. ROM special feature: right mouse button
at boot = enter boot menu, in boot menu shift+m and right mouse button: enter rom monitor.
- A590/A2091 word writes to DMAC WD SCSI byte registers and Z2 autoconfig registers supported. A2630 boot
rom likes to do word writes to byte-size registers.
- PicassoIV AGA flifi bit was set even when using non-AGA hardware. No functional changes.
- Fixed RTG hardware emulation crash in some situations when switching (fullscreen) modes.
Beta 18:
- "Pause emulation when xyz" option remained forever stuck in pause mode if PPC CPU was active.
- PearPC PPC emulation removed.
- Freezer cartridge ROMs had disappeared from GUI.
- Freezer cartridges didn't work.
- Force Direct3D mode if hardware RTG board + PPC enabled. DirectDraw has glitches. (Will also have
glitches in non-PPC mode but there is no need to change it yet)
- CSPPC/BPPC interrupt controller IO address accesses were not thread safe, caused random lost or stuck
interrupts.
Beta 17:
- Hard reset now forces reload of KS ROM if maprom is active, previously map rom mapped image
was still in use after hard reset.
- Fixed some more Z3 autoconfig bugs introduced in recent betas autoconfig updates.
- Only add VirtualAlloc() MEM_TOP_DOWN flag when OS is XP. For some unknown reason with MEM_TOP_DOWN my system
suddenly started giving less address space than without it..
- A1000 with full KS ROM configured (instead of A1000 boot strap ROM) didn't boot since b9.
- Reset didn't clear QEMU PPC JIT translation buffer, fixes mysterious hangs after reset.
- Added main thread sleep option slider to GUI, reduces CPU usage when M68K is stopped and only PPC is active.
- PPC CPU model can be manually configured using ppc_model=<name> config entry. Can be any QEMU supported
PPC CPU model name string. (Model strings are in qemu source file target-ppc/cpu-models.c)
- Automatically disable m68k JIT autoconfig hack if only PPC CPU is active when autoconfig starts after reset.
- Fixed WarpOS (possible PowerUP too) semi-random program hang caused by lost PPC interrupt(s).
- Allow m68k JIT direct with accelerator board if board is not Blizzard model (no Blizzard memory aliases)
CyberStorm PPC + m68k JIT direct at least seems to work, no guarantees.
Important:
- QEMU PPC libraries are now loaded from <winuae path>\plugins\qemu\. Old location is not supported
anymore. Move all qemu dependency libraries and qemu-uae.dll to new path.
Beta 16:
- GUI (and log) showed wrong size for very large drives (>1T). Visual problem only.
- Fixed F12/pause hang when PPC was active.
- Fixed uaegfx RTG in Z2 mode memory mapping (b14)
- 68040 MMU MOVE16 fault size was wrong. (Cache line, not long)
- 68060 MMU read-modify-write fault had inverted read/write status.
- QEMU PPC vs UAE side memory banks are now dynamically mapped.
- PPC CPU HID1 set to more correct value, detected CPU clock is not same as bus clock anymore.
- QEMU TCG (JIT) buffer was too small, real world PPC programs run now much faster.
NOTE: Reset when PPC CPU is active still does not work 100% correctly.
Beta 15:
- "ROM disabled" A2091/A590 ROM option was not visible (b14)
- Blizzard board ROM code was ignored (b14)
- Log window was opened when PPC CPU started (b14)
- Dragging adf file over window mode bottom bar HD led didn't mount it as a harddrive.
- Mounting adf as a harddrive uses adf's real volume name instead of host-side file name.
- Added support for sub memory banks, can divide normal 64k UAE memory bank in to smaller sub memory
banks. Mainly needed to properly map PPC CyberStorm MK3/PPC SCSI IO and SCRIPTS RAM for QEMU PPC.
- SCSI CD emulation via NCR SCSI (53C94/FAS216 or NCR53C710+) chip didn't flash CD led.
- Added hack that prevents Picasso IV switching temporarily to RTG mode immediately after reset.
(Picasso IV does not use simple signal passthrough like other cards)
- Switch to/from hardware RTG mode only after mode has been stable at least 0.5 seconds.
- Show CD insert/eject messages in new status bar message area. (Should it show real volume name instead
of file name?)
- Quickstart CD eject button was always disabled.
- Status bar NVRAM led also shows accelerator board flash write accesses. Includes also writes that only
enable chip ID read mode.
- PPC IO access completely rewritten, most IO areas are now directly accessible and only special regions
(custom chipset and CIA) require locking. Very slow IO message passing system is completely gone.
- QEMU PPC core support. Read separate notes!
Beta 14:
QEMU PPC is still work in progress (by Frode and me), QEMU-side is not yet included. It run for the first time
few days ago. It is not stable enough yet but hopefully soon...
- Autoconfig stopped immediately after first A590/A2091 board was configured.
- If VHD check/validation failed after VHD type was fetched (static vs dynamic), VHD was still accepted as valid,
possibly crashing soon after. HDF type variable was not cleared, bug since VHD support was added.
- Automatically extend internal SCSI emulation buffer size if larger than current buffer size transfer is requested.
- If 68060 and "Unimplemented CPU emu" is ticked: 68060 unimplemented instructions that are completely unimplemented
(CHK2/CMP2/CAS2/MOVEP) still triggered illegal instruction exceptions.
- 68000/010 configuration with 32-bit address space is now allowed.
- Blizzard 2060 ROM loading special case handling didn't work. (Has odd/even parts, others don't)
- Redesigned GUI SCSI expansion ROM selection, easier to add new boards in future.
- Fastlane Z3 SCSI board emulation implemented, another FAS216 based SCSI controller. z3scsi.device from
phase5.a1k.org in rom scanner, but it would be nicer to have full dump. SCSI part only, memory part ignored.
- Oktagon 2008 SCSI board emulated. This was interesting, it has "software DMA" (SCSI chip is told to do DMA
transfer but "DMA controller" is IO space that CPU reads or writes), it also have 512 byte serial EEPROM used
to store config (with only 15 bytes used). EEPROM data is internal, not saved to any file. 6.12 (last release?)
boot ROM added to rom scanner. Autoconfig data is currently not confirmed. Support added only because it was
quite different than most other SCSI controllers.
- TekMagic 2040/2060 board added. 1.0 tekscsi2.device ROM added to ROM scanner, both odd/even pair and merged
rom supported. NOTE: tekscsi2.device has a bug that does not allow RDB filesystem loading. Fast RAM expansion
is not supported, it seems TekMagic fast RAM can also start from 0x02000000, not the usual 0x08000000.
tools/showconfig output needed.
- NCR53C710 SCRIPTS DMA wasn't correctly started when in manual start mode. (tekscsi2.device)
- Added support for non-MMU bus error caused by invalid memory accesses, including 68000/010/020 models which
normally can't generate bus errors but perhaps some expansion hardware will need it in future.
- Screenshot with D3D shader filter + take screenshot before filtering ticked saved final D3D output, not original
unfiltered buffer.
- "SCSI (auto)" now works with all SCSI boards. Selects first SCSI board that is enabled. (In same order as
select menu lists SCSI controllers)
Some code restructuring:
- Autoconfig board handling rewritten yet again, removed lots of code duplication and moved most duplicated
autoconfig logic from board specific files to common expansion.cpp.
- Autoconfig board ROM config handling reorganized, now it is much easier to add new Z2/Z3 boards.
- Replaced my hacky serial EEPROM emulation with better one from QEMU, made it generic (previously only used
in CD32 emulation).
- Removed A590/A2091 and A4091 Expansion panel checkboxes, enable/disable is now ROM selection. (ROM selected =
enabled, ROM selection empty = not enabled)
Beta 13:
- Fixed vhd hardfiles. (b12)
- Emulated strange OCS/ECS feature similar to "SWIV scoreboard" feature (plane color > 16 becomes 16 when PF2PRI
is set to invalid value). It gets more interesting if mode is dual playfield and PF2P2 is invalid: odd planes
become transparent and it still hides even planes behind it if PF2PRI is set! (Running Man / Scoopex)
- A2065 buffer ram is now directly accessible, if someone wants to do some weird stuff with it (xlate and check
memory functions supported)
- ROM scanner result window redesigned, all expansions that need rom images added.
- Fixed CHD CD crash when sector size conversion was required.
Beta 12:
- Windowed mode status bar button mouse click off-by-one fix.
- If command line has more than one -f/-config= parameters, config will be now reset to built-in defaults
only once, before first config file is loaded.
- Updated CHD support, uncompressed CHD write support added, can be mounted as read-write hardfile.
(CD subchannel support may or may not work, there does not appear to be easy way to convert ccd/sub/img
combination to chd)
- CSPPC/BPPC IPL_EMU register's M68K_IPL bits only change when PPC is interrupt master.
- b11 Blizzard accelerator Z3 autoconfig hack didn't work correctly.
- BlizzardPPC flash mapping fixed (b11)
- 68000 mode, without CE and more compatible, RTE instruction didn't check for odd program counter.
Beta 11:
- P5_AMIGA_RESET CSMK3/CSPPC/BPPC bit can be only changed if P5_SELF_RESET is cleared first.
- Never use normal Z3 autoconfig mapping if Blizzard board is emulated to reduce address space
conflicts with Blizzard RAM mirror at 0x48000000. Note that this is impossible config, there is no
way to have any Z3 boards with BPPC in real world.
- Blizzard PPC rom name renamed to blizzardppc_060.rom and added blizzardppc_040.rom. 68040 and 68060
variants have different (and incompatible) flash rom contents.
- 68000 + no cycle exact and no "more compatible" used wrong memory access method. (b9)
- RTD instruction was set as 68000 compatible (should be 68010+). Incorrect since the beginning.
- Accelerator board ROM select menus didn't select anything.
- Added full CyberStorm MK1 image ($F00000 ROM code is 68060-only), added another 68040 compatible ROM
that simulates boards with boot rom jumper disabled or boot rom chip removed. (Original non-flash based
boards had separate ROM chip for boot and diag ROMs and boot was only installed if CPU was 68060)
- CyberStorm MK1 SCSI works again.
- Automatically update accelerator board ROM settings when board type is changed in GUI.
- PPC BAT register handling fixed (Technically not emulation bug but OS bug, PPC documentation says
'... BEPI and BRPN fields must have at least as many low-order zeros as there are ones in BL.', BEPI and BRPN
needs to be masked with BL instead of trusting software doing as documentation says..)
- Added missing PearPC divwu, divwuo, addco, subfco PPC instructions. (Variants of already existing
instructions).
Last two updates allows AmigaOS 4.1 Classic to boot.
OS4 note: If you enable Z3 RTG board, it must be mapped at real Z3 space (0x40000000+), "JIT Direct compatible
Z3 memory mapping" must be unticked or you must have large enough host address space (=64-bit Windows). OS4 resets
the system and autoconfigures all boards, m68k hacks can't work. (NetBSD and Linux work because they read board
config data from AOS expansion.library before taking over the system)
Next topic:
PearPC CPU emulator is a dead-end. Missing instructions, only partially emulated instructions, no support
for integer overflows, division by zero, illegal instruction exceptions and so on.. (Which means any buggy or
badly behaving program can crash the emulator or hang or crash emulated operating system). It did its job, allowed
easy and quick PPC emulation test. It would not have happened with any other more complex cores.
It seems most compatible PPC CPU emulation is in QEMU. Dolphin only have experimental MMU support which is not
supported in JIT modes. But QEMU is complex, very complex..
What does this mean? It means all PPC CPU related bugs will be ignored until PPC CPU emulator core is replaced
(timeframe: unknown.), only exception is bugs that didn't exist in b10.
Beta 10:
- Added CyberStormI/II/III/PPC and Blizzard PPC flash rom images to rom scanner, name based detection only.
(Remember to click ROM rescan button) Now opens usual ROM missing dialog when flash rom image can't be opened.
- Added GUI support for manual accelerator board ROM image selection.
- NCR53C770 emulation spurious interrupt fix.
- Reset/exit froze the emulation if PPC CPU was in sleeping state.
- Map ROM checkbox was checked if 128M CPU slot memory was configured (old bug).
- 68030 more compatible/CE with MMU does not use data cache anymore, 68030 caches logical addresses (which
will get really difficult and complex to emulate), 68040+ caches physical addresses.
- CyberStorm PPC/Blizzard PPC board emulation improved, PowerUP also works.
- Do not map PPC board FFF00000 memory mirror if no on-board RAM installed.
- Generate CyberStorm/BPPC fake flash rom hardware idenfication data and serial if it is missing.
- If CyberStorm MK3/PPC flash image is 256k or larger, map it like BPPC does it. (Not sure if this is correct)
- Reset with Picasso IV enabled forced hard reset.
- Z2 RTG crash fixed (some configurations).
- Added PPC GUI option to CPU panel. If ticked, selects matching board automatically. Becomes ticked and disabled
if board was already selected. 68040/060 only. (CSPPC/BPPC flash boot code uses 68040+ only instructions)
- Move PPC thread to main thread when m68k gets disabled, improves performance of native PPC operating systems.
(No need to move IO access messages between threads)
- Disable RTG board if >2M chip ram configured and Z2 RTG configured. (Forgotten address conflict check)
- OSD CPU led changes to "PPC" when PPC is active and m68k is disabled.
Beta 9:
- PearPC PPC emulator core added. Only because it was very easy to add, it may not be compatible enough.
(and it isn't, at least not fully compatible, at least it has some unimplemented instructions, some
programs or operating system surely won't work)
- PPC disassembler added to debugger ("dp", PPC mode is remembered, use "do" to switch back to m68k)
- Windowed mode status bar shows PPC state (if CyberStorm PPC or Blizzard PPC selected). Shows 4 possible states:
STOP (inactive), RUN (executing instructions), SLEEP (low power state, waiting for interrupt), CRASH
(CPU emulator detected something bad, like invalid instruction etc)
- BlizzardPPC memory GUI adjustment fixed.
- Fixed 68020/030 CE + fastest possible hang if program executed loop that didn't do any memory accesses.
- 68040/060 CINVx instruction was still disassembled strangely.
- Adjusted 68040/060 "cycle-exact" mode timing, also if data cache is enabled, emulate all data memory accesses as
immediate. (until data cache is emulated fully)
- CyberStorm MKII F0 ROM section of flash rom is now flashable. (third party mk2diag flash updater works)
- Blizzard PPC flash rom chip emulation now works correctly (was wrong mapping and wrong flash chip device code..)
- Added special JIT indirect CPU core that supports code execution from non-linear and/or aliased memory. Technically also
should allow to emulate A2091/A590 but it still crashes for some reason. (But at least now it executes some ROM code before
accessing invalid memory. A2091/A590 is perfect test case because it does not copy driver code from autoconfig ROM to RAM like
most other HD controller drivers do, code runs directly from ROM and same memory "bank" also has IO registers)
- Memory allocation source clean up. Can break nearly anything..
- SCSI CD READ CD command didn't read audio tracks 2+.
- Entering debugger force the emulator if m68k CPU was stopped with STOP instruction and all interrupts disabled.
- NCR53C770 emulation tweaks, fixes netbsd hang. Now it gets unexpected interrupt, no fix available yet.
- Version bumped to 2.9.0
PPC Notes:
Only a proof of concept currently.
Automatically enabled when CyberStorm PPC or Blizzard PPC emulation is selected.
Only PearPC interpretive PPC emulation is currently supported. Speed is totally irrelevant at this point.
PPC emulator runs in separate thread, it requires special handling with PPC IO accesses, IO accesses are serialized and sent to m68k-side.
Plain memory accesses are direct. (This assumes M68K is still doing Amiga housekeeping duties and PPC is mainly used as a co-processor,
probably will cause huge performance hit if PPC does everything, for example when running PPC-only operating systems)
Should be fully m68k JIT compatible, at least in indirect mode.
Dual core CPU or better required. If you don't have one, you are not allowed to report anything, sorry.
PowerUP kernel does not work (hardware is not fully emulated). WarpOS appears to work.
Do not use BlizzardPPC, it has (currently incompatible) PowerUP in flash and it runs at boot.
Make sure CPU speed is fastest possible. PPC IO access serialization will be slowed down if m68k is waiting for
chipset.
Beta 8:
- When loading old config which has both cycle-exact and fastest possible enabled: disable fastest possible.
Previously this combination was invalid but some for some reason old configs can have both set.
- One second boot delay was always active, even when restoring statefile..
- "Fastest possible" with cycle-exact now works as designed, removes all CPU internal processing cycles, only
affecs 68000, 68020 and 68030 models. (68040+ and 68030 MMU is always internally immediate). This should be
better option (uses less CPU time) than using MHz adjustment if you want fast CPU in cycle-exact mode.
- Immediate blitter is now selectable in cycle-exact modes.
- Some more Z3 autoconfig mapping tweaks. (Warp Engine..)
Beta 7:
- NCR93C94/FAS216 SCSI emulation write didn't work correct and wrote corrupted data, fixed. Added also check
that aborts transfer if SCSI chip and DMA controller data directions don't match (should never happen but...)
- Flash chip emulation didn't emulate all "chip is still erasing" status bits, broke CSMK3/CSPPC/BPCC flasher.
Worked only accidentally in older version.
- SCSI Kit rom checksum data was in wrong position, broke Blizzard 2060 odd/even rom loading.
- CyberStorm MK2 flash update was not written back to rom file.
- "JIT Direct compatible Z3 memory mapping" option with RTG enabled worked only in some configurations.
Beta 6:
- Added NCR53C94/FAS216 SCSI chip emulation (from QEMU)
- Added Blizzard1230IV/Blizzard1260 + Blizzard SCSI Kit IV emulation. SCSI Kit v8.5 ROM added to rom scanner.
- Added CyberStorm MK1 and CyberStorm MK2 emulation, map rom and SCSI included.
- Blizzard 2060 (map rom not emulated) and Warp Engine works now.
- CyberStorm PPC and Blizzard PPC 0xFFF00000 mapping improved, now switches correctly between KS map rom and
PPC boot code locations. BPPC now correctly attempts to start flash built-in PPC support code during boot
and hangs because PPC won't respond.
- Added warning message when BlizzardPPC or CyberStormPPC PPC CPU gets booted.
- Remap UAE Boot ROM (if needed) to secondary backup location if Blizzard PPC is enabled, if MMU emulation is
enabled BPPC will remap normal boot ROM backup location causing boot hang.
- Added CyberStorm MK2 flash rom chip emulation, map rom and disable key support (=HALT4).
- Added CyberStorm MK2 full 128k rom image support (64k of autoconfig rom and 64k of diag rom)
- Flash chip emulation compatibility improved, fixed CSMK2 flasher infinite loop.
- Accelerator memory option now automatically changes CPU board memory if accelerator uses same memory type.
- Added keyboard hack to help Phase5 boot rom key detection, it still wasn't realiable enough with some boards.
- Added one second boot delay option to misc panel, allows easy access to boot menus without need to
slow CPU emulation speed.
- Added 'Te' command to debugger, shows expansion autoconfig board information.
- CPU slot memory region was accidentally removed from mman list, causing random crashes in some JIT configurations.
- 68040+ more compatible / "cycle-exact" mode cache flush instructions didn't do anything.
About PPC emulation. It is now possible, at least technically, all other pieces are now done (at least partially).
QEMU has license compatible and apparently very good PPC CPU emulator, including MMU and dynamic translation and
it is proven to boot at least Linux.
Only need someone who knows QEMU inside out and can create standalone PPC emulator module that is black box
that only needs few functions: read physical address, write physical address, reset PPC, set interrupt level,
set CPU parameters. There appears to be some kind of CPU API/class but because it is unstable, internal only API,
there is no documentation.
Note that I still don't care what happens will happens in PPC side. If/when Blizzard PPC/CyberStorm PPC can run
some small PPC programs = it is done.
Beta 5:
Big accelerator board emulation update:
Added CyberStorm MK3, CyberStorm PPC and Blizzard PPC. ! There is no PPC CPU ! Technically it emulates board
with PPC CPU removed. (Which surprisingly does not seem to cause any problems, at least under emulation, real
hardware may get confused if PPC chip is removed). SCSI fully supported, boot menu works, boot menu options
can be modified and saved to flash, flash updater works. Map rom should work, including BlizKick.
Boot menu config is saved to flash rom which means selected flash rom will be modified, only use copy of your
flash rom image (If it is writable, files inside archives are never modified).
You need to be really fast or select slower CPU mode if you want to enter boot menu (ESC key). This needs some
emulator updates to allow easier way to press keys when starting emulation.
Map ROM is software selectable in boot menu, map rom option in GUI does nothing when using these boards.
Flash ROM images must have following names and must be in ROM directory because checksum based ROM detection can't work:
- CyberStorm MK3: cyberstormmk3.rom
- CyberStorm PPC: cyberstormppc.rom (emulates Phase5 version that has 128k flash, DCE 512k flash version not tested)
- Blizzard PPC: blizzardppc.rom (Note: flash is 512k but second half is only used for config, if rom image
is 256k (size you get if you simply dump the F0 space from real hardware), it gets extended to 512k after
onfig save or flash update). ROM images uploaded to the zone.
GUI/config file ROM selection will be added later. Note that real flash rom images also contain some card
specific information (PPC CPU speed, serial number which also includes card type). This area is blank in rom
images uploaded to the zone (they are from official flash updater, old serial is kept when flashing). blank
serial does not seem to cause any problems but some software probably gets confused.
NOTE: Only Blizzards use Accelerator board memory slider, other boards use CPU Board memory slider and Accelerator
board slider still needs to be set to some non-zero memory amount. (Will be fixed later).
Blizzard PPC seems to have something else in F50000 which may be important. (I only have CyberStorm PPC for
testing). Blizzard is (and can't be) JIT compatible due to high RAM addresses and RAM mirroring, CyberStorms
are much more JIT friendly but it is not guaranteed to be safe. Blizzard also does not boot if MMU emulation
is enabled.
- Added optional FPU emulation that uses softfloat library, another feature not for normal use.
Full 80-bit FP accuracy, bit-perfect results (not including trigonometric functions), supports FPU
arithmetic exceptions, much slower (Uses integer algorithms, host FPU is not used).
- Added mostly unmodified Qemu 53c895a SCSI emulation (originally heavily modified for 53c710 emulation). It is
53c770 compatible, 53c770 is used in CyberStorm MK3 and CyberStorm PPC.
- Some 53c710 updates, Blizzard PPC SCSI driver didn't work.
- Added simple flash rom emulator.
- Fastest possible CPU option is now available for cycle-exact modes. CPU internal cycles are not counted,
only (mainboard) memory accesses are cycle exact (DMA steals cycles from CPU) in this mode.
- 68040/060 "cycle-exact" mode is back, emulates only Amiga mainboard memory accesses cycle-exactly, includes
instruction(*) cache emulation. Any 32-bit fast ram or cached access is still immediate. (Which is still
much closer to real 040/060 than old behavior, 040/060 is heavily bottle-necked when accessing mainboard)
- 68040/060 "compatible" mode now adds instruction cache emulation.
- 68030/040/60 MMU mode "more compatible" (68030: adds both instruction and data cache emulation, 68040/060:
instruction cache only) and "cycle-exact" modes supported. (more compatible + mainboard access slowed down)
- 68030: data cache support is temporarily disabled. (Didn't work with MMU for some reasonm)
- DFx: eject messages appeared in new status bar even if drive was already empty.
- Right-align status messages in fullscreen mode.
- A2065 autoconfig was broken (b4)
- b1 directory filesystem change rewritten again, removed also lots of unneeded complexity from original code.
- On screen CPU halt message reason code was always 1.
- Generated virtual RDB (when IDE/SCSI mounting partition hardfile) created empty string for device name.
- 270b6 "JIT MOVEM used direct mode if memory was direct capable but direct mode was disabled." was wrong
fix, original code probably was done to work around some JIT indirect bug.. (AmiKit crash during boot
if JIT is in indirect mode)
*) Instruction cache only? because emulating data cache would not make any useful difference (except to slow
down emulation), data cache normally does not cache any mainboard addresses anyway.
Beta 4:
- Added Blizzard 1230-IV and Blizzard 1260 board options. Do not use if you only want to run
WB and other programs, it is not JIT direct compatible due to memory address space aliasing.
Only emulates memory layout (which is Blizzard unique), matching CPU is not 100% required if you want to try
weird configs. Map ROM is also emulated, old map rom checkbox in ROM panel enables Blizzard hardware maprom
if Blizzard board is selected. Requires matching Blizzard flash ROM images. (Only difference between 1230IV
and 1240/1260 is slightly different boot rom, hardware ram addresses appear to be exact same)
Mostly useless, mainly meant to help development and testing. (Useful for aros m68k testing for me at least)
- Added Warp Engine board emulation (It has already emulated 53C710 SCSI), autoconfig works, ROM code runs,
SCSI (53C710) does not work yet, not yet sure how jumpers are mapped to board address space.
- Really fixed CD32 data track checks. (CD32 Commodore Demo Disc 2.0 MPEG tracks)
- Disk Swapper panel drag'n'drop or file dialog multiselect mangled file names strangely.
- Added A590 XT drive emulation. A590 emulation is now complete :)
WARNING: XT drives use real physical CHS geometry, don't attempt to use hardfiles formatted using other
controller, it won't work in real world. (Emulation includes work around hack) Largest XT
drive was 40M and protocol max limit is 511 cylinders, 15 heads and 63 sectors = ~235M.
Both SCSI and XT drive can be active at the same time in same controller.
Interesting fact about ROM xt.device: It uses WD33C93 Translate Address command to convert LBA to CHS
which means WD33C93 chip needs to be inserted and working or XT (which has nothing to with SCSI) port
won't work.
- Fixed A590/A2091 SCSI emulation crash if SCSI ID was non-zero.
- Z3 autoconfig was broken (b1).
- Serial port data rate register (SERPER) was not saved correctly to statefile.
- Serial port transmit interrupt and transmit related status bits are now more accurately timed in cycle-exact
CPU modes. (If some software really cares, probably not)
- Inter-process serial port emulation added, when selected, automatically creates virtual null modem cable
between two winuae processes. Uses shared memory, no latency. (Says "Master" in serial port selection menu
if WinUAE instance created shared memory and "Slave" if shared memory was already created by some other instance.
If nothing = something failed)
- Added support for short text messages, appears in OSD bar's unused space and windowed mode bottom bar. Currently
only shows disk image eject/insert and input device autoswitch information.
OSD messages won't appear in following configurations: native mode + DirectDraw + no filter and RTG
mode + DirectDraw. (In DirectDraw mode status bar is drawn directly to target surface, erasing gets annoying
because it should not be read. In D3D mode it is another texture, hardware does the rest)
- Added remove all button to Disk Swapper panel.
- Game controllers can be now optionally kept active when winuae window is not active or minimized.
Beta 3:
- Selected chipset extra didn't match what dialog box shows (b2). This broke many configs..
- CD32 FMV 16-bit display mode support.
- A590/A2091, A3000, A4000T and A4091 SCSI was not initialized unless at least one device was connected (b1).
- Added Picasso IV flash rom v7.4 image to rom scanner. It does not need to be called picasso_iv_flash.rom anymore.
- Added Blizzard 1230-IV and 1240/1260 Boot ROMs to rom scanner. (Coming soon Blizzard 1230/40/60 unique memory
layout and maprom emulation. It can be useful for developers and for testing without real board. This was
supposed to be implemented in this beta but chipset extra bug required quick update)
- .bin extension added to ROM scanner.
Beta 2:
- Pointless CD32 Full Motion Video cartridge emulation! (Check notes below)
- CD32 FMV 40.22 ROM image rom scanner checksum fixed (was from byteswapped image). ROM rescan required.
- Added CD32 FMV option to Expansion panel.
- Added CD32 FMV to ROM scanner result dialog.
- GamePorts panel autofire always-option crashed.
- CD image emulation didn't support 2336 to 2352 sector size conversion.
- CD image emulation didn't return correct data if image had 2 data tracks back to back and
tracks from second data track was requested. (Cannon Fodder CD32 FMV track)
- Debugger MOVES instruction's source and destination was swapped.
- Quickstart CD image selection text box become empty after image was selected (b1)
- RTG scale options didn't work on the fly. (2.8.0)
CD32 FMV notes:
- ROM requests won't be allowed and will be deleted. ("Find" it yourself or get AmigaForever or something)
- Only supports CL450 MPEG decoder commands that basic playback needs.
- VCD quality is not that good: MPEG-1 with 352x288 (PAL) or 352x240 (NTSC) resolution, MPEG-1 layer 2 audio.
- Requires at least null filter. (Automatically enabled)
- Requires 32-bit display mode, 16-bit will work in future. (Not automatically enabled)
- Tested with CD32 FMV 40.22 and 40.30 ROM versions.
- Tested only with Cannon Fodder CD32 video track and one VCD movie.
- Rewind or fast forward hangs the player software. (No idea why. No CL450 commands sent.)
- AV sync may not be that good.
- Sound buffer underflows will happen.
- CL450 video window size and position values ignored, video window is always centered and automatically
1x/2x/4x scaled.
- Video is 1:1 pixel mapped, aspect ratio is ignored.
- Before reporting anything: make sure your Cannon Fodder CD32 image is correct. It must have 2 data
tracks, check .cue file using any text editor. Plain iso also can't work.
- Config must be based on "CD32 with Full Motion Video cartridge". Do not load old CD32 config and tick
CD32 FMV expansion option. If you do it, you are on your own.
- Only obvious bugs (very jittery video, nothing happens etc..) will be accepted.
Everything else will be ignored until I get my own FMV cartridge.
I won't pay for it. Exception is getting enough donations.
WinUAE is not a video player!
Beta 1:
- Debugger TR command didn't handle linked resident lists correctly (inverted mask..).
- TO debugger command also lists FileSysStartupMsg and DosEnvec of mounted devices.
- Slow down 68EC020 RTE instruction, fast clock rate multiplier modes could have executed MOVE to
INTREQ + RTE combination too quickly (before Paula had cleared the interrupt) causing interrupt to
re-trigger immediately after RTE.
- Added SCSI controller selection to GUI and config file. ("SCSI (Auto)" does same as old plain
SCSI selection = use first enabled SCSI controller).
- More than 1 SCSI controller can be now active simultaneously. (For example A4000T + A4091)
- Added support for two A590/A2091 and two A4091 boards, both (or even all 4) can be active at the same time.
- Secondary A590/A2091 and A4091 share primary board's boot ROM by default. a2091_2_rom_file and
a4091_2_rom_file config file entry can be used to select other ROM version.
- 280b7 sprite update missed AGA bordersprite condition, causing clipped sprites in some situations
(Silicon Graphics 2 / WFMH)
- Rewritten directory filesystem Examine Next logic, now returned fib_DiskKey always have file/directory
entry specific unique value. Some programs check fib_DiskKey and (incorrectly) assume that it is unique
value and may also assume file must be same if both file's have same fib_DiskKey. Now also C:List KEY output
looks "correct". This needs testing because original (Tripos?) directory enumeration packet design is
not that good..
- AGA border sprite bit set and if same scanline had at least 1 sprite that was outside of playfield and at
least 1 bitplane was active and BPLCON4 palette XOR value was non-zero: wrong background color was visible
in some situations. (Nexus 7 / Andromeda "shade cluster" part)
- Some BEAMCON0 programmed mode emulation updates. VBSTRT/VBSTOP register values only affect screen if
VARVBEN bit is set.
- Use also value stored in VBSTRT (vertical blank start) register when setting up programmed mode vertical
size, some weird modes can have (much) smaller VBSTRT than VSSTRT (vertical sync start). (Jtxrules by Illusion)
- HBSTRT/HBSTOP register values are only used if BPLCON3 EXTBLKEN bit is set. (Demos Contactro and Jtxrules by Illusion)
- BEAMCON0 HARDDIS bit also disables DDFSTRT hardware limit. (Weird stuff, VARBEAMEN disables it too,
even superhires mode disables it..)
- Fixed "CPU trace blahblah" error after 68020+ state file was loaded and loaded program used bitfield instructions
later.
- Split ROM images didn't load (again..) correctly if relative path mode was active.
- Added support for missing Z2 RAM board sizes (64k/128k/256k/512k). Note that small boards (256k and less) can
be mapped at IO autoconfig base (0xe90000+) which makes predicting final address difficult: JIT (if enabled)
can't use direct mode to access this RAM board.
- Added support for second Z2 fast RAM board. Size must be smaller or same as first board. (Makes JIT
board address calculation simpler)
- Above two changes mean it is now possible to have total 6M of Z2 RAM in 24 bit addressing config with 2M gfx
board config (4M + 2M and 2M gfx) or less useful 8M fast + extra 256k of fast config...
- Z2 gfx board JIT direct calculation didn't correctly align the board base address if Z2 RAM size was less than
Z2 gfx board size.
- Implemented no-hack Z3 memory mapping, lets OS handle Z3 autoconfig without patching base addressess from
>=0x40000000 to >=0x10000000. This mode is not JIT Direct compatible. Option in Memory panel. Do not enable
unless you know what are you doing and you really need 100% matching real hardware Z3 address mapping.
- Use no-hack Z3 allocation automatically if all configured boards fit in official Z3 space, fully JIT Direct
compatible. Requires 64-bit Windows and available space will be about 300M to 500M. RAM panel text string
shows free space. 32-bit Chip RAM does not count, it is not Z3 board and it is always located at 0x10000000.
- Added 384M and 768M 32-bit Chip RAM size options. (768M fits perfectly at 0x10000000-0x3fffffff)
- Added Z3 autoconfig advanced chipset option. If ticked (or A3000/A3000T/A4000/A4000T chipset extra selected),
Z33 boards will now appear at Z3 autoconfig space (0xFF000000), previously Z2 space was always used.
Z2 space is supported by AOS but most real, but not all, Z3 boards use Z3 space. Optional because not all
KS ROMs (for example A1200) support Z3 autoconfig space but do support Z3 boards.
- Try to keep number of cylinders under 65536 when generating default geometry even if partition hardfile
is very large (>100G) for better old AOS compatibility. (Helps my big partition PFS3 testing..)
- Hardware (Cirrus Logic) RTG board emulation incorrectly required UAE boot ROM.
- 68030 MMU update from Previous, fixes some supervisor/write protect edge cases.
- Added "history" menu to filesystem, hardfile and tape path selection text boxes.
- Added portable mode (.ini) on/off state to Paths panel. Read-only, enabling it on the fly would cause
all kinds of side-effects. Unsupported warning removed.
2.8.1
Beta 8:
- Tweaked 68020 reading from non-existing memory behavior.
- Added *.a500, *.a600, *.a1200 and *.a4000 extensions to ROM dialog file name filter.
- AVIOutput didn't use (slow) reads from VRAM even when it should have been used it, resulting in
tiny non-scaled video output if "capture before filtering" was not ticked and resolution was large enough.
- AROS ROM updated.
Beta 7:
- Yet another BPLxDAT update. If BPL1DAT is written when sprite is already active and no planes enabled in
BPLCON0, "sprites visible 1 lores pixel before first bitplane pixel" feature is not active. Previous
update was not correct and broke some other demos. (Real fix for Rink A Dink / Lemon extra pixel in
rotozoomer part)
- 68000 CE with 8x (or higher) clock multiplier was really fast (270b4)
- AROS ROM updated.
Beta 6:
- b2 HAM update was incomplete and broken, nr_color_changes check was not fully working. (b2)
- Display panel missing translations added (autoresolution and brightness/contrast/gamma)
- Some file operations (zipped files, possibly something else too) didn't support recently introduced
relative "..\" path part update.
- Copper emulation state was not fully reset when restoring state file, in some situations copper
may have modified restored custom register in next cycle after state was restored.
Beta 5:
- Relative path improvement broke CDFS CD mounting in some configurations.
- Ungrab (b4) event didn't disable mouse capture when it was activated in fullscreen modes.
- VPOS LOF bit toggles (if interlace) exactly 2 cycles before first refresh slot. Logic analyzer tested.
- Copper vblank strobe also stopped the copper if DMA was disabled and second strobe register was accessed
previously. Broke in 280b1. (Sequential / Andromeda first screen)
- More accurate BPL1DAT emulation.(Glitches appeared in Sequential / Andromeda magnet part's
left border when one pixel gap in Rink a Dink / Lemon rotozoomer part white border was fixed)
- 8-bit split (odd/even) roms didn't load if merged parent was missing.
Beta 4:
- New relative path mode worked badly under Windows XP, possibly up to Windows 7 without SP1.
- "Toggle between mouse grabbed and un-grabbed" input event has not done anything at all for ages (if ever).
- "Switch between audio interpolation methods" input event probably has never done anything at all, probably
totally useless (custom events works as well) but at least it works now..
- 2.8.0 translation dlls are accepted now.
Beta 3:
- Do not show "hpos = 256!?" error dialog if something writes very bad values to programmed display
mode registers.
- "Magic mouse" now stays disabled unless there is at least one open Intuition Screen.
- If relative path mode, support also relative paths that point outside of winuae root directory.
- BPLCON2 KILLEHB bit still required AGA instead of ECS Denise. This was supposed to be fixed in 1.4.5.
(But no one cares, pre-AGA it was only meant for genlock stuff)
- Removed "Unimplemented error" dialog if directory filesystem returns unhandled/unknown win32 disk error
codes, adds log message, returns ERROR_OBJECT_NOT_AROUND. (Most common causes are network filesystem problems,
file/directory errors due security problems etc, no new missing errors reported for long time)
- On the fly (not using GUI) switching from Automatic resize filter to another filter mode may have incorrectly
changed window size in some situations.
Beta 2:
- Quickstart GUI disk eject button was unreliable.
- HAM mode right border in some situations (Uridium 2 title screeen in some filter modes), also restored
proper operation (got broken long time ago) of original "fast mode" if HAM scanline does not have any
color register changes.
- CIA update (which I forgot to mention in b1 changelog) improved, was not fully compatible if CPU was faster
than 68000 , do not trigger CIA interrupt while CPU is accessing any CIA register (not 100% confirmed but
seems to be true), this also made b1 CPU mode switching unreliable.
- Reduced diskready (motor rotating at full speed) activation time by small amount, fixes Critical Mass / Parallax.
- Disk inserted (if replacing existing disk) and disk ready bit setting time is now more "random", now delay time
counts scanlines, previously it counted vblanks (=disk was always inserted at vblank)
- Removed 270b16 Windows 8.1 mouse bug workaround, bug seems to be fixed.
Beta 1:
- Audio DMA CPU wait hack (that tries to prevent missing samples if program has CPU timed audio DMA wait)
improved, now compatible with programs that really need delay after DMA switch off (for example switches
DMA off, then clears interrupt request, and then finally waits for audio interrupt).
- CPU on the fly mode changes were unreliable (2.8.0b15)
- Fixed some GUI strings that didn't support translation.
- .ccd CD images didn't automatically load from archive if file was not in archive root.
- Disk insert after emulation has been started may have internally set disk as write protected even
if disk image is write enabled. (broken since GUI "?" button was added)
- Added DMA channel support to memwatch points. Add DMA channel name (or more than one) at the end of
debugger w command line, for example COP, BLT (or BLTA if you only want A channel reads) and so on..
No parameter = CPU accesses only.
- Null filter didn't check display bounds, fixes possible DirectDraw mode crash when display size changes.
- Directory filesystem ACTION SET FILE SIZE will now fail if target file size is >= 2G. (Prevents accidental
truncation if program does not support large files)
- Added directory filesystem MorphOS compatible 64-bit file size packets: ACTION_SEEK64, ACTION_SET_FILE_SIZE64,
ACTION_LOCK_RECORD64, ACTION_FREE_RECORD64, ACTION_EXAMINE_OBJECT64, ACTION_EXAMINE_NEXT64, ACTION_EXAMINE_FH64 and
ACTION_EXAMINE_ALL ED_SIZE64. (OS4 packets were implemented long time ago)
- AGA and reading non-existing or write-only custom registers work differently than on A500, don't use new more
A500 compatible method added in 2.8.0 with AGA configurations. (This is far from accurate)
- Mouse device autoswitching was unreliable if rawinput was not supported or was disabled.
- If Quickstart mode and sound filter is set to A500 or A1200 emulated or always on: automatically match it with
selected config.
- DMA debugger now shows CPU and DMA 32-bit chip ram accesses, previously data was truncated to 16-bits. 64-bit
DMA is still truncated to 32-bit.
2.8.0
- Lowered floppy drive step limit again a bit more, fixes Elektrica / Cascade.
- Sound timing calculation used hardware maxvpos, not possibly currently active "fake 60hz"
method maxvpos. (2.7.0b13)
Beta 19:
- Increased space for UAE boot ROM extension resident module structures, it was too small and overflowed
(causing boot crash) if too many UAE resident module expansions were enabled simultaneously.
- Windows specific configuration defaults were not set if config was command line or double click loaded
(missed in b17 fix)
- AROS ROM updated.
Beta 18:
- 0xFFFF was not returned when reading write-only or non-existing custom register and previous cycle was
idle cycle. Not exactly 100% correct but more compatible with programs that accidentally read wrong
custom registers.
- Cirrus Logic emulation had some useless logging enabled.
- Added GUI option to enable/disable new automatic programmed mode resolution selection to Display
panel, enabled by default. (For example if you want to use superhires all the time and use filter
panel to scale the display back to correct aspect ratio)
- Unexpanded A1200 also reads last fetched opcode word when accessing non-existing memory, similar
to unexpanded A500. (more compatible and cycle-exact only)
- Last possible displayable line was incorrectly drawn in border color in some situations when short
field mode was active.
Beta 17:
- Debugger breakpoints work again. (b14)
- Full CPUSHA/CPUSHL/CPUSHP disassembly implemented.
- Integer scale mode compatibility improved with programmed display modes.
- Integer scale mode changes Filter panel zoom slider range to -99 to 99 and is used to adjust integer
scaling calculation. For example -10 means if next largest scaling factor is selected even if
display height is 10% too big to fit normally. (This was implemented already but it didn't
work properly)
- Fixed fill_line() top/bottom background line drawing buffer overflow in some programmed modes.
- Some programmed modes had single short background colored line in left horizontal blanking area.
- Command line (or icon doubleclick) loaded config didn't reset previously loaded config (default.uae,
if it existed)
- Emulated more Fat Gary address regions that are unmapped (CIA is same as Gayle, upper 32k in
clock space and Gary register space are unmapped, 0xdf0000-0xdf7fff is also unmapped)
- Emulate Fat Gary invalid address space access timeout if Gary timeout bit is set, first 50 timeouts
are always logged. To prevent last moment stupid bugs or bug reports, delay is not yet enabled.
Beta 16:
- Borderblank blanked sprites incorrectly in some situations (b11, Roots AGA)
- SPRxDATx/SPRxPOS copper write/Denise internal sprite behavior should now fully match real hardware.
- Ancient (and recently non-working) Superfrog flashing intro bee hack removed, properly emulated now.
- gfx_filter_keep_autoscale_aspect and gfx_filter_keep_aspect config entry change was not detected
when using using uae-configuration.
- Last used AVI codec was not restored from registry if ICGetState() returned zero size data block.
Beta 15:
- Finally bumped version to 2.8.0. This isn't small 2.7.0 update (Should have been done since b6 or so..)
- FPU register negative zero transformed to positive zero when it was written to or read from memory
in extended FP format (FMOVE.X FPx,<ea> or FMOVE.X <ea>,FPx or FMOVEM). No one should care as usual.
- When loading FPU register from memory in extended format, normalize any "unnormal" zero.
(non-zero exponent but zero mantissa part). Motorola FPUs do this automatically, x86 FPU
does not seem to like them. (Another mostly Next specific update)
- Programmed mode autoresolution should now work with strange modes like highgfx.
- Only allow CPU mode changes between instructions, previously change sometimes happened mid-instruction
(during instruction internal memory read/write) which wasn't safe.
- Small tweak to recent sprite update (Hybris)
Beta 14:
- FSINCOS second register supported in disassembler.
- FMOVEM and FMOVECR disassembler support. Disassembler should now support all FPU instructions.
- Added missing special case 68020+ instruction disassembler support: bit fields, MOVES.
- Disassembler output improved, most unsized instructions don't have .L size extension anymore.
- Action Replay 2/3 was incompatible with b8 cpu emulation changes.
- CPU mode (JIT/more compatible/cycle-exact) on the fly switching was unstable since b8.
- Mirror Expansion panel RTG scale options in Filter panel. (More options will be added in future)
- Removed some forced inlining that only increased size of executable and wasted CPU cache space.
- Added support for early 68040 revision that has slightly different FPU stack frames and version
id. (Config file fpu_revision=0x40). Not much use in Amiga emulation but first 68040 based Next
systems came with first revision 68040's and NextStep 2.0 unimplemented emulation code only
supported first revision unimplemented stack frame type.
- FMOVEM predec/postinc mode bit emulation fixed again, now it really works correctly.
- Implemented (partial) 68040 FPU BUSY stack frame.
- Pre filters in RTG mode loaded incorrectly from config file.
- Implemented FPU exception state statefile support.
- b13 JIT FPU bug workaround replaced with fixed optimization (Peter Keunecke)
- Attempt to automatically select correct resolution (hires/shres) when programmed mode is active.
Always active if resolution setting is hires or larger and doubling is enabled. No more programmed
modes that are 2x wide or half width without manually changing resolution setting, note that currently
"wrong" mode is visible at least 1 frame before mode changes.
- Arcadia game Aaargh supported.
Beta 13:
- Canceling video or audio codec selection dialog will disable audio or video recording.
This has been broken for long time, it was impossible to record video only or audio only
(except in wav mode).
- 64-bit build now also supports wintab tablet API.
- Fixed some slirp Windows specific 64-bit compilation issues.
- Fixed JIT + more compatible enabled emulated Amiga crash. (b9)
- If "always on top" option is enabled, GUI is also opened with "always on top" flag.
- gfx_linemode=none (no doubling) was loaded as doubled mode.
- Check and limit 2x software filter height value if size is larger than allocated buffer size,
preventing display buffer overflow crash.
- Debugger now disassembles most FPU instructions correctly but some of them may look strange..
- Disassembler MULL and DIVL fully decoded.
- Support "INPUTDIMS" D3D shader variable. Used by some shaders.
- JIT FPU rare bug workaround, FPU constant optimization introduced in 1200b3 disabled.
(Code looks correct, it works correctly except in some very rare situations, real cause may be
some unknown JIT side-effect)
Beta 12:
- Config file writing created corrupted (and harmless) config file lines, most common being
uaehf line which fortunately isn't important config line entry. (b11)
- BCHG/BCLR/BSET allowed PC-relative addressing modes, broken since the beginning. (from Hatari)
- If program read disk by polling DSKBYTR (not using DMA), index emulation was unstable.
- Switching bitplane DMA on few cycles (not yet confirmed, I assume range that makes sense is 1 to 3)
cycles before DDFSTOP will also trigger ECS/AGA "passed plfstop" state change. (Death Trap)
- Full tablet emulation boot division by zero guru fix.
- Tablet.library emulation now works but at least dpaint5 does not seem to do anything with pressure
data. It reads pressure tag contents but nothing seems to happen.
Beta 11:
- Borderblank + bordersprite caused border glitches in some situations.
- CDTV front panel buttons' default state after reset should be enabled, not disabled.
- Added new double options to non-lace modes. Not really useful, maybe be moved somewhere else later..
- 68040 MOVE16 write access error stack frame is now correct.
- Editing non-existing new style real harddrive config entry opened hardfile properties dialog.
- Separate filter options for native and RTG modes. Currently only following settings are RTG compatible:
Direct3D shader filters (no software filter support and never will be), masks, overlays, scanlines.
- New automatic resolution option was unreliable in some situations.
- Do not detect modes with VTOTAL=350 or less as scandoubled to fix Super72 halved height.
- tablet.library emulation, totally untested, do not enable.
- After long field to short field change last line still showed old background color(s) if line had any
background color changes before field mode was changed.
- Master floppy write protection config option was not loaded from config. (wrong config entry name..)
- Disk emulation multirevolution support was unstable, disk revolution data stream change was not always bit perfect.
- Added Super Card Pro (scp) image file support. (Don't ask me if images don't work, I didn't implement it originally)
- Added support for raw dumps from Softpres Capture Tool and KryoFlux using new capslib v0.5.
Yes, above two changes in same beta is only a strange coincidence. Note that both are raw dumps which
can't be confirmed easily, don't bother me if there are compatibility problems.
FPU improvements (Mostly low level stuff that only makes difference if unimplemented checkbox is not ticked, much
more important for Previous emulator, NextStep OS requires FPU and uses it heavily):
- 6888x any FPU instruction (except FSAVE/FRESTORE) causes null state to idle state transition but
68040+ conditional FPU instructions won't affect null state.
- 68040 unimplemented FPU instruction emulation was broken, FSAVE exception frame was not emulated, 68040.library
emulation code needs it for proper operation.
- 68040/060 FPU FMOVECR is now unimplemented instruction.
- 68040/060 unimplemented packed-decimal data type exception is now emulated.
- 68060 FMOVEM.X with dynamic list now causes unimplemented effective address exception.
- 68060 F<op>.X #imm,FPn and F<op>.P #imm,FPn now causes unimplemented effective address exception.
- 68060 FMOVEM.L #imm,<more than 1 control register> now causes unimplemented effective address exception.
- FMOVEM.X with dynamic list and -(An) and (An)+ effective address overrides static/dynamic post/pred state.
(for example FMOVEM.X Dn,-(An) uses pre-decrement even if mode bits are set to dynamic post-increment)
- All FPU FPSR register (overflow, div by zero etc..) status bits emulated. (May not be fully reliable)
- 6888x Packed-Decimal Real k-factor support fully implemented. (May still have rounding bugs)
This should complete emulation all FPU features except arithmetic exceptions (that no one seems to use)
Beta 10:
- Programmed display mode positioning bug fixed, should fix remaining problems with clipped left or right edges.
- Switching between interlace PAL and interlace NTSC modes calculated wrong vertical line count.
- Some CPU emulation optimization, only modify linear memory address in getpc/setpc/incpc functions if mode
is not prefetch/ce/mmu.
- Added slirp inbound port configuration, config file slirp_redir=<proto>:<port>:<internal port>:<internal ip>,
multiple entries supported, internal ip part is optional.
- Added simple slirp inbound port configuration, config file slirp_ports=port1,port2,.. (TCP ports only,
internal address is default 10.0.2.15, host port equals internal port)
- Added quick slirp inbound port selection to GUI, opens TCP ports 21, 22, 23 and 80. (Same as slirp_ports=21,22,23,80)
- Added missing slirp cleanup code from QEMU.
- 6888x Packed-Decimal Real negative k-factor values fully emulated (Previous confirmed, required by NeXTSTEP OS),
positive non-zero values not emulated yet which needs Fortran "E" scientific notation format string that C does
not directly support.
- First and last drawn scanlines were always detected incorrectly since few major versions ago, breaking vertical centering.
- Input device autoswitch by using analog directions now only work with X or Y axis, other directions may work
differently and can cause accidental switches.
- Force recalculation of horiz and vert centering (if enabled) when screen mode is detected (guessed) as changed.
- Toggle input events (warp mode, mute etc..) now also support setting to on or off state without toggling.
Input panel only, click on input event name to change mode
- Added audio/video recording input event, supports also new toggle/on/off modes. If recording is started using
input event (not from GUI), number is appended to filename and it is increased each time recording is started.
SLiRP inbound ports note: all ports will be opened when network hardware is initialized, there is no way to know
when something actually starts listening for some port. This also means you won't get exactly same behavior as
"real" low level network emulation, mainly you won't ever get connection refused if port is open but not actually
listening on the Amiga side, connection opens and then closes immediately.
Beta 9:
- NCR emulation didn't work with SCSI IDs 4-6.
- NCR SCRIPTS MOVE command phase bit test mismatch returned wrong interrupt status. (NetBSD 1.x)
- Added partial hack to NCR emulation that "fixes" NetBSD harmless "Phase mismatch: REQ not asserted!" warnings.
- IDE emulation: use LBA48 calculations only if command is new LBA48 command (read/write ext).
This could have caused unexplained disk error messages if device driver used both lba28 and lba48 commands
and HDF was lba48 enabled (>=128G in size)
- maxmem command line parameter can now also be used to increase natmem limit (if host OS allows it)
- b5 interrupt update had another problem, CE modes lost interrupts in some situations when using UAE HD controller.
- Partition hardfile dostype was set to mostly random value with some CPU configs (b1).
- Disabled "smart centering" (tries to keep old centering parameters if it is "good enough"), it does not seem to
work correctly anymore (probably worked only accidentally) and leaves normal WB screen modes non-centered. Will
be debugged more if something else breaks, as usual..
Beta 8:
- 68000 CE/prefetch mode reads of non-existing memory should return correct data in all situations.
- Reading of write-only register will now write correct data to register. Data that CPU gets back
still isn't 100% correct (which can be totally different than what was written to register).
- ROM image didn't load correctly if ROM image was in multiple parts (odd/even) and merged parent ROM was not found.
- NCR SCSI: SCSI commands that failed returned wrong status.
- uaehf.device SCSI Verify (10) implemented. (Does not verify anything)
- A590/A2091 and A4091 options moved to Expansions panel, they are expansions, not built-in
features and not part of internal hardware config (advanced chipset). CDTV SCSI is also technically
built-in because driver and DMAC are located on mainboard, CDTV adapter only contains WD SCSI chip.
- A590/A2091 linear ROM mapping was incorrect (Any CPU mode without "more compatible" fetched bad opcode data).
Note that A590/A2091 can't be JIT compatible.
- Added "ROM disabled" option to A590/A2091 ROM select menu. (ROM disable jumper is for 1.2 compatibility)
- It was possible to set and get unused DMACON bits 11 and 12.
- A4091 was not compatible with Z3 Fast.
- Hardcoded A4091 autoconfig data was replaced with data from ROM image.
- Border blank didn't override AGA border sprites (broke in some previous beta).
- 68020/68030 SR M-bit should be cleared (if set) before executing interrupt routine.
- 68030 MMU FPU FMOVEM instruction continuation state recovery after bus fault was incomplete.
- Generate bus error when accessing invalid memory if A3000/A4000 Fat Gary based system, MMU emulation active
and Gary TOENB register bit is set.
- Joystick/joypad can be used to control light pen cursor. (Was mouse only previously)
- Some kind of physical mouse as digital/analog joystick/joypad support. Not that good but perhaps better
than nothing.
- Removed useless address space gaps between Z3 boards.
- CD image CDA player may have gotten confused in some situations if new track was requested while other
track was still playing.
- 6888x Packed-Decimal Real with Dynamic k-Factor data type was detected as invalid instruction. Allowed
now but k-Factor is ignored (Packed-Decimal Real with Static k-Factor was also ignored) but it isn't that
important, practically no one uses packed decimal data types.
- Some CPU and FPU emulation changes to make it more usable with other emulators (I am working with
author of Next emulator Previous to get 68030 based Next computer booting)
Beta 7:
- A4091 and A4000T NCR53C710 SCSI emulation works now! Now all built-in devices in all supported setups
are emulated. I guess last interesting big missing Commodore designed part is CD32 MPEG module.
- Added A4000T and A4091 to ROM scanner results window.
- Added A590/A2091 and A4091 boot ROM selection to GUI, if empty, uses old automatic selection.
- A590/A2091 + Fast RAM: Fast RAM is always first, A590/A2091 second, then other boards (if enabled),
now matches real A590/A2091 with fast ram installed.
- HID RawInput had wrong access mode in device open call, failed if other users of same device
used different access modes.
- 68EC020 "opcode x has faulty prefetch" triggered too easily when program did stupid things.
(It is only a debug feature, it will be gone someday)
- AGA high fetch mode screens with ddfstop near the end of right border were completely blank.
- DDFSTRT limit should go away if programmed mode or superhires (broke in some previous beta).
- Reset horizontal display window if it is still active at the end of scanline (even if it is
larger than last hpos value) if programmed mode or superhires. Perhaps this is wrong, perhaps not,
not bothered to test yet.. (Background "leak" in right edge in some wide programmed mode screens)
- Accept uaehf.device open call even if ioreq->io.Message.mn_Length is invalid or too small.
- Renamed some protection dongle names in GUI.
Beta 6:
- Display emulation last horizontal position (plfright) was not correctly updated, caused all kinds of
bad side-effects, including non-immediate/non-ce blitter to take seconds to finish.
Beta 5:
- "Strange right edge overscan display shift" adjusted, in some situations it was visible when
it shouldn't have been. Looks also correct in NTSC mode now (Sawtooth pattern caused by alternating
line lengths)
- OCS Agnus requires one cycle between sprite DMA and bitplane DMA, ECS Agnus can have both cycles
back to back. This means OCS Agnus will only fetch first sprite word (practically making sprite useless)
where ECS Agnus can fetch both.
- Rarely during heavy interrupt activity in cycle-exact mode some delayed interrupt register set or clear
operation may have been lost causing possible spurious interrupt.
- lea (d8,An,Xn) prefetch is last operation, not idle cycle.
- 68020 CE mode CAS instruction prefetch was broken.
- When UAE boot ROM is enabled, add fake autoconfig board (configdev) that has same board address and
size as boot ROM. Allows MMU utilities (mmu libraries, enforcer etc..) to mark boot ROM as valid
address space without extra command line parameters.
- Partially rewritten horizontal Agnus bitplane state machine. Can (as usual) break something..
- When BPLCON1 matches, only copy enabled planes to shift registers. (Back In 90 / Samplers)
- Power led didn't turn off after soft reset.
- Added sprite-only linetoscr routines, bordersprites and HAM do not mix well. (Satyanarayanan / Scoopex)
- AGA and 64-bit fetch modes: last 16 or so pixels were not flushed to display, depending on BPLCON1 value.
(Satyanarayanan / Scoopex)
- New (still WIP) modern native library interface merged from FS-UAE.
- Added LSI 53C895A SCSI chip emulation from QEMU. Lots of changes to make it 53C710 compatible
(53C720 and later have multiple registers changes but SCRIPTS code is fortunately backwards compatible)
A4091 and A4000T NCR driver now "work", chip init works, returns timeout error (no device connected) when
it tries to detect SCSI devices. Do not connect any drives, it does not work yet.
- pdk compressed (or dsq) files always unpacked to Amiga DD floppy size.
- Keyboard leds lost sync in some situations.
Beta 4:
- More than one horizontal DDFSTRT-DDFSTOP window is now accurately emulated without requiring any hacks.
Random garbage between display windows is also gone. (Subtle Shades / Nuance)
- Removed some more obsolete variables from display emulation.
- Saigon Megademo fix got accidentally broken in b2.
- 260b17 "strange right edge overscan display shift" optional hack removed, new delay/shift register
behavior creates identical output automatically simply by reseting delay counter (hpos counter) at the
end of scanline. NOTE: Some programs with large overscan can now have small graphics corruption in right
border (gap in graphics), it is not a bug, it is accurate emulation. (For example Back in Bizness / 2000AD)
- Some OCS only programs may now have graphics corruption in ECS mode (if bitplane DMA crosses scanlines),
this is also not a bug, real hardware would show even worse corruption. Someday this will be more accurately emulated.
- Agnus vpos counter increase delayed by 1 cycle. Fixes Hit the Road / Flash Production "Floffy2" part.
- Keyboard leds as power/floppy/etc indicators are now properly restored back to original state when
keyboard input is not active, changing led config on the fly also works now.
- Exiting GUI with close button or ALT-F4 didn't save GUI position.
Beta 3:
- Sprites near left border had strange corruption (b1)
- "toscr_nbits > 16" error in some situations (b1)
- "Modified interrupt delays" b1 change was bad, sometimes interrupt request was kept active
causing spurious interrupts (which caused crashes).
- New autoresolution selection was not loaded correctly from config file.
- Blitter final D write don't increase "nasty" count. (Which makes sense, blit is already
finished, blitbusy bit was cleared 2 cycles ago)
- Removed most BPLxDAT related hacks, they become obsolete after b2 BPLCON1 update (it also changed
how data gets moved to shift registers). May introduce new glitches and if it does, it needs
correct emulation updates, not hacks.
Beta 2:
- BPLCON1 mid scan line modifications now should match real hardware 100%.
This was very big change, old emulation was functionally close enough but very far from real
hardware behavior. Old code couldn't emulate some side-effects correctly.
- Partial/full scanline based mode ("SPEEDUP") is again used more regularly, "is it safe to use" check
got partially broken during 2.7.0 betas. It is also more optimal in AGA 32/64-bit fetch modes.
- AGA border sprite in right border and 2x or 4x horizontal sprite pixels (vs bitplane pixels): sprite's
rightmost pixel(s) were missing.
- Superhires and top or bottom border sprite: graphics garbage was seen in border area, memory
corruption was also possible in some situations.
- Magic mouse + mousehack mode now always stops keyboard input when mouse is outside of emulation
window, even if window still has focus.
- 68020/030 CAAR register preserves also all reserved bits.
- Disable JIT if config has 68000/010 CPU and non-zero JIT cache size.
- 68020 CE broke interrupt state fetch, interrupt didn't clear if write to INTREQ was immediately
followed by RTE. (b1)
- Does not anymore require SSE2 capable CPU (b1 did)
Beta 1:
Lots of small blitter, copper and CPU timing adjustments. (Thanks to amilo3438 for collecting huge amounts
of demo test cases). Lots of logic analyzer tests done during last few weeks.
Custom chipset and 68000 CPU should be now 100% cycle-exact!
Note that it does not yet means glitch free programs:
- Blitter behavior when register modified while active is still mostly unknown.
- Bitplane delays (BPLCON1) are not fully cycle-exact (Psycho Medium IV / Turnips does horizontal
scaling effect differently than any other demo I have seen)
- Reading write-only custom registers is not fully known.
Huge changelog, mostly technical stuff.
- Setting blitter channel mode to D only from D + any other channel(s) combination when blitter was active
caused blitter emulation to repeat D write until BLTSIZE was written again. (Sinemania / Latex)
- Blitter was not fully synced with bitplane DMA. When CPU had nothing to do (waiting for memory fetch or had
long internal operation executing), blitter and bitplane DMA was emulated in separate passes. Optimization
which is not that good idea in cycle-exact modes. Fixes glitches in most demos with vertical "copper" bars.
- "Blitter: D-channel without nothing to do?" can happen if program changes channel mode on the fly from D to AD,
do not cancel blit in this situation. (Just Another Compilation / Magnetic Fields)
- Blitter's last idle cycle before final D write does not require free bus cycle. Exception: it needs to be
free if it is extra cycle added in fill mode. (Lets Rave / Profecy, CrazyWorld / Dioxide)
- D-only blit didn't set blitter finished state early enough. Blitter finished bit is set, in normal mode,
after second to last D write is done, not when blitter pipeline is empty and final D is written. (Bob demo / D-Mob)
- Blitter line mode timing updates, blit finished bit gets set immediately when last D write has been done
but copper waiting for blitter needs 4 extra cycles and they don't need to be free cycles.
I assume these 4 extra cycles are same as non-line mode 2 extra cycles + line mode forcing blitter to
use only every other cycle. (Matches logic analyzer results but this is not easy to 100% confirm)
- Writing to blitter pointer register 1 cycle before same blitter channel is used for DMA fetch: written
value is ignored, pointer does not change. Cycle exact mode only.
(Rampage / TEK music corruption in Credits and Acknowledgements part, corrupted when landscape part started)
- Blitter not in nasty mode: idle cycles (that are usable by CPU) incorrectly counted as "CPU waits for bus".
- Blit without D-channel active in cycle-exact mode: final cycle still used D channel. (Oops..)
- When copper was stopped by writing to both COPxJMP registers while DMA was also disabled, it incorrectly was
set to strobed state if yet another COPxJMP access was done with DMA still being disabled.
- Emulated quite weird copper feature, if second cycle of copjmp strobe cycle sequence would cross scanlines
(positioned immediately after first strobe/refresh slot), it will disappear! (Psycho Medium 4 / Turnips)
- New undocumented feature: bitplane DMA and sprite DMA is inhibited during last line of field.
(A500 logic analyzer confirmed, no difference between OCS or ECS)
- DDFSTOP > maxhpos causing full horizontal overscan DMA (ECS only) improved. (Child's Play 1 / Silicon Ltd)
- "SWIV" bitplane feature was line based, now it is cycle-based. (No one has enabled or disabled it
mid-scanline, but at least emulation is more compatible now)
- If number of bitplanes decreases mid scanline, possible remaining data (BPLCON1 non-zero) in disabled planes'
shift registers must be shifted out. (Party Report / Escape & Outlaws)
- Optimized "SPEEDUP" bitplane emulation didn't copy last fetched data to BPLxDAT storage variable, causing
random glitches in other parts of display if program changed number of planes after DDFSTRT had matched.
(Plasma Explosion / Timex)
- Bitplane delay (BPLCON1) mid-scanline timing should be now 100% exact. (Psycho Medium IV / Turnips)
- Sprite update in 270b13 was wrong, should work better now, it broke Elfmania scoreboard.
- Modified interrupt delays, handle situation where (broken) program starts blitter with INTREQ already
set and blit finishes before next instruction clears it. (Absolute Inebriation / VD "big double glenz" part)
- Reset color registers only after hardware reset.
- It seems ECS Denise color palette is full white after power up but full black if OCS. (Small Intro / TWW)
- Reading byte from CIA address that has valid CIA A/B select bit but bit 0 inverted (Active 8 bits of
16-bit data bus not driven by CIAs) didn't read prefetch buffer contents in 68000 CE/prefetch mode.
(Copper Bandwagon / New Age)
- 68020 CE mode 6888x exceptions didn't skip instruction prefetch, broke for example KS 1.3 FPU detection.
- 68020 CE last prefetch word load after branch or exception used incorrect (too fast) non-ce fetch call.
- MSVC 2013 compiled, switched to fastcall calling convention.
- Added optional gameports panel setting: don't disable original key if it is mapped to keyboard joystick
emulation. Config file only, joyportXkeyboardoverride=false (X=port number).
- Added "delay <fields>" command to custom event strings. (for example "kbr 'a'" "delay 50" "kbr 'b'" will
send key 'a', wait 1 second (in PAL mode), send key 'b'. Multiple delayed custom events can be active at
the same time.
- Accept Draco Casablanca partition table identifier (CDSK instead of usual RDSK).
- 256k rom image inserted in floppy drive: mount as A1000 KICK disk, 512k rom image mounts as A3000
SuperKickstart disk (with 256k rom area empty and no bonus code included = useless for A3000 emulation)
- Resolution autoswitch was not compatible with new interlace scanline modes.
- Resolution autoswitch improved, instead of being boolean (on or off), now it can be configured for
percentage of resolution used, for example if value is about 10 or larger, and game has tiny hires scoreboard
and the rest is lores: lores will be selected. Value=1 emulates old behavior, use highest resolution if
there is even single line of hires or shres mode.
- Some Game Ports panel remap operations didn't work correctly if Input panel was set to "Configuration #1-#3"
- Automatically focus debugger window when debugger activates.
- Capture mouse after exiting debugger if it was captured when debugger was activated.
- Do not ask for extended ADF if program writes to disk using standard dos format and 1 or more sectors
have non-zero header data, add message to log and ignore sector header data. (Thrill Kill disk writing)
- Standard partition HDF zero or -1 dostype: force DOS\0.
- <= 512M partition hardfiles had IDE-like geometry if it didn't have OFS or FFS filesystem.
- Always mount all non-CDROM SCSI devices if uaescsi.device is enabled and SCSI mode is SPTI.
- More readable crash dump file naming, 64-build dump file support added.
- Mouse driver mode + magic mouse lost mouse buttons when WinUAE window focus was lost.
- RTG mode + Aspect ratio not default or automatic + Scale if smaller set: screen was very narrow.
- DMA debugger blitter color changed, now normal blit, fill blit and line blits are different enough.
- Arcadia support synced with MAME 0.152 (ar_xxxx.zip rom images), missing bios roms and games added.
Old rom files not supported. Note that Arcadia is NTSC, new bios 4.00 hangs in PAL mode. ROM rescan
required to detect new files.
Some 68000 emulation cycle usage fixes and logic analyzer tests.
- JSR and JMP (d8,PC,Xn) or (d8,An,Xn) addressing modes did one unneeded prefetch.
- MOVE from SR was too fast if destination was memory (68000 does memory write twice for some reason)
- SR/CCR modification instructions always do full prefetch fill.
- (d8,PC,Xn) and (d8,An,Xn) addressing modes have idle cycle before first prefetch, not after.
- CMP.X #imm,EA where EA = -(a0) or (d8,An,Xn) didn't have extra idle cycle.
- Logic analyzer rechecked and updated exception initialization times. (Some were 2 cycles too fast)
- DIVU/DIVS cycle count algorithm had prefetch included: division operations were always 4 cycles too slow.
2.7.0
- If Picasso IV flash image is not found, show also link where to download it from.
Beta 16: (RC1)
- Z3 RTG base address was not adjusted if Processor Slot RAM was 128M.
- Writing to high BPL pointer when next cycle does same bitplane number DMA fetch: old address is
used for fetch. (Powertrax / The Light Circle graphics glitch)
- Added workaround for Windows 8.1 bug, after SetCursorPos() call WM_MOUSEMOVE returns new coordinate
as expected, then comes single message with old coordinate (this shouldn't happen) before it works
correctly again. This fixes "Windows mouse" jumping ~50 pixels while moving the mouse. Rawinput HID
mouse is not affected by this bug. (No, KB2908279 does not fix it, I guess working fix will be released someday)
- "Install mouse driver" + RTG mode has been unusable since 2600b1.
- Re-enabled "CIA TOD bug" by default but only in A500-like modes.
- Built-in HRTMon updated to 2.35
- Built-in AROS ROM updated. Added memory hack, bootup structures are allocated from hidden memory pool
(located at 0xa80000-0xb80000, automatically enabled if built-in AROS rom is in use), when AROS starts
booting from disk or HD, hidden pool is marked as full and all following allocations come from normal RAM.
Now even 512k chip only config will boot and work with AROS rom replacement. Hack only used if CPU has 24-bit
address bus. (68000/68010/68EC020).
Beta 15:
- Removing directory harddrives on the fly crashed in some situations.
- Interlace with black lines ("fields+") didn't always work correctly.
- Only allow GUI mininize button if emulation has not yet been started, minimizing GUI when emulation window
is open only causes problems..
- Copper debugger (od) shows when blit waiting WAIT ends and also stores copper instruction words when
copper fetched them, shows '!' if words have changed since copper fetched them. (Previously it was possible
to see copper list in state that makes no sense if program modified it after copper executed it)
- Add 16M to Z3 start address if Processor slot RAM is set to 128M, prevents KS RAM detection to confuse Z3
board as being part of Processor Slot RAM.
- Cirrus Logic graphics board enabled but inactive and refresh set to Chipset slowed down emulation.
- Sprite stuck in non-DMA mode was not correctly restored from statefile. (Has never worked previously)
- Adjusted programmed refresh rate blanking start and end position calculations.
Beta 14:
- GUI didn't work in fullscreen modes.
- Input panel lost all keyboard events (not even Test button accepted any key presses) in some situations,
already non-working config files can't be fixed. Older bug.
- New frames interlace mode (without blacklines) now only redraws changed lines.
- 68040 without FPU: unimplemented FPU exception used wrong exception vector.
- 68020+ DIVL div-by-zero exception in cycle-exact mode didn't skip prefetch phase.
- Do not set lightpen triggered state when BPLCON0 lightpen bit is set unless lightpen is also configured
in gameports or input panel.
- Fixed crash if disabled keyboard had (old) gameport mappings.
- Autoscale size change comparison used wrong value (width, not height) causing slow down, forced config
change check every frame.
- Added configurable directory filesystem file/directory name length limit, currently config file only,
filesys_max_name_length=x, files and dirs with longer names are not seen in Amiga-side (directory operations only)
- Really fixed sound sync timing issue, partly introduced in b1 and b13.
Beta 13:
- Standard partition hardfile OFS filesystem check was broken (2.6.1)
- Adjusted sprite xpos == hpos check. (Shed Tears / Ozone scroller)
- 64-bit build didn't load portaudio dll.
- GUI window minimize button worked strangely when emulation window was open.
- Added new interlace emulation modes, first new is same as old one but display is updated every field
(Old doubling updated every frame) and another that does same and also blanks every other line.
- Added separate non-laced and lace doubling modes to GUI. (Better labels needed, but there is no space)
- Sound timing calculation wasn't updated to match new long/short field/interlace display emulation timing (b1).
Beta 12:
- AROS rom memory mapping fixed (b1).
- RTG mode video recording image size was accidentally restricted to native chipset size.
- Ignore VPOSW writes if it would move vertical position backwards or if vpos is changed during vertical
blanking and new value is also inside vblank period. (Prevents strange behavior if program tries to
do weird things)
- Added minimize button to GUI window.
- 68000 CE ADDA.x/SUBA.x Rn,An was 2 cycles too fast.
- DIVS/DIVU prefetch is after division operation, not before like with MULS/MULU.
- Adjusted data returned when accessing non-existing memory.
- New Wix based installer test version included. Remove old installation first.
Beta 11:
- 68000/010 CPU core merge accidentally removed 68000 CLR to memory and Scc to memory dummy read
-modify-write behavior.
- Sometimes after autoswitch (unconfigured mouse left button press) mouse was configured correctly
but mouse input was kept disabled.
- Using stick/dpad to autoswitch now requires move, release, move inside 0.5s window to prevent
accidental switches.
- Some more autoswitch bugs fixed.
- Switching bitplane DMA on just before DDFSTRT handling improved. (Sargon Megademo "Shir Khan" part)
- 68030 + more compatible without cycle-exact was unstable.
- Flush 68020/030 caches and refill prefetch buffers when switching CPU modes (cycle-exact/more compatible)
on the fly.
- 68020 cycle-exact improvements.
- Bitplane graphics was horizontally shifted if program switched from lores to hires less than 4 cycles
before bitplane DMA starts. (Chipset emulation was correct but drawing code saw invalid lores to hires
switch)
- Stupid code fixed in CD image audio code that coud cause random crashes.
- CD image audio start was delayed if audio was compressed (zip/mp3/flac/whatever) and start position
was at the very end of previous track.
Beta 10:
- B8 Blerkenwiegel workaround caused buffer overflows in some situations. Fix improved.
- MoreNewStuffy fix (231b11) was not complete, non-modulo bitplane DMA fetches work
differently than modulo adding DMA fetches. (Alpha and Omega / PMC)
- Also above behavior seems to only happen with first plane fetch. (New and Better Routines / Cult)
This needs more testing, someday..
- '?' disk info button now opens normal dialog window, disk label also included (if dos disk) and
type of bootblock (1.x standard, 2.x+ standard, custom)
- When loading config that has 2 identical game controllers configured in both ports and only one
controller is connected, connected controller was inserted in both ports.
- GamePorts panel port change behavior improved, if new device is already inserted in other port,
device in other port is now always automatically changed, not the one you just changed.
- When clicking mouse that is not inserted in either Amiga port and host system has only one mouse
connected, "Windows mouse" is inserted, not HID mouse.
- 68020 more compatible without cycle-exact works again and also uses new 68020 CE prefetch method.
- 68010 is now supported in more compatible and cycle-exact modes. New instructions supported and
new stack frames emulated but timing is same as 68000, 68010 special timing improvements and loop
mode is not emulated. At least not yet.
- 68010 emulation used some 68020+ only exception stack frames.
- FPU emulator now properly uses prefetch buffer emulation if more compatible or cycle-exact is
enabled. Emulated program crashed in older versions with some FPU instructions.
- On the fly switching from fastest possible to prefetch ("more compatible") or CE didn't fill
prefetch buffers and usually caused emulated program to crash.
- Added "Log window" checkbox to Paths panel, easier non-command line method to open log window.
- On the fly change of A1000 Agnus or No-EHB Denise Advanced chipset didn't do anything.
- A1000 Agnus and vertical bitplane start (DIWSTRT) of zero: nothing happens, bitplanes are
only enabled if it is 1 or larger.
Beta 9:
NOTE: 68020 CE mode should be usable again.
- Added CIA tod bug option to Advanced chipset. Demo The end / Trilobit running under
KS 1.3 has corruption in "photos" part if tod alarm bug is not emulated. KS 1.3 + real A500
does not have corruption. (I don't understand what is going on, some programs require this bug,
some will hang if it is emulated. There has to be some unknown variable.)
- Writing to DIWSTOP during mid scanline and new value matches current vertical line:
bitplane DMA fetches stop. Fixes Demo Starflight / Phenomena, OCS only.
Interestingly ECS DMA fetches restart when DDFSTOP matches, causing scroller to jump horizontally.
- Writing to BPLxMOD exactly one cycle before bitplane fetch that also adds modulos
uses old modulo value. (Copper Slave / Ram Jam)
- Mouse was uncaptured when switching from non-fullwindow to fullwindow mode.
- b8 hires unaligned check removed, it was wrong, logic analyzer confirmed.
- CMPA idle cycle was 2 cycles too slow in 68000 CE mode.
- Tape read command returned size of read request, not actual length which may be smaller than request size.
- OCS/ECS "7-planes" feature got broken in b8.
- HAM mode double pass display emulation's first pass didn't reset colors back to original before
second pass. (Animotion / Phenomena)
- New memwatchpoint code didn't work with CIA registers.
- Log message if bitplane DMA ends at 0xe2 (can happen if start position is unaligned enough), this causes
odd looking corruption on real hardware. (each scanline has random looking few pixels shift). Previously
only DMA that ended at the start of next scanline were logged.
- Sprite vertical start == sprite DMA first line won't enable sprites. (Ultrademo #1 / The Link)
- If windowed mode was reset (for example RTG to custom chipset mode change) and mouse was not captured
but window had focus: input got disabled, extra mouse click was required to enable input.
- Copper cycles were emulated too early before bitplane DMA decisions, copper might have used
cycle reserved for bitplane DMA in some situations.
- Added "?" buttons to floppy GUIs. Current implementation is very lazy, few lines of information,
boot block contents and it opens in default text editor.
- Limit VPOSW refresh rate display size changes to sane values, min display size is 256 lines and max
is not allowed outside PAL size. Reduces flickering if program does something really weird or stupid
with VPOSW.
Second 68EC020 cycle-exact emulation rewrite. Timing may not be much better but cycle usage emulation
should be much more closer to real hardware. (This needs logic analyzer check but I don't have
all required hardware yet)
Lots of work left to do but at least it should not be any worse than old code and it also should be
much more accurate now when code has small loops (for example stupid CPU delays).
If there are no demos or games that break or run really badly compared to 2.6.1, this is not anymore
showstopper for 2.7.0 release.
NOTE: 68030 can queue data memory accesses, this is not yet emulated.
Beta 8:
NOTE: Still no 68020/030 CE mode changes. Do not use.
- Added CD32 MPEG ROM 40.22 (part number 391777-01) to ROM scanner.
- GUI 1x/2x/4x/custom CPU speed setting showed incorrect selection (b7)
- Added "I am Windows 8.1 compatible" manifest entry.
- Workaround for Blerkenwiegel/Scoopex breakage (261b1). May cause side-effects.
- 68000 mode "CPU trace" state file restore errors should be gone (270b4)
- 260b15 sprite update off-by-one fix. (Missing vertical sprite line in Prurient/Rebels and others)
- Enabling hires bitplanes (by writing to BPLCON0 or enabling DMA) during first 4 hires
fetch units didn't wait for next complete fetch unit block (should have skipped next 4
"unaligned" hires fetch units) causing shifted graphics. Partially fixes RAF Megademo
single line of shifted scroller in vector part.
- Short horizontal line of incorrect graphics was visible in some very rare situations,
internal buffer was not correctly cleared. (SillyScroller / Phenomena)
- ATAPI MODE SENSE (10) returned too much data if request size was small enough.
- Return INVALID COMMAND error if ATAPI and command was MODE SENSE (6). ATAPI only supports
10 byte variant of MODE SENSE.
- Added SEEK(6) and SEEK(10) commands to SCSI CD emulation.
- Some decompression formats (at least lha) were not compatible with file type detection.
(for example lha containing executable didn't mount as a floppy image)
- BTST Dn,#data was accidentally marked as invalid addressing mode in b7.
- Power supply TOD counting accuracy was not that good in earlier update.
- 8-bit bmp screenshots were broken (Only created when capturing 8-bit RTG mode)
- Ignore window size changes if emulation window is minimized. Readjust size (if needed) when unminimized.
- Picasso IV flifi/VGA output enable logic tweak (Linux Cirrus Logic console)
Beta 7: READ NOTE BELOW BEFORE USING!
- SCSI UNIT ATTENTION/MEDIA MAY HAVE CHANGED clears when TEST UNIT READY is executed, not
when UA status is read by using REQUEST SENSE. Fixes ATAPI CD disk change issues with
some AOS ATAPI drivers.
- Accessing real CD (or CD emulator) in non-SPTI mode returned read errors depending on what
kind of imaginary geometry IOCTL_CDROM_GET_DRIVE_GEOMETRY returned.
- Memory bank change (reset) removed new memwatch debugger watchpoints.
- Built-in lzx decompressor didn't always decompress last byte of file correctly...
- b4 drive spinup update change: also don't enumerate drives if new config entry is found but
drive path fails to open and returns "not found" error (for example USB card reader not connected)
- When switching from RTG to native fullscreen or vice versa, re-open fullscreen mode if number
of backbuffers, selected monitor, refreshrate or vsync mode is different.
- New adf or hdf path was not converted to relative in relative path mode.
- Added VID 0x79d, PID 0x0201 ("USB ADAPTOR") analog joystick to USB adapter to rawinput blacklist.
- "Error log" button becomes visible in bottom part of GUI if any kind of config error was detected
or config required fixing, for example directory or harddrive failed to open, attempting to enable
Z3 fast with 24-bit address space CPU etc. (Currently many messages can be confusing and not all
important messages are enabled)
- Tape drive LOAD/UNLOAD SCSI command fix, error message during Amix 2.1 retension tape command.
- Picasso IV in Z2 mode + Z2 Fast RAM enabled used incorrect internal memory mapping
(missing graphics etc..)
- Only call D3D SetMaximumFrameLatency() when buffer flipping mode is immediate. Vsync waited flipping
caused major slowdown if emulation created frames faster than current display refresh rate.
- Increased "CPU slot" Max RAM size from 64M to 128M.
- Removed 68040+ "cycle-exact" support. It was useless and does not fit in new 68020/030 ce handling
without creating new CPU emulation core.
- Added 68020 and 68030 instruction cache dump command to debugger ("rc"). * = data valid.
- JIT + more compatible problem fixed.
!IMPORTANT NOTE!
Following is work in progress. Do not use 68020/030 cycle-exact modes. Timing is broken. Other modes work fine.
- Added 68030 manual head/tail/clocks timing values to table68k, gencpu automatically calculates
final values for 68020 (=68030 + 1 wait state added) and 68030 cores using table68k values and
EA timing formulas. Only includes 680x0 common instruction so far, 68020+ only instructions and
addressing modes and rarely used instructions do not have cycle-exact timing yet.
Beta 6:
- Enabled Cirrus Logic RTG VRAM size configuration. CL VRAM memory bank setups used by VRAM size
detection code is now (partially) emulated, should be enough to support CGX and Picasso96.
- Fixed crash that usually happened when system was reset and if it caused immediate PAL/NTSC
mode change. (2.5 or 2.6 bug)
- Removed some dead JIT code, "afterPic" and "indirectKS" comptrustxxx parameters that haven't been
used for ages.
- JIT MOVEM used direct mode if memory was direct capable but direct mode was disabled.
- Picasso IV VRAM is now always (*) in JIT indirect access mode. It can't be made JIT Direct compatible
due to multiple banks. Also P4 Z2 CGX 15/16 bit mode has graphics corruption if JIT Direct is enabled
because of JIT issue that can't be fixed. If same code is used to copy data from RAM and it is later
used to copy data from VRAM, there is no way for JIT to detect that it should recompile it and
use indirect mode instead of (incorrect for this bank) JIT direct mode. Other boards are very
simple and can support JIT direct VRAM access.
- *) P4 Z3 mode includes now a hack that makes it JIT direct compatible. At least it seems to work..
- Cirrus emulation large basic copy blits are now 4x faster. (P96Speed horiz/vert scroll tests are not
extremely slow anymore)
Beta 5:
- Spectrum 28/24 official name is EGS-28/24 Spectrum.
- Stupid bug in b4 CD image update. Some CD32 games refused to play first audio track.
- Some CUE images with both INDEX0 and INDEX1 and audio tracks in separate files may have played 1-2
seconds of previous track when starting CD audio.
- Added partial support for non-direct JIT only memory mapping support that allows Z3 boards in their
original non-hacked OS chosen base address (0x40000000-> vs 0x10000000->). Not available yet.
- More old 68020 CE state files load now but note that it is impossible to support all of them with new
emulation code.
- Some 68020 CE mode timing tweaks.
- Emulate Picasso IV byteswapped VRAM bank (5446 CL chip feature) Fixes CGX 15/16 bit modes.
- Cirrus Logic blitter emulation bug fixed (Inversion + Color expansion + Transparency combination uses
foreground color, there is no background vs foreground swapping like in all other inverted modes)
Fixes graphics glitches in Picasso IV 24-bit Picasso96 modes.
Beta 4:
- Picasso IV RTG board emulation implemented. Very important information:
- Requires full 128k raw flash rom image, available from
http://www.sophisticated-development.de/ (PIV_FlashImageXX), renamed as picasso_iv_flash.rom
- Does not use rom scanner system, image file must be located in Paths panel configured rom path.
- Very big thanks to Tobias Seiler for answering questions about board's hardware implementation.
- Do not bother Tobias (or anyone else) who does not develop UAE with Picasso IV emulation problems.
- Only implements basic functionality, flifi or other extra stuff is not emulated.
- Real Picasso IV uses flifi when displaying Amiga modes, emulation ignores it and simply displays
Amiga modes normally.
- Picasso96 and CGX4 confirmed working.
- Piccolo autoconfig size change reverted, problem appears to be caused by EGS 7.4 driver bug.
- >1024 pixel tall interlace mode fix.
- CL vertical blank handling fixed, it caused spurious interrupts in some situations.
- uaegfx driver was enabled if on-disk version was loaded and hardware board emulation was configured.
- CIA TOD counting delay emulated. Time between TICK input going active and TOD increasing has
14-16 E-clock cycle delay. Logic analyzer confirmed using ALARM interrupt.
- Disabled CIA TOD bug emulation. It makes no sense, I have AGA program that refuses to work on
my real A1200 (Gets unexpected interrupt and crashes) but there is no way it didn't work 20
or so years ago..
- Workaround for hard drive enumeration waking up sleeping drives if one or more harddrives are
mounted in configuration and emulation is started. To enable it, all configured real harddrives
(or memory cards) need to be re-configured using GUI and config saved to create new config field
required to find the drive without enumeration. Falls back to full enumeration if drive's "friendly"
name does not match config saved value or new config entry is missing.
- Simplified CIA interrupt handling, removed some old hack which appears to be obsolete. I hope.
- Added CPU interrupt level information to visual DMA debugger. Each scanline has extra pixel on left side
of DMA usage image that shows scanline's highest CPU interrupt level.
- Rewritten 68020/030 cycle-exact emulation core. Emulates 68020 simultaneous bus controller and
instruction execution more accurately. It still runs too fast, but at least it is less fast than
previously, still lots of tweaking to do but at least now it should be possible to match real 68020
more closely than what was possible with old code.
- 68020/030 CPU emulation updates, prefetch emulation (also used in cycle-exact mode) should be much
more compatible, "more compatible" checked without cycle-exact now also includes instruction cache emulation.
- 68030+ more compatible (prefetch) and 68040+ "cycle-exact" modes are broken temporarily. Do not use.
- Restoring old 68020 cycle-exact saved state files may show dialog complaining about mismatched state
information and restore may also fail. It is normal, will be fixed later.
- Cycle-exact CPU accesses to AGA custom registers used 32-bit accesses, not 16-bit.
- b3 .cue decoding update broke some variants, fixed.
- Added workaround for Windows returning returning invalid (too small) value when asking for
ACM_METRIC_MAX_SIZE_FORMAT. (Output panel crashing)
Beta 3:
- Disable Z3 Cirrus Logic RTG board if 24-bit address space.
- Hard reset and CL board enabled crashed.
- Added Chipset/RTG screen toggle input event ("Toggle chipset/RTG screen"). Only works when RTG mode is active,
supports both Cirrus Logic emulation and uaegfx. NOTE: temporarily also hardwired to END + F9.
- VGA planar modes (<=16 colors) work now.
- VGA text modes confirmed working (NetBSD and OpenBSD enable VGA console automatically if supported board detected)
- Piccolo appears to have 4M address space (VRAM alias). Fixes EGS 7.4 graphics bugs and missing mouse cursor.
- >1024 pixel tall modes work now correctly, including cursor vertical positioning (see below).
- GD542x documentation says hardware cursor can't be used if "Multiply Vertical Registers by Two" bit is set
(allows >1024 pixel tall modes, wasn't emulated in original qemu code) unless chip is GD5429 or later. But
CGX4 does use it with boards that only had GD5426 or GD5428. I guess it only happens when cgxmode is used
to create impossible modes that no real monitor or chip can support...
- Added misc panel "Hide all UAE autoconfig boards" option. It deletes all UAE-only autoconfig
board ConfigDev nodes in ExpansionBase.
- Rewritten .cue decoding, some CD images with audio tracks had incorrect audio positioning,
for example Tie Break Tennis CDTV and Falcon CDTV.
- Log also physical/virtual CD drive track information.
- CIA-A vsync TOD counting is now cycle-exact. (if cycle values in Commodore's Agnus sync pulse timing sheet
are correct, they appear to be because it is standard PAL/NTSC)
- CIA-B hsync TOD counting is also positioned cycle-exactly now (end of hsync pulse), was at the start of
scanline previously.
- SPTI didn't work, SCSI routing got broken when Tape drive support was added.
Beta 2:
- Fixed Piccolo SD64 Z2 wrong address space size.
- Piccolo is Z2/Z3 board.
- Fixed Z3 board subsize.
- Improved QEMU CL emulation glue code, VRAM banking/offsets supported.
- Some modes had invisible hardware sprite (mouse cursor).
- Implemented Piccolo/SD64/Spectrum vblank interrupts. Picasso96 won't hang anymore.
- Reset didn't reset all necessary graphics board variables.
- Force 32-bit host display mode if byteswapped board is selected (Any board except PicassoII/II+)
Cirrus Logic emulation code supports byteswapping only in 32-bit mode.
- Note: Most VGA planar modes (16 colors or less) are not working. Includes also mouse cursor.
- Rewritten memory bank handling, moved all memory variables (start address, mask, size, etc)
to addrbank stucture. Standard RAM bank code duplication replaced with macros.
- Debugger memwatch points now also detect hits in aliased addresses and only bank(s) that have
watched addresses are redirected to debugger.
- CDTV SCSI option works again.
- Some uaenet.device improvements.
- It was not possible to write to Amithlon-style partitions.
- 5:4 aspect ratio had disappeared.
- CIA-A TOD counts (if vsync timed) on line 5 (PAL) or line 6 (NTSC), not line 0.
(This is not 100% accurate yet, horizontal position is still wrong, will be
improved in later betas)
- Installer update also coming, will be built with WiX (msi installer).
Beta 1:
- Hardware Cirrus Logic based SVGA Zorro II/III RTG board emulation.
- SLIRP user mode NAT emulation.
- Added SCSI tape emulation. Amix tape based install works, also tested with
Quarterback and Diavolo.
- lua scripting support added from fs-uae. Very minimal at the moment.
- SCSI HD/CD/TAPE statefile compatibility improved.
- SCSI emulation compatibility improved, Amix use of WD Select and Transfer
used wrong data size when direction was from WD to device and command was not
write command, for example MODE SELECT.
- Show custom chip mode as interlace/not interlaced decision now more closely matches
real hardware behavior. (No, it isn't as simple as BPLCON0 LACE bit set/not set)
- Show also device type (HDF, CD, TAPE) in Harddrives panel.
- Joystick axis dead-zone fix, wired xbox 360 d-pad missed events, it didn't affect
wireless version. (261b2)
- Top and/or bottom border showed graphics garbage if AGA sprites outside of bitplane
area feature was enabled and in use and screen mode was HAM. (Tint / Black Lotus)
- Dragging and dropping archive/file to WB tried (unsuccesfully) replace already
existing normal directory harddrive if dropped file and directory harddrive had same
base path.
- Renamed CPU cycle exact speed multipliers and added 1x speed (1:1 CPU/DMA clock sync)
- It was impossible to select RTG aspect ratio select box Automatic value.
- Display panel depth select box was not updated if new resolution had more or less
depth choices than previously selected resolution.
- Mouse was captured even if "Start mouse uncaptured" was ticked and booting to RTG mode.
- Amiga side does not anymore see .lnk extension if it is valid Windows shortcut softlink.
- Enabling JIT for the first time in GUI now always forces JIT Direct mode.
- If blitter was started one cycle before final D write (Cycle which is always unused by
blitter), new blit's 2 cycle startup incorrectly accepted DMA cycles that were not free.
(Day of Reckoning / Digital)
- Bitplane DMA incorrectly stole sprite DMA in some situations (Plastic Passion / Upfront)
- Sync clock when resuming from sleep/hibernate (if clock sync option is ticked)
SLIRP notes:
- Available for A2065 and uaenet.device (uaenet unit 0 = slirp, 1 = first WinPCap device)
- Does not need any drivers, uses normal WinSock API.
- NAT, outbound connections only.
- TCP and UDP only (no ICMP or other ethernet frame types)
- DHCP supported.
- Manual settings: IP 10.0.2.15, Gateway 10.0.2.2, DNS 10.0.2.3, Mask 255.255.255.0.
Hardware graphics board emulation notes:
- Currently emulates following Cirrus Logic GD542X/543X based boards:
- Picasso II
- Picasso II+
- Piccolo
- Piccolo SD 64 (Zorro II and III)
- Spectrum 28/24 (Zorro II and III)
- Picasso IV may be implemented in future.
- Uses QEMU Cirrus Logic SVGA graphics chip emulation.
- Picasso 96 and CyberGraphX v4 tested.
- Works with non-AmigaOS operating systems that don't support UAEGFX RTG board.
- Vertical blank timing uses GUI configured refresh rate value, display sync settings programmed
to VGA chip are completely ignored.
- Only single VRAM size supported which is hardware supported max VRAM. Smaller VRAM requires
emulating of VRAM aliasing and banking stuff that drivers use for VRAM size detection. It would
become too Direct mode JIT unfriendly. Future "more compatible but slower" option is possible.
SCSI Tape notes:
- Tape path can point to directory, archive or plain file.
- Directory: all files in directory are included in virtual tape, ordered in whatever
order OS returns the directory (unless index.tape is found), emulated file mark
is between each file. Subdirectories are ignored.
- Archive: All files in archive are included, including subdirectories.
- Plain single file: tape only contains selected single file.
- If directory or archive and index.tape is found, it is assumed to contain order of
files in virtual tape, plain file name strings separated by line feeds.
- Writing is also supported if path points to a directory. Creates files named
xxxxx.tape where xxxxx is file number.
- Tape ERASE command only deletes files that have extension .tape to prevent
accidental data loss. Subdirectories are also ignored.
- Can be connected to SCSI hardware emulation (SCSI0-6) or uaescsi.device (UAE),
uaescsi.device unit number is always 4 or larger (if 4 was already used by
some CD device).
- Tape change on the fly is supported.
lua scripting:
- very minimal and basic at the moment.
- lua=<path to script> in config file, multiple files supported.
- lua/default.lua is loaded by default.
- supported UAE-specific functions:
uae_log, uae_read_u8, uae_read_u16, uae_peek_u16, uae_write_u8, uae_write_u16
uae_read_config, uae_write_config.
- lua functions:
on_uae_vsync (every vsync)
on_uae_config_changed (any config value has changed)
2.6.1
Beta 4:
- Added new level between pre and post shaders (0 in GUI, selected by default) which
works exactly like pre-2.6.0 versions. Some shaders (hq2x for example) requires
input texture in original Amiga display resolution and output texture in final
output resolution or result will be quite crappy. D3D h2x really works again.
- Some on the fly graphics config settings (uae-configuration) reset RTG state.
- RTG screen mode selection in Display panel wasn't active if Z2 RTG was enabled.
- AROS ROM updated.
Beta 3:
- Direct3D hq2x shader filter should work correctly again. (2.6.0)
- 68040/060 MMU mode address error stack frame fixed. (Possibly only debuggers need this)
- 68030 MMU mode address error stack frame has correct format but it is not yet
recoverable. (I don't think address error recovery is used by any OS)
- FScc, FTRAP and FBcc didn't get FPU out of NULL state. (No one cares fix)
- extraframewait and framelatency command line parameters are also available via
config file (uses win32. prefix)
Beta 2:
- Moved >2M Chip RAM merge earlier in boot process. Previous was too late and it broke
early boot menu. (It sets reset proof resident positioned at the end of chip ram and
if chip ram is not available early enough, exec assumes resident is invalid and
ignores it). Now nearly complete unfragmented Chip RAM is available, even if booting
with Chip RAM only configuration.
- Do not filter all keyboard presses without matching releases, only filter repeats.
(Which isn't that simple because press and repeating press are identical events)
- Inverted keyboard releases (=press) required matching release before next press
event was accepted. (This update wasn't really needed but maybe in future it will
be more useful)
- Added separate 68060 unimplemented integer emulation checkbox. More compatible
should only enable/disable prefetch emulation. (approximate/partial or 68000 exact)
- 68060 MOVEP was not marked as unimplemented.
- Non-prefetch CPU mode now fully checks if memory disappears after reset by
checking memory "bank" pointers instead of using hardcoded addresses. Program
doing software reset by executing RESET + JMP (An) now always works. (If opcode
is something else or PC points to non-existing memory for some reason, it assumes
program attempted normal software reset and jumps to start of ROM code). Makes
aros arosbootstrap softkick more reliable under emulation.
- Tree view "Hard drives" -> "CD & Hard drives"
- Delay 68020+ interrupt detection by one instruction unless cycle exact is enabled.
(For example Skeleton Krew CD32 first enables interrupt and then updates interrupt
vector. Game code even guarantees request is active while enabling interrupts..)
- 68040 MMU PTEST and 68060 MMU PLPA instructions were shown incorrectly by debugger.
(Read was shown as write and vice versa. Emulation was working fine)
Beta 1:
- KS 1.3 OFS hardfile fix. Apparently 1.3 L:FastFileSystem does not support OFS.
Use ROM built-in FS if OFS partition and hardfile FileSys path is empty. (2.6.0)
- Added emulation of unimplemented FPU instruction exceptions.
New FPU "Unimplemented emu" option added to GUI: ticked = emulate all instructions
(old behavior), Unticked = instructions not emulated, unimplemented instructions
generate exceptions:
6888x: S or D variants are not supported (FSADD, FDADD etc..), 68040/060 only.
68040: usual removed instructions and FINT/FINTZ
68060: usual removed instructions, FTRAP, FDBcc and FScc. FINT and FINTZ are back.
68040/060 unimplemented datatype (packed decimal) is still emulated normally because
unimplemented datatype exception requires special pre and post FPU-only exceptions.
(This is not guaranteed to be perfect, not that easy to test fully)
- Hardware/software reset didn't reset SCSI emulation fully.
- A3000 KS 1.4 scsi driver wasn't fully compatible with SCSI emulation, write command
got stuck in never ending loop. Only reads worked. (WD SCSI chip is quite flexible,
it allows multiple and very different ways to send and process SCSI commands)
- Non-prefetch CPU mode RESET/JMP (An) combination detection did only check if it was
located in chip ram, it didn't check Z2 Fast.
- Input panel Invert option added. Button and key presses become releases and vice versa.
Joystick and mouse (if relative) movement is inverted.
- winuaeenforcer aros m68k debug.library segtracker-like support added.
- Added Tf debugger command that lists FileSystem.resource contents.
- Added system memory list dump option to debugger ('Tm')
- Merge >2M chip RAM with original chip ram pool instead of creating new one.
- Bitplane data (usually horizontally repeating) was visible if sprites were visible
in border regions. (2.6.0)
- Do not emulate CIA TOD bug if MMU emulation is enabled, workaround for Amix boot hang.
(Until real problem is found)
2.6.0
Beta 21 (RC2)
- Ultimate Body Blows CD32 pad button problem fix. Hopefully this last minute update does not
break anything else...
Beta 20 (RC1) Final in few days:
- AROS ROM updated.
- DirectSound mode crashed if DS sound play cursor got stuck (which normally shouldn't happen)
Beta 19:
- Reduced internal display buffer memory usage, use MEM_TOP_DOWN VirtualAlloc() flag, this seems to
reduce Windows XP only memory reservation problems that cause mysterious crashes.
- GUI allowed cycle exact and JIT active at the same time.
Beta 18:
- If config (for example default.uae) has keyboard layout A/B/C selected, it will be remembered as default
keyboard layout for selected port, then if new config is loaded and it has non-existing device
(for example unplugged gamepad), port is configured for remembered default keyboard layout instead of always
defaulting to layout A.
- Patch stupid CD32 ROM CD drive detection CPU delay loop if configured for non-approximate CPU speed modes.
- Validate RTG blit parameters more carefully to prevent invalid memory accesses if program(s) do bad things.
- winuaeenforcer disassembly crashed due to recent debugger changes.
- B15 sprite emulation update caused graphics corruption if display window was "too wide". (Himalaya / Avalanche)
- Mention also Administrator privileges in real harddrive/memory card "block zero write failed" messages.
- Modified emulation of ddfstrt/ddfstop value pairs that cause display corruption on real hardware due
to bitplane dma being active too long and conflicting with refresh/strobe slots, prints log message.
Beta 17:
- One more IDE emulation fix, bogus extra write interrupt removed (I think this was accidentally introduced in some recent
update). For some reason all tested drivers seemed to ignore it but it also could have caused data corruption in worst case.
- Added support for very large resolutions (NV Surround/AMD Eyefinity), max is now 8192x8192 (from 3072x2048)
(I now have 3xVG248QE in portrait surround, 2d lightboost mode, GTX680 SLI. Debezeling still to do..)
- Display panel GUI didn't accept new selected resolution if previously loaded config had non-existing resolution.
- B16 didn't fix all glitches, yet another fix attempt. (Mindriot/Andromeda and more)
- Fixed sprite priorities in HAM mode (Thanks to Paradroid for this and right edge overscan test case)
- Added some uncommon aspect ratios to GUI aspect ratio select menus.
- Added new config entry "chipset_hacks" that is used to enable emulation of not fully known chipset features or bugs.
Bit 0 = emulate COPJMP/Blitter cycle conflict (Blitter DMA channel gets loaded with Copper address)
Bit 1 = emulate strange right edge overscan display shift if lores bitplane and scroll value is greater than 7.
DO NOT enable in your default configuration, these are not fully emulated and can and will break other programs!
Beta 16:
This beta should fix all strange display glitches introduced in previous 2.6 betas.
- New style filter mask config entry didn't load. (b6 or later)
- Improved mouse movement mapping in GamePorts panel remap window (It creates mouse movement mappings that makes sense..),
also implements 1s delay before next mouse movement is accepted in test/remap modes to reduce accidental events.
- Don't attempt to combine left/right->horizontal and up/down->vertical if remapping single event.
- Add select menu didn't include any "standard" device-specific events. (Incorrect filtering)
- DirectDraw + none filter was slow. (b7)
- Blitter changes in b12 still had some problems.
- "Subtle Shades" update was still broken, caused strange glitches in some situations.
- Left and right border was always fully blanked if scanline was in HAM mode.
- Low latency vsync + black frame insertion now always uses threaded vsync mode, normally was only used if fastest possible
CPU mode is in use (If you have 100Hz+ monitor, especially lightboost, your PC shouldn't be low end..), improves
stability. No buffer also supported but it can be unstable.
- Added "gfx_autoresolution_delay" config entry. Number of frames to wait before autoresolution mode changes, timeout will
always reset if mode change is detected during timeout countdown.
Beta 15:
- IDE emulation drive status bit fix (DRQ and BSY active at the same time), fixes data corruption if IDEFix was active. (b5).
- Added support for previously unemulated and undocumented feature, sprites can appear 1 lores pixel earlier than first bitplane pixel.
(First BPL1DAT access enables sprites immediately, only bitplanes need HRM documented delay).
This is not normally visible because horizontal DIWSTRT usually equals bitplane left edge.
Fixes "original" Rink-a-Dink/Lemon missing left white border in rotozoomer part.
- Do not use "8372 (Fat-hr) (agnushr),rev 5" VPOSR chipset id when config is ECS 2M chip RAM. This ID does not appear to exist in real world.
- Both bordersprite and borderblank active: sprites were incorrectly visible in upper and lower borders (241b13)
- Rewritten b4 "Subtle Shades" update, it was wrong and caused bad side-effects.
Beta 14:
- A3000 SCSI emulation crashed if no SCSI drives configured.
- Added previously config-file only master floppy write protection option to GUI misc panel.
- If Windows softlink or .lnk can't be opened (access denied) or has system attribute flag, handle it as a normal
file/directory, just like in older versions.
- DIVS/DIVL integer overflow crash fix (INT_MIN/-1 = an integer that does not exist, causes cpu overflow exception)
- GUI Add Hardfile added IDE or SCSI was mounted as a CDROM. (Worked if config was saved and then loaded again)
- Adjusted read-write-only-custom-register-side-effect in AGA mode. (Artificial Paradise / NGC missing loading screen, does
stupid bset #9,$dff104 which, depending on previous accesses, either writes $0200 or "random bits" OR $0200)
- Manually added custom addmem2 memory region config entry used addmem1's memory region..
- "Load From"/"Save From" buttons didn't change config name in window title.
Beta 13:
- Ignore vendor specific USB usage pages also in received USB HID packets, fixes for example Logitech Precision gamepad ghost button events.
- Fixed border sprite bug introduced in b12, border sprites should stay hidden if border blanking is also enabled.
- Black frame insertion is now supported in legacy vsync D3D 100Hz+ modes. DirectDraw modes may also work.
- 68020+ cycle-exact CPU speed changed after entering and exiting GUI in some situations.
- Partition hardfile dragndrop didn't work.
- Automatically loaded ROM path FastFileSystem file always replaced FileSystem.resource FFS when mounting FFS partition hardfiles (b1).
- Blitter DMA disabled, writing to BLTSIZE, writing to other blitter register(s) and finally enabling blitter DMA appears
to start the blitter normally. (Pink Panther graphics corruption, probably worked accidentally in some old versions)
Beta 12:
- AGA border sprite feature emulation is now also cycle-exact. Similar update to borderblank was done in 2.5.0. For example
it was possible that sprites were hidden when border sprite bit was set and zero bit planes enabled.
(Noticed when doing some unrelated real hardware limit tests)
- Black frame insertion was incorrectly used (if enabled) in <100Hz fastest possible CPU modes.
- Horizontal blanking rewritten, should be more accurate now, programmed display modes only.
- Display emulation tweak, Super72 sprite display corruption is gone.
- Fixed bug introduced in b5, blitter emulation ignored DMA off state in cycle exact mode.
- Emulate DIV divide by zero undocumented flags when CPU >=68020. So far 68020 and 68060 tested and confirmed.
Odyssey / Alcatraz and 68020+ CPU does not anymore get stuck in part where spaceship flies above ground.
- CPU halted state didn't disable CPU interrupts.
Beta 11:
- Blank left and right border if programmed mode and part of original borders would be outside of programmed hsync start and end period.
- Address error exception always started debugger, forgotten debug option disabled.
- Added Ts debugger command, list all exec residents.
- Restoring state file with harddrives crashed in some situations. (broke with previous filesystem updates)
- CD32 TOC entries were transmitted too quickly due to missing check, correct speed would have been one entry per CD frame (75/sec),
not one entry per scanline. CD command buffer overflowed and driver detected CD as broken if CD had enough tracks.
Old bug, was mostly invisible until 2.5.0 Universe TOC fix. (Super Street Fighter II Turbo and others CDs with lots of tracks)
- IDE emulation ignored optional forced physical cylinder number setting in config file.
- Both hires and superhires bits in BPLCON0 set: superhires mode active.
- 100Hz+ black frame insertion is now optional, setting in Misc panel. (Still D3D/low latency vsync only)
- GamePorts panel test/remap improved
- Implemented custom event add option. Select event from select box and click "Add", then press any button/key/etc to map it.
- Added event will be automatically removed if it does not have any mapped events (Works differently than normal events)
- Loading config file that has GamePorts panel custom added events using older version is not supported.
Beta 10:
- SCSI CD MODE SENSE emulation fixes.
- SCSI CD Write commands should return unknown command error, it is not a CD writer.
- SCSI CD and HD: return correct sense code if Read or Write command tries to access out of bounds LBAs.
- SCSI/ATAPI CD: return medium changed unit attention sense data after media change.
- OCS and ECS Denise/AGA have slightly different behavior when program writes to BPL1DAT to enable sprites
before DDFSTRT (sort of AGA bordersprite option), OCS: only works if hpos is large enough (~40+), ECS:
smaller limit (or no limit, didn't test).
- Soft link emulation improved.
- Directory filesystem ACTION_MAKE_LINK implemented, supports soft links only, creates shortcut (*.lnk) files.
- Entering GUI Harddrives panel removed image from internel CD image mounter if mounted as ATAPI or SCSI. (introduced few betas ago)
- Restructured blkdev.cpp unit handling.
- Sound autoswitching is disabled when AVI recording is active.
- Low latency vsync no buffer mode and doubled frames (100Hz+) was unstable.
- POTGO right button bit was temporarily and incorrectly active in some situations when loading state.
- D3D Low latency vsync in double and triple buffer double rate modes (100Hz+) now blank every other field to minimize "ghosting" effect.
Will be optional later. (http://www.blurbusters.com/ for more information)
- Added hack that prevents incorrectly triggering CIA alarm interrupts in non-cycle exact modes due to not that good KS timer.device
code. (It did not cause any problems, just wasted some emulated CPU time)
- Fixed memory corruption in exe to adf conversion code. (b1)
- GamePorts panel test/remap option rewritten.
- Test and Remap buttons combined.
- One or more events can be added.
- Events can be removed one by one.
- Non-key/joystick/mouse events (insert floppy, reset emulator etc..) can be added and removed. Not yet implemented.
- Doubleclick on input list will record single input event.
NOTE: Built-in (non-custom mode) events can not be edited, you need to start from scratch. (Click "Delete all")
Beta 9:
- 68000 NBCD didn't emulate undocumented V-flag behavior. (Probably forgotten long time ago because SBCD had correct
implementation)
- It was impossible to get out of halted CPU state in some situations.
- FDBcc and FScc 6888x FPU instructions without installed FPU returned wrong f-line exception PC field.
- Directory filesystem: emulate Windows shortcut (.lnk) files and symbolic links as Amiga side soft links.
Implements ACTION_READ_LINK. Works also across drives if shortcut/link target exists in any mounted directory harddrive.
Not guaranteed to be 100% correct implementation, Amiga softlinks are a bit strange.
Beta 8:
- CD SCSI emulation: implemented mode sense CD/DVD page code 0x2A. Used to detect drive capabilities, for example
if it can read or write CD-R, DVD-ROM or DVD-R and so on.
- SCSI emulation MODE SENSE didn't limit returned amount of bytes to allocation length field.
- BPLCON0 SuperHires bit disables normal DDFSTRT/DDFSTOP limits. (Why?)
- Resolve shortcut path if mounting shortcut (.lnk) as a harddrive.
- If inserting RDB hardfile using GUI: get device's blocksize from RDB block size field.
- Attempted write to SCSI or IDE CD (using normal SCSI Write command) crashed.
- Return WP bit set in SCSI Mode Sense result if SCSI HD is write protected.
- Add harddrive option set wrong parameters, drive was added as non-RDB partition hardfile (some earlier beta).
- Hardfiles and harddrives: attempt to mount as read-only before failing if read-write access is not allowed.
- Hide bootpri/bootable/donotmount boxes in GUI when selected RDB mode/controller combination does not support them.
- Added support for write protected disk images even if physical file is write-enabled. Config file
only, floppyXwp=true
- 68020/030 no-FPU F-line exceptions didn't work correctly, broke in previous 68040+ FPU disabled exception
updates.
Beta 7:
- In JIT mode format 2 stack frames had wrong address field contents, this also broke 68060 unimplemented integer
instruction exceptions (64-bit variants of DIVL and MULL).
- GUI boot priority/autoboot/automount handling fixed and simplified.
- 68030 "cycle-exact" mode used 020 instruction cache emulation code. No guarantees that this fixes all 68030 "CE" problems.
- D3D texture memory leak fixed (b6)
- A2024/Graffiti extra display buffer memory leak fixed.
- 1/50s file modification date also supported on FAT volumes. Returns FAT file creation date (which has 10ms resolution,
file modification date only has 2s resolution) if it is inside file modifcation date's 2s resolution.
- 68040+ "no FPU" exception stack frame still had incorrect data.
- Disable 68040/060 CPU "More compatible" option if JIT is enabled. JIT active and not emulating unimplemented
instructions isn't safe because JIT and normal emulation does not always agree which instructions are supported.
- A2065 emulation tweak, Ethernet chip documentation STOP/STRT/INIT bit documentation is not very clear.
Beta 6:
MMU emulation is now considered mostly done. Some minor bugs probably still exist but Amix, NetBSD, Debian
Linux, Enforcer and WHDLoad MMU option seem to work fine.
- SCSI and IDE emulation HD and CD read and write commands are now executed in background thread, slow devices
(for example real optical drive) won't temporarily pause the emulation anymore.
- ATAPI CD emulation didn't support split data transfers. Fixes NetBSD installer unpack error.
- Show also error code converted to string if HD to HDF image creation fails.
- Added mostly useless CD list to CD drive GUI. (Someday there will be more than 1 option)
- Do not allow multiple identical HD/CD controllers (if not UAE).
- Increased size of ATAPI data buffer and added size checks. 65536 was too low. (Debian installer)
- SCSI emulation didn't handle WD33C93 Select-and-Transfer command scatter/gather DMA. (Debian installer)
- CD led didn't flicker during SCSI and ATAPI CD access.
- Fixed D3D shader error/warning string buffer overflow crash. Some shaders can output really long warning messages.
- D3D internal texture size was incorrect in some situations, causing some shaders to have incorrect geometry.
- Added support for "post" shader filters. Post = apply shader to final output (after scaling, D3D scanlines
and RGB masks), Pre = apply shader to internal Amiga display (same as in previous versions).
- D3D shaders can be "stacked", max 4 pre and post shaders supported. (-4 to -1 = pre, 1 to 4 = post),
Output of previous shader is input to next shader. Can be useful if you want to have "normal" filter and CRT
geometry filter active at the same time. Also stacking same filter multiple times makes interesting results :)
D3D only, software filters not supported.
Beta 5:
- RDB hardfile dragndrop to hardfiles panel added empty hardfile.
- Windowed mode bottom border "led" state didn't always match OSD led state.
- SCSI emulation improved, select and transfer starting from 0x45 can be used to receive data.
- SCSI emulation WD33C93 is now correctly detected as revision A, not B. (only B has Queue Tag register)
- 68060 MMU: BFCHG, BFCLR, BFSET and BFINS are read-modify-write instructions.
- GUI IDE/SCSI CD path was not updated in harddrive list when CD was changed using "Select image file" button.
- 68040/060 MMU emulation fix, PFLUSH/PFLUSHN only flushed supervisor space ATC. Hopefully this was the last major
040/060 MMU bug. Weird NetBSD and Linux crashes are gone.
- Subtle Shades / Nuance remaining graphics glitches fixed. (NOTE: ECS only, OCS has corrupted graphics and it is correct behavior)
- GUI "Swap Ports" cleared custom mappings.
- 68040/060 no FPU/disabled FPU exceptions now include correctly calculated EA field. This should allow "compatible" 040/060 FPU
emulation with correctly handled missing instructions in the future (currently 040/060 FPU always supports all 68881/2 instructions)
- Added new keyboard custom event type, "kbr <string>". For example 'kbr "abc " SHIFT_LEFT "abc" shift_left RETURN'
generates "abc ABC<return>". Input name in upper case = press, lower case = release. Quoted string automatically sends both press
and release key codes. Any unreleased keys are automatically released at the end. Non-quoted names are same as input event config
names without KEY-prefix. (inputevents.def in source archive)
- Adjusted drive step limit value slightly, Extemporized / Digital works again.
- Fixed virtual mouse driver mouse movement problem (b1)
Beta 4:
- Fixed 68030 MMU MOVEM to memory wrong bus error data output buffer value.
- 68030 MMU FMOVEM didn't work if it caused bus fault.
- 68060 MMU non-locked Read-Modify-Write bus error bits emulated.
- SCSI emulation: reject >0 LUNs also when LUN is included with SCSI Identify Message.
- IDE single drive setup should return zero when accessing non-existing slave drive's status register.
- A2065 emulation initialization tweak, fixes NetBSD 1.0 hang.
- CDFS didn't use CD led (FS)
- Blitter logging/debugging command line option added (was compile time previously) -blitterdebug x
(1 = logging, 2 = writes to blitter register while already active logging, 4 = disable D channel, 8 = immediate blitter even in cycle-exact mode)
- Support display setups that have two (or more) horizontal DDFSTRT/DDFSTOP regions. Fixes Subtle Shades / Nuance "face" part.
(There is still some small glitches on left side of text part, later..)
- Some remaining instant reset conditions replaced with halted state.
Beta 3:
- Programmed display modes disable normal DMA start/end display limits. (NetBSD AGA console screen)
- ATAPI CD emulation compatibility improved, should fix detection problems.
- IDE HD emulation returned corrupt data if 2 drives enabled at the same time (b2).
- CD image mounter crashed if CD image selection was empty. (b2)
Beta 2:
- 030/040/060 MMU TAS and CAS/CAS2 Read-Modify-Write cycle special handling emulated, RMW read access
part is internally considered a write access and it will cause access fault if address is write protected.
- 040 MMU MOVEM special handling (SSR CM-bit) emulated.
- Some 040/060 MMU emulation bug fixes. (It still isn't fully compatible)
- A3000 2.04 ROM requires 68030 or higher, it is not 68030-only. (Only 1.4b is 68030-only)
- Bogus filesystem.resource entry was added if RDB HDF had more than one partition with custom filesystem (b1)
- Fixed stuck IDE emulation interrupt that hangs the emulated system, happened randomly during A4000 IDE detection. (Old bug)
- Geometry file FORCELOAD parameter added, forceload=1: do not re-use already loaded filesystem(s).
- A590/A2091/A3000 SCSI CDROM emulation added, uses SCSI emulation originally made for uaescsi.device.
- Gayle/A4000 ATAPI CDROM emulation added (uses uaescsi.device SCSI emulation, ATAPI = IDE CDROM SCSI command support)
- CD image mounter SCSI emulation inquiry command's vendor/product/revision data was blank.
- Ultra-minimal "Add CD Drive" GUI added. Only IDE or SCSI and only one CD entry can be added. Use hardddrives panel bottom
CD drive/image selection select menu to select mounted CD. uaescsi.device still works as previously but note that
same CD drive/image slot (internally there is more but they are not available in GUI yet) is shared = it may not be good
idea to enable both uaescsi.device and hardware IDE/SCSI CD emulation at the same time.
- Added more emulated SCSI CD commands, READ TRACK INFORMATION, READ DISC INFORMATION and PREVENT/ALLOW MEDIUM REMOVAL
(which does nothing). READ TOC allocation length check fixed.
Note: Curently SCSI and IDE CD is single threaded = whole emulation pauses while waiting for CD command to finish = better
not to use real CD drives. Only uaescsi.device runs in background.
Beta 1:
Big MMU emulation update:
- Previous (Next emulator) 68030 MMU added (+missing bus error exception stuff implemented by me),
some 68040 MMU updates merged. A3000 1.4 boot ROM, 1.3 SuperKickstart (which uses special MMU mapping for "bonus" code),
Enforcer and Amix confirmed working (Amix can't be installed because tape drive is not emulated but pre-installed
HD image work)
- 68060 MMU emulation added, mostly same as 68040, different stack frames and 68060 restarts
all bus faults, 68040 restarts only read faults (excluding MOVEM).
- Executable is larger, MMU compatible 68030 and 68060 CPU emulation cores added.
- MMU double fault stops the CPU (just like real CPU does), no more instant resets, makes debugging easier.
Windowed mode status bar shows "HALTx" (Hx in OSD) in this situation (x = reason code). Only reset gets out of halted state.
Also non-MMU mode fake double bus faults or other impossible states (for example odd supervisor stack) now enters halted state.
Note that 68030 MMU is very complex compared to 68040+ = slower than 68040 or 68060 MMU emulation.
- Added second A3000 Quickstart compatibility level, 68030 MMU emulation or fake MMU + JIT.
- Always refresh windowed status bar floppy leds when emulation starts or statefile is loaded.
- Executable as a disk image mounting does not generate identical disk creation dates anymore, wrong date calculation fixed.
- Use name of original file when mounting executable as a disk image, will be truncated if too long.
- Disable floppy sounds when exe mounted as a disk is inserted.
- Added wheel mouse Game Ports device type. Old "Mouse" is renamed "Wheel Mouse" and new "Mouse" is
mouse without wheel mapped. Added because some older programs can get confused with mouse wheel keyboard events.
- Win+D (show/hide desktop) has now same behavior as minimize/unminimize.
- Named pipe accepts also UTF16LE (Windows native) and UTF8 strings if BOM is included. No BOM = assumes
current "ANSI" character set. Old ipctester.exe works finally again.
- Named pipe also supports debugger commands, either using dbg_<name of debugger command> or first setting it
to debugger mode using "ipc_debug" command. ("ipc_config" = config mode, "ipc_event" = event mode, "ipc_restore" =
back to normal mode). Other direct commands are cfg_<config entry and evt_<event name>.
(Works exactly same as uae-configuration commands)
- Call DwmEnableMMCSS(TRUE) if running under Vista or later.
- VSync/HSync counting CIA TOD counters run at half rate if genlock mode is active.
- Added hack that fixes unreliable KS ROM genlock detection in fastest possible CPU modes.
- Enabling or disabling windowed mode status bar does not reopen the window anymore.
- Horizontal programmed screen mode registers' upper byte must be masked. Fixes Debian Sarge blank screen.
- All debugger commands support MMU logical to physical address translations, enable with "mmu <CPU function code>", 0 = disabled.
- Added support for A2000 old style RTC address range (Adv. chipset panel), this also maps new style clock
address range (0x00DC0000) as custom chipset.
- FPU NULL state implemented. Fixes Amix FPU detection, it tests FPU by restoring NULL frame then immediately saving
FPU frame and only accepting the FPU if stored FPU frame is NULL frame.
- Filesystem added using FileSys hardfile option will have at least 4000 byte stack, filesystem will be only added to
FileSystem.resource if it does not already include filesystem with same dostype. (Previously it was always added, replacing
previous one)
- addmemx config option(s) caused crash if emulation was restarted.
- Filter position and zoom values uses now floats, weird integers are gone. Old settings are ignored, config entries renamed!
- Custom input events can send commands to debugger, "dbg <debugger command>", output goes to console window if open.
- Changing filter position/zoom values using custom events or uae-configuration incorrectly forced display subsystem reset.
- WD33C93/DMAC SCSI emulation improved. (Amix, NetBSD and so on..)
- Added A590/A2091/A3000 SCSI DMAC state file support. Only basic state, any SCSI operation must not be active while saving.
- Windowed mode title bar doubleclick now maximizes normally, shift+doubleclick = fullscreen and ctrl+doubleclick = fullwindow.
- Immediate blitter didn't check if blitter DMA was enabled.
- Added CHD (Mame) CD image support support. Full data, CD audio and subchannel support.
- CHD image as a hardfile support added. Read-only.
- LZMA (7zip) support code updated to latest beta (required by CHD LZMA code)
- Host FPU rounding/accuracy mode was not reset back to correct original values when using filters.
- Pause mode updates, configuration changes while in pause mode work better but currently display becomes blank if
display mode changes while in pause mode (Old screen was lost and new data can't be generated in pause mode)
- Filesystem config (cylinders, sectors etc..) parameter passing rewritten, now uses same structure everywhere instead
of passing huge and random amount of ugly variables around. Big change, can break things.
- Partition hardfile parameter/geometry support update, if file named <original hardfile name>.geo is found in same directory as
hardfile, it is parsed for mountlist-like parameters (key=value). It also supports parameters that are not available in GUI or
in config file (for example lowcyl, buffers, maxtransfer etc..).
- Log partition hardfile full geometry data when mounting.
- Added native resolution selection to Display panel fullscreen resolution options. Uses always monitor's native mode. (Actually it is
monitor's desktop resolution because biggest listed resolution may be unsupported)
- Replacing or removing HDF files using the GUI now changes the drive on Amiga side too. Inserting new HDFs won't work.
- Fixed IDE emulation bug introduced in 2.4b17, IDE status register returned bogus data after execute diagnostics command.
(KS driver didn't care, other drivers probably did)
- 1.5M chip RAM size didn't work (Note that this can't work if JIT is enabled)
- Very very long (hours..) startup delay if emulation was started in fastest possible + CPU throttle enabled.
- Windowed RTG to native switch (or vice versa) while window had no focus set internal focus state causing keyboard input to appear
on Amiga side.
2.5.1
- Only reserve max total physical memory / 2 of ram under 32 bit Windows versions.
- lzh/lha MSDOS-style timestamps supported
Beta 5: (Possibly 2.5.1 final)
- Fixed crash when reset caused switching from RTG to native mode. (b3)
- Power led (and audio filter if enabled) state was not updated correctly (2.5.0)
- Exiting pause mode kept mouse uncaptured in some situations (b4)
Beta 4:
- Floppy read/write checkboxes didn't work (b1 filesystem update)
- Writing to Maprom region crashed in JIT mode, ROM protection introduced in 25b6 is now disabled when maprom address is queried for the first time.
- Inserting or ejecting USB game controller removed all Game Ports panel custom mappings. (older bug)
- Only attempt to mount dragged zip as a harddrive if harddrive emulation is enabled, if no harddrives, attempt to insert as a disk image in DF0:.
- Some mouse tweaks when fullscreen mode on secondary monitor positioned on left side of primary monitor (negative coordinates).
- Harddrives panel CD file selection box file name was truncated if path contained "][" string.
- uaeexe_server UAE boot ROM hook was set even if uae boot rom was disabled (Does something use this hook? seems ancient..)
This corrupted part of CDTV extended ROM in b2 and 2.5.0 versions. (b3 initialization order change partially fixed it)
Beta 3:
- bsdsocket was initialized too early, didn't configure if memory config changed due to not enough physical memory etc.. (old bug)
- 32-bit Windows memory reservation limit was too small, some old configs had more memory available under 2.4.x and older versions (2.5)
- Crash dump file is written to data path or TEMP if winuae.exe directory is write protected.
- Do not crash if sound is enabled and number of sound output devices is zero.
- Archive directory filesystem crash fixed (b1)
- SCSI emulation READ commands returned data from wrong track (following track if CD had more than 1 tracks). Argh.
- Back to MSVC 2010, 2012 seems to have some optimization and XP compatibility issues to solve, later..
Beta 2:
- Resuming pause with input event didn't restore sound. (b1)
- Do not capture mouse when theme changes, keep pause state (Window may not get refreshed until unpaused, this won't be fixed until later) (b1)
- Windows mouse mode and mouse not captured: right, middle and other possible extra mouse buttons leaked to Amiga side.
- Fixed GUI JIT slider weird behavior when cache size slider was moved to zero.
- Windowed mode status bar appeared in full window modes after mode change (b1)
- Epson matrix color printing swapped red and blue fixed. (Printing only, png output worked)
- Fixed 68010 + cycle-exact broken interrupt handling. (This is not recommended option, it is far from cycle-exact)
- Optimized build (official b1) had wrong settings, didn't load on Windows XP.
Beta 1:
- Internal mouse counter under/overflow fixed, while moving mouse far enough, mouse jumped in opposite direction. (old bug)
- Directory filesystem file modification date resolution support is now 1 microsecond (was 1 second). AmigaDOS file
time 1/50s "tick" resolution is now fully supported (if NTFS, FAT only has 2 second resolution)
- 1G RTG RAM was detected as "too large". (early 250 beta)
- ClipCursor() was not always called, it was possible for hidden Windows mouse to move outside of WinUAE window in some situations. (250b24)
- RTG aspect ratio still affected filter panel aspect ratio setting. (b26 update was not complete)
- _UAEFSDB.___ meta data files (stores illegal names, protection flags and comments if non-stream capable filesystem like FAT)
haven't worked correctly for a long time.
- _UAEFSDB.___ wasn't always deleted when it become empty.
- Unminimizing unpaused emulation when "pause when mouse is uncaptured" was enabled.
- If win32.guikey config entry is set, normal GUI key (F12) events won't open the GUI anymore.
- Always reset special monitor active flag (A2024/Graffiti) when display mode changes, fixes A2024 mode position when window
needs to reopen but resolution didn't change.
- Improved windowed mode bottom statusbar height calculation, fixes two pixel gap in Windows Vista classic mode.
- Fixed Amiga-side illegal memory access when booting directory harddrive(s) under KS 1.3.
- Reset GUI/emulation display when Windows desktop state changes (Theme change etc..)
- Removed remains of unused AROS CDFS support code.
- Compiled using MSVC 2012 with update 1 installed.
2.5.0
Beta 28 RC4:
- uaescsi.device SCSI sense data is now returned correctly (For example MakeCD shows error messages that make sense now)
- AHI channel swap also swaps AHI recording channels.
- BMP screenshots were corrupted.
Beta 27 RC3:
- Modulated volume value wasn't range checked, caused noise if volume word was not between 0 to 64. (Platou title music)
- Fixed SPTI mode CDFS crash.
- CDFS didn't correctly remove hidden trailing ;1's in some Joliet CD filenames.
- SPTI standard CD access: Use READ (10), not READ CD when requesting standard 2048 byte user sectors, not all BD/DVD drives support READ CD when reading DVDs.
Beta 26 RC2:
- RTG aspect ratio setting was loaded to wrong variable from config file (filter panel aspect ratio, not RTG)
- CD32 CD audio play delay timing fixed. (Was originally timed using bad Liberation CD image)
- RTG on screen leds was rendered twice in D3D mode (D3D sprite and software method).
- Audio 14bit to 16bit scaling introduced extra low level noise.
- Only enable AUDxPER limit hack (to reduce CPU usage with weird programs) if audio DMA is active. Manual AUDxDAT audio software may use higher periods.
- Fixed rare crash in input/gameports panel test/remap support.
- Added on screen leds per-led enable/disable config file support, for example show_leds_enabled/show_leds_enabled_rtg=power,df0,df1.
In future versions order of led names are also supported and gaps in place of disabled leds will be gone.
- DPI GUI size compensation disappeared (b25).
Beta 25 RC1:
- Switching to interlaced mode and autoscale enabled: don't calculate new size until 2 frames have been drawn to prevent multiple display size changes.
- More accurate GUI resizing algorithm.
- Show also first few bytes of disk in harddrive selection GUI.
- Add real harddrive as IDE: calculate physical CHS values using H=16,S=63,C=total blocks/(H*S) formula to better match with real hardware.
(ROM built-in IDE drivers use IDE identify device CHS values to calculate last accessible block of drive, LBA support was added in ROM updates)
- Action Replay 2 copper list detection code hang tweak.
- Prowizard AC1D update (Asle)
Beta 24:
- CDFS: ACTION_DISK_INFO no disk status really works now.
- Fixed "Windows mouse" sometimes hitting invisible barriers in windowed mode if window size changed and mouse was captured. (Quite old bug)
- blitter_cycle_exact=true and cpu_cycle_exact=false confused blitter emulation if BLTSIZE was written twice while DMA was disabled.
- CAS and CAS2 instruction fixes from Aranym (I guess these are practically never used on Amiga..)
- Ignore duplicate USB HID axis IDs. (I was lazy and only added duplicate button check previously..)
- USB HID D-Pad/POV axis may have caused ghost events.
- GamePorts panel Remap separated axis configuration support (for example up can be mapped to button and down can be normal down axis),
and multiple input sources can be mapped to single input target. Selection cursor now wraps around to allow multiconfiguration.
Beta 23:
- CDFS: Joliet CDs didn't work and caused crashes. Directory listing worked but it was only possible to open non-existing files :)
- CDFS: ACTION_DISK_INFO never returned no disk status.
- Filesystem path selection and default RDB settings broke in b22.
- FPU FINTRZ didn't work correctly if input value was outside of signed 32-bit range. (Bug since the beginning?)
Beta 22:
- "Generic" Amiga model incorrectly enabled A3000 DMAC emulation which caused most programs that require UAE Boot ROM in
normal 0xF00000 area to crash. (Old bug, b20 adv.chipset caused it to appear much more commonly)
- Disable ROM protection when switching JIT off on the fly.
- Dragging standard HDF to Hardfiles panel sets correct default geometry.
- Added logical cylinder value to HDF config data, default is zero = calculate from size of the HDF (same as previously)
- Added "physical" CHS values to HDF config data, can be used to override autogenerared IDE emulation CHS values.
(append ",logical cyls,C/H/S" to hardfile2 config entry. No GUI support.)
- GUI resize button was permanently disabled after it was unticked once.
- log_disabled=1 in registry (DWORD) or ini disables winuaebootlog.txt.
- Check DPI value when selecting default GUI size.
- CD32 audio emulation update, Guardian CD32 (and possible some others) had muted audio since b1. Immediate reply
to CD play command should not have "play active" bit set. It should be only set in later status packets.
Beta 21:
- Use software volume also in WASAPI non-exclusive because WASAPI main volume control also affects waveOut used by CD audio.
(XP + DS also seems to affect waveout.. CDA really should use some more modern sound API, later...)
- Floppy sound sample mixing volume fix, volume level got lower if more than one drive had enabled sounds.
- Virtual mouse driver option IECLASS_POINTERPOS inputevent ie_Qualifier apparently needs to include mouse button state bits or
Magellan II's (AmiKit) menus won't stay open, possibly affects other programs too. (This is not documented in HRMs, hmm...).
"Start menu" still won't work but it is application bug because it also won't work if mouse is moved using Amiga + cursor keys.
- CDFS crash fix when unsupported media (not unreadable but for example UDF-only DVD) was accessed.
- Check and ignore possible duplicated CDFS CD insert or eject Windows message.
- Compile time directory filesystem logging is now runtime option (-filesyslog and -filesyslog2)
- Borderblank still didn't work correctly in all situations. (Aladdin AGA)
- Fullscreen DirectDraw mode IDirectDrawSurface7_Flip "Was still drawing" fix. (I still have no idea what was I thinking of..)
- Added "waiting blits" special case, when blitter is started and blit would use all available cycles: start waiting for the blit immediately.
- Changing hardfile path does not anymore clear device name and filesystem text boxes.
- Fixed crash when loading statefile with JIT enabled (b6 "ROM protection" should be disabled temporarily when loading UAE boot rom data..)
- zlib updated to 1.2.7
- Built-in AROS ROM updated.
Beta 20:
- Reduced Gayle based configuration CIA memory bank size to 4096 bytes, only accesses to bfdxxx and bfexxx goes to CIA chips if Gayle.
- Reverted b19 horizontal change, I forgot that it was made to fit max overscan modes better..
(Manually adding "gfx_horizontal_tweak=8" to config file can be used as a workaround, if needed for some reason)
- RTC update in b11 was not compatible with KS 1.x.
- improved RF5C01A RTC emulation, previously KS2.0+ detected stopped clock and attempted to reset it (which is no-op because
emulated clock's time is currently read-only) and after reset it finally read the time.
- RTC year value is saved differently depending on OS version, Pre-2.0: RTC year value = current year - 1900,
2.0+: year value = last 2 digits. Both methods supported when reading. WinUAE now uses pre-2.0 method if
MSM clock chip (because this is the only type that KS1.x supports), 2.0+ if RF clock chip, previously always used -1900 method.
- RTC 12/24h bit emulated, this is not used by AOS.
- RTC time/date, alarm and memory data save/load to file supported (alarm time/date, note that alarm interrupt pin is not connected in Amigas,
and 104 bits of memory, used mainly for A3000 SCSI settings, included with RF clock chip type). Date/time ignored when loading.
- added win32.gui_active_page=name, sets default GUI panel after emulation has been started (Old win32.gui_page = before emulation starts)
- In some situations adv. chipset may have used incompatible data stored in config file even if compatible settings was ticked.
- Syncronize clock on the fly CIA TOD adjustment is now only active if heartbeat signal (b11) is detected.
- b11 heartbeat system was not fully disabled when UAE boot rom was unavailable.
- On screen led HD/CD/NVRAM indicator is blank if device is not available (like floppies already did).
Beta 19:
- GamePorts panel Test function now shows all currently mapped input target(s). Can be used to test any kind of input event mapping.
- Do not map 3rd button to joystick/pad with more than 2 buttons if GamePorts panel gameport mode is joystick.
Joystick is meant to be max 2-button, non-pullup resistor game controller.
- Directory filesystem ACTION_DISK_INFO InfoData->id_Inuse is now non-zero if any files or locks are open. (Was previously always zero)
- Use D3D (if available) to fetch GPU names listed in monitor selection GUI. Should now show correct GPU name when running on hybrid GPU systems.
- GUI CD audio volume control added.
- Standard PAL/NTSC mode horizontal position (without filters or centering enabled) is not slightly shifted anymore, not sure when this
changed, probably in some update that improved programmed mode display positioning.
Beta 18:
- FPS and CPU% react quicker now. Can Show previously hidden CPU usage spikes. NOTE: CPU% now showing "myserious" usage spikes does not mean emulation has become slower!
- Automatically limit tablet mode X and Y coordinate range to prevent 16-bit signed overflows if tablet has large resolution. (not confirmed)
- Always generate full size mask texture, workaround for mask pixel mapping errors in some scaling modes.
- Only release pressed keys if window or screen gets reopened (prevents stuck keys), not when any graphics related config option changes.
- Do not allow GUI resize if GUI is larger than fullscreen resolution because Windows may automatically resize it to fit on screen, making GUI completely unusable.
- Always recalculate Display panel horiz/vert centering option internal values when configuration changes.
- 68030+ CPU and more compatible checkbox checked: enable very basic prefetch emulation, only 68000-68020 have more complex prefetch emulation.
- JIT + more compatible also enables basic prefetch. Only works if code is not yet translated. (Not much point but it was easy to do)
- Added route all MIDI In data to MIDI Out configuration option.
- Improved 68030 MMU instruction decoding. WHDLoad + MMU option enabled + 68030 CPU does not crash anymore. (No, there still is no 68030 MMU emulation, it is
only emulating 68EC030 without MMU circuitry which probably does not exist in real world + hack for A3000 1.4 ROM)
- Few (rare) variants of MOVES didn't increase PC correctly.
- BSR.L was emulated as 68020+ instruction on 68000/010. (Bcc.L was correct)
- For some reason 68000 BSR.B and BSR.W address exception stack frame PC field points to new odd PC, instead of address of BSR opcode.
Beta 17:
- Enabled windowed mode window maximize button.
- Removed windowed mode window inner edge.
- -diskswapper command line looks inside all supported archive files.
- Any non-UAE controller harddrive didn't work. (b16)
- Beta 16 D3D alignment fix updated, previous broke 1:1 pixel mapping in some situations.
Beta 16:
- Added easy to use log options to Paths panel. Open = open selected log or current config to text editor.
Save All = create file that includes both logs and current configuration. Makes requesting logs easier for debugging purposes.
Log checkbox overrides misc panel logging option. Checkbox state not saved, resets back to non ticked after restarting.
(Included config is exact current configuration, not necessary same as last loaded config file)
- Fixed uae-configuration config listing garbage ????? line at the end.
- USB HID game controller [-] and [+] input axis movement used wrong event (one-shot instead of normal press/release).
- Possible fix for D3D display alignment errors in some modes (AMD only apparently)
- Fixed D3D blank screen after alt-tabbing back to fullscreen mode. Non-D3DEx (Windows XP mainly) only.
- Non UAE HD controller harddrives and CDFS config data conflict, inserting CD corrupted HDF path.
- Some CD (both images and physical drives) on the fly media switching problems fixed.
- Ignore start uncaptured and start minimized if starting in fullscreen mode.
- Input panel slots #2-#8 not saved to config file if slot #1 had GamePorts [PORTx] event.
- Configuration #1-#3 selected and GamePorts not set to <none> and then changed back to <none>, original slot #1 event was not restored.
- CD32 gameport type also enabled normal joystick firebutton/2nd button event. Only CD32 red and blue are needed.
- Break to debugger if program jumps to non-existing memory ("Did something stupid") and any break point is already active.
- Remember last selected Input panel device.
- 64-bit build now support up to 2.5G memory space and max 2G of Z3 fast RAM, emulated as 2x1G Z3 boards (1G is max Z3 board size)
Note that AmigaOS may have signed integer problems if 2G border is crossed.
Beta 15:
- Fixed too large GUI size if non-100% Windows DPI setting and full optimized build. (b13)
- Fonts with long names caused corrupted dialog structure.
- Marked WinUAE as Windows Vista/7/8 compatible. This should have been done long time ago, without this Windows enables
some backwards compatibility features, for example Aero gets disabled in fullscreen directdraw.
- Disabled COPJMP bug emulation, it triggers incorrectly in Seven Sins/Scoopex.
(Already did some logic analyzer testing but I can't yet confirm exact trigger conditions for this bug, it wasn't as simple
as I originally thought)
- Editing non-custom event's qualifier reset input target to none.
- Lightpen cursor wasn't removed when lightpen mode was disabled.
- Wintab tablet messages corrupted memory if Windows driver installed but tablet mode was not enabled. (b6)
Beta 14:
- Borderblank emulation rewritten yet again, now borderblank state is included with color 0 change events (this time
exactly where it should be), fully cycle-exact, works even if some strange program toggles it multiple time / scanline.
- Some GUI sanity checks, for example check if GUI size is really small or huge before opening GUI window and also after
GUI is open. Reset size and fonts to default if size is out of range.
- GUI Windows DPI setting compensation fixed.
- Activate COPJMP bug emulation, only if 68000 CE. (logged since b11)
- Autoscale aspect ratio fixed. Setting is enabled by default now.
- Disable map rom if 24-bit address space and 2M ROM (No space for ROM mirror).
Beta 13:
- Parallel port audio sampler had very bad quality on some systems. NOTE: Sampler requires exact DirectSound
recording position reporting = not that good results when using some onboard Realteks etc..
(It can be made better but because this is really pointless feature: pay or buy a better PC)
- Very old statefiles triggered keyboard powerup initialization sequence when restored, caused phantom keypresses.
- Sinc audio interpolation filter clipping fixed. (Was always wrong in UAE, was much more noticeable after b11 audio update)
- Input configuration parser didn't parse custom input event strings correctly if it contained '.' or ',' characters.
- Added experimental (and mostly useless) option that removes DOS reserved name restriction (CON is the most popular because
it is also included with WB disks). Note that this causes some interesting side effects: most Windows programs, including
Explorer, won't be able to open any file if it has DOS reserved name... You don't need this option, UAE has always
mangled illegal names transparently (for example CON becomes something like "__uae__con" on host side)
Configuration file only: win32.filesystem_mangle_reserved_names=false (defaults to true if not set)
- Disable screensaver option didn't work, SetThreadExecutionState() needs to be called periodically, not just once,
function documentation is a bit confusing..
- When deciding first visible line and programmed mode: select which is largest, VBSTOP or VSSTOP. (SuperPlus)
- Added Keep autoscale aspect ratio checkbox, only sort of working now...
- Map rom region size mirrors ROM size, address automatically moved to 0xe00000 (512k) or 0xa80000 (1M) if 24-bit CPU.
- Remove interlace artifacts option halved size of display horizontally in some programmed screen modes.
- Portaudio sound and sound was deactivated automatically: sound led kept showing buffer underrun state.
- Disable screen updates if monitor enters power saving mode.
- When restoring state file with floppy image(s) missing (files moved etc..), there still was rare possibility that floppy
drive was reported as empty.
- Some more manual BPLxDAT emulation updates, Sequential Magnet part garbage introduced in previous update is gone.
- Color registers were emulated as non-existing instead of write-only in OCS/ECS modes. (I guess only visible difference
will be more colorful display if program crashes or does weird things and starts reading from color registers..)
- DENISEID is now non-existing if 68000 prefetch or cycle-exact and OCS Denise. (Programs may misdetect if no prefetch emulated,
and now programs, if they even exist, that misdetect it on real OCS A500 will misdetect it on emulation too! :)
- Renamed Paths panel "WinUAE defaults"-paths, meaning of selection should make more sense now.
- Better input qualifier GUI, Windows key default qualifier added.
- Slot #5-#8 custom events didn't work correctly.
- GUI resize and font selection support added (misc panel). It was possible after all, needed only some hacking..
* Default size is now larger then previously.
* This is a hack, rebuilds classic Windows dialog resources on the fly while adjusting GUI element coordinates and size.
* GUI size after resizing may not be exactly what you expected.
* Windows always closes and reopens after resize. It is also normal, can be improved, later if ever..
* Window/Fullwindow/Fullscreen have separate position, size and font settings.
* Less than 80% size not officially supported, overlapping and clipping is normal. Select smaller font.
* Possible future improvements: more preset sizes, some kind of autofit in smaller fullscreen modes.
* I hope GUI now appears to be more modern than it actually is :)
- Version bumped to 2.5.0.
Beta 12:
- Moved cycle-exact option to Chipset group in GUI. Other options are minor options/hacks, CE is not.
- Do not enable wait for blit if immediate blitter is enabled in quickstart mode.
- Added RTG hardware sprite (mouse cursor) enable/disable option. Enabled by default if D3D mode. Was always enabled
previously if D3D mode.
- GUI Memory panel 32-bit RAM size information text incorrectly included Z2 mode RTG memory.
- Added directory harddrive limit option to Harddrives panel. When enabled, all directory harddrives size is faked
to ~950M with free space relative to original size (for example 500G HD with 100G free = 950M HD with 950*100/500=190M free)
This hack is workaround for installers that think drive is full or have negative free space if drive is larger than 2G (32-bit overflow).
Can be changed on the fly. Edit configuration file manually if you want custom limit size. Also virtual fake block size changed
from 1024 to 512. More compatible with KS1.x dos commands that seem to use hardcoded 512 block sizes when calculating disk size.
- cpu_throttle configuration entry also accepts decimal values.
- Added Start minimized and Start mouse uncaptured Misc panel options.
- In minimized mode D3D/DirectDraw display updates are also now completely stopped.
- ECS Denise/AGA border blanking handling rewritten again. (Brian the Lion borders are black again)
- Ignore color 0 (background) writes if borderblank is currently enabled when deciding autoscale start vertical
coordinate. (Brian the Lion)
- Parallel port audio sampler emulation partially rewritten, it actually sounds correct now, mono/stereo option added.
AudioMaster IV confirmed working. Very pointless feature.
Beta 11:
- END special qualifier didn't work when combined with other qualifiers, some END + shortcuts leaked key presses to emulated
Amiga side (b10)
- GUI wasn't centered and/or scrolling if single monitor, full screen mode and resolution smaller than 640x480. (b6)
Automatically center to screen if GUI title bar isn't visible on any monitor. Two or more monitors and >800x600 resolution
desktop in any monitor = always allow manual GUI positioning.
- Wait for Blitter changes:
- Does nothing in 68000 cycle-exact mode.
- Approximate CPU speed or 68020 CE: Pause CPU if blitter would steal all CPU cycles
- Fastest possible: Any kind of active blit pauses CPU if writing to any blitter register.
- Logged if triggered (only first 10 times)
- Quickstart modes (except 68000 CE) enables Wait for Blitter option.
- Wait for Blitter GUI only sets above "automatic" mode, manual config file editing supports forced "always" and "only if not idle" modes.
(for debugging purposes)
- RTG video capturing uses now RTG vsync timing, not (possibly very different) custom chipset vsync timing.
- Added UAE Boot ROM AOS "heart beat" vblank interrupt, do not sync clock or check filesystem insertions if heart beat counter
does not change = OS has been taken over, prevents possible memory corruption if program also overwrote system structures.
- RTC year tens digit was not in correct BCD format, probably no program cared about the difference. (Bug since the beginning)
- Extended adf writing was disabled, forgotten debugging and it was also disabled in 2.4.1. Oops. (241b11)
- POTGO register state was not fully reset when loading state, disabled mouse right/middle button in some situations.
(for example Sound of Silents)
- AUDxDAT manual audio mode and new period was written to AUDxPER: new period value was loaded too late, after first
8-bit sample was finished.
- AUDxVOL is 7-bit register (64-127 = max volume, 128 = 0, 129 = 1 and so on..). Actual volume range is 0-64.
- Sinc interpolator updated from UADE (from few years ago, better late than never..)
- Debugger 'm' command didn't show last byte of memory region.
- Log COPJMPx while copper is waiting blitter cycle conflict. Does not yet emulate blitter pointer = COPxLC copy.
Beta 10:
- BPLxDAT CPU/Copper writes are now accurately emulated. (Blerkenwiegel/Scoopex)
- COPJMPx triggered second cycle is special, does not need to be free but if it is free, it is allocated for copper.
(EyeQlazer/Scoopex is now 100% correct)
- Emulate copper waiting + CPU write to COPJMPx slightly different copper cycle usage.
- Fixed chipset emulation infinite loop if program crashed and wrote totally bogus values to programmable display
refresh rate registers.
- Both mouse and joystick enabled in same port: moving joystick does not cause mouse big cursor jumps anymore.
- Automatic center option incorrectly set display limits to autoscale limits (black borders).
- "Release" key qualifier support. When [R] qualifier is selected, qualifier key is released before sending mapped
keycode and then immediately pressed again. Qualifier selection GUI is currently ugly.
- Modified Input Qualifier support, now non-matched qualifier combinations (one or more qualifiers pressed but no
match in any 8 slots) always trigger non-qualifier input target(s), previously nothing was triggered.
- Added "Wait for Blitter" GUI option, when enabled, CPU is paused if blitter is active and CPU attempted to modify
blitter registers. Previously was always enabled if fastest possible CPU (and still is), now it can be manually
enabled in other modes, can be useful when running 68020/AGA programs that run badly in non-ce modes but also have
some display problems in ce modes. (because of not accurate enough CPU speed)
- Fixed flickering graphics corruption in some programs (for example Disposable Hero), also could have caused
reduced performance. (b1 display limit feature)
Beta 9:
- Replaced readpu.c 68020+ special case TST An/PC-rel and CMP #imm,PC-rel variants with proper table68k entries.
- Debugger disassembler decodes illegal instructions if opcode is supported by higher CPU model,
shown in parenthesis, note that PC is only incremented by 2 in this situation.
- Debugger W (write to memory) command supports multiple values and strings.
- Slow debugger commands can be aborted by pressing return (console only)
- 64-bit DIVL.L checked div by zero exception before checking if instruction is 68060 compatible.
- Use IOCTL_STORAGE_QUERY_PROPERTY to query optical drive vendor/product/version information instead of SCSI inquiry.
- "Take screenshots before filtering" supported in RTG modes, takes screenshot from emulated VRAM buffer.
8-bit png if 8-bit RTG mode, 24-bit png if >8 bit RTG mode. Does not capture mouse if mouse is emulated hardware sprite.
- "Capture before filtering" recording option supported in RTG modes.
- D3D D3DERR_DEVICELOST handling improved.
- Inhibit Windows error dialogs completely. On some systems missing harddrive still opened annoying Windows no disk error dialog(s).
- Improved extended ROM statefile support.
- Save ROM overlay state to statefile separately from CIA OVL pin state, fixes loading of statefiles if current configuration has
CIA overlay support but state configuration does not. (Gayle based chipset or CD32)
- Misc statefile load compatibility improvements when current config is very different compared to statefile's configuration.
- DMA debugger 'c' = copper wanted this cycle but it wasn't available
- BPLxDAT non-DMA modifications emulated while bitplane DMA is disabled, not perfect but at least screen isn't completely blank anymore.
- Ancient Superfrog copper hack removed, it isn't needed anymore. (EyeQlazer/Scoopex is nearly correct now)
Beta 8:
- 68060 and CPU compatible checkbox ticked: generate unimplemented instruction exceptions instead of emulating instructions
that real 68060 don't have. Integer instructions only, 040/060 FPU emulation still supports all 6888x instructions.
- Set FPU FPIAR register (No one shouldn't care, except unimplemented FPU exception handler which isn't supported)
- RTG state restore broke in previous update.
- Save RTG mode palette to statefile (Quite important missing information if display mode is 8-bit..)
- More memory space reservation updates.
- "Restart" GUI option improved, shouldn't cause strange errors if new config has 32-bit RAM enabled and old one didn't.
- Savestates with 32-bit RAM configured should now load without need to first load configuration that has same amount
(or more) RAM configured.
Beta 7:
- Directory filesystem 64-bit seek (ACTION_CHANGE_FILE_POSITION64) broke in 240b27
- -nodirectinput mode was always enabled. (b6)
- -nodirectinput does not anymore disable mouse/keyboard directinput enumeration if rawinput fails to initialize.
- Syncronize clock enabled and loading new config crashed in some situations (b6)
- Blitter emulation didn't leave correct data in blitter's B data register after linedraw finished, fixes
No Way demo by Academy that seems to use wrong minterm that requires correct static value in B data register.
- WASAPI exclusive software volume control support. It seems normal WASAPI volume control does nothing in exclusive mode.
- Added support for unimplemented integer instructions to 68k emulation code generators. Not yet in use.
(This is easy part, unimplemented floating point support is very difficult because it requires special FPU stack frame)
- Experimental memory space rewrite. Now WinUAE reserves address space as much as possible (~1.6G if 64-bit OS, 512M if 32-bit, note
that this is only reserved space, actual memory is not yet allocated). Allows more stable on the fly memory size changes.
It is not guaranteed that this is safe to use and won't cause side-effects or other bad behavior or loss of performance,
please test and report.
Beta 6:
- PC raw MFM decoding improved (uaeunp, Amiga/ST/PC multiformat PC images didn't decode properly)
- Interlace flag wasn't set if resolution had "i" flag but refresh rate didn't, caused blank screen in D3D modes.
- Set system time to host time (timer.device/TR_SETSYSTIME) when exiting GUI or unpausing if syncronize clock option is enabled.
Only works if at least one directory filesystem is in use. (Shares directory filesystem process to minimize resource usage)
- Interlaced host resolution field matching with emulated interlace rewritten, now simply waits extra field if fields
don't match. Can cause small sound glitches if small buffer but this is also much more reliable than old method. (Need tweaking)
- Small non-fastest CPU mode low latency vsync tweaks.
- Ignore CPU writes to DSKDAT. (Useless "DSKDAT: FIFO overflow!" log messages caused by some programs that poke DSKDAT).
- Added -nodirectinput command line parameter that completely disables directinput device enumeration.
- Gayle PCMCIA CF IDE emulation improvements, PCMCIA CF config #2 also supported (PC primary IDE IO addresses)
- GUI position is also saved in fullscreen mode, separate from windowed mode GUI coordinates.
- Some chipset mode on the fly configuration changes also reset RTG internal variables, causing blank screen when
returning back to RTG mode. (Very old bug, "SetSwitch() - Picasso96 0x0x0" in log)
- Fullscreen RTG mode refresh rate uses chipset mode refresh rate or rate directly set in Expansions panel. Automatically selects
lower available refresh rate if selected rate is unsupported.
- Added option to enable/disable RTG vblank interrupt emulation. Previously it was automatically enabled if Refresh rate option wasn't set to
disabled. Moved to separate GUI option because of above new feature and because some games don't like RTG board generated interrupts.
- Direct3D mode RTG OSD only updated when any part of RTG bitmap changed.
- Blank unused displays(s) (opens full screen topmost black window(s)) option added to misc panel.
- Only save minimal CPU context (registers and PC) during native/m68k code switching. Previously it saved lots of unneeded data,
including data that can be changed outside of CPU emulator. May also increase performance in some situations.
Finally explanation and fix for mysterious copper state corruption.
- CD image mounter: MDS image CD audio tracks didn't play if subchannel data was not included, MDS image data tracks that also
included subchannel data returned wrong data.
- Host MMU write protect ROM regions in JIT direct mode because JIT only checks destination address type when generating x86 code for
the first time. Badly crashing programs can corrupt loaded ROM image causing repeating red/black screen reset loop. (Another
mysterious previously reported problem solved)
- Restructured UAE boot ROM variable locations, ROM part write protected.
- Doubleclicking Input panel Input Source column resets clicked line back to default. (Currently keyboards only)
- Added uae-configuration harddrive attribute modification support:
Syntax: uaehfX_Z where X = unit number, Z = attribute name. (for example: "uaehf0_bootpri 10")
Attribute names: devicename, volumename, root, bootpri, read-only, filesys, controller.
Syntax is write-only. Use plain uaehfX to check current values.
Reset required to activate modified settings.
Beta 5:
- More custom input event fixes.
- Replaced custom event single line string dialog with larger multiline dialog, increased allowed custom event string length.
- Autoresolution didn't detect interlaced mode in some situations.
- Added "Internal events" input device category. Currently it only contains two events:
"CPU reset" and "Keyboard reset". It can be used to customize what happens when emulated Amiga is reset.
For example: set CPU mode back to fastest possible, eject or insert disks, quit emulator, etc..
- Added 68020 prefetch CPU core. Emulates instruction prefetch without cycle-exact. "More compatible" option
enables this mode (Previously it did nothing in 68020 mode)
- A1200/CD32 Quickstart compatibility slider changed: cycle-exact/prefetch/fastest possible without JIT/JIT
- ASPI support removed.
Beta 4:
- Custom input event autofire wasn't always canceled when shortcut included qualifier(s).
- Do not crash if 7zip unpacking fails because out of memory or process address space.
(Big compressed CD images and 32-bit Windows)
- Log also RDB dostype in text format.
- Replaced misc panel checkboxes with scrolling checkbox list view. Now there is unlimited space
for all kinds of on/off options that I previously refused to add because of lack of GUI space.
- Added disable notification icon option.
- Loading statefile using GUI now remembers statefile filename, allowing to save configuration files with
statefile (running configuration file will automatically load the statefile). This required manual config
file editing previously. Statefile path and checkbox that "forgets" stored path added to GUI.
- Ignore vendor specific USB usage pages (Do not list for example some Logitech USB mouse/keyboard receiver dongles)
- Z2 RTG + 68EC020 fixed, RTG requires memory mapping. (Memory mapping was originally JIT only and 68EC020 is not JIT compatible)
Beta 3:
- FPS led was always yellow in most non low latency vsync modes.
- Custom input event toggle didn't work (3rd and 4th slots), (2.4.1)
- Custom input event non-toggle mode with qualifiers didn't work correctly.
- Allow D3D RTG hardware sprite if non-power of 2 textures are supported, do not require shader support.
- Do not override currently selected CD image when loading statefile if new CD path does not exist.
- Do not report CD not present state if restoring CD32 statefile that was created with inserted CD.
It would usually cause immediate reboot to CD32 title screen and most CD32 shovelware ports won't care about
the CD after game has been loaded. This has been broken previously many times..
- Any active breakpoint stopped all interrupts in some situations if 68020 cycle-exact mode.
- "ALT-TAB or middle mouse button untraps mouse - F12 opens settings" window title was missing.
- Uncapture mouse when entering debugger.
- Fixed blank screen in directdraw + no filter mode. (b1)
- Do not move directories or empty files to Windows recycle bin (if recycle bin option enabled).
Beta 2:
- Missing harddrive in harddrive dialog if any device returned "too short STORAGE_DEVICE_DESCRIPTOR only x bytes". (2.4.0)
- D3D crashed if Vista or newer and D3D9Ex couldn't be used (shaders didn't load for reason for example) (2.3.something)
- Vsync dynamic adjustment algoritm updated.
- Added vsync debugging command line options:
-vsync_min_delay <val>: val is value from 1 to 90, minimum guaranteed extra time left for
display rendering. Automatic dynamic adjustment system can still use higher values if needed.
-vsync_forced_delay <val>: val is forced extra time, dynamic adjustment is disabled.
<val> is percentage of total frame time, the bigger the value, the less chance for tearing and slower
CPU emulation performance (if fastest possible mode).
Above Parameters work in low latency no buffer mode and in all legacy vsync modes.
-vsynclog shows frame counts (total, missed, errors, time waited for frame relative to total frame,
average of previous value, current frame time difference) Low latency only parameter.
-vsynclog2 starts logging current adjustment parameters. Mostly undocumented values except last 4:
current adjustment value, time/scanline, total frame time, adjustment percentage value.
Note that time unit is internal PC time counter (Rate can be seen in winuaebootlog.txt)
- Added -rtg_blitter <val> command line option (0 = disable native RTG blitter acceleration code)
- Show more correct vertical and horizontal frequency in display mode change log line.
- Added -bsdlog command line parameter, enables full bsdsocket emulation logging. (This was previously
compile-time option)
- Support PC screen resolutions that have both progressive and interlaced modes.
- PC interlaced modes work in D3D mode, fixes blank screen.
- Added 50i/60i switching support to autovsync.
- Added timing compensation to low latency vsync for some drivers (nvidia only?) that don't count any
lines inside vblank period. (MinV=1 in the log)
- IOCTL 32-bit overflow fix, CDFS DVD read error when accessing data outside of first 2G.
- Built-in CD image mounter 32-bit image size restrictions removed.
Beta 1:
- Autovsync 50/60Hz also accepts 100/120Hz modes if available, supports also refresh rates +-1 from nominal.
- CD32: CD command receive DMA emulation correctly emulated, TOC read hack removed.
- CD32: Repeat each CD TOC packet 3 times (same as real CD TOC format) (Universe title screen CDA)
- CD32: CD audio stopped if multiple play requests were sent very quickly (Universe in-game CDA)
- GUI RTG monitor selection implemented.
- Low latency vsync + fastest possible CPU auto adjustment updates.
- Legacy vsync automatic adjustment implemented, hopefully improves stability. (Remember that legacy
vsync is only compatible with approximate/ce CPU modes)
- FPS led background flashes yellow if frame was missed in vsync modes.
- Detect display driver forced vsync, switch to double buffered mode if low latency no buffer mode.
- Always call D3D SetMaximumFrameLatency(1) if vsync mode (any vsync) to reduce latency, previously
was only called when low latency no buffer mode used. (SetMaximumFrameLatency only available on
Vista and later) Usually display driver control panel can be also used to override this value.
- Added auto scale integer scaling method, uses autoscale display size instead of max overscan.
- Integer scale mode filter horizontal and vertical zoom sliders value is now added to native screen
size before calculating integer scaling value. (Negative values reduce size of screen = scale to
higher multiplier earlier)
- Integer scaling supports non-power of 2 integer upscaling ratios now, downscaling still only supports
1/2, 1/4 and so on to prevent scaling artifacts or blurriness.
- Warp mode now works properly in all vsync modes.
- Most filter modes (autoscale etc..) now fill "invisible" borders with black, for example this removes
ugly extra border(s) in autoscale fullscreen or full-window mode when using non-4:3 displays.
(In other words anything outside of 4:3 sized window are now blanked in non-4:3 screen/window sizes)
- Low latency vsync displayed blank screen if emulation was restarted using GUI Restart button.
- JIT GUI cache size box was broken.
- Do not return error code if uaehf.device read or write io command has null data pointer and length
is also zero.
- Added more Windows error codes to directory filesystem to AmigaDOS error conversion table.
2.4.1
- Try to flush GPU queue after rendering the frame to prevent delayed background flipping that
introduces tearing on fastest possible no buffer low latency mode.
- Integer scaling + gfx_xcenter_pos or gfx_ycenter_pos set had wrong positioning.
Beta 14: (RC3)
- Cycle-exact/approximate CPU speed non-vsync b1 sound sync update didn't work, it did nothing.
- Some more low latency vsync timing updates, improved dynamic adjustment.
- Legacy vsync slowdown problems fixed (2.4.0)
- Restored (50Hz) and (60Hz) fake rates that were removed in 2.4.0. Only available in legacy vsync mode.
- RTG + low latency vsync was not stable.
Beta 13: (RC2)
- Possible improvement for low latency no buffer mode tearing problem.
- Fastest possible CPU: very simple dynamic flip delay timing adjustment. Reduces tearing (and slows
down CPU emulation speed) but won't fix it completely. Difficult problem to solve 100% without
losing too much CPU speed. Currently only way to remove tearing is to reduce CPU speed.
- Cycle-exact/approximate CPU: Tearing problem on some systems should be fixed.
- Fastes possible low latency vsync sometimes flipped buffers before or during internal frame rendering,
usual result was same frame being shown multiple times.
- Legacy vsync refresh rate didn't override internal chipset refresh rate causing very bad slow down
if rates didn't match.
- Map directory filesystem Windows error ERROR_INVALID_PARAMETER to AOS ERROR_OBJECT_NOT_AROUND,
GetFreeSpace("path to empty CD drive") returns this code on some systems.
- Validate SCSI INQUIRY data before using it when requesting IOCTL CDROM vendor and product names.
It seems query can return success without returning any data in some situations.
- Store beta dialog state to winuae.ini if enabled.
- Random bsdsocket crash when calling gethostbyname() with numeric IP address. (2.4.0)
- Allow again zero back buffers in DirectDraw mode, 2.3.3 allowed this configuration.
- Canceling HD HDF cloning froze the GUI. (Possibly Vista and newer only)
- Store also monitor's system specific id string to config file, system can have multiple identical monitors.
Beta 12: (RC1)
- More Fastest possible + low latency vsync tweaks.
- Ignore sprite 0 (normally mouse pointer) when calculating autoscale position and size.
- Custom Input event editor usually crashed.
- CD32 boot screen autoscale improved.
- b10 "show drives that require admin privileges" hide drives that also have drive letter.
Background info: for some strange reason USB memory card adapters have two devices, one (without drive letter) that can't
be accessed without admin privileges and drive letter device that can be accessed.
- Fastest possible CPU + low latency vsync and double frame mode (85Hz+) jitter fixed.
- "Masks" in filter panel is selected by default, "Overlays" is only selected if overlay image is already configured.
- Possible fix for D3D mask alignment errors in some scaling settings.
Beta 11:
- Adjusted Fastest Possible timing a bit more..
- Better PC interlace screen mode detection.
- Fixed invalid MFM encoding when converting standard adf unencoded data to MFM encoding. (Few incorrect MFM clock bits) Another
"no one cares" fix (since the beginning, does not affect adf data quality), noticed when testing m68k AROS trackdisk.device write support.
- Vsync mode sound sync shouldn't be that aggressive. (b8)
Beta 10:
- Partial rewrite of fastest possible CPU low latency vsync detection code. Should fix jitter caused by frame not always
getting shown on screen at correct time.
- Low latency vsync and double frame mode (85Hz+): guarantee every other vblank is really skipped, previously it didn't
work correctly in some situations.
- Calculate final vblank busywait time from selected rate instead of using hardcoded 50Hz/100Hz-only compatible value.
Fixes >50Hz no-buffer jitters.
- Emulate extra CPU time if it has been more than 7 lines since last extra CPU time, matches older behavior without
losing 2.4.0+ performance increase.
- Fixed low latency vsync + fastest possible CPU getting in state where FPS dropped greatly temporarily, usually at startup.
- Show also drives that require admin privileges in harddrives panel, unselectable and marked with "Access denied"
label. Only name shown because accessing any other attribute may require admin privileges.
Beta 9:
- Fixed D3D texture reallocation ordering. Caused blank screen or other strange side-effects (b7)
Beta 8:
- 68EC020/68020 state files didn't load properly if current CPU config didn't match.
- Adjusted JIT timing a bit, possible fix for slowdowns on some systems.
- Made sound sync a bit more aggressive. (2.4.0 relaxed it a bit too much, I think)
- D3D crash fixed (b7)
- CIA related rare statefile CPU TRACE error fixed.
- Crash fixed when CDFS CD drives enabled without any harddrives.
- Disable USB HID RAWINPUT (Fallback to Direct Input) if "blacklisted" devices found, added
RM-203 USB adapter to list because it requires calibration which WinUAE can't support.
Beta 7:
- DirectDraw full-window mode on non-primary monitor was blank.
- Adjusted (again) fastest possible CPU mode extra CPU time scheduling, trying to find balance between better
timing syncronization and not causing unnecessary slowdowns on some systems..
- OCS Denise bug emulation update, PAL STREQU counts are 8 (short field) or 9 (long field) lines, not static 9 lines.
(Probably no program cares)
- F11 in gameports/input test mode shows next page (if list is longer than visible area).
- Manual display positioning X coordinate offset fixed (Filter panel or gfx_center_horizontal_position)
Origin should be hardware position 0 (same as sprites), not first possible visible position.
- Fastest possible low latency vsync should work better again (b2), plus some other adjustments done, CPU throttling
supported.
- Autoresolution worked badly in some situations.
- Removed USB_DEVICE_ID_RETRO_ADAPTER from USB "quirks" list, apparently it is working correctly according
to firmware sources. (Perhaps older version was wrong, not exactly sure why it was included in Linux HID quirks list)
- Save also selected monitor name (gfx_display_name) to config file because order of displays can change when removing
or adding monitors or replacing display cards.
Beta 6:
- Most CDFS RockRidge file comments were truncated. (Very stupid bug)
- CDFS media change still crashed in some situations.
- Show "UAE" as HD controller, not "n/a" (same as "IDE0" and others do)
- Improved fastest possible CPU throttle option. (Less CPU% usage)
- If fastest possible CPU does not have enough frame time for extra CPU emulation, reduce extra time in next frame to
prevent possible high CPU% usage and slowdowns.
- Fullwindow RTG, D3D and scaling in Expansion panel enabled: switching to bigger RTG resolution than max fullwindow crashed. (b2)
- Updated statically linked zlib and libpng to latest versions (1.2.6 and 1.5.10)
- Debugger basic math operators support (+-*/) added, for example "m 8+100*4" lists memory beginning from 0x408. Note that space
is not allowed because it is parameter separator.
- Borderblank didn't work if BPLCON3 was only written outside of displayable area (b5). This is still quite ugly implemention,
it should be done similar to COLOR0 handling but it would require too big changes. Later..
- A2024 2 lowest RGB bits set correctly, was always cleared previously.
- Keyboard reset warning fixed (2.4.0)
- Fixed 1-3 line background color bar on top of screen in autoscale modes (2.4.0)
- USB joypad/joystick rawinput dpad diagonal movement fix. (2.4.0)
Beta 5:
- Left edge display limit fix, it was correct when in lores but OCS/ECS hires max overscan
(or AGA in 16-bit fetchmode) can start 8 pixels earlier. (ECS SuperPlus missing left edge)
- Tweaked programmed mode sync positioning algorithm.
- Use config file gfx_top_windowed and gfx_left_windowed top/left window coordinates if borderless mode.
- Sort filter presets alphabetically.
- When calculating autoscale position, restrict left and right side of display inside hsync end and start positions,
fixes really wide display in promoted modes. Note that autoscale can't work correctly in (some?) promoted
modes because viewable area is larger than visible bitmap = borders are visible.
- DirectDraw mode wasn't re-initialized correctly when window size changed causing blank screen.
- Borderblank didn't blank topmost lines and last line. (Old bug which usually wasn't visible until now)
- Clear display decision tables when switching modes to prevent old, now possibly unvailable lines to be visible in new mode.
- Possible fix for mouse pointer jumping to (0,0) when pressing buttons and running on some virtual machines. (2.3.3)
Beta 4:
- 68020 CE mode statefile CPUTRACE (CPU state can be saved even in mid instruction) support was not complete,
should fix "CPU trace: blah" errors when restoring statefiles. It can't fix already created broken statefiles.
- Fix built-in CDFS lowercase conversion. Only convert to lower case if plain ISO-9660 (without RockRidge or Joliet)
also convert from second character to match CacheCDFS default behavior. Fixes AmigaOS 3.5/3.9 CD file names.
- Automatic scale/center/resize didn't like screen mode that has horizontal start as early as possible (SuperPlus + ECS)
- Automatic resize kept resizing forever in interlaced modes. (2.4)
- Do not emulate ECS Agnus internal 1M address space if JIT enabled and 0.5M Chip RAM because JIT ignores memory
bank masks causing OS to misdetect full 1M Chip.
Beta 3:
- On screen led status line was drawn using both D3D sprite and directly to bitmap methods in D3D no-filter mode (b2).
- Removed PAL/NTSC vertical scaling hack which is not needed anymore.
- PAL/NTSC vertical scaling added to Fullscreen (TV)/(Max) filter modes.
- Fullscreen (TV)/(Max) also handles programmed modes like real monitor would, positioning and scaling using sync parameters.
- Fake 60Hz (VPOSW poking) did nothing. (2.4)
- DirectDraw + null filter crash fixed when display height was smaller than emulated display height. (b2)
- D3D overlay mask scaling artifact in some resolutions (2.4)
- CDFS CD drive statefile support.
- Ignore duplicate HID button IDs.
- Reduced flicker when refresh rate changes (PAL<>NTSC or other mode changes)
Beta 2:
- Filter system partial rewrite again. Do not use static display buffer. Always dynamically reallocate internal buffer if
display mode changes (double scan modes, A2024 etc..). Fixes slowdown introduced in 2.4, also fixes shader filters
that expect texture size = output size. Very tall (>1024 line) programmed modes are also now fully visible.
Most likely some more updates needed..
- Always cancel custom event autofire if any release event arrives.
Beta 1:
- Input custom event autofire support.
- Automatically switch to another monitor if current monitor does not support selected RTG mode.
(RTG mode list always lists all monitors' modes)
- CDFS ACTION_EXAMINE_ALL crash. (It seems this was 2.4's most stupid bug)
- Fastest possible CPU mode (including JIT) CPU speed throttle option.
- Non fastest possible CPU mode CPU speed adjustment option. Currently GUI allows from -90% to 500%.
- Removed Adjustable CPU/Chipset speed option, above option should be much better.
- Switch from 16bit to 32bit (or vice versa) on startup if selected color depth does not exist.
(Beta Windows 8 + NVidia don't seem to have any 16bit modes)
- Experimental sound sync update. Should increase stability of sound sync in non-fastest modes.
(Side-effects possible)
2.4.0
Beta 27: (RC5)
- Saving directory filesystem statefile crashed (b23)
- "unixfs warning" optimization fix, ACTION_READ when file seek position was at the end
file returned bad result. (b23)
Beta 26: (RC4)
- CDFS missing features added: HighCyl value and volume creation timestamp.
I think all features are now done.
- CDFS media change stability improved (removing unreadable CD crashed)
- Forgot to mention: UAE CDFS also works fine under KS 1.x. (AROS CDFS was 2.0+)
Beta 25: (RC3)
- CDFS ACTION_EXAMINE_ALL fixed.
- CDFS file/directory search now uses simple hash table for better performance.
- Fixed crash introduced in b23 if filesystem was asked to open directory that couldn't be opened.
- Directory filesystem host memory leak fixed (leaked few bytes when filehandle was closed). Very old bug.
- Autodetect old-style geometry if >512M OFS/FFS partition harddrive was created with older UAE version.
- Some rare DMS files didn't unpack properly.
- Possible fix for diagonal artifact in some D3D filter modes.
Beta 24: (RC2)
- CDFS Amiga Rock Ridge 'AS' extension support added. (comments and protection flags)
- Free CDFS inodes if they are not needed anymore, previously only freed when media was changed,
better performance and less (host) memory used when CD has 10000+ files or directories.
- More logical "RDB: WARNING: end of partition > size of disk" message. Check RDSK header size and partition(s)
size separately.
- CDFS boot priority changed to -127 (lowest possible).
Beta 23:
- CPU Idle change improved, b22 caused major slowdowns on some systems.
- MB RAM option + JIT enabled detected wrong amount of RAM. (Can't have extra memory barrier there)
- Directory filesystem ACTION_DISK_INFO and seek updates (ACTION SEEK had some problems in archive mode)
- Sprite debugger showed 64-bit AGA sprite shape totally wrong.
- END + PrinScreen (Screenshot to file) used incorrectly screenshot to clipoard input event.
- Legacy vsync was horribly slow (b22)
- optimized normal safe "unixfs warning: Bad pointer passed for read" directory filesystem situation.
- added win32 ERROR_BAD_NETPATH = AOS ERROR_OBJECT_NOT_AROUND mapping directory filesystem error handler.
- improved filesystem volume insert/removal stability.
- config file/uae-configuration/custom input math formula (+-*/ and parenthesis) support.
For example it is now possible to increase or decrease any numeric configuration entry,
very simple example: "gfx_filter_horiz_offset=[gfx_filter_horiz_offset+1]". Multiple variables and
complex formulas fully supported. This was already in previous beta because it was too experimental,
but I guess it can be considered "official" now because of CDFS delay..
- A500 advanced chipset extra option always enabled RTC (real time clock), should have been enabled only
when more than 0.5M RAM configured.
- built-in AOS CDFS removed, unfortunately it is not license compatible (non-commercial usage only).
I was too blind to not notice it months ago.
- CDFS replaced with host native Linux isofs/directory filesystem wrapper which works quite differently
but should have exactly same behavior from Amiga program point of view. Uses filesystem emulation but
accesses CD data using Linux isofs filesystem code that directly reads CD sectors via IOCTL native API
or UAE built-in CD image support.
Amiga specific rock ridge 'AS' extension (protection flags and file comment) is not supported yet.
Does anyone know any example CDs or images?
- AROS ROM updated.
New isofs/directory filesystem CDFS hybrid needs testing! 2.4.0 final waits until CDFS is guaranteed working.
Beta 22: (RC1)
- CPU Idle limit added, do not sleep if there are no frame time left, no more slowdowns if CPU Idle is set too high.
- Only use long frames to recalculate interlace autoscale positiong. (Autoscale jitter in some interlace setups)
- Autoscale didn't always ignore standard mode display limits when displaying programmed display modes.
Beta 21: (Fastest possible vsync should be fixed finally, only some testing left to do)
- Direct3D masks and scanlines fixed, forgotten testing code.. (b20)
- 2.3.2 "stop the cpu and wait until blitter has finished if any blitter register is accessed while blitter is busy and
cpu mode is fastest possible" was broken and could cause side-effects in some situations.
- Direct3D to DirectDraw fallback if DirectX is not recent enough crashed. (b5)
- Keyboard lost sync state emulated, needed with some programs that don't handshake all buffered key codes but still clear
the CIA keyboard interrupt flag, this caused dead keyboard after b1 update. Now keyboard should be fully emulated.
- Quickstart panel disk insert always reset track position to zero. (forgot to restore old track after checking disk
type and bootable state, bug since Quickstart was introduced!) Fixes Wrath of Demon disk swaps.
- Z2 RTG changes broke chip RAM "memory barrier" causing crash if JIT executed code at the very end of chip RAM. (b16)
I finally really examined and even understood (I think..) how fastest possible and JIT modes handle CPU emulation,
(in reality fastest possible without JIT didn't really handle it all, other UAE ports most likely have exact same issue):
Some unnecessary and big event code inlining also removed (shorter code, should be faster on modern CPUs due to less cache trashing)
- Huge improvement in fastest possible CPU (with or without JIT) + low latency vsync performance.
- Fastest possible without JIT performance improved in non-vsync modes. It now executes small chunks of extra code after
each scanline instead (as long as there is time, the faster the host CPU, the more extra time there is) of single huge
chunk just before vsync. JIT basically does the same but because it has "unknown" timing, it may execute "too much"
code first and then skip multiple scanlines until there is enough time again.
- Immediate blitter is now 100% immediate. Fastest possible (with or without JIT) performance greatly improved (10x+ possible!)
if program does lots of small blits. Previously, even in immediate blitter mode, blitter wait caused CPU emulator to waste
its extra "fastest possible time slot" by doing absolutely nothing else than waiting the blitter that never happened. It can't
happen until next scanline, during extra fastest CPU "slots" chipset emulation has to be paused.
Fastest possible CPU throttling option will be also possible, this will be done later..
NOTE: Above changes WILL break some games/demos that (accidentally) worked previously. It is 100% guaranteed!
Beta 20:
- Fixed DirectDraw on screen led status bar surface allocation error when switching modes in some situations.
- A3000 quickstart CIA mapping fixed (no mirrors, can't enable both CIAs at the same time, only original Gary does this)
and 0xc0-0xcf added (same as A4000) Only affects very badly behaving programs, programs that most likely wouldn't run
on A3000 or A4000, with or without this change.
- Do not fully recalculate display parameters if only long/short field state changes.
- Lace<>non-lace mode switch scanline flashing effect hopefully fixed (may also break something else..)
- Overlay graphics Direct3D mode should have more correct positioning again (still not exactly right)
- Z3 board <16M RAM size autoconfig data makes more sense.
- Upper half of 8M RTG Z2 board was overridden by Gayle PCMCIA address space if enabled.
- Windows 8 Consumer Preview tested, didn't notice any problems. WARNING: No Windows 8 discussion here!
Beta 19:
- Triple buffered native chipset low latency vsync uses slightly different flipping method
and also does not force min D3D framelatency value.
- Added active but mouse uncaptured pause/no sound option.
- Interlace to non-laced switch graphics corruption fixed (b17)
Beta 18:
- Z2 Fast Autoconfig on/off checkbox added.
- RTG double/triple buffering option added ("no buffer" is not supported in RTG mode)
- Do nothing if Load From or Save From file dialogs are canceled.
- Input panel mode (Configuration #1-#3) also autoswitches joysticks/mice using "GamePorts" method
(GamePorts setting overrides Input settings) if GamePorts panel port is not set to "none".
(autoswitch = press button on non-configured joystick or mouse = enables it automatically)
- Task bar click minimize didn't enable minimized state.
- Accept non-power of 2 sound buffer size.
- GUI sound buffer range changed, previously next size was always previous * 2. Now buffer sizes are
256, 512, 768, 1024, 1536, 2048, 3072, 4096, 8192 and 16384 samples.
- Fixed NTSC and 100% floppy speed mode disk errors in some situations.
- A4000 Quickstart/advanced chipset configuration updates, 0xc0 to 0xcf is chipset mirror, ROM mirrors don't exist.
Beta 17:
- Fixed b16 low latency vsync issues.
- Possible fix for no buffer vsync tearing in D3D mode on some systems.
- Tweaked b4 too fast cpu audio hack, it broke routines that start playing empty sample (with length=1)
and then near immediately reset audio pointer to correct sample. Hack detected this as a bad
behavior and "fixed" it causing corrupt sound. (Game Solid 2 AGA)
- Release keys before pausing, stuck Alt if Alt-Tab pressed and emulation was set to pause when inactive.
- Magic mouse triggered window activation/deactivation didn't handle inactive pause or sound correctly.
- UAE controller mounted RDB hardfiles support bootable and do not mount checkboxes. "Do not mount" ticked
= ignore all RDB hardfile partitions, "Bootable" unticked = do not boot from any RDB hardfile
partition. Other boot priority values are ignored.
- Execute drive diagnostics IDE command should also set interrupt state (if enabled)
- Enable null filter if none and low latency vsync selected. It can't work with "none" filter.
- gfx_contrast/gfx_luminance/gfx_gamma didn't work on the fly using uae-configuration.
- Interlace mode detection rewritten. This should improve interlace emulation of weird programs
doing weird things with interlace... Do not simply mirror BPLCON0 LACE bit but also check
that LOF bit toggles correctly.
- Only enable vblank waits in non-vsync modes if triple buffering is enabled. I always forget that
it is bad idea because on some systems it works fine, on some others it causes huge slowdowns.
- Some Advanced Chipset panel settings were not overridden if compatible settings was enabled.
This could have caused strange compatibility problems even in Quickstart modes if default.uae
had modified advanced chipset config entries.
- On the fly RTG vsync mode switch does not freeze the emulation anymore.
- Fixed A1000 Quickstart ROM missing message.
- KS 1.2 or older: map Z2 FastRAM as a non-autoconfig memory board.
- HID joystick negative axis values broke in b15.
Beta 16:
- AROS CDFS update, disabled annoying and pointless "Write protected" requester.
- Reload shader filter automatically if shader file's modification date changes,
quicker to experiment with filters, changes will be visible immediately.
- Added texelsize as a parameter to _winuae.fx shader, needed to quickly access other
pixels (not just current pixel), version number bumped to 3.
- DirectDraw mode screen blanked when adjusting slider settings on the fly.
- Reordered emulated autoconfig boards, first comes all Z2 boards and then all Z3 boards.
KS1.x stops autoconfig process when first Z3 board is found, previously filesystem "board"
was after Z3 boards causing UAE controller HDs to not mount under 1.3 if Z3 or RTG was
enabled. Debugger 'dm' command also shows name of current autoconfig board in autoconfig
config space if autoconfig didn't finish.
- Picasso_FindCard() will now return error if RTG board is not fully autoconfigured.
- Added RTG Z2/Z3 board mode selection. NOTE: both Z2 Fast RAM and Z2 RTG RAM must fit in 8MB
Z2 autoconfig region.
- Removed NO_SHUTUP flags from emulated autoconfig devices, AOS is now allowed to "shut up" the card
(usually can only happen if there is no free config space) and continue autoconfig process.
Probably never happens but maybe someday it is needed.
- Clear RTG screen buffer when switching modes, sometimes previous graphics was visible on border
area if RTG resolution changes without host screen mode change.
- Low latency vsync partial rewrite, fastest possible CPU/JIT should have better peformance
compared to previous betas, triple buffering is not needed anymore, double and triple should
have exact same performance, triple only increases latency. RTG low latency vsync should
be stable now, some hangs also fixed.
NOTE: Previous betas saved gfx_backbuffers_rtg=2 to configuration file, edit it or remove it manually if
you want to use double buffer (=1) RTG mode which is also the default now. There is no GUI option yet.
Beta 15:
- Append 'i' to PC resolutions that are interlaced. (TV Out, VGA + 15KHz hacks etc..)
- Low latency Amiga interlace mode odd/even fields are now in sync with output's odd/even fields,
if output resolution is also interlaced.
- Set cpu speed to "real" if it was fastest possible originally when switching cycle-exact on the fly
using uae-configuration.
- MIDI device IDs are correct again (b1)
- Display panel displaydata PAL/NTSC/etc select box now mirrors currently active emulated setting.
- "Default refresh rate" skipped every other frame in DirectDraw mode (b14)
- gfx_autoresolution_min_vertical and gfx_autoresolution_min_horizontal support on the fly adjustment
using uae-configuration.
- Write winuaebootlog.txt to Windows temp directory if original directory is read-only.
- Directory harddrives configured as unbootable are now really unbootable under KS 1.3.
- Mequa's optimized Akiko C2P added.
- HID raw input mask overflow when HID bitsize was 32. (PPJoy)
Beta 14:
- Input panel qualifier key/button support. I think this was requested many many years ago.
(I didn't originally plan to do this now but someone reminded me few days ago..)
- Any key or button can be configured as a qualifier (like a shift or control key that modifies behavior
of other keys)
- Any Input Target can be configured to require qualifiers. Input Target only triggers if it's
Input Source and all configured qualifiers are active at the same time.
- If multiple slots are configured, only slot(s) that have matching qualifier will be triggered,
for example if slot 1 has qualifier and slot 2 has none: Only slot 2 triggers if Input Source matches
without qualifier active and only slot 1 if Input Source matches with active qualifier.
- Same qualifer code (1-8) can be configured to more than one key/button.
- Qualifier(s) set to any other types than keys or buttons is currently undefined.
- End ("*" in GUI), Shift, Alt and Control keys are mapped to built-in qualifiers.
- Most previously hardwired key mappings (END+F1 etc..) are now implemented using Input qualifier system
Exceptions: F12 so that there is no way for users to accidentally disable GUI access.
END+<number> and END+<numpad number> disk swapper and statefile shortcuts, I didn't want to add 30+
new mostly pointless input targets.. Disabled if END-key's qualifier flag is removed.
- Qualifiers and custom events: slots 1 to 4 and 5 to 8 can have different qualifiers.
- Doubled number of input target slots (4 to 8)
- "Copy from"-button corrupted memory.
- Added keyboard default options to "Copy from"-button. Can select either Amiga or PC default mapping.
- TODO: restore only single input target to default.
- Less than 35Hz vsync display refresh rate: show only every other frame.
- Workaround for strange Windows feature or a bug. First call raw input RegisterRawInputDevices() to unregister
HID devices and then immediately call to register them again: Windows randomly stops reporting HID events.
- Windows to Amiga clipboard sharing wrong string size if string contained cr/lf line endings.
- Low latency VSync screen mode switch fixes and updates.
- Native code execution (winlauch.alib etc..) is not anymore allowed by default. Option in misc panel.
Beta 13:
- bsdsocket emulation: use SOCK_DGRAM if requesting IPPROTO_UDP + SOCK_RAW. Raw sockets require
admin privileges and have restrictions (introduced in XP SP 2 / Vista). This partially fixes Genesis
traceroute, UDP packets are now transmitted (Wireshark detects it) but for some reason it is not
possible to receive ICMP packets using winsock anymore (but ping that both sends and receives
ICMP packets do work fine, so it seems you can only receive replies to your own packets)
- bsdsocket emulation WaitSelect() incorrectly cleared break mask signals, this caused programs like
traceroute to not exit with CTRL+C.
- Swallow raw input mouse middle mouse button presses if middle mouse button is set to untrap mouse.
- WinUAE Windows dialogs (not GUI or file dialogs) may have been invisible in some situations in
fullscreen D3D mode.
- Some on the fly config changes caused side-effects if new vsync mode was enabled, for example
JIT on<>off or fastest possible<>approximate caused graphics corruption.
- Switching on the fly to/from fastest possible CPU to approximate or cycle-exact mode in low latency
vsync didn't switch to correct internal vblank detection mode.
- It was possible to enable both JIT and cycle-exact using uae-configuration which froze the emulation
until GUI was entered and exited (which fixed the bad configuration). Now this conflicting
configuration is detected and JIT is automatically disabled.
- Built-in CDFS crashed if CD was unreadable (empty CD-R).
- Input panel custom event configuration changes didn't trigger until some other config entry changed
or GUI was entered.
Beta 12:
- Quick beta update: blitter cycle-exact mode was not cycle-exact in b10 and b11 release builds.
Beta 11:
- SocketBaseTagList() must not report unknown tag error unless tag is really unknown, not just
unsupported. SBTC_LOGx tags are now "supported" because some programs sets them and they also
do not want to get any errors.
- bsdsocket.library SBTC_IOERRNOSTRPTR, SBTC_S2ERRNOSTRPTR and SBTC_S2WERRNOSTRPTR implemented.
- bsdsocket.library SBTC_FDCALLBACK implemented. Should fix (SAS-C compiled only?) Unix ports that
use both socket and plain file FDs.
- Multiple bsdsocket emulation thread safety fixes. Should finally fix all YAM hangs.
- Directory filesystem internal file size access update, previously Examine() and friends returned old
file size if file size changed (either inside or outside of emulation) until file was closed.
(fixes Subversion bad request 400 error)
- Built-in zip unarchiver utf-8 encoded file name support implemented
- Vertical centering and small enough display size: vertical positioning was really wrong.
Beta 10:
- RTG mode list should always list all monitors' supported resolutions.
- PAL filter display positioning is now same as other filters.
- Removed obsolete right control key hack, Amiga does not have right control key, it was only originally
needed to handle keyboard layout B in old UAE versions.
- Cycle-exact mode and very heavy interrupt activity caused lost internal interrupt event in some very rare
situations, bug introduced long time ago. (Guardian Dragon II / Kefrens random hang, probably others too)
- In non-vsync modes only triple buffering enables vsynced page flipping, other modes flip instantly
for better performance (and possibly introduces tearing but it is better than bad performance)
- Log more complete RDB dump when mounting RDB hardfile or real harddrive using UAE controller.
- bsdsocket emulation tweaks. SocketBaseTagList() more compatible with AmiTCP (emulate weird behavior of
breaking tag list processing if unknown tag detected, some programs actually don't even have a TAG_END..),
get/setsockopt more compatible ("Unknown optlen (1)" log error messages) Convert SO_SNDTIMEO and
SO_RCVTIMEO time values between milliseconds and struct timeval.
- HID input stuck button fixed if multiple buttons were kept pressed while releasing another button.
- HID input configuration loading didn't always match devices correctly
Beta 9:
- USB HID game controller support really works now. (HID signed value handling is a bit special)
Also added pad quirks list from Linux, some game pads apparently report bad minimum and maximum range
values, this also includes Logitech G13 stick which was not listed (reported range is -127 to 127,
real range is 0 to 255) and this caused the b8 problem because I assumed it was supposed to work that way
which of course broke other correctly working devices with negative minimum range.
- D3D and DirectDraw fullscreen mode monitor selection improved, it wasn't reliable if system had
more than 1 display adapter(s). (Win32 EnumDisplayDevices(), DirectDraw and Direct3D monitor indexes
are not guaranteed to be same)
- Adjusted sound buffer range, old 1 is new 2, 2 is 3, and so on. Old 7 is too big, most drivers won't
accept it and new vsync can work with buffer smaller than old 1. (Buffer size "0" or "1/2" would have
been too confusing..) In other words, if you load old configuration, only value shown in GUI increases by one,
real buffer size does not change.
- Fixed Graffiti emulation crash if Graffiti hires mode was detected but emulation was
not configured for superhires support. (Only in some situations)
- Disable genlock detected option if A2024 or Graffiti enabled, this is impossible configuration and would only slow down
emulation (forces Graffiti emulation to keep looking for command codes continuously)
- PC keyboard emulation mode, maps keys like F12, End, Home etc.. to Amiga key codes (afaik same key codes are also used by AROS, OS4 and MorphOS).
Num Lock opens the GUI by default (Only remaining key that is more or less free), all other special UAE key mappings are disabled.
Config file only at the moment: input.keyboard_type=pc
- Do not include "raw" display modes (marked as "!") in RTG resolution list.
- Old vsync mode is back (native only, non-fastest CPU mode compatible only)
Beta 8:
- Fixed D3D RTG hardware cursor stupid divide by zero crash introduced in b6
- Old "Include CD/DVD drives.." now always mounts in CDFS + uaescsi.device mode (uaescsi.device is automatically enabled)
- Approximate CPU speed and 68020: divide A500 instruction cycle counts by 4.
- RTG vsync and >=100Hz display didn't work correctly.
- RTG vsync and non-fastest CPU speed mode fixed.
- Removed RTG autovsync setting, it does not make any sense.
- Fixed D3D + no filter crash in some situations.
- CDFS CD mounted drives are now bootable but only if media is present when drive is mounted to prevent ugly "No disk present in device CDx:" requesters.
- Display vertical position was wrong if A2024 or Graffiti emulation was enabled.
- AROS ROM updated.
- Low latency USB HID game controller raw input mode is now the default (except if Windows XP, it should work but enumerated device paths are wrong),
old custom input mappings compatibility is not guaranteed, DirectInput is still used for any non-HID devices.
- Fixed HID analog stick handling if reported range was -val to +val instead of 0 to +val, also other small updates.
- USB HID device name detection improved, less generic names, better match with DirectInput device names.
Test all input devices and report any strange behavior!
Beta 7:
- vsync in non-fastest CPU modes fix (b6)
- Renamed "Include CD/DVD drives.."
- Disable other uaescsi.device CD drives if image mode or drive letter is selected from CD type select menu.
Beta 6:
New vsync should finally work in all modes.
- Removed sound exclusive checkbox, WASAPI exclusive modes are now listed in select menu.
- New RTG vsync using low latency sync method, currently always triple buffered.
- Display selection GUI changed again, now lists both display adapter(s) and connected monitor(s).
- Associated ".uae" didn't set correct icon id (right click on .uae shows wrong or missing icon). Reset .uae association again to fix it.
- Fixed filter panel hang in some situations before emulation was started.
- Low latency vsync keeps list of modes that have already been calibrated, switching back to remembered mode uses stored calibration value.
- Unreliable old-style vsync options are gone. Replaced by low latency + double or triple buffered mode.
- DirectDraw low latency vsync fully implemented.
- RTG hardware cursor positioning fixed in aspect ratio corrected full window modes.
Beta 5:
- Removed obsolete fake (50), (60), (100) and (120) refresh rates.
- Primary Display Driver monitor selection removed.
- Only primary monitor allowed >75Hz modes.
- Does not load or use ddraw.dll anymore if D3D mode enabled.
- Display and mode enumeration rewritten (does not use ddraw aymore).
- DirectDraw mode vertical positioning fixed (was always on top of screen)
- Fixed Sound panel crash if sound card id stored in configuration file was larger than available number of sound card drivers.
- Handle situation where PortAudio Pa_IsFormatSupported() returns true but Pa_OpenStream() fails with paInvalidSampleRate.
(Usually seems to happen when requesting 44100Hz but hardware supports only 48000Hz)
- VSync sound syncronization improved (All types: DirectSound, WASAPI, OpenAL and PortAudio). Note that buffer settings are not same between device types.
- SND% blue/yellow/red flickering fix, previously flickering speed changed depending on buffer size.
- More fastest possible/JIT low latency vsync updates.
- AROS CDFS is now UAE boot ROM built-in. "Include CD/DVD drives.." now has two modes:
- if uaescsi.device is not enabled: mount as Windows drive (same as previously) This mode may disappear in the future.
- if uaescsi.device is enabled: mount using built-in CDFS. (Correct file names, protection flags, audio tracks etc..) There is no need to install
Amiga-side CDFS anymore. I am not sure if AROS CDFS if good enough but at least it appears to work..
"Include CD/DVD drives.." (+uaescsi.device) can now be used to install OS3.0+ safely. KS2.0+ only. (CDFS requires 2.0+ features)
Beta 4:
- Another switching from CE mode to non-CE hang fix. (Blitter nasty related)
- Another too fast CPU audio hack update, fixes random glitches (Uridium II, Moonstone, probably many others)
- Low latency vsync buffering change, selected buffering mode can be modified now.
- No buffering is same as previously
- Double and triple buffering can be enabled, increases latency but can reduce random jumps.
- Fastest possible CPU low latency vsync update:
- Works now without buffering
- Flips buffers in vblank thread (Flipping timing is correct now, tearing gone)
Normal vsync may still be broken.
Beta 3:
- Fixed DirectDraw mode crash (b1)
- Fixed uaenet.device crash if program attempted to open it but winpcap was not installed. (old)
- Added CD32 drive emulation hack, CD32 Mutation Gold Compilation games now load (but they didn't work on my real CD32 either so technically
not working is correct behavior. This hack is removed if it breaks other programs)
- Too fast CPU audio hack update, one of the hacks actually caused sound glitches with some strange sound routines.
- Do not blank screen if display can't be shown (DirectDraw display position negative upper left coordinates), now sets coordinates to zero.
- Keyboard statesave buffer overflow (b1)
- Experimental new vsync mode for fastest possible/JIT CPU modes. Tested using WHDLoad demos and games.
- Uses secondary thread which polls vblank state continuously. There is no way to get signal/message/whatever during vblank. Stupid Windows.
- Activates automatically if 2 or more CPUs/cores detected and fastest possible/JIT and low latency mode selected.
- JIT is also supported.
- Works in windowed and fullscreen modes (just like normal low latency vsync).
- This mode is currently buffered, used to hide horrible tearing (flip timing is much more complex if fastest possible CPU), will be hopefully improved later.
- Sound pitch changes possible, this also needs some improving later.
Beta 2:
- Adjusted horizontal positioning, full overscan was not visible.
- Clear display buffers when monitor type or refresh rate changes.
- A2024 1-plane mode brightness level fixed (DPL bits implemented)
- Fix A2024 10Hz flickering near panel borders.
- 16-bit color supported in A2024/Graffiti emulation.
- Disable audio emulation hacks if 68020 CE (previously only if 68000 CE)
- Switching from CE to non-CE on the fly froze the emulated machine in some situations until mode was switched back to CE.
- PCMCIA CF IDE emulation added ("SC IDE" controller type), originally developed for AROS m68k PCMCIA CF IDE support testing.
- Fastest possible without JIT + low latency vsync should work much better now (but probably still not good enough)
Beta 1:
- Number of supported serial ports, MIDI ports and sound devices increased, allocated dynamically.
- Fixed crash if more than max supported serial ports or MIDI ports found.
- Sort MIDI and serial ports alphabetically.
- Hardfile write protection has never worked, only worked when using real harddrives.
- Very old keyboard handshake emulation hack removed, now following key code won't arrive until current key
code has been handshaked properly. I guess this hack was needed when CIA emulation was not good enough.
- Parallel joystick adapter unused pin added to Input panel (spare/2nd button) World Cup 1990 parallel
port joystick adapter uses this pin.
- Gayle IDE emulation IDE doubler mode improved, both buses are now separate, supports drivers that
send command to drive on another bus when drive on other bus is still processing previous
command (Linux/NetBSD/AROS)
- Emulate disk write with enabled wordsync. Write does not start until wordsync marker has been found
on disk. Some games accidentally enable wordsync bit when writing. Previously write never started.
- Saving configuration crashed if scale mode was set to integer.
- -portable disables winuaebootlog.txt, also added -bootlog and -nobootlog parameters.
- Switching from physical CD to image or vice versa didn't send uaescsi.device change notifications
- Support added for special screen modes that can have different "input" and "output" resolutions
or positioning. On the fly switching also supported.
- A2024 and Graffiti emulation implemented, uses above system. Configuration in chipset panel,
autodetect = attempts to detect if mode is normal, A2024 or Graffiti.
- All programmed display modes (DBLPAL/NTSC, MULTISCAN etc..) should be always centered, exact
display positioning configuration is now taken from sync position custom registers.
- Normal modes may also have better centering without extra configuration.
- Mode switching can leave old graphics garbage, this will be fixed later.
A2024 and Graffiti emulation notes:
- 32-bit display mode required.
- Direct3D or DirectDraw + null filter mode required. (=Does not work if DirectDraw + no filter)
- Make sure display resolution (lores/hires/shres) is equal or higher than required resolution:
* A2024 10Hz: lores
* A2024 15Hz: hires (loss of every other pixel if lores)
* A2024 only tested using WB drivers (which don't use all A2024 special features)
* Graffiti lores: hires (does not work at all if lores)
* Graffiti hires (AGA required): shres (does not work at all if hires or lores)
- A2024 output resolutions: 1024x1024 (PAL), 1024x800 (NTSC), OCS chipset: 1008x1024 or 1008x800.
- Yes, weird A2024 refresh behavior is normal, single display is built from multiple frames!
- A2024 enabled but special mode line not detected: fall back to normal native display. Real
A2024 would show 8 grayscale screen. This is not (yet? Pointless feature?) emulated.
NOTE.NOTE.NOTE.NOTE: Because display positioning has been changed:
- Remove all custom filter positioning settings first!
- Also test without enabled horizontal or vertical centering.
NOTE2:NOTE2:NOTE2: This can also change again during beta period. It won't be compatible with old versions.
2.3.3
Beta 7:
- do not misdetect standard adf images that have small amount of garbage data appended at the end of file
- forgotten experimental code removed. (b1, broke Sequential 18Frames! part)
- ECS superhires sprite color fixed (Didn't handle "color scrambling")
Beta 6:
- added "statefile_name" configuration file entry, sets default statefile name (normally "default.uss")
- fixed jittery raw mouse movement
- resolution autoswitch should now work correctly, no more strange centering without autoscale.
- analog stick mapped as a mouse had wrong and unstable speed
- rarely used configuration entries were only supposed to be written if they had non-default value.
re-saving configuration will reduce size of most config files. Older bug.
- "Integer scaling" visible in GUI (AF specific feature originally), selects biggest integer scaling
ratio that still fits on screen
- "VSync (new)" renamed to "Low latency VSync"
- Input panel configuration #1-#3 can be renamed by manually editing config file (input.x.name=name)
- GUI allows FPU in cycle exact modes. Not much point but if you really want to enable it..
Beta 5:
- CD image audio play buffer size increased, some system have glitchy sound if buffer is too small
- on the fly resolution change didn't reset all parameters
- resolution autoswitch now uses startup resolution and doubling values as highest supported mode
(internal display buffer needs to be as big as max supported mode and it can't be re-allocated
on the fly without major display glitches)
- RTG modes were rendered twice/frame, caused performance loss (b1)
- do not add >2M chip RAM to memory list if it is already added (perhaps m68k AROS does this automatically in future)
- borderblank change didn't redraw all changed scanlines
- key/button mapped to mouse directions didn't work
- add Harddrive allowed without admin privileges, removable drives do not seem to require extra privileges. (anymore?)
- b4 sprite optimization fix was broken
- automatic scaling max scaling values adjusted, now 3.x max overscan fits completely on screen
Beta 4:
- rawinput was not enabled properly in all situations (mainly affected -rawhid parameter)
- write log message if D3D command pipeline flush fails or is not supported (tearing in new vsync mode)
- added win32.gui_page=<name of panel> configuration entry, selects default panel when GUI opens
- magic mouse in fullwindow mode only uncaptures if mouse would move to another monitor
- quickstart mode now sets sound mode to "disabled but emulated" if it was "disabled", previously
it was always set to "emulated".
- CD/CD image switching on the fly was unreliable (different problem than b2 fix)
- optimization that detects if sprite changed has not been working for ages
- sprites above or below bitplane area and AGA border sprite bit set caused graphics garbage around the mouse cursor in some situations.
- possible fix for autoresolution aspect ratio problems when filter aspect ratio setting is enabled
- removed default scroll lock -> inhibit screen updates key mapping
- AROS ROM updated
Remaining new vsync updates coming later...
Beta 3:
- tearing in new vsync modes should be completely gone, without introducing any extra latency
- Display panel buffering option now does nothing in new vsync modes
Beta 2:
- experimental joystick raw input support, enable using -rawhid command line parameter.
- D3D blank screen problem should be really fixed now
- empty winuae.ini now does exact same as -portable command line parameter
- harddrive paths relative to win32.hardfile_path didn't work
- config file full paths are converted to relative if path matches win32.xxx_path entries
- ignore new displaydata vsync stuff if RTG mode is currently in use
- Display panel new vsync refresh rate GUI really works now
- uaescsi.device cd image on the fly switching was unreliable
- uaescsi.device crash when switching images (I could only duplicate it with AROS CDFS)
- AROS ROM updated
Beta 1:
- new vsync option
* does not need extra buffers (very little input lag), make sure "no buffering"
is selected
* works also in windowed/fullwindow mode
* attemps to autodetect exact refresh rate, ignores what Windows/driver reports
* less busy waiting, no more continuous 100% CPU usage
* much more stable than "normal" vsync
- old vsync is currently always forced to new mode
Usual vsync restrictions still apply: do not use fastest possible modes, 50Hz capable
display and driver required if you want proper PAL speed.
Old vsync support may disappear later.
- keep old joystick Gameports setting if no joysticks detected when loading config file
- another method to enable unconfigured joystick: quick firebutton press = joystick port,
long press = mouse port
- unconfigured joystick move left/right can also be used to enable joystick
- DirectDraw and 2x filter = non-centered image, broke few releases ago
- IDE multiple sector writes fixed (2.3.2 final fixed spurious interrupts but fix wasn't
complete, last interrupt didn't always arrive causing driver to hang)
- set IDE CHS/LBA address after read/write command has finished as explained in ATA-1
spec (last accessed sector, not next sector). This is undefined in later ATA spec
versions, but AOS IDE driver >256 sector transfers corrupt data if this is not
handled exactly as ATA-1 spec says. (Infamous "max transfer problem")
- detect and log split >256 block IDE transfers
- only load OFS from RDB if partition and RDB filesystem dostype matches exactly
- create _winuae.fx only if full D3D plugin path exists
- A590/A2091 boot ROM was mapped non-executable, crashed on 68020+ CPUs
2.3.2
Beta 8 (RC1):
- always disable FPU when using GUI to change CPU to 68000 or 68010
- slow ram max is now 1.5M (was 1.0M) when Gayle features are enabled.
- stereo separation 0% equaled 100% if stereo delay was 0 or 1
- stereo delay 1 was same as 0
- brightness/contrast/gamma read-only numeric value box added
Beta 7:
- borderblank only worked in AGA mode, BPLCON0 bit 0 was ignored in ECS Denise mode
- config_window_title configuration entry added, text shown on GUI and main window title bar if set
- delay allocation of filter buffers if current mode is RTG
- fixed uninitialized buffer when writing joystick input settings to config file, possible worst case issue
was corrupt input configuration data in config file
- AROS ROM updated
Beta 6:
- Display panel overwrites chipset_refreshrate decimal part only when slider is adjusted
- Display panel directly accepts non-integer refresh rates
- last serial port device was not listed (b1)
- added serial_stopbits configuration parameter, sets Paula serial port emulation stop bit length.
(0 = 1bit, 1 = 1.5bits, 2 = 2bits) Technically it should always work but at least some USB
adapters don't seem to reliably read Amiga serial data at 19200 without setting it to 1 or 2.
(interestingly for example 115200 works fine, this is quite confusing)
- Gameports panel remapping fixed (b4)
- avioutput refresh rate was not rounded to nearest integer (b5)
- fixed crash when switching from RTG mode to native mode (old bug, only in specific combination of filter and display settings)
Beta 5:
- floppy step signal's previous state was not restored properly from statefile (possible one skipped
or one extra step when program steps for the first time after state was restored)
- tight DSKBYTR() read loop sometimes triggered second index sync pulse after few cycles. Broke some
copy protections randomly. (for example original Double Dragon II)
- enable Gayle ID register in CD32 mode. CD32 boot menu checks for Gayle ID and immediately exists if Gayle is not detected.
This must mean Akiko includes some (unused or never fully implemented?) parts of Gayle (at least ID register) because boot
menu works on a real CD32.
- RESET instruction didn't work correctly in 68000 compatible non-ce (prefetch) mode (Arcadia/AR/A1000)
- only use triple buffer if triple buffer selected and vsync enabled. Seems to fix (at least partially)
random Direct3D blank screen issue (also triple buffer in non-vsync modes is quite pointless)
- configuration file chipset_refreshrate accepts now floating point values
Beta 4:
- added new autofire option. Button released = autofire. Button pressed = normal non-autofire firebutton.
- 231b13 reset fix fixed again (A1000 and Arcadia emulation crash)
- automatic resolution switch interlace detection was unreliable
- show a message and refuse real harddrive write attempts to block zero (=RDB write attempt) if drive has one
or more mounted PC partitions. Partitioning is going to fail even if write appears to succeed.
- screen mode change (fullscreen<>windowed or windowed mode window size change) released all currently pressed keys,
it should only happen when WinUAE loses focus, not when switching modes
- window title bar mouse text shortened, F12 note added
- stop the cpu and wait until blitter has finished if any blitter register is accessed while blitter is busy and
cpu mode is fastest possible
Beta 3:
- TD_WRITE64, TD_FORMAT64, NSCMD_TD_WRITE64 and NSCMD_TD_FORMAT64 io_Actual was always zero
- b1 CIA update broke CIA interrupts partially (keyboard problems etc..)
- MIDI input buffer length command line parameter, -midiinbuffer 12345
- AROS ROM updated, should work better again, previous one was quite broken
Beta 2:
- 68000 exception 3 emulation changes (again), many very old copy protections didn't work since last
large CPU emulation update (for example original Soldier of Light and Zoom!)
- win32.floppy_path and win32.hardfile_path finally really do what they are supposed to do
(multiple paths supported, use paths if file not found using original path)
- include non-CDTV/CD32 CD audio state in statefile. Currently ignored during restore
- fixed color change table overflow crash that can happen when running amiga program crashes really badly
- AROS ROM updated, now includes WB replacement
Beta 1:
- added built-in AROS KS ROM (alpha development build), used by default if no ROM files available,
not very useful at this point but more compatible than very basic UAE KS replacement
- serial port telnet server (win32.serial_port=tcp://host/port, add /wait to delay startup until client connects)
- DSKLEN=0x8000 emulation timing improved (Codertrash / Mexx crash after fractal part)
- improved disk wordsync bit timing (El Egg Tronic Quarts / Quadlite)
- improved CIA emulation accuracy in cycle-exact modes (Risky Woods sound glitches)
- fixed random sample ripper crash (ancient bug)
- CDA sound volume configuration entry (sound_volume_cd), default = same as sound_volume value, no GUI yet
- on screen led bar position configuration. config file only, "osd_position=x:y" 0:0 = default, negative value =
offset from top of screen, add % to make it percentage of display height (osd_position=0:95.0%),
x-coordinate positioning not fully supported yet)
- restoring statefile with memwatch point didn't automatically enable debugger memwatch subsystem
2.3.1
Beta 13:
- fixed RESET instruction compatibility problem introduced in previous betas, broke action replay roms.
- BPLCON4 BPLAMx color changes were ignored in far right border (location where actual hpos is 0-7 or so)
Known bugs not fixed in 2.3.1 (too large changes to do in this beta series):
Codertrash / Mexx, crash after few parts. (Disk related)
El Egg Tronic Quarts / Quadlite, not loading. (Disk related)
Risky Woods, sound glitches. (CIA related)
Beta 12:
- emulate A3000 Fat Gary/RAMSEY configuration address space mirroring (no real world effect but I was testing
m68k AROS ROM on my A3000 and noticed this mirroring)
- hrtmon 2.32->2.33 update
- hrtmon didn't work in cycle-exact modes
- MIDI device names are also stored in configuration file (overrides old style id numbers)
- in auto resize and center filter modes 1x/2x.. modifiers change window size
- manual filter configuration size adjustments added, saved to config file
- RTG: do not refresh area outside of bitmap if bitmap is smaller than RTG screen resolution (AROS does this)
- some read write-only custom register changes, bset (and other similar instructions) don't have previously
read prefetch data appearing in data lines when reading (like most other instructions do), data is zero.
This explains why buggy programs that for example bset #x,$dff096 don't mess up register contents too much.
(Fixes Kefrens Party Intro by Wiz, coder thought that bset #10,$dff096 is the right way to enable blitter nasty)
- sample ripper ignored most samples (broken when audio emulation was rewritten in 2.3)
- topmost scanline was usually not visible in autoscale modes
- weak bit copy protected ipfs broke in earlier betas (only if using latest dll)
Beta 11:
- random RTG color errors when switching to/from fullscreen 8-bit RTG modes
- emulate chipset feature where custom dma pointer register write is ignored if next cycle uses same register for Agnus DMA access
(bitplanes added, sprites partially supported previously) fixes intro MoreNewStuffy by PlasmaForce
- added execute drive diagnostics IDE command to Gayle IDE emulation (used by AROS ata.device)
- some spurious IDE interrupts removed (AROS ata.device complained)
- SPTI+SCSI SCAN ignored all detected non-CD devices (2.2.1)
- joystick layout A: numpad enter was mapped to button 2, it should have been button 3 and only if gamepad joystick enabled
Beta 10:
- fast multicore systems filesystem slowdown fix (always been there but "slower" CPUs didn't trigger it so easily)
- last scanline was invisible in filtered doubled modes
- sprite dma does not switch immediately off when DMACON sprite bit is cleared (Magic Demo / Diabolics)
- do not autoswitch (button press on unused input device) if it would replace GamePorts custom remapped input device
- fixed GamePorts parallel port configuration possible crash and wrong configuration
Beta 9:
- emulate mouse counter behavior 100% when joystick is connected (increase/decrease counter by 4 when
two lowest bits change from 0 to 3 or vice versa) Most likely no program cares.. Mouse cursor
movement is now exactly same as on real Amigas when moving joystick in mouse port..
- "Delete Saveimage" button didn't work, broke when CD image GUI was added
- save CPU/chipset ratio to statefile
- attempt to load disk image and harddisk paths in statefiles from current dir, current adf/hardfile paths
and directory where statefile was loaded if original path or file is missing
- harddrive statesaves didn't save correctly if more than 1 harddrive was configured
- b3 "stop linedraw if blitter register modified while active" hack didn't always clear blitter active bit
- stopped CPU in CE mode was saved incorrectly to statefile (introduced in some earlier beta)
Beta 8:
- mixed mode CD first audio track didn't always play (uaescsi.device only)
- some CD/DVD drives refuse to read MODE 2 Form 1 data tracks if "only read Mode 2 Form 1" sector type set. "Any type" works..
- SCSI emulation CDA paused state should automatically unpause when play request arrives
- most SCSI commands in uaescsi.device SPTI mode were broken since SCSI emulation was implemented..
(SCSI/CD audio changes should fix for example T-Zero and The Shadow of the Third Moon CDA problems)
- comma in cdimage command line was incorrectly handled
- audio pitch errors if audio period rate was near minimum audio DMA time (2.3.0)
- added basic doslist debugger command ("To")
Beta 7:
- RTG board start address was not 16M aligned if Z3 fast board smaller than 16M was enabled (no functional difference)
- D3D mode was still modifying host FPU rounding modes
- increased number of available breakpoints and memwatch points
- debugger commands can be sent via uae-configuration (or custom input event)
uae-configuration dbg "debugger command" (remember quotes if debugger command has spaces)
- Fullscreen Max/TV filter settings only worked if display panel resolution matched emulated resolution
- added "Manual" filter option (originally used by AF, now added to GUI, positioning using absolute shres/laced coordinates) Ignore it.
Beta 6:
- "old" RTG interface added, used by AROS KS ROM replacement RTG driver
Beta 5:
- check clipboard sharing disabled state earlier, before any resource allocations
- clipboard sharing option added to misc panel
- fixed archive mounting crash if archive can't be fully unpacked (for example dms without filesystem)
- autodetect byteswapped harddisk RDSK signature in blocks 0 to 15 (not just block 0)
- fixed 68020+ non-JIT/non-CE but compatible mode set causing random errors in some situations (b1)
Beta 4:
- automatically disable battery backed up clock when input recorder is enabled
- automatic resize didn't set "configuration changed" flag when window size changed, size timeout also changed to 10 frames (was 50)
- 2352 byte sector plain iso images didn't mount (misplaced parenthesis in mode test..)
- exception return address error in non-JIT fastest possible CPU modes (b1)
- increased MIDI sysex buffer size (16000 byte buffer is not large enough, some devices send about 18000 bytes)
- copy also log file (if enabled) when saving input recording
- clipboard sharing can be disabled (config file only)
- joystick/mouse button contact bounce is now off by default (config file only)
- Gayle ID update, 0xD1 (AA), 0xD0 (normal). Real A600/A1200 confirmed (unless there are other revisions)
Rerecorder features:
Re-recorder = combined input and state recorder.
- automatic (every n seconds) or manual ("Save state capture checkpoint" input event) in-memory state capture
- circular buffered multiple state capture checkpoints (note that each state capture takes as much RAM as one uncompressed normal statefile), use "Load current state capture" to return to previous checkpoint and "Load previous state capture checkpoint" to return to previous (if more than 0.5s) or to older (if less than 0.5s to previous checkpoint) check points.
- recording can be started from boot or you can use already existing statefile
- When saving recording (can be done as many times as needed), following files will be created:
- input file (*.inp) Note that currently this includes debugging data.
- startup statefile (*.uss) This gets automatically loaded when starting playback.
- all disk image(s) that were used during recording. Used automatically when playing back.
- during playback you can switch to recording mode any time by clicking "re-recording enabled" button (do not touch playback button). First state capture check point will be created automatically.
- playback is 100% cycle-exactly identical to recording. Even single emulated clock cycle difference will be reported and can cause desynchs! (Amiga's shared chip ram between custom chip DMA and CPU makes this very difficult, even one incorrectly timed audio DMA fetch stealing single CPU cycle can mess up the timing completely)
Requirements:
MUST BE A500 most compatible (cycle-exact) Quickstart configuration.
Only following hardware configuration entries can be modified:
- chipset (ocs/ecs)
- number of disk drives
- memory size
- Kickstart ROM
This means no harddrives. Even unused or dismounted harddrive will mess up the timing.
- standard and extended adf supported (including all compressed variants).
- compatible ipf support requires 4.1 or newer library version (not yet released)
- Warp mode is safe to use.
- Most host GUI options can be changed while recording or playing. Changing input options may not be fully supported.
All other hardware settings MUST BE exactly same as in original Quickstart configuration.
(it may still work but you are on your own and you should keep your hands away from keyboard)
Input file most likely won't be compatible with newer emulator versions if there is even single cycle exact mode
timing update.
It took over a month to make this usable. It takes less than one second to move this to "unsupported stupid feature" category. Think about it before posting anything stupid. (I don't care about this feature, I was bribed to do this :))
- input recorder and state recorder completely rewritten and merged, it is now "re-recorder"
- desynch issues fixed
- input recording file is linked to statefile, statefile is automatically loaded with input file
- statefile/inputfile pair plus including all used disk images will be saved to disk when
"save recording" button is clicked (does not stop recording, can be saved multiple times)
- buffer size configuration replaced with number of states buffered (circular buffer)
- rewind operation change, less than 0.5s from latest state: remove newest state and jump to
previous state, more than 0.5s from last state: jump to newest save
- "rewind" = "Load previous state capture checkpoint" input event or "Load current state capture
cheakpoint" = "rewind" to newest capture checkpoint, never earlier
- rewind restore graphics glitches fixed
- cdtv/cd32 support (state recorder only, cd timing is not compatible with input recorder)
- automatic in-memory input recording, rewind automatically starts input recorder playback (if enabled),
any user input event (or end of input data) restarts recording.
- save checkpoints manually by using "Save state capture checkpoint" input event
Beta 3:
- ipf support only worked with not yet released library version (b1)
- use original autoconfig IDs if maprom is enabled (blizkick detection checks for IDs, update probably needed in future)
- stop blitter linedraw if bltcon0 is accessed while line draw is active (workaround for Boundless Void / Nemol)
- Direct3D + LARGEADDRESSAWARE fix (possible fix for D3D blank screen problem?)
Beta 2:
- CIA timing issue in some situations (b1)
- some 68020+ exceptions had wrong return address (b1)
- do not attempt to save log window position if it is minimized
- do not set vblank bit during state restore, old code that broke interrupt delaying and rerecorder timing
Beta 1
!!!!!! NOTE: Re-recorder discussion will be opened later in another thread. All posts related to new input recorder
in this thread will disappear. !!!!!
- directory filesystem ACTION_LOCK_RECORD and ACTION_FREE_RECORD dos packets implemented (very rarely used)
- CDTV CDA playback didn't work if play ending track was set to last track (Prehistorik CDTV)
- reset CD support internal flags when reseting or loading new configuration
- save chipset extra setting to statefile, previously state restore always restored full
advanced chipset configuration and reset chipset extra setting
- 3-stage 68020 cycle-exact prefetch pipeline (not much difference compared to old one)
- do not emulate very small audio periods exactly in non-cycle exact modes, this combined with
very short samples used huge amounts of CPU power (used by some stupid audio routines) (2.3.0)
- when restoring state, sound was initialized after first frame, could have caused glitches
or missing sound if audio registers were modified during first frame
- mouse counters (JOYxDAT) were not restored from statefile, fixes random statefile restore mouse jump
- VPOSW ECS/AGA-only LOL-bit (long line) is hardwired to zero (can't be modified) in standard PAL mode
- SCSI emulation START/STOP UNIT translated to physical drive load/eject command
- combined volume and period modulation was broken in 2.3 audio update (probably never used in real world..)
- added "gamepad" device type to gameports panel, has two differences compared to "joystick", 3 buttons
mapped and pullup resistors emulated (most Amiga compatible gamepads have pullups). It is not possible
to have pullups automatically in joystick mode because it can break some badly programmed single-button
games, some detect always pressed button in this situation.. (fixes Aladdin and other games that
only have working 2nd button if buttons have pullup resistors)
- allow scanning of plain roms (no archives) in winuae root directory
- A2065 statefile support (autoconfig location saved), max allowed transmit size was too small, big packets
were silently dropped, random lost transmit interrupts, broadcast packets being ignored if NIC chip
hardware multicast filter was disabled
- change emulated board filesystem and Z3 board IDs because of ID conflicts with QuickNet Z2 board (2011/2)
- set default filter to 1x (was FS) and enable new "default" scaling method that only scales if window
size is set to "large enough" or so small that image wouldn't fit, always scales in fullscreen modes.
- "autoresolution" checkbox added to Display panel, automatically selects lowest used resolution setting
(lores screen = lores/nondoubled, lores and hires at the same time = hires/nondoubled etc..) Positioning
may not work correctly yet, glitches possible.. Enable some autoscaling settings if you don't want changing
display size..
- do not attempt to steal focus in magic mouse mode if WinUAE is not active, it only messes up focus state
- A500 power led fade tricks should really work now
- less accurate CIA register access timing in JIT modes (not really much point in accuracy..)
- "re-recorder" implemented (completely rewritten combined input/state recorder). More information
coming later.
- many statefile related changes for input/state recorder compatibility, may break something else..
- WARNING: statefiles created with betas may not be compatible with future versions!
- save current track's data and density in statefile if disk drive motor was active (regenerated
raw track data/density after state restore may not be identical if using ipf or fdi images)
- state save/restore while disk DMA is active is now fully supported
- save strings in utf8 (should have been done long time ago during unicode updates..)
- useless DMAC chunk was saved in non-CDTV configurations (2.3.0)
- CD state chunks were saved even if selected configuration didn't have any CD drives (2.3.0)
- 68020 cache and prefetch pipeline saved and restored
- debugger memory watchpoints saved and restored
- save active (very rare) interrupt delays (interrupts that have been triggered but have not yet
been noticed by Paula)
- mid-instruction CPU state save support, restored state CPU state is now exactly same
as when state was saved (68000 CE only, 68020 CE later), previously current instruction
was simply restarted (this was really complex and non-trivial task, it is only easy if you
accept much higher CPU usage. Which isn't good idea...)
- full blitter statefile support in cycle exact mode, state capture/input recorder only currently.
This saves blitter emulation variables, not real hardware state (internal statemachine state, latches,
counters etc..) because internal structure is unknown. State capture only because it requires 100%
identical state after restore (normal blitter state forces current blit to finish). This is not
enabled in normal state saving because it is very difficult to keep state saving compatibility
between versions when state is hardcoded to current emulation implementation.
Final 2.3.0
Beta 20 (RC3):
- Configuration panel save and delete operations lost currently selected configuration entry
- some filters in DirectDraw mode had blank screen (depended on display height)
- VirtualAlloc() allocation error and JIT direct enabled recursed until stack overflowed
Beta 19 (RC2):
- rar archives crashed if file was already open (stupid design flaw, it was possible to
open archives even if requested mode was read-write)
- added "fullscreen (max)" and "fullscreen (tv)" (approximate only) to "autoscale" select
menu, basically replaces old "FS" filter multiplier
Beta 18 (RC1):
- F13/F14/F15 rawinput keycodes fixed (at least available on some apple usb keyboards)
- removed default volume and mute keyboard mappings because in rawinput mode they
are always handled by Windows (which is annoying, I haven't found any simple way to
disable them, "disable hotkeys" flag only seems to disable Windows keys)
- fall back to directinput if rawinput enumeration worked but RegisterRawInputDevices() returns error
- Paula disk fifo statefile support
Beta 17:
- removed duplicate "none" in filter list
- RTD also missed address error check
- MMU emulation bus error handler uses C++ exceptions again (like in original Aranym version),
removed some not so useful forced inlining, smaller executable.
- decided to disable some MMU table caching and suddenly NetBSD crash disappeared, MMU emulation
is probably much slower now but at least it seems to work until proper fix is found,
(hopefully Aranym developers have some ideas) Debian 68k Sarge Linux confirmed working now
- right border color "glitch" when waiting for hpos<7 in copper list broke in b3
- only disable Direct3D9Ex if pixel shader support is < 2.0
- do not open files smaller than blocksize (512 bytes) as a hardfile
- hardfile dialog accepts dragged and dropped files
Beta 16:
- removed old audio hack that was left accidentally, not needed since DMAL was emulated
(Murder, Mission Elevator etc.. compatibility hack is finally gone)
- CD audio OS specific code was duplicated in ioctl and image mounter, moved to common
source file
- LARGEADDRESSAWARE compiler flag was lost sometime ago, ~1.5G RAM is again possible under
64-bit Windows versions
- second Z3 fast ram region was incorrectly mapped if "z3chip" was enabled
- on some systems winuae stole focus when some other application attempted to open fullscreen
mode
- Windows to Amiga clipboard conversion was not protected from starting new transfer when
previous was not yet received by Amiga-side (previous fix only handled Amiga to Windows
direction), usually caused crash when pressing printscreen in rawinput mode
- 680x0 RTS emulation didn't check if new PC was odd (seems to have been missing since the
beginning?) This finally solves mysterious JIT crashes (thanks Glen!)
- Epson printer emulation didn't flush print buffer when form feed command was received
(and some other commands that cause new page to be generated)
Beta 15:
- swallow USB keyboard led mode phantom keypresses, do not touch non-enabled keyboard leds,
key pressess do not cause lost led state sync anymore. rawinput mode only.
- floppy panel disk image creator can now create FFS and bootable images, pre-formatted
extended adf ("custom floppy") will be created if label is set or FFS or bootblock is ticked.
(empty label box = label will be "empty" when creation standard adf)
- b1 plugin path detection didn't check exe location\plugins
Beta 14:
- DSKSTEP and DSKSELx going inactive at the same time steps the rw-head normally
Fixes Euro Soccer stupid disk change detection.
- uaehf.device HD_SCSICMD TEST UNIT READY returned an error (HDInstTools works again)
- added 68020 CE-mode very approximate 2-stage CPU prefetch pipeline emulation (not that 68020
don't really have 2-stage prefetch but it still will be more compatible without major changes)
Fixes ATR and (partially) Last Ninja 3 CD32 graphics glitches, (missing blitter waits..)
also more compatible with self-modifying code
- CD32/CDTV empty "image mode" tried to select physical drive
- added windowed mode configuration GUI setting (borderless, minimal, normal, extended)
Extended is WIP and something you (and me?) should ignore
- do not capture mouse if left mouse was clicked and WinUAE window had no focus
(now available via GUI = can't be totally useless anymore..)
- borderless mode can be dragged by clicking mouse button once, only double click captures mouse
- fixed epson printing emulation blank page when printing multiple text pages and later pages
didn't have any font or font style changes
- more prowizard ripper updates
Beta 13:
- addaq.x #x,Ax and subaq.x #x,Ax had too long cycle count (this was really stupid bug)
- joystick type (default,mouse,joystick,analog joystick,etc..) was reset to default when
configuration was loaded
- do not decide bitplane dma overriding sprite dma too early, DDFSTRT might get moved few
cycles before bitplane dma was originally supposed to start (Heimdall 2 AGA mouse cursor)
- floppy panel DF0: "write-protected" text was getting disabled
- SCSI emulation is only forced if version stored in configuration file is older than 2.3
- CDTV MODE2FORM0 2336 byte sectors didn't work in image mode
- Sherlock Holmes - Consulting Detective separate video tracks hack removed, working full image is available.
- mds subchannel data wrong positioning fixed
- fixed some rare thread syncronization issues when CDA was stopped
- read also standard 2048 byte sectors using SPTI if CDA required SPTI mode, mixing IOCTL
and SPTI does not seem to be reliable
- Brian the Lion CD32 starts CDA play at the very end of data track, obviously this must not
be an error, only return error if both current start and start + 2s is located inside data track
- files inside archives didn't load if path was relative
- paused CD32/CDTV was resumed after exiting GUI ("old-style" GUI pause/resume was not removed..)
- directories selected via "favorite menu" also sets default path
- prowizard updates
Beta 12:
- <drive letter>: without '\' in harddrive paths was detected as a relative path,
automatically add missing '\', it was commonly used in old config files
- CD32 pad in 2-button mode usually returned non-existing 3rd button pressed
- CD32 pad in 2-button mode didn't have pullup resistor emulation (was lost when
joystick pullups were removed in 2.2)
- autocorrect CD32/CDTV CDA starting position if R-W subchannel data is detected, workaround
for a bug (happens on real CD32 and CDTV too) that can cause missed subchannel frames at
play startup causing corrupt or missing CD+G graphics
- CD thread safety critical sections moved to common part from image mounter
- CD image mounter in play state while replacing image: state was still reported as playing
- do not enable rawinput if rawinput capable device is inserted after winuae has been started
- 2x or larger filters changed RTG hardware mouse cursor size.. (D3D + hardware RTG cursor only)
- scsi emulation always-on logging disabled, added -scsiemulog command line parameter
Beta 11:
- internal CD audio handling update, status change (starting, started, end, error) callback
added, CD32 and CDTV emulation does not poll for state changes anymore, better accuracy
in audio start and end timing. CD handling rewrite should be complete now.
- CD image mounter is now thread safe, no more weird and random behavior if mounted image was
in use and image was ejected or replaced
- fixed rare crash in display emulation (introduced when right border blanking update was added)
- improved CD32 CD sound/animation timing
- CD32 CD timing now works correctly in NTSC mode (previously used hardcoded PAL values)
- "non-path" kickstart rom configuration file selection now only allows normal KS roms in
kickstart_rom variable and extended roms in kickstart_rom_ext variable
- fixed D3D non-shader mode crash introduced in b9
- bogus autofire mode was enabled if same joystick was custom configured in input panel and in gameports panel
(missing masking of flags variable, time to wear brown paper bag again..)
Beta 10:
- archive dragndrop worked too well, it unpacked everything, including adf filesystem etc..
- do not expand zipped filename when dragdropping if zip only contains single file
- insert floppy image dialog in disk swapper also "extracts" images inside selected archive
- MODE1 "raw" 2352 data tracks didn't work in CDTV and image mounter + uaescsi.device non-direct scsi mode
- MODE2 FORM1 data tracks didn't work in uaescsi.device SCSI emulation mode
- CDTV mode didn't close CD handle when reseting
- CDTV frame interrupts in non audio CD play mode stopped working (broke when CD+G was implemented)
- overlay height configuration file setting was written incorrectly if it had non-zero value
- statefile configuration entry is not lost when configuration is load and saved again
- scan zip directory even if compression method is unknown
- hardfile scsi emulation block validation checked against physical size, not virtual size:
direct-scsi filesystem installed on dynamic hardfile didn't work very well..
- dynamic hdf corrupted data if hdf's physical file size grew over 4G
- bezel overlay support improved, aspect ratio correction, visible area autodetection,
(image positioning is not yet pixel perfect)
- pointless bezel configuration file size parameters (temporarily?) removed, bezel overlay
configuration needs to be reset (it had stupid design fault)
- DIWSTRT/DIWSTOP writes didn't check if hdiw state should have changed since last hsync
(has always been broken but it wasn't really needed until Denise "bug" update in 2.0)
fixes Friday at Eight / Polka Brothers
Beta 9:
- when attempting to play CD32 data track: return normal "playing" status and "play ended
with error" flag in next status packet (Mission Impossible 2025 CD32)
- return error status when CD32 qcode command packet is received and currently played CD
audio track is about to change (jumping "laser" in CD32 built-in CD player)
- new D3D filter stupid design fault corrected, all 2x or higher D3D shader filters had
bad image quality because both internal source and destination textures had identical
size..
- select box next to filter name is now D3D shader filter supersampling mode,
1x = normal, 2x = internal texture is twice the size of display etc.. Big texture
support required, makes some shader filters look more smoother when combined with
bilinear filtering (for example hq2x)
- crash when entering or exiting GUI when ASPI SCSI mode is enabled (b6)
- cd32 pad shift register should stay in reset state in 2-button mode (F17 Challenge CD32)
- added cd insert/eject to systray menu
- added configuration file delayed cd insert, add "delay" to end of path ("cdimage0=<path>,delay"),
waits 3 seconds before inserting the cd, workaround for stupid CD32 games that only work
if CD is inserted after boot screen (F17 Challenge and Last Ninja 3, maybe others)
- fixed cue+mp3 size detection if mp3 frames included checksum data
- only accept 8 or 32-bit Windows clipboard image input (instead of crashing..)
- diskswapper and floppy/quickstart archive dragndrop: add all disk images inside the
archive (I don't know why this was not done ages ago..)
Beta 8:
- GUI configuration panel crash fix (b7)
- do not emulate slow CDA startup in uaescsi.device mode
- blue button was still broken in CD32 pad 2-button mode
- removed obsolete 15-bit fullscreen mode support code
- statefile restore failed if rarely used 68020 M status register bit was set
- added protection against starting new transparent clipboard conversion
if previous operation has not finished yet
Beta 7:
- reverted b5 audio hack, it breaks other programs and also it does not seem to
be audio.device bug after all but application calling CMD_WRITE with interrupts
disabled..
- zipped iso was unnecessarily unpacked completely during scanning if cue was found
later
- some drives/driver/Windows versions don't seem to like IOCTL_CDROM_RAW_READ, returns
ERROR_INVALID_FUNCTION (XP returned ERROR_INVALID_PARAMETER). Falls back to
SPTI SCSI passthrough in this situation and uses SCSI READ CD command
- improved default ROM path handling
- ccd and mds CDA was silent (b5)
- higher CPU usage, display emulation debugging stuff.. (b5)
- initial rom scan didn't load AF key files correctly
- updated VPOSW fake 60hz support sometimes selected bogus 314 line timing for sound sync
(not really much difference, might have caused some extra SND% changes)
- CD32 audio play status code was unreliable if new CDA play command was send without
stopping previous play state (Fightin' Spirit CD32)
- CD32 state restore ignored statefile embedded CD image path (if included)
- CD32 state save saved wrong command fifo offset, restoring state can send some
random commands to drive (old bug)
- new CDTV state file support was quite unusable
- state restore didn't initialize audio completely, samples playing while state was
restored could play incorrectly until sample (on any channel) ended or new sample
was started (old bug)
- printscreen key saves screenshot when button is released (was when pressed)
quick workaround for Windows built-in screenshot not getting overridden in
rawinput keyboard mode (perhaps there is better way..)
- "highend" quickstart mode was not in KS2.0+ check list
- fullscreen 8-bit RTG and "match depth" RTG setting enabled and 32-bit display
mode selected in Display panel: 16-bit mode was selected with 32-bit mode
color settings.
"Portable mode" updates: (and no stupid registry related comments again or..)
- added -portable command line parameter which is same as "-ini winuae.ini",
creates ini in temp directory if winuae.exe directory is write protected
- /<command line parameter name> also accepted
- official support for relative paths added, checkbox in Paths panel, automatically
enabled when ini mode is started (ini missing or empty), all paths that are inside
of winuae directory are kept relative. Report all possible side-effects or paths that
are not in correct format. Currently all relative paths have .\ prefix, this may
disappear in future
- do not set apppath in registry in ini-mode
- real harddrive configuration path is now ":<name of device>" (was "HD_<name of device>")
(to prevent relative/absolute path conversion conflicts, field is unfortunately shared
with hdf paths), this is automatically converted when old config is loaded
Beta 6:
- MP3/FLAC background decompression, no more delayed CDA startup if audio file
decompression takes more than 2 seconds
- implemented "delayed decompression" zfile open flag, currently only zip backend supports it
and it is only enabled when using CD images. Most zipped CD images with big audio files
start almost instantly now
- potential memory corruption crash in zfile_fclose() if file had parent file(s)
- zero length disk DMA (used by some copy protections) never finished, broke in b1
- fixed extra space characters in favorite menu items
- pause uaescsi.device CDA when emulation is paused or GUI is open
- uaescsi.device CDA lights green on screen CD led
- cue/bin audio tracks were completely silent (cue/wav worked)
- on the fly image switching didn't send uaescsi.device change interrupts correctly
if CDFS polling flag was disabled (empty drive without diskchange command)
- new dynamic hardfiles have .vhd extension instead of .hdf
Beta 5:
- version number bumped to 2.3
- few lines of non-filter scanlines was missing in bottom part of display
- audio DMA start interrupt is now immediate after starting DMA in too fast CPU modes
(normally when audio state changes to 5), fixes EasyACDDA hang. Seems to be
yet another audio.device bug when CPU and memory is "too fast"..
More CD related changes and updates:
- unified CD32/CDTV CD unit allocation, also internal unit number is always zero =
GUI CD media change now work as expected
- CDTV frontpanel Stop now quits frontpanel/CD+G mode correctly
- added more obsolete SCSI commands: PLAY AUDIO TRACK RELATIVE (10) and (12) and
PLAY AUDIO (12) (10-byte version was added in b4)
- CDTV subchannel hardware interrupt timing improved, CD+G works in cycle-exact mode now
- cd configuration code cleanups
- added mds/mdf image format (only v1 and first session, v2 appears to be scrambled..)
- cdimage0 in configuration file now disables all following units (backwards compatiblity)
add 2 or more cdimage[0-7]= lines in increasing order if you want multiple units configured
- cue/ccd/iso/mds detection in zipped cd images stopped working
- moved 2048 to 2352 byte sector conversion code to generic image mounter code from CD32
emulation, CD32 FMV ROM now detects VideoCDs (and then it hangs)
- mp3 cd audio: detect audio length using ID3v2 TLEN tag if it exists, assume it is CBR MP3 if
first 100 frames have equal bit rate, fallback to original slow full file scan if no tags and VBR
- remove mp3 decoding time from audio playback delay time, keeps av sync if decoding takes less
than 2 seconds
- FLAC CD audio tracks supported (cue/iso/flac), perhaps this will be useful in future..
(remember to redownload winuaeinclibs.zip if you want to recompile this or future versions)
- note that currently both mp3 and flac decoding needs to finish before playback starts which
can take few seconds on slow machines
- some XP-only CD access issues fixed, tested on VMware workstation (donated by Cloanto).
VirtualPC sucks too much.
- when looking for cue/iso/ccd/mds inside archives: do not attempt to autodetect (unpack)
other files. CD image archives containing audio tracks should start faster now (all audio
tracks are still unpacked at startup but previously they were unpacked twice)
Future todo: hardware IDE (ATAPI) and SCSI emulation to CD SCSI emulation connection, no big CD
GUI updates until it has been designed. (won't be done in this beta series)
Beta 4:
- rawinput was disabled if only one keyboard device was detected, input didn't work at all
in b3 because of null keyboard (detected only one rawinput keyboard = it was ignore but null
keyboard was still added later -> more than one keyboard -> do not fallback to directinput..)
- redirect unknown rawinput messages to null keyboard (shouldn't happen but you never know..)
- spaces not allowed in directory filesystem volume name (wrong validation routine used)
- bottom border was half-blanked in some doublescanned modes
Another major CD update. CD configuration unified, now any CD unit "slot" can point to different
CD backend (image mounter + scsi emulation, IOCTL drive + scsi emulation, SPTI drive + scsi
passthrough) On the fly changes fully supported. CD mess is nearly gone, code is finally structured
logically without special cases. (this finally made SCSI emulation quite easy to implement)
- SCSI emulation is now the default SCSI mode (CDFS and audio tracks always work, switch to
SPTI if you need advanced stuff like cd writing) Some audio CD players work for the first time
now because some SCSI commands have been obsoleted long time ago like PLAY TRACK/INDEX
- CD audio DAE emulation does not attempt to play data tracks anymore
- added most common CD audio SCSI commands to SCSI emulator, OS3.5+ PlayCD confirmed working.
Following new SCSI command added:
START/STOP, STOP PLAY/SCAN, SCAN, PLAY AUDIO MSF, PLAY AUDIO, PLAY CD, PLAY TRACK/INDEX,
PAUSE/RESUME, READ SUB-CHANNEL, READ TOC, MODE SENSE/MODE SELECT (cd audio volume page only),
READ CD and READ CF MSF (only audio extraction supported + subchannel options)
- added CD audio io commands to uaescsi.device (most programs use HD_SCSICMD)
- emulated INQUIRY vendor, product and revision fetched from real device if possible
Testing:
Load your normal WB3.x configuration (that uses uaescsi.device CDROMs), start emulation
normally. (This and following betas force SCSI Emulation mode!) Report all changes,
including logs, SCSI emulation logging is enabled.
Notes:
GUI selection overrides slot 0, for example if you normally have D:\ = uaescsi.device unit 0
and E:\ = uaescsi.device unit 1, mounting a cd image "ejects" whatever is in unit 0 and
replaces it with image file.
If CD32 or CDTV is started in "autodetect" mode and it chose unit 1 or later (CD32/CDTV or
Audio CD inserted), unit 0 changes are ignored until original drive becomes empty. This
needs to be more intelligent.
Beta 3:
- most debugger options now accept .b, .w and .l size extension (+special .3 if 3-byte word),
old style separate size values (1, 2, 3 or 4) not supported anymore
- debugger 'w' memory freeze mode improved, now also works with copper writes,
word and long size freeze values work properly
- fixed right border corruption when horizontal centering enabled
- filesystem access problems fixed (b2, forgotten test code..)
- another "too fast CPU" hack re-added to audio code
- quickstart "disk image requires ks2.0+" message ignored A3000/A4000/CD32 configurations
- skip DMAL emulation in JIT modes
- rawinput supports rawinput packets that have zero scancode but virtual keycode set or
null device handle (for example some software injected keys and some keyboard media keys),
packets with null device handle are redirected to new "winuae null keyboard"
Major updates in CD related options, IOCTL access, built-in image mounter, CD32, CDTV,
uaescsi.device:
- cd rom image and IOCTL handling rewritten, unified toc and subchannel data structures
- cd drive/image selection added to harddrives panel (quickstart duplicate, temporary
location until real CD selection panel is done.. if ever..) Use this to switch images
and drives on the fly, report if switching causes crashes or weird behavior.
NOTE: only unit 0 supported in uaescsi.device mode, other units are immediately put
to "no disk" state when this option is used for the first time.
- quickstart/harddrives CD "image mode" selected with blank select box: enable image
drive without media
- always use IOCTL in CD32/CDTV modes
- only enumarate SPTI devices when uaescsi.device is enabled
- subchannel support added to IOCTL CDROM handling (CD+G)
- CloneCD (.ccd) CD image file support added, including subchannel files
- CD32 CD subchannel DMA channel emulated, CD+G audio CDs supported
- CD32 CD end of play notification only worked if play command was last packet sent
- many CD32 and CDTV on the fly drive/image/media change updates again
- CDTV statefile support added
- CDTV 6525 (CIA-like 3-port IO chip/interrupt controller) emulation rewritten
- CDTV CD subchannel hardware emulated (CD+G, see notes below)
- added CDTV front panel CD player buttons to input event list (they directly control
CD mechanism and they are the only buttons that work in CD+G mode)
- "regular" CDTV remote Play/Stop/etc.. input events emulate front panel buttons when CD drive
receives enable front panel command, sends "normal" keycodes when frontpanel is disabled
- simple SCSI emulation added to image mounter in uaescsi.device mode (no CD audio support yet)
simple means: CDFS in SCSI mode should work with mounted images now, nothing more.
(TEST UNIT READY, READ [6,10,12], READ TOC, INQUIRY, READ CAPACITY emulated. Audio CD commands
will be implemented in later betas)
- added SCSI emulation option to SCSI GUI panel, enables SCSI emulation when using real drives
- uaescsi.device mounted image file changed without CMD_ADDCHANGEINT or CMD_REMOVE media change
interrups: use long 8 second media change delay (CDFS default poll time is ~5s)
CD+G notes:
Some subchannel packets will be lost if emulation slows down too much.
CD+G confirmed working, CD+MIDI should also work but not tested.
CD32 CD+G mode starts automatically, button also in main audio CD screen.
CDTV needs extra steps: In audio CD player screen select "TV/Keyboard" icon in bottom
right corner, then press front panel Play-button, only front panel buttons are accepted
at this point. NOTE: CDTV CD+G does not (yet) work in cycle-exact mode.
CD32 and CDTV do not correctly handle all CD+G discs, it seems both miss first few subchannel
packets at the beginning.. Confirmed on real CD32 and CDTV. They do work in emulation
if playback start position is about 1s earlier than asked but this hack is disabled
because it can cause cd audio sync issues in games.
Beta 2:
- CD32/CDTV image mounting broke in b1 (can still be broken in some situations)
- new audio state machine emulation froze in some situations
- re-added "too fast CPU" hack that fixes missing sounds with sound routines that use CPU loops
in DMA waits (also needed in 68020 "CE" mode because short loops are currently too fast)
- automatic audio switching detected idle audio when playing long samples
- CD32 statefile restore ignored possible CD image file path in statefile
- CDTV CD led flicker was practically non-existing when reading data
- (I also noticed CDTV statefile support is still missing..)
- old CD audio timecode relative track position bug fixed (CDTV audio CD player slow time display)
- built-in image mounter cd audio timecode relative track position had 2 second offset
- real cd audio cd playback asked for exclusive CD access when shared also works fine
- do not parse mounted images (cue files) twice when booting in CD32 or CDTV mode
- path update in b1 broke D3D related paths
- CDTV processing thread stalled if no drive was detected when exiting
Beta 1:
- fixed Z3/RTG RAM leaking when restarting
- D3D scanlines can be (finally) enabled on the fly
- blank right border after approximate hsync position instead of filling it with border
color that extends far outside of displayable area
- ECS Agnus bitplane DMA state machine update, state machine advances on OCS when DDFSTRT
matches hpos and display window is open. ECS only requires DDFSTRT match. (yaqube)
- triple/double/single buffer option was never saved to configuration file
- autovsync was broken
- "old" overlays are now masks in plugins\masks, "new" overlays are in plugins\overlays.
(rename overlays -> masks and create new overlays directory)
- both overlays and masks can be selected using GUI (overlay position can be only
modified by editing configuration file)
- added Automatic center option to autoscale select menu, centers image using autoscale
parameters
- audio state machine emulation rewrite, now it is fully cycle-exact, including
correct DMAL DMA request line delays. (DMAL logic examined by yaqube, I was too slow and lazy..)
- disk emulation DMA accesses are now fully cycle-exact, emulates DMAL and Paula 3-word FIFO
- fixed ancient bug in disk emulation that emulated remaining cycles in current line twice
when disk event triggered (index, word sync), basically made disk rotate twice the speed
for about 20 or so bits of data from disk
- above disk events didn't work correctly if multiple drives were selected at the same time
(very rare situation)
- added CDROM drives to quickstart CD32/CDTV "autodetect" select menu (works on the fly too)
- cdimage0=<drive letter>:\ at startup didn't work (only worked if changed on the fly)
- rawkeyboard hardcoded F12 check ignored focus
- drive sound emulation crashed if specific sound files were missing
- non-accurate sound enabled -option removed, difference compared to 100% accurate was
practically non-existing, also now totally useless chipset sound options removed,
disabled but emulated is now also 100% accurate
- files inside plugins-directory will be checked from 3 locations (until found):
plugin_path, data_path and exe_path. (fixes some path issues introduced in 2.2)
In cycle-exact mode DMA fetches happen in exactly correct positions (need more CPU power),
in non-cycle-exact modes all DMA fetches use audio channel 0 position (faster, less timing
events needed). Complete custom chipset should be fully cycle exact now (in theory at least)
All "too fast cpu" audio hacks removed except audio.device AUDxDAT write with AUDxPER=8
and then waiting for interrupt, in JIT modes interrupt code may run fast enough to enable
DMA before audio state machine has returned back to idle state. This hack forces AUDxDAT
writes with AUDxPER less than 10 to finish immediately.
2.2.0 Final
- A3000 KS 2.04 ROM odd/even pair mismatched checksums fixed
- no registry or ini data, -datapath not used and winuae.exe in Program Files
(CSIDL_PROGRAM_FILES): set default paths to CSIDL_COMMON_DOCUMENTS
Beta 12: (RC3)
- directory filesystem action_read/action_write with length=0 special handling
added (host OS routines may have returned weird errors in some situations)
- monitor "bezel" overlay image support added, direct3d and configuration file only.
gfx_filter_overlay=<path>:x,y,width,height (only path is mandatory)
x and y: position of overlay relative to top/left corner. -1 = center, value% = relative to window size.
width and height: width of overlay image. -1 = scale to window size, 0 = use original size,
> 0 = scale to this size. value% = scale to window size + %adjustment.
- rawinput VID and PID values didn't work under Windows XP
Beta 11: (RC2)
- DirectInput keyboard and mouse didn't work in Test/Remap mode after emulation was started
- directory filesystem GUI directory/file selection dialog remembers previous path
- floppy sound disabled channels had different volume level
- XP DX check reverted, for some reason DirectX web installer didn't install all DLLs
(including d3dx9_43.dll) when it was released originally, seems to be fixed now
- uaescsi.device: do not send media change interrupt if actual media state didn't
change (was possible when changing cdimage0 using uae-configuration), some
cd filesystem versions crash(!) in this situation..., fix media detection
when switching on the fly from SCSI mode to built-in image mounter. Note that
on the fly device changes only works properly if CDFS uses trackdisk.device-style
commands (not directscsi) and media change interrupts are enabled (not polling)
- cdimage0= in config file (nothing after '=') means enable built-in image support
without media inserted, do not detect and use physical/virtual drives
- renamed pad/joystick POV pairs (1) and (2) to (X) and (Y)
Beta 10: (RC1, official release before Midsummer)
- some V(H)POSW modifications corrupted memory (AR3 for example)
- AR3 3.09 odd/even pair rom image didn't load correctly
- AR1 has never worked in cycle-exact mode
- Amiga->Windows image clipboard sharing didn't work if any IFF
chunk (except body) size was more than 255 bytes
- removed confusing and useless Input keyboard key numbers
- GamePorts test mode list vertical centering improved
- configuration file joyportX=kbdZ/joyZ/mouseZ (where Z is larger than max available devices) was not checked
- floppy sound channel mask added, configuration file only (floppy_channel_mask),
default is all channels. 1=left,2=right,4=center,8=sub,16=surleft,32=surright.
- keyboard input configuration slots 2/3/4 not saved if slot 1 contained port
configuration and stored slot 1 was mapped to default keyboard key
- configuration.backup and configuration.cache remembers hidden file attribute
Beta 9:
- "megachip" was added even if disabled (was fixed in b8 update)
- fixed DX detection on XP (was fixed in b8 update)
- removed "*" from DirectInput keyboard and mouse name strings
- uaeunp/virtual archives: if input file was inside archive and it had multiple output
files (most raw disk image formats can have .ima, .adf and .ext.adf output files)
only first supported file was listed. Plain files worked correctly.
- added "scanning ROMs" dialog
- fixed old memory corruption bug if rom scan data has single rom from odd/even pair
(unpaired rom removal code was buggy)
Beta 8:
- Z3Chip is not a Z3 board anymore, now also compatible with KS 1.x (don't forget that
32-bit addressing capable CPU is required)
- rawkeyboard RIDEV_NOHOTKEYS flag was missing (Disables Windows keys etc..)
- GamePorts remap/test GUI updated
- GamePorts remap when in Configuration#x mode didn't update GamePorts input mappings
- data in GamePorts overwritten Configuration#x slot 1 is stored in hidden slot 5, also
saved to configuration when needed (not backwards compatible with old versions). Now
you can load old configurations in Configuration#x mode, set GamePorts to <none> without
losing original input configuration data in slot 1.
- added key label to keyboard configuration data, not used for anything yet (compatible with
old versions, old versions simply ignore it)
- added supported archive extensions to CD image dialog's file type list
- DX SDK updated (June 2010), d3dx9_xx.dll version bump -> DX runtime update required...
- added stupid looking vid and pid values to rawinput keyboards and mice, makes it possible
to distinguish multiple mouse or keyboard.. (instead of "HID Keyboard Device [n]" x N that
change position if you remove or add any keyboard-like device, including bar code readers)
Important: if you have configurations with Configuration#1-3 set, please do following tests:
(There is no way I can test all possible combinations)
Test 1: Load configuration file, set both mouse and joystick port to <none>. Check that all
mappings are still 100% correct. NOTE: remember that Keyboard* and Mouse* are gone if you have
rawinput compatible mouse and keyboard (most likely). Keyboard or mouse mappings disappearing
due to this rawinput change is not a bug.
Test 2: Play with Game Ports mouse and joystick settings, add random custom mappings, whatever
(You can keep checking Input panel if you want) and then set them back to <none>. Mappings
should still be 100% exact same as when configuration was originally loaded.
Test failed -> email or attach original configuration and include short problem description.
(what test phase, what you did, what happened)
Beta 7:
- do not center horizontally if there is no bitplanes enabled (result was very badly aligned
screen, normally not visible but if there are background color changes or sprites..)
- input config backwards compatibility fix, old versions read GamePorts mode as Configuration#4
- huge brown paper bag bug fixed, in some situations INTREQR can return bit 15 set.. (fast CPU
modes only, introduced in earlier 2.x release)
- do not emulate hpos offset in non-cycle exact modes, JIT mode can return hpos/vpos value pairs
that are not normally possible (and so far only some A500 programs require hpos offset = vpos
increments when hpos equals 4, not when hpos equals 0)
- audio filter emulation didn't always follow power led state correctly
- emulate fire and left mouse button contact bounce (no 2nd and 3rd because they are connected to
POT capacitors) Fixes Spacestone which waits for button release and then immediately checks
button state again.. I guess coder had really bad joystick firebutton, planet selection works
quite unreliably on my real A1200 :) cycle-exact only
- NTSC disk timing was not fully compatible with RNC Copylock
- b6 wordsync change reverted, another hopefully better tweak added
- joystick button pullups removed, this will break some games' second joystick button read routines
but it has to be done because they wouldn't work on real Amigas with standard joystick either and
this workaround also breaks some other games that don't expect pullups (Dick Tracy for example)
- another big input change, Game Ports settings are now always merged with currently selected
input configuration (possibly overwriting event that was manually configured in slot 0)
In other words, Game Ports panel settings are now finally working as expected by most users
instead of only confusing most users :) Just select your gamepad/joystick using GamePorts panel,
select Configuration#1 and remap remaining extra buttons, should be simple and easy enough now.
This also means old Configuration#x configurations now have Gameports mappings merged when loaded.
(which most likely is something you don't want) Workaround: set GamePorts settings to <none>
Hopefully some kind of automatic fix is possible..
- GamePorts mapped Configuration#x events are marked as [PortX] in Input list where X is port number.
- GamePorts custom configuration in Configuration#x mode also supported.
NOTE: configuration files that have GamePorts customized Input Configuration#x's are not
backwards compatible
- renamed GamePorts port 0 -> port 1 and port 1 -> port 2, now same as input target port numbers
(1 = "mouse" port, 2 = "joystick" port, 3 and 4 are parallel joystick adapter ports)
- do not add default mappings to Configuration#x joysticks and mice (not needed anymore)
- automatically disable empty devices in Configuration#x modes
Just ask if you have any questions or suggestions. Input configuration is never finished :)
Beta 6:
- CE-mode CIA interrupt delay decreased by 1 CPU clock cycle, tst.b CIAICR immediately followed
by move.w #x,INTREQ didn't clear the interrupt in some situations
- disk DMA used generic memory access routines, not chip access routines (could DMA to/from
any memory address, not just chip ram)
- "Z3 fake chip" added, "unlimited" chip ram size. (technically it adds another z3 fast ram
board that UAE boot rom changes to MEMF_CHIP|MEMF_PUBLIC|MEMF_LOCAL and removes normal chipset
DMA addressing limits)
- two directory filesystem crash fixes (related to opening non-existing files or directories,
broken during C++ conversion)
- CD32 state restore didn't work if CD32 configuration was not pre-selected
- save POT capacitors' charge status to statefile
- disk read DMA wordsync should not skip first syncword if bit stream is already aligned
(Starglider 2 original)
- on the fly cycle-exact switching broke few betas ago
- use early blitter finished state emulation only in 68000 cycle exact modes, 68020 "CE" can
execute blitter busy check followed by write to blitter register really too quickly
Beta 5:
- autovsync was broken in b3
- added NTSC checkbox to Quickstart panel
- use DirectInput keyboard if rawinput keyboard is not found, same with mouse.
(do not disable both if only mouse or keyboard is found like in b4)
- DirectInput keyboard and mouse didn't work in Test/Remap modes
- Gameports remap keyboard configuration was not loaded correctly
- Write Allocate 68030 data cache bit emulated
- better "too fast" 68020 CE interrupt workaround
- CD32 CD on fly media changes fixed (both internal mounter and real/virtual drives)
- CD32 CD unknown command handling modified (Last Ninja 3)
Last Ninja 3 NOTE: game only works if CD is inserted after CD32 boot screen! (Real CD32 confirmed)
Beta 4:
- keyboard input configuration didn't load correctly (was overwritten by default mappings
or mappings were completely erased)
- if at least one rawinput keyboard and mouse is found: skip directinput keyboard and mouse
enumeration. Prevents stupid side-effects if both are used simultaneously, for example fullscreen
and directinput keyboard enabled: rawinput stops getting any input (and technically directinput
is less direct than rawinput, it is only good for joysticks/pads today)
- fixed possible division by zero in new power led code
- statefile_quit=<path> configuration file parameter added, automatically saves state to <path>
when emulator is quit normally
- CPU speed and advanced chipset configuration stored in statefiles
- in some situations full-window mode tried to use vsync frame wait (which did nothing and caused
warp-mode like speedup)
- added toggle fullwindow<>fullscreen and fullwindow<>window input events
- yet another sprite update, Total Perspective Vortex / Frantic background smallest sprites
missed last line of data
WARNING: Configuration files saved with previous 2.2 betas won't be fully compatible with later
versions. Keyboard input data is handled slightly differently (no more "super" keyboard that
gets all keyboard input), beta 1-3 written config files may not have all keyboards enabled if
Configuration #1-#3 mode is enabled. Older configuration files should work correctly.
Beta 3:
- added XZ compressed file support
- Paths panel "Reset to defaults" was unreliable if more than 3 choices was available
- mouse horizontal wheel (HWheel) works in raw mouse mode, it is now always listed because
for some unknown reason RID_DEVICE_INFO_MOUSE.fHasHorizontalWheel is always false,
even when mouse has working horizontal scroll wheel
- fixed unreliable device switching in input test/remap mode
- fixed CD32 extra buttons not automatically getting enabled when joystick/pad was in
"default" mode
- "default" was changed to "joystick" or "mouse" when switching between device types
- CD32 default button change, Red and Blue buttons are automatically read as a fire
and second button if pad is read in standard 2-button mode (previously they did nothing
in normal mode, required fire and 2nd button mapped)
- CD32 2-button mode 2nd button (CD32 Blue button as 2nd button) fixed, never worked previously
- Game Ports Test mode now shows mappings that have multiple input targets
- added "toggle" autofire mode to ports panel
- D3D "none" filter allows again all filter setting adjustments
Beta 2:
- reverted filesystem indirect memory change, it can't never work because filesystem
is running in a separate thread
- rawkeyboard extended key fix (Pause-key)
Beta 1:
- less hacky cue/iso selection priority handling inside archives
- autoscaled top border was incorrectly positioned if program had always-on bitplane DMA
and first background color change was later than vertical bitplane DMA start position
(Shadow of the Beast)
- do not enable OpenAL or PortAudio support by default (there are some bad OpenAL drivers
that crash when enumerating devices...)
- save also rom checksum to configuration files, configuration file checksum is now used to
find rom path from rom scanner data if path stored in config file does not exist
- removed Windows 2000 compatibility code (mainly RTG guard page stuff)
- D3D mode is more compatible with crappy Intel integrated GPUs that have hardware pixel shader
but only software vertex shader support (scanlines and shader filters should work now)
- WASAPI and PortAudio sound volume control supported
- 7zip support moved to static link lib, updated to latest LZMA SDK, PPMD supported
(no XZ because currently only plain XZ (de)compression appears to be supported in SDK)
- static png and zlib libraries updated to latest versions
- virtual directory drive fake block device geometry and block size set to non-zero values
to fix sys:system/format division by zero crash when started from WB
- cycle exact custom cpu frequency calculation fixed
- remove non-existing paths in disk history when selected (not automatic because they might
point to non-existing network shares = "unexplained" slowdown at startup possible)
- 68030 instruction and data cache "cycle exact" emulation code added, (68020 and 68030
caches are slightly different 68020's cache is 64*1 longs, 68030's cache is 16*4 longs).
Data cache can only cache fast ram and rom. (MMU is normally used to prevent IO and
chip ram data caching) Because native expansion code (bsdsocket etc..) bypasses the cache,
if there is emulated cache hit, data in memory is compared with data in cache and real
memory data is used instead of stale data in cache. (test read is direct access, it does
not mess up timing). This also means you will have problems if you use old "68030 cycle exact"
configurations, this mode was never supported. Not that this new mode isn't any better..
- made 68020 "CE" NOP slightly slower (move.w to somewhere followed by NOP: write must be
complete before NOP finishes, Roots 2.0 / Sanity globe effect)
- Roots 2.0 / Sanity "flower zoomer" part gaps fixed (BPLCON4 color change has 1 lores pixel
delay compared to direct color register write. AGA-only feature)
- sprite emulation change, removed few lines of code that was not needed anymore (I hope..), this
fixes missing bottom part on Roots 2.0 / Sanity "flower zoomer" part
- directory filesystem uses now indirect memory access (read&write is still direct, no performance
loss + cache flush if in CE030 mode), better compatibility with dcache and MMU (other modules
will follow)
- 68020 "CE" mode movem and some other instructions used direct memory accesses instead of
cycle exact fetch modes (=was too fast if accessing chip ram)
- power led fade hack emulation improved
- -disableharddrivesafetycheck command line parameter disabled, it is not needed anymore
(it was made when there was no "is drive mounted in Windows" test) This parameter has
also become THE FIX for every, even totally unrelated possible, HD/CF related problem...
- toggle between fullwindow and fullscreen if started in fullwindow mode
- fixed data corruption in input parsing if mapped key did not exist (different keyboard)
- transparent archive support updates and handle leak fix
- small filter panel GUI changes
- single/double/triple buffering option added to Display panel, also affects D3D now mode now
- enabling any "raw" input device disables all "super" devices if they have same device class
(and vice versa) For example "Windows mouse" enabled, enable "raw mouse" -> "Windows mouse"
gets disabled.
- GUI treeview and listview "hot underline" mode enabled
- missing input keyboard name and status lines added to configuration file
- Game Ports panel settings does not use special case handling anymore, input panel slot #4
is now "Game Ports" configuration slot, all gameports panel settings are always converted to
this slot. (slot #4 because I didn't want add new slots and slot #4 is most likely to be free)
- slot mentioned above is used to store new easy to use new game ports input mapping
- added "Test" and "Remap" buttons to Input panel, both temporarily enables all input devices,
disables GUI and waits for any input, when input event is received, input device and event
type gets selected automatically. "Remap" exists immediately when any event arrives, "Test"
stays active until F12 is presed. (or if GUI window becomes inactive)
Only "raw" devices detected (for example "super mouse" and "raw mouse" don't really play well
together)
- GUI listviews remember old cursor positions
- default caps lock key input configuration was incorrectly saved to configuration
- easy joystick remapping support finally implemented.
- autofire checkboxes added to gameports, sets/disables fire button/CD32 red button autofire,
autofire rate modified, it is much faster now (test games and report)
Quick instructions for new Game Ports panel remapping function:
- First select type of Amiga side device (mouse/joystick/analog joystick etc..).
- "Default" device type = mouse in port 0, joystick in port 1.
- Click Remap and the rest is near automatic :)
- Click Test to check and test current device type mapping (both built-in and remapped).
- F12 = exit, F11 = skip current event (jump to next event without mapping)
NOTE:NOTE:NOTE: Answer is still the usual: "Use Input Panel" if you want something more complex.
This is the QUICK and EASY solution for most commonly needed joystick remapping.
Final 2.1.0
Beta 25 (RC3):
- CD32/CDTV NVRAM led (DF3) works again
- Windowed mode status bar "leds" show activity status again in all Windows versions (SBT_POPOUT status bar
flag for some reason stopped working in XP non-classic theme and later Windows versions)
Beta 24 (RC2):
- do not use waveOutSetVolume() in CDTV/CD32 CD audio routines, for some weird reason (legacy backwards
compatibility..) it also adjusts application's global volume setting.. CD audio volume control is now
handled by modifying sample data directly.
- expand environment variables ("%var%") in configuration file and command line paths
Beta 23 (RC1, max 1 week left for possible bug reports):
- SPS library return code check added, show notification if selected image requires newer library version
- Quickstart DF1: and CD localization fix
- beta warnings disabled
Beta 22:
- PAPEROUT and BUSY was not always forced inactive, usually preventing printing if program directly poked printer port hardware
- fixed epson emulation graphics printing again, 9-pin graphics gaps fixed, added some missing 9-pin only commands, graphics
(both b&w and color) confirmed working. Should be perfect now :)
- added shield icon to "Add Harddrive" button (which does not do do anything, shows only admin privileges requirement)
- Vista+ file dialog multi selection fix (broken since Vista/Win7 file dialog support was added)
Beta 21:
- Epson printing updates (score positions, superscript, color support etc..), -pngprint added to select print to png image mode
(Epson emulation only)
- CDTV 2336 sector (Mode 2 Form 0/2) read offset fix, built-in cue raw read (2336 and 2352 sector size) support added
- parallel_port configuration entry set to "default" = select system default printer
- cdimage0 pointing to image file and uaescsi.device set in configuration: mount image on uaescsi.device:0 in basic non-scsi mode
- cdimage0 configuration option now also accepts CD drive letter (in "X:\" format) and if set, only selected drive is mounted on
uaescsi.device:0. All other drives will be ignored
Beta 20:
- winuaebootlog.txt incorrectly listed WASAPI sound devices as PortAudio devices
- raw keyboard enumeration stopped after first keyboard was found
- raw keyboards are now always enumerated (previously -rawkeyboard was required), also they can be enabled and remapped separately.
F12=GUI hardcoded to prevent completely getting locked out of GUI (for example by disabling all keyboards)
- -rawkeyboard does not anymore disable directinput keyboard enumeration, it only disables dinput keyboard and enables all raw keyboards.
- automatically switches to raw keyboard mode if directinput enumeration returns unexpected keys
- Epson printer emulation improved. Does not anymore require freetype libraries or extra fonts. Outputs to printer directly,
automatically uses printer's resolution internally. Old-style Epson text justification command emulated (left/right/center/full)
(Note that this isn't "real emulation", text output is always high-quality, only bitmap graphics output looks ugly)
- parallel port sound sampler emulation implemented, input selection in IO Ports panel (DirectSound sources only).
Sound quality is not good enough (syncronization implementation is crappy), mono only.
Beta 19:
- fixed random D3D RTG ALT-TAB crash if hardware mouse cursor was enabled
- fixed swapped sound channels if stereo separation code path was used, bug since stereo separation was implemented
- internal sprite DMA pointer bit 0 was not cleared
- _winuae.fx shader file is now built-in, will be written to plugins directory if directory is writable and
file does not exist. File will be used as long as version in first line matches (if you want to do some shader experiments)
- winuae <file.cue or file.iso> will internally convert to cdimage=<file.ext> (not very useful currently but if someone
wants to associate cue or iso extensions)
- added "quickstart=<model (a500,a500+,..)>,<subtype (0-n)>" configuration file option
(probably only useful as a command line parameter, at least for now) More useful in future, perhaps..
Beta 18:
- fixed blank RTG fullscreen 8-bit modes if "Match host and RTG color depth if possible" was enabled
- D3D RTG performance improved when whole screen gets refreshed (see below for more info)
- fixed original extended adf (factor 5 images) handling (broke in b11)
- command line parsing heap corruption fix (2.0.0 bug but only caused problems randomly)
- added "minimize when focus is lost" option to misc panel
(for example if you want to emulate fullscreen alt-tab in windowed or full window modes)
- always capture mouse when fullwindow mode gains focus (like real fullscreen mode does)
- D3D Null filter does memory copy again because it might be faster (D3D internally uses "doublebuffered"
textures if it is told that texture data will be completely rewritten. This prevents GPU stall if previous
frame is still being rendered)
Beta 17:
- right mouse button popup menu disk changes fixed, added "copy from dfx:" options
- possible D3D performance improvement when updating screen only partially
- CE mode crash fix when display updating is disabled (Scroll Lock)
- CDTV: return CD error status immediately when program attempts to play non-existing cd audio track
instead of relying on CD backends to notice the error (Psycho Killer CDTV)
- do not show inserted CD32/CDTV quickstart CD image in floppy drives panel (currently cd image is quickstart-only)
- added "save screenshot to clipboard" input event (previously only save to file was possible)
- some statefiles didn't select correct refresh rate (PAL/NTSC) when restored
- added small delay to RTE instruction in 68020 CE mode because MOVE.W #x,INTREQ; RTE; currently executes too quickly,
faster than emulated IPL lines change state causing interrupt to start again after RTE
(another case of improving one part of emulation breaking lots of programs because not directly related part is not exact enough..)
Beta 16:
- implemented feature that makes selecting image from multi disk programs faster and easier.
When multidisk image is in disk drive, right clicking on "Select disk image" will open menu
that lists all detected disk images (+including all normal "favorite" menu options)
Also added previous and next disk input events.
Currently supports following disk number naming conventions:
"*(disk x*", "*<a-z/A-z/-/_/ >x.*", "*_a.*", "*-a*", "*<a-z>A.*"
(x = number 1 to 9, a = a-z/A-Z, A = A-Z, ? any character, * = anything)
- D3D vsync in interlaced modes was erratic (bug since the beginning)
- added "GamePorts" to "Copy From" option in Input panel that merges Game Ports panel mouse and
joystick configuration with current non-compatibility input configuration, also possible old
keyboard layout Game Ports panel mappings will be replaced with default keyboard mapping
Nothing is remembered, slot 1 mappings are simply overwritten with new mappings.
Beta 15:
- D3D filter does not scale anymore in "no filter" mode to prevent confusion when switching
between D3D and DD. D3D null filter does not waste CPU power anymore.
- RTG 8bit to non-paletted mode switch in fullscreen didn't always select correct color
space conversion mode (older bug)
- fixed D3D 16-bit only "vertical scanline effect" introduced in b14
- onscreen led on/off configuration problems fixed
- restoring NTSC state files work again (broken when NTSC long/short line emulation was introduced)
- PAL/NTSC configuration saved with statefile (I guess this was forgotten long time ago..)
Beta 14:
- old non-shader direct3d mode is back (if you have really old card)
- do not create big tiled overlay texture if overlay texture size is same as original
image size (hardware did not have texture size restrictions), sampler can then do the tiling
automatically without seams (only if shader 2.0+)
- always align overlay mask top/left corner
- updated about links (back2roots not removed, probably comes back sooner or later..)
- RTG vblank interrupts didn't work in all situations (older bug, guru when switching to RTG mode)
- fixed incorrect colors in some RTG modes (both DD and D3D)
- fixed major (in some situations) JIT performance loss introduced in b8
- READ THIS: You MUST delete old winuae.fx and winuae_old.fx and use new versions included
with this beta
Beta 13:
- version bumped to 2.1.0
- 1620b10 broke 68020 RTE "Throwaway frame" emulation (Quik The Thunder Rabbit CD32)
- warp mode on the fly change fixed
- only check for configuration file changes (current vs changed) when needed, not
every frame (some on the fly changes may be missed now, report if found)
- b12 "no scaling" in directdraw was wrong, scaling isn't going to be removed.
- blurry D3D RTG hardware mouse cursor fixed
- p96refresh works again (broke few betas ago)
- filesystem still had one missing unicode<>Amiga charset conversion (in some
situations caused wierd errors when creating new files with file name
including non-ISO-8859 charsets)
- cyrillic charset (1251) Amiga-side charset support fixed (more or less broken
since unicode update but it only worked accidentally previously)
- fixed JIT filesystem slowdown introduced few betas ago
- fixed RTG directdraw fullscreen alt-tab blank screen
Beta 12:
- VPOSW/VHPOSW "fake" 60Hz support rewrite, ugly hacks removed, this also
fixes possible odd/even field mismatch when program initializes interlace
by writing to VPOSW (only clearing or setting LOF-bit, not attempting to
do "fake 60Hz)
- JIT checkbox fixed (broke during 64-bit compilation fixes)
- Prowizard PM20 fix (Asle)
Big Direct3D change:
- more gfx subsystem unification. Direct3D is now fully shader based.
Overlay and scanlines are done with pixel shaders, also overlay is not scaled anymore.
Overlay and pixel shader filters are now compatible.
PS 2.0 capable display card required. (PS 1.0 should also work)
Scanlines and overlays can't be used simultaneously. (Easy to do with shaders but why?)
Horiz and vert positioning works without filter enabled.
Point/bilinear setting works now when shader filter is enabled.
Direct3D and Null filter: wastes only CPU power, do not use. (will be fixed later)
Currently included winuae.fx/winuae_old.fx must be in same directory as winuae or in shaderfilters
directory (later it will be built-in. winuae_old.fx = PS1.x compatible shader)
If you have problems: include graphics card model, Windows version, winuaebootlog.txt and winuaelog.txt.
- RTG D3D changes: full Direct3D mode support, hardware sprite is D3DSprite.
DirectDraw still supported but only in basic mode (no hardware cursor, no scaling etc..)
Direct3D is so much simpler and easier (automatic scaling, transparency, clipping)
Currently D3D scanlines and overlays are also applied to D3D RTG screens which may not be what you want...
- NOTE: some older cards or drivers seem to have random problems that come and go between restarts, configuration
changes etc.. Report Windows version, card name and driver version when this happens. (when this happens there
are no error messages in the log and only on screen leds are visible, it is some other problem if error was logged)
- removed paletted (256 color) mode support completely (no functional changes because native modes haven't supported
it for ages and RTG modes have used 16/32-bit modes and transparent color space remapping since 1.6)
- Direct3D selection moved to misc panel (D3D isn't filter specific anymore)
Beta 11:
- hpos "offset" was accidentally changed (DFF006 = 0000 is possible)
- .cd32 rom file extension added (missed when .a500, .a1200 and .a4000
was added long time ago)
- b10 interrupt issues at least partially fixed (freezing or crashing demos)
- code cleanup, compiles as C++ now (do not worry, this is not "just add
hundreds of casts to make it compile") This project has gotten so big
that plain C is making things painful (for example archive filehandling
would be less messy if written properly in C++, core emulation works fine
in C, also future wxwidgets GUI is now at least theoretically possible..)
This should also make portability simpler, easier to have better
"insulation" between portable and OS specific code. Anyway, nothing
really changes until (much) later..
Random things can be broken! Report all kinds of undocumented changes
compared to previous betas and 2.0.1.
Beta 10:
- CE interrupt handling timing rewrite, again, to better match real
behavior (still not good enough but better than previously)
- only accept winpcap version 4 or newer
- match autoscale left position to WB max overscan size (maybe in
future there will be "TV"-option that restricts to 1990s TV overscan)
- accept all kinds of DI8DEVCLASS_GAMECTRL devices, not just those that
have gamecontroller-like device type
Beta 9:
- CE 68000 interrupt handling update, Spectre Party Demo /
Phenomena works without jumping
- autoscale left and right border position restricted to sane max
overscan values
- enabling autoscale changed filter mode to scale2x
- autoscale detects COLOR00 (background color) changes outside of
bitplane area
- do not enumerate drives if every "Include .. drives" is not ticked
- CD32/CDTV crash fix (IOCTL CD crash) (b8?)
Beta 8:
- do not use D3D9Ex if no v3 shader or dynamic texture support
(workaround for some older cards that may not be fully compatible)
- added workaround for weird display drivers that don't allow changing
to 50Hz Direct3D fullscreen but accept it if identical directdraw
fullscreen mode is already open
- 68000 exception3 quick fix (Zoom)
- CE 68000 CIA cycle timing updates (was too fast)
- warp mode was slow in windowed D3D mode (b7)
- selected dostype in create hardfile panel was ignored if hardfile
type was dynamic
- added filter panel overlay/mask selection, put overlay/mask files
in <path>\plugins\overlays
- DMS files with fake complete first cyl (containing BBS ads) didn't
unpack correctly. Support HD DMS files (not tested)
- CE interrupt handling rewritten (still not good enough)
Beta 7:
- Direct3D errors didn't properly reset back to non-D3D mode
- pixelshader filter configuration save/load didn't work
- window was closed and opened when some filter parameters changed
- use Direct3D9Ex when running on Vista/7 or newer (direct3d is
now in C++ because D3D9Ex uses inheritance and "emulating" it in
plain C is not worth the pain)
- less tearing in non-vsync D3D fullscreen mode
- added support for D3D mask/overlay image files (config file only,
gfx_filter_mask=<path>) Automatically tiled if image is smaller than
display size, uses D3DX function to load image files, .bmp, .dds,
.dib, .hdr, .jpg, .pfm, .png, .ppm, and .tga supported
- skip frames in D3D vsync mode when turbo is enabled
- WinXP center dialogs in fullscreen mode works now properly
- clear D3D mode borders if screen is larger than Amiga display window
Beta 6:
- filter panel GUI issues fixed
- arcadia quickstart incorrectly enabled CD mode (b5)
- directory filesystem ERROR_USER_MAPPED_FILE mapped to OBJECT_IN_USE
- directory filesystem: complain about unimplemented error(s) only once
- unminimize changed display size (update to b4 fix)
- window resize was ignored unless both width and height changed (b4)
- OSD had extra gap in right border (b1)
- D3D fullscreen handling update, device loss handling improved,
possible ALT-TAB weirdness should be gone now, D3D debug runtime
warnings fixed
Beta 5:
- save cdimage path to statefile (if set)
- cdimage on the fly change support (CD32 CD detection may not always
notice it without reboot, something wrong with detection)
- cd images inside archives supported but all tracks will be unpacked
before emulation starts = do not use with big images.. (this is
something that can be improved someday..)
- GUI added (quickstart only). "Automatic" and "Image file" does not
really do anything, only tries to show that real CDs are still
autodetected like in older versions..
- disk image selection always used DF0: (b4)
- replaced advanced chipset blitter busy bug checkbox with A1000 Agnus
(DIP package 8361/8367) because there are more differences, first
vblank strobe is triggered on line 1, not line 0.. (Alcatraz Megademo
2) Perhaps someday this gets moved to main chipset panel.. Thanks to
yaqube for finding this hardware "feature" accidentally :)
- more 68000 CE interrupt timing changes
Big DirectDraw/Direct3D change. Anything can be broken..
- Direct3D filter mode is now a checkbox, there is now DirectDraw
and Direct3D "render backend" (instead of DirectDraw and D3D
filter hack) All software filters are available in both modes
(of course pixel shader filters only in D3D mode) This is part of
graphics subsystem unification, RTG is still DirectDraw only.
- point/bilinear setting moved to filter extra menu
- 16bit/32bit setting removed, uses desktop/fullscreen depth, selects
16bit if selected software filter is 16bit only (and lets D3D do
the conversion automatically)
Beta 4:
- ADDX and SUBX timing updates
- ABCD and SBCD idle cycle position in -(An),-(An) mode fixed
- EXG idle cycle and prefetch swapped
- BCLR/BSET/BCHG/BTST idle cycle and prefetch swapped
- writing to blitter registers while active could have confused
blitter emulation logic, stopping the blitter mid blit (stopping
because emulation got confused, not because emulation detected
situation when it should really stop)
- plain A500 OCS/ECS byte writes to custom registers fixed (I think
this was using 68020/AGA behavior for all modes accidentally)
- interrupt delay and 68000 IPL sampling timing improved
- windowed mode window was sometimes incorrectly detected as resized
when it only lost focus (native mode size was changed to current
window size)
Big CD32/CDTV CD handling update:
- stupid MCI CD32/CDTV CD audio replaced with simple "audio ripper"
that reads the digital CD audio data and sends it to audio device
NOTE: no jitter correction yet (possibly bad sound if your drive
is old enough to not have accurate streaming support)
- CDTV CD hardware volume control now supported
- CD32 CD mute on/off "volume" control supported (no real volume..)
- Sound-panel volume also adjusts CD32/CDTV CD audio volume
- CD32/CDTV Q sub channel data virtualized (does not need real drive
anymore, makes new things possible, see below)
- Built-in CUE CD image support, including CD audio track support!
.CUE + single big .BIN and .CUE + .BIN + .WAVs supported (MP3 audio
is also supported if you have mp3 codec installed but all tracks will
be decoded before emulation starts..) Most common data tracks
supported. Plain iso images also supported.
Problems = logs AND .cue file required.
cdimage0=<path to .cue/.iso> in config file, command line parameter
-cdimage=<path to .cue/.iso> can also be used.
No GUI support yet.
Beta 3:
- Shadow Fighter AGA graphics priority issue really fixed now
- COPJMP cycles in DMA debugger shown correctly, no functional
change (after COPJMPx access copper does dummy move cycle before
COPxLC changes, dummy data and addresses shown now correctly)
- show CPU access type (byte, word or long if 32-bit bus) in DMA
debugger. TODO: separate instruction and data fetches without
slowing everything down..
- added DMA channel names to DMA debugger (COP, BLT etc..)
- few hours of boring logic analyzer CPU cycle usage checks..
- 68000 AND.L, OR.L, EOR.L, ADD.L, SUB.L also write data in reverse
order (like NOT.L, CLR.L and NEG.L do, R+0, R+2, W+2, W+0)
- CMP idle cycle and prefetch swapped (previously only CMPA)
- AND/OR/EOR/ADD/SUB #x,Dn idle cycle and prefetch swapped
- ADDQ.L #x,An had wrong cycle count
- 68000 interrupt startup cycle counting updated
- MOVE address error handling may be temporarily broken
- 68020 ce-mode cpu chip bus access used a500-like timing
- above changes seems to have fixed some demo glitches
Beta 2:
- ioctl cd drive detection corrupted memory if more than 8 drives
found
- removed remains of old and wrong OCS Denise "bug" emulation
- 2.0.1 OCS Denise update diw counting bug fixed (Stardust map selector)
- eat relative mouse movements while mouse driver mode is active
- "blitter active while saving state" compatibility updates
- fixed buffer underflow in sprite code if sprite was really far and
hidden in left border, it overwrote part of dual playfield priority
tables causing weird effects in dpf modes (Shadow Fighter AGA)
- removed some code duplication from dpf mode genlinetoscr.c
- prowizard promizer18a update (Asle)
- CD32 pad emulation improved, CD32 Roadkill "non-standard" way of
reading buttons works now
- do not scan files in floppy history at startup (=scan and add
possible disk images inside archives)
Beta 1:
- prowizard is now in static link library (no functional changes)
- update HDIW=0 or 1 OCS Denise feature, after more research (thanks
to yaqube for finding real technical reason), OCS Denise hdiw counter
does not reset from last line of previous field to line 9 causing
"random" positions to match both start and end of hdiw, including
normally unavailable positions. This was fixed in ECS Denise.
- sometimes cpu frequency was reset to 1000000, now it resets to default
- set "A500 speed" automatically when switching to cycle exact on the fly
- renamed "Match A500 speed" to "Approximate A500 or cycle-exact A500/A1200"
- fixed rare sprite bug introduced in 2.0.0
- DF3 on screen led reused as internal nvram read/write led in CD32/CDTV
modes
- filter presets were broken
- replace possible illegal (not in Amiga charset) characters in directory
filesystem volume and device names, truncate to 30 characters if longer
- fixed random Direct3D filter garbage when on screen leds enabled and
sometimes even when osd was disabled
- changed filesystem thread priority back to highest (+2), same as before
2.0, it seems +1 isn't enough in all systems (slow fs performance when
main thread is using all CPU time)
- removed broken URLs in about panel
- fullscreen and windowed file dialogs have separate position and size
settings (Vista and newer only)
- attempt to center file dialogs in fullscreen mode (XP only)
- caps lock key supported in key mappings, toggle should be usually
enabled if you are mapping host non-caps lock key to Amiga caps lock
- hardcoded keys (pause, scroll lock etc..) automatically disable
hardcoded mapping if it is mapped in input panel (END + mappings are
not disabled)
- num lock or scroll lock mapped to amiga caps lock -> follow led state
(just like host caps lock key mapped to amiga caps lock key)
- filesystem charset conversion fallbacks added, ISO-8859-15 ->
ISO-8859-1 -> windows-1252 -> current Windows codepage (not all XP
installations have all charsets installed by default, last 2 can have
problems with national characters but it is better than nothing)
- closing GUI debugger window won't close the emulator anymore
- rar unpack crash fix
2.0.1
Beta 3: (RC1)
- emulate OCS Denise "bug", vertical DIW already active, matches again
with horizontal start DIW=0 or 1 -> DIW stays inactive until next
frame. (Kefrens Megademo 8, Snake Bite part)
- emulate ECS Denise (and AGA) "bug fix", horizontal start DIW=0 or 1
gets ignored. (=b2 fix -> ECS Denise/AGA only)
- sometimes sprite was visible even if bitplane DMA should have
disabled it (older bug)
- ECS Denise DENISEID register returned 0x00FC, correct is 0xFFFC
Beta 2:
- if rom load fails, try to find matching rom file using rom scanner
data by comparing file names without paths
- improved file/directory name Amiga<>Windows conversion
- hide directory filesystem file/directory names if they have characters
that do not exist in Amiga charset (again, was accidentally changed in
1.6.0), they would have been inaccessible anyway
- non-tablet mouse driver mode was not enabled without magic mouse
- fixed potential crash in mouse driver mode
- "capture before filtering" not enabled mode was broken (b1)
- DIWSTRT hpos <=1: DIW state machine does not change (stop hpos >
max was emulated long long time ago)
Beta 1:
- blitter linedraw onedot mode was partially broken in non-ce modes (2.0)
- old off-by-one sprite error fixed, was recently triggered in 2.0 final
causing (usually) random display interference (2.0)
- avioutput "capture before filtering" option
- screenshot "before filtering" option
- manual avioutput fps selection removed, automatic now
- tar archive support (was supposed to be in 2.0)
- recursive archive engine improvements and fixes
- only accept unrar.dll version 4 or newer
2.0.0
- blitter linedraw onedot mode sometimes wrote to memory even if pixel
was written in same line previously
- sprite DMA start and stop positions were not checked if DDFSTRT would
have disabled the sprite
- copper wait and skip must not use odd cycles (last/first cycle "border")
Beta 26: (RC4)
- in some specific cases copper didn't use its allocated cycle
because it thought it was reserved for BPL DMA (broke in early
2.0 betas. Rebels Megademo "Made in Sweden" part)
- CPU writes to COPJMPx caused copper to start fetching instruction
words instantly, using same cycle as CPU. Added 1 extra copper idle
cycle if COPJMPx was written by CPU (harmless, caused only DMA
debugger warnings)
- 68020 CE emulation become very slow if most accesses were cache hits
and froze if all acceses were cache hits
Beta 25: (RC3)
- directory filesystem parameter (label, bootpri, rw) changes were
ignored unless device name was also changed (b22)
- BPLCON0 change was partially ignored if hpos was >= e0 (b17)
- disable JIT when cycle exact is ticked in GUI
- added Quickstart Arcadia ROM selection (lists all roms)
- random jumping single black scanline bug finally fixed (variable
that was not reset properly caused BPL DMA emulation to think this
line had DMA disabled) I finally managed to duplicate this bug 100%
using Arcadia Leaderboard..
Beta 24: (RC2)
- non 8 divisible width and avi video recording crash fix
- DMA debugger sprite register addresses fixed
- D3D 32-bit scanlines fixed
- frozen blitter didn't unfreeze when old channel mode was restored
(FreeNEasy / Arctic Force does bclr.b #1,$dff042 while blitter is
active.. Most likely simple accidental mistake)
- CE CPU emulation CMP cycle order change
- undocumented sprite DMA update, write to sprite pointer is ignored
between sprite DMA accesses (IcewindDale BBS intro / Possessed)
Beta 23: (RC1)
- mouse capture didn't work if mouse driver (tablet) mode was enabled
without magic mouse
- selecting wave recording (file select) disabled audio sync even if
recording was not activated
- added disable sound sync option to output panel. Previously it was
always disabled (for best sound quality), option was added because
audio only recording with sync disabled can cause sound glitches and
emulation slowdowns and vsync issues (recorded sound was still fine)
- CD32 state restore compatibility update
- only update BLTSIGN when writing to BPLCON1, not when starting the
the blit (Anesthesia / Possessed and probably others)
Beta 22:
- do not load multiple harddrives (directory and regular hardfile) from
configuration file if they have identical device names, also fixes
bad handling of hardrive paths with national characters in utf8
- added simple validation to harddrive device and volume labels
- fixed small graphics glitch in Sequential / Andromeda "18 frames!"
- slightly smaller on screen leds, fits in 320 pixel wide display
- BPLCON1 to bitplane delay timing fix in some specific situations
- KS 1.x interlace screen setup was incompatible with "scandoubler"
Beta 21:
- stupid b20 VPOSR bug fixed (upper vpos bits returned "random" data
when new frame was about to start)
- "manual" BPL1DAT write update, Sequential / Andromeda "Magnet"-part
- interrupt delay changed to 5.5 (was 6) color clocks (<=5: Gleat Stuff
#1 breaks, >=6: Warhead audio breaks)
- reading non-existing memory in 68000 CE-mode was broken (upper byte
was always zero), fixes Time Machine (game has buggy IFF animation
reader, IFF parser checks end of file incorrectly and keeps reading
"random" data and accessing "random" memory)
- ProWizard promizer20 converter update (Asle)
- only autodetect PC/Atari ST image files if file name extension is
known (adf, adz, st, ima or img)
- file dialog file type setting is stored to registry/ini
- some work with serial port emulation via UDP (ENET). May or may not
be implemented before final 2.0. (if you are wondering about ENET in
serial port settings..) NOTE: do not expect most serial linked games
to work, at least via Internet.. null-modem games expect extremely
low latencies.
Beta 20:
- 68000 CE timing updates
- expansion panel GUI tree icon added
- serial port detection didn't detect all ports (broke in 1.6.0)
- http://, https:// and ftp:// file paths supported (pointless but it
was very easy to implement, do not ask for extra improvements)
- dms, ipf and some other disk image types didn't unpack if inside
archive, truncate adf converted >80 cylinder images to 80 if all 81+
tracks are empty (uaeunp)
Beta 19:
- do not "fix" \\'s at start of path (b14)
- sound sync ignored recently emulated NTSC short/long line toggle
- less aggressive sound sync in non-vsync modes (not much point really)
- 68020 CE cycle counting rewritten (may not be better yet but easier
to tweak in future)
- added support for single sided PC/Atari ST-style images
- added .st to disk image dialog extension list, .vhd to hardfile list
- onscreen leds show selected disk side
- onscreen led track number is dimmed when drive is empty
- always mount regular hardfiles, even if dostype is unknown or
filesystem fails to load (unknown dostype = whole drive disappeared
after reboot)
- add or create regular partition hardfile and size >=512M: generate
more compatible default disk geometry (cylinders less than 65536)
- Action Replay statefile support should work again (again and again)
- AVIOutput: handle recording thread errors without freezing, record
as 24-bit (instead of 32) if display is 32-bit
- fixed really stupid and old bug in blitter state restore
- added pause priorities (user pause > inactive > minimized), lower
priority pause states can't unpause higher priority states
Beta 18:
- dongle GUI selection added (IO Ports), Leviathan dongle supported
- added 9pin Epson matrix printer option (9pin printer has different
graphics aspect ratio than 24/48pin)
- visual DMA debugger (possibly useless but cool!) different colors
mark different DMA channels, "v <val>" to enable, no parameter or -1 =
normal,-2 = small visual, -3 = wide and -4 = big. CE-only
Current colors: yellow = copper, green = blitter (light=normal,
dark=line), blue = bitplane, cpu = gray, audio = red, sprite =
white, disk = purple
- disable bitplane "speedup" optimization if dma debugger enabled
- beta versions do not load language dlls anymore
- SCSI mode GUI fixed
- minimizing: priority was set wrong, closing when minimized:
remembered windowed mode size was reset (old bugs)
- unpause when clicking on "PAUSED" fps led
- some (vsync)sound sync experiments again..
Beta 17:
- fixed uaescsi.device TD_GETGEOMETRY total number of blocks off by one
error, return TDERR_DiskChanged if no media inserted
- ACTION_FH_FROM_LOCK didn't reset write notification flag, caused
ghost file notifications + parent directory date changes when file
was closed if same file/dir was ACTION_ADD_NOTIFY'd earlier
- VHPOSW/VPOSW emulation rewritten (mainly used for "fake" 60Hz but
also can be used for other purposes)
- less confusing GUI CPU frequency configuration
- when selecting best fit fullscreen mode, ignore modes that have
completely wrong aspect ratio (for example rotated screen)
- right border 2 lores pixel delay properly handled in copper emulation
- RTG onscreen leds (no transparency, does not ignore scaling)
- new pointless feature: following games' protection dongles emulated:
Leaderboard, Robocop 3, B.A.T. II, Italy'90 Soccer, Dames Grand Maitre,
Rugby Coach, Cricket Captain
No GUI support, add "dongle=x" where x is name of the game
Beta 16:
- Faster RTG moved to misc panel
- TD_REMOVE implemented in uaescsi.device (BabelCDRomFS media changes
work under KS 1.3) and in uaehf.device
- bsdsocket GUI checkbox didn't work
- delay copper writes by 2 lores pixels if hpos >= 0xe0 (I am not sure
100% why but I guess extra 0.5 cycle in PAL 227.5 color clock
horizontal timing causes this) Fixes Leander "border", can fix other
similar border problems. Previous fix in b15 was wrong.
- disable new expansion checkboxes when emulation is running
- CE linemode blitter non-nasty broke in b14
Beta 15:
- automatically enable ini-mode if registry initialization fails
(this should never happen, something is wrong if HKEY_CURRENT_USER
is read-only or admin-only..)
- August 2009 DX SDK (you know the drill, latest DX runtime required)
- A2065 Ethernet card emulation. winpcap required.
- mostly useless "kickstart replacement" works again. Broke long long
time ago..
- hrtmon v2.32
- 68030 "MMU" "emulation" instruction decoding fixes
- 68040 MMU on the fly switching supported
- fixed 1 lores pixel background color gap in some copper effects
- renamed display card panel to expansions and moved misc expansion
related options from misc panel (still work to do)
- 1.5M slow ram was 1.0M+0.5M mirrored (non-power-of-2 memory sizes
are not really supposed)
- MMU: hardreset if double bus error (real CPU would freeze and wait
for reset in this situation, not worth the trouble)
- IDE emulation updates, read/write multiple implementation fixed,
write interrupt fixed, 128-256 sector transfers supported, status
register DSC must be always set. Compatible with Linux IDE driver
Beta 14:
- added very basic MMU statefile support
- and more MMU compatibility updates (LINK, RTD, CMPM)
- FTRAPcc fix from Aranym (I guess nobody uses this instruction..)
- MMU access error instruction restart update, Linux really works now
but is quite useless because there is no hardware cdrom or network
emulation..
- CD32 pad default mapping RWD and FFW swapped
- non-CE mode blitter timing fix (blitter timing got better few betas
ago but it was less compatible because cpu is not slowed down..)
- bsdsocket MSG_WAITALL really works now
- added "value must change" debugger memwatch mode (C)
- another reading write-only register update, reading 0xDFF000 always
returns whatever was left on chip bus. Only on OCS chipset and only
0xDFF000 (BLTDDAT) does this. Correct fix for Codetrash. This demo
has really "fun" bug, it does cmp.b #$30,$dff000;bne.s loop (should
be $dff006) and this comparison only succceeds because of 0xDFF000
special case AND because module player is running and there is at
least one audio sample with value of $30! (unbelievable, isn't it?)
Beta 13:
- MMU emulation bug fix (was bug in Aranym's code, official fix now
included), fixes MMULib crash
- other MMU emulation fixes
- Gayle IDE address mapping corrected, reserved Gayle expansion space
not included anymore
- CD32/CDTV CD led flickers blue when there is CD activity, shows
green when playing CD audio
- built-in hrtmon updated to 2.31
- 68020 cache freeze-bit emulation fixed
- CD32 pad default mapping green and yellow buttons switched
- MOVES fixed (this has always been wrong but nobody noticed because
it is only used with MMU)
- bsdsocket: support MSG_WAITALL (previously recv() with MSG_WAITALL
always returned -1)
- 68020+ bit field instruction update from Aranym (correct memory
access size for MMU and CE020. BFCHG, BFSET ignored size)
- more regstruct (ccrflags) removal
- added U <logical address> debugger command, shows translated physical
addresses (user+code,user+data,super+code,super+data. RW=readwrite,
RO=readonly) or * if address is not mapped (accessing it would cause
access violation)
Beta 12:
- increased vertical filter display buffer size by 4 pixels (max PAL
overscan fully visible now, again..)
- autovsync vertical resolution autoselection really works now
- more MMU fixes, Linux boots now. MMULib does not work but it most
likely is a bug in MMULib which expects some undocumented behavior
of 68040 (like how ATC caches work etc..) Commodore's 68040.library
works. Note that native code (for example filesystem emulation) can't
support MMU address translation (impossible to call bus error handler
from non-68k code without some heavy black magic) -> any non-debugging
MMU software most likely won't work without using IDE or SCSI
emulation. MMU support is considered finished now. Enforcer and Linux
working = good enough :)
- version number bumped to 2.0
Beta 11:
- fixed 68020 CE-mode cycle counting bug (too slow memory accesses)
- MOVE16 MMU support update (fetch all data before writing), MOVES MMU
support update, MOVEM to memory MMU special handling support
(still not working with mmulib, reason unknown)
- b10 blitter cycles given to CPU update was very wrong..
- copper BFD=0 wait woke up too early in some cases (and real fix here)
- calculate autoscale settings only when display window registers have
been stable at least 1 full scanline (also fixes NTSC "jumping")
- WASAPI shared mode closest match update
Beta 10:
- and more reading of write-only register fixes, original Cardiaxx
loads now without extra hacks
- yet another CPU core added, 68040 MMU emulation from Aranym
(Atari ST/TT/Falcon emulator) is finally enabled! (not compatible
with JIT, slow etc blahblah) Enforcer+Lawbreaker seems to be working.
Perhaps even something else that needs MMU also work..
- blitter cycles given to CPU (bltnasty=0) didn't count as free cycles
for blitter idle cycles
- blitter line mode froze if new blit was started when last 2 final
idle cycles were in progress
Beta 9:
- vsync automatic frequency switching is now optional ("autovsync")
- 100Hz/120Hz supported in vsync automatic switching mode
- "Disable powersaving features" is now "Disable screensaver" (when
not active) Screensavers are always disabled when active. Programs
shouldn't override "real" powersaving features anymore (and Vista
and later will ignore these requests anyway)
- 68020 CE mode all instructions now need at least 1 CPU cycle (1/4
bus cycle) to finish (+any slow chip/custom memory fetches),
previously all instructions were instant when accessing fast ram
- CPU frequency configuration added (CE-modes only). Fast RAM (and ROM)
is always considered wait-state free, chip ram speed does not change
Pre-defined values use main clock as CPU clock source (=includes
PAL/NTSC difference), manually typed frequency basically emulate CPU
card that has separate CPU clock crystal. For example pre-defined
"7MHz" is 7.093790.. if PAL mode) Not very useful in 68020 mode. yet.
(see earlier beta change log for explanation)
- copper woke up 1 line too late (and never woke up if waiting for line
255) if wait ended on NTSC long line (this was the real reason for
NTSC jumping, b8 hack removed)
- added "cycle_exact" configuration entry, quick way to switch CE on/off
with uae-configuration
- wrong/missing display sometimes in "too fast" CPU modes (b5)
Beta 8:
68020 CE mode updates:
- unaligned word/long accesses emulated (68020 always fetches aligned
longs, two accesses required if for example word is fetched
from address 3)
- emulate 68020 instruction cache logic as documented in 68020 manual,
cache hits are free, cache misses require normal, possibly slow
chip ram fetch
- approximate emulation of 68020 prefetch buffer, more compatible with
self-modifying code
- very approximate 68020 MUL/DIV cycle usage added
- 68030/040/060 also supported in "020CE" mode. Not totally useless
because this can mean more compatible HD installed games by switching
between JIT and "CE" mode on the fly using uae-configuration.
(switching between CPU types on the fly isn't very good idea..)
Note that 68020 "CE" is still too fast (CPU internal calculations are
not counted yet) but this is 100x better than previously because
memory fetches are emulated, too fast CPU chip memory accesses and
too fast blitter was the most common cause for problems.
- CD32 drive command communication and interrupt handling rewritten,
should now match real hardware (I think..) At least Brian the Lion
CD32 works again..
- NTSC mode shouldn't jump anymore
- automatic vsync mode on the fly switching between 50Hz and 60Hz
screen modes if refresh rate is supported, disable vsync temporarily
if rate not supported (until switching back to supported rate)
- Superstardust AGA weapon panel breaks if 1 extra BPLCON0 delay cycle
added. Obviously previous fix wasn't right.. Lets try something else,
add extra cycle if first bpl dma cycle is allocated (8 planes)
Beta 7:
- removed very old width divisible by 8 restriction
- genlock "emulation" (chipset clocks stop if no genlock and BPLCON0
external sync bit is enabled) was broken few betas ago
- NTSC alternating short/long line emulated (perhaps some rare
NTSC-only demo cares about this)
- 5.1 sound mode had wrong Amiga channels -> center/sub mixing ratio
- another MOVEM disassembler fix
- pointless regstruct duplication in sources finally removed
- 68EC020/68020 "cycle exact" mode implemented. This is A500 chipset
cycle exact mode combined with 68020 CPU. 68020's chip RAM fetches
are slowed by DMA, instruction cache is not emulated but "close
enough" opcode fetches are not slowed down as much (better than
nothing). Extra instruction processing cycle usage is not yet
included, CPU basically runs as fast as memory allows. (which is
more or less correct except slow instructions like mul and div need
extra cycles) Quickstart A1200/CD32 most compatible now enables this
new CE-mode. Some weird sound problems can be noticed, reason unknown..
Two above changes can break lots of things as usual.. Binary size also
increased, 4th CPU core added (68020CE) and finally, next official
version is now guaranteed to not be 1.6.2..
Beta 6:
- STOP increased PC only by 2 if trace was active (copy protections..)
- WASAPI exclusive mode improved (final Windows 7 SDK had much better
examples than RC or Vista versions)
- restart sound (close and open) if sound gets stuck instead of killing
sound completely
- thread priority updates and fixes (perhaps this fixes reported slow
filesystem emulation)
Beta 5:
Biggest A500 cycle-exact updates should be done now.
- interrupt delay rewritten and corrected, fixes Gleat Stuff #01/BRB
- blitter/CPU timing tweak, fixes 1010 bobs/Celtic
- disable sound if sound driver buffer position gets stuck (driver bug)
- final partition read/write fix..
- try to emulate reading of non-existing/write-only custom registers
more accurately
- Brian the Lion "dialog screen" seems to be something AGA specific
after all.. 1 extra cycle needed after write to BPLCON0 before BPL
cycle diagram changes (or at least in Brian the Lion's situation..)
so add one cycle in AGA and hope it isn't totally incorrect fix..
Beta 4:
- 0x76/0x30 partition types are marked as "PART" in GUI and read/write
should really really work..
- exec* command line didn't support command separation (;) characters,
batch files supported ("cmd.exe /c <batch file>")
- fixed very old left border graphics error in Absolute Inebriation
- b3 sprite fix broke other programs, fixed again
- Brian the Lion "dialog screen" problem is not anything AGA-specific,
BPLCON0 write needs 5 cycle delay, not 4 when written by copper.
Not fixed yet, waiting odd number of cycles in copper emulation isn't
currently possible
and few buggy demos fixed, doing weird things with the blitter and work
only accidentally.. For the first time ever Rampage/TEK works!
- Absolute Inebriation/VD "red linevector cube inside white object" part
now works. Bug in blitter wait, rewrites blitter registers when old blit
is still active, normally this would mess up the blit but it worked
because write to BLTCON1 freezes the blitter if it causes switch from
"extra" cycle fillmode to normal mode.
- Rampage/TEK blitter feature workaround added, another buggy demo, it
changes blitter channel mode from 0x01 to 0x0D while blit is already
active, result is blitter getting confused and changing to weird cycle
diagram without D-channel. No writes, no memory corruption, no crash...
- above cases (blitter channel mode changing while active) also writes
message to log. I am not going to test all combinations :)
Random freezing not yet fixed.
I guess version will be renamed to 1.7 or 2.0 because of huge A500
compatibility increase..
btw, I only have single non fully working A500 test statefile remaining,
I need more non-working A500 game/demo reports :)
Beta 3:
Two main compatibility testing demos work perfectly now:
Final Bobs/Complex and Hulkamania/TSP. (Rampage/TEK still won't work..)
Both require very exact CPU/DMA timing to work. First has "scrambling"
that uses vertical beam position as a key, main demo has already worked
if "scrambling" was bypassed, and second writes to BPLxPTs with CPU when
display DMA is already fetching data.. Yes, sane coders use copper..)
- lots more cycle-exact CPU cycle count updates
- some more blitter updates (correct startup and copper wake-up delays)
- non-DMA mode sprites were always reset during vblank (I remember that
this was working long long time ago, possibly broke during Superfrog
"intro bee" fix or something) Fixes B2 world rotozoomer graphic glitch
- added sound driver use/do not use GUI to sound panel (stored to
registry/.ini) Faster startup.
- exec* command lines should work better. Check the log if problems
- 0x76/0x30 partition types are always available read/write
- bsdsocket fix, cvs (SR)
Beta 2:
Background information:
After many days of logic analyzer work, blitter should finally be
100% cycle-exact, even in line mode.
DMA emulation cycle-exactness is greatly improved, most vector
routines that had slowdowns, flickering or graphics garbage should
work perfectly now (even Los Huivos/Virtual Dreams doubleglenz work,
this has shown only major graphics garbage previously)
There are still some that won't still work or work even worse,
these could be caused by CPU emulation timing errors (even single
cycle difference in single instruction that is used regularly enough
can make the difference)
"Standard test" programs still not working: Rampage/TEK, Hulkamania/TSP
(and left border garbage in one part of Absolute Inebriation/VD, reason
is known but I am not sure how to implement the fix)
- "DMA cycle debugger", v <vpos> [<hpos>] lists selected scanline's DMA
activity, hpos, custom register, data, address. This made
compatibility testing much easier. (just compare this data to
logic analyzer data) Second row can contain extra characters:
N = blitter cycle given for CPU, b = blitter interrupt, B =
blitter finished. (not necessarily exactly same thing)
- chipset bitplane/copper/blitter cycle exact mode DMA sequence
routines rewritten. Emulation may be slower due to missing
optimizations. Later.
- blitter cycle diagrams rechecked with logic analyzer, errors fixed
- CPU emulation fixes, lsl/asl/ror and friends had wrong cycle
counts. bclr/bset/bchg are 2 cycles shorter if bit number is less
than 16 (16-31 = add extra cycles) and more. Lots of testing to do..
- WASAPI sample format fallback didn't work correctly
- command line parser now really works exactly like Windows console
- added "win32.exec_before" and "win32.exec_after" configuration
entries, "before" command is run when emulation starts, "after"
when emulation shuts down or before another config is loaded.
Multiple commands can be separated with ';'. Waits until command
returns (=waits forever if program never exits..)
- interlace artifact removal works again (b1)
- automatically handle split dms files. If extracted data is only
about half of standard DD disk and if file name is "*a.dms",
attempts to open and merge "*b.dms" with already unpacked data
- do not enumerate openal recording devices
Beta 1: (too many changes, everything can break blahblah usual stuff)
- command line filename will be detected as a disk image if file don't
have known extensions but is small enough and first 3 bytes contain
"DOS" (previously detected as hardfiles..)
- check for windows messages more than once per frame, may reduce
latency (in worst case it may increase power requirements..)
- marked DLLs that are rarely used/only in specific configurations
as delay loaded, may make startup slightly faster
- inserting/ejecting USB input devices on the fly replaced all "<none>"
and all keyboard layouts with keyboard layout A (old bug)
- "Add PC drives at startup" does not anymore mount drives that are
also configured as real harddrives
- real harddrive safetycheck modified, now all drives can be mounted as
long as drive does not have any Windows mounted partitions. Any drive
with one or more Windows mounted partitions are only available in read
only mode. Command line parameter is now only needed if you want to
add drives that have Windows mounted FAT partitions. Drives with NTFS
partition(s) are never (there is a complex way..) allowed in
read-write mode.
- SCSI (RDB hdf emulation) write commands return proper write protected
sense status if hdf is read-only
- A590/A2091 SCSI ROM 7.0 was not accepted (debugging code..)
- RDB filesystem loader still had fse_PatchFlags hack instead of
handling it 100% correctly (no functional change, at least with any
popular filesystem)
- accept also partition type 0x30 (another Amithlon like RDB drive
inside real PC partition)
- added new RTG configuration panel, more space for future options, also
old RTG setting panel was not really in correct place anymore
- command line parsing handled quotes inside strings differently than
Windows does when running from command line
- added bitplane DMA fetches to copper debugger (there will be separate
DMA sequence "disassembler" in future)
- Agnus bitplane DMA behavior correctly emulated when number of planes
or resolution changes mid screen. Old code (1.5x+) was totally wrong
and too complex.. Now all my test statefiles work 100% correctly:
Disposable Hero, Bass-O-Matic/Crusaders, Innovation Part 2/Axxis
Brian The Lion "dialog" screen is corrupted again but this seems to be
AGA specific feature (SMD chips = no logic analyzer)
- CD32 CD controller emulation improved, CDXL animations should run more
smoothly now, previously emulation couldn't load more than few sectors
before CD32's cd driver detected error condition and retried
- added seek delays to CD32 emulation (CD32 drive has really slow seeks)
- CD32 Lotus Trilogy's Lotus 3 finally loads (stupid loader partially
overwriting already loaded data if CD DMA "slot" sequencing is not
exactly correct)
- CD32 CD audio moved to separate thread, no more emulator pausing when
CD audio starts or track changes (possibly introduces other issues..)
- D3D 2D sprites (ID3DXSprite) used in D3D filter onscreen leds, correct
positioning, no scaling and free transparency. Scanline texture also
converted to 2D sprite, now works correctly with D3D filters (future
plan: convert all DirectDraw code to D3D 2D sprites)
- OpenGL filter removed, totally obsolete now. Gone forever unless
someone updates it. (including correct positioning and scaling)
- built-in WASAPI sound driver implemented. Replaces DirectSound if
running on Vista or newer. WASAPI has two modes, shared and
exclusive. Shared roughly equals old DirectSound, exclusive means
sound card is exclusively used by WinUAE. Exclusive mode has lowest
possibly latency but note that there may be only one or two
supported sample rates (for example 48000). NOTE: buffer sizes
can not be directly compared between different modes. PortAudio
is now considered very unsupported (that didn't last long..)
Needs tuning, not good enough yet (especially exclusive mode)
- distortion in sound was possible with short square wave samples (160)
- final 16-bit sound samples always had lowest bit (or two lowest bits)
zero, now lowest bit(s) are duplicated from real lowest significant
bit(s)
- programmed display modes had bad sound (161b4 sound update was not
fully complete.. most stupid 1.6.1 bug so far)
- portaudio fallback code added, unsupported samplerate = try 44000,
48000 and default reported before disabling sound. Same with number
of channels, unsupported channels = fall back to stereo
- Vista or newer: AvSetMmThreadCharacteristics() is used to enable
task scheduling better suited for multimedia applications = more
CPU time given without slowing down lower priority tasks (which
can happen with normal priority settings)
1.6.1
Beta 5: (1.6.1 RC)
- JIT indirect/direct state is remembered when JIT is switched off and
later restored when JIT is switched back on (uae-configuration etc..)
- inhibit "no disk" Windows dialogs when connecting some USB memory
card readers without media
- do not add disk images to disk history if they are inside archive
that was mounted as a harddrive
- fixed infinite archive recursion introduced in previous betas
- magic mouse automatic mouse capture didn't work reliably (160b7)
- Ports/About GUI icons and file association icons updated (JW)
- language identifier changed to english, neutral (was english, US)
Beta 4:
- mixed disk swapper panel id and number of input panel columns..
- magic mouse was unreliable in directinput mouse mode ("mouse *")
- magic mouse can be switched on/off on the fly
- utf8 configuration entries didn't work correctly and caused
duplicate entries. (fix by loading and saving config again)
- added generic disk icon image (from Cloanto) that is associated
with disk image extensions (if enabled in associations panel) This
may change before 1.6.1 if my brother feels less lazy next week :)
- App Paths winuae.exe reg key created if winuae is run as admin
at least once, this fixes some file association issues (wrong or
missing icon for example), also some other association updates
- statefile harddisk restore problem fixed (still not guaranteed
to work..)
- 60Hz on PAL (or NTSC in 50Hz) sound sync/vsync calculation was
incorrect
- in AGA only HAM6 or HAM8 supported. HAM mode bit set with 5 or 7
planes seems to be ignored (OCS/ECS has "HAM5")
- HAM ignored AGA BPLAM (BPLCON4) bits
Beta 3:
- added exception handler that writes log message if openal or
portaudio device enumeration crashes
- fixed d3d pot/square texture restriction check, only for really
old display cards (which may be too slow for d3d filter..)
- bsdsocket cleanup crash fix (ancient win32-specific bug)
- gzip decompression problem (yet another unicode conversion bug),
also broke built-in hrtmon (which is gzipped internally)
- reset fpu rounding state to original temporarily when doing filter
calculations (single pixel jittering in some filtering modes if
Amiga-side code uses FPU and modifies rounding mode)
Beta 2:
- fs "double vsync" mode (100Hz+) was still slow in warp mode
(note D3D mode will stay "slow" because afaik it is not possible
to switch D3D vsync on/off on the fly)
- added warp mode to configuration file (warp=true/false, config file
read-only)
- and another read-only configuration entry, "headless" that switches
invisible emulation mode (window gets hidden). future feature..
- log window scrollback buffer increased to 900 lines
- command prompt "console wrapper" support (run winuae in command
prompt: output goes to command prompt window, does not open separate
log window) More information later, not important just yet..
- saving configuration after modifying input-panel autofire setting
caused modified input event to be saved incorrectly (old bug)
- display scaling does not anymore change D3D filter scanline scaling
- unicode conversion broke magic mouse
- uaeunp file handling update broke some archive operations (b1)
- loading config from command line with GUI enabled didn't override
quickstart (if enabled)
- added "toggle" option to input panel. First button/key press =
emulated button is pressed and kept down. Second button/key press
= emulated button is released
Beta 1:
- development PC updated to Intel Core i7 based. (Asus P6T DeluxeV2,
i7 920 2.66GHz CPU @ 3.7GHz, 3x2G 1866MHz RAM)
- ASPI crash fixed (calling convention mismatch.. I didn't test and
only assumed previous fix would be the only problem left..)
- filesys default codepage changed to default ansi page (1252 breaks
many non-european characters)
- added more directory harddrive error codes to Windows->Amiga code
translation table (unit not ready, bad unit)
- directory harddrive Windows illegal character handling was broken
- do not capture mouse at startup if window is hidden/minimized
- archive dragging to HD-led really mounts it as a harddrive, even
if it contains only disk images
- 1760k HD and 10 sector DD PC formatted had switched internal
DD/HD flag (=above image types didn't work)
- FAT12 formatted images supported as a harddrive (uaeunp feature)
- turbo/warp mode in fullscreen mode wasn't as fast as possible
Final 1.6.0
- filter mode PAL aspect ratio corrected (~5% difference) if keep
aspect ratio checked. (it includes now non-square pixel ratio)
Does basically same as long time ago removed aspect ratio option.
Because it can look ugly and it isn't exactly required feature,
it is only enabled in FS or autoscale modes (they need scaling
even without aspect ratio correction)
- ASPI SCSI unicode conversion bugs fixed (random crashes..)
- "Ignore modes that have larger resolution than largest supported
mode". Now it really does this.
- D3D fall back to non-filtered if IDirect3DDevice9_Reset failed
(instead of closing and reopening the screen and trying again)
- filter scaling sliders didn't work in normal (1x+ mode)
Beta 29: (RC2, beta dialog removed)
- Pang hack side-effects fixed
- autoscale/keep aspect ratio combination fixed
- NTSC hardware in PAL mode: shrink display (fit PAL display in NTSC
space) Previously NTSC was always stretched but I think it is better
to make "base" hardware PAL/NTSC mode non-scaled. Note that PAL/NTSC
vertical streching/shrinking is only supported in filter modes
- screenshots never worked in windowed D3D modes
- screenshot size was wrong in full-window mode
- 100% stereo separation was only about 95% stereo separation
Beta 28: (RC1)
- re-added CD32 emulation hack that was removed in b4, fixes unreliable
booting in non-JIT modes (do not return TOC until "turn led on/off"
command is received. At that time led command was unknown command,
now I am quite sure this can't be the correct way to do it..)
- Rainbow Islands one missing horizontal line fixed ("Ode to Ramon"
scanline fix broke this, OCS-only)
- printer GUI changed, checkboxes replaced with select menu.
Passthrough: no changes, original printing method.
ASCII-only: prints only basic ASCII text.
Epson matrix printer emulation: you do not need to know. yet.
PostScript options: no changes.
- list also supposedly unsupported modes/refresh rates in resolution
list, marked with '*'. Ignore modes that have larger resolution
than largest supported mode and modes that have 75Hz or higher
refresh rate (just to be in safe side..) Some display drivers
don't return custom resolutions in "monitor supported" list..
- loaded configuration files, disk images and statefiles are added to
recent list (includes Windows 7 jump list support)
- more accurate audio Paula/native rate conversion (from UADE, I was
supposed to merge this fix long long time ago..), this fix and some
sound sync code updates mean much improved sound sync (SND% should
be much more stable now, including vsync modes)
- filter-panel aspect ratio works as expected, aspect ratio selected
is monitor's aspect ratio and automatic = aspect ratio calculated
from desktop resolution (if fullscreen) or window size (if windowed)
- added hack that fixes Pang (and perhaps others) graphics problem,
real fix coming (much) later..
Beta 27:
- on screen led was always enabled (b26)
- scaling in NTSC mode really fixed (b26)
- enabling autoscaling and no filters enabled: select Direct3D if
at least 2.0 shaders supported (=fast enough), only select Null
filter if older. (D3D9 scaling is "free" on modern hardware)
- Logitech LCD SDK updated (currently waiting for G19..)
- autoscale found sprites outside of bitplanes when BRDSPRT was
enabled without ECSENA
- vertical positioning in autoscale was wrong in some cases
- AHI works again
- always enable Picasso96 BIF_INDISPLAYCHAIN (not enabled means
RTG mode display size of 0x0 pixels = crash)
- delayed printer open, do not open until enough data received, also
ignore data completely if less than 10 bytes received
- added "ASCII Printer" option. Select this option if you use programs
that print directly to emulated parallel port (bypassing Amiga
printer drivers) and they expect old-style printers that directly
accept ascii text (Action Replay, demo scene disk magazines etc..)
In future this will also include emulation of old Epson matrix
printer control codes (de-facto control codes that most printers
supported at that time)
- added missing "Automatic" aspect ratio setting in Filter panel
- selecting "Full Window" mode when no filters enabled = also enable
Direct3D + FS. (this is what users apparently expect, not confusing
tiny image on the middle of screen)
- development PC updated to Windows 7 RC
Beta 26:
- added transparent support for ICD AdIDE "bit swapped" disks and
hardfiles. Each 16-bit data word has bits swapped, bit 0 = 15,
bit 1 = 0, bit 2 = 14, bit 3 = 1 and so on (reason is most likely
PCB cost) Listed as "CPRM" in "Add Harddrive" list because first
(which is normally hidden) block starts with ascii string "CPRM"
- wrong sound device was selected if configuration was loaded and
DS, OpenAL or PortAudio had 100% identical device names
- bsdsocket not too common connection issue fixed (b15)
- sound card index in config file > number of sound devices = very
slow emulation
- added "All" option to RTG RGB format selection menus (make sure
"ENV:Picasso96/ShowModes" contains "All" or only single format per
color depth is available in screen mode dialogs)
- autoscale: show blank display using previous scaling instead of
defaulting to non-scaling
- NTSC vertical centering fixed in scaled modes
- D3D and OGL mode was not properly closed when switching to
windowed/fullwindow RTG mode (old graphics was visible depending
on screen/scaling etc..)
- AHI is broken in this version. Do not use
Beta 25:
- Picasso96 crash in some specific cases when 8bit->16/32 or 16->32
conversion is used (bug since new Picasso96 emulation was introduced)
- "yes/no"-style dialogs in fullscreen with active GUI: mouse was
(incorrectly) captured when exiting the dialog
- switching between ce and non-ce mode in some blitter heavy programs
could have frozen the blitter (workaround was to switch back to
original mode)
- input was disabled when in "mouse driver" mode and focus was lost
and regained
- DXSDK update, D3D support requires March 2009 DX runtime or newer
- D3D fullscreen "border" flickering fixed
Beta 24:
- debugger T command fixed (b15)
- JIT FPU bug, one addressing mode was wrong (b15)
- reset clears "native2amiga" command queue (it was possible to have
command queued just before reset which would have been executed
after reset -> random errors and crashes)
- do not include mice in parallel port joystick select menus
- add new empty adf files to disk history list
- added simple list devices, libraries and resources command to
debugger (Td Tl Tr)
- log file long datestamps fixed
Beta 23:
- archives (zip etc) didn't unpack (b22)
- directinput keyboard was not always unacquired when focus was lost
- hq2x/3x/4x crash in specific situations (old random bug)
- clipboard initialization changed again, now initialized after all
other residents (previously it was after dos)
Beta 22:
- do not change priority if current priority is HIGH or REALTIME
- command line parameter parsing crash fixed
- added 5:4 aspect ratio to rtg and filter settings
- archiveaccess filename encoding fixed (b15)
- recursive archive support fixed (b15)
- added adf, rdb and hdf "archive" support. It is now possible to
browse adf/hdf/dms/ipf/fdi/extended adf inside zip/lha/whatever
archives when mounted as a harddrive :) (uaeunp.exe feature mainly)
- clipboard initialization should really be after dos initialization,
should fix random "UAE clipboard sharing" crashes when booting
- debugger crash fixes (b15)
- lha non-extended file/dir timestamps fixed
- 7z SDK updated to newer version, timestamps supported
- diskspare (12/24 sector) disk images supported, also includes "plain"
adf files that have exact diskspare format size
- dragging to windowed mode HD-"led" forces harddrive mount (for
example adf is mounted as a harddrive, normally dragging autodetects
type and inserts adfs to disk drive)
- dragging file to harddrive panel also automounts it immediately if
emulation is already running
Beta 21:
- registry subsystem wasn't initialized in b20 (broke lots of things)
- postscript printing crash fixed (old bug that didn't crash so
easily in older versions..)
- slowdown introduced in b13 should be fixed (inverted comparison
when testing if current scan line can be emulated in "fast" mode)
Beta 20: (feature complete now. I think..)
- added controller type to gameports panel, easier way to enable
more complex standard controller configurations without need for
input panel (analog joystick, lightpen, joystick mouse emulation..)
Note that impossible configurations like emulating joystick with
mouse aren't supported even if GUI seems to allow it, also
non-mouse lightpen isn't really supported, it works but moves
badly (not worth the trouble really, maybe)
- added "CDTV Mouse" which is CDTV remote controller mouse emulation,
only difference between normal and CDTV mouse is speed setting,
normal mouse speed is adjustable in input-panel, CDTV mouse speed
is not adjustable and is same as real CDTV mouse emulation (there
are CDTV programs that expect CDTV remote controller -like mouse
speed and they do not work very well with normal mouse)
NOTE: speed not yet calibrated!
- added CD32 controller type to gameports GUI, enables CD32 controller
emulation. Now it is possible to emulate normal joysticks in CD32
emulation mode (without using input panel)
- parallel port joystick adapter configuration added to gameports panel
(GUI lists all devices but only joystick/keyboard supported)
- light pen cursor is centered when used for the first time
- added more compatible default analog joystick parameters
- digital joystick/buttons mapped to analog stick axis work correctly
- state restore rom detection fixed (b15), added logging
- support "0x402 An unknown error occurred" when deleting non-existing
directory with recycle bin enabled
- drives 1 to 3 config load didn't work (b15)
- added possibly pointless command line image conversion option,
"winuae -convert <src> <dst>" where src can be any supported archive
and/or disk image (even archive.lha\fileinsidearchive.dms should
unpack to adf) Separate command line unpacker maybe in future..
Beta 19:
- missing command line unicode support added
- added support for winuae.exe <paths> [<other params>] command line.
<Paths> can be path to a configuration file, any supported floppy
disk image file or statefile, multiple paths supported, path
parsing stops when first parameter beginning with '-' or '/' is
detected. Automatically disables "show gui on startup".
- improved configuration parsing, now for example something="path"
and command line -something="path" works, previously " (or ')
was not parsed properly
- clear dsound buffer when sound autodeactivates, it was possible to
have some old sound data left in buffer if buffer size is really big
- gui debugger clipboard and enter address option fixed (b15)
- autoscaled screen was off center if display size was too small
- directory filesystem "unimplemented error 3" fix
- directory filesystem "unimplemented error 87" when setting file/dir
datestamp and drive is in FAT partition (FAT date range is not as
large as Amiga supported date range, AmigaDOS minimum date is
1978-01-01, FAT minimum is 1980-01-01)
- directory filesystem date underflow fixed, host-side date earlier
than 1978-01-01 caused underflow, result usually was date in
far future.. (bug since the beginning most likely)
- updated directory filesystem date calculations to 64-bit
- directory filesystem ERROR_COMMENT_TOO_BIG implemented
- PortAudio works again, also accept only v1899 or newer library
- clear D3D filter screen when autoscale settings change
- added F13-F16 to rawkeyboard keycode array
Beta 18:
- gui debugger unicode conversion fixes (b15)
- native dll call fixed (b15)
- already existing _UAEFSDB.___ was not updated properly on NTFS
volumes, "dirty" _UAEFSDB.___ data was not flushed when emulator
was exited (old bug)
- non-ascii configuration strings are duplicated in UTF-8 as
<entry name>.utf8. Now even japanese file names and paths work in
configuration files :) (backwards compatible, old versions will
ignore it)
- clipboard sharing: accept only v37 or newer clipboard.device
- added DD (720k) and HD (1440k) PC floppy image type to create disk
option (image will be unformatted)
Beta 17: (even more fixes. do not use b15 or b16)
- module ripper text conversion fixed
- winuae.ini UTF-8 support (only new ones are created in UTF-8)
- ACTION_READ with "illegal" length or address crashed (b15)
- catweasel log information string wrong encoding fixed
- ACTION_SEEK 2G limit and 64-bit filesystem packet fixes
- configuration file handling bugs fixed (b15)
- directory filesystem date field ignored timezone (b15)
- crash dump file naming fixed (old bug)
Beta 16:
- multiple unicode conversion issues fixed, hardfile/drive issues,
clipboard text conversion, statefiles etc..
- automatically add KS rom "footer" if rom is too short (for my own
rom project, more information later...)
- unrar.dll support fixed and uses now unicode functions
- all text file reading routines now automatically support UTF-8 and
UTF-16LE formats if BOM is included (plain files only, not inside
archives yet)
- directory filesystem seek 2G test added, 64-bit seek function return
code fix
Beta 15:
- WinUAE is now native unicode application (internally all strings are
NT native UTF16-LE format instead of 8-bit "ANSI")
What does this mean?
- lots of breakage possible, size of one byte = size of one character
isn't true anymore and finding all cases is difficult. Report all
mysterious crashes (they are usually easily duplicated)
- Windows<>Amiga directory filesystem character set conversion can
be configured (Windows "code page" may not match Amiga charset =
"special" characters should work better now. Default is CP 1252 which
is functionally identical to Amiga standard ISO-8859-1)
- logs and configuration.cache are UTF-8 formatted (UTF-8 is more
human readable than UTF-16), "old" charset supported
- log window supports unicode now, no more weird characters in
(for example) device names containing national characters
- configuration files are still in old format (would cause too many
problems with old versions and front ends..)
- I simply wanted to do this when I dropped 98/ME support but I wasn't
ready until now. (also most new Vista+ APIs are unicode only,
converting between ansi<>unicode was getting too annoying)
- ACTION_EXAMINE_ALL was quite broken, it always returned full directory
entry data (wrong variable used..) Most (all) programs didn't care.
- "not implemented error" filesystem warning is now shown to user
(nobody apparently noticed it in the log = I can never fix it..)
- directory filesystem >2G files are shown as 2G minus 1 byte (instead
of truncating to 32-bit and showing negative or other random sizes),
>4G files internally supported
- directory filesystem ACTION_CHANGE_FILE_POSITION64,
ACTION_GET_FILE_POSITION64, ACTION_CHANGE_FILE_SIZE64 and
ACTION_GET_FILE_SIZE64 implemented (OS4+ packets but also supported
by 68k SFS2)
- ignore all input events (except activation events or if mousehack
is enabled) if no focus and not active (previously only focus was
required)
Beta 14:
- filter out PortAudio DS and MME drivers (useless duplication only)
- portaudio WDM-KS freeze fixed (ancient bug in portaudio library
and nobody hasn't fixed it yet.. Why do I have to do everything..)
- folder selection dialog updated to larger Vista/W7 version
- new Vista/W7 style file dialog was always in "open" mode, it was not
possible to select non-existing file when saving
Beta 13:
- mousehack mouse sync works in filter modes
- D3D filter display positioning should be correct. maybe.
- full window RTG scaling changes or RTG<>native switches didn't clear
old graphics completely
- unofficial/experimental PortAudio audio library support, copy dll
(portaudio_x86.dll) to plugins-directory. Main point is very low
latency sound API (ASIO, WDM-KS, WASAPI) support. WDM-KS (XP) not
tested, WASAPI (VistaSP1/W7 only) confirmed working. Generally
can be ignored, do not ask :)
- file selection dialog uses new IFileDialog interface (if available,
Vista or newer only) Dialogs still should look same, shout if
something looks weird. (currently this is my workaround for
Windows 7b feature/bug of remembering old directory, even if
OPENFILENAME structure has lpstrInitialDir set)
- automatic scaling update, very large DIWSTRT/DIWSTOP values are
clipped to max overscan size when calculating display size
(some demos had really wide autoscaling)
- fixed autoscaling + aspect ratio set + resolution/linedoubling ratio
not 1:1 (for example lores + doubling) = wrong aspect ratio.
- clipboard Amiga->PC conversion crashed if clipboard contained no
text data (empty FORM FTXT structure without data content)
Beta 12:
- file comment was not reset when file already existed and file was
opened mode = MODE_NEWFILE, also caused lost file comment if file
was opened and old comment was set again (probably another "since
the beginning bug") Thanks to TC for finding easy test case.
- mousehack/tablet support "mouse sync" updates (still not fixed)
- "Magic mouse cursor" mode configuration added.
- Both = show standard Windows and Amiga cursors
- Native = show Amiga cursor only
- Host = show Windows cursor only (with colors and shape copied
from real hidden Amiga cursor) This mode fakes really smooth
looking cursor movement (as long as positioning is correct..)
- 'e' debugger command OCS/ECS color register contents are shown
correctly in AGA mode
- sprite garbage in some rare situations (reason not fully known..)
- floppy drives were emptied if quickstart was enabled, show gui on
startup was not enabled and GUI was entered for the first time
- sprite attachment fixed. Surprisingly it works as documented :)
Beta 11:
- fix for graphics corruption introduced in 1.5.3 when bitplane DMA
fetch happened while bitplane pointer was updated
- AGA 6 plane mode (non-EHB) was not always enabled properly (b3)
- added -clipboarddebug command line parameter that writes clipboard
contents to file in winuae directory. (clipboard_p2a.xxx.dat
and clipboard_a2p.xxx.dat)
- added ripper path to Paths panel, used by prowizard and sample
ripper (previously sample ripper used screenshot directory and
prowizard used winuae root directory)
- directory filesystem ACTION_CHANGE_MODE was completely broken in
CHANGE_FH mode, returned error and "Error: couldn't find key
x / y!" was logged. Bug since the beginning
- clipboard: multiple CHRS chunk merging fixed (again), less stupid
clipboard.device detection
- blitter line mode (only if linedraw code was "weird") broke in b3
- file selection dialog (adf, hdf etc..) remembers previous filter
mode ("*.adf", "all files" etc..)
Beta 10: clipboard stuff.
- clipboard: multiple CHRS chunks inside FTXT supported
- clipboard: IFF ILBM Amiga to PC support implemented. EHB supported,
HAM6/8 automatically converted to 24-bit, 24-bit IFF supported
- clipboard: PC to Amiga IFF conversion. Counts the number of colors,
if 256 or less, creates normal paletted IFF image, if more, creates
24 bit IFF.
- clipboard: Windows clipboard is only updated when there is new data
in Amiga clipboard and WinUAE loses focus. Same with Amiga clipboard,
do not copy contents of Windows clipboard until WinUAE gains focus.
- switching from "artifact fixed" interlace mode to non-laced now
force updates the screen completely, fixes possible glitches
Beta 9:
- flickerfixer improved, also first and last line glitch fixed, sprite
positioning fixed. Now interlaced WB is rock solid.
- "Flicker fixer" renamed to "Remove interlace artifacts" (it really
isn't same as flickerfixer or scandoubler)
- led transparency removed, it read from display ram which caused huge
slow down
- artifact removal broke autoscaling
- am and sm debugger commands merged to single M<sub command> command
- bitplane disable debugger command added, Mb <enabled planes>
[<if disabled plane, show it as all zeros or as all ones>]
- automatic, transparent clipboard sharing! Data in Windows clipboard
is automatically copied to Amiga clipboard.device unit 0 and vice
versa. Only text-based content currently supported. OS2+ only.
- REPEAT NOTE: D3D/OGL filter is still broken. Do not use.
Beta 8:
- UAE boot rom was enabled when it should not have been (b7)
- little blitter tweak, writing to bltcon1 while blitter was
enabled confused blitter emulation in some cases
- filter multiplier select boxes now support manually entered
multipliers, for example 2.5 = 2.5x.
- "Commandline" registry (or ini) string entry will be parsed as a
command line (separate step after normal command line parsing)
- built-in hrtmon cycle-exact mode issue fixed
- non-interlace to interlace switch issue fixed (another one,
they never end..)
- do not autoresize unless display parameters are stable for next 50
frames
- added "Include removable drives.." option. Now "Add PC drives" only
adds nonremovable drives. USB etc. will be only mounted at startup
if new option is ticked. "Workaround" for case when "Automount
removable drives" is ticked but USB (or whatever) drive is already
inserted.
- removable drive insert/eject used unallocated signal bit, it did not
cause problems but fixed now
- experimental "flicker fixer" implemented (Display panel). Works
perfectly in WB, not so perfect in games yet (and impossible to get
perfect in all cases, as usual..) No more interlace artifacts when
any graphics object or mouse pointer moves.
NOTE: first and last line will flicker or show garbage.
Technical details: normal interlaced display goes like this: draw
even lines (0, 2, 4, etc..), next frame draws odd lines (1, 3, 5..)
This makes 25Hz refresh rate and also causes interlace artifacts when
objects move. UAE flickerfixer draws both fields simultaneously,
even lines = 0,1*,2,3*,4,5* and odd lines (0*,1,2*,3..).
* = draw display using bitplane pointers stored during previous frame
Beta 7:
- version number bumped to 1.6.0
- added "resize" autoscale method. Resizes windowed mode window
to current detected Amiga display size. (1:1 pixel mapping, no
blurriness)
- PAL/NTSC switching in KS3.x early boot screen was ignored until
following reboot (old bug)
- do not report no_cd-status when loading CD32 statefile without CD
inserted
- doublescan modes autoscale/resize better
- improved Amiga display size detection
- autoscale option saved to configuration file
- do not capture mouse if mouse pointer is not in normal mode, prevents
annoying accidental capture when dragging/resizing
- very large overscanned modes are centered in autoscale modes,
previously right border was simply clipped
- tablet+magic mouse cursor positioning will be even more broken now
- do not create registry key if ini mode is enabled (release versions
only)
- renamed "Drawing tablet support" to "Install virtual mouse driver"
(which is not much better but at least a bit less confusing..)
- mouse autocaptures in "sync mode" if native side mouse driver does
not get "heartbeat" signal from Amiga-side driver (for example
when running game that takes over the system). Current timeout is
2 seconds.
- native mode mouse cursor shape copied to Windows cursor (yes, I am
going really too far now..) in mousesync mode. Just experimenting..
- left mousebutton didn't always work in mouse sync modes
- fullscreen and full window should work correctly again
(hint: full window + autoscale + correct aspect = useful if you
don't mind blurriness, scale2x/pal filter may also help)
- on screen leds' background is translucent (32-bit screen + filtered
only)
- NOTE: D3D/OGL filters do not yet work correctly in autoscale,
autoresize or mouse sync modes (=mouse driver + magic mouse)
- NOTE2: screen dragging does weird things with autoscale/mouse sync
(mouse sync issue when two different screens are visible should be
fixable)
- NOTE3: both real and "fake" cursor is temporarily visible in mouse
sync modes. They should always be in 100% sync and have identical
shape. (but aren't, still much work to do..)
Beta 6:
- Spheris Legacy top/bottom border autoscaling fixed
- screen width checking only stored final display size before vblank
(game with wide gamescreen and narrow scoreboard at the bottom would
have used scoreboard's width)
- autoscale saved to config file
- non-filtered mode is back but enabling autoscale will automatically
enable null filter if current selection was no filter
- filter aspect ratio setting in autoscale mode was wrong
- filter aspect ratio now set by default
- detected screen size logged
- loading new statefile didn't always trigger scale update
Beta 5: WARNING: big changes. 1.6 version change expected.
- KS loader 16-bit odd/even rom image to 32-bit merging fixed
- A1000 bootstrap rom in even/odd format wasn't loaded correctly
- added "Blacker than black" display configuration parameter.
Ticked = borderblank is full black, color register RGB range is
0F0F0F to FFFFFF (instead of 000000 to FFFFFF) "Fixes" missing
"widescreen effect" in Nexus 7 galaxy effect. (blanked border is
"blacker than black" on real hardware, at least on TV-style
display devices)
- useless correct aspect setting is gone (use null filter instead)
- do not try to decrypt broken non-encrypted DMS files
- added new panel "Gameports", moved joystick configuration from
io ports. (more space for future "easy" input configuration mode)
- moved mouse related settings to new gameports panel
- added tablet settings to new gameports panel
- CD32 mode onscreen CD led now emulates real CD32 CD led behavior :)
- some CD32 CD command and status code updates (did some logic
analyzer stuff, more to do later), now updated cd.device that comes
with FMV cartridge works. Also CD command 2 now returns full
firmware string, "CHINON O-658-2 24" (useless but fun, same with
CDTV CD ROM firmware versions..)
- F12+CTRL was same as F11+CTRL (partial copypaste error)
- renamed motherboard RAM expansion areas
- Wings of Death "fake" NTSC works correctly
- Null filter is default and non-filter mode is not anymore possible.
Finally I can use filters for other things than just simple
filtering . See below!
- filter FS multiplier + keep aspect works as expected
- pal/ntsc vertical size change emulated (using filter scaling, try
KS3.x early boot screen)
- mouse and tablet/"absolute mouse" support completely rewritten
* mousehack mouse removed (not needed anymore)
* mousehack interrupt and task renamed to "UAE tablet driver"
* do not select any "tablet mouse" in ports-panel. Use normal mouse.
* tablet automatically detected (currently needs to be wintab32.dll
compatible. Really confusing Tablet PC support maybe later..)
Tablet properties in log file.
* tablet and mouse are separate devices, like real Amiga tablets.
* if tablet is detected (and "UAE boot rom" is installed), "UAE
tablet driver" will be automatically enabled:
KS1.x: uses old-style mousehack mode
KS2.x: creates IECLASS_NEWPOINTERPOS/IESUBCLASS_TABLET messages
(position, range and pressure. Note that pressure variable is
documented as "not used" in 2.x documentation..)
KS3.x: creates IECLASS_NEWPOINTERPOS/IESUBCLASS_NEWTABLET messages
("lots of stuff")
* stylus inverted = right button (if supported by tablet)
* proximity detection (if supported by tablet)
* reported tilt angles are 99.9% surely totally wrong
* Tested only with old USB Wacom Graphire.
* No tablet.library emulation because no information available.
(Deluxe Paint requires it for pressure support)
* TODO: configuration (left button sensitivity, margins etc..)
* New gameports panel settings:
- "Drawing tablet support" = install "tablet driver", mousehack
or real tablet. Same as mouse in "mousehack" mode. (bad label,
will be renamed later..)
- "Full tablet emulation" = use wintab32.dll for all tablet
parameters (x, y, pressure etc..). Real mouse still works in
mousehack mode.
* "Magic Mouse" updated.
- without tablet mode enabled: like previously but more accurate
- mousehack/tablet mode: RTG mode perfectly smooth and seamless
mouse cursor movement inside and outside of emulation window.
(Changes Windows mouse cursor shape, hides real RTG cursor,
works only if RTG hardware mouse cursor enabled)
- native mode cursor sync should be always perfect. (this took
long and was really difficult to do properly..) Does not work
with screen dragging (yet?)
* NOTE: real table support can't be improved until I get more
information (tilt range etc..) Official documentation is non-existing.
(short comments in includes aren't really considered documentation..)
And finally extremely long awaited feature that was not supposed to
ever happen: automatic display scaling!
- enable checkbox is "autoscale" in filter panel
- supports all filters (maybe?)
- scaling sliders change extra border size (middle = no borders)
- keep aspect ratio does just that
- ignores possible sprites outside of display area (Banshee, Spheris
Legacy etc..) Will be updated later..
- enabled by default, aspect ratio disabled, at least during beta
phase. Perhaps there should be button in quickstart panel to disable
or enable autoscaling because not everyone likes blurry display to
become the default..
- to prevent very small displays scaled to fullscreen (like Guru
meditation boxes), minimum allowed internal display size is 256*192.
Max size is 344*272 (in lores, nonlaced pixels)
- the better this gets the more comments I get.. (which means
screenshot and complete name and/or CRC32)
Does not (cannot) work with all programs. Why did I finally do this?
Because "magic mouse" sync mode required position of display start
and end and it was more or less the same was required for automatic
scaling.. And also because filter internal algorithms are finally
good enough.
Beta 4:
- removable real harddrives (or other memory devices) work again
(broke in b2)
- OCS/ECS "7-planes" mode didn't enable EHB mode
- 320x256, 640x512, 800x600, 1024x768 and 1280x1024 are always
available in Picasso96 resolution selection, even if host does not
support the mode (in fullscreen mode automatically selects next
higher available mode + black borders) 320x200 and 320x240 was
already "faked" previously
- ECS Agnus 0.5M+0.5M "1M chip" mirror works again (Move Any Mountain)
- copper disassembler uses Agnus bank instead of direct memory access,
works now with above configuration
- blitter writes work to "chip mirror" (Move Any Mountain missing gfx)
- mouse counter emulation rewrite, now works with programs that read
counters hundreds of times/frame. (Oil Imperium pipelining minigame,
some weird lag can be noticed but it is much better than previously)
- added support for 81 and 82 cylinder PC/Atari ST image formats
- memwatch breakpoints work after reset/memory bank changes
Beta 3:
- HAM errors if left border was not fully visible (it seems this bug
has been there since the beginning of UAE, code that was supposed
to handle this case has never worked correctly..)
- mid horizontal line HAM/EHB/DPF change fixed (Cover Girl Strip
Poker) broke in 1.5.3
- added win32.guikey to configuration file, keycode that opens GUI
(raw directinput keycode, for example F10 = 0x44) -1 = default.
- game & io-ports <none>-setting works properly
- vhd creator didn't create fully compatible images (larger images
were incompatible with official vhd tools, did not cause data
corruption)
- 1st Anniversary by Lazy Bones OCS/ECS "7-planes" trick emulated
(missing black vertical lines)
- Disposable Hero title screen is now perfect. Take screenshots
before it gets broken again :)
- added some more sanity tests to DirectDraw surface handling
Beta 2:
- fixed b1 slowdown when lots of sprites are visible
- CD32 mode CD32.TM detection added (log only)
- RTG vblank interrupt changes, use INTB_VERTB if RTG vblank is set
to "Chipset". (very compatible, no extra interrupts happening) Uses
INTB_PORTS if different than Chipset. (Previously used INTB_EXTER but
some games didn't like it, Ports seems to be more compatible) Added
"Disabled" option which disables RTG vblank support.
- fixed possible crash when closing fullscreen mode
- uaeserial.device unit 10+ open failure fix
- hardfile os-specific and common stuff separated more logically, more
portable (and easier to add new image types, see below)
- VHD (VirtualPC) fixed and dynamic harddrive images supported. Reading
and writing supported, image creation supported. HDF->VHD conversion
is not built-in but you can use for example VHDTool or any other tool
that supports raw to vhd conversion (hdf is a basic raw harddrive
image type) "Differencing" image type may be supported in future
(differencing = all written data goes to another image, like adf
"saveimages")
WARNING: vhd support may not be bug free yet. Remember backups!
Why YetAnotherImageFormat? Main point is dynamic images. New empty
dynamic image is always very small (even if virtual size is multiple
gigabytes) and image grows automatically when needed.
Beta 1:
- DXSDK updated, D3D filters again require updated DX runtime
- some CD32 pad reading routines returned phantom buttons in JIT
modes if pad was not "connected"
- another partial sprite rendering update, fixes sprite size problems
in screen modes that have multiple resolutions in single horizontal
line (for example Innovation Part 2 by Axxis is 100% correct now)
- also fixes wrong sized sprites in some lores resolution modes
- superhires in lores mode supported (show only every 4th pixel)
- superhires in filtered lores supported (visible pixel is average
color of 4 internal shres pixels. This may be slow..)
- ECS SHRES in lores supported (both non-filtered and filtered)
- 10 sectors per track PC floppy images (800k) supported
1.5.3
Beta 8:
- delay sync clock enable until 10s from reset (do not confuse
KS delay calibration routine)
- real PCMCIA SRAM re-insert detection really really does work now
(Thanks to Eclipse for donating PCMCIA SRAM card)
Vista note: Vista does not come with generic PCMCIA SRAM drivers
anymore but XP built-in drivers do work, only need memcard.sys and
memcard.inf from XP install. 32-bit Vista tested only.
- vblank interrupt was not working in RTG vsync mode
- fixed wrong colors after 16-bit fullscreen RTG to 32-bit desktop
switch
Beta 7:
- fixed D3D scanline missing right edge
- OCS NTSC chipset always used PAL rates
- windowed RTG mode FPS counter shows both RTG and chipset refresh
rates "<RTG> [<chipset]"
- CIA TOD didn't stop when genlock mode was enabled without genlock
(caused KS to detect wrong timing mode, result was most OS time
functions, including CLI wait-command, counted incorrectly if
configured chipset refresh rate was different than current refresh
rate. Bug since the beginning of time but genlock option made this
worse because old "genlock always connected" feature hide this bug..
(CIA-A TOD configured to PS tick didn't have this problem) Thanks
to Ed Cruse for real NTSC A3000 testing.
- Syncronize clock improved. Automatically enables PS supply tick mode
(CIA-A TOD = sysclock only if it uses PS supply tick) and also counts
"lost" ticks when emulation is stopped (for example GUI is open)
This is still a hack but at least it seems to work now :)
Beta 6:
- Picasso96 vblank rewritten again, now uses build-in Picasso96 vblank
hardware interrupt support. It really works now, WaitTOF() does not
waste CPU time anymore
- added Picasso96 vblank rate configuration in GUI. Chipset = RTG
vblank is same as chipset refresh rate (same as in previous versions)
Real = real host-side refresh rate. <value> = refresh rate. Currently
this only affects vertical blank waiting functions
- "Associate all"-button didn't work
- fullscreen to another fullscreen resolution switch on non-primary
display could have frozen emulation in some cases
- statefile-configuration parameter also sets default statefile path
- 150b23 "disk write does not start if wordsync is enabled" was not
exactly right, disk write works normally if wordsync is enabled and
previous read detected wordsync. Internal "Wordsync detected" flag
apparently only gets reset when disk read is started. Kick Off 2
save, most likely many other programs too..
Beta 5:
- moved file extension stuff to half-empty priority panel, replaced
button with list and added (de)associate all buttons. Extension
command line visible and editable? Perhaps later..
- Improved emulation of reads from write-only custom register after
some boring real Amiga testing.. (still not exactly right)
S.E.X by Fantasys works now. (does MOVE.L INTREQ,D0 when it should
have been MOVE.W INTREQR,D0.. This only worked accidentally)
- Picasso96 vblank wait implemented without busy waiting. Was in pre
1.5.0 but busy waited, was "lost" when RTG was rewritten
- sometimes first vertical blank interrupt was missed when loading
statefile if statefile was created when blitter was active
Beta 4:
- midline resolution support changed again (should be "good enough" now,
better compatibility requires bigger changes and boring logic analyzer
testing)
- centering was very broken in some cases (b2)
- only accept openal32.dll 6.14.357.22 or newer. (fixes possible crash at
startup)
- missing sprites in some programs fixed, for example Leander and Battle
Squadron (b2)
- added descriptions to file associations, fall back to user-specific
(instead of system-wide) file associations if no admin privileges (was
broken in Vista)
- added "Associate file extensions"-button to Paths-panel. Adds following
extensions: .uae, .adf, .ipf, .dms, .uss. Removal not yet possible
(it gets really tricky if other programs use same extensions and there
is no API for adding or removing associations, only way is to access
registry directly.. believe it or not.) Automatic .uae association
removed. Better GUI in future. Maybe.
Beta 3:
- fixed AGA display corruption (hopefully all cases..)
- POTxDAT behavior in output mode fixed
Beta 2:
- RTG hardware cursor was still visible if switching from hardware
cursor enabled WB installation to non-hardware cursor installation
without closing WinUAE
- some CE-mode memory access optimizations
- configuration cache loader missed most configuration files inside
directories (parent was set to wrong entry..)
- some midline resolution change updates. Disposable Hero looks better
but not perfect yet.. Innovation Part 2 by Axxis also looks better
(sprite resolution issue still remaining). Brian the Lion "message
dialog" corruption fixed.
Beta 1:
- huge memory leak fixed (display mode switch)
- fullscreen color depth change didn't work on the fly
- multi monitor resolution list may only have listed primary monitor's
resolutions
- OpenGL fullscreen works again
Beta 0.1:
- "always on top" change works on the fly
- "no taskbar button" works on the fly
- missing stack frame type 4 added to RTE
- dragging zipped adf to floppy leds mounted it as a filesystem, not
as a disk image (I guess zip containing only disk image(s) dropped to
WinUAE window should also mount as a disk image?)
- emulated OCS-only "scanline" effect if DDFSTRT < 0x18. (Music disks
Ode to Ramon I and II by Digital Force. ECS = scroller is unreadable
and without "scanline" effect)
- "latest news/abandon"-fix broke "nakudemo"-fix, both work now
- parallel/serial/midi select menus didn't work
- Input-panel numeric boxes at the bottom didn't work (same as above)
- sleep_millis() was not thread-safe (could have caused random timing
glitches in some very rare cases)
- emulate joystick 2nd/3rd button pullup resistor because some games
require it (and apparently some/many Amiga compatible 2+ button pads
have it). For example BC.Kid 2-button mode won't work without
joystick/pad with pullup resistor in second button pin. (regular
single button joysticks don't have pullups) Analog joystick update in
1.5.x "broke" this.
- POTxDAT X and Y counter bytes were inverted (Aladdin second button)
- reset current disk sound parameters when on the fly drive sound
settings are changed (does not fix missing motor sound until drive
motor restarts, not worth the trouble, at least not yet)
- replaced "shouldn't happen" abort()'s in JIT with error dialog and
forced hard reset
- highgfx superhires mode missing pixels fixed (also possible in some
normal max overscanned AGA-only screenmodes)
Final 1.5.2
- uaescsi.device only updated CMD_GETGEOMETRY parameters when emulation
was started (and also broke CMD_READ if there was no CD in drive)
- "Magic mouse" tried to uncapture mouse when it was already uncaptured
- save relative rom paths in ini-mode
Beta 4: (final beta)
- check openal32.dll version before using
- accept 1.5.1 language DLL files (no GUI changes)
- Catweasel: do not use direct access to read joyports if driver is
installed, caused conflicts with driver provided joystick/mouse
(note that I still don't care about CW until 64-bit compatible
drivers are released, if ever. Do not ask stupid questions.)
- fixed D3D 8876086C error if display number in configuration file was
bigger than current number of displays
- display mode switching mouse cursor handling tweaks
Beta 3:
- bsdsocket initialization rewritten, should be more reliable now
if uae rom is moved and/or other extra residents enabled
(I don't understand how it was supposed to work previously..)
- OpenAL sound mode problems fixed ("I hope")
- Raw mouse/"name of mouse" mouse wheel support fixed (has always
been broken)
Beta 2:
- RTG mode and width set to bigger than resolution (autoscroll)
= bottom part of display was not updated (1.5.0)
- windowed mode minimize and restore, only title bar was visible
- mute on/off inputevent fixed
- added analog joystick emulation multiplier and offset config
entries (not in GUI yet)
- analog joystick emulation improvements, pot line (=2nd/3rd
firebutton) capacitor charging/discharging emulated. Not yet
perfect, F19 Stealth Fighter still not working in analog joy mode.
- directory harddrive/uaehf.device hardfile didn't enable
uaelib hooks (used by uae-configuration/uaectrl)
- added log message if bsdsocket host-side initialization fails
- filter preset load didn't redraw the display using new parameters
Beta 1: (crashing bug = this will be quick beta series, really!)
- 4th floppy drive track display number was clipped in windowed mode
- non-vsync RTG mode run in "warp"-mode if native mode was set to
fullscreen+vsync
- USB "non-friendly" name buffer overflow, caused random crashes
and weird behavior, including uae-configuration issue. (1.5.1)
- sprite garbage was possible if sprite(s) active during resolution
change from higher to lower resolution (AGA only) (1.5.0)
- OpenAL sound support (experimental, OpenAL may be better API for
new AHI driver than DSound) Note that OpenAL uses internally
DirectSound if sound card does not have native OpenAL support.
"Generic Hardware" = DSound wrapper, "Generic Software" = WaveOut
wrapper (really bad), something else = native support. OpenAL sound
devices only available if OpenAL is installed. DO NOT ASK something
like "What is OpenAL". Learn to use search engines first or ignore
this feature.
Final 1.5.1
- compiled with August 2008 DXSDK, shader files modified (old ones are
not compatible anymore) D3D filter now requires August 2008 or newer
DirectX. Shader support need pixel shader version 2.0 or later.
- MSVC 2008 updated to final SP1
RC4: (still waiting for fixed winuae.net..)
- quickstart A1200: increase A1200 KS 3.1 priority over
Cloanto A4000 KS 3.1 (AF2008 finally includes real A1200 3.1 ROM)
- multiple identical USB game controllers fix really works now
- non-ce/non-immediate blitter timing calculation returned totally
bogus values if AGA fmode=3, wide sprites or sprite doublescan was
enabled (tiny blit could take few seconds to finish in worst case..)
Ancient bug.
- input device re-enumeration cleanup after usb device insert/remove
- crash when inserting or removing USB devices before emulation has
been started
- inserting/removing USB devices does not anymore change currently
selected mouse or joystick in ports panel
RC3:
- bsdsocket broke in rc2
- D3D filter does not crash if texture creation fails
(=non D3D9 compatible display card/driver)
- shader filters renamed to "D3D: <name of filter>" in GUI
RC2:
- PAL filter was not selectable
- direct3d fullscreen mode switching really works now
(non-flashing fullscreen d3d->other mode switching coming after
1.5.1)
- new autoswitching input handling got confused if multiple USB
game controller had same product GUID
- fixed some harmless and ancient thread handle leaks
RC1:
- clear RTG screen when switching to different RTG mode
- d9dx9_36.dll set to delay load, winuae now runs without recent DX
redistributable installed as long as D3D filter(s) aren't used
- shaders moved to plugins\filtershaders\direct3d (perhaps opengl
shaders will be implemented someday..)
- pixel shader filter on the fly change crashes fixed (I hope)
- adf was not updated if disk write DMA was aborted (Cadaver save)
Beta 8:
- PAL filter preset fixed
- fixed random copper problem introduced in b7
- Direct3D filter updated to full D3D9, added pixel shader filter
support (http://www.si-gamer.net/gulikoza/) Pixel shader files
included with beta. Some filters will require PS3.0, some work with
PS2.0. Check the log for possible error messages. Pixel shader filters
are "free" as long as display card is modern enough.
NOTE: this beta may need recent DX9 redistributable, I'll try to
fix this later.. NOTE: on the fly switching can crash
- include hardfile name in IDE identification command
Beta 7:
- PCMCIA SRAM can work as a memory expansion now (it was not possible
to execute 68K code in emulated SRAM previously..)
- configuration files in subdirectories didn't load if configuration
cache was enabled
- "refresh rates in parenthesis" handling fixed
- on-screen leds do not disappear when switching filters
- enable ini-mode if <name of winuae.exe>.ini (without .exe) is found
(previously winuae.ini was always used)
- logic analyzer copper timing updates (thanks to yaqube for test
program) Not 100% correct yet, there seems to be unknown 2 cycle
offset between bitplane dma and copper, and also seems to break
Leander's right border (as I expected, something always breaks as
long as it isn't 100% full fix)
- background color changes on very right edge of screen are now
visible
- stop sound while inactive or minimized paused emulation
- directory filesystem statefile restore didn't work without
restarting emulation
Beta 6:
- RAM limit update in previous beta wasn't working..
- ddfstrt >= ddfstop "feature" emulated. OCS = display ends at "hard
stop". ECS/AGA = starts and ends immediately = not much to see.
Scroll text in intro "Latest News" by Abandon is now visible,
OCS-only, scroll text missing on ECS Amigas (except small graphics
garbage on left border)
- uaescsi.device and uaehf.device read/write command parameter
validation improved (previously length = 0 was considered valid)
- experimental rawkeyboard mode added, add -rawkeyboard command line
parameter to enable it (also disables directinput keyboard mode)
Normally not needed but may help if some keys are not working in
directinput mode. Windows XP or newer only.
- added BIF_NEWDIALOGSTYLE to path selection dialogs
- path selection dialogs autoselect old directory
- added path selection dialog to "favorite path" feature (right click
on disk image select buttons)
- filter aspect ratio selection added
Beta 5:
- avi recording crash if only audio recording was enabled
- native dll support fixed
- do not enable second Z3 board if RAM limit reached (=decrease Z3 size)
and Z3 size is smaller than 256M (4M+2M combination for example is
quite stupid..)
- adjusted max RAM limit calculation (max RAM + max page file instead
of currently available RAM + max page file)
- sound adjustments, previously it was possible to lock non-safe portion
of directsound sound buffer causing glitches in some cases (which may
or may have never happened)
- SuperEagle, Super2xSaI and 2xSaI 32-bit color support added
- disable filter if filter size multiplier is too big for configured
display size (instead of overflowing buffers..)
- resolution and doubling setting change on the fly updates filter
centering
- added -ddsoftwarecolorkey command line option. Workaround for buggy
Intel integrated laptop chipset Vista graphics driver causing non-
transparent (pink rectangle) RTG hardware cursor
- (new AHI driver will be only available after 1.5.1)
Beta 4:
- input panel custom events in slots 2+ were not saved if previous
slot was empty
- debugger memwatch points were still broken in byte and word modes
- debugger movem was disassembled incorrectly (wrong source/dest
address shown) if addressing mode was not address register relative
- raw mouse friendly names added (was easier said than done..),
defaults to old-style "RAW Mouse" if name can't be found
- directdraw max surface size driver workaround fixed
- game Lancaster ce-mode blank-screen tweak
Beta 3:
- corrected directinput keyboard enumeration, possible fix for
wrong keycodes (=non-working key) on some keyboard/driver
combinations. (bug since the beginning, I blame really bad keyboard
directinput documentation)
- Picasso96 color space conversion color errors (b2)
- Picasso96 now always keeps aspect ratio in scaled modes
(both windowed and full-window)
- window resize worked strangely in some cases
- full-window on the fly monitor change fixed
- disappearing mouse cursor if scaled window was smaller than original
Picasso96 resolution
- detect Amiga Forever 2008 Value Edition rom key when winuae is
located outside of AF install directory
- fullscreen to fullscreen non resolution/depth changes won't
reopen the display anymore (except D3D/OGL<>other filter change)
- fullscreen to fullscreen resolution/depth change speed improved
- Windowed Picasso96 scaling fixed when native mode was set to
fullscreen or fullwindow
- nasty memory corruption fixed in configuration handling introduced
in 1.5 betas. Causes random crash or memory corruption sooner or
later when saving configuration few times.
Beta 2:
- Picasso96 hardware mouse cursor may have been invisible (or wrong
graphics) in some cases after resolution change
- borderblank switching does not corrupt graphics in interlaced modes
(this was already fixed in beta 1)
- default JIT timing value increased to 25000, should help with some
PCs that had slowdown in 1.5.0 series, hopefully without side-effects
- HRTMon works (again) if JIT is enabled
- "Kickstart replacement" is compatible with new KS loader
- interlace should work again in "normal" mode (no doubling or
scanlines) (broken since 1.3b2..)
- interlace<>nonlace switching graphics problem fixed (1.5.0)
- window is now reopened only when switching to fullscreen. Every
on the fly windowed configuration change should never reopen the
window anymore.
- full-window modes work again, filtered modes center properly
- renamed Picasso96 option "Scale instead of switching resolution" to
"Scale if smaller than display size setting"
- added Picasso96 option "Always scale in windowed mode", this option
causes window size to never resize when resolution changes. Also
enables manual window resizing. Just experimenting..
- Picasso96 "Scale instead of switching resolution" in full-window modes
always scales to full screen
- fixed possible crashes when switching Windows desktop resolution or
when using quick user switching (post message if there are still
problems, I rarely use these features)
- some directdraw and direct3d memory leaks fixed
Beta 1: (1.5.1 in few weeks)
- windowed mode "instant" switching implemented (this was planned for
1.5.0 but it would have delayed release 2-3 more weeks)
- windowed mode window sizing enabled (not available in P96 modes,
if enabled, what it should do? scale the image?)
- A500 "Chipset extra" enables RTC if memory expansion configured
- KS 1.3 hardfile mounting fixed (so far "worst" 1.5.0 bug found..)
- rewritten full featured AHI driver coming soon
* all AHI sample types supported (8-bit, 16-bit, 32-bit)
* 7.1 supported (probably will convert to 5.1 if 7.1 not supported)
* rear speakers supported in stereo mode (negative panning value)
* "infinite" number of sounds supported (basically emulates sound
card with "infinite" memory)
* number of simultaneous sounds only limited by PC sound card/driver
* all mixing is done by Windows sound driver (old driver used
Amiga-side software mixing)
1.5.0
Beta 25: RC1
- "non-standard" Picasso96 resolutions are available again
- fixed unusable huge crash dumps if logging was enabled
Beta 24:
- real PCMCIA SRAM card removal should really really work now
- real harddisk (or memory card or usb stick) disk change message
could have been sent to wrong device unit if multiple harddisk
devices were configured (including hardfiles)
- direct3d and opengl fullscreen fixed
- direct3d/ogl<>Picasso96 switching fixed (instant switch not possible)
- NTSC vblank end vpos fixed (top of display was cut in overscan modes)
Beta 23:
- OGL/D3D fixed but uses old scaling method (update after 1.5)
- AF2008 ROM scanner detection problems really fixed
- JIT timing change test (perhaps faster CPU without other
side-effects..), added command line parameter -jitevent <val>
current default 10000, old was 3000. Experiment if interested..
- default display buffer setting changed to "DefaultRAM" (which
is same as in 1.4.6 and older, can cause too much confusion
if new version even in non-Picasso96 mode is much slower than
old version due to weird display drivers)
- disk write does not start if wordsync is enabled
- improved rare heavy CPU usage situation when sync word=0
without disk inserted
- improved dragndrop file type autodetection
- ignore duplicate directinput joystick axis indexes
Beta 22: (To do: OGL/D3D scaling options. bleh.)
- AF2008 non-KS/extended ROMs didn't decrypt properly
- configuration cache checkbox added to paths-panel (default is
enabled, saved to registry/ini)
- added pointless CD32+FMV Quickstart entry
- CDTV extended ROM 1.0 part numbers added (2.07 PN still missing)
- Action Replay 3 v3.09 even/odd ROM checksums added (roms dumped,
thanks to Jope for adding ROM sockets to my AR3). First four bytes,
io-addresses that can't be dumped using software dump method, are
0x50 0x00 0x00 0x00. (how boring..)
- possible fix for sluggish GUI Memory-panel
Beta 21:
- A3000 1.3 SuperKickstart fakeMMU bonus remapping fixed
- A3000 mode (=A3000 SCSI enabled) forces UAE boot rom to backup
location (no more conflicts with 1.3 SuperKickstart bonus area)
- notification area icon is now created only once at startup
- added function to uae.resource that can be used to query function
pointers using string labels (more portable and safe)
- 32->16bit Picasso96 color space conversion fixed
- all missing Picasso96 color space conversion routines added
- HAM6 with less than 6 planes emulated properly
- 0.5M chip + 0.5M slow + ECS Agnus chip ram aliasing implemented
(DMA addresses 0x80000-0xfffff are aliased to 0xc00000-0xc7ffff)
Previous chip mapping fixes were not 100% correct, there is no "bus
noise" when slow ram is enabled.
Fixes demo "Move Any Mountain" by "Lazy Bones"
- floppy drive sounds fixed in 4+ sound channel modes
- fixed rare bug in configuration list, missing directory entries
possible if it only contained other directories (no files)
- implemented configuration cache that caches all data needed to
populate Configuration-panel quickly without directory/file scanning.
Currently always enabled (this way I surely get enough testing..)
Cache is stored in file called "configuration.cache" in configuration
root directory. Cache file is only re-created when configuration is
saved, deleted or cache file is missing or corrupted.
Enable/disable in future, first some testing :)
Beta 20:
- only reset sound when changing configuration if sound mode, sound card,
frequency, channels, or buffer size is changed
- 5.1 sound settings now also send mixed sound to center and LFE channel
(mixing volume may need adjusting, please test)
- superhires sprites in doublescan mode had halved horizontal resolution
- power led fade support (very crappy)
- possible fix to random joystick/mouse switch crash
- programmed resolutions (doublescan) are now horizontally centered
- right side max sprite clipping position was incorrect
- D3D/OGL filters do not crash anymore but still do not work as expected..
- added Amiga-side uae.resource, safe method to find "uae rom" base and
other information. Version of resource is UAEVERSION.UAEREVISION
NOTE: in compatible modes resource may not be available.
Check sources for more information.
Beta 19:
- lha/lzh archives with directory entries ("-lhd-") crash fix
- GUI chip ram 8M option was unavailable (b17)
- joyportx and input panel parameters (except input mappings)
supported via uae-configuration
- less useless logging in fullscreen alt-tab
- GUI autoscroll fixed when using fullscreen mode smaller than 640x480
on non-primary monitor
- non-AR cartridge emulation problems fixed
- dont emulate chip ram mirroring if JIT direct is enabled at startup
(OS can detect wrong chip ram size, JIT does not support mirroring)
- emulate "bus noise" (very far from real thing currently) when ECS
Agnus but only 512M RAM configuration (512k chip ram, 512k bus noise,
512k chip ram, 512k bus noise) In theory 1M/2M Agnus configuration
should be implemented because 1M Agnus + 1M chip = 1M chip ram + 1M
chip ram mirror but 2M Agnus + 1M chip = 1M chip ram + 1M of "bus
noise" (for example A500Plus) Later..
- Picasso96 state file support fixed (not compatible with old states)
- development PC CPU updated to Q9450 quad core CPU, 3.2GHz
currently, more/less overclock later :) (old CPU was E6600)
Beta 18:
- sprites were visible when they were outside of DDFSTRT/DDFSTOP range
(which really is DDFSTRT - end of line, another undocumented
feature) "Fixes" demo Blittersweet (looks more broken now but it does
look exact same on real A500) This update may not be 100% correct yet,
it can break other programs. Test and complain :)
- some archives mounted as a harddrive crashed
Beta 17:
- hardware mouse cursor trails fixed when cursor height > width
- cursor directdraw surface handling changed, perhaps workaround
for buggy drivers
- fullscreen to fullscreen picasso96 mode switching work properly
when "Match host and RTG color depth if possible" is off
(instant switch without resetting display mode)
- Picasso96 "fake" (320x200 etc..) display resolutions fixed
(resolutions disappeared few betas ago)
- added 1.5M chip ram option (A500Plus + 0.5M trap door expansion)
NOTE: do not use with JIT, JIT does not like non-power-of-2 RAM
- added 384M/768M/1.5G Z3 RAM options (enables second Z3 RAM board,
384M = 256M+128M, 768M = 512M+256M...) Why? Because on most PCs
1G is not possible (without having 64-bit OS) but 768M is usually
possible and lots of RAM is fun and pointless :)
- Z3 RAM is now always mapped (more compatible with some reset proof
programs)
Beta 16:
- winuaebootlog.txt and winuaelog.txt (if enabled) is written to crash
dump file automatically
- uncapture mouse when paused if in windowed mode
- release only non-enabled input devices when mouse is uncaptured and
release all devices when focus is lost. This makes WinUAE's behaviour
more Windows-like (input is read as long as program has focus)
- "Match host and RTG color depth if possible" set and 24-bit fullscreen
Picasso96 mode selected -> use 32-bit native mode
- fixed corrupted Picasso96 hardware mouse cursor in 8/16-bit modes
Beta 15:
- autoconfig emulation update, fixes AR3 (broken) autoconfig code that
detected non-existing ram expansion at 0x00600000-0x009ffff
- modified directdraw fullscreen mode fallback code
- Picasso96 hires hardware sprite problem fixed. It was emulation
problem after all.. (I really need new brown paper bag soon)
- Picasso96 hardware sprite resolution switching problem should be
really fixed now. (lots of logging can still happen after alt-tab,
this will be removed later)
- disk insert/remove tweak
Beta 14:
- fixed IDE emulation crash
- uae-configuration problems with some config entries
- pointless feature: 68881/68882 available in 68000/68010 modes
(cycle-exact or more compatible not allowed at the same time)
- warp-mode didn't work in fullscreen mode if display refresh rate was
set to "default"
- restoring statefile that includes one or more directory harddrives or
uaehf.device hardfiles didn't restore uae boot rom properly
- some vsync tuning
- pause sound immediately when entering GUI
- maprom "shadow" ram moved to 0x0f000000 (no more conflicts with
extended ROMs or incompatible Cloanto Kickstart ROMs)
- hardfile state restore freeze fix (Picasso96 statefile support not
yet updated)
- Picasso96 hardware sprite DirectDraw surface is now allocated only
once (instead of dynamically re-creating when shape changed)
- gfx garbage in mixed non-interlaced and interlaced modes should be
finally fixed (maybe. for example Pinball Illusions scoreboard in
hires-mode)
- totally broken interlaced doublescan modes fixed
- "The Diagnostic 2.0" by Logica (Amiga diagnostic replacement ROM)
keyboard detection fixed. Checksums added to ROM scanner.
- do not send initiate and terminate power-up key codes after
restoring statefile
- floppy sounds also supported in <winuae path>\plugins\floppysounds
directory
- JIT GUI changes, removed useless force checkbox, direct/indirect
switching should work as designed again
Beta 13:
- more screen mode switching problems fixed
- automatically select next bigger resolution if fullscreen mode fails
to open (for example 50Hz-only modes without 50Hz compatible display)
- added "keep aspect ratio" checkbox to filter panel, syncronizes
vertical and horizontal zoom sliders (OGL/D3D are still broken!)
- both vertical and horizontal filter multiplier set to "FS" and aspect
ratio checkbox checked -> keep aspect ratio
- midscreen BPLCON4 modifications fixed (broken since 1200b2, stupid bug,
wrong register address..) fixes Gloom (and other programs using same
copper C2P method) graphics problems
- winuaeenforcer stack debug output fix (BR)
- PCMCIA SRAM emulation eject crash fix
- fullwindow Picasso96 mode is centered again
Beta 12:
- hardfile creation: sparse file option added (sparse file = non-written
parts of file do not take space on HD, NTFSv5+ required)
- IDE harddrive emulation LBA48 support implemented (>128G hardfiles)
NOTE! READ THIS: http://eab.abime.net/showthread.php?t=35801
- memwatch breakpoints with value detection improved if size is word or
byte
- CD32 CD frame interrupt was not always cleared (Liberation CD32, perhaps
others, JIT still needs to be disabled)
- mousehack (tablet) mode fix, partially broken since 1.4.6 (not tested,
I need to borrow my brother's tablet first..)
- Picasso96 tweaks
Beta 11:
- uaegfx.card is now WinUAE built-in, libs:picasso96/uaegfx.card is not
needed anymore (and is ignored if it exists)
- resolution names in display preferences are now named
"UAE:<w>x<h>" instead of "uaegfx:<w>x<h>"
- added new Picasso96 options to GUI
- 24-bit display depth Picasso96 blitter routines implemented/updated
- added all Picasso96 supported color depth modes, defaults are
old standard PC modes (palette mode, R5G6B5PC and B8G8R8A8)
NOTES:
- only one 8-bit,15/16-bit, 24-bit and 32-bit mode supported
simultaneously
- All "new" modes require color space conversion = slower.
- Not all mode color space conversions yet supported (black screen)
- Can be useful with old RTG compatible demos or games that require
specific "non-pc" display color modes
- added "Display buffer" option to misc-panel (stored to registry)
- "FS" scale setting is now the default
- refresh whole screen using very optimized routine if >80% of
Picasso96 screen needs refreshing (faster than partial update)
- Marvin's Marvellous Adventure clouds/score interference fixed
(It was really stupid bug, can only happen with AGA sprites)
- Skid Marks hires mode car sprite problem fixed (b10)
Beta 10:
- MOVEM is not weird in debugger anymore
- JIT RAM allocation failure path fixed (if Z3+RTG RAM fails to
allocate, lower amount of RAM automatically and try again)
- limit internal sprite resolution to current display resolution
(setting in display panel), should improve performance slightly
in AGA modes if lots of sprites are used and display isn't shres
- harddrive detection crash if returned STORAGE_DEVICE_DESCRIPTOR
was shorter than expected
- disable hardware sprite if uaegfx.card is old version without
hardware sprite support and devs:monitors/info has softsprite=no
- adjusted DirectDraw surface allocation parameters, perhaps helps
with P96Speed differences
- added -ddforcemode <mode> command line parameter, if you have slow
P96Speed results compared to 1.4.6, try mode values from 1 to 3 and
report results.
Beta 9:
- crash when fullscreen enabled and error dialog was shown before
display was changed to fullscreen
- CD32 state restore compatibility improved
- SSCAN2 'undocumented' feature emulated. "If SSCAN2 bit in FMODE is
set, then disable SH10 horizontal coincidence detect". This really
means both one AND zero SH10 match = single sprite can appear twice
on screen! (Fantastic Dizzy CD32 background)
- AGA mode only: last line of sprite may have been redrawn if bitplane
width was changed and sprite was reused later (introduced in 1.4.5)
- debugger sp command improvements
- AGA sprite outside bitplanes position bug fix (introduced in 1.4.5)
- Picasso96 8-bit mode wrong palette after mode switch
- Picasso96 8-bit and 16-bit optimized blitter bug fix, too much data
was blitted if width was >32 bytes (not pixels) and it was not
divisible by 32. 32-bit mode was working properly.
- emulated LPSTOP instruction (68060 only)
- MMU instructions didn't check supervisor mode. Note that there is no
MMU emulation, I think I have to repeat this every time I talk about
MMU :)
- added 68040/68060 MMU instructions to table68k (no more generic
"MMUOP" in debugger's disassembler) 68030 MMU instructions are still
shown as "MMUOP030", they don't really fit to table68k format because
first instruction word does not specify the instruction type
- MOVEC weird disassembly updated (MOVEM is still weird)
Beta 8:
NOTE: OGL/D3D filters still using old scaling
- uaegfx.card fallback graphics routines fixed (rarely used drawing
modes that native C-code "blitter" does not support)
- print uaegfx.card version to log file
- simple RTG scaling support, do not change resolution but scale to
fullscreen if display size configured in display panel is larger than
requested Picasso96 resolution. Quality is not good, real filter
support later. Perhaps.. Mainly useful with games/demos that use
very low resolutions. (configuration enable option not yet added)
- "super skid marks fix" updated, previous "fix" broke all attached
AGA-mode sprites
- GUI does not get overdrawn in fullscreen when adjusting filters
- timer calibration removed, uses now performance counters only, also
checks periodically if counter frequency changes and adjusts to new
rate automatically (possible fix for random power saving slowdown
problems)
- fullscreen non-filter mode graphics problems fixed
- vsync is working but it isn't 100% smooth yet (at least on my PC)
- real CD32 rom (391640-03) checksums added to rom scanner
- fixed left and top border RTG hardware cursor graphics problems
- added warning if p96_uae_tweak is detected, it is incompatible with
new uaegfx.card (update will be released later)
- filter temporary directdraw surface size restricted to max hardware
supported 3D texture size (at least some cards apparently switch
to very slow software blitter if size is bigger than max texture
size) note that this can restrict scaling range, image simply
disappears if scaling multiplier is out of supported range
- "watch" only visible RTG display RAM, should improve performance if
program uses multiple temporary offscreen bitmaps
- RTG hardware cursor didn't always get erased properly when cursor
shape was changed
- ROM chip part numbers added to rom scanner data, also added to GUI
because not all ROMs have confirmed part number yet. "Non-ROMs" not
included, like separate CD32 ROMs (real CD32 has single 1M ROM)
- PCMCIA SRAM on the fly insert/removal fix
Beta 7:
NOTE: _DO_ use filters (except OGL/D3D). Vsync still broken.
- Gayle and Gary CIA select lines work slightly differently, Gayle
does not select any CIAs if both CIA select bits are zero (address
bits 12 and 13). Gary enables both. Gary-style selection was
emulated long time ago, Gayle-style emulated now. (I think 'select
both CIAs' was only used by some games accidentally and perhaps
also used by some copy protections)
- car color flickering in hires mode super skid marks (ancient bug)
- real PCMCIA SRAM card detection really works now
- uaegfx.card updated, now works even if "UAE boot rom" is not in
"standard" 0xf00000 location (=CDTV ROM enabled) or disabled.
Previos version simply crashed.
- uae boot rom backup location moved from 0xe70000 to 0xef0000
(0xe70000 can conflict with KS mirror)
- jit memory allocation update, should prevent random RTG memory
allocation failures
- Picasso96 emulation updates and tweaks
- CPU panel "After RTG" radiobutton removed, not needed anymore
- big filter rewrite (NOTE: OpenGL/Direct3D not yet updated)
Settings needs to be readjusted
+ works more intuitively now
+ scaling does not affect centering anymore.
+ position setting (0,0) = centered.
+ 1/2x scaling factor added
+ "FS" scaling factor added = full screen scaling (obsoletes short
lived "full screen filter" setting)
+ user scaling factor (FS,1/2x,1x,2x..) never include filter's
possible internal scaling
+ hq3x and hq4x added
+ onscreen leds are now rendered after filter calculations
+ (some kind of "keep aspect ratio" option needed?)
Beta 6:
NOTE: Do not use filters, do not use vsync.
- real 8-bit RTG mode work (fullscreen only)
- buffer overflow in floppy image favorite shortcut code
- disappeared Z2 fast ram amount box is back
- Z3 but no RTG RAM allocation failure fixed
- Picasso96 BltPattern and BltTemplate COMPLEMENT-mode uses now native
code
- Picasso96 "new" mode is now Windows 2000 compatible. NOTE: this is
not 100% correct yet, graphics errors possible. W2K workaround mode
is also slower than Windows XP+ mode
- Picasso96 RectFill() optimization (2x speedup here)
- some mode switching crashes/graphics errors fixed
- write warning to log if blitter is forced off in devs:monitors/uaegfx
- 8-bit modes removed from display-panel GUI. Native (custom chipset)
display modes need at least 16-bit color depth now. RTG 8-bit still
supported.
Beta 5:
NOTE: filters are currently not supported, they may or may not work
NOTE: vsync not supported. expect flashing or other issues..
- "favorite path" editing added. Path added is always last opened
path from any file select dialog. (later..)
- "favorite path" right button context menus added to most path
selection buttons
- picasso96.c clean up, removed old p96mode and other unused code
- new p96mode works without JIT
- CHK.L is 68020+, not 68000+ (only CHK.W is 68000+)
- uaescsi.device missing CMD_GETGEOMETRY added (not sure if "geometry"
data is correct but at least device type and removable flag is set)
- RGB overlay option is gone, not very useful anymore and newer
display drivers seem to emulate this in software..
- big directdraw support rewrite
- fullscreen to different fullscreen mode switching should be quick
now (no more switching back to desktop and then back to fullscreen)
- 16 bit modes should work correctly again
- Windows-side 8 bit modes (temporarily) disabled. 8-bit RTG modes
still work and are automatically converted to 16/32-bit
- "Match RTG color depth" option added to misc-panel. If checked
fullscreen RTG mode uses Amiga-side color depth (as previously)
Not checked = always use Display panel depth setting. (if you have
programs that switch modes but you don't want Windows-side display
mode changes) Windowed mode always uses desktop color depth
- GUI debugger updates (KB)
Beta 4:
NOTE: Fullscreen RTG modes are not fully working yet. Do not use.
NOTE: Before benchmarking, make sure Display panel display depth
matches Picasso96 display depth.
NOTE: P96 OLD-mode not supported. Only use NEW-mode.
- "Full-window" mode does not reopen window when switching modes
- 16 and 8-bit RTG mode optimized blitter operations
- RTG template-blit ("RectFill() Pattern") operations optimized (do
pen value endian swap only once per blit, not every pixel..)
- RTG hardware mouse cursor implemented. Rock-solid, no flickering.
Replace libs:picasso96/uaegfx.card with included updated version.
NOTE: Make sure devs:monitors/uaegfx.info does not have forced
software sprite setting. (SOFTSPRITE=Yes)
- 16-bit RectFill() graphics corruption fixed (b3)
- rom scan registry data updated, A590/A2091 ROMs work again, also
version number information in the log is correct. Manual ROM rescan
required or all roms will fail to load
- "favorite paths" added. Right click on floppy "Select disk image" or
".." buttons to open favorites menu. Data stored in registry, no
GUI support yet. No data in registry: show beta-only example paths.
There may be submenus or something similar in future if you are
wondering about 'ALL'-part.. Will be added to other path-buttons in
future.
Example registry editor export:
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Arabuusimiehet\WinUAE\FavoritePaths]
"PATH_ALL_01"="d:\\amiga\\stuff\\games"
"PATH_ALL_02"="d:\\amiga\\stuff\\demos"
"PATH_ALL_03"="My Favorite Path #1 \"E:\\blah\\blah\\adf\""
Beta 3:
- "P96 new"-mode only: RTG display depth is now completely virtual.
Emulation converts to real color space (configured in display panel)
16->32, 8->32, 32->16 and 8->16 supported. 8-bit and 16-bit (without
overlay) now possible in windowed mode. I guess real 8-bit support
can be removed because it is not very well supported anymore..
24-bit and 16-bit RGB (instead of 16-bit BGR) can be also implemented
if some weird program don't support other modes..
NOTE: make sure you have 32 bit selected in display panel if you want
real 32-bit RTG mode. (instead of 32bit converted to 16bit)
- "new mode" fixes and optimizations
- chipset<>RTG switching is now instant (no closing and reopening) if
both modes have same dimensions. (to do: different dimensions)
- "old p96 mode" will be removed soon because it is incompatible with
above new features. (perhaps some optimizations to do first)
Other new possible features will be RTG filter support (for example
2x support for small resolutions like 320x200)
Beta 2:
- experimental Picasso96 speedup code. Default enabled, temporary
option added to RAM-panel (stored to registry, not config file)
May be slower on older PCs, I get up to 8x speedup in P96Speed
benchmark (both desktop and laptop) Post your results here.
Including PC specs, "old" and "new" P96Speed or other test results.
- harddrive detection now also includes more devices, even CDROMs..
(perhaps this allows PCMCIA SRAM direct access)
- Weird Dreams sound problem (hospital scene when game is starting)
- GUI debugger patch I forgot to merge
Beta 1: (possible big changes in future betas)
- MSVC 2008 compiled. Does not run on Windows 98/ME anymore.
- debugger sprite dump command added (sp <addr> [<addr2>] [<size])
- A3000 2.04 revision number fixed. It really is 37.175.
- DOS HD floppy image crash fixed
- PCMCIA SRAM card emulation. SCRAM "HD controller" in harddrive panel
(other HD parameters are ignored) Hot-swapping supported.
Note 1: Amiga PCMCIA slot supports max 4M of directly addressable RAM
and you can't have more than 4M of (non-32bit) fast RAM at the same
time. Note 2: real PCMCIA SRAM card in PCMCIA/CardBus slot is not
supported yet. I need SRAM card to implement it (or good
documentation)
- rom scanner odd/even split and byteswapped rom support. Does not
include: AR2/3/1200 ROMs (no real rom dumps available), Arcadia ROMs
(not worth the trouble) or "non-rom roms" like Cloanto ROMs.
- rom scanner data in registry changed, added human-readable names
NOTE: You need to manually rescan roms if you need to use 1.4.6 or
older WinUAE versions
- EXTB.L was 68000+ when it should have been 68020+ (bug since the
beginning and more)
- Gayle interrupt handling rewritten to match preliminary datasheet.
This solved remaining PCMCIA problems. This can also fix possible
problems with IDE emulation with specific device driver versions
- uaenet.device NSCMD_DEVICEQUERY fixed (didn't work and/or corrupted
memory) S2_ADDMULTICASTADDRESSES and S2_DELMULTICASTADDRESSES had
wrong command number
- uaenet.device random deadlock fixed
- really ugly uaenet.device interrupt handler setup replaced with
proper exec.library AddIntServer() call
- added NSCMD_DEVICEQUERY to uaeserial.device
- added some sanity checks to emulated devices' open function
- Quickstart boot disk check does not complain anymore if track zero
has errors but sectors 0 and 1 are ok
- multithreaded avioutput (finally). Video/audio encoding now runs
in separate thread, MUCH faster encoding on 2+ core CPUs
Note: null filter recommended (or any other 2d filter), non-filter
mode requires reads from display RAM which is very slow
- GUI debugger improvements (Karsten Bock)
1.4.6
1.4.6 will be the last Windows 98/ME compatible version. 1.5.0
will require Windows 2000 or newer.
Beta 9:
- CD32 FMV cartridge "supported" (Actually it is a Z2 board). CD32 FMV
ROM checksums added to scanner. Completely unusable currently.
CD32 Cannon Fodder will try to play video, of course nothing can be
seen or heard :)
- ECS Denise (without ECS Agnus) option re-added. Confirmed working
configuration (except superhires, OCS Agnus does not know shres
bitplane DMA sequence, result is vertical stripes. This "feature"
is not emulated)
- full screen filter GUI checkbox was not initialized correctly
- small fullscreen filter tweak
- set foreground Logitech LCD priority when WinUAE has focus
Beta 8:
- input-panel NMI and END+SHIFT+Break NMI was unstable in
cycle-exact/more compatible modes
- Denise without EHB added to advanced chipset (was already in
A1000 "ICS" Quickstart)
- original Agnus BLTBUSY bug added to advanced chipset (also was
already in A1000 Quickstart)
- accept same windowed mode resolution as windows desktop
- added "full screen" option to filter panel. Amiga display area
fills whole screen when this option is enabled. Maybe useful when
using "full-window" mode. Note: "whole screen" = resolution selected
in full screen display select box, even in "full-window" mode.
"Internal" filter window size can't be adjusted yet.
Beta 7:
- debugger activating when address error happened (debug code..)
- 1M CDTV ROM (0xf00000-0xffffff) confused CPU emulator if m68k
instruction crossed extended and ks rom memory banks, 1M CDTV ROM is
now single 1M extended rom bank (I am still doing 1M real CDTV EPROM
tests..)
- audio emulation update, copy AUDLEN and AUDLC to backup registers
when AUDxDAT starts interrupt-driven audio mode (Dungeon Master II)
Beta 6:
- binary support added to debugger, '%10101'
- hex/dec/bin converter added to debugger, '?<value>'
result is 0x<hex>, %<bin>, <unsigned dec> and <signed dec>
- all debugger commands which take numeric parameters also accept
register names: A0-A7 = RA0-RA7, D0-D7 = RD0-RD7, PC, USP, VBR,..
- debugger number prefixes: hex = 0x or $, bin = %, dec = !. Most
command parameters default to hex (addresses) or decimal.
- do not reserve lots of jit direct ram if non-jit compatible cpu
- logitech lcd dfx/cpu/fps counter leading zeros removed
(I have G15 again, updated revision this time)
- some incorrect Quickstart RTC configurations fixed
- keyboard reset warning feature emulated and added to advanced
chipset panel. Reset warning information:
http://cataclysm.cx/random/amiga/reference/Hardware_Manual_guide/node0178.html
Reset warning sequence is only triggered if Amiga-Amiga-CTRL key
sequence pressed and reset warning setting enabled. Or Input panel
event "Keycode 0x78 (Reset Warning)" is received.
Amiga-Amiga-CTRL-ALT still does instant hardreset. Second
Amiga-Amiga-CTRL during reset warning sequence will also cause
instant reset.
Pre-emptive "bug report": if Amiga-Amiga-CTRL now causes gurus,
reset delays or something weird (and does not if reset warning is
disabled or GUI Reset-button clicked) you have buggy/badly configured
reset handler utility installed. This is Somebody Else's Problem.
- joystick autoswitch update: firebutton press on non-connected
(to emulated Amiga port) joystick AND another joystick already in
joystick port (port 1) WITH firebutton pressed = insert new joystick
to mouse port
Following can be ignored if you aren't testing custom ROM images
before burning EPROM(s)
- kickstart chipram overlay maps 0xe00000 rom instead of 0xf80000,
same with 0xf00000 rom if it begins with 0x1114 (emulates my 1M CDTV
EPROM hack..)
- 2M ROM image support. Gayle ROM mapping:
* first 512K bank: E00000-E7FFFF (overlay bank)
* second 512K bank: A80000-AFFFFF
* third 512K bank: B00000-B7FFFF
* fourth 512K bank: F80000-FFFFFF
At least A600 and A1200 have 2MB ROM support but note that A1200
Blizzard accel's MAPROM feature must be disabled
- cia overlay advanced chipset setting added (Pre-Gayle models use
CIA overlay io pin, newer models have overlay logic inside Gayle)
- ROM Mirror advanced chipset setting separated to E0 and A8 ROM
banks. (A8-B8 = Gayle feature)
Beta 5:
- fixed wrong input device GUID format in config files
- 'friendlyname' mapping didn't work if device name had trailing
whitespace (like USB ProComp 'USB 2A4K GamePad ')
- C00000 and F00000 relocated beta/special KS roms supported
(200000 already supported long time ago)
- A3000 official confirmed 2.04 ROM added (37.132 internal rom version,
37.175 shown in "insert disk" screen..)
- possible crash when switching >2M chip setting from/to <=2M Chip
and >0M Fast RAM configuration
- removed bogus "P96: display resolution list corruption" log message
if biggest available resolution required more RTG RAM than available
- directory filesystem ACTION_EXAMINE_ALL is now "compatible" with
FFS implementation. (workaround for older Scalos ExAll bugs that
caused missing icons. Probably fixes other bad programs too..)
- eac_Entries is now always at least 1 if continuation flag is set
- keep returning ERROR_NO_MORE_ENTRIES even if previous call already
returned ERROR_NO_MORE_ENTRIES
Beta 4:
- A600/A1200/A4000 IDE emulation 4G wrap around bug fixed
- "Add PC drives at startup" drive device name creation tries to detect
already mounted device names, prevents ugly looking 'DHx_0'-style
names. (note that this only affects name generation of "Add PC drives
at startup"-drives)
- renamed GUI "autoboot" -> "bootable"
- rom scan duplicate path detection improved
Beta 3:
- input compatibility mouse switching restrictions added due to
stupid Windows "supermouse" features. (Problem happens when you get
two or more mouse button clicks from two or more virtual mice when
in reality there is only one physical mouse..) Also you can't just
select "raw mouse" because it can have different speed/acceleration
than Windows "supermouse" mouse cursor..
- unusable pcmcia sram card emulation. No on the fly card insert/eject
support yet. (insert empty sram card before starting emulation =
card becomes system ram expansion automatically)
This will be fully implemented after 1.4.6
- new default mapping end+shift+pause/break = IRQ7/NMI
- hardfile info panel didn't use 2G+ compatible size check
- IDE emulation end of drive check fixed (most block addresses after
2G were detected as past end of disk)
- JIT-mode memory allocation was not disabled in non-JIT modes
(68000/68010 and 68020 without 32-bit address space)
Caused problems with cartridge emulation and more. (b2)
- GUI aligment/spacing errors fixed (David Walker)
- "Add Harddrive" HD controller select box updates correctly
- "SWIV" undocumented bitplane feature broke in 145b4 (not related to
shres changes, just standard code cleanup copy/paste error..)
Beta 2:
- sprites outside bitplane area (AGA feature) was not working in all
bitplane/sprite resolution combinations (broke when shres was added)
- relaxed Z3/RTG max RAM limits slightly (NOTE: it is 100% your
problem if you select too much RAM resulting in massive paging and
hd trashing)
- systray icon was not always removed
- fullscreen mode fallback fixes (145b18)
- do not flush directory filesystem cache if ACTION_MORE_CACHE is
called with dp_Arg == 0, return current number of buffers only
- ports-panel joystick/mouse friendly/guid name saved to config file,
no more changed selected devices if you save config, exit WinUAE,
insert or remove some input device(s) and then reload the config
- joystick/mouse autoselection, input compatibility mode:
Press any unselected joystick's button 0 to "insert" it in
Amiga port 1 (joystick port) and button 1 to "insert" it in port 0
(mouse port). Same with any unselected mouse except left mouse
button = port 0 (mouse port) and right mouse button = port 1
(joystick port).
- joystick/mouse autoselection, input configuration mode:
Differences compared to compatibility mode:
- because you can have mappings to multiple ports, device's first
port related mapping in input-panel is decided as the only port
number when doing remappings. When switching, only mappings that have
same port number are remapped to new port. Old mappings that already
have new port number will be remapped to old port number. Other
mappings are not changed.
- all other devices that are mapped to same port as new device will
be disabled
- only devices that are disabled (checkbox on right side of device
name is not ticked) are available for autoselection
- mouse switching is disabled if there are any "supermouse" mice
enabled (Windows mouse etc..) because it would cause total confusion.
Rawmouse or catweasel mouse are "safe".
Note: joystick button 0 has to select port 1 because for example
Amiga joysticks in PC adapter may only have one button and generally
you want joysticks in port 1.
Just insert any plug&play compatible joystick on the fly and press
first button. Can't get any easier!
Beta 1:
- ESS Mega (CDTV) "hidden" data track now reads properly on W2K/XP
(uses SPTI READ_CD SCSI command if ReadFile() returns zero bytes.
This is getting quite messy, mixing IOCTL, MCI and SPTI, Windows
version specific read modes etc..) NOTE: SPTI requires exclusive
access (IOCTL does not) so make sure no other program (including
Windows explorer) do not have any open handles.
- crash when program executes any 68k command that causes a-line
exception and pc was in first 64K of chip ram (145b1x)
- added inverted mouse/analog joystick input events
- 'none' input event was incorrectly parsed causing all following
'sub configuration' entries to be ignored
- added friendly name and not so friendly (GUID) device names to input
configuration file (so that we can match devices if they change or
configuration gets moved between PCs, see below)
- input device insertion/removal on the fly supported (Windows 2K+)
Lots of bugs expected.. (ports-panel settings are not updated yet)
- fixed mouse not capturing (Windows 98/ME mainly)
- dynamic JIT direct memory allocation, can now have max 1G of Z3 fast
or 512M RTG RAM (both not possible at the same time, automatically
lowers memory settings until allocation succeeds) Max 2G Z3 possible
when 98/ME support is gone (need also 64-bit OS)
Extremely pointless feature.
1.4.5
Beta 19:
- ESS Mega (CDTV) now works, added workaround for another Windows
low level CDROM read weirdness..
Beta 18:
- moved Picasso96 resolution list from special reserved display RAM
area to regular Amiga RAM (allocated with AllocMem) This should be
100% fix to display resolution list corruption in display prefs
utility. (if previous fix in b16 didn't fix it)
- following "fake" display resolutions added to Picasso96 resolution
list (if no native support): 320x200, 320x240, 640x400, 640x480.
In fullscreen selects next bigger supported resolution automatically.
Note: fullscreen display is not centered
- keyboard led emulation should not cause random key presses anymore
(but it still is quite unreliable)
Beta 17:
- rom scan detected roms inside archive directory failed to load
- mouse buttons #4 and #5 default Left ALT + Cursor Left/Right mapping
fixed, was mapped to "Wheel +/-" if less than 5 buttons
Beta 16:
- added 2 non-autoconfig ram configuration entries
addmem1/addmem2=<address>,<size>
Adds fast ram to specified address without autoconfiguring it. Size
must be power of 2 and min size is 64k. GUI support in future.
- uaenet.device unit number >0 abortio fixed
- 512M Z3Fast and 128M RTG RAM now works without overflowing allocated
JIT direct access memory (no garbage gfx modes in display prefs)
- map extended ROM location depending on advanced chipset CDTV/CD32
settings (previously 256k = 0xF0, 512k = 0xE0)
- Direct3D CreateTexture() return code was ignored, crashed if texture
creation failed for some reason (out of video memory?)
- misc tweaks
Beta 15:
- fullscreen switching should work correctly again
- mouse moves are now ignored if winuae is not active
- do not get in "semi mouse captured" mode if WinUAE opens without
focus (for example other program got focus before WinUAE opened)
- some uaenet.device tweaks
Beta 14:
- BPLCON3 BRDRBLNK-bit didn't work when chipset was ECS Denise
- BPLCON3 KILLEHB-bit was first implemented in ECS Denise (not AGA)
It makes 6-plane display to work like normal 5-plane display,
6th plane can now be used for genlock mask
- COPCON CDANG-bit allowing full register writes was first implemented
in ECS Agnus, not in AGA. (OCS has low address limit of 0x40)
- CDTV QS Denise setting corrected (OCS, not ECS Denise)
- added "slow is fast" option to advanced chipset. (Original A2000
with DIP Agnus has real fast at 0xc00000, some A1000 CPU socket
fast ram expansions mapped to 0xc00000 instead of usual 0x200000)
CPU socket RAM expansions) Speed difference only in CE-mode
- Windows message handling changes, most likely breaks something but
also should fix Direct3D filter fullscreen switch issues (WIP)
- compressed disk images (dms, adz etc..) inside archives (lha, zip
etc..) supported (this may have worked few releases ago, not sure..)
- uaenet.device backend replaced with winpcap
http://www.winpcap.org/install/ (version 4.x only tested)
differences:
- winpcap is easier to use. Install. Done. (*)
- promiscuous mode supported
- all available network adapters are automatically mapped to
uaenet.device. first adapter = unit 0, second = unit 1 etc..
(manual configuration someday, maybe..) Check the log.
- some (bad) software firewalls may block some/all packets..
(at least Vista x64 + eset smart security fw seems to eat all
non-broadcast packets..)
- fixed bug in dropped packet (packet that nobody wanted) handling
*) Vista note: winpcap kernel mode driver will be loaded when it is
first required. This needs admin privileges (only once after boot)
Another easier solution is to enable autostart:
Open Device manager, "View"-menu, "Show hidden devices", open
"Non-Plug and Play Drivers" from device tree, find "NetGroup Packet
Filter Driver", select properties, "Driver"-tab, set type to
"Automatic"
Beta 13:
- more cd/dvdrom automount issues fixed
- S2_ADDMULTICASTADDRESSES and S2_DELMULTICASTADDRESSES were not
included in NSCMD_DEVICEQUERY list
- fixed SANA2IOF_RAW write length
- S2_ONLINE Sana2DeviceStats->LastStart uses GetSysTime() now
- -netlog command line parameter added, default logging disabled
- more compatible with raw (non-AmigaDos format) disk writes that do
not fill complete track
- crash when loading AGA statefiles (usually only when JIT was enabled)
- CDTV SCSI emulation interrupt handling fix, would freeze randomly
- UAE boot rom is moved to 0xe70000 if CDTV mode is enabled. Now "UAE"
HD controller harddrives work in CDTV mode. (note that other
expansions like Picasso96 use absolute jumps and will crash if UAE
boot rom is located in non-standard location)
- autocomplete added to most path text boxes (I didn't know Windows had
very easy to use text box autocomplete feature..) TAB (+SHIFT) can be
used to move between paths. (SHAutoComplete() does not work exactly
like "normal" autocomplete because cursor keys/ESC must go directly
to normal text box functions)
Beta 12:
- path selection really fixed now
- do not mount cd/dvdroms on the fly if removable automount was enabled
- uaenet partially rewritten, "should" be working properly now
* multicast supported, including multicast filter (not tested)
* IEEE 802.3 frame support (I think)
* CMD_FLUSH implemented
* stats trackers implemented, probably do not work correctly yet..
* globalstats fixed
* multiple openers handled correctly
* interrupt handler setup is still very ugly
* SANA2IOF_RAW supported
* S2_PacketFilter hook supported (not tested)
* (Genesis still refuses to send anything but I think the problem
can't be uaenet.device but something else. Also Genesis calls
S2_ONLINE before S2_CONFIGINTERFACE which is against the spec..)
Beta 11:
- some device insertions caused crashes
- quick start mode on/off registry setting fixed (b9)
- A3000 RAM detection problem fixed (b10)
- some hardfiles didn't automount
- Sana2 device is working, at least in theory..
Sana 2 device emulation instructions:
Requirements:
OpenVPN Win32 TAP driver
http://openvpn.net/download.html (OpenVPN 2.1_rc4 or newer)
run OpenVPN installer, only needed component is "TAP-Win32
Virtual Ethernet Adapter"
Now TAP Adapter and real network adapter needs to be bridged.
Go to "Network Connections", select both TAP adapter and your real
network adapter and select "Bridge Connections" from right mouse menu.
http://www.pavelec.net/adam/openvpn/bridge/
(only steps 1 and 2 are needed, name is not important)
Check new bridged adapter has correct IP settings. (This is now your
"real" network adapter) Windows networking should continue working
normally.
(Perhaps there is simpler solution?)
Enable "uaenet.device" in misc-panel. Emulation-side device name is
"uaenet.device" (remember to disable bsdsocket emulation or there may
be bsdsocket.library conflicts)
Note: without bridging all sent data goes to black hole and nothing
can be received either. Emulator can't detect bridge's status.
Not supported (yet):
- multicast
- tracked stats counters
- promiscuous mode
- something I forgot..
Other notes:
- global stats may not be correct
- stability may not be too good
- very ugly interrupt routine.. (CopyToBuff,CopyFromBuff made things
very complex..)
- produces lots of logging
- MiamiDX DHCP and ping worked
- OS3.9 Genesis never tries to send any data.. Confusing..
- didn't test AmiTCP, I didn't bother to configure it :)
- as you can see, not much testing done..
Beta 10:
- added missing "barrier" bytes at end of Z3 fast. Crashed in
non-direct JIT-mode if read/write crossed memory boundaries.
(for example long read from END_OF_Z3 - 2)
- paths reseting to default fix (b9)
Beta 9:
- default GUI and main window position is centered, not top/left corner
- optional ini-file registry replacement.
* -ini <file> in command line: use <file>
* winuae.ini used if it is in same directory as winuae.exe
* file extension must be .ini or it will be ignored
* file will be silently deleted and re-created if
- it is read-only but not delete-protected
- if warning messages in ini-file are modified or deleted
- if it is not compatible with new version
* message will be added to both logs if registry replacement is
enabled. Bug reports without also testing in non-ini mode will be
ignored. Pointless Windows feature "discussions" won't be allowed.
Beta 8:
- AGA sprite doublescan fixed (b7)
- some more doublescan tweaks (Super72 modes are now detected as
doublescanned. Other "weird" modes also work more or less, note that
some require horizontal centering)
- sana2 configuration save fixed (but note that sana2 emulation still
isn't really doing much)
- CDTV "Snoopy" fix corrected. Fixes random CDTV boot freeze.
- increased A590/A2091 SCSI data buffer size (crash while formatting
if sectors per track size was large enough)
- default hardware config (used by QS) clears pc drive mount checkboxes
- harddrive removal signal was not always send to uaehf.device if drive
was removed with disk still in drive (for example USB ZIP drive)
- directory filesystem ACTION_SET_DATE notification check crashed if
file didn't exist
- directory filesystem and hardfile slowdown fixed (b2)
- state save crashed if directory harddrives were configured but state
was saved before drive initialization, for example when booting
non-dos adf
- always include empty memory space between Z3Fast and RTG RAM
Beta 7:
- added information text to hardfile panel.
RDB hardfile: size of selected file, first 4 bytes of data.
Regular hardfile: cylinders (warns if > 65535, OS3.5+ only), blocks,
current size and total size of hardfile, first 4 bytes of data.
- analog joystick mouse emulation didn't "repeat"
- graphics garbage in right border fixed (happened for example when
productivity mode with vgaonly was enabled)
- CDTV CD ROM command 0x83 emulated, returns drive name/version string
("MATSHITA0.97", also "MATSHITA0.96" exists. No idea if there are any
real differences). Another quite pointless feature because CDTV's
driver does not use command 0x83..
- ECS superhires sprite positioning fixed. Note that ECS shres sprites
always have halved resolution (not size) due to emulation limitation
- ECS superhires "palette scrambling" emulated, ECS shres colors should
be now 100% correct
- some doublescan emulation tweaks
Beta 6:
- do not call CD32 CD emulation handler when non-CD controller
Akiko registers are accessed. Fixes slowdown when program uses
C2P feature of Akiko (Wing Commander CD32, perhaps others)
- debugger ea command AGA genlock color bit support
- smc command added to debugger help
- Ghostscript and neroaspi registry detection didn't work without
admin privileges
- directory harddrive read/write status and volume name change
work again on the fly
- directory harddrive eject-button works again
- directory harddrive readwrite checkbox is not disabled anymore if
no path entered
- filter superhires support
- ECS Denise hires sprite support removed, hires/shres sprite support
is not compatible with OCS ham modes (and who needs ECS hires sprites
when AGA is much better choice..)
Beta 5:
- AGA T (genlock transparency) color register bit emulated
(=color register read, RDRAM=1 and LOCT=0 -> return stored
T-bit, bit 15, value with color RGB value)
instead of always returning zero. Nobody probably cares..)
- AGA sprite doublescan emulated (FMODE SSCAN2 bit)
(Does something use this feature?)
- 16 bit display mode graphics problems fixed (b4)
- regular hardfiles, KS 1.3 and FFS filesys path set: all hardfiles
gets properly mounted. Previously only first hardfile used FFS.
- switching doublescan<>non-doublescan didn't always reset all display
parameters (bottom half of display was sometimes blank)
Beta 4:
- fixed completely broken joystick buttons (b3)
- input panel mouse wheel "buttons" added. Sends button/key down
event, waits one frame, sends button/key up event
- started implementing "real" ROM image ROM scanner support
(2xROM setups like CDTV extended ROM or A1200, Nordic Power etc..)
- big superhires resolution and hires/superhires sprite update
* full SuperHires resolution support (without dropped pixels)
* Doublescan hires modes are now also properly displayed (hires
doublescan is really "half-scan" superhires mode)
* Replaced lores checkbox with lores/hires/superhires selection.
SuperHires mode uses 4xdoubling in lores, 2xdoubling in hires and
no doubling (and no dropped pixels) in superhires
Hires = old non-lores mode, 2xdoubling in lores, no doubling in
hires and drop every other pixel in superhires (*)
Lores = no doubling in lores, drop every other pixel in hires (*),
superhires not supported
* = lores smooth filtering supported
NOTE: regular (non-doublescan) superhires aspect ratio is wrong,
use filters if you need correct aspect ratio
NOTE2: interlaced doublescan modes are buggy
* AGA superhires sprite resolution supported (previously hires only)
* hires sprites are not converted to lores (and then doubled again..)
anymore if screen is doubled (lores program, hires/shres in GUI)
Check Super Stardust AGA if you want to see the difference.
* AGA hires/shres "smooth" scroll BPLCON1 bits supported
* OCS/ECS (no ECS Denise) uses old code path = no performance change.
ECS-Denise and AGA uses new more complex and slower sprite/bitplane
drawing code path (optimization still to do..)
* Probably breaks something...
Beta 3:
- autoboot/donotmount checkbox problems fixed
- winuaenforcer enabled and VBR not moved: interrupt levels
6 and 7 caused enforcer hit flood
- uae boot rom was always mounted (b2)
- b2 interrupt fix update, only "pre-delay" vblank interrupt
- A-Max rom-"dongle" emulation added (manual configuration file
editing currently needed, amaxromfile=<rom file>) Yes, this is
very pointless feature. (A-Max technical info by Mark Knibbs)
- C debugger command only worked in byte-mode
- disk write without drives selected was emulated as a read without
drives selected, clearing disk dma buffer
- input configuration is fully saved again, need design update..
(in b2 all default settings disappeared after saving and loading..)
- added "directional buttons" to input panel list, for example
"X-Axis" is available as "X-Axis" (original), "X-Axis [-]" (button
event when joystick/dpad moved left) and "X-Axis [+]" (button
event when joystick/dpad moved right) Currently new "buttons"
are at the end of the list.
Beta 2:
- warp (.wrp) disk compression format supported
- ce-mode interrupt delay fix, intreq contents was incorrectly delayed
(fixes some programs that froze in CE-mode)
- doublescanned modes look slightly better
- added 64-bit CMD_READ uaescsi.device support (if there are programs
that access DVDs in non-SCSI-direct mode)
- missing hardfile dos type select box is back (disappeared few
releases ago..)
- Nordic Power v3.0 support added (Thanks Christian!)
Interestingly this one has ROM at 0xf60000, not at 0xf00000
- EXPERIMENTAL: save only non-default configuration entries. Makes
smaller config files but I am not yet sure if this is safe..
(at least long list of input config entries can be removed safely)
- added autoboot (bootpri>=-127) and donotmount (bootpri=-129)
checkboxes to GUI
- Amiga-side dummy Sana2 driver (most commands return bogus errors)
Real communication between Sana2 driver and TAP driver (comes with
OpenVPN, 2.1rc4 or newer required) will be implemented later,
I hope.. current development name is "uaenet.device".
- do not show rom scan results if rom scan was automatic (missing
registry data or new winuae version was detected)
- high end quickstart cpu changed back to 68040 (68060 does not boot
very well without 68060.library..)
Beta 1:
- CDTV and CD32 interrupt handling improved, fixes "Snoopy In The
Case Of The Missing Blanket"
- lzx decompressor compatibility and stability improved, store-mode
supported
- do not include display dimensions in display list if Windows 98/ME
(it is garbage, at least on some systems)
- Windows 98/ME serial port detection update
- possible fix for overlay issues but it might cause slow downs in
some cases..
- added -busywait debugging command line option
- DiskSqueeze (dsq) dms-like disk packer format supported (probably
totally useless but was easy to do..) cop, dimp, warp (not to be
confused with mfmwarp) support may be "useful" too, perhaps in
future.. Unfortunately most formats are not documented.
1.4.4
Beta 9: RC2
- deleting file, recycle bin support enabled and deletion fails:
returned error code was wrong (SHFileOperation() is weird)
- Action Replay 1/2/3 work again
- bsdsocket froze if new configuration was loaded on the fly
- filter crashes (old bug) if display was big, also centering code
is back to pre-b7
Beta 8: (this is basically RC1 if bsdsocket is fixed)
- ExAll ED_OWNER supported (return zero uid and gid) because
there are programs that ask for ED_OWNER and ignore
ERROR_BAD_NUMBER (as documented in autodocs)
- possible fix for bsdsocket crash/issues after reset
(previously background threads weren't terminated properly and
caused random access errors, another ancient bug in bsdsocket..)
Also added some cleanup logging.
Beta 7:
- hq2x crash fix (too small temp buffer)
- directory/archive dragndrop work now without empty spare drives
- uaehf.device media insertion detection fixed
- display size and position (if not 0*0) added to display name list
- joystick direction does not get stuck anymore if active mouse and
joystick is configured to same port using input panel
- allocate more temporary memory space for filesystem state saving
- GUI add/remove directory filesystem work on the fly (hardfiles not
supported)
Beta 6: (DO NOT USE OLDER BETAS, they are too broken)
- real harddrive support improvements:
- empty drives are now listed in "Add Harddrive" GUI
- uaehf.device media change command support (CMD_ADDCHANGEINT,
CMD_REMCHANGEINT and CMD_CHANGESTATE are not no-ops anymore)
- drive parameters (includes size) is re-detected every time new
media is inserted
- automount on the fly but only if configured using "Add Harddrive"
(drive was empty or missing when emulation was started)
No RDB parsing.
- do not automount as a directory filesystem on the fly if drive is
in "Add Harddrive" list (for example: FATxx formatted zip disk/HD
mounted using Amiga-side fat filesystem driver)
- configured directory drives always support automount (even if
"automount removable drives" is not checked). Also keep original
configured volume name. (do not replace with real volume label)
- harddrive safety check slightly relaxed, do not complain if drive
is inserted on the fly and only complain once.
- 'E' in harddrive panel means drive is mounted but empty
- KS 1.3 directory filesystem WB HD icons appear again (instead of
hiding somewhere and corrupting memory)
- KS 1.3 directory filesystem automount support
- added "Restart" (better names?) button that closes running emulation
and returns back to GUI without changing current configuration
- do not hide mouse pointer when GUI is active in fullscreen mode
- ACTION_EXAMINE_ALL 2xbug fix. If last directory entry was filtered
with eac_MatchString/eac_MatchFunc, previous eac_Next was not
cleared (broke monitor driver loading if last dir entry was *.info
or vgaonly). eac_MatchString/eac_MatchFunc filtering didn't work
correctly, calculated number of bytes to copy in register D0, used
D1 in main copy loop... DO NOT USE OLDER BETAS.
- hq2x filter support. I hope someone is happy now.
- [still nothing done with bsdsocket problem, FS problems first]
Beta 5:
- "Add Harddrive" button was disabled on Windows 2000 ("full
administrator" test used function that was Windows XP+ only)
- improved directory filesystem Windows-side media change detection,
detects now memory cards in card readers (stupid Windows having
multiple completely different ways to get media notifications)
- added GUI "Add Harddrive" emulated HD controller selection
- directory filesystem read+write/readonly on the fly status change
fixed
- device node is now removed when removable drive gets ejected and if
drive was originally created on the fly. Note: device node is only
hidden (removed from dos list) and it will be reused later when new
disk is inserted. No KS 1.3 support yet.
- added GUI option to enable/disable on the fly automounting
- current configuration name added to window title bar
- added two A4000 quickstart configurations (68030/68882 and 68040)
- better CD32 audio end detection accuracy, last 1s was cut previously
- ["bsdsocket breaks after reset if it was initialized before reset"
will be fixed soon]
- [uaehf.device media changes may be implemented before next official
release but full support will be done later]
Beta 4:
- ACTION_EXAMINE_ALL_END implemented (forgot in b2..)
- directory filesystem on the fly mount implemented without need for
spare empty devices. (I lied again, it was really simple after all..)
"empty slot" drives removed. USB memory sticks etc will always
mount on the fly automagically now. (if uae boot rom is available)
Device node ("RDHx") is never removed. My black magic skill level
is not high enough yet. Hardfile on the fly automount next..
- enable uae boot rom if chip ram > 2M enabled (KS does not
detect more than 2MB of chip, the rest is mapped by boot rom)
- 68040/060 FPU was always interpreted (no JIT) (b1)
Beta 3:
- do not cause hard reset if PC was in memory area that disappears
during reset ("Did something stupid.."-message appeared after soft
reset)
- software reset didn't fully reset all subsystems. Do not use beta
1 or 2 anymore. Can cause random crashes etc..
- added more ACTION_EXAMINE_ALL error codes (from SFS changelog, no
space for even one directory entry = ERROR_NO_FREE_STORE, unknown
or already finished directory scan = ERROR_OBJECT_WRONG_TYPE)
- "real" removable drives supported, for example USB memory sticks
will get removed/mounted properly. (Restriction: new removable
drive needs empty drive slot because new Amiga-side drives can't be
created on the fly. Perhaps later but it would need major filesys
emulation changes..)
- automatically adds 2 hidden empty drives if one or more directory
filesystem drives configured (RDH0: and RDH1:, reserved slots for
new removable drives) Testing, this might change in future..
- CD drives can be again mounted easily without uaescsi.device,
checkbox added to GUI. (I didn't really want to do this but now it
really works as well as it can ever work.. No audio tracks and some
Amiga CDs really need Amiga-side CDFS but it still is much easier
to use..) Not really recommended if uaescsi.device is used..
- compiled with MSVS 2005 again
Beta 2:
- 4-channel stereo mixing fixed (broke in b1)
- Pro-Wizard updated (1.62)
- directory filesystem ACTION_INHIBIT fixed (didn't really do much
and if it rarely did, result was infinite loop)
- directory filesystem ACTION_EXAMINE_ALL implemented (more optimal
but also more complex way to read directory listing). Bugs possible,
please test it by running all kinds of new utilities. eac_MatchString
confirmed working, eac_MatchFunc not tested (no test program found)
Full logging currently enabled.
- some removable directory drive fixes
- Harddrives GUI can be used to eject and insert directory harddrives
on the fly (device name ignored)
Beta 1:
- ROM scan now always scans all detected ROM paths (skips duplicate
paths)
- zero sized files inside archives could have caused illegal accesses
in some cases
- return HFERR_NoBoard, not IOERR_OPENFAIL when opening non-existing
uaehf.device units. Fixes problem with <OS3.5 hdtoolbox versions
not detecting hardfiles that are not in topmost position in harddisk
panel.
- if blitter line draw with onedot-mode enabled, blitter does not write
non-drawn pixel words back to chip ram (it becomes free bus cycle)
- -datapath fixed, again and again, it seems to never work properly..
- CD32 statefile support works again
- paths-panel adjustments, "new" path (in All Users) is only created
if selected in paths-panel.
- directory filesystem ACTION_WRITE_PROTECT packet implemented
(AmigaDOS Lock-command) Note: "hardware" lock (read-only status
in configuration file/GUI) can't be unlocked with Lock-command.
- directory filesystem ACTION_INHIBIT implemented (not really needed
but it uses same functions as removable drive support)
- directory filesystem ACTION_MORE_CACHE implemented (Addbuffers),
No-op, currently always returns 50 and flushes file/dir cache.
- directory filesystem ACTION_FLUSH_CACHE implemented, flushes
file/dir cache.
- possible filecomment leak/access error in fsdb/streams support
- filesystem ACTION_WRITE optimized (no temporary buffer if memory
is directly accessable, optimization copied from ACTION_READ)
- removable directory filesystem support added
- it is not possible to add new devices after emulation has been
started (workaround: add 1 or more empty drives = add new directory
without device/volume name or path)
- only volume name gets removed (like CD0: without CD inserted)
- GUI can't be used to insert/remove harddrives. Yet.
I don't know make it easy to use..
- drag'n'drop (directories or files/archives) to WinUAE's window is
currently the only way to test removable drive support. Note that
only drives that were empty when emulation was started will be
remounted. (It is quite bad idea to remove OS/boot drive..)
- weird things can happen if files are open when changing drive
- volume name is automatically generated from directory or file name
- very useful when installing software, just drag and drop
installation package (lha-archive for example) and run it.
No need for temporarily locations or worry about losing flags or
file comments.
- overrides normal (executables -> floppy drive, configuration file
-> restart emulation etc..) drag and drop function if GUI is not
active and dropped file/directory gets accepted by filesystem.
- CPU emulation and other cleanups (Bernd Schmidt!)
- X-Power Professional 500 v1.3 supported
- Nordic Power v1.5 supported
- compiled with MSVS 2008 (Orcas) Beta 2
1.4.3
Beta 13: (RC2)
- Action Replay 1200 "cartridge support" credits added
- Nordic Power/X-Power/SuperIV statefile support added (not complete)
- 68030 "NOP MMU emulation" fix, some variants of PFLUSH caused F-line
exception
- illegal access logger (wd) now supports full 32-bit address space
Beta 12: (RC1)
- added quick enable/disable checkboxes to floppy panel
- non-word aligned word writes to custom registers emulated correctly
- byte writes to custom registers emulated properly on a 68060 (perhaps
only Blizzard 68060 cards' feature?)
- 68020 "cycle-exact" does not anymore freeze when switching to RTG mode
(but it still should not be used)
- Nordic Power v2.0 support (got another "blue" Nordic Power today,
also "cartridge support" credits added to contributors list)
Beta 11:
- autoconfig memory banks do not show as ****'s in debugger anymore
- filesystem not initializing if JIT was enabled and no other
autoconfig expansions enabled (ancient bug..)
- do not crash if CD32 is selected in advanced chipset without
extended ROM
- fixes and updates to illegal access logger
- "faster RTG" "immediate copper" emulation was very broken
- reverted JIT LSL/LSR/ASR change, merge error most likely, later..
Beta 10:
- Arcadia emulation crash fixed
- SCSI emulator MODE SENSE code 3 and 4 crash fix (uaehf.device only)
- A3000 KS 1.3 ROM removed from rom scan "available"-list (only
proper A3000 ROMs, 1.4b and 3.1 included)
- added missing version numbers to cartridge roms
- xBCD instruction 68040/060 undefined behaviour emulated, N and V
flags are not cleared. (from Basilisk II JIT)
- JIT LSL, LSR, ASR X-flag was incorrectly modified when shift count
was zero (from Basilisk II JIT)
- configuration and bootlog (text format) saved with statefile
(compressed, few kb size increase, only for debugging purposes)
NOTE: fake END-hunk inserted before CONF and LOG hunks, you can
simply delete all "useless" data after first END-hunk without
corrupting the statefile.
- action replay/hrtmon statefile hunks are now compressed
- drive GUI properly initialized when restoring state (disabled
drives are "blanked", no track number visible)
- empty drive disk change status was incorrect in some cases when
restoring state (load state, OS detects disk in empty drive)
- do not allow JIT direct mode if emulation was originally started
without JIT direct enabled (different memory allocation which is not
compatible with direct = crashes. Will be properly fixed in future)
- uaescsi.device SCSI mode selection reset after loading new config
- messagebox in fullscreen mode tweaks, perhaps fixes problem with
hidden "too old rtg.library" messagebox in fullscreen mode
- close native-side open filehandles after software reset
(fixes locked startup-sequence after directory fs setpatch reset)
Beta 9:
- ROM scan dialog listed "available" even if configuration required
2 ROMs (like CDTV or CD32) and only one was available.
- if fullscreen resolution is smaller than GUI size, moving mouse to
screen borders moves the GUI dialog. (in future this means it is now
possible to increase GUI size to 800x600 without too many complaints)
- CD32 CD audio end position detection and signaling, interrupt
handling finally implemented, fixes non-looping audio tracks,
(for example Brian the Lion), and games that freeze (for example
Fightin' Spirit, Base Jumpers)
Beta 8:
- plain executable mounted as a harddrive automatically creates
virtual s/startup-sequence (same as mounting executable as a floppy)
- possible crash fix in SCSI emulation
- X-Power Professional 500 cartridge support. (basically old version
of Action Cartridge Super IV)
- Nordic Power cartridge "support" but only 2 bad non-working rom
dumps available (ROM chip fault, one data line stuck) And perhaps
suprisingly, perhaps not, Nordic Power is old version of X-Power :)
- possible fix for audio problems when using audio.device (usually
when continuously starting and stopping short samples) in JIT mode.
(usual reason: too "fast" cpu/chipset access speed..)
- removed sound latency value from GUI, it was wildly inaccurate
WANTED: Nordic Power cartridge(s) (can be non-working)
Beta 7:
- rom scanner detects overdumped roms again
- added "(SK)" to A3000 KS 1.3 ROM name (SuperKickstart disk rip,
this version has never been in ROM chip format, only included
because it comes with AF)
- removed A4091 boot rom from scan result dialog (NCR SCSI won't
be implemented in next version)
- removed add host scsi from advanced chipset (not working)
- added more rom choices to "highend" configuration
- rom scanner didn't write full path to registry (zipped roms)
- command line configuration parameters accept compressed
configuration files ("-f myconfigurations.zip\myconfig.uae")
- some dms compressed files failed to decompress and also took
very long time to finish
- disk history is updating correctly again
- new rtg.library version number bump. added warning if older
library is installed. NOTE: new rtg.library is fully compatible
with older (Win)UAE versions.
- disabled CDTV debug logging
- hrtmon works again
- gzip decompression works again
Beta 6:
- rar unpacking double memory deallocation (unrar.dll is still
the most stupidly designed unpacking library)
- crash if dearchiver (rar or archiveaccess) was not available
- hardfile filesys loader/relocator sometimes incorrectly allocated
code/data space from chip memory
- lha/lzh archive detection fixed
- P96 ram allocation forced indirect JIT mode
- -datapath fixed, overrides paths-panel paths again
- recursive harddrive archive support enabled
Archives inside archive are only unpacked when first accessed for
best performance. Tested by creating 200MB zip archive that contained
~250 pre-installed zipped WHDLoad demo slaves. (Note that this can
confuse some programs because size of "harddrive" gets bigger and
bigger the more archives inside archives are unpacked..)
Original archive is "duplicated" as a directory called
<name of archive>.DIR
"file not found" or "empty directory" is returned if decompression
fails
In future there may be options to disable recursive archive support
and ability to replace original archive file with unpacked directory
(without .DIR extension) Another future idea is write access (to
separate "diff" directory)
Note: rar archive inside another archive can not be unpacked
without archiveaccess.dll (unrar.dll can't do it without temp
files and I refuse to use temp files)
Beta 5:
- JIT on/off switching via uae-configuration re-enables direct mode
This time it really should work as designed.
- video recording sound pitch change fix (side-effects possible..)
- random FPU fixes from Aranym (which btw, isn't feature complete
either, at least float to integer clamping is missing)
- rom scanner uses SHA-1 now (instead of CRC32)
- archive as a harddrive emulation. Data is decompressed on the fly.
Only directory tree is allocated in memory during mount-phase.
"file not found error" will be returned if decompression fails
(corrupt archive?) Already decompressed files will be left in
memory (memory is cheap, repeated decompression can be slow)
- archive support completely rewritten (memory/file leaks possible)
Recursive decompression possible (not yet enabled and not fully
implemented), not sure if I enable it later or not.. (would
enable transparent archives inside archives inside archives etc..)
- work in progress (this is really crazy idea..): xfd (Amiga
decompression library) slave library support via separate 68k
emulation instance :D Crazy or very stupid idea, not sure yet..
It would enable full transparent decompression support of nearly
every Amiga compression format..
- built-in lha/lzh archive support added
- built-in lzx archive support added (store mode not supported yet)
- "add directory/archive" harddrives: only path is mandatory, volume
name (if left empty) is automatically generated from selected path
- added "add archive" harddrive type. Single plain file also accepted.
- real harddrive "safety check" system changed, now all drives are
listed (and marked as empty,non-empty or RDB) but drive is not
mounted if safety check is not disabled and drive is non-empty.
- disable "add harddrive" on vista without full admin privileges
- harddisk panel directory and archive dragndrop added
- included beta updated rtg.library, fully enables >1024 pixel wide
bitmaps (including acceleration), obsoletes picasso96fix. (BR)
Beta 4:
- return SCSI-1 style inquiry response when using A590/A2091 SCSI
emulation (Old HDToolbox compatibility fix)
- do not crash with "out of bounds" error if SCSI emulation tried to
read/write non-existing HDF block(s)
- SCSI READ CAPACITY PMI-bit emulated, HDToolbox "Read configuration
from drive" compatibility fix
- A3000 1.3 SuperKickstart support implemented (includes "bonus"
code remapping to 0xf00000 area)
- JIT on/off switching via uae-configuration re-enables direct mode
- added MOVEC registers and PC to r <reg> <val> debugger command
- A4091 ("A3090" says driver string in ROM...) Z3 card autoconfig and
ROM loading implemented (pointless, no NCR53C710 SCSI chip emulation
yet, same infinite loop as with A4000T KS3.1 built-in SCSI driver)
- A590/A2091 Guru ROM adapter emulated, driver does not yet work,
uses not yet emulated WD33C93 features.
- real SCSI device support (via hardware emulation) is not really
working. It isn't so easy to implement after all..
- copper writes are now detected by memwatch break points (note: writes
only, freeze not possible. copper is a special case)
Beta 3:
ROM rescan required (or new hrtmon/superiv config support won't work)
- ROM scan report dialog was totally broken
- uaescsi.device backends (SPTI/ASPI) are now available in new
SCSI emulation mode. Checkbox added to advanced chipset, merges
all SCSI and IDE CD/DVD devices automatically, does not override
configured HDFs. Not multithreaded yet = emulation is stopped while
SCSI command is executing = mostly useless for real world tasks,
also SCSI configuration panel is still not implemented..
- confirmed A3000 3.1 ROM added to rom scan list.
- floppy drive sound GUI didn't work correctly if fdrawcmd.sys was
not installed (=no PC floppy drives listed)
- A3000 36.141 KS ROM SCSI driver compatibility fix (long word writes
to byte wide WD33C93 registers.. not the first time Commodore ignored
their own programming guidelines.. )
- A3000 SuperKickstart support hack, SuperKickstart loading works!
(simple memory map remap hack, there is no MMU!)
- QS panel does not anymore complain about boot block crc error if disk
is A1000 Kickstart disk or A3000 SuperKickstart disk
- A3000 Quickstart settings added, 1.4 = KS with Kickstart menu,
SuperKickstart disk (or HD installed SuperKickstart) required.
(also try clicking on top/left corner..)
- added "need 68030 CPU" dialog (KS 1.4)
- added expansion boot rom missing dialog
- added process breakpoint debugger feature (KB)
- GPL Ghostscript registry installation detection added (AFPL was only
supported previously)
- Ghostscript printing fixed (only worked previously by accident..)
- built-in HRTMon moved to Cartridge ROM select menu
- added "real" SuperIV cart emulation (=need loader disk)
- debugger deep trainer improved. "D[<s><dix> <[max diff]>]"
Di = value must increase, Dd = decrease, abs(new value minus
old value) must be smaller than "max diff". s = 1 = byte, 2 = word.
long words not supported. (defaults to byte) Signed integers used in
comparison. NOTE: not really tested, I was not interested :)
Beta 2:
- WD33C93 + (Super)DMAC based SCSI HDF emulation. A590/A2091, A3000 and
CDTV with SCSI expansion. Current implementation is very minimal.
A590/A2091 Boot ROMs 6.0, 6.6 and 7.0 tested and confirmed working.
A3000 random KS ROMs (including "1.4") also confirmed working.
CDTV with 1.0 extended ROM freezes during standard WB 1.3
startup-sequence (works if run manually..) Newer extended ROMs work
without freezes.
NOTE: disconnect/reconnect not emulated (yet?), SCSI Message out +
Command + Data in/out + Status + Message in phases emulated. Most
WD33C93 registers are not emulated. Non-tested drivers (KS versions)
most likely won't work yet. Check the log!
- A3000 KS "1.4" added to ROM list (yes, it is beta but it came with
some A3000s) Need confirmed official A3000 and A4000(T) information
before more A3000/A4000(T) ROMs will be added. (Note A3000 ROMs,
not SuperKickstart images!)
- A590/A2091 6.0, 6.6 and 7.0 added to ROM list. A590/A2091 ROM is
automatically selected, manual rom selection is not possible.
- A590/A2091 Guru ROM added to ROM list (not yet supported, I need
A590/A2091 autoconfig er_InitDiagVec value first, Scout shows it)
- A4091 40.9 (no CRC available yet) and 40.13 ROM added to ROM list.
NCR SCSI (A4091 and A4000T) is not yet emulated.
- Action Cartridge Super IV Professional emulated partially, also added
support for Super IV "ROM version" (Super IV cartridge does not have
any ROM chips, "ROM" is loaded from disk) Loader disk does not work
yet! Interface is very different compared to Action Replay series.
Beta 1:
- use Segoe UI font only if running on Vista
- separated native and P96 vsync setting, note that P96 vsync has
never been "real" vsync but sync to internal refresh rate which isn't
usually same as real host refresh rate. Sound problems fixed when P96
VSync and 56KHz "audio trick" was enabled.
- sprite attachment fix, fixes "Great Demo" by "The Tremendous Trio" :)
- clear sound buffer before reopening window/fullscreen
- delayed CDTV CD inserted notification (Xenon 2)
- CDTV CD audio stop command fix (DOTC2, ChaosInAndromeda CD player)
- added MB RAM support to debugger's search commands
- Paths-panel improved, added previously "hidden" AMIGAFOREVERDATA
environmental variable (if set), and separated AF2005 and "new" WinUAE
paths (only difference is default KS ROM path, AF2005 =
<root>\..\system\rom, WinUAE is <root>\roms or <root>\rom)
- Quickstart-panel DF1: disable/enable checkbox added (available only in
configurations that have DF0: enabled)
1.4.2a
- added PCMCIA to advanced chipset. It does not emulate PCMCIA (yet),
it only reserves address space and makes CIA bank 64k (0xbf only
instead of 0xa0 to 0xbf) Previously only AGA changed CIA bank size.
- fixed paths defaulting to CSIDL_COMMON_DOCUMENTS even if previous
default was something else.
1.4.2
Beta 12:
- CDTV right button/second firebutton pin state fixed (CDPD IV)
(logic high when inactive, not floating like with other models)
- Quickstart DF0:/DF1: text changed (future improvement), no
functional changes yet
Beta 11:
- fixed randomly lost CDTV CD transfer finished interrupt in
CE-mode
- fixed windowed mode size check
- added some preliminary SCSI hardware emulation stuff
- A3000, minimal support, KS driver detects SCSI controller
with no SCSI devices connected. (SuperDMAC + WD33C93)
- A590/A2091, (DMAC + WD33C93), minimal support, boot ROM
(tested with rev7) detects controller with no SCSI devices.
(check log if for some weird reason you want to test it..)
- A4000T NCR53C710, nothing implemented yet (no datasheet)
- CDTV and A590/A2091 autoconfig chained with UAE autoconfig
devices (fast ram, HD etc works in CDTV mode)
- more GUI debugger updates
Beta 10:
- CDTV CDROM command 0x09 (play audio cd in lsn mode) fixed, parameters
are start sector and number of sectors, not start and end sector..
- state file load: keep current disk in drive if image's path in state
file does not exist. (keeps some programs happy that don't access the
disk but start complaining if disk is suddenly ejected)
- fixed stupid typo in fpu clamping fix (327676 instead of 32767..)
- CDTV audio cd end position detection didn't always work
- GUI debugger improvements (Karsten Bock & TW)
Beta 9:
- new PAL filter configuration file support (forgot it in b8)
- PAL filter now works both in 16 and 32-bit modes. Internal color
space is now only R5G6B5, even in 32-bit AGA. Makes things simpler
(minus image quality loss) Fix later, not sure..
- map "UAE Boot ROM" automatically if any "external" expansion is
enabled (uaescsi, uaeserial, bsdsocket etc..) Previously it was
only mapped if filesystem (directory or hdf) was configured.
- IDE non-RDB HDF statefile support added
- filter default centering fixed (I think..) and other related tweaks
- minor FPU updates to very rarely used instructions (from aranym)
- "cpu060_revision" config entry added ("read-only", not created when
saving config), sets 68060 revision field in PCR register (current
default is 1)
Beta 8:
- very long CDTV CD reads don't freeze anymore (overflow in CD
speed varible)
- added "PAL" filter. It is based on Vice C64 PAL filter with some
changes like scanlines in 1x-mode and noise. Simulates blurry
composite/RF signal. 32bit color depth only. NOTE: filter + AGA
enabled = RGB 6:6:6 internal color space only. (compromise between
speed+memory usage and image quality)
- command line parameter was skipped if previous parameter was
win32-specific or it needed numeric parameter(s). (b7)
- IDE partition (non-RDB) hardfile support (no custom filesystem
supported yet) NOTE: virtual RDB is read-only, all write attempts
to RDB area are silently ignored, no errors returned.
- non-3D filter improved default centering
- replaced GUI scanline sliders with more flexible extra parameters
settings. Added built-in filter preset support (single PAL filter
example currently)
Beta 7:
- hardfile reset routine randomly read non-existing memory (b4)
- IDE emulation froze if total read or write transfer was larger
than current multimode sector amount
- added 2 scanline delay before IDE command complete-interrupt is
sent. Could cause missed interrupts in compatible 68000-mode and
also made emulation sluggish during large reads or writes.
- HRTMon IDE commands work now in A600 configuration.
- HD onscreen led write color fixed in IDE mode
- 4/6 channel modes should really work with Emu10K based cards..
(I can always hope..) EDIT: It did work!
- USP and ISP registers are back in debugger
- brightness/contrast/gamma setting added to display panel
(not working in real time yet)
- "IDE Splitter" / "4-Way IDE" hardware emulation added. IDEFix or
similar driver needed. Enabled if IDE3/IDE4 selected
- much faster IDE in JIT modes
Beta 6:
- added 4 channel and cloned stereo in 5.1 native mode. Workaround for
non-working 4.0 modes on many sound cards. (5.1 center and lf
channels are silent currently)
- 4ch/6ch mode swap channel, interpolation, filter (anti and sinc only)
and stereo separation support added
- IDE CHS calculation fixed. Max heads is always 16 and max sectors is
63 for drives smaller than 8GB. (A600/A1200 crashed or gurued with
large HDF images) >8G should also work, current "hardware" max limit
is 128G (no LBA48 support) NOTE: CHS value is only imaginary value for
compatibility purposes and it has nothing to do with real geometry, it
can even change and HD still works fine. Internally it is always
translated to LBA.
- added some ATA-3 bits to identify drive reply
Beta 5:
- A600/A1200 and A4000 IDE emulation (mount RDB HDF as a IDE drive)
- Following IDE harddrive commands emulated (commands that KS ROM
require, also IDEFix97 appears to work fine)
- Format Track (50, dummy command)
- Identify Drive (EC)
- Initialize Drive Parameters (91)
- Read Sector(s) (20 and 21)
- Read Multiple (C4)
- Write Sector(s) (30 and 31)
- Write Multiple (C5)
- Recalibrate (10, dummy command)
- Set Multiple Mode (C6)
- Set Features (EF, no feature commands supported)
- max 2 drives available. "HD Controller"-selection added to GUI.
- support statefiles (WARNING: HDF data corruption danger!)
- ATAPI (IDE CDROM) emulation not supported (yet?)
Notes: you can't mix Kickstart versions. A4000 KS has only A4000
IDE driver, A600/A1200 KS has only A600/A1200 driver.
Emulated drive is ancient ATA-1 feature level drive, size limits
not tested, PIO-0 speed restrictions not emulated :)
This also means some defaults have been changed. Real IDE without
harddrive installed is now enabled if chipset extra is set to
A600/A1200 or A4000. Emulated "IDE wire trick" is enabled if no
drives installed to prevent long KS boot delay.
Interesting note: A600/A1200 and A4000 KS IDE drivers are totally
different, for example A4000 uses LBA addressing but A600/A1200
uses CHS. I don't see the point when the only hardware differences
basically are base IO address and different interrupt register..
- HRTMon IDE activated if IDE emulation enabled. AR A1200 also works.
- 68020/68030 + JIT random crashing fixed (b4)
- non-3d filters work again (broke in 1.4.2b2)
- Agnus/Denise revision settings re-added to advanced chipset
- added non-EHB A1000 to Quickstart (not yet in advanced chipset),
also added blitter busy bug to A1000 QS if cycle-exact enabled.
(busy flag not set until blitter gets first bus access cycle)
Beta 4:
- statefiles with autoconfigurable (fast and z3fast) memory wasn't
restored properly
- directory filesystem statefile support.
- Picasso96 statefile support (not very compatible yet)
- HDF statefile support. WARNING: HDF _WILL_ get CORRUPTED if you
try to restore same HDF statefiles multiple times and there has been
one or more writes between restores. Read-only will be forced before
official release.
- JIT slowdown after restore fixed (CPU CACR register instruction cache
setting syncronized with JIT cache settings)
Filesystem statefile information:
Handling of missing files or directories during restore:
- missing root directory: most likely crashes
- open file:
dummy file with exact same name and size will be created (filled
with zeros) to prevent crashes. Of course application using the
file most likely fails because it may not contain data it expects
but at least FS emulation and AmigaDOS is happy..
- open lock:
lock is re-created but missing file/directory stays missing. Again,
filesystem and AmigaDOS is happy. Application may crash or return
weird errors..
Always check the log first if there are problems.
NOTE: uaescsi, bsdsocket etc.. are not saved. You may be able to
restore statefile with unsupported "expansion" devices enabled
without crashing (for example restored uaescsi won't crash the
emulator but Amiga-side program can get confused.. Tested with
AmiKit, no crashes but CD0: stops working)
NOTE2: statefile format can and will change in future betas.
Manual loading of configuration recommended before restoring.
Beta 3:
- CPU/FPU on the fly change fixes
- report 68060 EC/LC ID in PCR register when FPU not enabled,
68040/60 FPU disabled exception emulated.
- some 68030 MMU instructions had incorrect instruction length
(no, MMU is NOT emulated but MMU instructions are still processed
normally instead of reporting illegal instruction because some
programs expect MMU and most/all 68EC030's don't report exceptions
either, they simply have MMU that does not work 100%)
- http://aminet.net/util/sys/Mu680x0Libs.lha appears to be free,
working replacement for 680x0-libraries. 68030 (didn't work in b2),
68040 and 68060 with or without FPU confirmed working.
- FPU state restore fixed
- added CPU/FPU frequency to state files (not yet really used except
sets A500 speed if stored statefile was A500-speed config)
- added 68030+ control register statefile support
- 1340b4 "rare divide by zero error..." really fixed..
Beta 2:
- 10x+ performance increase during "decrunching" color effects when
no filters enabled and bitplanes disabled (background color only)
- console debugger breakpoints sometimes continued immediately
- quickstart "random" selection inside archives should be fixed
- mousehack interrupt do not start multiple times anymore
- all CPU-specific special registers added to debugger
- CPU/FPU configuration rewrite.
- new FPU options: none/68881/68882/CPU internal
- 68030 (EC-version, 030-only MMU instructions are simply ignored)
- proper 68060 with FPU support. See NOTEs below!
- 68040/68060 without FPU allowed but note that 68060.library does
not appear to like non-FPU 68060s..
- no FPU+68000/68010 (technically possible but not worth the trouble)
68060 NOTES: No working Setpatch and 68060.library = NO FPU.
68060 has FPU disable bit that all real 68060 accelerators' boot ROM
set because KS task switching routine do not understand 68060's
FRESTORE/FSAVE frames. Setpatch+68060.library is the fix.
Real 68060 is also extremely slow without 68060.library because all
caches and other speed-up features are not enabled but this is
completely irrelevant in emulation.
You can use "C:CPU" command to check CPU/FPU status:
- Incorrect: "System: 68060 (INST: blahblah"
- Correct: "System 68060 68882 (INST: blahblah"
New setpatch (44.38 confirmed) support 68060.library directly, older
versions need dummy 68040.library (less than 1K in size)
NOTE2: FPU emulation emulates all 6888x instructions, even those that
were removed from real 68040/060.
!!! NOTE3: _EMULATED_ 68040 and 68060 HAVE EQUAL SPEED !!!
Beta 1:
- Chip set extra config load/save missed some models (crash when
saving if using missing models)
- GUI font dynamically switches to "Segoe UI" (Vista) or "Tahoma"
(XP or 2000). Old font still in resource file to keep compatibility
with older Windows versions. TODO: new GUI tree icons.
- dynamically modifying resources and resizing dialogs is "fun"...
- finally removed pixel format detection. It has not been needed for
years..
- merged (and modified) "GUI" debugger by Karsten Bock. WIP.
F1-F6: switch between different pages
F1 and F2: two work areas
F3 and F4: memory viewer
F5 and F6: disassembler
F3-F6: alt+cursor up/down/left/right modifies current address
- x closes debugger, xx switches between console and GUI debuggers
- extended debugger 'm' instruction, 'm r<cpu register>'
- direct harddrive support now works with drives that return empty
vendor and product id (confirmed: SyQuest removable harddrive)
- log window position and size stored in registry. (Log window first
appearing in default position before jumping to stored position
is normal, logging must be initialized before registry handling)
Windows 2000 or newer only.
- GUI/Main window registry entry names changed, positions will reset
- blitter CE-mode ABC channel combination cycle allocation fixed
- rar archives left "temporary" files around (stupid unrar.dll..)
- added combination of fullscreen and windowed mode. If you have two
(or more) monitors, load your favorite WB configuration, select
non-primary monitor and "full-window" mode to both native and RTG,
also make sure "Magic mouse" is enabled, adjust P96 resolution.
D3D/OGL filter may also be good idea.
Result will be near-seamless Windows/Amiga integration :)
- "Magic mouse" didn't work with some system patches, also adjusted
sensitivity
- tweaked vblank interrupt delay by 1 cycle (game Feud)
- refresh rate switching (PAL/NTSC or by poking VPOSW) improved
1.4.1
Beta 4:
- skip unknown extensions (or files without extension) when scanning
for known ROMs (faster scan if non-ROM files in ROM directory)
- Picasso96 RAM was incorrectly mapped in non-JIT modes
- paraport parallel port support sets INIT (pin 16) to inactive state
(called RESET in Amiga parallel port)
Beta 3:
- map POV Hat to joystick up/down and left/right by default
- added master volume (Windows main volume) control input targets
default: END+CTRL+(numpad - and +, * = mute on/off)
(without CTRL = WinUAE-only volume control) Also master volume
mapped by default to "multimedia" vol down/up/mute keys.
- custom input targets editable in GUI now (not very intuitive but
whole input panel isn't too intuitive. someday..)
- fixed crash when switching from CD32/CDTV mode to A500 mode
- input panel input list can be browsed in "compatibility mode"
Beta 2:
- better bsdsocket threading fix, should finally fix random crashes.
- diskswapper input-panel input targets added (next/prev/insert)
- change input configuration (1-4) input target added
- custom input targets added, experimental, not in GUI yet, need manual
configuration file editing, syntax:
<anything>.button.x=<press>,<release>,<secondary press>,<sec. release>
press/release = key down/up, joystick button down/up
secondary = toggle-mode (first press uses "press" event, second press
uses "secondary press", third press is again "press" event etc..)
format of single event: '"entry=value"'.0 "unlimited" multiple
entry/value pairs supported: '"entry1=value1" "entry2=value2"'.0
empty event: NULL.0
Examples:
- toggle onscreen leds:
'"show_leds=false"'.0,NULL.0,'"show_leds=true"'.0
- refresh rate = 100 while key/button is kept down:
'"chipset_refreshrate=100"'.0,'"chipset_refreshrate=50"'.0
NOTES: format can change in future, toggle-mode may be added to regular
input event mapping system in future version.
BTW: custom input was implemented ages ago but it was not enabled until
now... (I forgot it..)
Beta 1:
- startup crash fixed if serial port enumeration detected more than
8 ports. (broke in 140b6 when "compatibility mode" enumeration was
added) Also increased max amount of supported serial ports
- default ASPI detection selected (possibly non-existing) AdaptecASPI
- Quickstart now automatically selects working SCSI mode (uses setting
from default.uae if available, if not, selects "best" available)
- 120b1 right border update fixed to work in interlaced modes (Unreal)
1.4.0
Beta 10 (pre-final):
- in some cases dskready signal was set active even if floppy drive
was empty and motor was running
- yet another undocumented CIA TOD related feature implemented
TOD does not latch (by reading TODHI) if CRB ALARM-bit is set.
Fixes Batman the Movie (which worked in older versions only
by accident..)
Beta 9: (RC 2)
- non-ASPI CDTV CD audio didn't always stop when exiting/reseting
- added dj [<mask>] command to debugger. Enable joystick/mouse
input logging
- CDTV quickstart chip ram size set to correct 1M (correct config
is more important than workaround for one game)
- Fixed another filesystem lock leak in ACTION_FH_FROM_LOCK
(dos.library/OpenFromLock())
- do not allow unlocking of non-existing locks in filesystem.
Previously it caused random memory corruption and also triggered
following (previously unknown) 1.0b2 issue:
"added workaround for AMOS filesystem emulation incompatibility
(infinite loop in filesystem code) Reason for freeze unknown,
proper fix unknown.. (filesystem emulation is confusing..)"
- external drive sound selection GUI didn't work if fdrawcmd.sys
was not installed
Beta 8: (RC 1)
- uaehf.device unit >=30 crash fixed
- CDTV CD audio will be stopped when exiting/reseting
- correct CDTV CD number of tracks returned in ASPI-mode
- re-added and fixed special case handling for 68k reset-instruction
when more compatible CPU setting is not enabled
- filesystem ACTION_COPY_DIR_FH packet memory (lock) leak fixed
Beta 7: (possible bug fixes and small tweaks left)
- Picasso96 graphics problems really fixed
- adjusting GUI sound settings on the fly does not anymore cause
random sound issues after returning back to emulation (like
missing channel(s) for few moments etc..)
- Action Replay 1, ver 1.0 added to ROM scanner identication list
Beta 6:
- FPU emulation floating point to integer conversion fixed, previously
for example float -> byte conversion simply truncated to byte instead
of clamping it to -128 or 127 if original value can't fit in a byte.
Same problem was with words and longs. (Aske Christensen)
- uaeserial.device compatibility fixes
- A500 D80000-DDFFFF area is unmapped (except possible RTC at DC0000)
higher end models can have other MB devices here
- A1000 is most likely the only Amiga model that has custom chips
mapped at D80000-DDFFFF
- RTC access is now exactly same as in real A500 (if more compatible
setting enabled)
- AGA end of fast (or chip if no fast) to BBFFFF is not mapped, same
with C00000 to D7FFFF. (Need more testing)
Mapping changes may help with some buggy programs that poke illegal
addresses.
- My A1200 seems to have KS ROM mapped at 0xA80000-B7FFFF. But with
Blizzard 1260 installed it is replaced with 64kb "bank" of RAM from
card's expansion RAM.. It seems all "unmapped" areas map to
Blizzard's expansion RAM. Quite interesting effect.. (not emulated)
- serial port detection update. For some reason not all serial ports
(at least some USB types) can't be detected by enumerating
GUID_CLASS_COMPORT class. (and this was supposed to be the proper
way to do it..)
- do not log KS motherboard RAM probe (less useless spam when booting)
- Picasso96 graphics corruption introduced in previous betas should
be fixed (also other changes, can be faster or slower in some cases,
also there is possibility something else broke..)
Beta 5:
- CD32/CDTV emulation now autodetects all CD (all drives) changes on
the fly. Previously drive was only autodetected once when emulation
started.
- blitter linedraw update, PD game Tanx (not same game as Tanx in HOL,
ID=5409) uses really "interesting" way for drawing vertical lines,
it sets ADAT=FFFF and BLTAFWM=8000.
- remove agnus/denise revision settings. Will be replaced with more
flexible configuration later (perhaps select box with real chip
identification strings, current system couldn't support for example
oldest Denise without EHB and Agnus with buggy blitter wait bit)
- another possible bsdsocket thread timing bug fix
- running p96refresh automatically forces power supply cia-a tod to
prevent clock running faster
- mapping of RTG RAM adjusted (locate immediately after end of Z3 RAM
and align to 16M border), fix board size (previously <16M was
reported incorrectly in Scout)
- Arcadia added to ROM scan message (but only if Arcadia bios rom(s)
detected, Arcadia: unavailable would only confuse users..)
Beta 4:
- separate Arcadia bios and game rom selection
(rom rescan required) Idea and original patch by Karsten Bock
- "Add PC drives at startup"/"Include network drives" fixed
- cd32/cdtv/arcadia flashfile set to <datapath>\<mode>.nvr
in quickstart modes
- CDTV 64kb sram card quickstart mode added, saved to flashfile with
CDTV internal sram (tested with Sim City CDTV)
- harddisk panel fixes and updates. Non-existing hardfiles and
directories are marked with "X".
Beta 3:
- remove harddrives loaded from default.uae in quickstart-mode
- wrong device/volumename in harddisk panel (visual error only)
- S<something> in command line parameters set illegal stereo
separation value in some cases
- hardfile configuration handling bugs fixed
- disk history list wrong item selection fixed (really old bug,
select second entry from disk history then select first entry
from other drive's disk history)
- sinc interpolator update from uaede 2.04
- CDTV CD audio play end position status change detection improved
- application icon updated (also includes 256x256 Vista-style icon)
- CD access freeze when CD was already open in another program, also
tries shared access mode first before falling back to exclusive
mode
- emulation paused mode sound start/stop issues fixed
Beta 2:
- filter zoom and position is not restricted to coordinates divisible
by 4 pixels anymore
- datapath command line parameter fixed (broke in 1.3.4b9)
- enumerate only known DirectInput devices types (keyboards, pointers
and game controllers), apparently there are some broken DI compatible
"unknown" devices that crash DirectInput's internal enumeration code..
- "magic mouse" related freezes fixed
- dragndrop disk insert fixed (again..)
- added more Picasso96 modes to "unique" mode list
- possible fix for some missing Picasso96 display modes
- added Amiga-side pointer validation to bsdsocket (smaller chance for
crashing if Amiga-side program passes garbage to bsdsocket)
- added safe host<>Amiga memcpy/strcpy helper functions to memory.c
- Aminetradio bsdsocket freeze fix (broke in 1340b6)
- do not "fix" configuration when advanced chipset compatible checkbox
is not checked and using A4000 rom.
- Windows driver Catweasel-mode works again
- only access CW registers if CW mouse/joystick is selected, read
keyboard port only if CW checkbox is enabled
Beta 1: Lots of scary options. Do not touch!
- added new misc configuration options "(handled in previous versions)"
- RTC type (none, MSM6242B or RF5C01A) + adjustment in seconds
(always enabled, MSM6242B but no 26x4bit memory implemented
and was initialized as RF5C01A... Looks like previous developer(s)
didn't know there was two different clock chips, neither did I
until few days ago.. Basically 68020+ Amigas have RF5C01A)
- CIA-A TOD clock source, vblank/50hz/60hz (always vblank except
50Hz/60Hz in programmed modes, another hack was here)
- built-in IDE A600+A1200 or A4000. Not really doing much yet.
(something that prevented IDE detection delay)
- A1000 Boot "ROM" on/off (enabled when 8k/64k ROM was used)
- DF0: ID hardware on/off (no ID if DF0: was 35DD)
- A3000/A4000 "motherboard resources", RAMSEY and/or Fat GARY
(0xDE000x, 0 = TOENB, 1 = TIMEOUT and 2 = COLDREBOOT registers)
- KS ROM mirror at 0xe00000-0xe7ffff (Cloanto ROM selected)
- CD32 CDROM on/off (when 512k extended ROM was selected)
- CD32 C2P on/off (when 512k extended ROM was selected)
- CD32 NVRAM on/off (when 512k extended ROM was selected)
- CDTV CDROM on/off (did not exist)
- CDTV NVRAM on/off (when 256k extended ROM was selected)
- CDTV SRAM (64k only, not saved) Card on/off (not implemented)
Why? Because there are small differences between different Amiga
models and even revisions and every possible model must be
configurable for emulation.. (like more real A4000 configuration)
Also can remove some ugly hacks (like the IDE hack) with proper
emulation.
I REPEAT: Do not touch Adv.Chipset panel if you aren't sure about
what you are doing! :)
NOTE: A4000 KS ROMs (Cloanto 3.x ROMs = A4000 ROM) _REQUIRE_ RAMSEY
or they will freeze at boot. WinUAE will automatically enable RAMSEY
and GARY if recognised A4000 ROM is selected, also default "Generic"
Amiga setting is most compatible with old configurations.
NOTE2: CD32 and CDTV configurations require now CD32 or CDTV setting
in chipset-panel (Quickstart mode does this automatically). Previously
CD32/CDTV mode was enabled depending on size of extended ROM but that
is not a good idea anymore.
- Amiga model specific chipset extra settings added, available only if
"compatible settings" is enabled in "Adv. Chipset" panel
- Akiko moved to separate memory bank (was in CIA bank previously, no
functional changes)
- Configurable motherboard resources memory bank added (includes Fat
Gary DE0000, DE0001, DE0002 and RAMSEY DE0003 and DE0043)
- RAMSEY revision configurable
- Fat Gary revision configurable (AFAIK this does not exist in existing
chips but was planned in future. But Scout detects this so...)
- 2 x RAMSEY (A3000/A4000 memory controller chip) controlled 32-bit MB
Fast RAM configuration added. ROM support for detection needed.
- First max 64MB "bank" ends at 0x08000000 (A3000/A4000 ROM needed)
- Second max 64MB "bank" from 0x08000000 (as above plus any 3.1+ ROM)
In theory there is space for max 96MB but UAE memory system does not
like non-power of 2 memory areas. Can be used with RTG and Z3 RAM.
- Configurable DDxxxx (A3000/A4000 SCSI) DMAC memory bank added (not
yet doing anything)
- CDTV emulation support! (thanks to Mark Knibbs for debugging CDTV
ROMs two years ago)
- data and audio tracks supported
- CDXL animations work better than in CD32 emulation
- CD audio volume control not supported
- multithreaded, no emulation pauses because of possible slow CD
access or CD spin up/down. May not be fully stable yet.
- 1x drive speed emulation
- 2MB chip enabled in CDTV Quickstart because DF0: is always
detected (even without drive) and apparently some games need all
available memory. KS 1.x always uses DF0: and I am not sure how
CDTV ROM should disable it (or does it do it? CDTV don't have
built-in floppy drive)
- starting data CD read without aborting previous CD audio
freezes (for example DOTC), cdtv device driver keeps waiting
for some signal that does not appear. (returning error status
will fix this but it also breaks Xenon II, hopefully proper
fix is found soon..)
- do not draw onscreen leds ofscreen (left border in narrow modes)
- "Magic" mouse option added (wip) System friendly screens + windowed
mode only. There is still offset in position when using native
screen.
- disk read DMA without any selected drives will finish normally
(would have frozen emulated program in previous versions)
- "Faster RTG" "instant copper" does not freeze even if copper list
has infinite loop.
- removed A2000 from A500/A2000 quickstart setting, they aren't
100% same hardware (A2000 has DF0: ID hardware and CIA-A TOD clock
is powersupply tick by default)
- IOCTL (used by CD32/CDTV emulation) CD access digital CD audio
work in Vista (previously total silence when using Daemon Tools
or no sound cable between CD drive and sound card)
Ugly detail: it closes CreateFile() handle and opens MCI handle
when CD audio calls are needed (and back to CreateFile() when
accessing data)
- Current open GUI config panel was initialized, destroyed and
initialized again when entering GUI and emulation was running.
- selecing keyboard layout C and then selecting any other keyboard
layout didn't disable layout C.
- Quickstart disk swap delayed insert fixed again
- D3D does not depend on D3DX library anymore (no more need for
dec 2004 DX SDK to prevent d3dx9_xx.dll dependancy)
- harddisk configuration handling completely rewritten. Configuration
data and mount data are now separate, configuration data is copied
to mount data only when starting or reseting the emulation.
Also failed mounting won't delete the configuration data.
No more disappearing configuration entries if paths have changed
or USB device is not inserted or error messages when adjusting
configuration settings when emulation is already running.
First column shows if the device is currently mounted
- sound filter/interpolation etc was not initialized until GUI panel
was visited
1.3.4 (30.12.2006)
Beta 9:
- interrupt timing tweak (Gravity Force in ce-mode)
- CPU Idle tweak (slightly less aggressive)
- file dialogs work again in Windows9X/ME..
- sound problems really fixed now
Beta 8: (RC3, really final?)
- random sound automatic restart delay fixed
- sound underflow handling improved
- JIT NATMEM VirtalFree() incorrect parameters fixed (MS Application
Verifier report)
Beta 7: (RC2)
- AGA sprites outside display window emulated when sprite is above or
below the display window. Previously they were only visible when
it was on left or right side of display window.
(fixes Spheris Legacy missing status graphics)
- clear garbage at the bottom of screen for example when switching from
doubled to non-doubled
- serial port set to none in config file didn't work properly
- cloned stereo and 4 channel sound mode uses proper initialization
(according to MSDN WAVEFORMATEXTENSIBLE is required if >2 channels but
for some reason "incorrect" way also worked previously..)
- mask unused DIWHIGH bits, could have caused narrow image appearing on
screen when loading statefile with DIWHIGH having highest bit set and
ECS Agnus or AGA enabled.
- border blanking feature (ECS/AGA BPLCON3 BRDRBLNK-bit) now also
updates top and bottom borders
Beta 6: (RC)
- serial port "friendly" names listed in serial port selection,
also detects virtual (for example bluetooth) serial ports.
Windows 2000+ only. W9X/ME shows normal "legacy" names.
- more bsdsocket stability fixes
- 1M ROM image support (upper half maps to regular KS space,
lower half to 0xe00000) Apparently A600/A1200/A4000 does the
same with 2x512K EPROMs
- compiler optimization settings changed for release build
Beta 5:
- remove winuae-specific command line parameters before passing
them to configuration parser.
- internal serial and parallel port selection updates
(partially in b4 + fixes in b5)
- Paula serial port emulation fixed (broke in b4)
- more uaeserial.device tweaks
- defined more Picasso96 modeIDs, now most PC display modes have
unique ID (updating display card/drivers, moving between PCs
does not anymore cause mysterious mode changes)
NOTE: you may need to reset your Picasso96 display mode if you
used mode other than 640x480, 800x600, 1024x768, 1280x1024 or
1600x1200.
- fixed another random Picasso96<>native switching crash
- added -maxmem command line parameter, "-maxmem 1024" enables 1G
Z3Fast support. (32-bit max) Note: can cause random side-effects
depending on total memory and/or Windows version.. Large RTG RAM
sizes require larger maxmem parameter (but values over ~1060 may
not work, check winuaebootlog.txt). Pointless but fun option :)
- vsync mode sound pitch shifting fixed. Pitch can still shift
slightly in some cases.
- bsdsocket stability fix
Beta 4:
- uaeserial.device tweaks
- added more logging to RDB parser
- do not reopen DirectSound when losing/gaining focus
- DirectSound initialization changes
- drivesound disk selection menu selected wrong entry in some cases
- rare divide by zero error when running Amiga program tries to
program 1 line tall display mode
- final MSVC 2005 SP1 installed
- dual core/SMP hardfile freeze fix (RD)
- bsdsocket bug fix that could have caused buffer overflows
Beta 3:
- uaeserial.device implemented, serial.device-like device that maps
unit numbers directly to host's COMx-ports (unit 1 = COM1, 2 = COM2
etc..) Supports most serial.device features (No xOn/xOff support)
Bugs possible. Tested using Term and Nokia E70 via bluetooth serial
connection :)
- page down is now properly configurable in input-panel (previously
was internally always mapped to freeze button)
- GUI AHI sound volume adjustment support (previously was Paula only)
- disk emulation event handler error fixed, broke most custom loaders
(bug introduced in b1)
- X-Arcade GUI tooltip compatibility update, in some cases only tiny
piece of upper left corner was visible. (Vista only?)
- more blitter tweaks, try to be compatible with broken programs that
write to blitter registers while previous blit has not yet finished.
- some DirectSound tweaks
Beta 2:
- fixed possible crash when input recording stops (introduced in b1)
- log memory map after reset and also after autoconfig
- log loaded KS ROM information in memory map dump
- fixed boot crash (some CPU/KS combinations only)
- bug in new event handler fixed (symptom was random really slow
non-ce/non-immediate blitter)
- interrupt priorities are correct again (broke in b1) Some tweaks.
- filesystem flag emulation updates (again) Protection flags on FAT
volumes should now work properly in non-UAEFSDB mode.
- filesystem directory protection flags supported (on FAT volumes)
Very old comment says: "Unix dirs behave differently than AmigaOS
ones. windows dirs go where no dir has gone before..." Perhaps
Windows 95 had some issues? Hope I didn't miss something..
Beta 1:
- dms files inside archives automatically added to disk history
- Windows98/ME direct MK4 catweasel support. Need command line
parameter "-directcatweasel 0xyzzzz". y = CW model (3 or 4,
3 is default), zzzz is io address in hexadecimal. (simple, quick
workaround if someone really wants to use MK3/4 under 98/ME for
some unknown reason) IO address in configuration file is obsoleted
(was never compatible with CW joystick or mouse port detection)
- Catweasel MK4 mouse support fixed (broke in 1.3.3)
- Catweasel direct mode automatically enabled if Windows is 2000
or newer, IO library is installed and CW driver is not installed
(previously was automatically enabled only if OS was 64-bit)
- compiler updated to beta SP1. I am very anti-"don't fix it if it
is not broken" person but I think you must already know it :)
- updated to latest Windows SDK
- winuaeclipboard crash fix (BR)
- finally replaced really ugly interrupt delay hack with more
cleaner and accurate method (fixes Fun School 4)
- made non-ce "more compatible" CPU emulators' main loop more
compatible with programs requiring delayed interrups
- windowed mode "leds" had incorrect mouse click positions
- debugger memwatch "freeze" option now also accepts memory values
- added separate memory bank function for 680x0 opcode fetches
- debugger memwatch points can now detect between opcode fetch
and data fetch, 68000-only currently.
- basic self modifying code (SMC) detection implemented in
debugger (smc-command) Works in 68000-mode only.
- Windows Vista rawinput crash fix (weird change in vista..)
- avioutput sound sync errors fixed (broke in 1.3.3)
- avioutput video codec type registry saving improved
- fixed CPU emulation condition code bug caused by compiler bug or
undefined C behaviour (not sure yet..) Affected some copy
protections. Introduced in E-UAE merge.
- added horizontal mouse wheel input-panel support (hwheel support
added in Windows Vista, not tested)
- add single "fake" button entry if joystick driver reports zero
buttons (PPJoy in two-player mode, no idea if this helps)
- cleaned up AHI emulation, initialize and start recording only
when requested for the first time
- disk image dragndrop caused instant disk swap instead of delayed
swap (eject, wait 1.5s, insert new disk)
- fixed Windows only bug in new stack magic replacement code, both
bsdsocket and AHI leaked Windows handles (SR)
- less aggressive sound adjustment
- horizontally scrolling list view selection fix (for example input
panel with wide enough key name could have made autofire selection
impossible)
- inputrecording reliability increased (but it still loses sync)
Final 1.3.3
- sound stereo channel swap setting was not saved to config..
- added "affinity <value>" -command line parameter, sets CPU affinity
bit mask (1=first CPU only, default. 2 = second CPU only, 4 = third,
3 = CPU 1 + 2 etc.. 0 = original startup affinity value)
Beta 8: (RC1, GUI DLL included)
- unrar.dll supported, rar-archives do not need archiveaccess.dll
+ rar support files anymore (archiveaccess support not removed)
Note that unrar.dll is stupid, it only allows filename as an
input archive (instead of memory pointer) which means rar archives
inside archives can't be unpacked without archiveaccess.
- clear only first 8MB of Z3 RAM during hard reset (full clear of
Z3 RAM can cause swapping if low on physical RAM)
- remove possible orphaned files (files that have been deleted from
Windows side) from directory filesystem's cache (BR)
- disk eject and reset from GUI ignored the eject (broke in b4)
- floppy leds write status color works properly
- GUI in 640x480 fullscreen was incorrectly centered in some cases
- removed timestamps from winuaebootlog.txt
Beta 7:
- CIA TOD does not "re-latch" if it has already been latched
(A1200 confirmed)
- CIA TOD hardware bug emulated, TODMED counts .. 1D 1E 1F
10 20 21 22.. (1F->10->20 is only couple of cycles but it
will trigger alarm comparison, not visible to normal programs
that read TODHI first and TODLOW last)
(A500, A1200, CD32 confirmed)
- hard reset zeroes all memory types (previously cleared only
chip memory)
- time base calculation does not overflow even if future PCs
have 10GHz+ timer resolution :)
- bsdsocket waitselect fix, fixes Remote Desktop (SR)
- filesystem Windows file flag handling fixes (detection if Windows
flags support current Amiga-side flag combination or if uaefsdb
is needed has been broken for a long time..)
List of supported flags/flag combinations: (x = no care)
H = Windows Hidden flag
P = Windows System flag
A = Windows Archive flag
S set = not supported, FSDB required
E or R not set = FSDB required
xxxxR-E- = Windows Read Only flag
----RWED = default, no Windows flags set
other combinations = FSDB required
- some incorrect blitter cycle sequences corrected,
fixes Twintris in non-immediate blitter modes.
Beta 6:
- ProWizard updated to 1.61
- added logging if required filesystem is missing (not in RDB and in
FileSystem.resource)
- RTG RAM max size increased to 64MB (64 and 128 have always been
possible via manual configuration file editing, 128 not in GUI
because it may cause problems if combined with 512MB Z3)
- "mousehack mouse" crashed without HD emulation (=no UAE "boot rom")
- increased sound "resync" range again
- "100% accurate"-sound mode tweak, no more huge cpu usage in some
games that "misuse" AUDxPER-register.
(for example Paradroid 90, Rambo III..)
- TVicPort direct io support added (includes also 64-bit Windows
support which is missing from winio, winio support not removed)
http://www.entechtaiwan.com/dev/port/index.shtm
- CWMK4 direct io support + latest FPGA core built-in. CWMK4 now
works under 64-bit Windows (yeah, very hackish way but it really
does work..)
PCI IO address is automatically detected (also supports MK3),
Windows 2000 or newer only. Direct IO & PCI scan is only used if
Windows driver is not installed and running under 64-bit Windows
(no CW drivers) or -directcatweasel command line parameter is used.
Direct IO is never used if Windows driver is present.
- Zoom! (SPS version) exception 3 hack (exception3 return address
is not defined by Motorola, another "problem" when emulating
microcoded CPU..)
Beta 5:
- built-in 7zip decompression (there is now official, easy to use
license compatible C-only support library. Old C++/COM library
was completely unusable.. built-in rar still missing due to
license incompatibility)
- rom.key system rewrite, old and new (AF2006) rom keys supported
simultaneously
- RDB HDF partition mount failed if correct filesystem was in ROM
but RDB contains one or more not needed filesystems
- Lightpen/gun emulation (available in input-panel, mouse-only)
Enforcer and Orbital Destroyer confirmed working
NOTE: random cursor trails possible. not tested in hires or
laced modes.
NOTE2: Trojan phazer fire button is joystick 2 left!
(and Orbital Destroyer crashes if normal fire is pressed..)
- Faster RTG (picasso96_nocustom) added to GUI
- Faster RTG does not disable audio anymore (use automatic
sound stop/start system instead). Also copper moves are now
emulated instantly (all waits are simply ignored, shouldn't matter
in RTG modes, copper is used basically only for setting hidden
refresh rates for Paula audio frequency hacks etc..)
Enabled by default now, should not cause any issues anymore.
- added misc-panel checkbox for allowing Windows screen/powersavers
while WinUAE is active (previously powersaving features were
always disabled)
Beta 4:
- rom scanner lists nondetected roms (with CRC32) in log
- improved sound underflow detection
- better approximation of sound delay values in GUI
(includes hidden delay caused by DirectSound)
- sound led didn't always light when sound emulation was
re-enabled
- sound autostart/stop config option (enabled by default)
- removed latency slider, new sound system should adjust
automatically
- disable sound autostop if recording is enabled
- only use recording-mode sound auto-adjust while recording
previously used both..
- RTG RAM enabled without Z3 RAM crash fix (broke in 1.3.2)
- debugger ea lists real AGA color registers instead of
host RGB values..
- fixed debugger e-command random crashing
- remove some obsolete MSVC 2002 and older project files
- floppy sound didn't restart autostopped audio
- GUI disk eject-button is delayed until exiting emulation
(fixes "instant disk swap" bug if clicking eject and then
immediately selecting new image)
Beta 3:
- more sound tweaks, added warning "led" colors to sound buffer
status. red = underflow (very bad), blue = nearing overflow
situation (sound lag will get larger but no sound quality
problems), yellow = overflow prevention triggered (still no
sound problems but emulation will lose CPU power)
- buffer is filled with empty sample data if underflow happens,
prevents buffer wraparound and few seconds of totally out of
sync sound
- new feature: (could be broken feature..) stop audio emulation
if sound hardware has been idle for 2 seconds. emulation restarts
immediately when any audio related register is accessed (even
if it causes no sound like setting volume to zero during boot
process by Kickstart ROM)
Stopped = no paula audio or resampling and mixing, host sound
hardware is still playing empty buffer to prevent any possible
sound glitches during starting/stopping
- point of sound buffer led is to make sound problem debugging
easier
Beta 2:
- ReleaseCopyOfSocket() bsdsocket.library implemented,
fixes AmiVNC (SR)
- input-panel: key mapped to <none> reverted back to its default
mapping after saving and loading the configuration
- hardfile TD_GETGEOMETRY caused one byte memory overflow
(long write to DriveGeometry.flags instead of byte..)
- uaescsi.device cleanup breakage fix (direct scsi didn't work etc..)
- HD_SCSICMD now returns error (unimplemented command) instead of
not doing anything and returning success if SCSI-support is not
available
- ROM scanner can now detect AF2006 rom.key even if it has been
renamed, also some other ROM scanner tweaks
- partial sound handling rewrite, some tweaking still needed
make sure lag adjustment is zeroed before testing!
- added sound buffer status "led", -30 to 30 is ok (the closer to
zero the better) bigger values most likely cause sound issues.
value jumping to very high or small value for few seconds after
reset/resolution change/state file load/etc is normal
- increased "led" update rate
- "vertical scanline"-effect in 16-bit AGA modes fixed
- version changed to 1.3.3, no 1.4 until E-UAE merges and
sound system updates are tested in public
Beta 1:
- merged portable stack magic replacement from E-UAE
- merged 68k regs-struct optimizations from E-UAE
- merged genlinetoscr from E-UAE + implemented filtered lores support
(filtered lores now also includes "special" modes like HAM, EHB etc)
- other random E-UAE source cleanups ect merging (part 1/x)
- MSVC version of REGPARAM (__fastcall) enabled and
USE_NORMAL_CALLING_CONVENTION disabled.
- breakage and performance increase possible, see above :)
- HDF/real HD access optimizations, removed one unneeded temporary
buffering layer.
- replaced mostly unusable TFHB keyboard layout with "standard" WASD.
- Reset-button in GUI forces hard-reset now
- ignore DMS CRC errors while unpacking instead of aborting the
process, for example previously harmless error in track 1 created
completely unusable image even if all other tracks were 100% ok
- encrypted DMS files are transparently decrypted (16-bit
"encryption key" can be brute-forced quickly..)
- GUI genlock connected-checkbox was broken
- audio emulation tweak, previously audio.device AbortIO() and then
CMD_WRITE could have caused lost audio interrupt
- memory watchpoint F option added, "freezes" (ignores writes)
selected address range
1.3.2
Beta 2:
- Mouse Up/Down and Left/Right input destinations can now work
simultaneously (diagonal movement) Really works now.
- Amithlon partition detection should now work without need to
disable safety checks
- avioutput audio recording in cloned stereo mode created incorrect
audio (2 channel instead of 4 and 1/2 the pitch, proper way
would be to change 4 channels back to 2, maybe later..)
- dskrdy-delay added, apparently there is very small delay before
dskrdy changes state after switching motor off.
(fixes Pro Tennis Tour's stupid loader)
Beta 1:
- don't open debug console when restoring state or when quitting..
- ignore printer autoflush timeout if Postscript detection is enabled
(autoflush during Postscript parsing will quietly abort the print
process..)
- Mouse Up/Down and Left/Right input destinations can now work
simultaneously (diagonal movement)
- extended ROM statefile support
- CD32 statefiles supported. CD32 configuration must be set
before loading the statefile. (will be fixed in future)
- don't save hrtmon to statefile if it has not been activated at
least once (=hrtmon data has been modified and needs to be saved)
- FDI 2.1 format support, header checksum supported
- HRTMon DE/F keyboard layout autodetection really works now
- HRTMon WHDLoad commands don't cause WHDLoad stack error message
anymore (for example wq)
- A1000 Kickstart disk image can be used as a ROM image file, also
supported by ROM scanner
- Z3Fast start address can be set in configuration file. Don't touch
it if you don't know what you are doing!
1.3.1
Beta 3:
- blitter timing updates. Maybe I am becoming crazy or something
but I did another test and enabling A-channel does not "anymore"
steal all bus cycles like I thought it did previously.. Or maybe
it does in specific situations only. Anyway, Hostages insta-kill
fixed again. broken since 1.1b4..
- more SPTI and ASPI tweaks
- bad access fault fixed in mousehack replacement code (could cause
random crashes etc..)
Beta 2:
- drag'n'dropping disk images now adds them to disk history list
- drag'n'dropped floppy panel disk image file names were truncated
if name included "]["-string
- removed "force ECS Agnus if chip ram > 512k"-fix. It is too
restricting when trying fun configurations, should not be needed
because of quickstart configuration. At least I hope so..
- avioutput framerate limit and fps stored in registry
- HRTMon colors replaced with "Action Replay colors". (B&W looked too
boring... configurable in future)
- debugger "unstopped" the CPU if CPU was in stopped state when
activating the debugger.
- debugger trainer code cleanups, z3fast added to trainers and
prowizard
- "deep trainer" (idea stolen from Action Replay III) added to
debugger. GUI for trainers will be added in future, with memory
location "freeze"-option. Cl = list found trainer addresses
Ds = start deep trainer (or plain D if this is the first time),
continue game and lose live (or time or whatever), D = rescans
memory and removes all addresses that have not changed since last
scan. Repeat until correct location is found. (may take many many
times..) Dx = rescans memory and removes all addresses that HAVE
CHANGED since last scan.
Beta 1:
- uaescsi.device CMD_WRITE/CMD_FORMAT commands implemented (not just
returning write protected anymore), CMD_READ also works with non-CD
devices. Testing needed, I don't have any zip drives or similar..
- force bogoram size to 1MB if >1MB bogoram and AGA enabled
configuration is loaded. (fixes crash if JIT is enabled)
Gayle IO space conflicts with >1MB bogo. In reality this is totally
bogus configuration because there are no real AGA machines with
bogo (slow) ram...
- fixed original extended adf (Factor 5 disk images) decoding error,
broke somewhere during 1.3 betas..
- ASPI tweaks (may or may not help with some random issues)
- disable cycle-exact if 68020/68040+JIT configuration is loaded
(not supported configuration and has already caused too many
useless bug reports because it can cause weird problems..)
- map Gayle memory bank if 68020+ (A4000 KS will freeze without
something in Gayle space)
- 1280 display width limitation changed to 2048 (real current
maximum) Previously selecting >1280xYYYY resolution would change
to 1280xYYYY and cause weird errors.. Also unsupported >2048
resolutions are not listed in resolution list anymore.
- HRTMon updated to 2.30
- "blitter unstuck" hack (if blitter is stuck for more than 3 frames
due to blitter DMA being disabled, it will be forced to finish.
Only enabled in immediate blitter-mode. Compatibility hack for
some JIT game problems, for example SlamTilt Pinball)
- sound filter configuration load bug
- mostly harmless access fault fixed in "boot rom"
FileSystem.resource list scanner
- "log illegal memory access"-option does not anymore log Z3
expansion area (0xff0000xx) and extended rom area (0x00f00000)
- WHDLoad HRTMon detection works now (NOTE: hrtmon must be activated
manually at least once before it works. WIP)
- avioutput recording incorrectly split the avi when focus was lost
- avioutput codec configuration stored in registry
- first avioutput recorded frame is not blank anymore
- window close button and GUI quit-button didn't work if emulation
was paused
- changing filters didn't reset graphics subsystem properly
- D3D filter problems fixed, again and again.. (I hope..)
1.3
Beta 8: (second RC)
- ASPI crash fixed
- W9x/ME language dll error log spam really fixed
- hrtmon moved to 0x00a10000 (w9x/me conflict really fixed)
- uade "Sinc" interpolator fixed
Beta 7: (RC, beta removed from about-panel)
- Action Replay state save/restore should finally work, HRTMon state
file support added. Old AR state files are not compatible anymore!
- A1200 Action Replay CIA snooping added, previously exiting AR
caused totally corrupt data written back to CIA registers
- don't map "filesystem boot rom" if no hard drives are enabled
("ROM" was visible even in basic A500-mode at 0xf00000) (b6 update)
- Quickstart CDTV description bug fixed
- preparing for uaescsi.device non-CD trackdisk support
(will be fully implemented after 1.3 is out)
- drivesound (non PC-drive) crash fixed
- Picasso96 graphics crap fixed if P96 window was smaller than full
P96 display window (BR)
- ROM names changed to "KS ROM xxx" (less confusing, I hope..)
- some key events were passed to emulation while END-key was kept
pressed
- don't fill log with language DLL load errors if running W9x/ME
(for some reason W9X/ME returns ERROR_DLL_NOT_FOUND but 2000/XP
returns ERROR_MOD_NOT_FOUND)
- don't try to create crash dump under W9X/ME, it won't work.
- dm-debugger command fix (last bank was missed)
- hrtmon moved to 0x00a00000 (no more conflicts with 8MB fast RAM)
Beta 6:
- HRTMon 68000 bug fixed (tried to read non-existing stack frame type
when CPU was 68000 causing crash while freezing if freezed program
was running in supervisor mode)
- Set German/French HRTMon keyboard layout automatically
- dm debugger memory space dump command added
- AHI updates (BR)
- updated to latest uaede filters ('sinc' is currently broken)
- changing interpolation setting on the fly sometimes didn't work
correctly
- updated uae home page url in about-panel (when did it change?)
- shutting down WinUAE caused infinite recursion and stack overflow
when there was already another WinUAE's named pipe open
- Paths-panel info changes: "Amiga Forever 2005" -> "Amiga Forever"
(2005, 2006 and future releases should use same directory format)
- GUI: removed all (?) visible Commodore trademarks (if they even
exists today) like "Kickstart". Stupid yeah but you never know..
- some directory filesystem disk full errors were not converted to
proper AmigaOS error code
Beta 5:
- "cloned stereo" mode added to sound panel (4 channel mode that
mirrors front channels to rear channels)
- Action Replay A1200 cartridge support
- HRTMon 2.29 "cartridgefied" and is now WinUAE build-in
(should even work in JIT and Picasso96 modes)
- fixed incorrect numpad key shortcut statefile default path
- added separate Gayle address bank, needed for future IDE controller
hardfile emulation (A600/A1200/A4000 compatible) Will be implemented
after 1.3 is out (I read ATA-1 spec yesterday and it was surprisingly
simple. All "intelligence" is inside the drive, Gayle basically only
works as an address decoder)
Beta 4:
- replaced directory harddrive size check code with >2G compatible
code (but it may not help much because of Amiga-side software
size calculation overflow bugs)
- UNC directory harddrives (\\server\share) work now properly
(previously ACTION_INFO returned error, for example Shell command
"info" ignored the drive)
- harddrive hdf creator compatibility updates
- wider harddrive selector window, swapped name and size
- directory harddrive protection flag bug (beta 2)
- overlay workaround for broken ATI X1x00-series card drivers
(blank RGB overlay since Catalyst 6.1) -enableowr force-enables,
-disableowr force-disables.
- 3.5" "ESCOM" floppy drive type added (Some newer A1200s came with
modified PC drives that don't support DSKRDY-signal) Useless?!
- RTE stack frame 7 added (needed when/if MMU emulation happens..)
Beta 3:
- Check ROM checksum only if ROM looks like a regular Kickstart ROM
Currently searches for "exec.library" in the first 256 bytes of ROM.
- interlace-bug fix tweaking (and i am still not happy with the fix)
- uade filter update, 44100Hz-only restriction is gone. Removed old
filter emulation code. UADE filter/interpolation improvements by
Antti S. Lankila
- state restore fix, some 68010+ CPU state files required loading of
statefile twice (first load would cause Amiga-side crash because
of trying to access not yet mapped memory)
- extended debugger e-command, ea = list AGA color registers
- added timestamps to log files (both real world and frames+vhpos)
- changing fpu_strict on the fly works
- D3D fullscreen freeze fixed (btw, December 2004 DXSDK is the last
SDK with statically linked d9dx library)
- priority-panel pause emulation/disable sound output checkboxes
were always shown as unticked
- directories with "illegal" characters work now in NTFS stream
-style directory filesystems (previously for example directory
named "blah>" would have changed back to real Windows-side
directory named "__uae___blah" after reboot)
- only create stream fsdb -file if file/directory has illegal
name, unsupported protection flags or comment set, also delete
the stream-file if file does not have illegal attributes anymore
- clear disk history -button added to paths-panel
- CPU% >99% is shown without %-sign in onscreen leds because of
not enough space
Beta 2:
- motor on/off state added to PC floppy drive sound emulation
(fdrawcmd.sys >= 1.0.1.9, not yet released)
NOTE: due to another stupid PC hardware limitation, motor must
always be switched on while seeking (even if emulated motor
is not switched on)
- MSDOS DD (720k) and HD (1440k) disk images supported
(PC0: works fine but PCTask or Transformer won't accept DOS
images for some unknown reason)
- possible Picasso96 screen switch crash workaround
- disk image drag'n'drop to main window fixed
- disk image drag'n'drop to status bar df0-df3 "leds" added
- input recording disk image change support added
- Both "exe" and "data" path will be used when looking for Help
file (WinUAE.chm). Previously only "data" path was used.
- selecting from disk history (rarely) selected wrong entry
- "simple" gfx option changes on the fly don't force whole gfx
system reset anymore (close & open screen)
- No more "No disk in drive x"-dialogs if disk history had paths
pointing to removed removable drives (for example USB sticks)
- NeroASPI-path had extra \-character (Maybe only if Nero 7 is
installed?)
- don't cache comment or unsupported protection flags internally if
drive does not support UAEFSDB or NTFS streams (setting comment and
immediately using Examine() returned saved comment even if it was
not possible to store comments or flags to disk)
- paths-panel "WinUAE default"-setting uses relative paths. Only
if "data" and "exe" paths are identical
- fixed AVIOutput crashes and incorrect display positioning in some
situations
- 68000 RESET-instruction prefetch update (needed by proper Arcadia
boot sequence, fixes ancient PC emulator Transformer)
- Arcadia emulation update from MAME 0.105u3. Uses now correct
boot method which works with Kickstart 1.2 (old one needed KS 1.3)
Fixes Sidewinder graphics errors (game requires KS 1.2)
- sound filter adjustments, separated filter on/emulated/off state
from filter type. now uses uade filters by default (only if
44100Hz frequency is selected, this limitation will be fixed
in future by uade filter author)
- added "anti" and "sinc" interpolators from uade and set "anti"
as a default. (note: "sinc" needs much more CPU time than other
interpolators)
- strip ending :'s from device and volume names (seen some bug
reports about missing harddrives because of illegal names)
- frogaspi.dll support added (http://www.frogaspi.org/)
FrogASPI is free ASPI library (frogaspi.dll worked with older
WinUAE versions but only if it was renamed to wnaspi32.dll)
- blitter state save fix. should fix random frozen emulation after
restoring. (note: error happens while saving, old damaged statefiles
won't be automatically fixed)
- "scanline"-effect in changed parts of display while in interlace
mode bug finally fixed! (for example Pinball Illusions' score panel
in hires mode)
- very experimental automatic lores/doubling switching added.
Enable any filter that allows 1x/2x-checkboxes and tick "autoscale"
at the bottom of filter panel.
Now lores and doubling is automatically changed on the fly.
- lores/nonlace: lores enabled, doubling disabled, horizontal
and vertical filter multiplier set to 2x
- hires/nonlace: lores disabled, doubling disabled, horizontal
filter multipler 1x, vertical 2x
- etc..
- mixed hires and lores forces hires-mode (lores disabled)
So whats the point? Filter 1x/2x scaling is free (display card's
blitter does it). lores/doubling scaling uses CPU. Most games and
demos use lores but many have hires title screen etc -> free speed
boost without quality loss (in theory..)
Whats the catch? It is currently quite useless.
- graphics subsystem needs to be reinitialized every time
(=windowed mode recommended now..)
- scaling is broken (blurring)
- sound is restarted
"autoscale"-checkbox will be removed in non-beta releases
(but it will be available by manually editing config files)
- first implementation of uae-configuration-style control software
that works outside of emulation (using named pipe \\.\pipe\WinUAE)
currently working commands:
- "CFG <config_entry> <config_value> [<another_entry>=<value>] .."
change configuration on the fly
- "CFG config_entry" return value of <config_entry>
- "CFG beginning_of_config_entry*" return all config entries that
beging with "begining_of_config_entry"
- "EVT event event_value [more events]" send input event
(inputevents.def in source archive, "KEY_A 1", "SPC_QUIT 1"..)
return string is status code (http-style 3 digit status) +
message-specific extra status.
NOTE: Named pipes require Windows 2000 or newer. WIP.
TODO: automatic notifications when configuration changes and more
ipctester.exe (in separate archive) can be used to experiment with
this feature.
Beta 1:
- improved C (trainer) debug command. Multiple searches supported
(life counter = 3, "C 3", die, "C 2", more than one result?
die again, "C 1" etc..) C without parameters resets the search.
byte,word,3 byte,long integers supported. value < 256 = byte,
value < 65536 = word etc.. "C <value> <size>" can be used to
force type of value. (1-4). Added slow and fast memory support.
- fpu_strict config option added to GUI
- added Action Replay "fa <addr> [<saddr>] [<eaddr>]"-command to
debugger
- started implementing "Input recorder". Only keyboard, joystick,
mouse events supported. Don't try to change disk images.
Record/playback buttons added to Output-panel.
"Alt. playback mode" = more compatible but less accuracy.
(debugging option currently) May not be too reliable yet. WIP.
Please test and report. Usage: start recording, boot emulation
or start recording and load state file. Same for playback.
- build-in mousehack. MH code is now automatically started if
"mousehack mouse" is selected from ports-panel, mousehack-Amiga
side program is not needed anymore. MH C-code converted to asm
and moved to filesys "boot rom". (filesys.asm)
- added disk label text box to "create standard adf"-option
("custom" adfs are unformatted)
- and finally the best new feature ever: drive sounds from PC floppy
drive!... (requires driver from http://simonowen.com/fdrawcmd/)
1.2
Final: (official release date in 3-6 days)
- fpu_strict=yes/no config option added. yes = more accurate
but slower. No GUI option yet.
- winuaelog.txt logging can be enabled or disabled on the fly
- another CIA keyboard handshake update. Previous update broke
some intros with extremely weird keyboard routines..
- removed default mapping of PC PrintScreen key to Amiga key code
0x6e (no special key should be visible to Amiga-side by default)
- winuaeenforcer update (BR)
- small tweak to "writing to BPLxPTL while bitplane DMA was
accessing it at the same time" (unnamed intro by the Senses)
- it was not possible to delete directories in directory filesystem
if recycle bin-setting was disabled. (broke in 5 and stupid me)
- windows recyclebin setting is on the fly adjustable
- OGL and D3D filters replaced with original versions, 1x-8x
select boxes will be implemented later..
Beta 6:
- png screenshots (use "-screenshotbmp" command line parameter
to force bmp screenshots. This will be removed in future.)
- FSGLMUL and FSGLDIV slowdown fix (PK)
- language selection added to misc-panel (user-specific, stored
in registry, not in configuration file)
- disabled SHIFT+F12 debugger shortcut in fullscreen modes
- "final" translation dll included, no more changes to GUI.
- D3D/OGL scaling still broken... (so boring thing..)
Beta 5:
- fixed swapped parallel port joystick adapter firebuttons
- more FPU precision/rounding and other updates (Peter Keunecke)
- added improved sound filter code from uade (regular versions only,
not "E"-versions) NOTE: only available when frequency is 44100Hz
- implemented internal light pen hardware (BPLCON0 bit 3 and VPOSR
work now properly), mostly useless because there is no cursor or
trigger yet..
- clicking on disabled drive's trackdisplay slot in windowed mode
does not open disk dialog anymore
- switching adf read/write-status does not leave stale file locks
open anymore
- apparently CIA TOD only stops when writing to TODHI and restarts
when writing to TODLOW. Writing to TODMID does not stop it.
(demo Harmony by Haujobb)
Beta 4:
- sprite DMA cycles are not anymore available for blitter or CPU
in ce-mode (game Detonator, probably others too)
- some small ce-mode tweaks
- tweaked Sci-fi COPJMP-update, Thai Boxing works again.
Copper stops (until next frame) only in following condition:
- Copper DMA is disabled
- Copper was waiting when DMA was disabled (this was missing)
- both COPJMP1 and COPJMP2 were accessed while DMA is disabled
-> Copper does not restart after DMA is re-enabled
- cycle-exact blitter line draw timing updates
- HAM enabled but only 4 bit planes enabled fixed (broke in B2)
- misc JIT cleanups (Peter Keunecke)
- D3D/OpenGL "works" now. Need some positioning fixes in
lores/non-doubled modes.
- added AmiKit to about-panel
I found something interesting about DMA slot allocation, the
diagram in HRM is correct but there is 5 cycle offset.
I used simple program that read DFF007 in tight loop (68060 A1200)
and counted available horizontal positions. 4, 6, 8 and 10 is
always unavailable (memory refresh). 18 = audio channel 0, 20, 22,
24 channels 1-3. 26, 28 sprite 0, etc.. This leaves 12, 14 and 16
for disk DMA (didn't bother to test because slots fit perfectly)
Questions: Which one is the "real" value and which one is "fake"
and why? Whats the reason for this unexplained delay? This does not
affect DMA timing in UAE but CPU reads from DFF007 are not 100%
correct. (this probably only affects really stupid wait routines)
I will later use this same method to confirm copper's cycle usage.
Beta 3:
- doubleclicking on power-"led" in windowed mode opened multiple
(broken) GUI windows
- display filter size and position formulas modified. old presets
are not compatible. (D3D/OpenGL not yet updated, don't use)
- CIA-A keyboard handshake update, found another game (Wicked) that
has "interesting" key handshaking code
- configuration save crash (B1, "Filtered Lores"-config entry was
broken)
- display was shifted by one pixel to right if horizontal centering
in lores-mode was enabled
- another priority-panel "Above Normal"-bug fixed..
- another FPU update from Peter Keunecke
- missed B1 changelog entry: overlay-checkbox is on the fly
configurable
Beta 2:
- Logitech G15 LCD support complete (gfx by Jani Wilen)
- D3D filter works again
- ProWizard module ripper updated to latest version
- ignore MinSecondarySampleRate and MaxSecondarySampleRate when
selected sample rate is 22050 <= x <= 44100 (found broken
driver that reports 48000 as a min and max frequency..)
- more Amiga Forever 2005 path updates (incorrect paths if trailing
/ was missing from AMIGAFOREVERDATA-environment variable and in some
situations ROM-path was incorrect)
- %-character fixed in debugger's memory dump
- sprite priorities and HAM change in mid horizontal line supported.
Fixes Bubba'n'Stix second level background and Cover Girl Strip Poker
title screen. May also fix demos/games with single incorrect horizontal
line(s). Disposable Hero titlescreen is not fixed yet but looks slightly
better.
- rare CE-mode bitplane/copper timing error (demo Green Surprise by Scoopex)
- horizontal cycles 0 to 3 (about) are visible in right border (for some
reason horizontal blanking does not start at cycle 0), until now color
changes were delayed until next horizontal line. Fixes wrong right
border color in Leander, T-Racer, Unreal etc..
Beta 1:
- updated to final MSVC 2005
- sound in 4 channel mode created broken 2-channel wave-files
- added hdf creator to "add harddisk" panel, creates 1:1 hdf-image from
selected Amiga formatted harddrive.
- harddisk check (RDB detect) crashed if drive's blocksize was >512.
(does >512 physical block size block devices even exist?)
- FPU emulation update, rounding errors fixed, bad generation of NaNs,
some missing constansts added. (Peter Keunecke, Bernd Roesch)
- JIT ACOS FPU bug really fixed (Peter Keunecke)
- switching from OCS to ECS or vice versa on the fly didn't reset
"Arcadia Xenon"-fix correctly. Reboot is still needed to reset it.
- new horizontal shrinking mode, "Filtered lores" in GUI. New pixel is
now average of two pixels instead of dropping every other pixel.
Fixes incorrect colors in programs that use superhires tricks
(for example Virtual Karting, demo Rest-2 by Codebusters) Also
affects hires-screens if lores-checkbox is ticked. Does not work
in 8-bit host mode.
- Logitech G15 keyboard LCD display support. WIP.
- overlay windowed window size was incorrect by 1 pixel
- GUI string update. WIP. (M.C. Battilana, TW)
- D3D filter is broken and crashes. Trying to fix another case of
DLL hell.. (d3dx9_xx.dll)
1.1.1
Beta 3:
- don't set CIA-A FLAG-interrupt bit when program writes to parallel
port without connected printer. Fixes Gauntlet III.
- editing filename or path from history list works again
- fps adjustment in display panel goes to 1 fps now (was 5)
- .uae extension in registry pointed to <data path>\WinUAE.exe, not
<path to executable\WinUAE.exe. Caused only problems if -datapath
command line parameter was used.
Beta 2:
- SPTI SCSI SCAN mode finally works properly. Also duplicate devices
are now automatically removed.
Big thanks to Frank Busse for testing, Cloanto for help and donating
some SCSI stuff. and tiny thanks to me for bothering with
installation of old SCSI stuff to my test PC, filling my small room
with another PC, SCSI devices (old scanner I borrowed from work is
huge and heavy) and wasting lots of time with testing and cursing bad
documentation..
This really took much longer than I originally thought. Only SCSI GUI
panel to do and then SCSI subsystem is more or less finished.
- fixed yet another disk emulation bug. Reading from empty disk drive
returned random data. "No disk in drive"-status was detected as
drive with unformatted tracks. (Reading unformatted tracks must
return random bits) Fixes Xybots. Bug was probably introduced after
"Typhoon Thompson"-fix was implemented
- disk history select boxes' path separated from filename and moved to
right side. Now filename is always visible even if path is very long.
Yes, I know, it does not look too good but I didn't find any non-MFC
custom multicolumn combo-box examples..
Beta 1:
- fixed incorrect AF2005 paths after clicking "reset to defaults"
- blitter could freeze in ce-mode if D-channel was not enabled
- separated GUI fullscreen resolution and depth selection
- do ASPI check only once and cache the results, check version
of aspi dlls before enabling, nero aspi must be >=2 and adaptec
aspi must be >= 4. No more bluescreens/crashes under W9x/me if
using Windows build-in wnaspi32.dll crap.
- "floppy drive speed" and "new disk image" swapped in disk-panel
- extremely stupid bug in disk emulation fixed (broke in b10,
may have caused disk detection problems with some games)
- SPTI-mode improved, re-enabled SCSI device scan ("SPTI + SCSI SCAN"
in GUI. Separate option because driver bugs may cause problems..)
SCSI scanners and tape drives should now work even without installed
Windows driver. Note that WinUAE may detect SCSI devices twice in
this mode (one from regular SPTI enumeration and the another from
SCSI scan)
1.1
Beta 10: FINAL
- hardfile config loading bug if hardfile was missing
(broke some versions ago)
- filesystem Examine(<root dir>) should return 2 (ST_USERDIR)
instead of 1 (ST_ROOT) ST_ROOT isn't used. OFS, FFS and SFS
also return ST_USERDIR. (and Guru Book says ST_ROOT isn't used)
This fixes some (buggy?) file checking routines.
- fixed really stupid diskrdy-signal bug (broke in 0990b6..)
Beta 9:
- added "non-path" Kickstart ROM mode in config files.
(useful for frontend-type programs etc..)
Syntax:
kickstart_rom=v<ver>[.<rev>] [r<subver>.<subrev>] [<model>]
Only <ver> is mandatory. Model must be specified if requested
ROM file is not a regular Kickstart ROM.
Examples:
v1.3 (select any autodetected 1.3)
v1.2 r33.166 (must be KS1.2 revision 33.166)
v1.2 A500 (KS1.2 rev 33.180)
v2.05 A600HD (KS 2.05, rev 37.350 or 37.300)
v3.1 r40.68 A1200 (KS 3.1 rev 40.68 A1200)
v3.1 r40.68 (KS 3.1 rev 40.68, both A1200 or A4000 version allowed)
v3.1;v3.0 (any revision of KS 3.1 or 3.0)
v3 A1200 (A1200 KS 3.1 or 3.0)
v2 AR (any Action Replay v2)
Multiple matches: highest available version is selected
Extended ROM config item: kickstart_ext_rom=
Cartridge ROM config item: cart=
Arcadia ROMs:
cart=Arcadia <name>, for example cart=Arcadia Xenon
- CIA INMODE=3 normally equals INMODE=2 (CIA serial port clock pin
is normally high while idle) Fixes game Warp
- "bad hardfile"-messages replaced with something slightly better
(can't be translated yet)
- added support for amigaforever.dll (optional rom.key alternative)
- compressed hardfiles supported. current restrictions:
- max 100M (whole hardfile will be kept uncompressed in memory)
- all written data will be lost after reseting or exiting WinUAE
- hardfile filename extension must be hdz,zip,rar or 7z
- hardfiles can be dragndropped to harddisk-panel
- statefiles with Action Replay work again (broke in 0.9.90)
- OCS/ECS Amiga colorspace translation to native color space was
not completely correct (I guess since the beginning..) for example
0xfff was translated to 0xf0f0f0, not 0xffffff (basically this makes
OCS/ECS modes slightly brighter)
Beta 8:
- ACTION_COPY_DIR_FH fix (it was totally broken..)
- Disk Swapper: right button doubleclick in "Disk image"-column:
removes disk in disk swapper panel. right button singleclick in
"Drive"-column: remove disk in drive
- CAPS -> SPS renaming here and there..
Beta 7:
- modifying directory's protect or comment changed its modification
time. Previous update failed to handle directories properly.
(CreateFile() to dir needs FILE_FLAG_BACKUP_SEMANTICS flag. urgh.)
- tweaked "Bubba'n'Stix / Battle Squadron sprite update". It broke
Elfmania's scoreboard. Now all 3 games run without gfx bugs.
- JIT-checkbox remembers previous JIT cache size
- improved switching from cycle-exact mode to non-cycle-exact (or
vice versa). Previously switching modes may have resulted in frozen
emulated software (missing blitter finished flag/interrupt)
- simple copper debugger implemented. Breakpoint, trace and vpos/hpos
of executed copper commands (vpos/hpos-feature was already
implemented but it needed to be activated in compile-time)
New commands:
- ob <addr> = breakpoint (not 100% exact yet)
- ot = single step
- o0 = disassemble from current address
- Arcadia World Trophy Soccer (MAME 0.99u8, ar_socc.zip) supported
- "desktop smaller than windowed window"-check was incorrect
- SPTI direct SCSI-adapter enumeration disabled until code has been
fully tested (currently it is mostly useless)
Beta 6:
- tweak to undocumented "switching bitplane DMA on during DDF"-feature
(Death Trap flashing score board. Semi-broken copperlist again..)
- SPTI CDROM support was broken in b5
- Priority panel's active priority was broken in b5
- sprite update updated. Fixes CD32 "key" in nvram screen. (0992b4)
OCS/ECS: sprite is attached if odd or even sprite's SPRxCTL bit 7
is set. AGA: odd sprite SPRxCTL bit 7 only.
Beta 5:
- some 68000 prefetch special case tweaks
- some cycle-exact blitter tweaks
- replaced ASPI-checkbox with select box (SPTI, AdaptecASPI, NeroASPI)
- updated to latest zlib
- SCSI tape drives and scanners are not filtered anymore in ASPI-mode
(-noaspifiltering parameter is not needed anymore)
- another SPTI-mode non-CDROM support improvement (not finished yet)
- delay possible forced rom scan until GUI is opened
- replaced "delayoffset" tables with proper(?) algorithm. (Loons Docs)
- added "none" to joystick/mouse selectbox
- improved Amiga Forever 2005 path handling
- added AF2005/AF/WinUAE default paths -select box. Only visible if
user has more than one installation (for example AF 2005 and plain
WinUAE)
- directory filesystem ACTION_COPY_DIR_FH (DosPacket) implemented
(AmigaDOS function DupLockFromFH()) No idea why this one was missed..
- added address-parameter to debugger i-command (overrides VBR)
- updated and cleaned "disable bitplane dma if planes > maxplanes".
It isn't that simple. OCS/ECS, lores and planes set to 7 -> number
of planes is 4. DMA gets disabled only if number of planes is larger
than available DMA slots, for example OCS/ECS hires and > 4 planes.
(demo Spanish Rose by Creed)
- fixed buggy COPJMP fix in 1.0b6. Broke for example Obliterator intro.
Beta 4:
- blitter blockmode update, this time I did lots of testing with real
Amiga. Results are quite interesting.. (more notes in blitter.c)
fixes: many demos with flickering or partially clipped objects
- last line was missing in programmed interlaced display modes
- DIVU/DIVS division by zero exception return address fix
(broke in b1, reorganized code too much..)
- set JIT have_rat_stall (broken in b1 CPU detection code update)
- native code slowdown workaround (BR)
Beta 3:
- fixed incorrect paths if running WinUAE from network drive
- Paths-panel "Reset to defaults" forces reload of configuration file
directory
- AHI works again (broken in b2)
- don't call init_hz() every frame if interlaced programmed display
mode is enabled (for example interlaced Euro36)
- screen vertical starting position properly calculated in programmed
modes (horizontal pos is much more complex, later or never..)
- many programmed mode registers were saved as zeros to statefile
(also debugger e-command showed wrong contents)
- updated to latest archiveaccess.dll. Library is used to support rar
and 7z archives. I'd prefer internal support but it seems rar's
license prevents it and (at least last time I checked) 7z-support
routines were unreadable mess..
Beta 2:
- "genlock connected" GUI option added. Please continue reading before
saying I am crazy :)
Kickstart's genlock detection code always detected genlock due to not
emulated ERSY-bit in BPLCON0. Normally it does not really matter but
most non-video frequency compatible monitor drivers don't load if
genlock is connected. (and currently most of them work very strangely
because not all programmable sync registers are used to calculate the
position of screen) GUI option is basically only for backwards
compatibility.
- Fast Copper removed (Bernd#1) It is too broken..
- removed now useless mod ripper from debugger
- added more missing unused keycodes to inputevents.def, updated CDTV
CD player keycodes
- MMKeyboard support added (http://www.geit.de/eng_mmkeyboard.html) (BR)
- AHI recording memory leak (BR)
- special WinUAE qualifier key (END) is now configurable (currently
the only way is to manually edit the keycode in config file, config
entry is called win32.specialkey)
- transparent "led status bar"
- in windowed mode window height (Amiga display area's height) was not
correct in some cases (for example 200 was changed to 208)
- "Add PC Drives at Startup"-option adds only local drives, added
separate checkbox for network drives
- default to MultiMediaTimers instead of Sleep() if both have good enough
time resolution (previously defaulted to Sleep())
- AmigaSYS added to About-box
- CD32 mode enabled: map CD32 buttons to compatibility-mode joystick
- Keyboard led mode-configuration option added (can't be autodetected
properly)
- zlib statically linked (90kb is nothing..), zlib1.dll is not needed
anymore
- merged CPU detection code from BasiliskII JIT (64-bit updates coming
later)
- added non-CDROM SCSI device support to SPTI-mode. May not work
because I don't have any real SCSI devices.. Check the log between
"Scan starts..." and "finished." and send reports.
NOTE: Order of CDROMs (if you have more than one) may change because
drive letters aren't used anymore. SCSI GUI-panel will be implemented
later..
Beta 1:
- zipped encrypted roms didn't always decrypt properly
- rom/disk image maximum allowed path size increased
- improved catweasel mouse/joystick support (separate input devices
instead of hardcoded input layout) NOTE: MK3 can't read joystick
buttons 2 and 3 without installed SID-chip. Catweasel is now always
enabled if detected. Checkbox in misc-panel is only used to enable
Catweasel ZorroII-card emulation (floppy access)
NOTE2: right and middle mouse button may not work on every Amiga
mice. This will be fixed in future Catweasel core update.
- ACOS FPU fix (fixes broken particles in "Fake Electronic Lightshow"
by Ephidrena, broke in previous FPU update) (Peter Keunecke)
- left click don't capture mouse anymore if GUI is active
- Picasso96 graphics problem introduced in 1.0
- lots of 64-bit compilation errors fixes (non-JIT version already
works, also it is possible to have max 2G of Z3Fast in 64-bit
version.. pointless but fun..)
- more stable on the fly configuration loading
- added exact 68000 DIVU and DIVS cycle usage algorithm (ce-mode only)
- stackmagic is 64-bit compatible (argh, that took ages to fix..)
- replaced inline assembly stackmagic-space allocation with _alloca()
(compatible with both 32 and 64-bit compilers)
- bsdsocket emulation 64-bit fix (may have caused breakage, bsdsock.c
did have some quite "interesting" code that needed complete rewrite...)
Not yet 64-bit compatible:
- JIT (Basilisk II have 64-bit compatible JIT)
- native code support
- inline asm helper functions in ahidsound.c (inline assembly is not
allowed in 64-bit mode..) First task is to add C-versions and add
64-bit assembler versions later if really needed.
- not all external libraries or devices are available in 64-bit yet
(Catweasel drivers, CAPSImg.dll, ArchiveAccess.dll, gsdll32.dll)
64-bit zlib.dll is included.
- asm-optimized filters default to C-code in 64-bit mode (which means
scale2x etc.. are probably slower in 64-bit)
1.0 (06.06.2005)
Beta 10: (final)
- FSINCOS-FPU instruction with identical destination registers
fix (Peter Keunecke)
- fixed graphics corruption (shifted bitplane) if BPLxPTL was
written and bitplane DMA accessed it exactly at the same time.
Fixes intros "3v Demo" by Cave and "New Year Demo" by Phoenix
Beta 9:
- changing write protection status of command-line inserted disks
failed to reinsert the disk properly
- added optimized JIT FPU trigonometric functions (Peter Keunecke)
- added directory filesystem speed up-patch (BR+me)
Beta 8:
- SPTI SCSI-mode sense-key handling fix. Some systems failed to
detect media ("Drive empty" in log) Bug since the beginning..
- recompiled with MSVS 2005B2. Faster? Slower? Unstable?
(experimental 64-bit versions coming after 1.0 is out)
- Windows 98/ME(?) SHGetFolder-error fixed
- catweasel direct io is back (there is no new drivers for MK1)
Direct io is enabled if catweasel-config option is larger or
equal than 100
- default translation dll included
Beta 7:
- debugger 'H'-command fixed and improved.
H=disassembly only, HH=disassembly+full cpu state. Command
only works while debugger is active (for example one or more
breakpoints are enabled)
- GUI's screenshot option does not capture the GUI anymore
(happened in D3D/OpenGL and non-overlayed modes)
- added test for installed rtg.library version
(it seems too many users don't know about updated library)
- X-Arcade layout tooltip re-added
- .uae-extension is stored to user-specific registry if user
is running in non-admin account (NT-based Windows only)
- audio reverse stereo option added
- [development PC updated to 64-bit Windows XP. I'll try first
64-bit build (without JIT) when free MSVS 2005 Beta 2 arrives]
Beta 6:
- active priority was not set until window lost and reacquired focus
- winuaenforcer updated. "winuaeenforcer 1" cause all illegal
adress read or write from 0-$100 or unused amigamem an illegal
adress Exception 3. (BR)
- b5 only worked on Windows XP (nobody is using 98/ME or 2K anymore?)
- implemented undocumented COPJMP-feature (game Sci-fi)
- Marvin's Marvellous Adventure works again in JIT-mode
- disk read/write debugging option (see debugger help)
- added sample ripper (in output-panel) Samples are dumped to
screenshots-directory. Duplicates are ignored automatically.
- "save as wav" statefile option (for easy manual sample hunting)
Beta 5:
- fixed possible crash while restoring saved state (broken in b1)
- proper natmem-allocation update (W2K/XP only)
- fixed "Couldn't load Kickstart"-message while loading older
statefiles (b1)
- Tenebra (AGA demo) "face"-part partial fix (missing 3d-object
is now visible) Top and bottom parts of face are still missing
- added Windows CPU info (32/64-bit and revision levels) to
winuaebootlog.txt
Beta 4:
- disk step rate limit improved. For example Music disk Extemporized
by Digital (and some other Digital products) do two very quick
steps that must not be ignored. It is really far too quick but it
still works.. (but most likely some drives don't like it..)
And of course there ARE demos that do very very quick steps that
must be ignored..
- Battle Squadron hiscore-sprite update, 3rd letter of player's
name was not visible in hiscore-screen, also fixes Bubba'n'Stix's
jumpy background mountains.
- compatibility filesystem and hardfile -config entries are back
(not sure why or when they disappeared..)
- added filesystem "no recyclebin"-option to harddrive-panel
- "Catweasel"-checkbox is now disabled if CW driver or card is not
detected
- Catweasel MK3 Windows driver support fixed and confirmed working
(Can anyone with MK1 test?)
- ASPI-mode now automatically uses Nero ASPI if Nero Burning ROM is
installed (Demo or full version) Nero ASPI has much better
compatibility than Adaptec's crap... Detected ASPI is shown in log
- joystick/mouse selection GUI changed again (tooltips not fixed yet)
- rare load crash fixed
- fullscreen mode resolution reset when using resolutions where y > x
- loading preset filter didn't update the screen
Beta 3:
- changing Amiga-specific protection flags or comment changed also
file's modification date. (broke in 0.9.92 FS update)
- simple config file backup, config file is renamed to
"configuration.backup" before it is overwritten or deleted
- Windows 9x/ME didn't like new natmem-allocation system,
so now only NT-based Windows' use new system
- Picasso96's autoconfig config area RAM size was always 8M when
configured size was 8M or larger.. (bug since the beginning..)
- enforcer bug fix (BR)
- removed filesystem automatic read-only check, apparently it is
impossible to detect read/write status of network drives
(and 100% sure detection of networked drives is also too complex..)
Beta 2:
- DMA accesses to upper 512kb of chip RAM with only 512k chip RAM
and 1MB Agnus installed don't map to low 512kb like CPU accesses do.
Fixes Arcadia SideWinder (game bug, bogus blitter d-channel address)
- added AmigaForever ROM path autodetection to ROM scanner
- added workaround for AMOS filesystem emulation incompatibility
(infinite loop in filesystem code) Reason for freeze unknown,
proper fix unknown.. (filesystem emulation is confusing..)
- compatible with Arcadia MAME 0.90u4 ROM update
- "Kickstart v1.2 (A1000)" was not detected because of wrong CRC32..
- joystick axis/buttons were marked non-mappable to mousebuttons,
fixed
- natmem-area allocation changed slightly (allocation is still buggy
because there is race condition that can cause allocation to
fail in some rare cases but fixing this properly isn't so simple)
- SPC_INCREASE_REFRESHRARE -> SPC_INCREASE_REFRESHRATE...
- adjusting keyboard leds and then entering to any panel except
priority panel reset all priority values to "Above Normal" (and
I thought this was 100% fixed some releases ago..)
- fixed Picasso96 freeze/crash/bogus refreshrates if display-panel
"parenthesized" refresh rate was selected.
- relative kickstart/floppy/hdf paths work properly again
- misc disk swapper-panel updates
- enforcer update (BR)
- keyboard layout C: both numpad 5 and 2 is mapped to down
- bsdsocket update (SR) (don't open connection dialog if
requested address is localhost)
- Catweasel support now requires Windows driver (no more direct port
access) New official Windows driver will be released very soon.
Added Catweasel enable-checkbox to misc-panel
Beta 1:
- bsdsocket emulation could crash in some cases (SR)
- exception 3 update in 0.9.90b6 was buggy, broke Shinobi, Double
Dragon 2 and probably others..
- Arcadia arcade system emulation (MAME 0.90 Arcadia roms supported)
Configuration: basic A500 setting (KS1.3, 0.5M Chip etc..)
Point "Cartridge ROM File" to Arcadia ROM file (ar_????.zip)
Start emulation.
Default key shortcuts: F2 = diagnostics menu,
1 = start 1 player game, 2 = 2 player game, 5 = coin slot 1,
6 = coin slot 2 (configurable in input-panel)
- audio channels were swapped (no idea when or if they ever have been
correct..)
- Picasso96 DOpus 4.12-problem fix (BR)
- debugger improvements:
- r sr xx = change status register
- r ccr xx = change condition codes (low 5 bits of SR only)
- r usp/isp/msp xx = change stack pointers
- r vbr xx = change VBR
- sc = screenshot
- filesystem configuration (mountinfo) data handling rewrite. This
should finally fix random crashes when reloading new config (or
changing quickstart model settings) on the fly. Note that changed
harddrive settings are only activated after reset instead of
immediately (which usually resulted in confused AmigaOS..)
- switching from catweasel-enabled to non-cw-enabled configuration
on the fly caused crash (I forgot to reset catweasel options..)
- added history list/text edit box to disk swapper
0.9.92
Beta 8: (final. official release date: tuesday/wednesday)
- setting number of bitplanes (BPLCON0) larger than max supported
caused incorrect blitter and copper timing. Fixes intro
"First Anniversary" by "Lazy Bones"
- refresh is now forced to every frame if cycle-exact is enabled
Beta 7:
- fixed AHI bug introduced in b6
- fixed AVIOutput bug that lost every other frame when recording
interlaced screen modes and linedoubling was enabled
- HD size detection improved. In some cases larger harddrives'
detected size was slightly smaller than real size. This was due
to using "wrong" Windows size-detection IOCTL, unfortunately the
better one is Windows XP/Windows Server 2003-only routine...
(IOCTL_DISK_GET_DRIVE_GEOMETRY and IOCTL_DISK_GET_LENGTH_INFO)
- Picasso96 optimization (Bernd Roesch)
Beta 6:
- fixes memory corruption/crash if using >1024 pixels wide 32bit
chipset display mode without filters
- changed default active priority from "Above normal" to "Normal"
(yeah, I changed my mind, again..)
- fixed beta 4 and 5 disk insert problems
- added windowed mode "Always on top"-checkbox to misc-panel
- WinUAE now uses multiuser-aware Windows language settings for
selecting GUI translation DLL instead of using old-style system
default setting
- replaced really weird and incorrect AddTail()-function in
picasso96.c with correct version (20 lines of code -> 4 lines..)
- non-ce-mode blitter timing bug fixed (broken in 0823b2..)
- ce-mode slowdown introduced in b4 optimized
Beta 5:
- Quickstart disk insert fixed (broke in b4 multiselect support)
- X-Arcade updated mappings
- internal drive click sound fixed (broke in b4)
- last swapper position was unavailable (and b4 again)
- some printing tweaks
- image tool tip support (currently only used for X-Arcade keyboard
layout, image and mappings by Pierre Astruc)
- compiled with updated zlib headers and library (1.2.2)
- onscreen floppy and HD leds flash red while writing
- window close-button is now working if "Use CTRL+F11 to quit"
is enabled
- fixed random disk read errors when writing and immediately reading
same track back in non-turbo mode (broke in 0.8.26 or so, fixes
SuperDuper formatting, also probably fixes some save disk formatting
problems)
Beta 4:
- cycle-exact copper/bitplane fix (may cause some slowdown, sorry..)
- improved drive click emulation, requires big external sample file
Samples maybe compressed and included inside winuae.exe in future.
(James Bagg)
- fixed drive click GUI external sample detection
- another sprite emulation update (intro "Da blue mouse" by Vectra)
Sprite attachment must be active if sprite's attachment-bit is
set, even if odd sprite pair is not "armed"
- added soft and hard reset input-targets
- fixed sprite problem introduced in beta 3
- added keycodes to keyboard input source list
- added configurable print job flush timer
0 = disabled, >0 = automatically close printer handle after
parallel port has been idle x seconds (workaround for
Windows 2000/XP never ending print jobs)
- fps adjustment GUI support added
- fixed really stupid mistake, input-panel autofire always said
"yes", even if autofire wasn't enabled. I guess this happened
when yes/no was added to translation.
- bsdsocket update, fixes Newsrog (SR)
- X-Arcade build-in keyboard layouts added (tooltips still missing)
- disk-image dialog multiselect support
(Quickstart, Disk Drives and Disk Swapper)
Beta 3:
- and another incorrect "SWIV-fix" side-effect fixed
(intro "Inspiration Is None" by Anarchy)
- GUI window close button or ALT-F4 fixed
- config-load command line parameters now load hardware and host-
configurations properly
- CIA PBON/TOGGLE-bits emulated (fixes really weird copy protection)
- last 4 scanlines were invisible in filtered modes
- "Pause emulation" when inactive paused immediately after emulation
was started, clear CPU% and FPS when entering pause-mode, more
logical GUI operation with "Pause emulation" and "Disable sound
output" -checkboxes.
- sprite tweaks, Superfrog intro bees, SuperStardust AGA tunnel section
and Kefrens Pharaos Fantasy -intro's scroller (Superfrog and
SuperStardust updates are quite logical but Kefrens fix looks slightly
illogical which means something may break..)
- copper/blitter timing tweaks
Beta 2:
- demo Nivel by Banal Projects works properly again
(demo triggered "SWIV-fix")
- archiveaccess multiarchive support (only 7z, rar and zip currently
enabled) Archiveaccess + 7z plugins are in separate archive
(experimental, may be removed if better solution is found)
- all DLLs from WinUAE's directory can be moved to directory called
"plugins"
- PostScript detection corrupted PostScript data if start marker was
%!PS<something here> instead of %!PS<linefeed>
- hardfile creation improved. Create-button is only enabled if size
is set, added dostype selection. It is now easy to create regular
non-RDB SFS-hardfiles, simply create SFS-hardfile, point
FileSystem-path to SmartFilesystem-filesystem handler and use
SFSFormat to format it
- postscript settings can be changed on the fly
- serial port direct-setting can be changed on the fly
- fixed incorrect initialization of user-defined drive sounds
- reset GUI's coordinates to top-left of desktop if original location
is not visible on any monitor
- disk image bootable check didn't ignore non-zero sector headers
(for example Second Samurai ipf-image was rejected)
- screenshot-files are now named <name of image in df0>_xxx.bmp
(or xxx.bmp if df0: is empty)
Beta 1:
- generic GUI custom key shortcut support added
- disk swapper GUI panel key shortcuts added:
cursor up/down = move cursor
SHIFT + cursor up/down = move cursor & selected disk image
cursor right = change drive (DF0->DF1->DF2->DF3->DF0)
return = select image
del = remove image
CTRL + 1-4 = change drive (direct)
ALT + number = jump to line 1-10
SHIFT + ALT + number = jump to line 11 - 20
- harddisk key short cuts added
(cursor up/down and shift, enter and delete)
- implemented generic GUI mouse listview drag'n'drop
- disk swapper and harddrives up/down arrow-images removed (looked
quite ugly with Windows XP styles..), replaced with drag'n'drop
- automatically map developer/beta KS ROMs at 0x200000
(if chipram size <= 0x200000 and fast ram is not enabled)
- cycle-exact plus frameskip enabled does not affect internal timing
anymore (but frameskip in ce-mode isn't as fast in older versions)
- speed (refresh rate) adjustment implemented in non-vsync modes.
no gui-support yet but END+SHIFT+numpad -/+ can be used to
increase/decrease speed
- graphics corruption in NakuDemo by Vision-X fixed (demo is OCS-only)
- updated AHI driver, fixes record bug when ahi_minbufflen was set
to any other value than default 2. (Bernd Roesch)
- Stardust (non-AGA) starwars-scroller ce-mode blitter bug fix
- non-JIT fastest possible/CPUvsChipset-option fixed
- remove harddrives when setting quickstart configuration
- entering quickstart for the first time used default host-settings,
not (possible) user-selected host-settings configuration file
- CompaVsCPU-slider was sometimes reset to leftmost position
- experimental non-GUI disk swapper shortcuts added,
END+1-0 (not numeric keypad) = insert image from swapper slot 1-10
END+SHIFT+1-0 = insert image from swapper slot 11-20
END+CTRL+1-4 = select drive
What about preferred drive selection in GUI for all slots?
- regular HDF TD_GETGEOMETRY now returns user-entered HDF parameters
instead of "guessed" values
- filesystem bug fix (0.9.90/0.9.91), files with Windows System or
Hidden -flag set didn't open properly in all cases. (another
Windows feature..)
- filesystem protection flag, comment and Windows illegal character
handling update, UAEFSDB-information is now stored in file's named
stream called "_UAEFSDB.___". (=works 100% transparently, no more
separate UAEFSDB-files) New mode is only used if current directory
has no old __UAEFSDB_-file and filesystem is NTFS.
*** TESTING IS NEEDED! ***
Information about NTFS streams:
http://www.winnetmag.com/Articles/Print.cfm?ArticleID=15900
http://patriot.net/~carvdawg/docs/dark_side.html
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnfiles/html/ntfs5.asp
- "flush print job" button works now properly
- PostScript printer emulation. It is now possible to print
directly from WinUAE to any Windows-supported printer.
(except if program does not use printer.device and it doesn't have
build-in PostScript-support)
1: install Ghostscript (http://www.cs.wisc.edu/~ghost/)
2: tick "PostScript printer emulation" in WinUAE settings
(grayed out checkbox = no Ghostscript gsdll32.dll detected)
3: boot to Workbench and select PostScript printer driver
4: print normally
(thanks to Borg No. One for inspiration and testing)
0.9.91
Beta 3:
- priority level and systray menu translation dll support fixed
- translation DLL load problems fixed
- disable quickstart-mode if using -f or -config= -command
line parameters
- bsdsocket update, fixes ~2 second pause on some systems and
added internet connection off-line check (Stephen Riedelbeck)
Beta 2:
0.9.91 will be released next weekend (or so) because of dangerous
filesystem bug (files can be truncated to zero, originally, for
some reason, I didn't think it was that dangerous problem..)
No new features except possible quick bug fixes to do.
- added right alt = firebutton to keyboard layout B (right ctrl is
kept for compatibility) Many laptops don't have right ctrl nor
numpad.. (was in b1 but changelog entry was missed)
- CPU idle calculation update (based on Bernd Roesch's idea) you may
need to readjust your CPU Idle-setting
- ALT-TAB updates (again..) Direct3D+GUI enabled ALT-TAB seems to
work now (or not)
- Picasso96 screen is properly refreshed when GUI is active (except
in fullscreen mode but I don't know to fix it without overwriting
the GUI window..)
- non-existing paths automatically defaults to WinUAE's directory
- uae-configuration fixes and changes. for example:
"uae-configuration cpu*" lists all config entries that start
with "cpu"
- fixed Picasso96 CTRL-ALT-DEL to login screen and ESC -> black screen
- one more open file filesystem bug fix
- and another blitter non-ce/non-immediate speed fix (it didn't really
do anything since beta 13.. PPHammer and Spindizzy Worlds work again
without flashing)
Beta 1
- directory hardfile: added more commands that flash hd led
- some improvements to JIT crash preventer
- missing translation strings added (priority levels, compatible
and turbo -floppy speeds, yes/no in input autofire and harddrive
emulation read-only status)
- updated Overkill AGA fix (Alien Breed II AGA scrolling)
- filesystem fixes. Read-only files didn't open, some error codes
were wrong and opening file in readwrite-mode truncated it
- BorderBlank-bit is in ECS-Denise and newer chipsets (was AGA-only)
- loading config didn't set correct stereo separation variables
if separation was set but delay wasn't. fixed.
- Latest SFS changelog says "ACTION_ADD_NOTIFY now returns
ERROR_BAD_NUMBER if the notification is neither a NRF_SEND_MESSAGE
nor a NRF_SEND_SIGNAL notification." Filesystem emulation does
the same thing now.
- added uae-configuration Amiga-side program, it is basically very
extended uae-control. It has 3 modes:
1: without parameters it outputs all current configuration settings
2: with single parameter it outputs value of config entry
example: "uae-configuration cpu_type" -> "68040"
3: with two (or more) parameters it can change configuration and
send input events on the fly.
examples: "uae-configuration cachesize 0" (disable JIT) or
"gfx_vsync true gfx_refreshrate 50" (enable vsync and set refresh
rate to 50) "SPC_ENTERGUI 1" (open GUI), "KEY_A 1 KEY_A 0" (press
and release A-key) etc.. Check inputevents.def (in source archive)
for all supported events.
Return codes: 0 = ok, 5 = config name not found, 10 = other error,
20 = not supported (too old UAE)
- automatic rom-scan check improved, no more forced scanning if user
run older WinUAE versions without rom-scan support
Final 0.9.90:
- floppy speed was never initialized to 100% in quickstart-mode
- default.uae ignored paths-panel configurations-path
- in some circumstances regular configuration was saved to
hardware or host configuration directory
- enabling/disabling lores on the fly didn't always reset all
internal variables correctly resulting in weird display
RC1:
- back2roots URL updated (was ancient http://back2roots.emuunlim.com/),
abime.net URL added
- fixed uninitialized variable that may have caused problems in
4-channel sound mode
- possible crash bug in beta13's blitter update fixed
- game-port panel joystick compatibility with older config files fixed
(why is kbd1 = first keyboard layout but joy0 = first joystick?)
Beta 13:
- changed quickstart uae-config's floppy speed to turbo
- MOVEC control register 0x804 was incorrectly marked as 68040-only,
but it really is 68020+. It seems I broke this in some 0.8.22 version
without anyone noticing it.. (fixes AIBB crash in 68020-mode)
- directory filesystem deleted files/directories are now moved to
Windows Recycle Bin (if RB is not disabled)
- release all inputdevices when entering debugger (and acquire them
again after exiting) Fixes keyboard freeze on some Windows 2000
systems
- last entry in Ports-panel mouse/joystick-selectbox was unselectable
- middle mouse button didn't work, stupid typo in b12's input cleanup
- removed "Windows mouse" mousewheel and number of buttons limits, there
are programs that can send for example faked middle button messages
even if real mouse has only 2 buttons etc..
- "Windows mouse" middle button = ALT-TAB fix
- disable quickstart media-check if quickstart-checkbox is not checked
- yet another active/inactive/minimized-fix
- added image+crc tooltip to df0-df3 windowed mode "leds"
btw, for some reason SB_SETTEXT's SBT_POPOUT-mode don't do anything if
non-classic skin in Windows XP is selected. (which means "leds" don't
move "up" or "down") Any ideas?
- left click on status bar df0-df3 = insert disk, right click = eject,
left click on power = gui, right click = reset. Left and right button
doubleclicks are still free if someone needs more functions :)
- blitter non-ce/non-immediate approximate slowdown due to bitplane dma
-code changed
- add support for other german keyboard layouts
Beta 12:
- "Syncronize clock"-feature is back, fixed random turbo clock
- gameport configuration defaults fixed
- added "4 Channel" audio mode (=feed all 4 Amiga channels directly
to DirectSound device without 4->2 software mixing, was earlier only
available with "-dsaudiomix" command line parameter)
- "Crux"-interpolation with stereo separation enabled fixed
(readjustment of stereo separation GUI-settings are needed)
- show message if there is no Kickstart ROM selected and Kickstart
replacement fails to run disk image in df0: (previous versions
simply returned to GUI without saying anything..)
- "Could not load Kickstart ROM"-message readded (not sure why or when
it disappeared..)
- kickstart replacement wasn't enabled if no Kickstart ROM was
selected, but it worked if selected ROM couldn't be loaded.. fixed.
- input device renaming must be of course after sorting, not before..
- Added "Amiga 2000" to Amiga 500 model-title
- mousehack-support changed, mousehack-mode is only enabled when
Amiga-side mousehack-program is running and new special
"Mousehack mouse" is selected. Autoselecting mousehack-mode would
have caused too many unsolvable problems. Without mousehack-program
mousehack-mode works just like "Windows mouse"
- mousehack works in fullscreen mode. (=tablets work in fullscreen)
- quickstart only autosets configuration when "start in quickstart-mode"
-checkbox is checked. "Set Configuration"-button can be used to
set the config when checkbox is not checked.
- dragndrop rom type detection
- cd32-pad emulation improved, should be nearly perfect now,
also default joystick/joypad cd32-button mappings changed
(removed useless "firebutton") (CD32 pad info from schematic at:
http://home.t-online.de/home/malibann/cd32gamepad/cd32gamepad.html)
- cd32 cdrom drive is now always redetected after every reset
- keyboard layout A/B/C compatibility with older versions fixed
(check and resave your configs)
- changed default windowed resolution to 720x568
Beta 11: hopefully only bugs fixes left..
- improved game controller/mouse selection in "Game & IO-ports",
even multimouse is now possible without need to use input-panel
(but don't forget OS limits: 98/ME = two USB mice required,
2000 = no multimouse support, XP = no mouse limits)
- changed naming of input devices with identical names
(first is named "xxx [1]", second "xxx [2]" etc..)
- removed some REALLY obsolete win32-specific filesystem filename
mangling functions. (for example ~ in file names didn't work)
Testing needed!
- Action Replay freeze-key (page up) was unavailable for configuration
even if Action Replay was not enabled, fixed. Again.
- USB keyboard led-support (may not work in all cases yet)
- more ALT-TAB fixes (this is so stupid, for example Direct3D-
fullscreen mode sends minimized information differently than other
regular DirectDraw fullscreen modes..)
- added "Windows Mouse" buttons 4 and 5, detect the real number of
"Windows Mouse" buttons and wheel. NOTE: non-DirectInput maximum
number of supported buttons is 5 (Windows 2000/XP) or 3 (9x/ME)
- added default mapping of mouse buttons 4 and 5 to ALT+CURSOR LEFT
and ALT+CURSOR RIGHT (back and forward)
- it is now possible to dragndrop disk image(s) directly to any drive's
path-string box
Beta 10b:
- "automatic" jump back to fullscreen after ALT-TAB fixed, I think..
- changed TD_GETGEOMETRY slightly, use CHS-values from RDB if RDB
is detected, only "invent" the values if RDB is not detected.
- paths-panel manual path editing fixed
- flash ram manual editing fixed
Beta 10: lots of small things..
- Action Replay 2 and 3 ROM first 4 byte tweak, dumping the ROM under
UAE (pointless?) results now exactly the same dump as on real A500
- debugger tracing commands didn't work in ROM
- added automatic KS patcher that disables A4000T ROM's
"NCR scsi.device" -> A4000T ROM is back and working. (A4000T NCR
scsi.device expects correct scsi hardware -> no hardware -> confused
driver -> infinite loop..) Maybe pointless too but...
- some A500<>A1000<>CDTV<>CD32 on the fly switching bugs fixed
- 68020/68EC020-KS check didn't work correctly if
shapeshifter-patch was enabled, fixed
- fixed possible crash when ALT-TABing from filtered fullscreen mode
- crash when saving new config and no old config file has been selected
- fixed corrupt logical disk format when creating standard 3.5"HD ADF
(this has been broken since the beginning..)
- added TD_GETGEOMETRY (very rarely needed) support to uaehf.device
- optimized stereo separation/mixing algorithm, fixed incorrect config
file entry name ("sound_stereo_mixing" -> "sound_stereo_mixing_delay")
- added missing KS 37.299 ROM in A600-ROM scan check
- don't touch WinUAE version number in registry if it is newer than
current
- Quickstart "Host Configuration"-checkbox didn't remember previously
selected configuration.
- added some example host configurations (800x600 and 640x480
fullscreen and one windowed). I plan to add these and maybe some
other (suggestions?) host-configurations with release version.
(it will be optional component in installer)
- added configuration link selector and probably confusing
ignore-checkbox to config panel (ignore = don't load linked config,
load instead host config from regular config file or from user-forced
file in Host-panel)
- fullscreen mode always used no-taskbarbutton-mode. fixed.
- automatically default to ASPI if uaescsi.device is enabled and
OS is Windows9x or if user has no admin privileges
- don't crash if DirectInput fails to initialize (Why does
DirectInput8Create() fail with "unspecified error" when running
WinUAE under different user using Windows XP "Run as..."-feature?)
- use SetPriorityClass() under 2000/XP instead of SetThreadPriority()
(now Task Manager shows same priority settings as WinUAE GUI)
Beta 9:
- replaced "mixed stereo" with stereo separation adjustment and made
mixed stereo delay buffer size adjustable, original mixed stereo
buffer size was 5. (don't ask about mixed stereo delay buffer, I
have no idea whats the point :) (Idea from xtc)
- quickstart-mode reset button fix
- CDTV Extended 2.7 is back, 2.3 renamed to 2.30
- A4000T KS 3.1 removed (apparantly it is not compatible with UAE)
- improved Kickstart CPU compatibility check
- added misc-checkbox for hiding Windows Taskbar-button
(that was much easier said than done..)
- windowed mode DFx,Power,etc.. "leds" now support non-96DPI modes
- added more hardfile/harddisk error logging (non-blocksize aligned
or out of bounds accesses)
- added mostly useless 1.8M BogoRAM selection (there were A500 2M
expansions but 0.2M was lost "under" custom chip address space)
- included translation DLL for testing (but note that this won't be
the final version)
Beta 8:
- added missing A500+ and A600 ROM scan messages
- model info, ROM scan messages are now translatable
- removed yellow "!" from message-dialogs
- possible fix for ancient "black bar at right border when
centering is enabled and screen width is large enough"-bug
- remove floppies from disabled drives in quickstart-mode
- quickstart disk history was duplicated when selecting new image
and image change caused configuration update.
- "config_hardware_path" and "config_host_path" config entries added
They can be used to link two config files. I am not yet sure how to
add GUI support for saving linked config files..
- replaced RDB filesystem relocator's 68020+ only instructions with
68000-compatible instructions (oops..)
- added model info to Kickstart ROM information
- removed hack/beta KS 3.1 40.70 (0x917100a0, hack/beta) and CDTV
Extended 2.7 (not confirmed), added A4000T KS 3.1 40.70 (0x75932c3a)
(Kickstart info by Rodney Hester)
Beta 7:
- fixed beta 6 quickstart problems
- added A500Plus and A600-entries (A500P with KS 37.175 and A600 with
37.350/37.300) and CDTV (with warning)
Yes, I changed my mind again :)
- added very expanded example configuration to quickstart-page
Beta 6:
- better 68000 exception 3 (address error) return address
calculation (fixes yet another copy protection)
- cycle-exact mode timing fixes (broke in 0826b1.. caused some
(many?) copylock-protected images to fail, also Dynamic Hires images
look much better now but it is not yet perfect.
- removed some unneeded code from ce-mode cpu
- removed compiler.c and compiler.h. No idea when this was last
used (or maybe it was never really used?)
- added volume level value to sound panel
- keyboard led select boxes worked strangely, fixed
- more 68000 DIVU/DIVS undefined flags defined :)
- added more RDB parsing messages to log
- Overkill AGA graphics fix. WARNING: may cause graphics
problem (shifted image) in other AGA games/demos.
Keep your eyes open!
- don't check quickstart disk image bootable-status anymore after
emulator has been started
- new (not yet released) caps library required
- force ROM rescan if WinUAE version info in registry is older
than current version
- bootblock crc check added to quickstart insert-disk check
- german keyboard #-key hack fix (Bernd Roesch)
- disable chipset speed settings if 68000 and cycle-exact enabled
- quickstart and paths icons added (Jani Wilen)
- wider harddrive-dialogs
- added "enable RDB-mode"-button to hardfile dialog
(it only clears sectors, surfaces and reserved-fields)
- dialog should really appear correctly in fullscreen mode
- added CRC32-tooltip to quickstart DF0-select box arrow.
(why? bug reports without enough info to confirm used image..)
Beta 5:
- dragndrop didn't close filehandles (left files that were not
possible to delete or rename until WinUAE was exited)
- save state key shortcuts fixed (broke in beta 2, I think)
- added tooltip support to every control in GUI (this is quite
stupid: All dialog strings with "[]" in them is split to two pieces.
Dialog string is replaced with leftmost piece and tooltip is added
with rightmost piece. Stupid but this does not need any extra resources,
is automatic and it is easy for translators)
- example tooltips added to keyboard A, B and C-checkboxes
- more tooltips to cpu, disk and chipset tab. Help needed, I am not going
to write any more myself..
- configuration tooltip fixed
- replaced tooltips with balloon tooltips
- disk history weirdness fixed (randomly changing disks etc..)
- added message if "Add harddrive" does not detect any drives
- updated NT-based Windows' admin privilege-check
- removed ECS Denise-selection. OCS Agnus + ECS Denise was never used
(probably does not even work on real Amigas)
- update last used config file name when saving config
- more common notifications/error messages can be translated
- added message that appears only once when saving to standard adf and
saved track is not standard AmigaDOS format.
Beta 4:
- return back to GUI if Kickstart ROM is missing and Kickstart
replacement fails (do we even need this anymore?)
- don't add nonexisting files to disk history
- added saveimage delete-button to disk-panel (only visible when there
is saveimage present for selected image)
- added -diskswapper=image1.adf,image2.adf,...-command line parameter
- startup-zlib-dialog-crash fixed
- improved rom scanner, now Kickstart ROMs/keyfile are detected even
if all roms are stored in single zip...
- stupid disk writing bug fixed, causes some crappy disk routines to
save corrupted data, for example SWOS. (was introduced in 0.8.26)
- paraport direct parallel port support improved
(busy signal was inverted, printing works now)
- mapped AmigaDOS H-flag to Windows hidden-flag. This leaves S-flag
but there are no Windows flags left..
- moved "no uaefsdb"-checkbox to harddisk-panel
- added scaling support to all software filters
- testing tooltips in model selection area (texts by G. Chillemi and me)
Good or bad idea?
- added OCS A500 0.5M+0.5M configuration on top of list. Apparantly
OCS A500 is the most common Amiga 500 (except here in Finland or
something)
Beta 3:
- hardware/host-settings should now really work..
- filter presets added
- "clear registry" really removes all new keys now
- changed default joystick to keyboard layout B
- set default sound filter to emulated
- filter presets (saves filter settings plus lores, doubling,
correct aspect and centering settings from display page)
- added avioutput path to paths-page
Beta 2:
- added missing Cloanto KS 1.3 and 3.1 CRCs
- Reset-button was enabled when inserting disk even if
emulator was not yet started
- less ROM-check messages
- disable serial options if no serial port selected
- removed A500+/A600-configs (not much use here)
- removed CDTV config (not much point until CDROM works)
- don't load quickstart-page's config when entering quickstart
page for the first time if quickstart-mode is not enabled
- don't disable Start-button
- clear disk image paths when in quickstart mode (=don't load
floppies from default.uae)
- added second drive, only enabled when RAM size is 1MB or
larger.
- quickstart reset handling improved
- obsolete rom.key-GUI option removed
- hardware/host configurations save/load/delete fixed
- added simple JIT on/off switch (only sets cache to zero
or max and it does not remember old value)
Beta 1:
I have been thinking of bumping version number to 1.0 in next
release. Emulation seems to be good enough, GUI looks ok
and now finally there is long-awaited "quickstart"-mode for
"normal" emulator users.
I really request comments about Quickstart-mode GUI. One or
two drives? Build-in configs are ok? ROM-messages are ok?
It is possible I have gone really too far this time..
- more support for small devices, debugger can be disabled
by editing sysconfig.h
- dialogs don't appear behind the screen in fullscreen modes
- warn only once when saving state with harddisk(s) enabled
- chip ID-register (VPOSR upper byte) never reported ECS Agnus
(broke in 0.8.26)
- TST.x Ax, TST.x (d16,PC), TST.x (d8,PC,Xn), CMP.x #x,(d16,PC)
and CMP.x #x,(d8,PC,Xn) are 68020+ only. There are probably
more to fix.. (some 68000/68010-instructions don't support
all addressing modes)
- SMBFS, FAT95, AmigaNCP map Windows System-flag to AmigaDOS Pure-flag,
so do it also in UAE filesystem emulation, also archive bit was
inverted
- configuration file scanner didn't work correctly if directory
was deeper than 1 level, fixed, also added limit to 3 levels
- added CRC32 ROM-detection (only common official ROMs supported)
- show selected ROM's name instead of filename in ROM-page if
selected ROM is in CRC32-list
- all detected ROMs are added to ROM-filename selectbox
- statefile ROM CRC32 is used to select correct ROM when loading state
- ROM path is scanned when starting WinUAE for the first time,
ROM path is changed or Rescan ROMs-button is clicked
- added Paths-page
- added QuickStart-page (for users that only want to run floppy based
programs without need to know anything about configuration)
- rom.key-path is basically obsolete now, WinUAE automatically tries
all possible locations for rom.key. (current dir, rom-path etc..)
Any reasons for not removing the rom.key-path from GUI?
- switching from A1000/CD32/CDTV mode to normal-mode and back works
now correctly
- changed default configuration to regular Amiga 500-config, also
some other default config tweaks
- in quickstart-page inserted disk image's bootblock is checked
- no bootblock/wrong checksum = don't accept image
- OFS bootblock -> continue
- FFS/FFS+INT bootblock -> autoselect KS2.04 config (if previous
config was < KS 2.04)
- FFS+DIRCACHE bootblock -> autoselect KS3.0 config (if previous
config was < KS 3.0)
- "Clear registry"-button in paths-page can be used to remove
all new WinUAE registry entries, for easier beta testing
- added hardware/host-specific configurations, autoload checkbox =
automatically load selected hardware/host-only config after "regular"
config
TODO:
- new icons
btw, is there are any problems using names like "Amiga" or "Kickstart"?
0.8.27
Beta 4: (final?)
- AVIOutput tweaks (enable-button is disabled until codec(s)
are selected, don't clear selected codec(s) after recording
is stopped, no more clicks in recorded sound while alt-tabbing
and more)
- COPJMP-delay was 2 cycles too short, fixes 2000AD-intro
(properly this time!) and Total Triple Trouble-intro's missing
characters (sprites)
- debugger: added illegal access logger (any memory access to
non-existing memory or "non-official" custom chip/cia address is
logged) enable with "wd"-command, delete addresses with "wd x y"
where x = start address y = length of range.
- A1000 boot rom works again (b1)
- some centering tweaks
Beta 3:
- don't exit if using 68020+ Kickstart ROM without 68020 CPU
- fixed rare null filter crash
- full collision setting fixed. Game called "Rotor" does
require working CLXDAT collision bit 0 (="full collision")
This is the first known program that needs full collision!
- 68000 CLR.L/NEG.L/NEGL.X/NOT.L data access order finally fixed
(read first word, read second word, write second word, write
first word) This is important because there are some demos
that do CLR.L $DFF088..
- contents of zipped files in disk history-list had extra space
in the beginning of filename. fixed. (b1)
Beta 2:
- added correct return value in 68000+more compatible/ce-mode when
accessing CIA-address space without selecting any CIA (both
CIA selection address bits 12 and 13 set) rtclock, buggy
A1000 "Insider"-memory expansion's real-time clock setting
utility program works now without crashing.
- state saves were saved in random point instead of at the
beginning of vblank. (broke somewhere during 0.8.22 or so)
- debugger 'am'-command fixed
- removed disk swapper auto disk insert when loading config.
It wasn't too good idea. (disk in swapper position 1, eject disk,
save config and load config -> disk is back in df0..)
- vertical/horizontal centering fixed! (or at least it is much
improved) Does not fix bar in right side of screen if using too
large resolution
- MIDI does not require selected serial port anymore
- "exter_int_helper: unknown native action" is confirmed fixed
(bug has been there since native2amiga.c was originally created..)
- re-added SPCFLAG_DOINT, JIT seems to have too weird timing to
work without it in some cases.. Non-JIT modes still use new and
more compatible method.
- fixed crash in CDTV-mode (broke in 0826B1)
- D3D and OpenGL mode fullscreen ALT-TAB fixed
- harddisk "bad blocksize" error (broke in b1)
- typing to disk image text boxes was ignored, fixed
- bug in kickstart loader fixed (b1, 256K ROMs only)
Beta 1:
- loading empty config/directory crashes (broke in beta 4)
- ports-page's joystick/mouse radiobuttons were not initialized
- added some source configuration options for low memory devices
- config file scanner ignored extension of files and scanned
ALL files in configurations-directory, even binary files..
- GUI works with non-96 DPI font settings (arg, only bug was
different font in "panel"-dialog than "page"-dialogs..)
- removed "Highest" priority setting. It was mostly useless and
slightly dangerous too.
- added check for too small hardfiles (zero or smaller than block
size), also block size set to zero is not anymore allowed.
(no more "tried to seek out of bounds! (FFFFFFFFFFFFC000 >= 0)"
error message)
- JIT got confused and crashed if CPU setting was modified or
JIT-enabled state file was loaded
- OpenGL fullscreen mode now uses DirectDraw to change screen's
resolution instead of ChangeDisplayMode(). ALT-TAB works now
properly.
- added missing semaphore-protection to native2amiga.c
(fixes random "exter_int_helper: unknown native action xxx"
errors and freezes when using for example uaescsi.device
and hardfile(s) at the same time) NOT CONFIRMED YET
- interrupt delay in JIT mode reintroduced with much smaller
and safe delay. (AB 3D II works again)
- new rtg.library, 20-30 times faster pixel read function in
32-bit Picasso96 modes. Used in alphablending. (Bernd Roesch)
- fixed forever repeating "...because desktop is too small for
the specified window size.."
- only add images inside zip to history if there are more than
one image
- saving config: add ".uae"-extension to config file name if
missing
- buffer overflow in drive click code fixed
0826
Beta 6:
- enter disk swapper for the first time, press up, first image
disappears, fixed.
- ancient MIDI-IN freeze bug finally fixed
- module ripper's dialog boxes appeared "behind" WinUAE's screen
in fullscreen modes
- disk image history list: move selected item to top of list
- move ripper to output-page (path etc.. improvements won't be
implemented until 0.8.26 has been released)
- entering and exiting gui didn't restore 8-bit Picasso96-palette
if opening GUI didn't force drop to desktop
- use GUI's real size (Windows XP styles can make it bigger than
default) instead of hardcoded 640x480 when determining if GUI
fits to current fullscreen mode
- more FDI2 updates
- added workaround to "turbo speed"-problem in non-ce modes
(for example Battle Squadron cracktro by Freestyle)
- END+Fx-disk change shortcuts didn't add image to history list,
fixed
- disabled interrupt delays in JIT-mode. That was not too good
idea.. (crashed some programs)
- configuration "save as"-button used wrong path, fixed
Beta 5:
- "... Switching to full-screen display."-messages didn't work
and crashed the emulator.. (oops)
- don't show paths in disk swapper-page
- disk swapper crash fixed (stupid bug, missing "break;" oops*2)
- loading config file copies inserted disk images in disk drives
to disk swapper and also fills empty drives from disk swapper
automatically.
- reload configuration file list after loading new config and
emulation has already been started
- don't restart immediately if loading new config and show gui
is not ticked and emulation has already been started
- fixed debugger memwatch point command's parsing of 'rw'
- cycle exact blitter/cpu-timing was broken since beta 1..
(Robotics Life and others again..) I tried to store 0x100 to
8-bit buffer.. (and oops^2)
- Pro Wizard module ripper included! (http://asle.free.fr/prowiz/)
Supports over 50 packed tracker formats, automatically converts
them back to standard Protracker format.
- enabling warp-mode (END+PAUSE) does not freeze the emulator in
JIT-modes anymore
- moved multirevolution (= copy protections that use weak bits)
code from common disk emulation to disk image-specific code
- improved FDI2 decoding (Vincent Joguin)
Beta 4:
- made debugger t and z -commands log all exceptions
- state save/restore added to input-tab
- dropped configuration file separation. maybe in next release,
will need much more design time..
- FPU emulation bug fix. Fxxx.B #yy,FPz-style commands used wrong
address (high byte instead of low byte) to fetch immediate value.
It seems this has always been broken..
- configuration load/save page now remembers last selected config
file
- m68k shift instructions timing improved in cycle-exact mode
Beta 3:
NOTE: ignore the "Type"-select box in configuration page. It will
change in next beta. Comments are not accepted :)
- caps bitcell timed track + saveimage crash fixed
- made GUI slightly smaller and improved child-dialog positioning
- updates systray icon if explorer restarts
- dropping config file to gui or window restarts emulation immediately
if "Show GUI on startup"-checkbox in new config file is unchecked
- undocumented filesys_no_uaefsdb-config option added to GUI
(prevents creation of new UAEFSDB-files which means all comments,
protection flags not supported by host filesystem are lost, also it
prevents creation of file names with "illegal" characters inside
of emulation)
- "Knin Peaks" disk emulation fix broke software that set DSKLEN = 0
(usually used by some copy protections) Fixed.
- store windowed GUI position in registry. GUI in fullscreen is
always centered.
- JSR-instruction's prefetch fixed (protection code in original
Datastorm)
- Windows XP styles supported
- 68000 exception processing stack pushes are now executed in
exactly the same order as real 68000 does them (ce-mode only)
- D-channel only blit with ALWM or AFWM != 0xffff fixed
(ce-mode only, Elfmania loading screen)
- caches configuration file list, reload only when saving
or deleting.
- refresh rates in parenthesis don't anymore get reset to default
(parenthesis = display driver does not support selected rate
but it still may be available if some tweaking program is in use)
- added supported refresh rates to winuaebootlog.txt
- debugger breakpoints and memwatch points work now even if address
register's high 8 bits contain crap and UAE is emulating 24-bit
address space (copy protections..)
- implemented more correct interrupt delays and removed now obsolete
SPCFLAG_DOINT, also (temporarily?) added experimental 68020+
interrupt "fix" which may not be safe..
- POTGO fix (even "simple" io-port handling is complex in Amiga..)
fixes for example The Band's Human Killing Machine trainer
- audio emulation tweaks. noise in Warhead and Hammerfist, 100 most
remembered C64 tunes freeze and most importantly, without breaking
Mission Elevator :)
- compressed state file Action Replay bug fix (but AR statefile
support isn't too stable)
- added missing address error exception check in exception handler
(and another copy protection works..)
Beta 2:
- full drag'n'drop support, config files/disk images/state files/roms
supported.
- entering gui from smaller than 640x480 fullscreen mode fixed
Beta 1:
- GUI update! I am expecting lots of suggestions..
- Configuration Load/Save-page updated, directory support addded
- replaced floppy text box with select box, works as a combined disk
image text box and history list (30 last used images, also
automatically lists images inside zips) History list is stored in
registry.
- added Disks-page for quick disk swapping (work in progress)
- systray icon and menu
- new icons (Jani Wilen)
- scsi logging improved and moved to non-host specific code
- AmiTradeCenter (ftp-client) bsdsocket emulation compatibility fix (SR)
- gethostname() CTRL-C-signal fix (SR)
- added debugger audio channel enable/disable command
(am <channel mask>)
- Final (...) sprite-bitplane collision fix (Aunt Arctic Adventure)
- IRQ level 7 didn't wake CPU up from possible STOP-state
- END+PAUSE warp-mode sets frameskip temporarily to 10 (2-8x speedup)
except in cycle-exact mode (ce-mode's timing needs zero frameskip)
- added Quit emulator -option to input source list
- MODE SENSE/SELECT 6<>10 translation bug fix, 4 last data bytes were
replaced with random data (usually zeros) Was not noticed because
most programs use larger buffer than required.
- cause bus error exception (and logs current CPU state) if program
jumps to non-existing memory and CPU is 68020+. ("Your Amiga program
just did something terribly stupid")
- added exception handler that tries to trap instruction opcode
accesses. You see small dialog box explaining the situation. it
will be removed in release version. This usually happens when memory
gets corrupted and program flow "falls" off the end of memory bank.
These two fixes should prevent most 68020 and/or JIT WinUAE crashes
without any perfomance loss.
- CE-mode 68000 instruction tweaks here and there
(I found out that you can use special blitter mode to "log" data bus..
More fixes later)
- JIT is confirmed compatible with Windows XP SP2's data execution
prevention (missed three smaller buffers in previous DEP fix)
- crash automatically creates minidump file to WinUAE's directory
(winuae_yyyymmdd_hhmmss.dmp) Minidumps helps debugging the crash.
Zip and send the file if I request it.
- RTS/RTD/RTE return address exception 3 fix
- Picasso96 WaitForVSync fixed, demo "Fake Electronic Lightshow" by
Ephidrena is now usable in RTG-mode.
Windowed mode = Virtual vsync. Uses frame rate from gui, default = 60
Fullscreen = Virtual vsync. Uses fullscreen mode's refresh rate.
Fullscreen + Vsync = real vsync.
btw, before someone asks after checking the sources: update is
"hidden" in filesys.asm..
- zipped statefiles and zipped dms files work again
- ancient 8-bit Picasso96-mode palette problem solved
- don't crash if emulated harddisk is removed while emulation is
running
- disk emulation fix (Knin Peaks by Reality)
- cycle-exact single channel blit speed fix (very undocumented
feature..)
fixes slowdown in demos Revival and How 2 Skin a Cat.
0.8.25:
- even more improved AVIOutput. Added enable/disable button, entering GUI
does not stop the recording anymore. Picasso96 modes supported.
(config file support will be added in future version)
- cycle exact blitter B-channel handling fix (Arte)
- drivesound: don't play "snatch"-sound if drive is empty
- "2000AD"-fix removed, it isn't really right either, later...
Beta 3: (final?)
- added uaescsi.device logging, enable it with -scsilog command line parameter
- Windows XP multimouse really works now
- added uaescsi.device ATAPI INQUIRY and MODE SENSE/SELECT 6<>10 translation code,
fixes IDE CDROM compatibility problems with PlayCD and probably others too.
(thanks to Oliver Kastl) TEST THIS!
- added frame limit -checkbox to avioutput page. checked = disable frame limit
and don't output sound, unchecked = frame limit enabled and sound output enabled.
(maybe somebody wants to record and play the game at the same time..)
Beta 2:
- drive sound sample rate conversion code was total crap..
- calcdiw() vpos >= minfirstline-check re-commented, correct place is in decide_line()
(corrupted some regular Workbench native screen modes)
- display/resolution enumeration code updates
- desktop size check corrected
- increased supported input devices from 4 to 6
- some small directinput cleanups
- bsdsocket emulation update. CNet's SMTPd works now. (Stephan Riedelbeck)
- don't use bitcell timing buffer when writing to disk..
- avioutput is now much faster (on some display cards it was already fast but
on others it was very slow, about max 5fps..)
Display data is fetched directly from UAE's internal buffer instead of using
slow reading from display RAM if any display filter is enabled (except D3D or OGL)
Also display size and depth config options were removed, now you get exactly
the same display as you see. (I didn't want to add complex display depth
conversion code when you can easily do the same by changing WinUAE's display
settings..)
Beta 1:
- "Windows mouse" doubleclicking fixed
- drive sound volume was not saved to config file
- right border is not clipped anymore even if program uses max overscan. Finally..
(Settlers, Pinball Illusions etc..) NOTE: screen position has changed a little.
- filter display buffer width increased to 736, old 708 was too small for max overscan.
(noted here because it can also affect screen position slightly in filter-modes)
- fixed display corruption in programs that update DDFSTRT just when display
starts. Fixes Mystic Tunes by Vertical, Bierkrug-tro by TEK, Forgotten Realms
Slideshow '90 by Fraxion and probably much more..)
- "more compatible" now enables very basic prefetch emulation in non-JIT
68010-68040 CPU models. (very rarely needed, I currently know only 2 programs)
- multimonitor code didn't ignore disabled displays, caused DX errors when
WinUAE started.
- input code didn't check max number of detected devices, having more than 4
mice, joysticks or keyboards in input tab crashed WinUAE.
- don't start bitplane dma until vpos >= minfirstline (comparison was commented
out for some reason) Fixes old demo Back in bizness by 2000AD
- RTG-RAM start address was not saved to statefile, restoring it caused RTG
RAM being mapped over chip RAM.. (not really problem because full Picasso96
state is not supported yet)
0.8.24
Beta 3:
- drive sound was mixing (empty) sounds even if all drive sounds were disabled
- added "Windows mouse" to input-tab. It has exactly the same "feeling" as WinUAE's
mouse before directinput-input code was implemented.
- fixed stupid debugger bug, remove breakpoint-command didn't check if breakpoint was already removed..
- "saveimages" were limited to "parent"-image's max number of tracks (for example writing
to track 80 was ignored if parent image was standard 80 track (0-79) adf)
- lores-checkbox is back, it wasn't as useless as I originally thought..
- debugger 't'-command can now be used to step more than 1 instruction (t <number>)
- cycle-exact BLITPRI timing fix (Robotics Life, probably others too..)
- improved 68k MUL and DIV -instruction timing in ce-mode
- improved FDI 2.0 support
Beta 2:
- more debugger updates, search-command s <"string">/<hexvalues> [<addr]> [<length>]
bl lists all stored "state recorder" states
- F12 now works even if all keyboard(s) are disabled in input-tab..
- added volume-slider to sound-tab, added volume up/down/mute shortcuts
(end+numpad minus, end+numpad plus and mute = end+numpad star, also mapped to "multimedia" keys)
- hide single raw mouse, having two identical mice is too confusing I think.
- moved some hardcoded GUI-strings to resource
- power/led/etc led initialization fixed (editing the GUI before starting the emulation didn't
update all necessary variables, editing on the fly worked fine)
- display frequency-setting affects now Picasso96-modes (no more default refresh rate)
- drive sound emulation :) (James Bagg, me)
You can also use external samples if you put files called drive_click_xxx.wav,
drive_spin_xxx.wav, drive_startup_xxx.wav and drive_snatch_xxx.wav (xxx = whatever you want,
"click" is the only mandatory sample) to directory called <winuae path>\uae_data\ (better suggestions?)
- fullscreen multimonitor support
- better multimonitor compatibility (use correct display limits instead of primary display
limits when positioning WinUAE's main window, non-primary screen overlay mode works etc..)
- "state recorder" is now mostly working. It takes automatic state saves every x seconds to its internal
buffer (size is also configurable). "Rewind"-key can be configured in input-tab or also END+numpad /
can be used. (This feature may not be in next official release)
Beta 1:
- don't ignore frame skip setting when capturing AVI
- implemented "memory state recorder" (don't ask about it yet..)
- bsdsocket updates from Stephan Riedelbeck
fixes TCP device TCP:<port>, Apache and maybe other programs too.
- Windows XP multi-mouse support and DirectInput mouse-handling updates
Windows XP-only: Input-tab now lists regular DirectInput-mouse and
one or more "raw" mouse.
Windows 9x/ME: only USB-mice can be handled separately, PS/2 mouse is always
only connected to "supermouse" (DirectInput system default mouse that combines all
separate mouse events, marked with '*' in input-tab)
-> two USB mice are required for two mouse games under 9x/ME
and finally, Windows 2000 does not have any support for multiple mice,
all you get is single "supermouse".
Big note: currently you need to disable default-mouse first if you want any
events from non-default mouse.
- fixed JIT default settings without loading any configuration
(log was filling with JIT error messages..)
- cleaned up Kickstart ROM loader part of memory.c
- saving compressed state file without zlib1.dll didn't correctly fall back to non-compressed mode
(created corrupted statefiles with completely empty memory chunks..)
- crash after 4th or 5th state save finally fixed (very embarrassing mistake..)
- fixed crash when Picasso96 was enabled and graphics filter GUI was accessed
- FDI 2.0 support (not complete yet)
- lots of debugger improvements (much more useful now..)
- f-command extended:
f without parameters = break when PC not in ROM and current instruction is not
0x4ef9 (don't break when executing library jump tables) Great for finding start
address of bootblock.
f i = break when PC points to RTS/RTR/RTE-instruction
f i <opcode> = break when PC points to instruction opcode <opcode>
f <addr> = add/remove new breakpoint (max 8)
fd = remove all breakpoints
f <addr1> <addr2> = break when <addr1> <= PC <= <addr2>
- W-command's value-parameter can be decimal 12345 or hexadecimal (0x12345 or $12345)
write size is byte if val < 256, word if 255 > val < 65536 and long if val > 65535.
(previous version's write size was always long and was limited to chip ram)
- memwatch break points added, w <0-3> <address> <length> <r/w/rw> [<value>]
break when address space between address and address + length is accessed and
if accessed value = <value> R = break only on reads, W = writes, RW = both
- i-command: interrups and traps combined, VBR supported
- custom register dump -command added (e), dumps the contents of all existing registers
between 0xdff000-0xdf1ff.
- CIA dump-output slightly modified, added TOD stopped status-flag
- exiting debugger automatically creates "memory state" and b-command can be used
to "rewind" (again, don't ask and don't try yet..)
0823
- small AUDxDAT fix (The Pawn's music was broken again..)
Beta 4:
- sprite emulation fix, broke in b1 (Hybris bullets/score)
- JIT cache is now allocated with PAGE_EXECUTE-flag (=JIT compiled code is allowed to run)
Future Windows versions may not enable PAGE_EXECUTE by default due to security reasons.
- merged first source patch from Richard Drummond (http://www.rcdrummond.net/uae/)
- "figure_pixel_formats" possible infinite loop fixed
- zip/gzip support requires now new zlib1.dll instead of old zlib.dll
- forced blitter finish when saving state didn't work correctly in ce-mode (yeah, again..)
(could cause infinite loop and freeze when saving)
Beta 3:
- non-ce blitter speed was wrong (broke in b1)
- MAPROM-emulation checkbox fixed and moved to ROM-tab
- problems with keyboard leds and priorities fixed
- slightly changed filter GUI (support for future 3x/4x filters)
- increased the range of filter size/position adjustments
- fixed bug that causes randomly lost characters received from serial port
- delay simultaneous disk inserts
- more commands (pause, turbo, irq7 etc..) added to input-tab
- scale is halved when in D3D/OGL-mode and resolution is smaller than 450*350
- clock sync option removed from GUI (causes too many problems)
- screenshot system freeze fixed (Windows9x/ME only)
Beta 2:
- don't complain about AGA requiring 16 bit if selected screen mode is 8-bit Picasso96-mode
- blitter emulation updates for very buggy programs that starts blitter before updating
BLTCON0 and BLTCON1.. (old Psygnosis games) Was partially broken in R9. This fix was already
included in B1 but I forgot to add changelog entry.
- fixed bug in blitter update that broke textured line mode
- uaescsi.device unit numbers always start from 0 (0 = first CDROM, 1 = possible second
and finally other SCSI devices if available) Unit 0 is reserved for CDROM, first available
unit number will be 1 if PC has no CDROM(s) but other supported SCSI devices.
This makes CD filesystem installation more user friendlier.
- AHI emulation improvements (Bernd Roesch)
- state saving happens immediately after selecting state file name (woohoo..)
- complain if HD emulation is enabled when saving state
- added some unused keycodes to input-tab
- forced blitter finish when saving state didn't work correctly in ce-mode
resulting in slightly corrupted state files.
- fixed very stupid mistake in CIA parallel port read routine, fixes parallel port
joystick adapter, was broken in r8b4.
- Picasso96 faster solid window moving (Bernd Roesch)
- bcc.b was 2 cycles too fast in ce-mode (probably does not fix anything..)
- SPTI-CDROM didn't use shared mode, fixes media change detection problems
- added MAPROM-like feature (jumper on Blizzard's accelerator cards that map Kickstart
ROM space to RAM) Enable-checkbox in misc-tab, uaelib function 80 returns mapped memory area.
(0 = no support, 0xffffffff = not enabled, other = mapped RAM address, currently hardcoded
to 0xe00000) Thanks to BlizKick's author for adding support
Beta 1:
- cpu usage meter implemented, results may be surprising...
(note that in "fastest possible" it always shows 100%+ except when
idle-mode is enabled and cpu is executing STOP-instruction)
- more undocumented features found, switching bitplane DMA on during DDF can have
(at least) 3 different results:
1: OCS only: nothing happens, bitplane fetches don't restart until next line
(only this condition was emulated in older versions)
2: ECS/AGA: fetches start normally if DMA was disabled outside of DDF or during
current line (Sixth Sense Investigation's buggy copper list requires this..)
3: ECS/AGA: display processing goes to "DDFSTOP passed"-condition immediately
if DMA was disabled inside of DDF during any previous line
- add missing ".avi" automatically to avioutput filename
- overlay state was not reset when changing display modes, caused
"The selected screen mode can't be <blahblah>"-message and forced
unnecessary fullscreen mode.
- Page Up-key is available for user configuration if Action Replay is not enabled
- AWeb/IBrowse bsdsocket.library possible connection freeze/slowdown fix
(Stephan Riedelbeck)
- switching from 68000 to 68020+ JIT-mode works and also fixed crash if switching
from 68000+CE-mode to JIT-mode
- added hack that syncs CIA-TOD to host system's time. No need to run restoretime
hack anymore. Checkbox in misc-tab. (hack = may cause compatibility problems)
- misc-tab split. Priority options moved to "Priority"-tab, added separate priority
setting for active, inactive and minimized WinUAE.
- don't zero LOF-bit when executing customreset(), fixes original Shinobi
- bsdsocket SBTC_SIGIOMASK support, fixes Jabberwocky. Thread priority updates.
(Stephan Riedelbeck)
- enforcer-style debugging improved (Bernd Roesch, Sebastian Bauer)
- restoring state didn't update floppy drive type correctly, fixed
- sometimes Amiga left mouse button got stuck when WinUAE lost focus, fixed
R9:
Beta 4:
- fullscreen height was incorrectly initialized when loading "old" config files
- avioutput width and height are correctly initialized
- null filter centering fixed (null is 1x, not 2x..)
- moving GUI over fullscreen software filter mode didn't refresh screen
- it is now possible to disable creation of UAEFSDB-files by adding
unofficial config entry "filesys_no_fsdb=true" to config file
- automatic AVIOutput AVI split before file size goes over 2G
- GUI disappearing "behind" the screen in fullscreen mode fixed
- fixed "bug" (removed one consistency check..) in unzip code, some zip files
didn't uncompress. Either unzip code I use is buggy or zip file is slightly
broken (but winzip nor winrar didn't complain)
- AVIOutput sound and video sync problems fixed
- don't stop AVIOuput recording when entering END+Fx-disk change dialog
- "AGA 16-bit"-message box was incorrectly shown in windowed mode
- "saveimage"-floppy write support was again broken.. (it was possible to make
zipped files write-enabled but writing to "saveimage" was still ignored..)
Beta 3:
- software filters fixed in windowed non-overlay mode
Only Scale2X and Null support 32-bit, filter defaults to null if unsupported
filter is selected. (wrong filter is better than black screen..)
- crash with sound disabled fixed
- another bsdsocket connection fix
- separated width and height for fullscreen and windowed modes
- hide lores-checkbox, lores is now automatically enabled if doubling is disabled
(But maybe there was/is reason for separate horizontal and vertical doubling?)
- removed lots of compilation warnings
- replaced IOCTL_GET_GEOMETRY with more compatible IOCTL_CDROM_GET_GEOMETRY,
properly fixes Windows 2000 CD32 CD detection.
- disable "Add Harddrive"-button if Windows is not NT-based
Beta 2:
- immediate blitter works again
- return 0xffffffff again when CPU >= 68020 and reading non-existing memory
- uncompressed RAM dump added to state save dialog
- loading config that mounts floppy drive don't anymore cause
"no disk in drive A:"-dialog
- bsdsocket.library updates (Stephan Riedelbeck)
- accept(socket, 0, 0) works, fixes IRCD
- gethostbyname (Windows 9x only) could freeze for couple of seconds
- reset socket error after gethostbyname, fixes AmyGate
- connection failures on some systems
- scale2x, supereagle, 2xsai and super2xsai 2x filters integrated
(all except scale2x borrowed from ScummVM project)
filter configuration changed again, null filter added (=filter that
does nothing but allows vertical and horizontal position adjustment)
Currently only supports 16-bit modes (automatically forces 16-bit)
- added message and force 16-bit if 8-bit and AGA is enabled
- SPTI CDROM eject/insert media detection fix
- it seems IOCTL_DISK_GET_DRIVE_GEOMETRY is only supported on Windows XP,
added workaround that fixes CD32 emulation in non-ASPI mode on Windows 2000
Beta 1:
- fixed (I hope) compiler optimization bug, at least ROXL.W didn't set N-flag correctly
maybe other rarely used instructions also had problems
(broke CAPS Rick Dangerous 2 protection code)
- NTSC-mode vsync sound fixed
- don't crash in CD32 mode if both ASPI and SPTI are not available
- added CAPS-support (and CE-support) to mini-version due to popular request.
I hope this does not cause any unnecessary slowdown. Executable is now
2x bigger because of included "more compatible" and "ce"-cpu emulators.
- implemented 100% (I think..) exact blitter block-mode cycle diagram in ce-mode
(minus possible bugs..) All tested "100+ bob" -routines work now without flashing.
line mode cycle diagram is still not completely known.
- small ASPI CDROM media detection code change (may or may not help..)
- simplify audio emulation if 68020 or better selected. New code is "too" correct
and causes timing problems if custom register/chip ram access is really too fast
(fixes TBL's Tint-demo's music)
- sound calibration-button (may not be in final release)
- ticking/unticking 68000 "more compatible" checkbox on the fly now reconfigures the cpu
emulator correctly, emulated program should not crash anymore.
- replaced "run at higher priority" with priority selection select box
- don't write obsolete config entries from old config file when saving
- D3D AVI capture works again (D3D AVI support code was mysteriously disappeared..)
- more audio changes again, old "Mission Elevator"-fix still wasn't correct enough
(broke some music players) Audio state machine transitions from 1 to 5 seem to have
unexplained delay(s). I think ME is the only game that requires this (and only because
of stupid bug in ME's sound effect code..)
- SPTI CDROM media detection fixed (never noticed it because enabling debug-logging
"fixed" the bug..)
- SPTI/ASPI CDROM possible crash fixed (both CD ROM fixes needed before I managed
to install OS 3.9 without problems)
- R8
Beta 6:
- blitter always used exclusive fill mode, caused single pixel gap between
filled polygons if program used inclusive mode (for example The Pink Circle by Arcane)
I broke it accidentally some releases ago, I think...
- optimized Picasso96 blitter emulation (Bernd Roesch)
- always compress "quick" state files
- startup config file description scan crash fixed (needed more than 100 or so config files..)
- size of display resolution table was too small
- mapped "AppMenu"-key to right Amiga key
Beta 5:
- display width is now forced divisible by 8 when adjusting width on the fly
- miniwinuae and regular winuae display mode list is now sorted identically
- cpu speed calculation overflowed if cpu frequency was >~2.8GHz (latest P4 CPUs)
caused huge slowdown
- JIT CPU nop's removed
- clear execbase when reseting if memory size (any memory) was adjusted
- don't mount non-existing virtual directories (prevents red screen reset loop)
- updated AHI support (Bernd Roesch)
- F6-state shortcut removed, replaced with END + <numeric keypad number> (restore)
and CTRL or SHIFT + END + <numeric keypad number> (save)
zero or period = currently selected statefile (includes period because my keyboard
ignores simultaneous CTRL/SHIFT + END + 0..)
1 - 9 = currently selected statefile + "_" + <number> added to end of file but
before extension.
- force full screen update after loading state file
- disable beta 4's "Fighting Soccer fix" if CPU >= 68020. I think there are too
many bad sound routines that fail with "too" fast CPU or custom chipset access speed.
- fixed (I hope..) rare filesys crash when rebooting (introduced in beta 2)
Beta 4:
- wav-output created slightly incorrect wave files and frequency was not updated correctly
- GUI CPU JIT-page update, enable JIT checkboxes only if "Force Settings"-checkbox is ticked
- AR2/3 ROM bank size fixed
- CD32 audio CD play/stop/pause commands changed slightly, may fix some ASPI problems
- Picasso96 windowed<>fullscreen switch and reseting while in Picasso96 mode fixed
(broken in beta 2)
- audio emulation fix, AUDxLEN is copied to backup register when DMA is enabled but
AUDxPT when first DMA fetch happens. (fixes "Fighting Soccer" referee speech)
- D3D/OpenGL automatic doubling if selected resolution is "too large"
- free old harddrives before loading new config
- CIA-A TOD rate was about 11% too fast (broke in R7B1)
Beta 3:
- joystick keyboard layout B and C 2nd firebutton mapping
(Right and left shift) was wrong and caused crashes.
- CD32 media change detection works properly (again..)
- bsdsocket.library emulation works again (stupid merge error by me..)
- prevent badly crashing programs setting very crazy vblank frequencies
- pause CD32 cd audio when GUI is active
- decreased the rate of HD-led flickering because there are keyboards that
are really slow in changing led state
- fixed 57600 to 56000 serial bitrate rounding
Beta 2:
- fixed extended ADF HD floppy support
- DirectX version check fixed, only D3D support requires DX9
- selected 3D-mode was not saved correctly to config file, fixed
- About-tab is back.. (broken in B1)
- call fixup_prefs_dimensions() after loading config
- POTGO/POTGOR emulation improved, more compatible CD32 pad emulation
- Picasso96 display mode id strings fixed (broken in B1)
- SCSI emulation was accidentally disabled in B1
- added Direct3D screenshot support
- removed Output-tab from mini-version
- compiler updated to Visual Studio Net 2003
- "intelligent" CD detection in CD32 mode
- lores, correct aspect and linedoubling can be changed on the fly
- added wav-sound output support to Output-tab (select "*.wav" from "Save As Type:"-select box)
- virtual directory harddisk mapped to read-only directory (for example network share)
is forced read-only
- it is (finally?) possible to return back to GUI and/or load new configuration.
"Load" and "Load from"-buttons are now always enabled, new "Exit"-button can be
used to return back to GUI (with old configuration intact)
WARNING: expect bugs and memory leaks..
- bsdsocket.library emulation updates (Stephan Riedelbeck)
- changed mini-version's default config to basic A500
Beta 1:
- source tree is now more configurable. sysconfig.h contains defines that can be used
to enable or disable emulation features like JIT, AGA, autoconfig, harddisks, drop
all CPU features except 68000 etc..
I hope this helps porting (Win)UAE to slower devices like some PDAs etc..
- win32_displaymode and PicassoResolution -structures merged
- DirectDraw fullscreen mode flags fix (Sane)
- added workaround for buggy sound drivers (ISA SB16, maybe others) that return zero as
minimum and maximum allowed sample rate...
- fast copper was always disabled. oops..
- another "last_custom_value" tweak, fixes Sonic - Irrepressible intro in ECS-mode
- non-DMA audio mode properly emulated, fixes Mortville Manor's and Maupiti Island's speech
- ext2-adfs' write-protection check fixed
- Direct3D filtering and scaling implemented. Should be faster because D3D allows
direct rendering to texture's memory space. Note, DX9 required due to stupid MS
decision: opening child windows (F12-GUI etc..) while in D3D fullscreen mode is not
supported by DX8 API (Window simply disappears "behind" the screen..)
Unfortunately I get weird smearing effect when moving the GUI window (display driver bug?)
- display resolution and depth can be changed on the fly
- D3D/OpenGL mode image adjustments changed, size sliders at 0/0 = 1:1 display ratio
- joypad problems fixed, bug affected some pads that have "point-of-view hat"-style
direction controller
- fixed rare filesystem crash when copying files to directory in virtual harddisk's root
- END+F6 = load from last selected state file, SHIFT+END+F6 = save to last selected state file
- game Barney and Freddy Mouse by Kingsoft needs CLXDAT bit 15 set ("not used" says HRM but
always set on my A500 and A1200)
- exiting GUI with Cancel or ESC cancels state save/restore request
- Freespace demo JIT FPU bug fix (Bernd Roesch)
- FPU rounding bug fix (Bernd Roesch)
- fast copper state saved to config file (I don't see any other way to fix graphics bugs on
some games that fast copper causes)
- CD32 joypad emulation works again (oops, has been broken quite a long time..),
default CD32 keyboard joypad mapping fixed, default joypad config added
R7 (30.05.2003)
Beta 5:
- zipped ipf-image support (new CAPS plugin required). No official multidisk support yet.
(unofficially you can add "/<name of file>" or "\<name of file>" to the end of path,
for example "c:\caps\PinballFantasies.zip\PinballFantasies_CourseDisk1.ipf")
new CAPS plugin only for beta testers included.
- "KickShifter" ROM checksum recalculation was wrong, fixes red screen with some Kickstart versions
- bsdsocket Windows 2000/XP AmTelnet SSH freeze fixed (Stephen Riedelbeck)
- new AHI driver, fix for wrong maxsamplesize, includes separate patch for DigiBooster Pro
slowdown (Bernd Roesch)
Beta 4:
- "SWIV-fix" wasn't working if lores-mode was ticked, fixed
- "sprites outside playfield"-fix is now working in lores mode, also fixes black bar that appeared
when running programs that use hires or shres mode, BRDSPRT was enabled and mouse pointer was
moved near right border
- fixed broken "ShapeShifter" Kickstart patch code, replaced with generic patcher
(KS 3.0+ use separate code path for 68040+ which was not patched and KS 2.04 patch was just wrong)
- "fake RDB" filesystem updates, multiple non-RDB custom filesystems works now properly
- GUI filesystem selection crash bug fixed
- beta 3 keyboard input update wasn't complete (loading new config was using old incompatible code)
- selected sound sample rate wasn't updated correctly if sound driver didn't support selected rate
- rewritten and cleaned display refresh rate selection code
- more weird undocumented blitter line mode features emulated:
- after first pixel, C-channel's address is copied to D-channel.
(first pixel is written to address pointed by D-channel, all following pixels are written to
C-channel's address) Fixes Frantic's Cardamom and Cardamon demos.
- BLTAPT stays unchanged if A channel is disabled. I found this useless feature when running
tests on my A1200, probably never really used..
- "collision detection does NOT change when you select either single- or dual-playfield mode"
says HRM. BZZZT, WRONG! Sprite to playfield collision detection should be correct (?) now.
Fixes Inferior and Sub Rally (I call it "Suck Rally" for obvious reasons..)
- sprite DMA start raster line in NTSC mode fixed. This was surprising, first visible line in
PAL is 28, NTSC 27. But first possible PAL sprite DMA position is 25, NTSC start is line 20.
I was expecting smaller difference. Tested on my PAL A1200 in NTSC-mode.
Beta 3:
- horiz centering bug fixed (could cause crashes)
- trace-mode fix. fixes CAPS Defenders of Earth trace-vector-decoder protection routine.
- POTGOR emulation fixed (Sound of Silents -music disk ugly right mouse button test code..
here is snippet: cmp.w #$0100,$dff016; bne right_button_not_pushed; ...)
- sectors, surfaces and reserved are automatically zeroed if selected hardfile contains RDB
- multiple keyboards supported, config save crash/non-working keyboard fixed when MS SideWinder
Virtual Keyboard driver is installed.
- MOVEC-instruction fix, register 3 is 68040 only, it is not supported by 68020 (ancient bug, fixes
Aladdin AGA and Banshee AGA in 68020 mode. CPU detection code detected MMU due to bug..)
- SWIV scoreboard graphics bug fixed (was caused by very weird undocumented OCS/ECS-only hardware feature)
- input point-of-view hat controller support
- small audio hardware reset fix
Beta 2:
- 68020+ instruction bcc.l was broken in 68000/68010 mode when cycle-exact mode was implemented
(is really useless version of bcc.b when run under 68000/68010), fixes Paradox cracked Nitro
- harddisk partition detection updates. It seems Windows sometimes lies about drive's partition table
(drive really only contains RDB partitions but Windows still thinks there are some empty
MBR partitions..)
- improved Action Replay state file support
- new misc-page layout, added "Run at higher priority"-checkbox to misc page (sets process priority to higher
than normal when WinUAE is active, helps skips and jumps caused by background processes)
- sound frequency GUI updated, allowed frequency range is now from 8000 to 48000 (max 96000 if sound card supports it)
- some experimental and buggy copper code from beta 1 removed..
- audio filter emulation (formula from
http://groups.google.com/groups?q=g:thl3970091855d&dq=&hl=en&lr=&ie=UTF-8&oe=UTF-8&selm=5sntr1%243ki%241%40nef.ens.fr)
- button/key mapped to mouse direction wasn't working correctly, fixed
- another bsdsocket fix (Stephen Riedelbeck)
Beta 1
- audio emulation fixes (fixes Mission Elevator again, this time proper fix)
- removed obsolete code (I think so..) when bitplane count during the raster line was
decreased (single line of crap between playing area and scoreboard on Mission Elevator)
- Rainbow Island works again (broke in beta 4)
- serial port settings can be changed on the fly
- changing printer on the fly works
- printer didn't work if also serial port was enabled
- added serial port "direct"-checkbox, forces 115200 bit rate, lowers latency,
needed by some serial linked games (Lotus 2) when connecting two PCs running WinUAE
- partial Action Replay state file support
- bsd socketfix for Ping Traceroute UDP Ping (Stephan Riedelbeck)
If you can test diropus Magellan with FTP Lister so please test,if this work as before.
Try to connect to de.aminet.net dir aminet/new with anon on
If you get no error 22 report from diropus for 5 trys all work ok
- replaced uae_int with level 2 interrupt (was level 6), fixes buggy HD installable
demos/games that disable level 6 interrupt. Using level 2 is more compatible
because A1200/A4000 IDE-controller and A590/A2091 use level 2 interrupt.
Also fixed bug that added uae_int handler twice. Set priority of interrupt to 20 (A1200 IDE uses it)
Fixes game Old Timer and demo Captured Dreams by The Black Lotus (and probably much more..)
- CIA OVL-bit is ignored in AGA Amigas
- proper emulation of POTxDAT counters, analog joystick support in input-tab
- blitter in linedraw mode is weird, D-channel can be disabled without any effect on drawn line, enabling
C-channel is enough. (undocumented feature, fixes Great Fun #16 packdisk)
- added hack that fixes buggy demos that read accidentally from write-only or non-existing custom
registers and expect sane return values. Fixes Captured Dreams, Industrial Fudge, Codetrash.
- changed sprite-attach handling, even sprite attach-bit must not be ignored because setting it
does something interesting.. and thats another undocumented feature, fixes Elfmania scoreboard
- DDFSTOP >= 0xe4 effect DOES NOT happen on OCS chipset, only on ECS and AGA... (fixes Sargon History -megademo)
- copper WAIT-wakeup state may not need free cycle, fixes Full Contact but I am not sure if this is correct fix..
- palette wasn't updated properly when entering and exiting the gui in fullscreen 8-bit Picasso96 mode
- new application icon (Michael Battilana)
R6 (19.04.2003)
Beta 6 (final?)
- disabling fast ram (or any expansion ram) and reseting the Amiga doesn't crash anymore
- do not reset when selected CPU is 68000 + compatible or cycle-exact and when program counter
goes to no man's land (fixes demo Purple by Warfalcons, uses very bad and tricky protection..)
- right CTRL can be used to reset Amiga (RCTRL + INSERT + HOME or RCTRL + Windows keys)
- 68020+ word moves from non-word aligned custom registers fixed (for example move.w $dff005,d0 uuargh..)
(fixes 4k AGA intro, Fuck the Pc! by Anorganic/Promise!)
- DDFSTOP >= 0xe4 effect also happens on OCS and ECS chipsets, don't know why I missed that..
(fixes Wind It Up Megamix 93)
- added DirectX 8 test
- full DIWHIGH save/restore support added
- OCS Agnus ignores DDFSTRT/DDFSTOP bit 1, this fixes Eliminator/Double Dragon 2 properly
without stupid hacks. (Yes, both games are OCS only, tested on OCS and ECS A500 and A1000)
- default chipset changed to ECS Agnus and selecting >0.5M chip ram automatically enables ECS Agnus
more compatible and less (hopefully..) complaints about programs that suddenly fail under OCS chipset..
Beta 5
- fixed stupid ASPI bug (bug introduced in B4)
- fixed ce-mode blitter freeze in Picasso96 modes
- fixed crash in Picasso96 mode if OpenGL was enabled (I think so, it didn't crash here..)
- pause-mode (END+PAUSE) fixed (bug introduced in B4)
- simplified and improved disk wordsync and indexsync emulation (fixes Quadlite's "El Egg Tronic Quarts" -slideshow)
- CIA-A LED and OVL bit fix (wasn't proper enough last time..)
- input-tab disable-checkbox implemented, unticked = selected input device is disabled completely
- added Amiga joystick port swap button to input-tab and other input fixes
- AGA dualplayfield color fix, this confirms that BPLCON4 is used normally in DPF mode
(fixes Tube Warriors bottom of screen, one wrong colored horizontal line still remains)
- 9-bit mode serial port hack implemented. PC hardware don't support 9-bit mode (1 start, 9 data and 1 stop bits)
but this hack transparently doubles the baud rate and sends/receives two characters when using 9-bit mode.
Only works if two PCs running WinUAE are connected, PC - Amiga connection naturally can't work.
Serial linked games should now work (Stunt Car Racer and Lotus 2 tested and confirmed working)
- added support for weird AGA only -feature, if DDFSTOP is >= 0xe4 (= can't be never reached), display DMA
always starts at 0x18 (DDFSTRT is ignored). This also confirms that position 0x18 is first possible bitplane
DMA slot. (fixes CCCP-demo and Hellfire cractro graphics garbage)
- ECS/AGA SPRxCTL bits 5 and 6 emulated (vertical start and stop bit 9) (fixes The Dark Demon - Burning Spears demo)
- chipset type can be changed on the fly
Beta 4
- blitter slowdown code fix
- CD32 pad buttons work properly again
- CPU idle checkbox replaced with a slider (was already in B3 but forgot to include changelog entry)
note that slider works now differently than in B3:
Slider fully left = disabled, every step to right increases the number of idle-calls. Quick way to find
good position: boot to WB, move slider right step by step until FPS drops below 50fps then move the
slider back left two steps. (setting depends on host CPU speed, there is no good default value, yet)
- CPU idle is always disabled in A500-speed mode (only caused trouble)
- increased the size of DirectInput buffers, no more lost input events when moving mouse very quickly
and/or using high mouse refreshrates.
- copper SKIP-instruction fix (fixes TEK's Rampage -demo partially, later part still crashes)
- uncompressed statefiles can be created by selecting "uncompressed" from "save as type"-select box
- CIA TOD fix (ALRM-interrupt is disabled when TOD is stopped, fixes Entity, which by the way has
very buggy level 2 interrupt handler..)
- fixed bsdsocket bug that caused hangups when transferring ftp data with diropus (Stephan Riedelbeck)
Beta 3
- AGA BRDBLANK-bit partially supported. Fixes Aladdin AGA. NOTE: running utilities
that toggle BRDBLANK-bit doesn't update top and bottom border correctly yet.
- better (?) Pentium 4 JIT fixes merged from latest BasiliskII JIT (Bernd Roesch)
- added PAL and NTSC -strings to 50/100 and 60/120 vsync frequencies
- random sound popping fixed (workaround was to enter and exit the GUI)
- fixed freezing if RDTSC's contents suddenly jumped very far, this usually happens
when returning from hibernate-mode or waiting for a long time in GUI before returning.
(Bernd Roesch & me)
- more display updates, fixes Wild Streets (and hopefully doesn't break anything..)
- fixed bug in CDTV battery backed RAM emulation (newer CDTV extended ROMs don't freeze anymore)
- turbo-floppy mode supports writing (earlier versions only "turboed" reading)
- fixed writing to multiple floppies simultaneously
(for example SuperDuper with multiple destination drives selected)
- proper CIA OVL bit emulation (fixes very tricky CAPS Double Dragon 2 protection code)
Beta 2
- more audio tweaks, Liverpool works again
- implemented Picasso96 RAM state file support, added "hooks" for saving/restoring full state
- ADKCON UARTBRK-bit really works now (was commented out in beta 1)
- display emulation update, fixes Eliminator and Double Dragon 2 graphics corruption.
- major disk emulation bug fixed, could cause frozen write operation and disk corruption..
- compressed statefile support. Statefile's RAM contents are automatically compressed when saving.
also added support for loading (g)zipped statefiles.
- GPF bug fixed when program counter was pointing to random address in 32-bit space in 24-bit mode
Fixes "more compatible"-mode only, non-compatible still crashes (not easy to fix without
performance problems or big changes), ce-mode already worked without crashing.
- fixed bug in saveimage-support, compressed disk images can now be write-enabled.
- implemented very simple code that approximates the number of cycles that bitplane DMA steals from the blitter.
Now it is possible to run some games/demos without graphics glitches in non-cycle exact mode
(for example PP Hammer and Spindizzy Worlds)
- screenshots are saved to <winuae directory>\ScreenShots -directory
- more CIA serial port emulation updates
- fixed crash when creating empty CD32 NVRAM image file
Beta 1
- input configuration autofire settings weren't saved properly
- Terrorpods background graphics fixed
(Game writes to BLTCON1, BLTAFWM and BLTALWM after writing to BLTSIZE..)
- disable Windows screensaver when WinUAE is active and GUI is not visible
- disable middle mouse button events when "Middle Mouse-Button -> ALT-TAB" is enabled.
(caused stuck middle mouse button because release event never arrived..)
- fixed crash when zlib.dll was missing and (g)zipped image was selected
- changing floppy image and clicking "Reset Amiga"-button booted from old image
- added hackish support for AGA only feature that allows sprites outside display window,
fixes Banshee AGA scoreboard and AB3D background graphics, will cause small (?)
performance loss only when program uses this feature.
- fixed ancient blitter bug, writing to address 0 was ignored. Fixes CAPS Guy Spy and Dragon's Lair.
- small "delayoffset" fix, fixes Skeleton Krew's jumpy scrolling
- floppies-tab floppy drive type/disable/enabled state select boxes didn't update internal state correctly
- DSKREADY-signal fix. DSKREADY is only low when motor is running full speed and disk is in drive.
(confirmed with my real A1200 and 2 external drives, drive always turns motor off if floppy is ejected)
Pango (and probably others too) use this signal to detect disk changes..
- another audio bug fix, caused missing samples/noise with some music players
- partially rewritten serial code, emulated Amiga's DTR,RTS,CD,CTS and DSR lines are
directly "connected" to PC serial port pins, ADKCON UARTBRK-bit supported, SERDATR status bits
and serial interrupts are (nearly) properly timed. Configurable hardware CTS/RTS handshaking.
Of course PC hardware have some limitations: DTR and RTS are output only and
CD, CTS and DSR are input only. WARNING: may not be 100% bug free yet..
R5: (28.02.2003)
Beta 8 (final?)
- GUI problems in fullscreen mode fixed
- audio bug fixed, fixes Impossible Mission II
- another last minute change: (I really can't stop adding new features..)
added HDF filesystem selection GUI. Simply select path to Amiga
filesystem driver (FastFileSystem from WB1.3:L when booting HDF's
under KS 1.3, SmartFileSystem if you want to boot SFS formatted HDF
etc..) No more playing with roms-directory and hexadecimal names.
Beta 7 (Release candidate, expected release date 27-28/2):
- Murder/Crack Down audio hack-fix removed. (not needed anymore).
This must mean my audio emulation updates are correct :)
Fixes Terrorpods.
- extended adf2 support fix (loading of non-RAW tracks failed)
- implemented input-tab GUI support for 1-4 input events/input source
- Windows 9x crash fixed
- reverted back to beta 5 serial port code, there is no time to
fix all bugs now in new code. Later..
Beta 6:
- audio quality should be "perfect" again
- sound-"resync" code re-enabled, vsync should be 100% smooth again
(was accidentally disabled in beta 5)
- disabled floppy drive's motor state is cleared when restoring state
(no more disabled drives and green leds)
- improved fake-RDB-filesystem loader, it is now possible to autoboot/mount
custom filesystem formatted regular HDF-files. (SFS, PFS etc..)
Requires filesystem driver in WinUAE's roms-directory, named filesystem's
"dostype in hexadecimal.fs". For example SFS's dostype is 0x53465300, file must
be named 53465300.fs (I know, not very logical but that was too easy to implement..)
- some serial port compatibility "fixes", serial port support may not work...
Beta 5:
- sound quality fixed (I think so..)
- removed debug code that disabled "fast copper"
- enabled very experimental 4 channel DirectSound audio code.
Amiga's 4 separate audio channels are directly fed to DirectSound
instead of using UAE's software mixing.
NOTE: currently 4+ speaker systems get strange results: each Amiga
channel goes to separate speaker.. (1 goes to front left, 2 goes
to front right, 3 goes to rear left and 4 goes to rear right..)
Not tested with 2 speaker systems..
Enable with "-dsaudiomix" -command line parameter.
I'll try to fix the speaker problem if this is useful feature (= increases
performance noticeably compared to software mixing)
- sound interpolation-checkbox fixed and added support for both modes
(btw, are interpolation modes broken or why do they sound so bad?)
- Amiga program p96refresh let you choose higher mousepointer refreshrates in P96
p96refresh <frequency 50-200> (Bernd Roesch)
- native interface added to allow executing windows DLL from 68k side (Bernd Roesch)
Beta 4:
- fixed Competitor PC joystick interface compatibility problem
- fixed CAPS image crash when reading non-existing tracks
- track >79 compatibility fix (Pinball Hazard)
- added OS version to winuaebootlog.txt
- floppy speed slider GUI update fix
- copper COPJMP fix (CAPS Wreckers)
- audio updates and hack that fixes Murder, Crack Down and Liverpool
AUDxDAT should now work correctly
(rewrote audio state machine emulation. Yeah, I know I shouldn't do
these kind of near-last minute changes but... Complain loudly if sound
works badly)
- keyboard led update, update led state only max once/frame,
only change selected leds' state
- resetting or reinserting disk image didn't always release old image
- changing floppy drive type or enabling/disabling floppy drives
works properly when emulation is active
Beta 3:
- OpenGL <15 bit depth check should only be done when using fullscreen mode
- more CIA keyboard emulation fixes (CAPS R101)
- CPU status register emulation fix, bits 14 (T0) and 12 (M) are 68020+ bits
and must always be zeroed in 68000 mode. (CAPS Toki copy protection code)
- new extended adf2's contains free space for 83 tracks (was 80)
- added disk write-protection support GUI. moved drive disable-checkboxes to
drive-type box. This is quite complex internally..
- images that support writing (regular and ext2 adf)
- checked = read-only flag set
- unchecked = read-only flag removed
- read-only images (caps,fdi,ext adf,compressed images):
- checked:
- save-image exists and is not empty: save-image's read-only flag is set
- save-image exists and is still empty: delete save image
- no save-image: do nothing
- unchecked:
- save-image exists: remove read-only flag
- no save-image: create empty saveimage
- save images are always created in <winuae root>/SaveImages -directory
(because selected "parent" image may be located in read-only media)
- changing writeprotection state causes automatic disk re-insert
(eject,2s delay,insert)
- state files are now saved to <winuae root>/SaveStates (was Configurations..)
- keyboard LED GUI (misc-page)
- AGA SHRES sprite bug fix (fixes Super Skidmarks hires-mode cars)
- restoring 68020+ state and CPU speed is set to A500 -> change to fastest possible
- filter END+<any key> key releases
Beta 2.1:
- non-blocksize aligned HDFs work again
- keyboard led code improved and fixed
configuration file line is now: "keyboard_leds=xxx:yyy,xxx:yyy,xxx:yyy"
where xxx = "capslock", "numlock" or "scrolllock" and
yyy = df0,df1,df2,df3,power,hd or cd
(example: "keyboard_leds=scrolllock:power,capslock:df0")
Beta 2:
- renamed save-images to "<name of original image>_save.adf", original extension is removed
(for example: Example.ipf -> Example_save.adf) Makes names more logical when this feature
is used with regular adf-files.
- hardfile/harddrive cache bug fix (SFS formatted hardfiles/harddrives work again)
- Action Replay improvements (Mark Cox)
- it wasn't possible to set input-tab's default mappings to none, fixed
- fixed too small config file description buffer in WinUAE GUI code
- configurable keyboard leds (DF0,DF1,DF2,DF3,POWER,HD and CD)
No GUI yet. Add "keyboard_leds=xxx,xxx,xx" to config file.
(num lock, caps lock, scroll lock) xxx = none,DF0,DF1 etc..
Need Windows9x testing (W9x uses very different way of controlling leds than W2K/XP)
- primary sound buffer option removed and disabled. It is not needed anymore and usually
only caused strange slowdown problems.
- DirectInput devices were allocated multiple times and never freed
- middle mousebutton in fullscreen mode minimizes WinUAE if
"Middle-Mouse-Button -> ALT-TAB" is ticked.
- OpenGL-mode is disabled if display depth is lower than 15
- Because Windows DDK can't be downloaded anymore from microsoft.com, I added define to
sysconfig.h (WINDDK) that can be used to disable compilation of features that need
DDK includes (Windows 2K/XP CDROM, harddrive support and keyboard leds)
- improved programmable horizontal and vertical timing support. Setting 31KHz native
mode under Picasso96 display modes (for example writing "setenv picasso96/amigavideo 31khz")
works mostly but audio isn't too good yet..
- yet another Pentium4 JIT fix, Pagestream crashes without it (Bernd Roesch)
Beta 1:
- restoring state with sound disabled caused crash if state was saved with sound, fixed
- fixed mouse problems in Space Crusade, Billy the Kid and more..
- another fast ram state restore fix
- writing to ext2 images was unstable, fixed
- FPU state save support
- floppy drives' disk change flag wasn't reset when state was restored, fixed
- "save disk image"-support. All writes to images that don't support writing go to separate
extended adf2-image and reads from already written tracks come from ext2-image instead of
"main" image. This is especially needed by some future CAPS-images. (There are games that
want to write to the original disk, for example Pinball Dreams highscores but we can't and
don't want to modify original images)
"save image" must be currently created manually by clicking "create custom image" (disk-tab),
image's name must be <name of original image>.adf (for example, Example.ipf -> Example.ipf.adf)
Image is write-enabled only if save-image exists and is not read-only.
Any suggestions for GUI?
- 68000 cpu returns the contents of prefetch register when reading from address that does
not exist. (for example reads from 0x200000 without real fast ram)
- CIA serial port emulation updates. Fixes Back to the Future 2's keyboard freeze.
(fixes probably other games' keyboard problems too)
- another "last_custom_value"-update, fixes more slowram detection crashes (Commando etc..)
- another bsdsocket emulation fix (Stephen Riedelbeck)
- added configurable device name and boot priority for volumes and hardfiles
- "more compatible" 68000-mode accidentally used some cycle-exact-only functions
- CD32 media change detection fixed (only worked in 0821R1..)
- CD32 pads are now enabled even in non-cd32 mode if configured in input-tab
---
R4
Beta 3:
- switching between windowed and fullscreen disabled sound
(does not happen with some sound drivers), fixed
- Caps lock fixed (again..)
- build-in DMS support. Will be removed if someone complains..
(Xdms.exe is really too limited..)
- CTRL-AMIGA-AMIGA-ALT hard-reset works again
- Debugger's S-command used non-binary mode to save files, fixed
- DENISEID-register last_custom fix (fixes Alien Breed - Tower Assault)
- added support for 1.5MB bogoRAM expansion
- another ACTION_RENAME-bug fixed. Rename created new unneeded
__uaefsdb-entry if only filename's case changed
(for example: "rename file.txt file.TXT")
Beta 2:
- sound timing always defaulted back to PAL when WinUAE lost or gained focus, fixed.
- Voyage by Razor1991 really works but only randomly
(requires cycle-exact mode and might need multiple tries, more improved ce-mode needed..)
- CAPS-format support added.
Needs CAPSImg.dll from CAPS. Not yet available for public.
Send your questions about Caps directly to http://www.caps-project.org/
I don't answer any Caps-specific questions.
- use QueryPerformanceCounter() instead of RDTSC if CPU throttling is detected.
Fixes slowdown problems on laptops, also old processors without RDTSC should run WinUAE again
without crashing.
- ALT-TAB keyboard fix
- joystick layout B fire fixed (broke in B1)
- joystick configuration bug fix (sometimes joystick didn't work..)
- Picasso96 framebuffer access speedup (Bernd Roesch)
Beta 1:
- improved FPS-counter, added FPS-counter led.
- added blitter fill-mode cycle diagram. Enabling fill mode adds DMA channel C to
cycle diagram even if it is disabled in BLTCON0. Fixes "Reflect - Sound Vision"
- Catweasel MK3 Amiga keyboard and joystick ports support and Z2-board emulation implemented
- emulate serial port transmit interrupts even if serial port is disabled
I don't think we can expect users to enable serial emulation to run some games
that don't even have serial-link option. (Dragon's Lair 2, Moonwalker etc..)
- removed exclusive mouse-mode, mouse handling should be now more compatible.
- faster Picasso96 color fades (Bernd Roesch)
- CD-led is now lit when CD32 audio track is playing
- RDB filesystem loader compatibility fix, SmartFileSystem 1.58 doesn't crash anymore
- filesystem: _UAEFSDB.___ handling fixes, also deletes "ghost"-entries automatically
(files/directories that are deleted outside of emulation)
- filesystem: ACTION_RENAME fixes. Old name's opened locks and filehandles are transferred
to new name, filehandles are temporarily closed during rename (under AmigaDOS it is
possible to rename files that are open) Fixed some "ghost"-UAEFSDB entry-bugs.
- filesystem: added notification support (ACTION_ADD_NOTIFY, ACTION_REMOVE_NOTIFY)
- filesystem: added code that updates parent directory's modification time when file is
created, written, deleted or renamed. (NTFS does all except rename, FAT apparently never
updates parent directory's modification time)
Fixes Directory Opus and DosControl automatic directory list refresh when using FAT
- log messages that arrive before emulation starts are written to winuaebootlog.txt
- uaescsi.device reset crash fixed (happened only under Win9x)
- custom chip "last_custom_value"-update. Fixes Lotus 3 (and probably some other programs')
slow ram detection.
- CIA and MOVEM M->R cycle usage fixes (Voyage - Razor1991 works now, first boot only...)
- allocate bigger MIDI sysex buffer to prevent overflows (Bernd Roesch)
- disabled mostly useless JIT-log messages (can be enabled by defining JIT_DEBUG and recompiling)
- PAUSE-key = pause emulation. PAUSE+END = full speed emulation (sound is turned off)
Mouse code is mix between old and new WinUAE mouse code. It probably have some bugs..
Filesystem compatibility should be much better now. Could someone test programs that have refused
to install/run under older UAE filesystem versions?
---
RC:
- floppy drive leds light correctly (stupid bug)
- small CIA fix (reading $BFE001 returns correct power led state)
- Input-tab keyboard configuration works again (why didn't nobody notice?)
Beta 3:
- all hardfiles/harddrives described in default.uae were never freed making them unavailable
if other configuration was loaded and it used same hardfiles as default.uae. fixed.
- mouse counter overflow limit works again (moving mouse very fast made mouse jump around under
KS 1.3 and some mouse controlled games)
- Amithlon partition detection failed if drive had >6 partitions. fixed.
(Partition table buffer was too small...)
- non-Amiga formatted or non-empty harddrive safety test can be disabled with
"-disableharddrivesafetytest" command-line parameter. WinUAE also shows warning
messages if "dangerous" harddrives are detected and test is disabled
Beta 2:
- A500-speed slowdown problems fixed (*)
- "The selected screen mode can't be displayed in a window, because.." now correctly
forces fullscreen mode instead of repeating the message forever..
- initial Amiga viewport position fixed
(*) My new Asus A7N8X Deluxe Gold (nForce2) -mainboard arrived today and suprise, suprise,
WinUAE's fps decreased to about 40fps. I finally managed to debug this problem!
It appears calling timeBeginPeriod() and timeEndPeriod() too many times/frame
caused big slowdown. I still don't understand why it only affects some systems..
(probably it depends on drivers because I didn't reinstall OS)
Beta 1b:
- removed debugging code that disabled RDB custom filesystem
Beta 1:
- Ports-tab crash fixed (printer detection bug)
- some joysticks had joystick axis in wrong order (for example Y before X etc..)
- only first joystick worked in input-tab
- plus other joystick bugs fixed
- WinUAE window position in registry is now correct
- hard drive configuration save fix (some harddrive ID's had trailing spaces)
- fixed stuck keys when switching between WinUAE and Windows
- sprite fix (flashing garbage in Pinball Dreams)
- added Harddisk and CD-leds that flash during HD/CD access
- thread priority tweaks
- Windows 95 setupapi.dll error fixed
R2:
Beta 7:
- screenshot changes, PrintScreen -> Windows clipboard
(now works even in overlay-mode) and PrintScreen + END
-> screenshot file (was F11)
- more disk emulation updates ("The Deep" works again)
- bsdsocket changes. Fixes Win98 dialing, TCP-device
and Amygate (Stephan Riedelbeck)
Beta 6:
- primary sound buffer checkbox can be changed on the fly
- floppy buffer overflow fixed
- RDB filesystem bug fix
caused memory corruption if RDB contained non-automountable partition(s)
- ALT-TAB didn't always release mouse capture
- DirectInput device enumeration fixed
- blitter nasty-mode bug fixed (Obliterator and TerrorPods intro graphics corruption)
- Amiga Catweasel ZorroII-board emulation. (ISA-Catweasel supported)
Device is detected but reading is unreliable due to timing problems either in
isacatweasel.device or timer.device in JIT mode. No GUI config, to enable emulation
add "catweasel_io=xxx" to config file. WinIo.dll, WinIo.sys (2K/XP) and
WinIo.VXD (W9x) from http://www.internals.com/utilities/winio.zip required.
Download Amiga driver from http://www.jschoenfeld.de/ support page
(ISACatweasel.device for Amithlon)
New Catweasel MK3 (PCI-version) support will be implemented in future.
Experimental. Bug reports are probably ignored because this won't be part of
"official" 0.8.22R2 feature list..
- network printers are listed in ports-tab
- tries to prevent frozen mouse if WinUAE crashes
- Kickstart replacement is now correctly enabled if kick rom was not selected
- disk emulation updates
fixes for Megalomania, Knightmare, Supaplex etc.. ultra slow loading speed,
more compatible with some copy protections
- Action Replay support fixed
Beta 5:
- ignore mouse events when WinUAE is not in focus
- disk emulation track length/motor speed fix (Istv<74>n Fabian)
- filesystem "ghost"-file fix
(but we still have one bug left in ACTION_RENAME that isn't so easy to fix)
- F10 and ALT-keys don't freeze the emulation anymore
- Capital Punishment graphics fix
- Picasso96 COMP-drawing mode don't work correctly in >8bit modes, added
workaround. (found by Bernd Roesch)
- fixed buggy gfx_opengl_mode and gfx_opengl_bits -configuration entry handling
(caused duplicate entries)
Beta 4:
- mouse fixes and speed multiplier added to input-tab (100=1x,200=2x,50=1/2x etc..)
- caps lock fixed
- cpu idle changes (still need much better algorithm, later..)
- replaced Sleep() with multimedia timers (much better timer accurary)
this fix might improve sound with small buffer sizes
- switch from fullscreen/no-vsync to vsync crash fixed (this was a very old bug)
- another old config file compatibility fix
Beta 3:
- keyboard layout "B" firebutton fixed
- startup "detect 16-bit" crash fixed
- copper cycle diagram fix (Chaos Engine AGA/CD32 horizontal line)
- screenshot button was always disabled
Beta 2:
- GUI's hardfile/harddrive size fixed (fractional part was always zero)
- "Use Primary DirectSound buffer"-checkbox fixed
- input-tab's joystick/mouse/keyboard axis/button/key names are now queried from DirectInput
- all keyboard's special keys are also configurable in input-tab
- DirectInput fixes (joysticks work etc..)
- direct harddrive access fixed, >512 byte reads/writes are now working properly.
(caused "not a dos disk" errors if filesystem block size was > 512)
- added 1024 and 2048 physical blocksize support to direct harddrive access code
- RDB code renames duplicate device names (DH0: -> DH0_0: etc..)
- german keyboard layout "hack" fixed (Bernd Roesch)
- improved keyboard configuration, old keyboard configs are not compatible anymore
- "Pentium 4 JIT"-fix enabled in release build
- state load fixes (replacing KS don't clear chip RAM anymore, another CPU type fix)
Loading 68020/AGA states files with A500 config should now replace configuration
correctly (finally..)
Beta 1.1:
- >4G hardfiles really work now
- cpu idle fixed
Beta 1:
- disk emulation fix (High density floppy images in non-"turbo" mode were read too slowly causing
read errors)
- removed bad disk emulation optimization (froze some custom loaders)
- implemented disk drive type configuration. I had to do this because it is not possible
to emulate real DD and HD drives 100% correctly automatically and I also wanted to add
ancient&useless 5.25 drive (A1010) support too :)
- automatically disable "turbo"-floppy speed if using non-standard ADF images
- implemented Kickstart 1.3 hardfile support and some RDB filesystem compatibility bug fixes
(regular KS1.3 hardfile autoboot/mount requires FastFileSystem from WB1.3:L in roms-directory)
- hardfile code rewritten with full 64-bit support ("unlimited" size)
supports both TD64 and NSD -style 64-bit access.
Windows 2000 or XP and NTFS filesystem required (Both W9x and FAT32 are
limited to max 2G files)
WARNING: some Amiga disk utilities fail to understand >2G partitions and could
corrupt big hardfiles! OS3.5+ recommended!
Only drives that don't contain recognised PC partition table and are either empty or
contain RDB are available in selection dialog (safety feature)
Amithlon partition support (partition type 0x76) implemented. NOT TESTED YET!
WARNING: Bugs could cause lost data! Every read and write access to Amithlon partition
is tested against partition bounds but better safe than sorry..
- uaehf.device is now threaded (read/write requests are run in background)
- fixed uaehf.device crash with older HDToolBox versions
- removed sectors, surfaces and reserved from harddisk tab
(IMHO they only need to be in hardfile configuration dialog)
- added missing CPU idle configuration entry
- CPU idle code changes
- added cycle exact configuration entry
- increased directory filesystem emulation cache
(workaround to randomly disappearing flags/comments)
- CPU model is restored correctly when restoring save state file
- DirectInput keyboard, mouse and joystick interface
- shift-keys don't get stuck anymore in Pinball Dreams etc..
- Uses DirectInput's MS supported way of disabling all special keys, only ALT-TAB and
CTRL-ALT-DEL are left enabled.
- Uses DirectInput exclusive mouse mode to hide Windows mouse pointer instead of
old version's "interesting" hack...
- WARNING: expect to find bugs
- NOTE: mouse speed might be different because DirectInput reads directly from
mouse driver. (no acceleration etc..)
- mouse input-configuration changed (separated horiz and vertical axis and mouse
wheel is now third axis)
- "disable Windows keys"-checkbox removed. Windows keys are now always disabled.
(I added disable checkbox because wkeykill.dll was unsupported hack and could have
caused problems in some situations) Complain if there is need to not disable
Windows keys.
- some old config file compatibility fixes
- "compatible" cpu mode checkbox was ignored
(This was the reason why 0822R1 needed cycle-exact mode to run C64 tune disk)
- 68000 RESET-instruction's prefetch emulation fixed
- CIA overlay-bit fix (regs.pc_p and regs.pc_oldp wasn't updated)
- added Kickstart ROM path to state files (only used when restoring if file exists)
0.8.22R1:
Beta 5:
- RDB custom filesystem fixes
- make "regular" hardfiles invisible to HDToolbox
- fix CD32 pad emulation in compatibility mode
Beta 4:
- small sound changes: AHI sound disabled when resetting the Amiga, DirectSound is freed
when WinUAE is minimized and "Disable sound output" is ticked.
- input-tab autofire rate fixed
- fixed fast memory state save bug
- joystick compatibility mode fixes
- another uaescsi.device compatibility fix
Beta 3:
- AVIOutput fix (editing parameters didn't work until emulation was started)
- centering works again (broke in beta 2)
- more uaescsi.device compatibility fixes (all Amiga CD filesystems should now work properly)
- CD32 pad emulation fixes
- fixed crash when "ejecting" broken zipped adf-files
- bsdsocket fixes (Stephan Riedelbeck)
- exception 3 handling fixed (was broken by JIT fix ages ago..)
- improved RDB filesystem relocator (fixes PFS3 and others)
- screenshot key shortcut mapped to F11
- multiple sound card support (original GUI code by Brian King)
- fixed programs that use POTxDAT to read second fire button (was broken ages ago)
Beta 2:
- UAE 0.8.22 merge, bumped version number (most changes were already included in R4)
- switching cycle-exact off does not freeze the emulator anymore (but Amiga still freezes..)
- Action Replay 1 support (breakpoints don't work)
- writing to hardfiles work again
- CPU emulator fix: CHK-instruction's exception return address was wrong (Days of Thunder)
- AVIOutput update (Sane)
- floppy speed slider GUI fixed
- disk emulation initialization fix (fixes A1000 boot failure in non-"turbo" mode)
- CPU idle checkbox works after emulation has been started
- keyboard fix (some key presses were missed when pressing multiple keys)
- sound changes: (yet again...)
- vsync enabled and/or JIT enabled: adjustment active (like older versions)
- vsync disabled and JIT disabled: UAE 0.8.22 sound timing (adjustment disabled)
(JIT will have HUGE slowdown and vsync skips if UAE 0.8.22-style timing is enabled)
- uses DirectSound primary buffer if possible (SDL does this too)
- depending on sound card, small buffers (1 and 2) might work very badly..
- uaehf.device scsi emulator fixes
- changed "create hardfile"-dialog's hardfile size to megabytes and added 2GB limit
(limit will be removed after uaehf.device supports 64-bit addressing)
- uaescsi.device reboot crash fixed
- full RDB harddisk image support (automount, custom filesystems etc..)
Beta 1: (too many changes, expect breakage..)
- unoptimized near cycle-exact cpu and blitter emulation implemented (checkbox in misc-tab)
Fixes most programs that expect correct cpu and blitter speed (PP Hammer, many demos etc..)
WARNING: requires at least 50%+ more cpu power than "regular" mode.
Athlon XP/Pentium IV + DDR/RAMBUS RAM highly recommended!
WARNING2: Frameskip must be set to 1
WARNING3: very experimental, timing is quite far from perfection
Complain loudly if "regular" mode is slower. (It shouldn't be but you never know..)
- yet another 68000 prefetch emulation rewrite (fixes "100 most remembered C64 games" and more..)
- OpenGL scanline brightness slider added
- yet another disk emulation update
(more compatible, stupid extended adf bug fixed that caused format/verify errors)
- interlace mode vsync fixed (no more 2x speed)
- added support for compressed kickstart rom-images
- encrypted A1000 boot rom support added
- 64kb A1000 boot rom supported (A1000 boot rom size is really 64kb even if only first 8kb is used..)
- 256kb chip RAM support added (first A1000s come with 256kb chip RAM as standard, expandable to 512kb)
- dms files inside zip -crash fixed
(xdms.exe that does not add .dms extension to source file's name needed for correct decompression support)
- fixed com-port warning (start emulation, press F12, select input-tab)
- sprite-playfield collision fix (fixes Inferior but may break something else.. Testing needed!)
- display garbage fix (Nightbreed Interactive Movie, some demos)
- input device support updates
defaults added to mouse and joysticks, mouse didn't always work correctly,
autofire works now properly, supports max 4 input targets/input source
(currently only available by manually editing configuration files,
example: input.1.mouse.0.button.0=JOY1_FIRE_BUTTON.0,JOY2_FIRE_BUTTON.0)
- another experimental cpu idle hack (detects when Kickstart executes STOP-instruction)
lowers host CPU usage near zero when emulated system is idle.
- added cpu idle checkbox to GUI CPU-page
- new AHI code and driver (Bernd Roesch)
- Amiga <> Windows clipboard support, see winuaeclip.txt for more information (Bernd Roesch)
- added device io (CMD_READ, CMD_CHANGESTATE etc..) support to uaescsi.device
no need to enable direct-scsi anymore, also media change detection
(ADDCHANGEINT/REMCHANGEINT) is emulated properly. This means uaescsi.device emulation should
now work properly with all available cd file systems without special mountlist flags.
- fixed bug in state save restore code, sometimes restored floppy drive track was incorrect
- added wkeykill.dll support. Kills all normal Windows key combinations (except some keys don't
work properly on WXP, for example LWin+L, hopefully this can be fixed later..)
Unfortunately it is not possible to integrate Windows key kill code to WinUAE because it seems
it is only possible to kill Windows key events properly from a separate dll..
- Amiga-"viewport" is now centered correctly, no more clipped window borders
- FPU emulator's precision was poor, fixed (cause: wrong compiler optimization parameters)
- filesystem bug fix (hopefully fixes bug that causes random files appearing as directories)
- on the fly switching between OpenGL and DirectDraw mode
- on the fly switching between vsync and non-vsync mode
- DirectSound sound code is back with auto-adjust. Better or worse than old code?
(I replaced SDL audio because it is now confirmed that SDL audio has strange lag
problems with some systems. I might include both, depends on test results..)
- audio emulation fix (Mission Elevator)
also some AUDxDAT fixes (fixes random CD32 boot tune noise)
- build-in screenshot function (original code by Sane)
supports all modes: DirectDraw, DirectDraw Overlay, OpenGL and Picasso96
current shortcut key: END+F6 (Suggestions?)
- set active WinUAE process priority level higher, improves smoothness
makes Windows' responsiveness worse but I hope it isn't too bad..
- decreased trackdisplay leds' brightness slightly
- writing to kickstart rom memory area crashed the system if JIT was enabled
- floppy speed slider (I know I shouldn't put it back but I got too many requests..)
- second filesystem bug fix: situations where file read length was very big were not handled correctly
- third filesystem bug fix: CON.something, AUX.something etc. are not valid Windows filenames
- added simple "scsi emulator" to uaehf.device. It is now possible to edit full harddisk images with hdtoolbox
("hdtoolbox uaehf.device". Sectors, surfaces and reserved can be set to zero)
not very useful feature because booting/automounting does not work yet...
R4:
- EXPERIMENTAL: added configurable input device (mouse, joystick, keyboard) support
- EXPERIMENTAL: added OpenGL mode (for best results set lores and disable line-doubling)
- printer support fixed (Bernd Roesch)
- MIDI updates (Bernd Roesch, Alfred J. Faust)
- custom chipset updates (Superfrog,Exile,Apocalypse,Rainbow Islands,Torvak the Warrior etc..)
- CPU idle patch (no more 100% CPU usage)
- HOME + F5 opens state restore dialog and SHIFT + HOME + F5 opens state save dialog
- vsync updates (50/60/100/120 frequencies are now always selectable. Useful for Powerstrip users)
- AVIoutput improvements (can be started later, stops when re-entering GUI)
- Picasso96 updates. Mouse trails are now 100% fixed (Bernd Roesch)
- refresh rate selection only affects Amiga display modes, Picasso96 always use default refresh rate
- "16-bit mode detect" crash fixed
- removed useless 8/16-bit sound selection. Sound output is now always 16-bit
- sound lag compensation slider reimplemented. (if you have bad sound, move slider left until sound gets better)
- build-in gzip and zip support (autoselects first adf-image or Amiga executable if zip contains multiple files)
- executable to adf support, just "insert" Amiga executable in to floppy drive
- improved external decompression support (xdms.exe)
- configuration save option is now available even after emulation has been started
- HD floppy image support in disk-tab
Beta 8:
- OpenGL vsync is now correctly disabled in windowed mode
- frequency selector config load/save fixed
- fixed lost key release(s) when switching between Picasso96 and native modes
- fullscreen OpenGL mode mouse problems fixed
- avioutput OpenGL mode support added
Beta 7:
- refresh rate selection now shows 50/60/100/120Hz properly
- non-OpenGL scanlines-selection gets disabled after emulation is started
- DF1-DF3 and HD floppies work again
- vsync fix
- JIT exception 3 fix (Bernd Roesch)
- OpenGL "returning from GUI in fullscreen mode" freeze fixed
- exiting WinUAE stops CD32 CD audio
- sound buffer 7 in stereo mode fixed
- disk emulation update (fixes SuperDuper)
- sound gui changes
- MIDI sysex support (Bernd Roesch, Alfred J. Faust)
Beta 6:
- Picasso96->OpenGL mode switch crash fixed
- added OpenGL texture color depth and filtering mode selection
- centering and non-OpenGL scanlines are not available if OpenGL mode is enabled
- MIDI ports can be changed on the fly (Bernd Roesch, me)
- Create Standard/Custom floppy-buttons can also be used to create HD floppies
- level 6 interrupt handling fix (Marvin's Marvellous Adventure AGA)
- CPU exception 3 fix (Shinobi)
- disk updates (more correct DSKRDY/floppy device ID handling) (S.T.A.G)
- *.zip added to disk image selector
- Caps Lock and misc keyboard fixes (new input device mode only)
- return random bits if program is trying to read track past image's end (Typhoon Thompson)
- yet another sprite emulation rewrite. Report immediately if you notice missing/flashing/corrupt etc sprites!
- scanlines fixed in OpenGL AGA mode
Beta 5:
- joystick/mouse -> keyboard mapping fixed
- keyboard -> Amiga joystick/mouse/keyboard configuration implemented (US keyboard layout only)
- another copper skip fix (fixes Rainbow Islands)
- CPU idle patch
- MIDI fixes (Bernd Roesch, Alfred J. Faust)
Beta 4:
- better Superfrog/Exile etc.. border fix (old version caused display problems with some demos)
- new input device configuration is finally working
TODO:
- more intuitive GUI (Help needed)
- add international key names
- implement multiple mouse support
Unfortunately it seems DirectInput don't support multiple mouse on W2K/XP.
http://www.angelfire.com/retro/u_rebelscum/faqs.html#win2000limit
(confirmed with two USB mouse on WXP)
- PC keyboard -> Amiga mouse/joystick/keyboard mapping editor
- OpenGL tweaks (scaling changed, 0,0,0,0 = centered screen. Added default-button)
- misc-tab changes (disabled state save-button if emulator is not started, reset and quit-buttons are always visible)
- GUI remembers last used property page (tab)
- two executables, one compiled with MSVC 7 (MSVS.net) and the other with MSVC 6.
Beta 3:
- HOME + F5 opens state restore dialog and SHIFT + HOME + F5 opens state save dialog
- experimental OpenGL support
internal window size is always 752*600 (376*300 if lores is enabled and linedoubling is off)
image size configuration
scanline emulation (transparency and size)
requires 1024 * 1024 or larger supported texture size (won't work with old cards)
- AVIoutput improvements (can be started later, stops when re-entering GUI, vsync-waits ignored)
- Picasso96/native mode switching should be working again (was broken in beta 1 and 2)
- Superfrog, Exile etc.. left border bug fixed
- adz support fixed
- CIA alarm update (fixes Torvak the Warrior's music)
Beta 2:
- build-in gzip and zip support (autoselects first adf-image or Amiga executable if zip contains multiple files)
- executable to adf support, just "insert" Amiga executable in to floppy drive
- improved external decompression support (currently only xdms.exe),
temporary files are loaded back in to memory and deleted immediately after decompression.
- 50/60/100/120Hz frequencies are now always selectable. I think this allows vsync-support with display drivers
that don't support frequency selection but support custom resolutions (for example with PowerStrip)
- Picasso96 Drawstudio fix (Bernd Roesch)
- removed 8/16-bit sound selection from gui. Sound is now always 16-bit.
- sound adjust slider reimplemented. (fully automatic sound adjust seems to be impossible..)
sound code is still autoadjusting but with very limited adjustment range
(allows 100% smooth vsync at least on my pc..)
adjustment instructions: move slider left until sound doesn't crackle anymore (no more sound buffer underflows)
adjustment position isn't very important except if you want vsync without random skips.
Beta 1:
- fixed right border garbage (CD32 bootscreens and other programs)
- "16-bit mode detect" does not crash anymore if registry keys are not found
- vsync updates, vsync can be enabled or disabled during the emulation
- Picasso96 JIT memory mapping update (Bernd Roesch)
- Refresh rate selection only affects Amiga display modes, Picasso96 always uses default refresh rate
- CIA changes
R3:
Beta 3:
- missing gui-tabs fixed (was broken in beta 2) (me)
- serial port update (Bernd Roesch)
- cycle exact bitplane modulo emulation (fixes Lemmings 3 AGA) (me, Bernd Schmidt)
I think this patch is finally bug free. Report immediately if you see display corruption!
- modified delayoffset hack (fixes Mindriot-demo) (me)
Beta 2:
- AGA mode EHB fix (Superfrog title screen) (me)
- hardfile sectorsperblock fix (Reorg works again) (from WinUAE 0817)
- CIA update (better compatibility with some weird programs) (me)
- PC joystick in both joystick ports works again (was broken in every 0821 release) (me)
- icon fixed (no more random pixels) (me)
- Picasso96 overlay mode is working again (was broken in beta 1) (me)
- Shapeshifter-checkbox fixed (from WinUAE 0817)
- JIT shift-instruction fix (from Basilisk JIT)
Beta 1: (VSync test beta)
- joystick keyboard emulation do not anymore create normal key presses
- sprite update (no more flashing bees in Superfrog)
- CIA update (fixes Powermonger, thanks to Istv<74>n F<>bi<62>n)
- VSync and separate refresh rate selection added
I had to implement this because I got too many requests :)
- requires DirectX 7 or newer (was DX5 or newer)
- Picasso96 and other misc updates (Bernd Roesch)
to do: input device configuration GUI
R2:
Beta 6:
- sprite emulation changes (me)
Beta 5:
- WBStartup filesystem fix (Bernd#1)
- FDI-image support re-merged (me)
Beta 4:
- fix SPTI/ASPI detection code (me)
- ASPI and SPTI CD32 media change detection implemented (me)
- JIT timing fix, filesystem access speed should be normal again (Bernd#3,me)
- shift/ctrl/alt+Fxx key combinations fixed (was broken in beta 3)
- CD32 pad button emulation fix (me)
Fixes stuck red button on some Team 17 games (Superfrog and Alien Breed 2, maybe more)
- fixed missing CD32 audio if all floppy drives are disabled (me)
- bsdsocket fix (Stephan Riedelbeck)
- added ASPI/SPTI SCSI layer selection (me)
Currently only ASPI supports non-CDROM devices (except harddisks due to security reasons)
- ASPI and SPTI code swaps SCSI bus and target if all units' target and lun is zero (me)
Only affects IDE devices (ASPI sets every IDE device to different "SCSI"-bus causing strange
uaescsi.device unit numbers)
Beta 3:
- fixed nasty and very old memory overwrite bug in keyboard_win32.c (me)
- SPTI uaescsi.device emulation works again (me)
- uaescsi.device ignored io error return codes, fixed. (stupid me)
- added CD32 media eject/insert support, Windows 2000/XP only (me)
- added missing #define USE_X86_FPUCW 1 (Bernd#3)
- serial port fix (Bernd#3,me)
Beta 2:
- this time really fixed max sound buffer crash (me)
- added Bernd#1's vsynctime "fix"
- JIT FPU fix (Bernd#3)
- filesystem A-flag handling was reversed (Stephan Riedelbeck)
- filesystem fixes (Bernd#1,me)
- blitter timing bug fix (stupid me, yet again)
- removed useless refresh rate from display mode selection box
- fixed crash if RTG was enabled and Z3 memory size was 8MB (Bernd#3)
- noticed problems with uaescsi.device SPTI support, uses ASPI until problem is solved.
- added more uaescsi.device logging (drive names and unit numbers)
Beta 1:
- filesystem fix (Bernd#1) Fixes at least some problems. Testing needed!
(Bernd: I only merged your first patch, second file order "fix" is not enabled)
- if JIT is disabled, disable "force settings" too (me)
- joystick 2 fixed (me)
- AR "freeze"-button was pressed when exiting GUI, fixed (me)
- memory leak and small bsdsocket fix (Stephan Riedelbeck)
- clear extended rom and cartridge rom configuration entries when loading new config (me)
- pressing F12 and then later pressing shift doesn't start debugger anymore (me)
- sprite fix (me)
- Windows 2000/XP CDROM detection fix (CD32 and uaescsi.device)
- re-enabled full-row-select option (config load/save and hard drives -tabs)
- sound changes. Does this fix crashes and/or bad sound?
- copper fix (Bernd #1)
- CTRL-AMIGA-AMIGA-ALT resets and clears chipmemory (removes all reset proof programs)
Beta 6:
- rare keyboard freeze fixed (caused by fault AR3 keyboard hack)
- blitter nasty fix
Beta 5:
- added missing Bernd#3's serial port update
- Battle Squadron sprite fix (me)
- copper fix (Bernd#1)
- filesys seek fix (Bernd#3)
- joystick gui fix
- added hack that tries to prevent notebook cpu throttling when calculating cpu speed (Bernd#3,me)
- zlib.dll support merged from 0817R3 (me)
- another stupid blitter cycle diagram bug fixed (me)
Beta 4:
- scsi.device config file fix (me)
- sound buffer gui changes (me)
- sound fix (Bernd#1)
- win32 specific thread code replaced with SDL threads (me)
- big sprite state machine update (me)
- disk images are replaced correctly when restoring state (me)
- filesys seek fix (Bernd#3)
- fixed broken fps counter after returning from gui (me)
- fix stupid blitter cycle diagram bug (stupid me)
Beta 3:
- another bsdsocket fix (Bernd Roesch)
- midi in/out selection boxes added (me)
- filesys fix (Bernd Schmidt)
- Action Replay 2/3 support, freeze button = PageUp (me)
- serial/parallel port updates (Bernd Roesch)
- VPOSW refreshrate hack support added (me)
- copper timing updates
- some missed fixes from 0.8.21
Beta 2:
- maximun screen height increased (600 -> 1280)
- uaelib updates
- middle button = alt-tab fixed
- added track display enable/disable button
- better blitter patch
- AviOutput sound capture added
- >2MB Chip works again
- Z3RAM can be larger than 64MB
- default.uae fixed
- missing call to bsdsocket.library initialization added
- "Add PC drives" fixed (CDROM drives are ignored)
I think it is better to use uaescsi.device to access removable (CDROM) drives. Any comments?
Beta 1:
- full CD32 emulation
- uaescsi.device Win32 port
- blitter "fix" (fixes Desert Dream freeze and Hostages insta-kill)
- input device rewrite (no config file save/load and gui yet, not very useful now..)
- Sane's AviOutput (no sound support yet due to changes in 0820 Win32 audio code)
- JIT + some fixes (I decided to drop "JIT"-part from the name)