Minęło parę dni od pojawienia się ostatniej, pełnej wersji WinUAE, więc najwyższa pora aby Toni Wilen rozpoczął publikację nowej serii wersji testowej tego świetnego emulatora całej rodziny komputerów AMIGA, i bezsprzecznie najbardziej profesjonalnego wśród udawaczy tego sprzętu.
WInUae 2.7.0 beta1 [07/07/13]
- Hardware Cirrus Logic based SVGA Zorro II/III RTG board emulation.
- SLIRP user mode NAT emulation.
- Added SCSI tape emulation. Amix tape based install works, also tested with Quarterback and Diavolo.
- lua scripting support added from fs-uae. Very minimal at the moment.
- SCSI HD/CD/TAPE statefile compatibility improved.
- SCSI emulation compatibility improved, Amix use of WD Select and Transfer used wrong data size when direction was from WD to device and command was not write command, for example MODE SELECT.
- Show custom chip mode as interlace/not interlaced decision now more closely matches real hardware behavior. (No, it isn't as simple as BPLCON0 LACE bit set/not set)
- Show also device type (HDF, CD, TAPE) in Harddrives panel.
- Joystick axis dead-zone fix, wired xbox 360 d-pad missed events, it didn't affect wireless version. (261b2)
- Top and/or bottom border showed graphics garbage if AGA sprites outside of bitplane area feature was enabled and in use and screen mode was HAM. (Tint / Black Lotus)
- Dragging and dropping archive/file to WB tried (unsuccesfully) replace already existing normal directory harddrive if dropped file and directory harddrive had same base path.
- Renamed CPU cycle exact speed multipliers and added 1x speed (1:1 CPU/DMA clock sync)
- It was impossible to select RTG aspect ratio select box Automatic value.
- Display panel depth select box was not updated if new resolution had more or less depth choices than previously selected resolution.
- Mouse was captured even if "Start mouse uncaptured" was ticked and booting to RTG mode.
- Amiga side does not anymore see .lnk extension if it is valid Windows shortcut softlink.
- Enabling JIT for the first time in GUI now always forces JIT Direct mode.
- If blitter was started one cycle before final D write (Cycle which is always unused by blitter), new blit's 2 cycle startup incorrectly accepted DMA cycles that were not free. (Day of Reckoning / Digital)
- Bitplane DMA incorrectly stole sprite DMA in some situations (Plastic Passion / Upfront)
- Sync clock when resuming from sleep/hibernate (if clock sync option is ticked)
- Available for A2065 and uaenet.device (uaenet unit 0 = slirp, 1 = first WinPCap device)
- Does not need any drivers, uses normal WinSock API.
- NAT, outbound connections only.
- TCP and UDP only (no ICMP or other ethernet frame types)
- DHCP supported.
- Manual settings: IP 10.0.2.15, Gateway 10.0.2.2, DNS 10.0.2.3, Mask 255.255.255.0.
Hardware graphics board emulation notes:
- Currently emulates following Cirrus Logic GD542X/543X based boards:
- Picasso II
- Picasso II+
- Piccolo SD 64 (Zorro II and III)
- Spectrum 28/24 (Zorro II and III)
- Picasso IV may be implemented in future.
- Uses QEMU Cirrus Logic SVGA graphics chip emulation.
- Picasso 96 and CyberGraphX v4 tested.
- Works with non-AmigaOS operating systems that don't support UAEGFX RTG board.
- Vertical blank timing uses GUI configured refresh rate value, display sync settings programmed to VGA chip are completely ignored.
- Only single VRAM size supported which is hardware supported max VRAM. Smaller VRAM requires emulating of VRAM aliasing and banking stuff that drivers use for VRAM size detection. It would become too Direct mode JIT unfriendly. Future "more compatible but slower" option is possible.
SCSI Tape notes:
- Tape path can point to directory, archive or plain file.
- Directory: all files in directory are included in virtual tape, ordered in whatever order OS returns the directory (unless index.tape is found), emulated file mark is between each file. Subdirectories are ignored.
- Archive: All files in archive are included, including subdirectories.
- Plain single file: tape only contains selected single file.
- If directory or archive and index.tape is found, it is assumed to contain order of files in virtual tape, plain file name strings separated by line feeds.
- Writing is also supported if path points to a directory. Creates files named xxxxx.tape where xxxxx is file number.
- Tape ERASE command only deletes files that have extension .tape to prevent accidental data loss. Subdirectories are also ignored.
- Can be connected to SCSI hardware emulation (SCSI0-6) or uaescsi.device (UAE), uaescsi.device unit number is always 4 or larger (if 4 was already used by some CD device).
- Tape change on the fly is supported.
- very minimal and basic at the moment.
- lua=<path to script> in config file, multiple files supported.
- lua/default.lua is loaded by default.
- supported UAE-specific functions:
- uae_log, uae_read_u8, uae_read_u16, uae_peek_u16, uae_write_u8, uae_write_u16
- uae_read_config, uae_write_config.
- lua functions:
- on_uae_vsync (every vsync)
- on_uae_config_changed (any config value has changed)
→ NOWSZY [AMIGA] Nieoficjalna wersja Winuae 2.7.0
- They might be slightly faster than the official build, assuming Microsoft improved their compiler between VS2010 and VS2013. However any difference probably won't be huge, or perhaps even noticeable at all. And I haven't done any testing. There is probably most likely to be a difference when using a C-language CPU core (68030/040/060 with MMU) or running a demo which has effects which are very CPU-heavy to emulate.
- There are speed- and size-optimised executables for x86, SSE, SSE2 and AVX. It probably makes sense to use the "best" one that your computer's CPU supports. I didn't add any CPU check code, so if you run one which uses instructions your CPU doesn't support it will probably crash. Pentium III doesn't support SSE2 and Core 2 Duo doesn't support AVX for example. There probably isn't much point using the size-optimised ones, but I compiled them to see how much difference optimising for size made (about 1MB).
→ NOWSZY [Strzałki][AMIGA] WinUAE 2.7.0 spolszczenie
→ NOWSZY [AMIGA] Winuae 2.7.0 Final
WinUAE 2.7.0 [05/12/2013]
- Cirrus Logic SVGA chip based hardware graphics board emulation.
- Use graphics board in emulated Amix, Linux, NetBSD and others.
- Use native CyberGraphX, Picasso96 and EGS RTG software in emulation.
- Emulates following boards: Picasso II, Picasso II+, Picasso IV (flash rom image required), Piccolo, Piccolo SD64 and EGS-28/24 Spectrum.
- Text mode is also emulated (Linux/NetBSD etc.. text console support)
- Based on QEMU Cirrus Logic emulation.
- SCSI tape drive emulation.
- Can install Amix without hacks.
- Both reading and writing supported.
- Works also with most backup software that supports tape drives.
- SLIRP user mode NAT emulation.
- A2065 and uaenet.device emulation without need for host side extra drivers.
- 68020 cycle-exact mode emulation rewritten to better match real hardware, accuracy improved, more improvements planned in future versions.
- Added GUI button that opens small disk image information window.
- GUI open log file and open error log buttons added.
- New WiX based installer.
- Two new field based interlace options added, reduces interlace artifacts.
- Chipset emulation compatibility improved, more undocumented chipset corner cases emulated.
- Game Ports panel input configuration improved.
- Built-in HRTMon and AROS ROM replacement updated to latest versions.
- Do not wake up all sleeping harddrives if loaded config has mounted physical harddrives (or memory cards) that are not currently connected.
- SCSI HD and CD emulation compatibility improved.
- SCSI HD/CD/TAPE statefile compatibility improved.
- CIA TOD counting is now cycle-exact.
- 68020/030 cycle-exact/prefetch is fully compatible with FPU emulation.
2.6.x bugs fixed:
- Some OFS formatted hardfiles didn't mount.
- Wired XBox 360 pad (possibly others) missed input events.
Other bugs fixed:
- All Input panel events stopped working in some situations.
- RTG mode video recording display size fixed.
- Same game controller was inserted in both joystick ports if loaded config file had non-existing controller in second port.
- Built-in lzx decompressor didn't always decompress last byte of file.
- CD CUE file parsing fix, some images had incorrect CD audio timing.
- Output panel crashed on some systems.
- Crash when system was reset if it caused immediate PAL/NTSC mode change.
→ NOWSZY [AMIGA] Winuae 2.7.0 beta 16
WinUAE 2.7.0 beta 16 [30/11/13]
Beta 16: (RC1. Next week.)
- Z3 RTG base address was not adjusted if Processor Slot RAM was 128M.
- Writing to high BPL pointer when next cycle does same bitplane number DMA fetch: old address is used for fetch. (Powertrax / The Light Circle graphics glitch)
- Added workaround for Windows 8.1 bug, after SetCursorPos() call WM_MOUSEMOVE returns new coordinate as expected, then comes single message with old coordinate (this shouldn't happen) before it works correctly again. This fixes "Windows mouse" jumping ~50 pixels while moving the mouse. Rawinput HID mouse is not affected by this bug. (No, KB2908279 does not fix it, I guess working fix will be released someday)
- "Install mouse driver" + RTG mode has been unusable since 2600b1.
- Re-enabled "CIA TOD bug" by default but only in A500-like modes.
- Built-in HRTMon updated to 2.35
- Built-in AROS ROM updated. Added memory hack, bootup structures are allocated from hidden memory pool (located at 0xa80000-0xb80000, automatically enabled if built-in AROS rom is in use), when AROS starts booting from disk or HD, hidden pool is marked as full and all following allocations come from normal RAM. Now even 512k chip only config will boot and work with AROS rom replacement. Hack only used if CPU has 24-bit address bus. (68000/68010/68EC020).
→ NOWSZY [AMIGA] Winuae 2.7.0 beta 15
WinUAE 2.7.0 beta 15 [23/11/13]
- Removing directory harddrives on the fly crashed in some situations.
- Interlace with black lines ("fields+") didn't always work correctly.
- Only allow GUI mininize button if emulation has not yet been started, minimizing GUI when emulation window is open only causes problems..
- Copper debugger (od) shows when blit waiting WAIT ends and also stores copper instruction words when copper fetched them, shows '!' if words have changed since copper fetched them. (Previously it was possible to see copper list in state that makes no sense if program modified it after copper executed it)
- Add 16M to Z3 start address if Processor slot RAM is set to 128M, prevents KS RAM detection to confuse Z3 board as being part of Processor Slot RAM.
- Cirrus Logic graphics board enabled but inactive and refresh set to Chipset slowed down emulation.
- Sprite stuck in non-DMA mode was not correctly restored from statefile. (Has never worked previously)
- Adjusted programmed refresh rate blanking start and end position calculations.
→ NOWSZY [AMIGA] Winuae 2.7.0 beta 14
WinUAE 2.7.0 beta 14 [20/11/13]
- GUI didn't work in fullscreen modes.
- Input panel lost all keyboard events (not even Test button accepted any key presses) in some situations, already non-working config files can't be fixed. Older bug.
- New frames interlace mode (without blacklines) now only redraws changed lines.
- 68040 without FPU: unimplemented FPU exception used wrong exception vector.
- 68020+ DIVL div-by-zero exception in cycle-exact mode didn't skip prefetch phase.
- Do not set lightpen triggered state when BPLCON0 lightpen bit is set unless lightpen is also configured in gameports or input panel.
- Fixed crash if disabled keyboard had (old) gameport mappings.
- Autoscale size change comparison used wrong value (width, not height) causing slow down, forced config change check every frame.
- Added configurable directory filesystem file/directory name length limit, currently config file only, filesys_max_name_length=x, files and dirs with longer names are not seen in Amiga-side (directory operations only)
- Really fixed sound sync timing issue, partly introduced in b1 and b13.
→ NOWSZY [AMIGA] Winuae 2.7.0 beta 13
WinUAE 2.7.0 beta 13 [15/11/13]
- Standard partition hardfile OFS filesystem check was broken (2.6.1)
- Adjusted sprite xpos == hpos check. (Shed Tears / Ozone scroller)
- 64-bit build didn't load portaudio dll.
- GUI window minimize button worked strangely when emulation window was open.
- Added new interlace emulation modes, first new is same as old one but display is updated every field (Old doubling updated every frame) and another that does same and also blanks every other line.
- Added separate non-laced and lace doubling modes to GUI. (Better labels needed, but there is no space)
- Sound timing calculation wasn't updated to match new long/short field/interlace display emulation timing (b1).
→ NOWSZY [AMIGA] Winuae 2.7.0 beta 12
WinUAE 2.7.0 beta 12 [10/11/13]
(2 weeks or so if no showstoppers found)
- AROS rom memory mapping fixed (b1).
- RTG mode video recording image size was accidentally restricted to native chipset size.
- Ignore VPOSW writes if it would move vertical position backwards or if vpos is changed during vertical blanking and new value is also inside vblank period. (Prevents strange behavior if program tries to do weird things)
- Added minimize button to GUI window.
- 68000 CE ADDA.x/SUBA.x Rn,An was 2 cycles too fast.
- DIVS/DIVU prefetch is after division operation, not before like with MULS/MULU.
- Adjusted data returned when accessing non-existing memory.
- New Wix based installer test version included. Remove old installation first.
→ NOWSZY [AMIGA] Winuae 2.7.0 beta 11
WinUAE 2.7.0 beta 10 [2/11/13]
It seems 2.7 will be ready in next few weeks. 68020 cycle-exact seems to work without breaking anything too seriously and many AGA demos work much better. (Of course it is still quite far from perfect but that is not immediate goal)
- 68000/010 CPU core merge accidentally removed 68000 CLR to memory and Scc to memory dummy read-modify-write behavior.
- Sometimes after autoswitch (unconfigured mouse left button press) mouse was configured correctly but mouse input was kept disabled.
- Using stick/dpad to autoswitch now requires move, release, move inside 0.5s window to prevent accidental switches.
- Some more autoswitch bugs fixed.
- Switching bitplane DMA on just before DDFSTRT handling improved. (Saigon Megademo "Shir Khan" part)
- 68030 + more compatible without cycle-exact was unstable.
- Flush 68020/030 caches and refill prefetch buffers when switching CPU modes (cycle-exact/more compatible) on the fly.
- 68020 cycle-exact improvements.
- Bitplane graphics was horizontally shifted if program switched from lores to hires less than 4 cycles before bitplane DMA starts. (Chipset emulation was correct but drawing code saw invalid lores to hires switch and I kept looking for bug in wrong place..)
- Stupid code fixed in CD image audio code that coud cause random crashes.
- CD image audio start was delayed if audio was compressed (zip/mp3/flac/whatever) and start position was at the very end of previous track.
→ NOWSZY [AMIGA] Winuae 2.7.0 beta 10
WinUAE 2.7.0 beta10 [26/10/13]
- B8 Blerkenwiegel workaround caused buffer overflows in some situations. Fix improved.
- MoreNewStuffy fix (231b11) was not complete, non-modulo bitplane DMA fetches work differently than modulo adding DMA fetches. (Alpha and Omega / PMC)
- Also above behavior seems to only happen with first plane fetch. (New and Better Routines / Cult) This needs more testing, someday..
- '?' disk info button now opens normal dialog window, disk label also included (if dos disk) and type of bootblock (1.x standard, 2.x+ standard, custom)
- When loading config that has 2 identical game controllers configured in both ports and only one controller is connected, connected controller was inserted in both ports.
- GamePorts panel port change behavior improved, if new device is already inserted in other port, device in other port is now always automatically changed, not the one you just changed.
- When clicking mouse that is not inserted in either Amiga port and host system has only one mouse connected, "Windows mouse" is inserted, not HID mouse.
- 68020 more compatible without cycle-exact works again and also uses new 68020 CE prefetch method.
- 68010 is now supported in more compatible and cycle-exact modes. New instructions supported and new stack frames emulated but timing is same as 68000, 68010 special timing improvements and loop mode is not emulated. At least not yet.
- 68010 emulation used some 68020+ only exception stack frames.
- FPU emulator now properly uses prefetch buffer emulation if more compatible or cycle-exact is enabled. Emulated program crashed in older versions with some FPU instructions.
- On the fly switching from fastest possible to prefetch ("more compatible") or CE didn't fill prefetch buffers and usually caused emulated program to crash.
- Added "Log window" checkbox to Paths panel, easier non-command line method to open log window.
- On the fly change of A1000 Agnus or No-EHB Denise Advanced chipset didn't do anything.
- A1000 Agnus and vertical bitplane start (DIWSTRT) of zero: nothing happens, bitplanes are only enabled if it is 1 or larger.