Nowa wersja testowa WinUAE, wzbogaconego o emulację PPC (PowerPC). Toni Wilen wraz z Frode Solheimem (FS-UAE) pracują nad okiełznaniem kodu QEMU, który zostanie wykorzystany zamiast kodu pearpc do emulacji architektury PPC.
WinUAE 2.9.0 beta 14 [1/09/14]
QEMU PPC is still work in progress (by Frode and me), QEMU-side is not yet included. It run for the first time few days ago. It is not stable enough yet but hopefully soon...
- Autoconfig stopped immediately after first A590/A2091 board was configured.
- If VHD check/validation failed after VHD type was fetched (static vs dynamic), VHD was still accepted as valid, possibly crashing soon after. HDF type variable was not cleared, bug since VHD support was added.
- Automatically extend internal SCSI emulation buffer size if larger than current buffer size transfer is requested.
- If 68060 and "Unimplemented CPU emu" is ticked: 68060 unimplemented instructions that are completely unimplemented (CHK2/CMP2/CAS2/MOVEP) still triggered illegal instruction exceptions.
- 68000/010 configuration with 32-bit address space is now allowed.
- Blizzard 2060 ROM loading special case handling didn't work. (Has odd/even parts, others don't)
- Redesigned GUI SCSI expansion ROM selection, easier to add new boards in future.
- Fastlane Z3 SCSI board emulation implemented, another FAS216 based SCSI controller. z3scsi.device from phase5.a1k.org in rom scanner, but it would be nicer to have full dump. SCSI part only, memory part ignored.
- Oktagon 2008 SCSI board emulated. This was interesting, it has "software DMA" (SCSI chip is told to do DMA transfer but "DMA controller" is IO space that CPU reads or writes), it also have 512 byte serial EEPROM used to store config (with only 15 bytes used). EEPROM data is internal, not saved to any file. 6.12 (last release?) boot ROM added to rom scanner. Autoconfig data is currently not confirmed. Support added only because it was quite different than most other SCSI controllers.
- TekMagic 2040/2060 board added. 1.0 tekscsi2.device ROM added to ROM scanner, both odd/even pair and merged rom supported. NOTE: tekscsi2.device has a bug that does not allow RDB filesystem loading. Fast RAM expansion is not supported, it seems TekMagic fast RAM can also start from 0x02000000, not the usual 0x08000000. tools/showconfig output needed.
- NCR53C710 SCRIPTS DMA wasn't correctly started when in manual start mode. (tekscsi2.device)
- Added support for non-MMU bus error caused by invalid memory accesses, including 68000/010/020 models which normally can't generate bus errors but perhaps some expansion hardware will need it in future.
- Screenshot with D3D shader filter + take screenshot before filtering ticked saved final D3D output, not original unfiltered buffer.
- "SCSI (auto)" now works with all SCSI boards. Selects first SCSI board that is enabled. (In same order as select menu lists SCSI controllers)
Some code restructuring:
- Autoconfig board handling rewritten yet again, removed lots of code duplication and moved most duplicated autoconfig logic from board specific files to common expansion.cpp.
- Autoconfig board ROM config handling reorganized, now it is much easier to add new Z2/Z3 boards.
- Replaced my hacky serial EEPROM emulation with better one from QEMU, made it generic (previously only used in CD32 emulation).
- Removed A590/A2091 and A4091 Expansion panel checkboxes, enable/disable is now ROM selection. (ROM selected = enabled, ROM selection empty = not enabled)
→ NOWSZY [AMIGA] Winuae 2.9.0 beta 25
WinUAE 2.9.0 beta 25 [23/11/14]
- Added 1M/0.5M+0.5M chip/slow ram option checkbox to Advanced Chipset (for example in rev6 A500 it is JP2 solder pad). If hardware is configured for 1M chip without 512k slow ram, normal chip ram alias at upper 512k of chip ram address space gets replaced with "bus noise". Can be only changed when chip RAM size is less than 1M. (ECS Agnus + 512k chipram without slow ram configuration always used this option previously, now it is optional and not enabled by default)
- Map Chip RAM mirror at 0x01000000 in A2620/A2630 config, to prevent A26x0 built-in monitor program detecting huge ram expansion at 0x01000000.
- uaenet.device + slirp combination was broken (probably has always been).
- uaegfx modeid space increased, reduces modeid conflicts if host os has huge amount of modes.
- Debugger does not anymore exit stopped CPU state (STOP instruction) after exiting debugger.
- "SCSI (Auto)" priorities changed: mainboard built-in first, then accelerator board, expansions last. (Expansions was first previously)
- More accurate 68000 prefetch mode instruction cycle usage, added non-static cycle counting (mul, div etc..)
- Most CDTV-CR built-in CD audio player features, including CD+G, are now working. Media changes supported. 3.44 ROM CD player works better than 3.32.
→ NOWSZY [AMIGA] Winuae 2.9.0 beta 24
WinUAE 2.9.0 beta 24 [15/11/14]
- Native code Z3 offset was wrong if Z3 mapping was using "real" mode.
- CD32 NVRAM file was not automatically created (b14).
- Added some accelerator board A1200 and A4000 configs to Quickstart.
- Only PCM audio worked (and was always used) when recording audio in non-wave mode.
- Picasso IV in Z3 mode didn't appear in Z3 autoconfig space.
- Initialize VGA chip emulation earlier, fixes emulator crash when Piccolo board is configured. (Also for some reason Piccolo and Piccolo SD boards are not used by OS4)
- Too large Z2 RTG VRAM value in config file was accepted as valid.
- Show user friendly message if PPC CPU is started without PPC plugin.
- Disassembler decoded FMOVE.x FPy,<ea> incorrectly, FPy was wrong.
- "Untrap = middle button" + "Minimize when focus is lost" + full-window mode didn't minimize. Only windowed mode should require real lost focus to become minimized.
- GUI appeared under full-window background window.
- Use secondary fast RAM bank for A2620/A2630 accelerator memory, works better with other Z2 boards (like A2091)
- Allow hardware unsupported (total >8M) Z2 total board size. Can happen in real world so it should be available in emulation too.
- Added Z2 autoconfig address validation, log and ignore any autoconfig attempt outside of valid Z2 regions.
- Added 68030 + more compatible CPU core. Previously this combination was unusable.
→ NOWSZY [AMIGA] Winuae 2.9.0 beta 23
WinUAE 2.9.0 beta 23 [01/11/14]
- Dragging vhd file to harddrives panel now adds it as a HDF, not a directory if it does not contain any known filesystem or RDB identifiers.
- PCMCIA IDE was always mounted without drive since drive attribute update long time ago.
- PCMCIA IDE and SRAM can be added (card inserted) after emulation has been started.
- Replaced "JIT direct compatible" option in memory panel with more useful Z3 mapping option: Auto = Use OS mapping if possible, fall back to UAE hack if JIT direct enabled and not enough adddress space. UAE = Always use UAE hack mapping (0x10000000). NOTE: not compatible with non-m68k operating systems. This mode was always forced until 282b1. Real = Always use OS mapping (0x40000000 with alignment support), disable JIT direct if not enough address space.
- Fixed missing graphics in Disposable Hero title screen in non-cycle exact modes.
- Load config with statefile set, load another config without statefile, GUI shows no statefile selected but when starting emulation statefile was still loaded.
- CDTV-CR CD read speed is now limited to 1x/2x.
- Added CD turbo data read speed mode, affects CDTV/CDTV-CR/CD32 emulation only. SCSI CD is always in turbo mode. Checkbox in CD/Harddrives panel.
- QEMU PPC module update, now all extra dependencies are statically linked. External dlls are not needed anymore (whole pluginsqemu can be deleted). Must be located at <winuae path>pluginsqemu-uae.dll
QEMU PPC core requirements:
- WinUAE 2.9.0 b23 or newer requirements:
- QEMU built as a library: http://www.winuae.net/files/b/qemu-uae.zip Unpack to winuae directory, dll gets unpacked to plugins directory.
- Old dependency DLLs are not needed or used anymore. They can be deleted.
→ NOWSZY [AMIGA] Winuae 2.9.0 beta 22
WinUAE 2.9.0 beta 22 [25/10/14]
- CDTV-CR CD unit was initialized even when CDTV-CR emulation was not enabled. Broke CD access on configurations that used CD unit for other purposes.
- Changed directory filesystem max file size limit (when not using 64-bit dos packets) to 4G-1. Old 2G-1 was technically official max size but most native filesystems don't enforce it and support file sizes up to 4G-1 (at least as long as application uses unsigned integers)
- Standard CD image read sector function didn't handle (rarely used) 2336 byte CD sectors correctly.
- Some statefiles have corrupt "extra_cycle" value (probably saved by some buggy beta) that causes long delay when restored, added workaround.
- 68000 CE mode IPL line sampling timing update. Do it during any memory access, not just prefetches.
→ NOWSZY [AMIGA] Winuae 2.9.0 beta 21
WinUAE 2.9.0 beta 21 [19/10/14]
- Moved CDTV-CR under original CDTV Quickstart option.
- Added 3.44 CDTV-CR extended ROM.
- CDTV-CR now boots CDTV CDs. CD audio player does not yet work and some games that play CD audio will hang. Also CD reading speed is currently unlimited.
- Added 256M (max possible) Blizzard accelerator board RAM size support. Works with 1230, 1260 and PPC.
- CSPPC P5_SELF_RESET bit emulation fixed, M68K can only reset PPC and PPC can only reset M68K if P5_SELF_RESET is not active. (Blizkick reset hang)
- When switching quickstart modes, extended ROM was not reset if new mode didn't use extended ROM.
- Switching Quickstart models now remembers previously selected model configuration setting.
- Disable tablet mode if tablet name query returns error or empty name. WTInfo() with null parameters is supposed to return error if tablet is not connected but it does not seem to be true with all drivers. (Fixes division by zero guru at boot if tablet emulation is enabled)
- default_xlate() system halt didn't work, broke probably when 1 second boot delay option was added.
- default_xlate() now also generates bus error if Gary bus error bit is set instead of halting.
- Include approximate exception startup time in non-cycle exact 68000 emulation modes.
→ NOWSZY [AMIGA] Winuae 2.9.0 beta 20
WinUAE 2.9.0 beta 20 [12/10/14]
- A2630 rom was not unmapped completely (only first half)
- CSMK3/CSPPC/BPPC Amiga reset bit should stop the PPC before reseting the system to prevent random hangs.
- CSMK3/CSPPC/BPPC switching off maprom programmatically (not hard reset) didn't restore original KS ROM.
- Added preliminary CDTV-CR emulation. Boots to title screen, preferences screen also works. Only clock and 4k (nonvolatile?) RAM emulated. No CD, no nothing else. v3.32 extended ROM added to ROM scanner, CDTV-CR option added to Quickstart.
- PPC interrupt/thread-safety hang problems should be fixed.
→ NOWSZY [AMIGA] Winuae 2.9.0 beta 19
WinUAE 2.9.0 beta 19 [6/10/14]
- Restartarting and loading another config crashed if PPC or RTG without JIT direct was active.
- After restarting non-JIT config, JIT direct was not available (old restriction that should have been gone few official releases ago)
- Added A2620/A2630 emulation and two rom images to rom scanner. (390282-06/390283-06 and 390282-07/390283-07) Not JIT direct compatible. 68000 fall back mode causes HALT4 status. ROM special feature: right mouse button at boot = enter boot menu, in boot menu shift+m and right mouse button: enter rom monitor.
- A590/A2091 word writes to DMAC WD SCSI byte registers and Z2 autoconfig registers supported. A2630 boot rom likes to do word writes to byte-size registers.
- PicassoIV AGA flifi bit was set even when using non-AGA hardware. No functional changes.
- Fixed RTG hardware emulation crash in some situations when switching (fullscreen) modes.
No changes to PPC emulation, which is also now considered complete (at least from my point of view), possible existing problems need to be debugged by someone else.
→ NOWSZY [AMIGA] Winuae 2.9.0 beta 18
WinUAE 2.9.0 beta 18 [28/09/14]
- "Pause emulation when xyz" option remained forever stuck in pause mode if PPC CPU was active.
- PearPC PPC emulation removed.
- Freezer cartridge ROMs had disappeared from GUI.
- Freezer cartridges didn't work.
- Force Direct3D mode if hardware RTG board + PPC enabled. DirectDraw has glitches. (Will also have glitches in non-PPC mode but there is no need to change it yet)
- CSPPC/BPPC interrupt controller IO address accesses were not thread safe, caused random lost or stuck interrupts.
→ NOWSZY [AMIGA] Winuae 2.9.0 beta 17
WinUAE 2.9.0 beta 17 [21/09/14]
- Hard reset now forces reload of KS ROM if maprom is active, previously map rom mapped image was still in use after hard reset.
- Fixed some more Z3 autoconfig bugs introduced in recent betas autoconfig updates.
- Only add VirtualAlloc() MEM_TOP_DOWN flag when OS is XP. For some unknown reason with MEM_TOP_DOWN my system suddenly started giving less address space than without it..
- A1000 with full KS ROM configured (instead of A1000 boot strap ROM) didn't boot since b9.
- Reset didn't clear QEMU PPC JIT translation buffer, fixes mysterious hangs after reset.
- Added main thread sleep option slider to GUI, reduces CPU usage when M68K is stopped and only PPC is active.
- PPC CPU model can be manually configured using ppc_model=<name> config entry. Can be any QEMU supported
- PPC CPU model name string. (Model strings are in qemu source file target-ppc/cpu-models.c)
- Automatically disable m68k JIT autoconfig hack if only PPC CPU is active when autoconfig starts after reset.
- Fixed WarpOS (possible PowerUP too) semi-random program hang caused by lost PPC interrupt(s).
- Allow m68k JIT direct with accelerator board if board is not Blizzard model (no Blizzard memory aliases) CyberStorm PPC + m68k JIT direct at least seems to work, no guarantees.
- QEMU PPC libraries are now loaded from <winuae path>pluginsqemu. Old location is not supported anymore. Move all qemu dependency libraries and qemu-uae.dll to new path.
→ NOWSZY [AMIGA] Winuae 2.9.0 beta 16
WinUAE 2.9.0 beta 16 [13/09/14]
- GUI (and log) showed wrong size for very large drives (>1T). Visual problem only.
- Fixed F12/pause hang when PPC was active.
- Fixed uaegfx RTG in Z2 mode memory mapping (b14)
- 68040 MMU MOVE16 fault size was wrong. (Cache line, not long)
- 68060 MMU read-modify-write fault had inverted read/write status.
- QEMU PPC vs UAE side memory banks are now dynamically mapped.
- PPC CPU HID1 set to more correct value, detected CPU clock is not same as bus clock anymore.
- QEMU TCG (JIT) buffer was too small, real world PPC programs run now much faster.