Kolejna seria testowa emulatora AMIGI - WinUAE. Oprócz kolejnych funkcjonalności skierowanych bardziej dla fanów młodszych modeli A1200 i wyżej, nowa wersja ma dodać... emulację GenLocka.
Kolejna seria testowa emulatora AMIGI - WinUAE. Oprócz kolejnych funkcjonalności skierowanych bardziej dla fanów młodszych modeli A1200 i wyżej, nowa wersja ma dodać... emulację GenLocka.
WinUAE 3.2.0 b3 (13.07.2015)
- CD and sound card audio are now always resampled with Anti interpolator before it gets mixed with Paula audio stream. Previously it used very crude resampling method.
- ES1370 (SB128) emulation fixed, DMA length register was not reset when playback was restarted. (I don't understand how it would have ever worked in QEMU without sound glitches)
- Added "Full PCI DMA" option to PCI bridges that in real world don't have Amiga to/from PCI DMA support (Prometheus and Mediators). Default is off = emulates real hardware limits.
- Validate PCI DMA addresses, log message and return random data if trying to access unsupported address or if attempting to access Amiga address space and bridge does not have full PCI DMA support. (Probably becomes HALT-something if real hardware simply hangs in this situation)
- 68040 MMU mode hardware bus error not caused by MMU had incorrectly status register ATC bit set.
- More reliable A2410 resolution switching.
- A2410 framebuffer space is also mirrored at the beginning of TMS34010 address space.
- Implemented A2410 TMS34010 to/from Amiga address space DMA feature. So far no programs found that uses it.
- Emulate 68020/030 prefetch pipeline more accurately, branch instructions stop prefetching after last opword of branch instruction has been loaded. It reduces unnecessary memory accesses. This probably also makes 68020/030 cycle exact mode even more faster without adjusting other parts of emulation (which needed to be made faster because some other unknown part was too slow, hopefully it was this prefetch feature..) Not fully implemented yet, addressing modes that use brief or full extension words disable this feature until next branch instruction because length of instruction needs to be known in advance and in these addressing modes it can't be calculated statically.
→ NOWSZY [AMIGA] Winuae 3.2.0 beta 20 Release Candidate #3
Winuae 3.2.0 Beta 20 05/11/2015
- Map ROM feature was not JIT direct compatible (JIT update few betas ago)
- Do not initialize CD drivers twice. (scsi passthrought, ioctl, image)
- Fix compatibility with old config files (before 68000/010 32-bit addressing option was added), force 24-bit addressing if config file was saved with 2.8.1 or older.
- Another old config compatibily update, if 68000/010 with chipset extra set to Generic, use more A500-like mainboard config than bigbox-like.
- Added Kupke Golem FastSCSI/IDE combo board.
- FastLane SCSI autoconfig mapping fixed.
- ROM scanner prefer roms not in archives update (b15) had exactly opposite effect..
Kupke Golem FastSCSI/IDE:
- SCSI/IDE combo board. Whole board or only IDE can be disabled.
- Fake DMA (SCSI long word wide, usual word wide PIO IDE)
- 4.2 ROM added ("fastscsi device (romversion) V4.2 (06-FEB-95)")
- Boot ROM made in 1995 without custom filesystem support..
- Does not copy ROM code to RAM, driver code executes directly from ROM.
→ NOWSZY [AMIGA] Winuae 3.2.0 beta 19 Release Candidate #2
Winuae 3.2.0 Beta 19 / 02/11/2015
- Sprite in far right border feature (b1) didn't work correctly in AGA modes that require hires/shres horizontal sprite resolution support. (Alien Breed 3D garbage sprite in right border)
- AGA hires/shres horizontal scrolling feature was not fully in sync with sprites (Banshee)
- In some situations bitplane DMA emulation internal state flag got stuck in active state (Aladdin blank screen).
→ NOWSZY [AMIGA] Winuae 3.2.0 beta 18 Release Candidate #1
Winuae 3.2.0 Beta 18 / 26/10/2015
- If dragndrop to GUI closed GUI (for example config file with show_gui=no), invalid GUI windows handle was accessed.
- Don't parse command line again when restarting emulation (for example by loading new config when emulation has already been started). Previously command line overrode new config.
- "Forget" all remembered scan line states when forcing full refresh, previously some border region scan lines were not refreshed properly when display parameters, for example centering, changed.
- Fixed named pipe unicode format buffer size calculation bug.
- If last command line parameter is a path and it looks like config file or state file: load it automatically. Adds support for dragndrop over winuae.exe shortcut with other parameters in shortcut's Target field.
- Automatically resolve all shortcut (*.lnk) paths in command line.
- D3D9 non-shader mode forgot scanline texture when switching modes.
- Fixed off by one bug in input device re-enumeration causing keyboard layout B->A or C->B change.
→ NOWSZY [AMIGA] Winuae 3.2.0 beta 17
Winuae 3.2.0 Beta 17 / 21/10/2015
- Trace mode in 68000 cycle-exact was 4 cycles too long.
- 68000 cycle-exact mode STOP needs at least 8 cycles before it can wake up.
- Memory-only cycle exact crash when entering GUI.
- Memory-only cycle exact shortcut config entry cycle_exact=memory (Old false and true values have not changed)
- Only use picassoiv_rom_file config entry if it contains valid path. (Workaround for some config files that contain picassoiv_rom_file=:NOROM for some reason)
- Z3 Picasso IV was disabled if there was not enough address space even when JIT was disabled (b16).
- JIT on/off change was not delayed until it was safe to do, like other CPU option changes. uae-configuration (or similar) on the fly config changes were unreliable in this situation.
- FAT drive mounted as a directory harddrive: file's modification time was not always correct. (2.6.0, wrong date field name)
- Warp mode fps limit added, config file only: warp_limit=fps
→ NOWSZY [AMIGA] Winuae 3.2.0 beta 16
Winuae 3.2.0 Beta 16 / 14/10/2015
- Added Mediator 1200SX autoconfig data.
- Added support for 68020+ CPU floating bus data when clock chip is not connected (Not yet correctly emulated, need accurate CPU cycle sequence and more)
- SPS plugin was not searched from all supported directories.
- Don't add fake uae boot rom expansion board if "hide uae expansions" is enabled.
- FPU FPCR and FPIAR was swapped in disassembler.
- CIA-B TOD accurate cycle counting code used CIA-A "is tod on?" variable.. (2.7.x or somewhere close)
- Use official AD1848 crystal value in Toccata emulation (24.576MHz), it seems some Toccata boards have correct crystals and some not exactly correct (For example 24.582MHz). Now 48000Hz output is exactly 48000Hz. (was 48011)
- 64-bit JIT FPU rounding mode fix and other 64-bit FPU fixes. (Frode)
- 64-bit QEMU PPC plugin fixed (Frode)
- Added memory accesses only -cycle-exact mode. In this mode CPU does not internally count cycles, only external memory accesses are counted, including chipset DMA contention. (This was previously only used when 68040/060 and cycle exact was enabled). 68020+ only, at least for now. More compatible (prefetch + caches) also required.
- GUI disk eject button worked unreliably if disk was inserted and then immediately ejected.
→ NOWSZY [AMIGA] Winuae 3.2.0 beta 15
Winuae 3.2.0 Beta 15 / 03/10/2015
- KS1.2 boot hack improved, now also works with KS 1.1, KS 1.0 and even with 0.7 beta!
- Added old style >2M chip RAM support back as a fallback, used when new method can't extend chip ram size.
- Fixed CAS2 instruction comparison failed case, memory operands should be written to Dc, not Du.
- Support DSKLEN writes while disk DMA is active, update only remaining DMA length without modifying DMA state (undocumented feature).
- If ROM scanner finds same ROM image multiple times, select plain file version if possible (not in archive).
Pre-KS 1.2 boot notes:
- KS 1.1 and older DOS is pure BCPL. Added separate BCPL entry point to directory filesystem handler that makes BCPL DOS happy.
- Expansion.library does not exist: MakeDosNode and AddDosNode replacements added.
- Directory filesystem automount/boot fully supported.
- Hardfiles work more or less same as with KS 1.3.
- Boot priority sorting is not supported, first drive is always boot drive. (This can change in the future, don't depend on current behavior!)
- WB 1.3 L:FastFileSystem is supported with 1.2 and older versions. (Automatically puts it inside BCPL wrapper and patches 1.2+ only CopyMem() calls)
- BCPL stuff from AROS m68k. Most of DOS BCPL was re-implemented and documented by Jason and me in AROS m68k.
- This completes one of the most pointless features ever. Until next most pointless feature.[I can write detailed technical description of how pre-1.3 HD booting works and what kind of hacks and BCPL tricks were needed]
→ NOWSZY [AMIGA] Winuae 3.2.0 beta 14
Winuae 3.2.0 Beta 14 / 27/09/2015
- 64-bit JIT fixes. JIT FPU also fixed. (Frode)
- RDB parser dumps block contents to the log if parsing fails.
- SCSI tape request sense tape position bits (end/beginning) was not reported correctly (b7)
- UAE devices (uaeserial, uaescsi and so on) are now supported under KS 1.2.
- Directory harddrives and uaehf.device is now KS 1.2 automount/boot capable.
KS 1.2 boot notes:
- Logic reverse engineered from Multi Evolution SCSI driver.
- First drive in Harddrives panel is boot drive, even if it has lower boot priority than other drives.
- If boot priority = -128 (no autoboot): don't enable fake DF0: boot disk hack.
- Ugly hack. Temporarily patches DoIO() to inject fake df0: boot block and PutMsg() to get control after dos has been initialized.
→ NOWSZY [AMIGA] Winuae 3.2.0 beta 13
Winuae 3.2.0 Beta 13 / 21/09/2015
- SCSI emulation INQUIRY command didn't clear old data in output buffer (b7)
- Do not abort uaehf.device RDB parsing if drive init or bad block list is set.
- A2386SX 16M+ memory size crash fix.
- Implemented previously empty QEMU byteswap function, fixes 16-bit Cirrus Logic VGA text mode.
- zlib and libpng (used by screenshot function) updated to latest versions.
- Added PC 3.5" HD 21 sectors/track format to PC floppy size autodetection list. (DMF format)
- Renamed GUI Flash RAM file title, it is also used for A2286/A2386SX CMOS RAM.
- Big Aranym JIT merge. 64-bit version JIT supported. Includes big 32-bit JIT changes. May cause breakage. (Frode) PPC support is not (yet) 64-bit compatible.
64-bit compatible JIT notes:
Use this thread: http://eab.abime.net/showthread.php?t=79762 to report following JIT related issues:
- 32-bit JIT works but 64-bit JIT crashes/works differently etc.
- 32-bit JIT works differently than in previous beta. (=before JIT merge)
Do not use above thread for non-JIT issues.
- 2G of Amiga address space available (vs ~1G to ~1.5G in 32-bit version under 64-bit OS). Because JIT still requires Amiga address space inside first 4G of host process address space and Windows allocates few pages in the middle of first 4G, 2G is the current max. Technically this is not a problem because AmigaOS is not really designed to support RAM at 2G-4G of address space, programs may use signed pointers and some exec functions use address bit 31 for error state. (In theory 3G may be possible later if it is really needed)
- Use "UAE" RAM allocation mode (not "Real") if you want max available Z3 RAM (up to 1.5G. Z3 RAM + RTG VRAM + 256M must be less than or equal to 2G. Anything more = crash.
- 64-bit JIT FPU is not fully functional yet. Do not enable.
→ NOWSZY [AMIGA] Winuae 3.2.0 beta 12
Winuae 3.2.0 Beta 12 / 15/09/2015
- Boolean config true value converts to 1 and false to zero before doing any calculations. someboolentry=[1-someboolentry] custom event string now works as expected.
- Bridgeboard in VGA graphics mode only updated part of display (and sometimes nothing was updated).
- ESP (53C94, FAS216 etc..) SCSI updates to support Multi Evolution (Needs FIFO used count and does odd things)
- Multi Evolution 500/2000 SCSI controller emulation added.
- XT bridgeboard timer gate 2 pin was not hooked up in DOSBox CPU mode. ("Timer2 control function failed")
- Removed RTC status bit hack, PIC_TickIndex() works now. ("The Real Time Clock has not been initialized")
- Delay bridgeboard emulated MDA/CGA VRAM write interrupts until next vblank to reduce number of interrupts. (Real hardware may or may not do same)
- Initialize bridgeboard add-on IDE controllers after Z2 boards (was after Z3 which prevents them to initialize if used KS ROM does not support Z3 boards and at least one Z3 board was enabled).
- Adjusted MDA/CGA emulation mode hsync/vsync reporting, some programs had really slow screen updates.
Multi Evolution 500/2000:
- Not autoconfig but has boot ROM at $f00000 region. (Autoconfig is only for RAM expansion)
- Boots also under KS 1.2. (Boot ROM does some ugly system patches)
- Long word wide fake DMA.
- Boot image that also shows SCSI detection diagnostics messages.
- At least v3.0 ROM version driver does odd things, it sends MESSAGE ACCEPTED command first, then it reads the message byte.
→ NOWSZY [AMIGA] Winuae 3.2.0 beta 11
Winuae 3.2.0 Beta 11 / 5/09/2015
- Fixed A2386SX default video mode configuration, it is software controlled, not jumper like in older models. Fixes unexpected "Invalid configuration information" BIOS messages.
- Added A2386SX-only hack to enable working 1.4M floppy images, I assume it thinks connected drive is Amiga 1760k drive and it programs FDC to use 720k (1.4M half speed) bit rate.
- Autodetect *.ima PC disk images inside archives.
- Increased IDE emulation multiple transfer support from 64 blocks to 128 blocks (Max possible).
- Universal XTIDE BIOS load address is now user configurable. (Exxxx does not work in AT systems)
- x86 IDE emulation used wrong byte swapping mode if data port width was 16/32-bit (AT systems)
- Added support for IDE emulation edge triggered interrupts. ISA bus uses edge triggered interrupts, Fixes A2386SX IDE configuration hang.
- Only first non-autoconfig "board" was initialized if more than one was configured (for example both x86 AT IDE and XT IDE controller was enabled)
- Write-protect 0xDC000 region from Amiga-side writes if it is used by XTIDE Universal BIOS. This address conflicts with Amiga-PC shared memory space but fortunately it seems only beginning of this space is actually used for Amiga-PC communication.
- XTIDE Universal BIOS hardware is now correctly emulated.
- Per-monitor high DPI update caused repeated GUI re-open in some situations.
- DOSBox CPU modes now use DOSBox hardware timer emulation, fixes A2386SX floppy access delays.
- Added all currently available bridgeboard BIOS ROMs to ROM scanner.
- Cleaned up internal expansion ROM selection code.
NOTE: Nearly all previously created DOS HD images are not supported anymore due to wrong byte swapping. They need to be created from scratch.
Winuae 3.2.0 Beta 10 / 28/08/2015
- IDE emulation internal operation change. Previously next block was read from hardfile after previous block was transferred. Now all blocks are buffered first before transferring (or if write: all data is received first and then all buffered data is written to HDF). Fixes A2286 BIOS built-in IDE driver which does not wait for interrupt or DRQ status bit between transferred blocks. (Which technically is a bug, driver is depending on some specific HD manufacturer/model internal implementation detail)
- Amiga to PC bridgeboard interrupt enable/disable state fixed. A2286 Janus hardfile access does not hang anymore.
- Added x86 CPU speed adjustment (CPU panel, full left = fastest possible mode). Note that some BIOS drivers use CPU delay loops, unexpected things can happen.. Fastest possible enables extra hack ("immediate" floppy to prevent floppy detection fail). Speed adjustment is only enabled after initial
- BIOS diagnostics checks have been done because some timer tests fail if CPU is too fast..
- Added right control = right Windows key option. (Keyboards without right Windows key, quicker to use than creating custom mapping, note that it also disables keyboard layout B RCTRL=fire mapping)
- GUI window is now per-monitor high DPI aware.
- 3-State Apollo 500/2000 IDE/SCSI combo HD controller fully implemented. ROM added to ROM scanner. 3rd party replacement ROM available from Aminet. (http://aminet.net/package/disk/cdrom/AT_ApolloDev)
- CDFS automount without physical drives mounted 10 empty image drives (b1).
Winuae 3.2.0 Beta 9 / 20/08/2015
- x86 floppy controller EOT parameter was read from wrong offset. Note that previously 1.4M floppy in 720K drive (configured in 2286+ BIOS) worked, not anymore.
- Added x86 bridgeboard 1.2M PC floppy image support.
- Added Advanced chipset option that emulates some 68040/060 board's (for example Blizzard 1240/1260) custom register byte write "bug" where byte write to custom register does not write same value to both upper and lower byte. Previously this was always enabled if CPU type was 68060. (Writing to even address: zero written to odd address, writing to odd address: works "correctly")
- Fixed emulation boot crash if mouse driver was enabled (b8)
- x86 IDE config didn't load correctly. (Reset and save needed to fix it). x86 VGA also needs config reset.
Winuae 3.2.0 Beta 8 / 16/08/2015
- Many saved accelerator board enabled configurations loaded incorrectly in b7.
- PicassoIV ROM selection in expansion panel caused crashes. (b6)
- Added DCTV emulation. Colors are not yet correct. Blurriness is mostly correct, DCTV is composite out only, horizontal resolution is only 320 pixels, color resolution is worse (color bleeding). Some filtering is still needed to simulate real composite signal.
- Another Cirrus Logic mode change crash fix. (x86 bridgeboard reset when in text mode).
- x86 bridgeboard 720k/1440k floppy images supported.
Winuae 3.2.0 Beta 7, 12 August 2015, 19:23
- 68030 prefetch/ce mode now also uses improved prefetch pipeline emulation.
- b4 prefetch RTS (and others) special case does not exist, my original test must have been broken.
- GUI won't anymore allow multiple sound or network cards enabled at the same. (It has never been supported configuration)
- Cirrus Logic out of bounds VRAM access check improved.
- Picasso IV ROM loader update didn't support all old ROM paths (b6)
- SCSI Unit Attention (bus reset/media change) status handling should be now exactly as described in SCSI spec. (Roctec Rochard v2 boot ROM)
- A1060 Diagnostics and 8087 jumper was inverted.
- Continuing WD SCSI transfer with another Select and Transfer when previous SaT had already transferred all buffered data: new SaT restarted from beginning. (A590/A2091 omniscsi.device + cdfs)
- Config file loaded with non-existing *_rom_file_id: rom key file ("rom" with ID=0) was selected.
- M-Tec E-Matrix 530 accelerator board added (Thanks to Jozsef Vamosi)
Rochard RH800C with v2 boot ROM:
- Supports both SCSI and IDE. v1 is IDE only.
- Has crazy "Is drive ready?" polling routine, driver executes 300 (!) TEST UNIT READY commands in CPU loop per LUN (timer.device exists for a reason..), with single SCSI drive, driver executes total 6*300=1800 TUR commands during drive detection! (I recommend not to enable scsi logging..)
- ROM not yet added.
M-Tec E-Matrix 530:
- ROM image is software dumped (chip is not socketed), ROM layout (single chip contains two logical autoconfig boot ROMs) may not match real ROM dump.
- 53C94 based SCSI. Fake DMA, 2*long word wide data port. Whole transfer loop runs in level 2 interrupt routine..
- Boot ROM requires KS2.0+ only because it calls CacheControl() without checking ROM version.