[7]
faust # EAB Winuae 6.1.0 |
!!! Poniedziałek, 28 Września 2026 00:01 CET [11-04-2026 23:20 CET]
Nowa testowa wersja WinUAE. WinUAE to jeden z najpopularniejszych emulatorów komputerów Commodore Amiga na system Windows. Dzięki niemu możesz uruchamiać klasyczne gry, programy i demoscenę z modeli takich jak Amiga 500, 1200 czy 4000 bez posiadania oryginalnego sprzętu.
Program oferuje bardzo dokładną emulację procesorów Motorola 68k, chipsetów OCS, ECS i AGA, obsługuje pliki dyskietek ADF, obrazy dysków twardych oraz savestaty. Jest ceniony za dużą zgodność z oryginalnym oprogramowaniem i ogromne możliwości konfiguracji — od ustawień pamięci RAM po grafikę, dźwięk i kontrolery.
Non-CE non-immediate mode blitter speed was almost as fast as immediate (b13)
Restored non-CE mode approximate blitter slowdown due to bitplane cycles. Was temporarily disabled and forgotten when 6.x started.
(Useless) UHRES emulation works again and implemented previously unknown feature: UHRES can WRITE to Chip RAM! (ECS Agnus: BPLCON0 bits 5 and 4, AGA BPLHSTOP and SPRHSTOP bit 15 changes UHRES BPL/SPR dummy DMA reads to writes) Unfortunately written data can't be directly controlled, it is whatever was last written to chip bus.
If program wrote to VPOS causing vpos to never match vsync lines or set impossible programmed vertical sync values, it was possible for UAE to appear like it was partially hung (keeps running, Windows won't report it as hung but for example F12 didn't work).
On the fly screen mode changes didn't always unlock target graphics buffer/texture.
Fixed D3D11 fullscreen -> F12 -> change to windowed or full-window: black screen.
Paula DMAL serial line and Agnus internal shift register used to select Paula DMA channels are now more accurately emulated: VHPOSW modification side-effects (almost?) fully emulated. Side-effects are internal shift register getting out of sync with Paula DMAL line, causing wrong DMA channels to be selected (disk DMA slot may become audio slot or vice versa or same slot can get duplicated) or not selecting any DMA channel or causing conflicts. (Not all conditions have been tested yet)
Paula DMAL disk RW bits directly follow DSKLEN WRITE bit state (R=0, W=1). Continuously, even when no disk DMA is active. Only makes a difference when doing above VHPOSW changes.
Paula DMAL bits are included in DMA debugger (Pdx/PDx for disk RW and DMA request bits, Pax/PAx for audio pointer reload and audio DMA request bits)
DMAL cycle allocation is now emulated cycle-accurately. Allocation signal is generated 1 CCK before DMA request is generated (and DMA transfer is finally done in following cycle), same as other DMA channels. VHPOSW modifications can cause DMA conflicts. Only emulated in 68000 CE mode.
Discovered (accidentally as usual) new Copper feature/bug: previously discovered undocumented back to back even cycle dummy load from address zero has a hidden bonus undocumented feature: if Copper DMA is switched off exactly during second even cycle, copper will allocate next copper cycle but no DMA request is generated (Cycle allocation happens 1 CCK before DMA request generation). Result is dummy load from address zero followed by unused allocated cycle.
If next scanline is 2 CCKs or more longer or shorter than previous line, activate lost sync state.
Winuae 6.1.0 Beta 15 20/09/2026
Fixed borderblank shres pixel delay in AGA modes showing shres pixel sized border color stripe instead of black. Was only visible if shres resolution was selected in display panel.
MIDI fixes, even if MIDI IN was not configured, some MIDI IN win32 calls were still done (was probably harmless), if MIDI IN initialization failed (for example buffer allocations), MIDI IN was still considered allocated. Also more error logging added.
When opening MIDI IN/OUT device, try to match device name/id first. Device index may have changed, for example if USB device was removed and reinserted.
If MIDI win32 API reports MIDIERR_NODEVICE (for example USB device was unplugged), close MIDI port immediately.
Fixed serial port emulation stuck receive interrupt with some third party serial device versions. (b6)
Fixed JIT + 80-bit host FPU. (b6)
Added config file only "joyportdefaultx" (x=port 0 to 3) option, overrides default fallback to keyboard joystick layouts when previous device is unplugged. none, kbd1, kbd2 and kbd3 (Layouts A, B and C) are available options. Previously hardwired default was always layout A.
Fixed bitplane and sprite DMA memwatch breakpoints.
Winuae 6.1.0 Beta 14 14/09/2026
RTG mode: refresh rate was calculated incorrectly, causing side-effects like bad sound. (b10 and b13)
Native mode vertical blank start/end detection was still unreliable, caused display to have +-1 line vertical offset in some situations.
Copper bugs (COPJMPx blitter conflict, weird conflict when COP1LCx is written exactly when VB triggered COPJMP1 starts) reimplemented for 6.1.
Adjusted normal Overscan setting screenshot positioning to match previous versions.
warpboot_delay was never loaded from config file. (warpboot_delay = how many frames to delay boot warp mode automatic switch off)
Debugger 's' shows parsed search bytes as hexadecimal before starting search.
Changed A2410 VRAM size to 1M. Board has 2M of RAM but only 1M is VRAM, the rest is for program and overlay. If VRAM size was different than original configured value during reset, soft reset was changed to hard reset because emulator detected this on the fly VRAM size change.
Winuae 6.1.0 Beta 13 06/08/2026
Fixed random crash in Denise side drawing thread writing to invalid pointer during blanking periods.
ECS Denise programmed blanking state got stuck blanked if BPLCON3 EXTHBLANKEN was reset during hblank period.
OCS/ECS write to SPRxDATA ARM enable is CCK aligned, only SPRxDATA sprite pattern data is loaded 0.5 CCK earlier.
"Sprite SPRxDATA write exactly when horizontal position would match and also arm the sprite: use previously loaded SPRxDATA value" was not fully working in AGA mode.
Copper COPJMPx when previous Copper DMA was pending was not emulated fully correctly. COPxJMP write or frame start COPJMP1 and pending Copper move in next cycle: cycle still happens but register write does not happen. (This and all above are Ross test accidentally found side-effects)
NTSC line length detection was unreliable, it would randomly choose long field length instead of short field length, causing display to be 2 lores pixels wider than expected and possibly also had horizontal offset.
ECS Denise programmed modes didn't set internal hblank start/end values and caused mispositioned display if Chipset panel monitor positioning mode was blanking based.
On the fly blitter cycle-exact to non-cycle-exect switch may have caused hung emulation if blitter was in nasty mode, blitter cycle-diagram didn't have idle cycles and was active during switch.
Rewrote "blitter stuck" handling in non-CE modes. This happens when blitter DMA is switched off after starting the blit but before it had finished. Previously this was checked every 10 CCKs using events which was unnecessarily CPU heavy. Now it simply checks DMACON writes. Amix boot without immediate blitter can trigger this.
ARM64 JIT fix from Amiberry (slow division instructions)
Virtual mouse driver can be enabled/disabled on the fly. NOTE: Can be only enabled on the fly if configuration has UAE Boot ROM enabled.
Virtual mouse absolute coordinates are not injected to AmigaOS side if no absolute coordinates have yet been received from host, for example some mouse setting configuration combinations made early boot menu unusable, mouse always jumped to top/left when pressing mouse buttons.
Optimized cycle-exact mode event handling.
68030 MMU fix from AnimaInCorpore (MMU bus error stack frame handling in prefetch mode should use new loaded opcode word from pipeline prefill instead of exception stack frame stored previous opcode value)
Save current floppy speed to statefile.
Manual filter panel horizontal position had offset when old config was loaded.
Screen when fast drawing mode active and part of top or bottom border was not visible on screen: screenshot before filtering missing parts could have wrong background color or missing blanking.
Debugger breakpoints disable/enable option: ft <num> = enable/disable breakpoint. fta = disable all if one or more is enabled. Enable all if all are disabled.
Built-in AROS ROM updated.
Built-in AROS ROM was not loaded in relative paths mode.
Winuae 6.1.0 Beta 12 06/08/2026
RTG panel "Visible display" was only ticked when hardware emulated board was active, it was not ticked in uaegfx modes.
Fast CPU mode + P96 RTG mode active + new P96 Disable Amiga video option enabled (Programmed mode with HSSTRT and VSSTRT set to out of range values which disables both syncs): internal refresh rate variables was not always fully updated, causing for example bad audio.
Fast drawing mode didn't flush all pending delayed special cases and caused odd display glitches in some situations.
All Windows file/directory dialogs now have shortcut to configurations/adf/rom/hdf/statefiles paths listed (Location and naming on file/directory dialog window depend on used Windows version). This was already partially done in previous beta.
Freezer cartridge custom ROM support. "Custom Cartridge ROM" checkbox added next to cartridge ROM selection. Ticking it allows to override possible ROM scanner detected path. NOTE: if cartridge is not listed because ROM scanner didn't detect it and you want to use custom ROM: tick custom checkbox first, after that select the cartridge model. Ticking without cartridge selected includes all hidden cartridges. (Previously any custom ROM via config file selected AR1/2/3 depending on ROM image size)
DeMoN v1 and v2 cartridge emulation (Flash ROM, 1024k RAM. v2 USB is not emulated), DeMoN v1/v2 variants of Action Replay V confirmed working.
Do not send any clock sync requests (Syncronize clock misc panel option) if AmigaOS is not running (wait for heartbeat first) because program that took over the system may not want any unexpected interrupts. Clock sync method was changed in b1.
Power led switch off/dim option didn't work on the fly.
Debugger z command fixed.
Winuae 6.1.0 Beta 11 03/08/2026
Added "Visible display" checkbox to RTG panel. Only shown when emulation is running and selected RTG board is active. If visible: unticking it will switch to native screen and if not visible, it will switch to RTG mode. Hopefully this is more discoverable and more intuitive way to manually switch displays than END+F9 key shortcut.
Added Chipset/Next display/Previous display to systray menu.
CyberVision/BlizzardVision PPC autoswitch support (Permedia 2 SVGA chip display blanking and DPMS register bits emulated)
CSMK3/CSPPC/BPPC and CyberVision/BlizzardVision PPC and no PCI bridges configured: automatically add G-REX. (In real world G-REX is not needed but functionally CVPPC/BPPC slot is single slot G-REX)
uaegfx BlitPlanar2Direct plane mask was ignored when minterm was not inverting the source. (p96cts test)
Refactored OSD led code.
OSD CD led was only activated after first CD access, enable it immediately when starting config with one or more CD drives. (b10)
OSD FPS shows now RTG refresh rate if RTG is active and chipset sync is disabled, matching windowed mode status bar FPS value.
NE2000: drop packets that are too big.
NE2000 and A2065: do not receive packets that have source mac == our emulated card. Host side may reflect all sent frames back which can confuse network stacks.
Fixed random crashes when switching from (usually doublescanned hires) native WB mode to RTG mode without closing the native screen first (for example ScreenMode Prefs Test-button could trigger it but selecting new WB RTG mode resolution would not). Since v6.0. Resolution mid screen change didn't immediately recalculate all native rendering parameters causing possible drawing buffer overflow.
If $b00000-$b7ffff was used for ROM image (last 512k slot of 2M ROM), it was not directly accessible, causing crash in non-more compatible CPU/JIT modes. (Broken when second 1M space was it was split to 2x512k regions long time ago)
Fixed hunk executable ROM loader. It only worked if only first hunk had relocations. (Always been broken, it probably worked with some early hunk AROS ROMs)
If executable (hunk or elf) is loaded as a ROM: ROM region is not write-protected. This allows custom ROMs with writable DATA or BSS chunks.
Some chipset emulation optimizations.
Still same todo list:
Fix remove interlace artifacts. (This is so boring to fix..)
Fix display port adapters. (and this one too)
Winuae 6.1.0 Beta 10 26/07/2026
AGA Lisa bitplane and sprite shifter FMODE change side-effects should be now fully accurate. Bitplane and sprite data storage and shifters now always use 64-bit variables to match real Lisa behavior. OCS/ECS is unchanged (16-bit).
OSD leds are dynamically positioned. Leds that are only shown if configuration has led's device type enabled (for example CD, HD, NET, MD etc) do not leave empty gaps anymore. DF0-DF3 are always shown even if disabled because they have always been shown and also some programs do try to access non-existing drives. show_leds_enabled and show_leds_enabled_rtg config file entries hide all non-configured leds. Does not affect windowed mode bottom bar.
A3000 SDMAC and WD SCSI chip emulation updates. Diagnostics software tests pass. Also $DD4000-$DDFFFF region is inaccessible (Fat Gary generates bus error or bus timeout)
68030 MMU emulation fixes. When bus error handlers "stack" (Another bus error exception happens during bus error handler), "reg fixup" was done twice: -(an) or (an)+ address mode decrement/increment reset back to original pre-exception value was done twice. Restore original retried instructions opcode, if bus error handler's RTE faults again, new fault put RTE's opcode to exception stack frame, not the original faulting opcode. (Amix random problems, possibly also other unix variants)
Winuae 6.1.0 Beta 9 6/07/2026
Added Vortex ATonce plus 286 bridge board emulation (https://github.com/na103/Dueottosei/). NOTE: this is quite different than Commodore bridgeboards.
If RTG mode was active and chipset mode was invalid or syncs disabled: RTG mode FPS counter was not shown.
RTG Integer scale mode now also supports filter 1/x integer scaling option. (1/1 = normal x.0 integer scaling, 1/2 = x.5 and x.0 scaling allowed, 1/3 = x.75 x.50, x.25, x.00 allowed and so on)
uaegfx Picasso96 modeinfo structure pixel clock value corrected, now all modes show correct refresh rate in (for example) ScreenMode prefs. Previously different resolutions had slightly different refresh rates. (+-2Hz or so difference).
b7 "Internal CCK counter changed to 64-bit" missed counter variable 32-bit to 64-bit update.
Writes to extended ADF that are much longer than track max size or partial writes (write less than track size) are now emulated correctly. Previously single write was always considered full track update and very long write was not correctly written to image file.
Fixed AM79C960 ethernet chip ID register (wrong endianness), affected at least Linux Ariadne driver ("Couldn't find AMD Ethernet Chip").
AM79C960 DPOLL/TDMD register bits correctly emulated. Ariadne ethernet card now works in Linux without transmit timeouts.
DP8390 based NICs (Ariadne II, AmigaNet etc) didn't work in Linux due to byteswap bug. This didn't affect later NE2000 clones. NOTE: X-Surf 100 does not work in Linux because Linux driver uses AX88796B-only features that are not yet emulated. AX88796B is NE2000 compatible but also includes AX88796B-only features.
Ariadne II network card EEPROM stored MAC address is stored byteswapped.
Added workaround for possible compiler optimization bug, A2065 and Ariadne work again. (b8)
Print to file option added, if selected, path is queried and raw data coming from emulated parallel port is saved to a file in selected directory ("Print_xxx.dat", where xxx is file id number). Note that file is fully written and closed only after autoflush timeout after idle parallel port state or if Flush print job button is pressed.
ProWizard module ripper updated to 1.70a (Stefan Reinauer).
QEMU PPC DLLs updated (includes also UAE side update), should fix OS3.x + PPC configurations (b8) (Amiberry). NOTE: QEMU9 (32-bit) is different than QEMU11, 32-bit may not be fully fixed or may have other problems. (https://www.winuae.net/files/b/ppc_plugin_11.7z) EDIT: 7.7.2026 updated, fixes old random hang when quitting.
Still todo:
Fix remove interlace artifacts.
Winuae 6.1.0 Beta 8 11/06/2026
Fixed AGA only sprite bug if DMA written SPRxDATx was immediately followed by Copper (or CPU) SPRxPOS/CTL write in next CCK. Pending SPRxDATx write was skipped in this condition. (6100b1)
A1060 Sidecar BIOS 2.07 (380619-04) added to ROM scanner.
Amiberry updates:
ARM64 JIT CPUTESTER detected bugs fixed, most shift instructions, DIV, DIVL.L, MULL.L wrong flags in special cases, NEG.B/W flags, BFINS, branch to illegal instruction wrong stack frame address.
x86/x64/ARM64 JIT now passes all integer CPUTESTER tests, including useless LINK.x #z,SP and MOVEM.x #<regs>,-(An) where register list includes An.
uaenet.device cleanup fix.
Patches from Stefan Reinauer:
QEMU 11 based PPC emulation plugin. x64 and ARM64 supported. 32-bit version is based on QEMU 9. QEMU 10+ dropped 32-bit support.
Misc compilation warning/portability patches.
Advanced chipset "DF0: ID Hardware" was not saved to config file.
Lots of (unexpected but nice) under the hood changes to non-emulation core.
Winuae 6.1.0 Beta 7 30/05/2026
ARM64 JIT added (Amiberry). CPUTESTER found some ARM64-only JIT bugs which will be fixed in future versions.
x64 JIT does not anymore require all Amiga address space memory located in first 4G of host process address space. Address space randomization feature is now enabled in x64 version. Also some minor JIT updates. (Amiberry)
Always stretch NTSC now overrides other manual aspect ratio settings, this is the default and simple option that automatically selects correct NTSC pixel aspect ratio (If not integer scale mode). Previously selecting multiple aspect modes would have resulted in weird aspect ratios. Note that PAL is always 1:1 mapped in this mode which is not exactly correct.
If vertical value changes, wait one frame before recalculating "monitor" parameters, it could be single frame glitch due to single VPOSW or BEAMCON0 write causing unnecessary vertical single frame jump.
Filter panel "Keep aspect ratio" renamed to "Pixel aspect ratio adjustment" and new "TV (PAL)" and "TV (NTSC)" added. This should make this option a bit less confusing (I am sure it still is confusing) "TV" = match selected chipset PAL/NTSC mode like previously. Having manual PAL/NTSC option makes it easier to see how it affects the display. This is the advanced pixel aspect ratio setting. Normally not needed.
Filter panel filter presets didn't store scanline offset (gfx_filter_scanlineoffset) and rotation (gfx_filter_rotation) settings.
Added filter scanline offset and rotation to filter presets.
Configured RTG refresh rate (if other than default 60Hz) was ignored when creating RTG modes (RTG modes in ScreenMode prefs still had 60Hz instead of configured refresh rate) until RTG mode was activated at least once and then emulator was reset or restarted.
Serial port emulation CR/LF conversion added to GUI. (Was previously config file only serial_crlf=crlf_cr)
Fast CPU mode serial port emulation was unreliable (This might have have only affected some host serial devices or device drivers)
Fast CPU mode serial port transmit throttling implemented, if queued number of transmitted bytes is larger than 20 (to guarantee small transmit bursts are sent with minimal latency) and bytes were transmitted too quickly relative to selected baud rate, Paula serial port transmit interrupt and transmit buffer status bit updates are delayed to match selected transmit baud rate. Does not affect "Direct" serial mode.
Amiga Paula serial port SERDATR OVRUN bit emulation was partially broken and triggered randomly even when there was no overrun, causing retries or lost data. (5300b10)
Added new known (=static modeid) RTG screen modes: 2048x1280, 6144x3456, 7680x4320.
Internal CCK counter changed to 64-bit. It overflowed every ~20 minutes, causing single frame glitch. (6.0)
PortAudio updated to latest github version. ARM64 PortAudio support added.
CPUTESTER tests:
Fastest possible CPU 68020/030 useless LINK.x #z,SP instruction now works identically to real CPU. Prefetch/CE was already correct, fastest possible had missing check in gencpu.
Previously missed special case: AND/EOR/OR #x,CCR and T0 trace bit set: trace is generated if 68020/68030 (This didn't generate trace). 68040: trace is not generated, only AND/EOR/OR #x,SR + T0 trace generates trace. 68060 removed T0 trace bit.
ARM64 build has now feature parity with x86 version.
Winuae 6.1.0 Beta VI 2/05/2026
First official native Windows ARM64 build. (Not ARM64EC with mixed x64 code anymore that was used in older test versions)
"64-bit" in title and about window replaced with "x64"/"ARM64".
Updated most static support libraries and also recompiled for ARM64 (zlib, png, flac, munt etc). Some library names and paths have changed.
"Overlay" video port adapters (like genlock or CD32 FMV) had wrong position and size at boot for few seconds.
ARM64 build main missing features:
Direct3D9 (D3D9X library is obsolete and does not have ARM64 version).
JIT (Amiberry Windows ARM64 JIT support is still work in progress)
OpenAL and PortAudio audio support.
Winuae 6.1.0 Beta V 30/04/2026
Emulated A1200 and A4000 mainboard (CD32 fix is inside Akiko) Alice blitter busy bug fix circuitry that causes graphics glitches in FMODE=0 and 7 lores planes AGA mode and blitter nasty off. If blitter finished but final D write is still pending, CPU can steal multiple cycles from the blitter and can have more than enough time to update blitter registers for next blit before blitter finally gets free cycle to write final D. This fixes graphics glitches for example in Charlie J Cool, Zool 2 AGA and more.
b4 CPU stealing blitter cycle change reverted, it was wrong, correct fix is above fix.
Last 2-3 lines were not visible in normal PAL/NTSC modes.
This should fix "68020 CE has something wrong (no easy test case so far), it was supposed to be same as previously but it isn't.". This was extremely nasty and can affect 6.0 (6.0 differently than 6.1) up to 610b4. Blitter emulation was rewritten to match Alice schematics accurately in v6 but it missed very important bit: blitter in non-nasty mode has a bug which is fixed by extra logic on mainboard (TTL chip on A1200, PAL in A4000, CD32 fixed in Akiko) which I missed completely until now. Previoius blitter emulation was not accurate enough to not trigger this condition. Note that OCS/ECS also have same "bug" but it can't trigger (at least not continuously) because Agnus bitplane DMA can't steal as many cycles back to back and still have single free cycle every 7 cycles which CPU would always steal from the blitter.
Winuae 6.1.0 Beta IV 26/04/2026
When config was changed on the fly (This includes loading statefile after emulation has been started), FMODE AGA-only register could have reset back to previous zero value after few seconds. (Probably introduced in 5.x)
If emulation was already started and config change from OCS/ECS to AGA was done by setting new quitstart config or loading new config file, OCS/ECS-only "7-planes" mode (6 planes shown, 4 DMA transferred, last 2 can be updated with Copper or CPU) was activated if AGA program used 7 planes, FMODE=0 and lores screenmode. (bug has existed at least since 5.x, probably is even older)
Display vertical start changed after each reset in most configs.
Loading some statefiles caused display to be detected as 2x doublescanned, resulting in a very wide but short display.
Allow immediate blitter in cycle-exact CPU modes (which makes no sense but for testing purposes it can be useful). Blitter finishes immediately after BLTSIZE write, no DMA cycles used.
Added workaround for very old statefiles with A1000 chipset extra but AGA enabled. Statefile would load normally but any on the fly config change would disable part of AGA features causing display corruption.
Adjusted CPU stealing blitter cycles (blitter nasty) in 68020 CE mode, now it is closer to 5.x timing. (This is due to lack of 68020 CE accuracy). It should have been same so this needs debugging later.
Merged Velvet prototype keyboard fix from segrax. Keyboard was connected to CIA-B in Velvet.
Debugger sp command update, show also sprite data in hexadecimal and also include sprite data after last line of sprite. Data that is normally loaded to SPRxPOS/SPRxCTL. Attempt to autodetect sprite width (16/32/64) by checking distance between SPRxPOS/SPRxCTL words.
Debugger initial PC now points to start of next instruction, instead of start of following instruction.
Debugger fc command didn't always break when it should have.
Debugger copper break point now points to copper instruction start instead of copper instruction start + 2 (6.1.0)
Winuae 6.1.0 Beta III 20/04/2026
b2 68020/030 CE interrupt fix made interrupts too fast, now they are always delayed until next instruction has finished which probably isn't fully correct either but better than previously (too fast or delayed by multiple instructions).
OCS Denise NTSC odd/even line sawtooth pattern is now correct in Overscan (completely hidden) and Overscan+ (visible in right border).
Winuae 6.1.0 Beta II 19/04/2026
Detect missing hsync/vsync and trigger "no signal" state quicker. "No signal" state was also clearing internal buffer every frame, slowing down emulation unnecessarily.
If program writes to BEAMCON0 (for example enabling programmed horizontal or vertical sync) but matching programmed mode registers are still uninitialized and monitor sync mode is combined: do not switch to (unusable) H/V sync cable mode. (Love / VD/Fairlight writing bogus value $0200 to BEAMCON0)
If "no signal" state is active when display mode changes, wait until syncs are valid and then wait 2 more fields before deciding display aspect and size after display parameter change. (AR3 corrupted screen in cycle-exact mode after entering it twice)
b1 clock sync change didn't check if UAE Boot ROM interrupt was active before sending the sync request message, causing hang due to stuck interrupt if done too early.
Only emulate VHPOSR/VPOSR reading 1 CCK later value than all other parts of chipset sees in cycle-exact modes, it can cause side-effects in fast CPU modes.
68020/30 CE mode sometimes delayed interrupts until 68020/030 prefetch buffer was reloaded (after branch/RTS etc instruction). (old)
HDIW removed from debugger c command, it can't show current HDIW state cycle-accurately because Denise side scanline is emulated after Agnus line has been completed. Use DMA debugger to check HDIW state.
68020/30 memory cycle-exact instruction cache loads didn't check for chip bus DMA stealing CPU cycles. (old)
Fixed always on active HDIW not being saved to statefile and not loaded from statefile (same reason as above).
Keyboard could stop working if system was reset during keyboard reset warning wait period. (Probably introduced when emulated keyboard controllers were added)
Added ~ (NOT) operator to debugger calculator.
Debugger od copper disassembler stored horizontal/vertical values are now cleared when debugger is enabled or disabled.
Known broken:
OCS Denise NTSC odd/even horizontal toggling is visible incorrectly in overscan/overscan+.
68020 CE has something wrong (no easy test case so far), it was supposed to be same as previously but it isn't.
"Remove interlace artifacts" (always breaks)
Display port adapters. Only A2024 works.
Winuae 6.1.0 Beta I 11/04/2026
WinUAE 6.1.0 beta series. Big changes to internal "monitor" emulation and more.
Copper emulation rewritten to match low level logic (Relatively simple 3 stage state machine based on Alice schematics). This is needed to support nasty VHPOSW write special cases. Emulation code is also now much shorter and simpler, all COPxJMP special case hacks are gone.
Unified native and programmed mode display positioning. For example positioning in native PAL and programmed mode that sets matching PAL parameters is now identical. This also includes overscan setting, previously programmed modes ignored TV mode settings.
Display positioning now only uses Agnus/Alice generated sync and optionally using blank signals (like real displays work, sync+blank is the default, backwards compatible), this enables correct positioning even if mode is very strange. Previously positioning used hardwired PAL/NTSC sync/blank positions or programmed mode sync/blank register contents, this mode can only work mode is not too weird.
Display height is from vertical blanking end to start. If vertical blanking is completely missing (It isn't required in real world, only need black in VB area to not confuse display's black level calibration), vertical size is from vsync start (plus few lines) to next vsync start. Horizontal width uses horizontal blanking (or if missing, from hsync + few CCKs to start of next hsync).
Chipset panel Monitor Sync Source option renamed to Monitor sync / positioning mode. First 3 options select blanking based positioning/size mode (default, same options as in previous versions), new 3 options select sync based positioning/size mode. This is basically how CRTs originally worked, later models had digital control logic and could have also used blanking for positioning.
Extreme overscan mode now is same as selecting sync based positioning/size mode.
Display panel horizontal centering should work (at least slightly better) in doublescanned modes.
Display panel horizontal and vertical centering options are disabled and cleared if overscan mode is Overscan+ or higher (and restored automatically if overscan is set back to original value in same session). Previously centering was already ignored in Overscan+ but GUI options was not cleared.
Integer scaling was wrong if, for example, vertical was doubled but horizontal was lores or shres without scandoubling.
Added "Automatic integer scale" aspect ratio option to Display panel. If ticked, all resolution/line mode combinations, including doublescanned modes always have correct integer aspect ratio. Without this option some programmed modes are very tall and narrow or vice versa. Option is automatically enabled except if loaded config already has new config entry or if filter config has different horizontal and vertical zoom factors or if resolution is not hires or if vertical doubling is not enabled.
Doublescan mode detection (Enables internal horizontal doubling) is now more accurate. This is used to add 2x/4x horizontal doubling to keep correct aspect ratio (above new option). Doublescanned modes are half-width scanlines with double the number scanlines which would result in ugly aspect ratio without horizontal redoubling. All programmed modes should now have correct aspect ratio if "Automatic integer scale" is also ticked (correct as in not tall and narrow or short and wide)
Automatic scaling and Auto integer scale should be now fully working in all programmed modes.
Directory filesystem ACTION LOCATE OBJECT (dos/Lock() creates ACTION LOCATE OBJECT filesystem packet) now checks if file or directory physically exists and return not found error if it was cached but not found, stale cached node is also flushed. Previously if it was already cached and then file/dir was removed from host side, Lock() still succeeded.
uaegfx hardware sprite mouse cursor colors didn't update until sprite shape was also modified. This was not normally visible because shape was always updated after color change. (604?)
A3000 SDMAC now uses word or long (depending on RAMSEY version) DMA transfers and drops last odd byte (WORD) or 1-3 extra bytes (LONG), matching real hardware. Driver bug that does not transfer last 1/1-3 remaining bytes now also happens in emulation.
A2091/A590 DMAC DMA uses now word based DMA reads/writes and does not anymore DMA transfer last odd byte, matching real hardware. (This also should have above real world driver bug, not confirmed yet)
Host clock sync moved from directory filesystem process to UAE Boot ROM helper task that is always running when UAE Boot ROM is enabled. Clock sync does not anymore require at least one directory filesystem.
Display port adapters (after being updated to work with new display emulation) will work in Overscan/Overscan+/Extreme modes. Currently A2024 is the only working one. (But not fully in Extreme). Display port adapters/CD32FMV/Genlock are now always disabled in Ultra extreme overscan.
Debugger ? now also supports decimal parameters and 6888x floating point formats (single = $xxxxxxxx.S, double = $xxxxxxxxyyyyyyyy.D, extended = $xxxx.yyyyyyyyyyyyyyyy.X). "?." toggles output of floating point values, default off, floating point values are always shown if input value is not integer. Floating point registers supported (RFP0 = use current FP0 contents). NOTE: If floating point values are used in calculations, calculations are done using host double format. (Will be replaced with 80-bit softfloat in the future)
Some debugger fixes and tweaks.
Added *.hda to hardfile dialog file filter. (604?)
If sprites were in AGA 64-bit wide mode and data registers had non-zero data, then sprite mode was switched to non-64 bit mode, then data register was updated (Copper/CPU), only non-64 bit internal sprite data variable was updated and pre-update graphics was shown if sprite was switched back to 64-bit mode. (Virtual Karting 2) (604?)
Filtered low resolution setting was not implemented in generic and slow drawing routine (used only when sub-pixel effects need to be emulated). (Virtual Karting 2 had single line of non-filtered pixels)
Fixed 68000/10 cycle-exact statefiles being randomly broken if CPU was mid-instruction doing chip bus read when statefile was saved (6.0.x). Also added partial workaround that allows some of already broken statefiles to load properly. (Very stupid bug, variable was replaced with zero constant temporarily during 5.x->6.x refactoring but it was never restored) (604?)
Disk wordsync interrupt was only allowed when DSKLEN WRITE=0 but it is only inhibited when disk writing is active. Was broken few versions ago. (Global Trash / Silents) (604?)
Lines that TV overscan setting blanked also skipped bitplane/sprite collision detection.
uaescsi.device SCSI command REZERO UNIT should stop audio CD play. (604?)
TL;DR:
Programmed and native screen modes now use same sync/blank timing detection emulation code. Programmed and native scree n mode "monitor emulation" (sync/blank/etc detection) now uses same emulation code. Display positioning is now based on generated sync/blank signals instead of using hardwired PAL/NTSC or programmed mode register contents which are not necessarily same if program does VPOSW tricks.
Important tests:
If old config files with filter/display panel settings in PAL/NTSC modes still work correctly.
Unified native/programmed mode can break existing configurations that have manually adjusted programmed modes. Only native PAL/NTSC mode normal overscan+ or smaller filter configuration positioning and size will be kept compatible with old config files (If it isn't, report it and include config file). Autoscale and other similar filters should now work much better when mode is very weird.
Known broken:
"Remove interlace artifacts" (always breaks)
Display port adapters. Only A2024 works.
Possible quick fix 6.0.4 will have changes marked with (604?). This will be decided in next 1-3 weeks.
Windows ARM64EC builds will be added to github automatic builds later, currently waiting for new Snapdragon X2 laptop (few weeks to few months, I guess)
Here is current development ("winuae.7z") version fixes and updates. This becomes short beta series thread in next week.
6.0.0 bug fixes:
Fixed TCP serial mode hang.
Entering and exiting GUI when in fullscreen mode crash fix.
Virtual mouse driver mode was not in sync with host cursor, both RTG and native modes.
Filter overlay graphics display positioning/size calculation was broken.
ECS superhires works again (got broken in last minute update before final).
CLXDAT bit 0 (odd to even bitplane collision bit) didn't get set in special case where no planes are selected for collision detection (=always collides). (Cruncher Factory/Kingsoft). This is now also more accurate than in pre-v6 versions, CLXDAT bit 0 is only set when bitplanes are active (not in border or in blanking regions), even in "always collides" state (no bitplanes are enabled for collision).
CLXCON and CLXCON2 was always saved as zero (or if statefile was loaded first, value from statefile) to statefile.
Fixed edge case in COPJMP sequence where copper forgot it was going to load the pointer register and continued executing from current address.
Vertical and horizontal centering works again (was not converted to new chipset emulation and did nothing). Some limits change: now works with non-"auto" scaling filters, disabled if genlock image/video emulation is active (this never worked properly in old versions and too messy to work around), horizontal is now restricted to max 1/4 of width to prevent weird cases to cause weird side-effects. Like previously, only supported in display panel Overscan and smaller settings.
Fast drawing mode + 32-bit Chip RAM address mask fix. (Garbage in fast drawing mode lines)
When switching from emulated graphics board to native programmed mode screen, sometimes screen (fast drawing mode part) had offset.
In some situations emulated graphics board was not drawn fully, bottom part was blank.
Add Harddrive: Storage devices containing MBR partition table with RDB in later blocks was not detected correctly.
OpalVision possible buffer underrun crash fix.
Other bug fixes/updates:
RoboCop 3 dongle emulation fixed.
Added Native/RTG autoswitcher option. Previously all RTG boards without built-in switcher always autoswitched, now it is optional, default enabled.
If UAE Boot ROM is partially disabled (Mapped but diag bit not set in autoconfig data), writing to m68/host trap related areas caused a crash.
ROM scanner now detects CyberStorm MK3/PPC and BlizzardPPC flash rom images using checksums. Address ranges that make ROM image unique (Serial number/board config and menu config areas) are ignored in checksum calculation.
ROM scanner *.a600 ROM extension added. Super IV cartridge is not anymore shown as detected without ROM image (Super IV is a special case, "ROM" is loaded from disk and "placeholder" ROM was always detected as found)
Copilot key now works as a right Windows (Right Amiga) key. Note that this is a hack and causes some (harmless) extra shift and left Windows key presses and releases due to Copilot key being really weird. (LSHIFT + LWIN + F23!)
Automatic display switcher now also uses DPMS power saving state to detect if board is active or inactive. (S3 Trio, S3 Virge, Voodoo, Cirrus Logic and Matrox currently only)
PC keyboard without numpad/end key optional translation mode. When enabled, PageUp becomes End (End still works normally). Because cartridge freeze is also PageUp, freeze becomes PageUp + PageDown. END/PageUp + cursor left is Pause and cursor right is Warp mode. (Replacing print screen key). PageUp + 7890/UIOP/JKL<key right of L>/M<key right of M> emulates numpad. Note that numpad emulation is done before PC to Amiga translation which means it does not override enabled numpad joystick option. Option in Input panel. This is registry/ini specific setting (just like F11 option).
Nowa testowa wersja WinUAE. Toni Willen twierdzi, że będzie to szybka seria poprawek i wszystko wskazuje, że tak będzie:)
Ostatnia pełna wersja emulatora to Winuae 6.0.2 z 22/12/2025
Chwila przerwy i znów nowa seria testowa WinUAE. Toni Willen zapowiada, że nową wersję zobaczymy jeszcze przed świętami (niby terminy wcześniejsze ale widełki.... to święta rzecz;))
Ostatnia pełna wersja emulatora to Winuae 6.0.1 z 10/08/2024
W ramach wolnego czasu odtwarzam stare magazyny komputerowe i prowadzę serwis emulacyjny try2emu. Jeżeli uważasz, że moja publiczna działalność możesz postawić mi kawę, a kawę lubię;).