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 beta9 [20/10/13]
NOTE: 68020 CE mode should be usable again.
- Added CIA tod bug option to Advanced chipset. Demo The end / Trilobit running under KS 1.3 has corruption in "photos" part if tod alarm bug is not emulated. KS 1.3 + real A500 does not have corruption. (I don't understand what is going on, some programs require this bug, some will hang if it is emulated. There has to be some unknown variable.)
- Writing to DIWSTOP during mid scanline and new value matches current vertical line: bitplane DMA fetches stop. Fixes Demo Starflight / Phenomena, OCS only. Interestingly ECS DMA fetches restart when DDFSTOP matches, causing scroller to jump horizontally.
- Writing to BPLxMOD exactly one cycle before bitplane fetch that also adds modulos uses old modulo value. (Copper Slave / Ram Jam)
- Mouse was uncaptured when switching from non-fullwindow to fullwindow mode.
- b8 hires unaligned check removed, it was wrong, logic analyzer confirmed.
- CMPA idle cycle was 2 cycles too slow in 68000 CE mode.
- Tape read command returned size of read request, not actual length which may be smaller than request size.
- OCS/ECS "7-planes" feature got broken in b8.
- HAM mode double pass display emulation's first pass didn't reset colors back to original before second pass. (Animotion / Phenomena)
- New memwatchpoint code didn't work with CIA registers.
- Log message if bitplane DMA ends at 0xe2 (can happen if start position is unaligned enough), this causes odd looking corruption on real hardware. (each scanline has random looking few pixels shift). Previously only DMA that ended at the start of next scanline were logged.
- Sprite vertical start == sprite DMA first line won't enable sprites. (Ultrademo #1 / The Link)
- If windowed mode was reset (for example RTG to custom chipset mode change) and mouse was not captured but window had focus: input got disabled, extra mouse click was required to enable input.
- Copper cycles were emulated too early before bitplane DMA decisions, copper might have used cycle reserved for bitplane DMA in some situations.
- Added "?" buttons to floppy GUIs. Current implementation is very lazy, few lines of information, boot block contents and it opens in default text editor.
- Limit VPOSW refresh rate display size changes to sane values, min display size is 256 lines and max is not allowed outside PAL size. Reduces flickering if program does something really weird or stupid with VPOSW.
- Second 68EC020 cycle-exact emulation rewrite. Timing may not be much better but cycle usage emulation should be much more closer to real hardware. (This needs logic analyzer check but I don't have all required hardware yet)
- Lots of work left to do but at least it should not be any worse than old code and it also should be much more accurate now when code has small loops (for example stupid CPU delays).
If there are no demos or games that break or run really badly compared to 2.6.1, this is not anymore showstopper for 2.7.0 release.
NOTE: 68030 can queue data memory accesses, this is not yet emulated.
→ 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.