I zaczynamy kolejną serię wersji testowych emulatora WinUAE, ciekawe czy kiedykolwiek Toni Wilen ogłosi, że już nie ma nic do poprawienia dodania w dziedzinie emulacji Amigi;)
Ostatnia pełna wersja emulatora to WinUAE 4.1.0
Robocop 3 (1992, Ocean). Cutscene
Winuae 4.2.0 Beta IV 02/03/2019
- Enabled color burst bit emulation always made display grayscale except if BPLCON0 was not modified during frame.
- Adjusted color burst emulation: if genlock is connected, color burst state is ignored. Grayscale due disabled colorburst when using genlock is impossible because it is connected to RGB port and color burst only affects composite video out.
- 410b7 sprite FMODE=3 to lower FMODE value mid scan line update affected (parts of sprite disappeared) non-FMODE=3 sprites in certain situations.
- UAE RDB hardfile mounting didn't stop partition enumeration if number of partitions in single HDF exceeded max amount UAE HDF/directory partitions.
- Magic mouse change (b2) reverted and correctly fixed now. Only reactive WinUAE when mouse is moved back over WinUAE window with focus still active.
- 68020/030 cycle-exact: CPU to AGA chipset bus write waited full chipset cycle to finish which is not correct. Written data is latched by chipset buffers allowing CPU to continue executing after 68020/030 CPU memory cycle finishes (which is shorter than chipset cycle). This update slightly increases write speed to chipram/custom registers. (and probably fixes some demos and breaks others as usual)
- D3D11 shader viewport coordinate fixes. (pre and post shaders)
- Added Prelude (Zorro II) and Prelude 1200 (clock port) sound card emulation. (Hardware info from Oliver Gantert)
Prelude emulation notes:
- Prelude is similar to Toccata. PIO data transfers, FIFO memory and CS4231a audio codec chip. Toccata uses AD1848, CS4231a is fully compatible with AD1848 and also has some extra features.
- Prelude 1200 driver only initializes if card.resource exists: HW config must be A1200 with A1200 KS ROM. (=hardware with clock port)
- There may be something wrong with AHI (version specific?), test sound plays at 8000Hz instead of 44100Hz.
- I am not sure which AHI version is required. First I tried some 5.x AHI and device was detected but test button did nothing (also no HW accesses whatsoever when button was pressed). Replaced with 6.0 and test sound worked.
-> don't immediately assume problem is in emulation!
→ NOWSZY [AMIGA] Winuae 4.2.0 beta VIII
Terrorpods (1987, Psygnosis)
Winuae 4.2.0 Beta VIII 06/04/2019
- ELF executable ROM loader crash fix.
- Borderblank + horizontally bitplane ending before display window end: part of right border was drawn using wrong color (borderblank color vs color 0).
- uaegfx and Picasso IV 8-bit palette overlay mode was not implemented. Fixes XIII/Oxyron PIP mode.
- Fixed uaegfx overlay corruption if allocated overlay bitmap width was not divisible by pixel byte size. (PiP_View + image with "unaligned" width)
- Disassemmbling 68020+ full format extension type (an,dn,xxxx.w/.l) didn't print an part.
→ NOWSZY [AMIGA] Winuae 4.2.0 beta VII
Winuae 4.2.0 Beta VII 29/03/2019
- ELF executable ROM loader crash fix.
- Borderblank + horizontally bitplane ending before display window end: part of right border was drawn using wrong color (borderblank color vs color 0).
- uaegfx and Picasso IV 8-bit palette overlay mode was not implemented. Fixes XIII/Oxyron PIP mode.
- Fixed uaegfx overlay corruption if allocated overlay bitmap width was not divisible by pixel byte size. (PiP_View + image with "unaligned" width)
- Disassemmbling 68020+ full format extension type (an,dn,xxxx.w/.l) didn't print an part.
Winuae 4.2.0 Beta VI 23/03/2019
Very close to final, estimated relase date: first week of April
- On the fly switching to built-in AROS ROM with low memory config (like basic A500) crashed.
- Tape emulation: only support reads/writes if CDB fixed bit is set, emulated drive is not variable block size compatible and it was wrong anyway.
- Activate debugger if entering halted state and debugger is in use (for example breakpoint active)
- ATAPI tape: ATAPI identity response device type was CD-ROM, not Sequential access device.
Winuae 4.2.0 Beta IV 10/03/2019
Because I don't have any plans for anything major anymore: 4.2.0 will be released in 2-4 weeks.
- Picasso IV Flifi I2C bus responses are now faked. Removes P4Info "I2C Bus disabled" message. Very useless.
- Picasso IV driver polls GD5446 CR3F bit 7 (VREF state) when changing modes, probably to wait until native mode is completely redrawn, bit now toggles quickly to reduce delays when switching modes.
- Disassembler CHK2/CMP2 support was incomplete. Another 68020+ instruction with "non-standard" encoding.
- Added 68030 MMU instruction disassembler support.
- 68030 MMU instructions that have FC field: 11xxx FC field is invalid and generates F-line exception. (Was missed in previous invalid bit update few versions ago)
- Added support for shader (.fx) embedded config entries. Format: "string winuae_config: WINUAE_CONFIG = <uae-configuration compatible string>";. String can be split, for example like this: "param1 value1" <linefeed> " param2 value";. Config data is parsed and enabled when config file is loaded (with shaders selected) or when shader is changed using GUI.
- Added Tandem IDE HD/Mitsumi CD controller emulation. Only IDE is supported (which is identical to AlfaPower IDE controllers), Mitsumi drives are not emulated.
Winuae 4.2.0 Beta III 23/02/2019
- If win32.guikey is set to zero, disable F12 special handling. Normally if win32.guikey equals valid keycode, F12 can't open GUI, even if F12 in Input panel is configured to open GUI. (Another historic reason..)
- Genlock mode didn't always enable fully (was emulated but transparency was not visible).
- HAM + border sprites visible in border areas: in some situations bitplane data was incorrectly visible in borders.
- Filter border "blanking" was not working (b1).
- Selected filter panel mask/overlay was not updated when filter position (-4..0..4) was modified. (410b4)
- Many video port adapters (which includes grayscale mode and genlock) didn't support all doubling modes.
- Genlock and CD32FMV output was in color even if grayscale mode was enabled.
- 68030 MMU emulation now also creates short bus error frames. They are created when bus error is caused by write and write was instruction's last memory access. For some reason documentation mentions that some instruction prefetch faults also generate short frame but it seems to be incorrect.
- 68020/030 MOVES in instruction pipeline emulation (prefetch/more compatible) mode had wrong instruction length.
- 68020 full format extension disassembler fix, some addressing modes didn't print address register ([] instead of [an])
- Added IVS Trumpcard (non-Pro) v4.9 ROM.
- uaedbg ELF executable support. Not much different compared to HUNK support except ELF SHF_WRITE and SHF_EXECINSTR section flags are used to detect invalid writes or instruction fetches from non-code sections. uaedbg changed, old version is not compatible anymore. Separate debug files used in AROS are not yet parsed.
- do not try to validate or canonicalize UNC network paths to reduce unnecessary delays at startup.
Outrun 2:Europe (1991, US Gold)
Winuae 4.2.0 Beta II 15/02/2019
There is chance 4.2 becomes quicker and smaller update.
- Adjusted CDTV CD drive read/play startup delays. Fixes Town without no name speech audiotrack play stopping too early.
- Window resizing keeps current window aspect ratio if left or right CTRL is pressed when resize operation starts.
- Separated Filter panel internal texture size multiplier to vertical ands horizontal. Vertical "-" = same as horizontal.
- Magic mouse mode and some other Windows program is active and mouse gets moved over WinUAE window: don't activate window automatically. It can cause side-effect where other program is still getting keyboard input.
- Simply uaegfx overlay rendering optimization, if both RTG and overlay bitmap does not change during frame: don't force full redraw.
- Fixed AGA HAM graphics corruption if same scan line had BPLCON4 non-zero, border sprites enabled and at least one sprite visible in left border and HAM bitplane active.
- Added global memwatch l option, enables invalid access logger:
- Custom registers: unaligned, byte (except $dff002 and $dff006), mirror addresses and non-existing registers.
- Custom registers: detect if any unused bit is written as one to registers like BPLCONx.
- Custom registers: detect if any DMA pointer write access sets invalid address (outside of chip ram address space)
- Detect if any chipset DMA tries to access non-chip RAM memory (checked before address is masked with size of chip ram).
- CIA registers: detect invalid accesses, word accesses, unused register 11, mirror CIA address.
- Anything else needed?
Oil Imperium (1989, reLINE). Czasami przydaję się pare instancji emulatora, nawet po to, żeby sprawdzić kod zabezpieczenia;)
Winuae 4.2.0 Beta I 27/07/2019
- Bypass indirect memory access function calls (xget()/xput()) and access the memory directly if memory is normal RAM without side-effects (Real fast RAM). Should improve performance slightly in fastest possible non-jit or jit indirect modes.
- GUI listviews column order is now adjustable. Column order and width is stored in registry/ini. Adjustments are reset to defaults if number of columns changes in the future, manual reset to default button in Misc panel.
- Reject all Alt+<some key> windows system menu key shortcuts because invalid shortcuts may generate annoying beep sounds in magic mouse mode.
- Manual configured RAM address text box didn't support addresses larger than $7fffffff.
- Map >256k extended ROM images to $f00000 (not $e00000) if it begins with $1111 identifier.
- KS ROM selection now support hunk and m68k elf executables. Automatically relocated at startup and symbols, if embedded with executable, are loaded to debugger. Image must be rommable but can have multiple sections. Checksum, size field and interrupt vector offsets are automatically appended if final relocated ROM image is smaller than 512k. If final image is larger than 512k, it gets mapped at $a80000-$b7ffff and $f80000 only contains header and vector offsets. This was mainly implemented to make aros m68k ROM debugging less annoying but it probably can be useful for any custom rom development. Source level debugging may be implemented later, DWARF debugging information documentation is not very useful for implementing parser..
- Added keyboard_handshake=<v> config file entry. If handshake time period (in CCKs, not milliseconds) was less than v, message gets logged.
- Added memwatch point PC parameter, only detect hit if PC equals start of address of instruction that generated the memory access. For trainer internal use.
- Added log (L) only memory watch breakpoint mode, log only hits, don't break to debugger.
- Accelerator board CPU fallback (to mainboard CPU mode) was broken.
- "Add PC drives at startup" enabled and same drive root directory also mounted manually: drive was mounted twice (4.1.0 bug, earlier versions skipped duplicates)
- Added uaegfx Picasso96 overlay/PIP support.
- Added Cirrus Logic SVGA chip overlay/PIP hardware emulation (Picasso IV)
- AVI recording with non-standard refresh rate was reset to default if GUI was entered and exited during recording. Affected recorded audio pitch and sync.
- bsdsocket.library emulation SBTC_RELEASESTRPTR ("release string" = name + version string) was not implemented.
- Fixed sprite x-position before DMA slot(s) (left overscan) emulation bug that caused some partially hidden sprites to completely disappear depending on order of x-coordinates. (3.5)
- 68030 MMU and instruction ending to memory write that causes bus error: bus error exception stacked PC points to following instruction.
- 68020+ prefetch mode debugger H history command returned wrong instruction addresses.
- uae-configuration returned return code 10 even when matching config entry was found.
- Debugger disassembler didn't show scale factor if effective address mode was brief extension format. (broke when 68020+ addressing modes were fixed)
- Added custom ROM selection, 4 slots with manually configurable start and end addresses. Start and end are restricted to 64k boundaries.
- Added Pacific Peripherals Overdrive SCSI controller emulation and 2 ROM versions.
- Added Harms 3000 Professional 68030 accelerator board which is almost identical to A26x0 but ROM remapping seems to be slightly different.
- Added IVS Trumpcard (non-pro) emulation.
- Added IVS Trumpcard 500AT emulation.
- Trumpcard driver disk devs/*.driver files contain embedded raw boot rom image. If added as Trumpcard/Pro/500AT ROM image file, it will be automatically loaded as ROM image.
- Added ICD Trifecta emulation.
Overlay/PIP support:
- All Picasso96 RGB and YUV formats supported. (CL hardware supported modes: RGB565, RGB555, YUV422, YUV411. Few weird non-Picasso96 compatible modes are not implemented.)
- Color keying supported (CL hardware limit: 24-bit mode does not support color keying)
- Cirrus Logic hardware supported color key masking (8-bit color key and 8-bit mask, only available in 8-bit modes) is not implemented.
- Cirrus Logic hardware supported chroma key not implemented (Mainly designed for video capturing).
- Scaling supported, uses basic linear scaling.
- Pure software rendering, don't try to open too large video windows.
Pacific Peripherals Overdrive:
- Possibly first ever A2000 HD controller.
- 5380 based SCSI controller.
- 68440 DMA controller, CPU polls DMA complete register. (SupraDrive 2000 DMA which uses same DMA controller also CPU polls)
- RDB compatible, mostly, for some reason it assumes partition device names are C-strings, not BSTRs which makes device names look quite interesting in AmigaOS. v2.0 supports custom filesystems.
- Both known ROM versions have "SCSI 1.3 (14 Aug 1988)" version string but overdrive.device versions are 1.5 and 2.0.
IVS Trumpcard:
- 5380 based SCSI controller, byte wide fake DMA.
- Functionally same as Trumpcard Pro except Pro-only long/word wide fake DMA data ports and SCSI ID/status register are not implemented.
IVS Trumpcard 500AT:
- Usual basic PIO IDE controller.
ICD Trifecta:
- SCSI and IDE controller (LX), IDE only (EC). Don't select EC, at least 4.2 install disk driver seems to assume SCSI chip is always installed.
- SCSI is DMA capable, FAS216 SCSI controller, Xilinx FPGA based DMA controller.
- IDE is PIO only, uses large MOVEM copy loop.
- Boot ROM is still MIA, tested only with install disk driver.