5.2.0 Beta8 / 11-02-2024
WinUAE is a Commodore emulator for Windows:
High accuracy and compatibility for A500, A500+, A600, A1000, A2000, CDTV
Good compatibility (Cycle-exact chipset emulation, CPU memory accesses are cycle-exact, CPU internal instruction execution speed is not exact) for A1200 and CD32
Fast CPU emulation only (chipset/chip ram CPU accesses optionally cycle-exact) for A3000, A3000T, A4000 and A4000T. To see all features, follow this link.
PPC CPU core plugin, 1.5.1+ Direct3D Pixel Shader filters, Improved drive sounds, Portaudio library
UAEUNP 0.8 to extract Amiga based disk images and archive
Windows: XP SP3 32-bit+
CPU: SSE2 capable
GPU: For Direct3D11 - Windows 7: SP1+
For Direct3D9 - June 2010 DirectX 9 redistributable required
Most Recent Changes
- Clicking GamePorts panel remap/test crashed in some situations (remap device, change device type to something that has less events, remap device)
- In some situations GamePorts remap setup (number/type of buttons etc) didn't match selected device type (mouse, joystick, gamepad etc) and changing it did nothing.
- Better vertical positioning of NTSC mode in normal Overscan mode. Previously calculation used PAL max overscan height. Overscan+ and Overscan in NTSC mode now have almost same vertical positioning.
American Laser Games/Picmatic updates. Discussion thread here: https://eab.abime.net/showthread.php?t=84888
- LD serial port communication timing adjusted and previously unemulated LD commands implemented (REPEAT and MARK SET). Now Picmatic Marbella Vice lightgun game works.
- ALG/Picmatic LD player always unpaused after exiting GUI, even if it was paused before entering GUI.
- ALG/Picmatic statefile support. Note that complete data is not saved, for example LD and NVRAM paths. Matching config file must be loaded first.
- Picmatic (Marbella Vice) player one/two gun selection implemented. Oddly there are two methods: parallel port first data pin selects gun but it is not used when in gun calibration service menu, only during game play. Other method is IO port at $f60000 which is used both in calibration menu and during game play. (Maybe Picmatic games had different hardware versions?). ALG uses joystick port #2 button #2 pin.
- ALG and Picmatic (Marbella Vice) input events now match. Picmatic games use different hardware and different joystick port pins than ALG, emulation now automatically remaps Picmatic events to matching ALG input events.
- Genlock overlay position relative to Amiga display does not anymore change when display panel settings are changed (lores/hires/double etc). Genlock image position was not correctly centered if genlock image size was (much) larger or (much) smaller than Amiga display size. Do not scale if video height is almost same as Amiga display height (+-8 lines). This fixes ugly horizontal artifacts when odd and even lines get "mixed" mid screen.
- On the fly changing OSD font size didn't update OSD allocated vertical size until mode was changed.
- When opening fullscreen mode, OSD font was generated after texture allocation. Font was correct but OSD led boxes had wrong height.
- Start emulation, minimize window, click notification icon -> forever looping GUI open failures. (because minimized main window was detected as being minimized -> close GUI window. When GUI window was mid construction..) Very old bug.
- In some situations minimized GUI position was saved as current GUI position to registry/ini.
- Some "Fake 60Hz" modes had blank screen (Wings of Death) without Overscan+ or higher overscan mode.
- Drag&drop archive file in Quickstart mode and archive contains more than one executable, don't insert it in DF0:.
- Drag&drop archive file in Quickstart mode with not autodetected contents but it has Amiga executables: insert it as a harddrive.
- Max harddrive limit bumped to 50 (was already 50 in some places but 30 in some others) and check limit properly.
- Quick fix to prevent ALG Marbella Vice boot crash. (Really stupid interrupt code that breaks if LD player answers too quickly.. and also enables disk sync interrupt and crashes if it gets one. This is also worked around). ALG LD player command 0x55 added (Frame Mode), MV requires it. Nothing else tested yet. It might work or might not. At least highscore list appears now.
- DraCo NVRAM data was always written to NVRAM file, even if current config was not DraCo.
- Mad Dog McCree v1C (ALG) Holster input event supported. For some reason it is connected to joystick fire button in this version (First ALG game?). No other ALG game use fire button.
- If BLTCON0L is written to when blitter is running, don't do unnecessary blitter state checks. BLTCON0L writes are always safe.
- Executable in DF0: didn't anymore automatically enable turbo floppy mode. Broke when turbo was switched off if program does weird disk DMAs.
- RTG panel aspect ratio setting and Filter (RTG) aspect ratio was not forced to have same values and they work differently in different filter modes, probably resulting weird aspect ratios in some filter modes. Now updated value is automatically copied to other setting.
- Hardware emulated board cached size settings was not always updated, especially if mode was switched multiple times quickly. Result was display with wrong scaling or positioning.
- Sprite horizontal multiplexing (Copper SPRxCTL/POS/DATx mid-screen writes) was unreliable in non-CE modes. (5.1)
- Registry/ini ROM paths and history list paths (last used ADFs, statefiles etc) are now properly converted to absolute/relative paths when new entry is added.
- Loading config with statefile config entry set: insert statefile in to statefile history list.
- Topmost line was missing in OSD status line texts ("DF0: -" etc) in some font settings.
- 5.1 b1 "Allow AUDxPER=1, game Spaceport requires it" adjusted, force period to higher value when sample loops (not immediately like pre-5.1 did). This keeps Spaceport happy without causing some other weird programs to slow down emulation very noticeably by "playing" period=1 empty sample continuously, all 4 channels. (For example during loading of Bad Dudes vs. Dragon Ninja)
- Added S3 Trio64 PCI RTG board (Uses same chip emulation as CyberVision64)
- Ateo Pixel 64 had BGR/RGB swapped colors in most color depths.
- Sound autoswitching is now off by default (default off when no config file loaded). Some sound devices have annoying audible pop when sound gets switched off or on.
- RTG modes allocated unnecessarily too large texture (size of whole viewport, not only actual RTG area). Broke in some 5.0 betas. This was harmless except it also caused uaegfx to not clip hardware mouse cursor in right and bottom edges and possibly broke some filters.
- Fixed mouse cursor jumping randomly when in tablet mode and clicking mouse button(s).
- Changing OSD font when in full-window or fullscreen mode saved it incorrectly and nothing changed.
- DraCo Amiga HD disks supported. Note that DraCo hardware does not support writing to Amiga formatted floppies. It is CPU polled read only.
- DraCo PC floppy writing and formatting implemented (Required PIO support which original Bridgeboard emulation didn't need or use)
- DraCo PC keyboard right shift key code fixed. DraCo PC keyboard repeat implemented.
- UAE AHI ignored AHI volume slider setting. Also master volume was not converted to correct DS API volume range that AHI driver uses. (Paula DSound mode had different master volume than UAE AHI volume)
- Some config file paths (for example "statefile") was not saved as a path but as a string. Saving as a path automatically converts between absolute and relative paths.
- "Warp mode reset" on the fly change was not possible. (I always forgot this when adding new Misc panel option..)
- Loading filter presets that changed line doubling mode would not reset the display completely, leaving weird doubled or half-size image visible.
- Game Ports panel default config overrode button 4 with OSK enable/disable option even if it was already configured in Input panel.
- SX32Pro memory mapping fixed, bumped max memory from 64M to 128M.
- Added GVP A1230 Turbo+ II (Jaws II) v5.3 ROM.
- Input panel custom event window was stuck in top/left corner (b1)
- Monochrome and genlock now uses calculated display start/end values. Previously it always used hardwired PAL or NTSC values.
- Display port adapters had blank screen in Fields+ interlace mode.
- Fixed double free and memory leak in debugger/custom event parser/calculator.
- OSD led/status bar font configuration added to GUI misc panel. Default font size slightly increased.
- DraCo accelerator settings new option: PC keyboard connected. Can be used to enable/disable PC keyboard and use DraCoTools to enable Amiga keyboard only.
- DraCo PC keyboard double press/releases fixed.
- x86 bridgeboard floppy emulation fixes, interrupt clears automatically after reading response data set by read/write/etc commands, floppy change detection requires also motor turned on. Fixes DraCo floppy driver read errors. DraCo PC formatted drive reading now works. Writing is not (yet) supported.
- DraCo now supports Amiga formatted floppies, implemented CPU polled flux change timing DraCo custom IO register.
- Retina Z2/Z3/Altais board 15-bit mode implemented. ICS RAMDAC emulation improved, fixes corrupted DraCo+CGX >8 bit modes.
- NCR 77C32BLT 64 pixel wide mouse cursor positioning (horizontal offset) fix.
- "Simple mode" path string escaping in config file directory harddrive paths incorrectly escaped single quotes which added unwanted \'s to path.
- NCR SVGA 8/16/24 bit mode selection fixed, Picasso96 v2.0 Altais driver now works in DraCo configuration.
- Toccata was not mapped correctly in DraCo configuration.
- Hardware emulated RTG boards Picasso96 screen dragging horizontal shift fix (broke in b1 panning fix)
- Any TV overscan option + NTSC mode: few pixel grapohics corruption was visible in right edge of screen.
- Do not force release of pressed keys if mouse capture was requested but mouse was already captured. On the fly screen settings changes (for example via input events or uae-configuration) caused unexpected forced key releases in full-window mode. (Forced key release is needed because otherwise sudden mouse capture loss might cause stuck keys in Amiga side)
- 256 color screeenshot created wrong colors in some situations (usually when AGA and almost all colors in use). Attempts to keep custom chipset color 0 (backround color) in first palette index.
- Include also current DPI when selecting between "old" smaller or "new" larger default GUI size. (Smaller desktop resolution + high DPI = too large default GUI size)
- MacroSystem DraCo emulation. Quickstart entry also added. No V-Lab Motion emulation, no, don't ask.
- Retina Z3 RTG board emulation. NCR 77C32BLT SVGA chip emulation by me, including blitter that was not that trivial to implement (existing documentation was quite bad). This is implemented as a PCem display card because it makes basic (S)VGA features automatically supported. Yes, I did say that I won't ever do any SVGA card emulations (and still don't unless they are basic enough, 2D only). Implemented because DraCo has NCR 77C32BLT based RTG card and I wanted to emulate DraCo Big thanks to IComp and Thomas Richter for help/driver information.
- Retina Z2 RTG board emulation. NCR 77C22E+ based, older version of NCR SVGA chip, no blitter, no linear frame buffer. Note that this is banked RTG board and Picasso96 driver requires MMU. Uses 128k of Z2 IO space only. 16 color mode (planar mode) is not supported.
- A2410 TMS34010 emulation PMASK and prefetch behavior fix. (Latest Picasso96 driver glitches in DMA mode)
- Autoswitch all RTG boards without internal switcher (Enable RTG if SVGA display gets activated, switch to chipset display if SVGA gets blanked). Previously only PCI RTG boards without internal switcher autoswitched because original code expected all Z2/Z3 boards to have built-in switcher but it was not updated when Cybervision etc was added.
- Fixed PicassoIV (GD5446) overlay skipping register writes if value is same as old which was not such a good idea because written value needs to be converted and copied to another variable in some cases which was skipped if value was same. Fixes P96PipDemo having blank window until window was resized.
- Fixed CV64/3D overlay emulation not masking overlay pointers correctly. Fixes P96PipDemo.
- Many hardware emulated board had problems with horizontal panning (weird jumping or odd random color changes in 24-bit mode or panning skipped every pixel(s)) This is x86box/PCem limit/missing feature, all emulated boards use identical panning logic but in real world different chips and modes can use different logic. I added callback to card drivers that needed custom panning adjustments.
- Access to unmapped parts of Z3 autoconfig boards (many emulated non-RAM Z3 boards have unmapped addresses) were detected and logged as Amiga mainboard side unmapped access.
- Disk DMA never finished if DMA length was zero and DSKSYNC was enabled. DMA should finish immediately without transferring anything when first DSKSYNC is detected. Used by some copy protections. (broke in 5.1.0 disk updates)
- Force windowed mode width to be 4 pixel aligned. "Unaligned" value can cause scaling artifacts in integer scale modes.
- If 68040/060 MMU caused bus fault and during bus fault handler execution interrupt level was increased, when CPU restarted the instruction, it was interrupt's first instruction that was "restarted". Normally mostly safe except if 68040 and both instructions were MOVEM, in this situation MOVEM used originally faulting instruction's pre-calculated effective address. (Found now because Retina Z2 Picasso96 driver uses MOVEMs very heavily to transfer data between board VRAM and mapped virtual VRAM)
- Dark mode was not initialized until GUI was entered. (Load config with use_gui=no: main emulation window didn't use dark mode even if it was configured)
- Some sub-dialogs (for example HDF creator status window) didn't support dark mode.
- "AVI output enabled" (and few similar on/off buttons) button type changed, previously they worked unexpectedly in some situations, visible state was not always matching internal state.
- If Z2 or Z3 board was "shut up" (for example 8M Z2 + non-banked Z2 RTG board which would not fit anymore), it was not skipped and replaced with following board, causing infinite autoconfig loop.
- power_led_dim=<value> enabled sound filter if value was larger than 95 (and if sound filter emulation was configured).
- Rrecalculate power led state after statefile load.
- Rewrote GUI sub dialog code partially again, some sub dialogs (like Gameports input mapping autofire) had old style/no DPI support and Input panel Qualifier window stopped working during 5.1 betas.
- HDF creator now updates status information once every second, previously it was quite slow and depended on drive speed. (Still does if drive is really slow)
- Misc panel "Automatically capture mouse when window is activated" changes on the fly was not supported.
- 5.0 b1 "Fast 68020+ modes didn't start pending interrupt immediately (started after following instruction) after MOVE to SR instruction that lowered interrupt mask. (Quick the Thunder Rabbit)" should only be done if SR is modified and interrupt level decreases, but it also affected other instructions. Beneath a Steel Sky CD32 speech works again in non-CE modes.
- Use modified horizontal blank start/end (HBSTRT/HBSTOP) values to calculate programmed mode position/size only if it has been stable for at least 2/3 of frame time. (WB 2.x Multiscan mode does something weird and wrong and modifies HBSTOP twice at the beginning of field)
- Setting quickstart config didn't reset CPU slot/mainboard RAM values.
MacroSystem DraCo emulated hardware:
Keep DraCo discussion here: https://eab.abime.net/showthread.php?t=116582 DraCo is not required to be "complete" in final 5.2.0.
- Altais RTG board (DraCo version of Retina Z3)
- 53C710 SCSI
- Revision 3 with CIA or revision 4 that does not require CIAs (but uses it if found). If CIA is enabled, ROM timer.device is used, otherwise DraCo boot ROM timer.device replacement is used.
- Mouse (PC serial mouse, using bridgeboard emulation)
- Keyboard (PC MF-II keyboard)
- Floppy drive (PC floppy controller, using bridgeboard emulation + PIO support. Does not work yet)
- Mainboard custom hardware (interrupt controller, timer etc)
- 1-wire RTC chip with 48-bit unique identifier and battery backed 512 byte SRAM. Current static ID is 04 010000000000 C3 (04 = static DS2404 family code, C3 is a checksum. DraCo serial check validates checksum and includes it in serial number: serial number becomes 01C3 = 451). Edit bytes 1 to 6 of NVRAM file to change serial number. Checksum is automatically calculated.
- CPU must be 68060 with MMU emulation enabled.
- ROM must be A3000 KS 3.1 rev40.68.
- Accelerator board -> MacroSystem -> DraCo. Select DraCo Boot ROM (currently known existing versions are v1.3 and v1.5), set RAM to 128M.
- Chipset Extra -> DraCo
- Floppy drives -> configure drive DF2: as Bridgeboard 3.5" 80. This drive becomes DraCo floppy drive.
- Add HDF to "Accelerator (DraCo)"
- Z2 boards are supported but boot ROMs seem to be ignored. This includes UAE expansions.
- Z3 boards are not supported.
- Chipset does not exist, programs that directly access hardware won't work and probably open immediate DraCo alert screen. (UAE requires chipset because it is timing source for everything and also some chip ram configured which is the reason they can't be disabled completely)
None to be added...