Beta 1:
Originally Posted by :
Game Ports panel custom mapping finally makes sense.
First phase of hardware based host/emulation interface done. uae-configuration is now OS4 compatible. Add "uaeboard_mode=1" to config file to enable it.
Beta 1:
Added extra validation checks for STORAGE_DEVICE_DESCRIPTOR, buggy drivers may return invalid (negative) offset values.
64-bit JIT harmless "Warning! 12 is locked" log spamming disabled.
Updated copper/blitter cycle conflict emulation. It only triggers when CPU writes to COPJMP, Copper is waiting and Copper DMA is enabled (and blitter uses same cycle). If Copper DMA was off, bug won't trigger, even if DMA gets
enabled few cycles later. Copper bug emulation is again always enabled if 68000 and cycle-exact config.
Cancel main thread sleep state immediately (Sleep due to CPU idle or similar) if PPC thread caused mainboard interrupt. This should reduce PPC to M68K interrupt emulation latency.
Hardware RTG emulation rendered same frame twice in some situations. Caused very slow performance in triple buffered mode.
Debugger keyboard presses were buffered and output to Amiga-side when debugger was exited.
Starting disk DMA does not flush Paula internal 16 bit buffer. Poll DSKBYTR for DSKSYNC, immediately start disk DMA with WORDSYNC enabled: following sync word must not be missed. (Original Virus really slow loading in cycle-exact mode)
Chip ram was marked as 16-bit Fast RAM for the CPU (no DMA contention emulation) if any memwatch point was active.
Amithlon partition type (0x78/0x30) support was broken, partitions were detected but it was not possible to mount them.
Added SX32 Pro board and ROM image. (Not all RAM sizes are correctly mapped)
Only unmap Z3 Fast RAM at reset if Z3 mapping mode is "Real" for better compatibility with old configs that assume Z3 RAM does not temporarily disappear at boot.
JIT on/off on the fly change without other CPU settings changed at the same time with uae-configuration didn't work.
Hardware emulation autoconfig board UAE interface first working feature: uae-configuration now works under OS4 Requires also updated uae-configuration, interface can also work under other non-m68k AmigaOS operating systems, only requirement is simple native uae-configuration port. Interface design is not final yet.
If CSPPC or BPPC is booted with empty or zero size flash rom image, fake resident idtag is automatically added that fools official flash rom updater to detect working board, "updating" the empty flash with full image (updater contains full flash rom image in encrypted format)
Debugger memwatch points can now match only CPU instruction (CPUI) or only CPU data accesses (CPUD, CPUDR, CPUDW)
"Heat map" debugger added, shows optional visual heatmap of CPU and DMA accesses. Can list highest addresses used by CPU instruction fetches or all addresses that single device accessed (Some DMA channel, CPU)
Some AGA modes were incorrectly detected as bitplane DMA overrunning causing screen corruption.
AROS ROM updated.
Input system and mapping updates:
Added SPC_SWAPJOYPORTS input event, swaps gameports joystick ports.
Added END+J default mapping = SPC_SWAPJOYPORTS.
Device autoswitch didn't ignore button release without matching press.
Device autoswitch switches to new Game Ports custom event if it has fire button mapped to mouse or gamepad.
"WinUAE null keyboard" renamed to "WinUAE keyboard", this is now the default global virtual keyboard. GamePorts panel only uses this keyboard, multiple keyboards are only supported in Input panel mode and only if manually enabled. Reduces complexity and confusion when moving configurations between systems with different number of keyboards.
Game Ports custom mapping rewritten. Now Game Ports list has 6 custom slots which can me inserted to any joystick port. New custom mapping data is also saved to separate config entries, one per slot.
Old Game Ports custom config is automatically converted to new custom mapping system.
Removed X-Arcade built-in layouts. Re-create them with new custom mapping system if needed.
Cleared custom input event string equals setting event to "<none>".
Fixed since the beginning bug that caused incorrectly matched input device(s) and input config when config was loaded with different connected input devices and order of devices was also different.
Rewritten game ports validation (Detect and fix if same device in multiple ports etc..).
Old config files should still work like previously except: game Ports custom mapping and first keyboard input config goes to WinUAE keyboard slot.
Last few Game Ports panel inserted devices (layout or real input device) are remembered. For example if config is loaded with joypad A inserted in port 2 but pad is not plugged in, then user manually changes it to joypad B. Now if pad A is later reinserted and pad B is removed, A is automatically put in port 2. It also works with keyboard layouts or new custom layouts, if keyboard layout was previously selected, then it was later replaced with gamepad, if gamepad is unplugged on the fly, previous keyboard layout is automatically selected.
[Reply]
Beta 6-8:
Originally Posted by :
Beta 6:
Fixed uaehf.device and input on the fly device change invalid free() calls.
Game Ports panel autofire/joystick type setting was not remembered.
Do not queue new uaenet.device uae_Signal() call if previous is still in queue.
Do not call any host OS functions from uaegfx trap functions, trap function can run in different thread context which can cause strange side-effects. OS4.x uaegfx resolution changes should be safe again.
Added shellexec custom input event/uae-configuration command that can execute Amiga-side commands or scripts. Uses SystemTagList() with NIL: Input and Output handles if S2+, Execute() with NIL: Output if pre-KS2. Only works when UAE Boot ROM is active, dos.library has been initialized and AmigaOS is running normally.
Display panel color component gamma value calculation fixed, any brightness or contrast modification was too dark.
Beta 7:
Fullscreen + paused + enter GUI: GUI was invisible.
OSD FPS counter shows 'P' in pause mode.
Directory filesystem drive total/used values are not anymore converted to internal block count before again converting to AmigaOS block count. Reported Amiga-side size is now accurate.
Create more sane looking fake geometry for directory harddrives. (Not that anyone really cares)
Directory filesystem harddrive block size is dynamically adjusted to enable correct drive size information even if drive is large (>2T), as long as AOS also supports it (OS3.9+ probably required).
If m68k FPU is in float (32-bit) precision mode, force output register value to 32-bit precision after each host FPU operation to guarantee correct result. (Kilofix / Iris missing geometry)
Clear UAE boot ROM temporary variables at reset. (OS4.x reset loop after warm reset)
Added 20 bytes of empty space after directory filesystem volume node. If OS4 decides to use it for something. (OS4 volume node is 20 bytes larger. UAE puts it in hardware board space, it can't use DOS functions to allocate it).
Implemented OS4 ACTION_FILESYSTEM_ATTR directory filesystem dos packet.
Selecting none in Game Ports reverted back to previously selected device/layout.
Beta 8:
Game Ports joystick type was always empty (undefined).
Quickstart panel CDTV/CD32 CD path name label was "DF1:", not "CD". (Broke when bridgeboard drive support was added)
Dragndrop to emulation window didn't work correctly until GUI was opened at least once.
Added screenshot autoclip mode, uses autoscale display size/position detection. Also added following config file only entries: (all config entries need win32. prefix)
screenshot_min_width and screenshot_min_height: minimum autoclip size in lores pixels.
screenshot_max_width and screenshot_max_height: maximum autoclip size in lores pixels.
screenshot_width and screenshot_height: forced screenshot size (non-autoclip mode only)
screenshot_x and screenshot_y: position/offset of screenshot (non-autoclip mode only)
screenshot_mult_width and screenshot_mult_height: 1x, 2x, 3x, .. 8x screenshot size multiplier.
screenshot_output_width_limit and screenshot_output_height_limit: minimum screenshot size, if original size is smaller, multiplier is increased until width/height is same or larger.
More internal changes to support more than one enabled RTG board at the same time. (Still lots more to do..)
68020/030 RTE didn't generate exception when it encountered 68040+ or 68010 only stack frame types.
Return error code instead of crashing if bsdsocket emulation sendto() tries to use unsupported raw protocol.
Switching from relative path mode back to normal mode could have caused repeated crashing.
Do not write reserved block at the end of FileInfoBlock back to Amiga side, Pre-2.x dos commands don't allocate complete FIB structure. (Was side-effect of OS4.x compatible trap system)
Basic NERO nrg CD image support added. Data and audio tracks seems to work.
CDFS mounting selects Joliet volume label if found. (Joliet volume label is not restricted to capital ASCII letters)
uaenet.device S2_READORPHAN should not filter unknown multicast addresses.
[Reply]