Kolejna testowa wersja WinUAE - emulatora całej rodziny komputerów Commodore Amiga, nad którego rozwojem sprawuje piecze Toni Willen.
Ostatnia pełna wersja emulatora to WinUAE 4.4.0
Winuae 4.5.0 Beta XII 6/12/2020
- 68000/010 cycle-exact/prefetch: If long write access, check IPL when first word of long has been written, not after last word. Fixes Made in Croatia / Binary (again).
- Cycle-exact blitter DMA sequencer emulation now matches real hardware shift register based logic. Includes almost accurate emulation of on the fly modifications of BLTCON0/BLTCON1 (blitter cycle diagram changes). This should fix remaining A500 demos that do stupid things with the blitter. For example TLC Lotus 2 crack intro which is very broken.
- When in warp mode, alternate between 10 and 11 skipped frames (was always 10). Previously if program showed exactly 10 frame animation, it looked like emulation had paused.
- Reverted b1 copper skip update, it broke Tek/Rampage.
- Added Hardital Synthesis emulation.
- Added M.A.S.T. Fireball emulation
Hardital Synthesis:
- Clone of ICD AdSCSI (It seems to be common theme: Hardital Dotto is a clone of ICD AdIDE, Hardital TQM appears to be a clone of DKB Cobra)
- Identical autoconfig data.
- Driver has strings "ICDBoot.device", "ICD BootRom (C)1992" "hidden" in nibble part of boot ROM. All visible strings have been edited from "ICD" to "SYN". Different than AdSCSI ROMs, probably based on later not yet dumped AdSCSI ROM version.
M.A.S.T. Fireball:
- True DMA! Has really weird way to set up DMA controller address pointer, it needs minimum of 7*2 IO writes, max (7+6*7)*2 IO writes to configure it. Yes, amount of writes depends on DMA address value.
- Not RDB compatible. Uses same partition table structure as A2090.
- ROM version string: "FireBall 0.4 (10 Mar 1990)"
Winuae 4.5.0 Beta XI 21/11/2020
Out Run (SEGA Enterprises Ltd., Dec, 1988)
- S3Trio/S3Virge double scan mode detection fixed. Calculation used size parameters before bit depth specific screen width adjustments.
- Hardware emulated RTG boards interlace modes fixed.
- Added DMA capable RAM checkbox to RAM GUI panel.
- Added force 16-bit checkbox to RAM GUI panel. Affects more compatible and cycle-exact CPU modes only. If 68020+ and 16-bit: CPU always splits 32-bit accesses to two 16-bit accesses. Defaults have not changed, chip ram is 32-bit if A3000 or AGA, all other RAM is 32-bit if 68020+ CPU. Most common use case is to be able to change "slow" RAM bus width. ("Real" 16-bit "slow" ram vs 32-bit accelerator board "slow" ram)
- Lightpen cursor left trails if vertical centering was enabled.
- Effects 11 (FX11) updated to latest (and apparently final) version. WinUAE uses it to support D3D9 shaders in D3D11 mode.
- Fixed HAM left border corruption if overscan HAM mode and bitplane horizontal start was earlier than current filter horizontal start. (Old bug)
- scp disk image format support fix (keirf). Account for residual flux time at end of final revolution. Fix double replay of revolution #0 when track is initially loaded.
- uaedbg does not anymore report word reads from execbase or exception vectors as invalid if CPU is 68000/68010 or if chip ram is 16-bit wide.
- $bfff00 debug logging word/long behavior changed. Format string without %l (except pointers: %p, %s and %b) is now consided word even if long was written to $bfff00.
- A2386SX 1.2M floppy error workaround. It expects to read 1.2M and 1.4M floppies using 720k floppy bit rate. 1.4M was already worked around previously. (Software thinks it is using shared Amiga 1760k drive, "Flipper" hardware is not emulated).
Winuae 4.5.0 Beta X 8/11/2020
- Added workaround for Windows socket behavior difference compared to Unix/Amiga. Windows return truncated data and error status if bsdsocket.library recv/recvfrom() supplied buffer is smaller than available data. Unix/Amiga sockets will also return truncated data but don't return error status.
- Debug logging $bfff00 write truncated long words to words.
- Log window size was not stored in ini mode.
- ini file is now only saved if contents has been modified.
- Fixed CV64/3D in Z2 mode. (CGX4 hang, Picasso96 wrong colors in some modes)
- Fixed PicassoIV overlay. (Possibly can only happen with some P96 versions, at least some set overlay at VRAM address zero which accidentally worked)
- Fixed Cirrus Logic blitter bug that was introduced few betas ago (for example some CGX4 modes had ghost shell window cursor images)
- uaedbg invalid access message now includes information if it was caused by any chipset DMA channel. Memwatch logging must be enabled (w + return in debugger or any memwatch point enabled)
Winuae 4.5.0 Beta IX 5/11/2020
Piracy on the High Seas (International Computer Entertainment Ltd., 1992)
- 64-bit JIT used wrong flag handling mode which broke some programs (b1).
- Improved chipset display mode frame rate timing stability.
Winuae 4.5.0 Beta VIII 1/11/2020
Soldiers of Fortune (a.k.a. The Chaos Engine) (Renegade Software, Feb, 1993)
- Remaining JIT shift instruction bugs fixed. (I really didn't want to but I had to learn a bit more how JIT internally works..). My tester now passes all normal tests.
- Some hardware emulated boards bypassed byte/word swapping if accessed by PPC CPU.
Winuae 4.5.0 Beta VII 31/10/2020
Elite (1988, Firebird)
- Fixed incorrect bitplane DMA overrun condition that made Zool 2 AGA flicker strangely (b1) (AGA game with 7 planes but FMODE=0. What a waste of DMA slots.)
- JIT FPU 80-bit host mode should work again (b1)
- Emulated clockport expansions (Prelude A1200 is currently the only one) now support 4 port clockport expander. "-" = no expander (Same device mapped to all 4 slots), "1" = expander slot 1 and so on.
- Added Zorro 2/A500/CDTV DMA controller 24-bit DMA checkbox in Expansion panel. (Unticked = full 32 addressing capable, ticked = 24-bit access only, real world behavior) Previously some emulated 24-bit DMA controllers had full 32-bit support, some didn't.
- All Z2/Z3 RAM banks now have DMA capable checkbox in RAM panel. If not ticked and DMA HD controller tries to access it, read returns all ones and writes do nothing. (In real world result could be memory corruption, hang etc). This can be used to quickly test if some real world DMA controller + accelerator combination with accelerator RAM set to no DMA causes similar problems in emulation. Other RAM banks only have config file support. Find RAM name in config file and then replace "*_size" with "*_options=nodma=true". For example "bogomem_options=nodma=true" makes slow ram not DMA capable. NOTE: Chipset DMA is not affected even if chip ram DMA is disabled, it only affects mainboard (CDTV and CD32) and expansion CD/HD DMA controllers.
- Added CD image select/eject keyboard shortcut. END+F5 = select CD image, END+SHIFT+F5 = eject CD. Statefile quick restore moved to END+F6. NOTE: currently END+F5 opens even if there is no emulated CD drive.
- If game controller was plugged in after config was loaded and loaded config had game controller configured in game ports panel, game controller was correctly remembered but type and autofire mode was set to default values.
- Hardware emulated Z3 RTG boards had wrong autoconfig size configuration. This caused access faults if MMU was enabled.
- SVGA chip vblank interrupt acknowledge forced unnecessary full display refresh.
- ALT+Space does not anymore open WinUAE window standard menu when input is captured.
- JIT + Hardware emulated RTG board should fully work again.
- JIT MOVEM/MOVE16 direct RAM access optimization (calculate address only once, then do moves vs do separate multiple calculate address+move combinations) is now automatically disabled if hardware emulated RTG board is enabled, most have byte/word swapping logic which would cause cause graphics corruption if same MOVEM/MOVE16 copy was first used for RAM reads or writes and then later (when it was still in translated format) it was used for VRAM reads or writes. At least CGX4 does this.
- JIT LSL/LSR fixed (temporary fix, better fix later that should also fix other shift instructions). jit_blacklist config entry should be removed now.
Winuae 4.5.0 Beta VI 18/10/2020
- Fixed CV64/3D 3D vertical clipping. Fixes at least warptest corruption when test texture goes out of screen vertically.
- Fixed CV64 and CV64/3D weird behavior (pauses, possible "hpos" error dialog) due to interrupt triggering being called from a thread.
- Fixed possible crash if hardware mouse pointer was very near to end of VRAM.
- Debugger TO, Te and Tf didn't fully use current mmmu mapping mode. (For example TO output was corrupted if system was A3000 with loaded superkickstart)
- x86 bridgeboard VGA display stopped updating every time display when mode changed. (b1)
- Previously known issues: CGX + Warp 3D: no textures (reason unknown, 3D part of Virge is not accessed at all when running warptest if texturing is enabled but is accessed normally if texturing is disabled). JIT direct + hardware RTG mode = glitches.
Winuae 4.5.0 Beta V 10/10/2020
- If ADF started with 4 first bytes of executable (0x000003f3), it was mounted as a bootable executable. Even if it was disk image and too large to fit in 880k image. Exe mounting is now only done if size is smaller than 880k and file extension is not known disk image extension. (B.A.T. II disk #4)
- Read random data also if disk image is inserted, drive is selected but motor is stopped. Previously random data was only returned if drive was empty.
- CV64/3D 15/16/24-bit graphics glitch fix (b4 debugging code)
- CV64/3D emulated chip model was wrong, fixes WarpTest in perspective correct mode.
CV64/3D + Picasso96 + Warp3D stuff sort of works. CV64/3D + CGX4 + Warp3D does not, reason unknown. (at least in my test)
Winuae 4.5.0 Beta IV 10/10/2020
- Implemented bsdsocket.library SBTC_GET_BYTES_RECEIVED and SBTC_GET_BYTES_SENT.
- Fixed floppy max possible write length, was slightly too short, b1 fixed read timing.
- Hardware emulated RTG sometimes rendered outside of right border.
- Cirrus Logic updates: CGX double scan modes fixed. Vertical multiplication by 2x CL feature supported (used if height >1023).
- All hardware emulation modes: Fixed crash when switching 24-bit modes.
- Added missing safe S3 Virge and S3 Trio thread kill support. (Existing PCem code simply killed it, even if it was currently processing 3D or blitter queue)
- Picasso IV byte VRAM access address "XOR 1" was missing in byteswap bank. (OS4 graphics corruption in 16-bit modes)
- CV64 15/16-bit non-PC modes had wrong colors, one byteswap VRAM mode was missed.
- PCem CV64 blitter emulation didn't support source/destination base address variables and clipping rectangle worked incorrectly if coordinates were negative. Caused graphics corruption if blitter accessed second 2M VRAM bank. Pre-Virge S3 blitter is strange, addressing is based on X and Y coordinates and width of current graphics mode relative to start of VRAM (+optional base offset, 0M, 1M, 2M or 3M), there are no blitter address registers.
- Added horizontal doubling support to PCem SVGA emulation, enabled automatically if mode is doublescanned and tall enough, keeps aspect ratio. For example CGX4 512x384 mode is doublescanned.
- If logging is enabled and PCem RTG board is active: board status gets logged periodically. This should fix remaining known new RTG emulation issues. JIT Direct still causes problems but it might not be directly JIT problem but due to syncronization issue with threaded S3 blitter emulation.
Winuae 4.5.0 Beta III 2/10/2020
BAT (Ubi Soft Entertainment Software, 1990)
- JIT + bsdsocket.library (and probably some other UAE expansions) hang fixed.
Winuae 4.5.0 Beta II 28/09/2020
Atlantyda (1995, Mirage Software)
- On screen led crash fix.
- On screen leds size and font type is more closer to old style.
- Added support for Aranym JIT blacklist string and added also opcode name blacklist (never compile listed opcode) support. jit_blacklist=<opcode in hexadecimal> or jit_blacklist=<opcode1>-<opcode2> or jit_blacklist=opcode to disable all "opcode" variants.
- Fixed Picasso96 corruption when running program that opens new RTG screen. (This didn't happen if not yet released Picasso96 2.5.0 was installed)
2 known JIT bugs:
- If there are weird graphics corruption or similar only if JIT is enabled and Direct/Indirect makes no difference, try "jit_blacklist=lsl" (see above).
- UAE expansions that need to call m68k code might hang if JIT is enabled, for example bsdsocket.library.
→ NOWSZY [AMIGA] Winuae 4.5.0 beta XVII 21/02/2022
Winuae 4.5.0 Beta XVII 22/01/2020
- OSD led status bar positioning fixed (b16)
- OSD led status bar is now DPI aware. (NOTE: moving window from monitor to another monitor with different DPI does not yet work correctly)
- BPLCON0 UHRES-bit also disables DDFSTRT/STOP limits according to Alice schematics.
- Sprites in right border were still not fully correct when they crossed "hidden" hpos=0 position. Sprite didn't disappear if start position was after hpos=0 wraparound and sprite wrap around if it started just before hpos=0 stopped too early, last few pixels were missing before start of hblank. (Thanks ross for test program)
- One more blitter fix, last D write was done even if blit didn't have D channel enabled.
- CPU Idle slider value added to GUI. (It was not very clear which end of slider disabled it)
- Loading CD32 statefile with CD audio playback active: mute state was not always correctly restored.
- Loading CD32 statefile with CD audio playback active but paused: pause state was ignored.
- Loading CDTV statefile with CD audio playback active but paused: very short bit of audio was played before audio paused.
- Added "Restart emulation" input target. Does same as GUI "Restart" button.
- Reverted few b1 bitplane emulation changes. Complete rewrite will be planned for later because current emulation behavior is not really correct when compared against Alice schematics.
Winuae 4.5.0 Beta XVI 22/01/2020
- Hard reset leaked indirect mode allocated memory banks (outside of JIT compatible address range), for example Z3 RAM outside of partially outside of first ~2G of address space.
- GUI misc list powerled dims option never worked, option was always cleared. (Only manual config file editing worked)
- fi debugger command now accepts assembly syntax (for example "fi trap #0"). Only max first 3 words (if it is longer than 3 words) are used in breakpoint condition.
- CPU% OSD leading zero removed.
- "Blacker than black" display panel option did nothing in non-AGA modes.
- 68060 unimplemented integer instruction mode + unimplemented instruction with -(A7)/(A7)+ addressing mode in user mode: exception stack frame was created first, then -(A7)/(A7)+ modification was incorrectly restored using supervisor stack pointer.
- 68040/060 unimplemented FPU instructions also update FPIAR. Some invalid instructions don't but this seems to be undefined behavior. 6888x only update FPIAR if FPU exception(s) are enabled.
- 68040/060 unimplemented FPU mode arithmetic exception fixes, all 68060 FPSP test package tests now pass. (and when run using 68040 or 6888x: test errors will match real hardware 100%)
- Fixed FMOVEM.L #xxx,<more than one control register> disassembly.
- Windowed mode status bar height is correctly calculated when window is moved to different DPI monitor.
- Removed ROM scan expansion device result list. It is out of date and code was almost unmaintainable.
- Hopefully last blitter update related fix, copper blitter waits should work correcly again. (This is a hack. Copper emulation also needs an update.)
Pomidor aka Mr. Tomatoe (1995, LK Avalon)
Winuae 4.5.0 Beta XV 09/01/2020
- PCI Virge emulation. Not much point but Virge emulation already existed, so... Not all byteswapping modes emulated, only what Mediator driver needs to work correctly. G-REX + Virge also works but 24-bit modes have some byteswap problems.
- PCem PCI device config byte wide reads fixed (Voodoo/Virge + G-REX in CSPPC boot screen PCI list PCI device type is now shown correctly)
- Voodoo 3 now works with G-REX CGX4 drivers.
- G-REX didn't detect any PCI cards after FM801.
- PCI RTG board native/RTG mode autoswitching improved.
- Aranym JIT update missed move from FPU register to data register clamping (for example FPn -150.0 to Dn.B should become -128). Re-added.
- Fixed FPU instruction JIT blacklist support.
- Combitec HD 20 A/HD 40 A (not 100% sure it is exactly this model but very likely) emulation.
- Another blitter/copper timing bug fix. (b12)
Combitec HD 20 A/HD 40 A:
- OMTI compatible HD controller. Usual OMTI IO offset 0x641. Base address is at $800000 + autoboot ROM at $f00000.
- Autoboot ROM supports autoboot under KS 1.2 (seems to use same hack that other KS 1.2 autobootable HD controller use)
- Boot ROM version string: "autoboot.device (autoboot.device 6.18 (27.8.89), Rom_1.2, FFS, Bildchen, Search, New Boot Partition Programmiert von Bernhard Möllemann & Hartmut Sprave (C) Combitec 1988,1989"
- Boot screen ("COMPUTER TOP EQUIPMENT COLOSSUS(R) HD-AutoBoot")
Winuae 4.5.0 Beta XIV 02/01/2020
- Fixed possible out of bounds array access when virtual mouse driver is installed.
- Added more strict coordinate/size validation to uaegfx blitter functions.
- JIT shift instruction fix rewrite, they still didn't work fully correctly and my tester didn't catch them because JIT uses registers differently in different use cases etc.. But it did break most Cirrus Logic based chipset Picasso96 drivers. Corrupt icons and text, at least with some Picasso96 versions. (Still need more optimal fix later)
- Improved PCem RTG mode scanline based display update timing.
- CyberVision64 (S3Trio64) vsync interrupt fix, could have caused stuck interrupt when monitor driver was started.
- Hardware emulated RTG boards interlace modes fixed (again).
- Gaps between on screen leds are now smaller.
- FAS246 SCSI chip apparently has Features Enable always set (or bit does not exist anymore). DKB RapidFire tests if transfer count high register works (write something, read it back) and assumes it is enabled without modifying Configuration 2 Register. Rapidfire worked when it first implemented because transfer count high was not originally correctly conditionally emulated. Datasheet seems to be MIA.
- Fixed 32-bit Chip RAM size string array out of bounds access if 768M or 1G was selected. (b11)
- Voodoo 3 byteswapped modes Mediator PCI sound card DMA hack fix.
- Yet another 2D/3D registers-only Voodoo 3 byteswap mode emulated. Some W3D drivers use it. (Without it nothing was rendered and log was mostly filled with "triangle_setup wrong order" messages)
- Blitter line mode was partially broken in non-cycle exact modes and CE mode wasn't fully accurate (b12). Still some edge cases to fix.
- DMA debugger blitter slots are now marked as BLT-x (normal), BLF-x (fill) or BLL-x (line). x = channel. RFS, DSK, AUD, SPR and BPL slots include channel numbers. (Easier to remember than xxxDAT register address numbers)
→ NOWSZY [AMIGA] Winuae 4.5.0 beta XIII 20/12/20
Winuae 4.5.0 Beta XIII 20/12/2020
Final release will be delayed to beginning of 2021. Voodoo 3 and blitter updates (chip schematics "leaked") caused unexpected delay.
Beta 13:
- PCI Voodoo 3 3000 emulation from PCem.
- Fixed existing PCI bridge emulation memory mapped space address calculations (previous PCI boards were all IO only)
- According to Alice schematics, AGA delays blitter finished signal until last D write is done (2 cycles later, only if not line mode and D is enabled). Previous chipsets clear blitter busy (and trigger interrupt) when last D write still pending.
- Added GVP G-Force040. Basically same as G-Force030 (same ROM, same memory config), different internal GVP hardware ID.
- Fixed GUI debugger hang if something was selected in debugger and then focus was changed.
- MAST Fireball DMA address pointer handling fix, some address nybbles were decoded incorrectly. (I did say it has really strange DMA address pointer setup)
- PCem RTG boards didn't always refresh screen fully when switching modes.
- b12 blitter fixes, start up delay was 1 cycle too long, idle cycle before final D write does not need to be free cycle.
- b12 blitter fixes, blitter fill mode setup missed some conditions.
- Mainboard RAM settings disappeared in b11.
- GD5446 (Picasso IV) blitter fix, "Invert Color Expand Source Sense" bit was not handled correctly in all blitter modes. (For example caused MUI 3.8 "REGISTER NOW" window corruption)
- Vooodoo 3 3000 details: (Discussion thread here: http://eab.abime.net/showthread.php?p=1447598)
- 16M VRAM (max supported) First hardware emulated board that supports full HD at 32-bit.
- PCI board, PCI bridgeboard must be also configured.
- BIOS ROM seems to be required (at least Mediator Voodoo Picasso96 driver reads some data from BIOS), currently must be in ROM path and named voodoo3.rom. Must be from PCI Voodoo 3 3000.
- Native/RTG switching is implemented by checking status of SVGA screen blank bit. Might not always work correctly.
- Hardware accelerated 3D confirmed working. (This is also partially JIT accelerated so it should be much faster than CV643D)
- PCI to PCI DMA supported, compatible with Voodoo 3 + SB128 or FM801 sound card Mediator DMA hack.
NOTE: At least Cirrus logic based chipsets have JIT related problems (weird looking corruption if JIT is enabeld).
Winuae 4.5.0 Beta XII 6/12/2020
- 68000/010 cycle-exact/prefetch: If long write access, check IPL when first word of long has been written, not after last word. Fixes Made in Croatia / Binary (again).
- Cycle-exact blitter DMA sequencer emulation now matches real hardware shift register based logic. Includes almost accurate emulation of on the fly modifications of BLTCON0/BLTCON1 (blitter cycle diagram changes). This should fix remaining A500 demos that do stupid things with the blitter. For example TLC Lotus 2 crack intro which is very broken.
- When in warp mode, alternate between 10 and 11 skipped frames (was always 10). Previously if program showed exactly 10 frame animation, it looked like emulation had paused.
- Reverted b1 copper skip update, it broke Tek/Rampage.
- Added Hardital Synthesis emulation.
- Added M.A.S.T. Fireball emulation
Hardital Synthesis:
- Clone of ICD AdSCSI (It seems to be common theme: Hardital Dotto is a clone of ICD AdIDE, Hardital TQM appears to be a clone of DKB Cobra)
- Identical autoconfig data.
- Driver has strings "ICDBoot.device", "ICD BootRom (C)1992" "hidden" in nibble part of boot ROM. All visible strings have been edited from "ICD" to "SYN". Different than AdSCSI ROMs, probably based on later not yet dumped AdSCSI ROM version.
M.A.S.T. Fireball:
- True DMA! Has really weird way to set up DMA controller address pointer, it needs minimum of 7*2 IO writes, max (7+6*7)*2 IO writes to configure it. Yes, amount of writes depends on DMA address value.
- Not RDB compatible. Uses same partition table structure as A2090.
- ROM version string: "FireBall 0.4 (10 Mar 1990)"
Winuae 4.5.0 Beta XI 21/11/2020
Out Run (SEGA Enterprises Ltd., Dec, 1988)
- S3Trio/S3Virge double scan mode detection fixed. Calculation used size parameters before bit depth specific screen width adjustments.
- Hardware emulated RTG boards interlace modes fixed.
- Added DMA capable RAM checkbox to RAM GUI panel.
- Added force 16-bit checkbox to RAM GUI panel. Affects more compatible and cycle-exact CPU modes only. If 68020+ and 16-bit: CPU always splits 32-bit accesses to two 16-bit accesses. Defaults have not changed, chip ram is 32-bit if A3000 or AGA, all other RAM is 32-bit if 68020+ CPU. Most common use case is to be able to change "slow" RAM bus width. ("Real" 16-bit "slow" ram vs 32-bit accelerator board "slow" ram)
- Lightpen cursor left trails if vertical centering was enabled.
- Effects 11 (FX11) updated to latest (and apparently final) version. WinUAE uses it to support D3D9 shaders in D3D11 mode.
- Fixed HAM left border corruption if overscan HAM mode and bitplane horizontal start was earlier than current filter horizontal start. (Old bug)
- scp disk image format support fix (keirf). Account for residual flux time at end of final revolution. Fix double replay of revolution #0 when track is initially loaded.
- uaedbg does not anymore report word reads from execbase or exception vectors as invalid if CPU is 68000/68010 or if chip ram is 16-bit wide.
- $bfff00 debug logging word/long behavior changed. Format string without %l (except pointers: %p, %s and %b) is now consided word even if long was written to $bfff00.
- A2386SX 1.2M floppy error workaround. It expects to read 1.2M and 1.4M floppies using 720k floppy bit rate. 1.4M was already worked around previously. (Software thinks it is using shared Amiga 1760k drive, "Flipper" hardware is not emulated).
Winuae 4.5.0 Beta X 8/11/2020
- Added workaround for Windows socket behavior difference compared to Unix/Amiga. Windows return truncated data and error status if bsdsocket.library recv/recvfrom() supplied buffer is smaller than available data. Unix/Amiga sockets will also return truncated data but don't return error status.
- Debug logging $bfff00 write truncated long words to words.
- Log window size was not stored in ini mode.
- ini file is now only saved if contents has been modified.
- Fixed CV64/3D in Z2 mode. (CGX4 hang, Picasso96 wrong colors in some modes)
- Fixed PicassoIV overlay. (Possibly can only happen with some P96 versions, at least some set overlay at VRAM address zero which accidentally worked)
- Fixed Cirrus Logic blitter bug that was introduced few betas ago (for example some CGX4 modes had ghost shell window cursor images)
- uaedbg invalid access message now includes information if it was caused by any chipset DMA channel. Memwatch logging must be enabled (w + return in debugger or any memwatch point enabled)
Winuae 4.5.0 Beta IX 5/11/2020
Piracy on the High Seas (International Computer Entertainment Ltd., 1992)
- 64-bit JIT used wrong flag handling mode which broke some programs (b1).
- Improved chipset display mode frame rate timing stability.
Winuae 4.5.0 Beta VIII 1/11/2020
Soldiers of Fortune (a.k.a. The Chaos Engine) (Renegade Software, Feb, 1993)
- Remaining JIT shift instruction bugs fixed. (I really didn't want to but I had to learn a bit more how JIT internally works..). My tester now passes all normal tests.
- Some hardware emulated boards bypassed byte/word swapping if accessed by PPC CPU.
Winuae 4.5.0 Beta VII 31/10/2020
Elite (1988, Firebird)
- Fixed incorrect bitplane DMA overrun condition that made Zool 2 AGA flicker strangely (b1) (AGA game with 7 planes but FMODE=0. What a waste of DMA slots.)
- JIT FPU 80-bit host mode should work again (b1)
- Emulated clockport expansions (Prelude A1200 is currently the only one) now support 4 port clockport expander. "-" = no expander (Same device mapped to all 4 slots), "1" = expander slot 1 and so on.
- Added Zorro 2/A500/CDTV DMA controller 24-bit DMA checkbox in Expansion panel. (Unticked = full 32 addressing capable, ticked = 24-bit access only, real world behavior) Previously some emulated 24-bit DMA controllers had full 32-bit support, some didn't.
- All Z2/Z3 RAM banks now have DMA capable checkbox in RAM panel. If not ticked and DMA HD controller tries to access it, read returns all ones and writes do nothing. (In real world result could be memory corruption, hang etc). This can be used to quickly test if some real world DMA controller + accelerator combination with accelerator RAM set to no DMA causes similar problems in emulation. Other RAM banks only have config file support. Find RAM name in config file and then replace "*_size" with "*_options=nodma=true". For example "bogomem_options=nodma=true" makes slow ram not DMA capable. NOTE: Chipset DMA is not affected even if chip ram DMA is disabled, it only affects mainboard (CDTV and CD32) and expansion CD/HD DMA controllers.
- Added CD image select/eject keyboard shortcut. END+F5 = select CD image, END+SHIFT+F5 = eject CD. Statefile quick restore moved to END+F6. NOTE: currently END+F5 opens even if there is no emulated CD drive.
- If game controller was plugged in after config was loaded and loaded config had game controller configured in game ports panel, game controller was correctly remembered but type and autofire mode was set to default values.
- Hardware emulated Z3 RTG boards had wrong autoconfig size configuration. This caused access faults if MMU was enabled.
- SVGA chip vblank interrupt acknowledge forced unnecessary full display refresh.
- ALT+Space does not anymore open WinUAE window standard menu when input is captured.
- JIT + Hardware emulated RTG board should fully work again.
- JIT MOVEM/MOVE16 direct RAM access optimization (calculate address only once, then do moves vs do separate multiple calculate address+move combinations) is now automatically disabled if hardware emulated RTG board is enabled, most have byte/word swapping logic which would cause cause graphics corruption if same MOVEM/MOVE16 copy was first used for RAM reads or writes and then later (when it was still in translated format) it was used for VRAM reads or writes. At least CGX4 does this.
- JIT LSL/LSR fixed (temporary fix, better fix later that should also fix other shift instructions). jit_blacklist config entry should be removed now.
Winuae 4.5.0 Beta VI 18/10/2020
- Fixed CV64/3D 3D vertical clipping. Fixes at least warptest corruption when test texture goes out of screen vertically.
- Fixed CV64 and CV64/3D weird behavior (pauses, possible "hpos" error dialog) due to interrupt triggering being called from a thread.
- Fixed possible crash if hardware mouse pointer was very near to end of VRAM.
- Debugger TO, Te and Tf didn't fully use current mmmu mapping mode. (For example TO output was corrupted if system was A3000 with loaded superkickstart)
- x86 bridgeboard VGA display stopped updating every time display when mode changed. (b1)
- Previously known issues: CGX + Warp 3D: no textures (reason unknown, 3D part of Virge is not accessed at all when running warptest if texturing is enabled but is accessed normally if texturing is disabled). JIT direct + hardware RTG mode = glitches.
Winuae 4.5.0 Beta V 10/10/2020
- If ADF started with 4 first bytes of executable (0x000003f3), it was mounted as a bootable executable. Even if it was disk image and too large to fit in 880k image. Exe mounting is now only done if size is smaller than 880k and file extension is not known disk image extension. (B.A.T. II disk #4)
- Read random data also if disk image is inserted, drive is selected but motor is stopped. Previously random data was only returned if drive was empty.
- CV64/3D 15/16/24-bit graphics glitch fix (b4 debugging code)
- CV64/3D emulated chip model was wrong, fixes WarpTest in perspective correct mode.
CV64/3D + Picasso96 + Warp3D stuff sort of works. CV64/3D + CGX4 + Warp3D does not, reason unknown. (at least in my test)
Winuae 4.5.0 Beta IV 10/10/2020
- Implemented bsdsocket.library SBTC_GET_BYTES_RECEIVED and SBTC_GET_BYTES_SENT.
- Fixed floppy max possible write length, was slightly too short, b1 fixed read timing.
- Hardware emulated RTG sometimes rendered outside of right border.
- Cirrus Logic updates: CGX double scan modes fixed. Vertical multiplication by 2x CL feature supported (used if height >1023).
- All hardware emulation modes: Fixed crash when switching 24-bit modes.
- Added missing safe S3 Virge and S3 Trio thread kill support. (Existing PCem code simply killed it, even if it was currently processing 3D or blitter queue)
- Picasso IV byte VRAM access address "XOR 1" was missing in byteswap bank. (OS4 graphics corruption in 16-bit modes)
- CV64 15/16-bit non-PC modes had wrong colors, one byteswap VRAM mode was missed.
- PCem CV64 blitter emulation didn't support source/destination base address variables and clipping rectangle worked incorrectly if coordinates were negative. Caused graphics corruption if blitter accessed second 2M VRAM bank. Pre-Virge S3 blitter is strange, addressing is based on X and Y coordinates and width of current graphics mode relative to start of VRAM (+optional base offset, 0M, 1M, 2M or 3M), there are no blitter address registers.
- Added horizontal doubling support to PCem SVGA emulation, enabled automatically if mode is doublescanned and tall enough, keeps aspect ratio. For example CGX4 512x384 mode is doublescanned.
- If logging is enabled and PCem RTG board is active: board status gets logged periodically. This should fix remaining known new RTG emulation issues. JIT Direct still causes problems but it might not be directly JIT problem but due to syncronization issue with threaded S3 blitter emulation.
Winuae 4.5.0 Beta III 2/10/2020
BAT (Ubi Soft Entertainment Software, 1990)
- JIT + bsdsocket.library (and probably some other UAE expansions) hang fixed.
Winuae 4.5.0 Beta II 28/09/2020
Atlantyda (1995, Mirage Software)
- On screen led crash fix.
- On screen leds size and font type is more closer to old style.
- Added support for Aranym JIT blacklist string and added also opcode name blacklist (never compile listed opcode) support. jit_blacklist=<opcode in hexadecimal> or jit_blacklist=<opcode1>-<opcode2> or jit_blacklist=opcode to disable all "opcode" variants.
- Fixed Picasso96 corruption when running program that opens new RTG screen. (This didn't happen if not yet released Picasso96 2.5.0 was installed)
2 known JIT bugs:
- If there are weird graphics corruption or similar only if JIT is enabled and Direct/Indirect makes no difference, try "jit_blacklist=lsl" (see above).
- UAE expansions that need to call m68k code might hang if JIT is enabled, for example bsdsocket.library.
→ [AMIGA] Winuae 4.5.0 beta IX 5/11/20
Winuae 4.5.0 Beta IX 5/11/2020
Piracy on the High Seas (International Computer Entertainment Ltd., 1992)
- 64-bit JIT used wrong flag handling mode which broke some programs (b1).
- Improved chipset display mode frame rate timing stability.
Winuae 4.5.0 Beta VIII 1/11/2020
Soldiers of Fortune (a.k.a. The Chaos Engine) (Renegade Software, Feb, 1993)
- Remaining JIT shift instruction bugs fixed. (I really didn't want to but I had to learn a bit more how JIT internally works..). My tester now passes all normal tests.
- Some hardware emulated boards bypassed byte/word swapping if accessed by PPC CPU.
Winuae 4.5.0 Beta VII 31/10/2020
Elite (1988, Firebird)
- Fixed incorrect bitplane DMA overrun condition that made Zool 2 AGA flicker strangely (b1) (AGA game with 7 planes but FMODE=0. What a waste of DMA slots.)
- JIT FPU 80-bit host mode should work again (b1)
- Emulated clockport expansions (Prelude A1200 is currently the only one) now support 4 port clockport expander. "-" = no expander (Same device mapped to all 4 slots), "1" = expander slot 1 and so on.
- Added Zorro 2/A500/CDTV DMA controller 24-bit DMA checkbox in Expansion panel. (Unticked = full 32 addressing capable, ticked = 24-bit access only, real world behavior) Previously some emulated 24-bit DMA controllers had full 32-bit support, some didn't.
- All Z2/Z3 RAM banks now have DMA capable checkbox in RAM panel. If not ticked and DMA HD controller tries to access it, read returns all ones and writes do nothing. (In real world result could be memory corruption, hang etc). This can be used to quickly test if some real world DMA controller + accelerator combination with accelerator RAM set to no DMA causes similar problems in emulation. Other RAM banks only have config file support. Find RAM name in config file and then replace "*_size" with "*_options=nodma=true". For example "bogomem_options=nodma=true" makes slow ram not DMA capable. NOTE: Chipset DMA is not affected even if chip ram DMA is disabled, it only affects mainboard (CDTV and CD32) and expansion CD/HD DMA controllers.
- Added CD image select/eject keyboard shortcut. END+F5 = select CD image, END+SHIFT+F5 = eject CD. Statefile quick restore moved to END+F6. NOTE: currently END+F5 opens even if there is no emulated CD drive.
- If game controller was plugged in after config was loaded and loaded config had game controller configured in game ports panel, game controller was correctly remembered but type and autofire mode was set to default values.
- Hardware emulated Z3 RTG boards had wrong autoconfig size configuration. This caused access faults if MMU was enabled.
- SVGA chip vblank interrupt acknowledge forced unnecessary full display refresh.
- ALT+Space does not anymore open WinUAE window standard menu when input is captured.
- JIT + Hardware emulated RTG board should fully work again.
- JIT MOVEM/MOVE16 direct RAM access optimization (calculate address only once, then do moves vs do separate multiple calculate address+move combinations) is now automatically disabled if hardware emulated RTG board is enabled, most have byte/word swapping logic which would cause cause graphics corruption if same MOVEM/MOVE16 copy was first used for RAM reads or writes and then later (when it was still in translated format) it was used for VRAM reads or writes. At least CGX4 does this.
- JIT LSL/LSR fixed (temporary fix, better fix later that should also fix other shift instructions). jit_blacklist config entry should be removed now.
Winuae 4.5.0 Beta VI 18/10/2020
- Fixed CV64/3D 3D vertical clipping. Fixes at least warptest corruption when test texture goes out of screen vertically.
- Fixed CV64 and CV64/3D weird behavior (pauses, possible "hpos" error dialog) due to interrupt triggering being called from a thread.
- Fixed possible crash if hardware mouse pointer was very near to end of VRAM.
- Debugger TO, Te and Tf didn't fully use current mmmu mapping mode. (For example TO output was corrupted if system was A3000 with loaded superkickstart)
- x86 bridgeboard VGA display stopped updating every time display when mode changed. (b1)
- Previously known issues: CGX + Warp 3D: no textures (reason unknown, 3D part of Virge is not accessed at all when running warptest if texturing is enabled but is accessed normally if texturing is disabled). JIT direct + hardware RTG mode = glitches.
Winuae 4.5.0 Beta V 10/10/2020
- If ADF started with 4 first bytes of executable (0x000003f3), it was mounted as a bootable executable. Even if it was disk image and too large to fit in 880k image. Exe mounting is now only done if size is smaller than 880k and file extension is not known disk image extension. (B.A.T. II disk #4)
- Read random data also if disk image is inserted, drive is selected but motor is stopped. Previously random data was only returned if drive was empty.
- CV64/3D 15/16/24-bit graphics glitch fix (b4 debugging code)
- CV64/3D emulated chip model was wrong, fixes WarpTest in perspective correct mode.
CV64/3D + Picasso96 + Warp3D stuff sort of works. CV64/3D + CGX4 + Warp3D does not, reason unknown. (at least in my test)
Winuae 4.5.0 Beta IV 10/10/2020
- Implemented bsdsocket.library SBTC_GET_BYTES_RECEIVED and SBTC_GET_BYTES_SENT.
- Fixed floppy max possible write length, was slightly too short, b1 fixed read timing.
- Hardware emulated RTG sometimes rendered outside of right border.
- Cirrus Logic updates: CGX double scan modes fixed. Vertical multiplication by 2x CL feature supported (used if height >1023).
- All hardware emulation modes: Fixed crash when switching 24-bit modes.
- Added missing safe S3 Virge and S3 Trio thread kill support. (Existing PCem code simply killed it, even if it was currently processing 3D or blitter queue)
- Picasso IV byte VRAM access address "XOR 1" was missing in byteswap bank. (OS4 graphics corruption in 16-bit modes)
- CV64 15/16-bit non-PC modes had wrong colors, one byteswap VRAM mode was missed.
- PCem CV64 blitter emulation didn't support source/destination base address variables and clipping rectangle worked incorrectly if coordinates were negative. Caused graphics corruption if blitter accessed second 2M VRAM bank. Pre-Virge S3 blitter is strange, addressing is based on X and Y coordinates and width of current graphics mode relative to start of VRAM (+optional base offset, 0M, 1M, 2M or 3M), there are no blitter address registers.
- Added horizontal doubling support to PCem SVGA emulation, enabled automatically if mode is doublescanned and tall enough, keeps aspect ratio. For example CGX4 512x384 mode is doublescanned.
- If logging is enabled and PCem RTG board is active: board status gets logged periodically. This should fix remaining known new RTG emulation issues. JIT Direct still causes problems but it might not be directly JIT problem but due to syncronization issue with threaded S3 blitter emulation.
Winuae 4.5.0 Beta III 2/10/2020
BAT (Ubi Soft Entertainment Software, 1990)
- JIT + bsdsocket.library (and probably some other UAE expansions) hang fixed.
Winuae 4.5.0 Beta II 28/09/2020
Atlantyda (1995, Mirage Software)
- On screen led crash fix.
- On screen leds size and font type is more closer to old style.
- Added support for Aranym JIT blacklist string and added also opcode name blacklist (never compile listed opcode) support. jit_blacklist=<opcode in hexadecimal> or jit_blacklist=<opcode1>-<opcode2> or jit_blacklist=opcode to disable all "opcode" variants.
- Fixed Picasso96 corruption when running program that opens new RTG screen. (This didn't happen if not yet released Picasso96 2.5.0 was installed)
2 known JIT bugs:
- If there are weird graphics corruption or similar only if JIT is enabled and Direct/Indirect makes no difference, try "jit_blacklist=lsl" (see above).
- UAE expansions that need to call m68k code might hang if JIT is enabled, for example bsdsocket.library.
→ [AMIGA] Winuae 4.5.0 beta I 26/09/20
Winuae 4.5.0 Beta I 26/09/2020
- Fully merged latest Aranym JIT. Previously it was only partially merged because of unsolved problem that made it completely unusable. It is solved now.
- JIT should be now trace mode (debugger) compatible. If SR register T1 or T0 bit gets set, JIT transparently drops to normal emulation mode. JIT reactivates when trace gets cleared. Very rarely used M SR bit also does same.
- Full CPU tester 68020 test set now passes in JIT mode, including trace mode tests. (NOTE: bcc.b and bsr.b tests fail unless Hard flush is also set)
- JIT has two known not yet fixed bugs: edge case shift condition (shift count is divisible by 32) C-flag problem and ROR/ROL does not clear V-flag.
- x86 Bridgeboard update: PCem x86 core updated to v16. Update added FPU support for pre-486 CPUs. FPU checkbox added to bridgeboard expansion settings.
- uaegfx Picasso96 2.5.0 screen dragging support added.
- CV64 RTG board emulation. S3 Trio 64 chipset emulation from PCem. Roxxler chip is not (yet?) emulated. CGX4 complains if Roxxler fails to work correctly. Picasso96 does not use it.
- CV64/3D RTG board emulation, Z2 and Z3 mode. S3 Virge chipset emulation from PCem. (S3 Virge is very different than S3 Trio)
- All Cirrus Logic based RTG boards now use PCem Cirrus Logic SVGA chip emulation.
- Piccolo SD64 fixed.
- Reordered RTG board list.
- Hardware emulated graphics board screenshot support fixed.
- x86 Bridgeboard VGA still use QEMU Cirrus Logic emulation. I'll keep it (at least for now) because it enables simultaneous use of bridgeboard VGA and PCem RTG board.
- NOTE: JIT + Hardware emulated graphics board can cause glitches. Will be fixed later.
- No. Don't ask. Permedia 2 (Cyber/BlizzardVision PPC) or complete enough Voodoo 3 chip emulation does not currently exist.
- Audio and disk DMA: Agnus also ignores DMACON DMAEN bit. DMAEN bit is checked inside Paula. Audio: Paula audio DMA requests are only generated if DMAEN is set when channel generates DMA request (not when transferred via DMAL). DMAEN can be cleared after request has been generated and DMA request still goes to Agnus and Agnus does DMA to AUDxDAT during channel's DMA slot in next scanline. Disk: both DMAEN and DSKEN needs to be set. Previously DMAEN was checked in Agnus side when deciding current DMA slot state. Most likely no normal program cares, this is quite extreme edge case.
- Copper write to BPLxDAT timing fix.
- cpu_halt_auto_reset config entry added to GUI misc panel.
- Analog joystick multiplier/offset default adjusted.
- Load PAL mode, OCS Agnus state file directly from GUI/command line, start emulation, on the fly switch chipset to ECS Agnus: mode was changed to NTSC.
- Switching off display DMA when display DMA was active still had more hidden side-effects. It results in "bad state" that is not reset until bitplane DMA is switched back on, when it is back on DMA restarts from state which normally happens when DDFSTOP has been passed. Result is either 1 or 2 "bitplane blocks" (1 or 2 depends on horizontal position relative to next BPL1DAT slot when DMA was switched off) starting from DDFSTRT (if switched on before DDFSTRT). The rest of scanline is drawn using border color. Following scan line works normally. No differences between OCS/ECS. (vAmiga test case)
- Another undocumented feature: if BPLCON0 HAM and DPF are both set, result is weird. HAM replaces R/G/B component: replacement component value is palette _index_ of current pixel in dual playfield mode! HAM selection bits zero: palette selection works like in dual playfield mode. BPLCON2 works like mode is normal dual play field (including invalid BPLCON2 priority values). OCS/ECS only. (vAmiga test case).
- Dual playfield mode illegal BPLCON2 priorities didn't work correctly in hires mode. (bottom part of above test case)
- Blitter nasty off cycle counting update, emulatation code wasn't exactly doing what it was supposed to do.
- A1000 blitter busy bug was ignored if copper waited for blitter.
- Added DMA debugger non-nasty blitter extra information: 's' (CPU will get next blitter cycle) and 'S' (CPU stole this cycle from blitter)
- Confirmed CIA register contents at power up. CIA control register should be zero, for some reason previous reset default was $04.
- Disassemble FBF with zero offset as FNOP.
- Debugger fi instruction breakpoint command now accepts up to 3 opcode words.
- Config file list wasn't refreshed when config file was deleted. (4.4.0)
- RTF_AFTERDOS is broken in KS 2.0, KS 2.0 now uses pre-WinUAE 3.3 hack and only KS 3.0+ use RTF_AFTERDOS. Clipboard sharing and uaenet.device work again under KS 2.0.
- Added Amiga Bootblock Reader brainfile support (copy ABR package xml files to <winuae root>pluginsABR -directory). Used when clicking "?" button in quickstart and disk panels.
- Fixed emulated floppy disk rotation speed, it was slightly too slow. This change could break some copy protections. Unexpected side-effects are always possible..
- Copper SKIP wasn't updated when WAIT logic was updated ages ago. SKIP had wrong timing in some rare situations.
- "Default" filter mode: PAL/NTSC switch automatically scales the image.
- DF3: floppy led was drawn using very dark color if it was disabled and system didn't have NVRAM hardware.
- OSD led font graphics is now generated from real Windows font and is high DPI aware. Led size multiplier config entries now also support non-integer values.
- Added GVP A1230 Turbo+ Jaws. Boot ROM adds RAM outside of 24-bit address space and fake RAM autoconfig board.
- Accelerator board RAM slider range was larger than supported range with some boards.
- Added Trumpcard v1.5 and v3.1 ROM. Added also hardware interrupt checkbox, later trumpcard (still non-pro) variants have interrupt support. It seems 8k ROM variants don't have interrupt, 16k do have it. Setting is wrong if it hangs at boot.
- Added A.L.F.2 OMTI variant and v2.2 boot ROM. ROM possibly also includes SCSI driver but I didn't examine how it works. A.L.F.2 OMTI IO port is exact same as in A.L.F.1.
- Trifecta LX SCSI emulation fixed.
Inne treści związane z tematem
[AMIGA] Winuae 5.3.0 beta X RC2 27/05/24
Prawdopodobnie ostatnia testowa wersja WinUAE - czyli jeśli nikt nie zgłosi już żadnego babola, w przeciągu paru następnych godzin, ukaże się wersja finalna 5.3.0.
WinUAE to najbardziej dopieszczonego emulatora całej rodziny komputerów Commodore Amiga.
Ostatnia pełna wersja emulatora to Winuae 5.2.0 z 19/02/2024
[AMIGA] Winuae 5.2.0 Final 19/02/2024
Miała być szybka seria testowa i była. W efekcie pojawiła się kolejna odsłona WinUAE. Z ciekawostek dodana możliwość emulacji DraCo Macrosystem (Amiga w służbie edycji Video) i American Laser Games (czyli Amiga jako platforma stricte Arcade).
[AMIGA] Winuae 5.2.0 Final beta X 15/02/2024
Kolejna seria wersji testowego WinUAE - najbardziej dopieszczonego emulatora całej rodziny komputerów Commodore Amiga. Prawdopodobnie będzie to w miarę szybka seria i trochę szybciej niż ostatnio zobaczymy końcową 5.2.0. Przy okazji Toni pracuję nad emulacją America Laser Games, czyli arcade polane sosem AMIGI500, coś dla fanów celowniczków (tytuły m.in. Mad Dog ...