WinUAE Amiga emulator http://www.winuae.net/
  • C++ 91.9%
  • C 7.6%
  • Assembly 0.3%
  • Shell 0.1%
  • CMake 0.1%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Toni Wilen f35380edd0
Merge pull request #482 from midwan/arm64-trap-block-demotion
ARM64 JIT: demote trap blocks by opcode class, not wholesale
2026-08-29 08:46:52 +03:00
.github/workflows Fix Windows ARM64 JIT startup 2026-05-21 15:12:44 +02:00
archivers Merge pull request #432 from reinauer/porting/archive-media 2026-06-01 15:12:05 +03:00
cputest cputester: add nocache to help text. 2026-08-16 21:14:17 +03:00
dsp3210 dsp3210: fix portable host declarations 2026-05-30 23:56:48 -07:00
floppybridge FloppyBridge updates. 2021-10-14 18:51:20 +03:00
include Add statefile read validation helper routine 2026-08-25 17:52:14 +03:00
jit ARM64 JIT: demote trap blocks by opcode class, not wholesale. 2026-08-28 23:59:04 +02:00
kbmcu kbmcu: include cstring for memset 2026-05-31 00:33:15 -07:00
mame a2410: drop unused TMS bank declaration 2026-05-31 00:21:03 -07:00
od-unix qt: let Cmd+Q close the launcher on macOS 2026-07-07 14:00:59 -07:00
od-win32 Support virtual mouse driver on the fly change 2026-08-20 19:31:03 +03:00
packaging/debian packaging: add Debian install hooks 2026-06-13 21:50:59 -07:00
pcem CVPPC (Permedia2) DPMS support, now switching back from RTG to native mode also autoswitches monitors. 2026-07-31 17:21:01 +03:00
ppc ppc: flush QEMU JIT after 68k cache changes 2026-07-01 20:50:05 +02:00
prowizard Fix compilation 2026-06-19 18:31:22 +03:00
qemuvga ethernet: never deliver a card its own frames back 2026-07-28 23:10:56 -07:00
slirp slirp: harden restart and DNS handling 2026-07-07 13:47:38 -07:00
softfloat softfloat: drop stale float_raise declaration 2026-05-31 00:32:59 -07:00
support Added optional gettickcount() timing 2025-11-16 13:39:01 +02:00
tools cmake: expect the sibling qemu-uae plugin tree as ../qemu-uae 2026-07-07 14:00:59 -07:00
.gitignore packaging: add Debian install hooks 2026-06-13 21:50:59 -07:00
65c02core.cpp 3200b7 2015-08-12 20:21:24 +03:00
a2065.cpp ethernet: never deliver a card its own frames back 2026-07-28 23:10:56 -07:00
a2091.cpp scsi: handle SDMAC access edge cases 2026-07-17 13:31:05 +03:00
akiko.cpp Portability updates 2026-05-11 16:59:29 +03:00
aks.def on screen keyboard 2023-10-21 19:45:56 +03:00
amax.cpp Removed unneeded includes 2025-08-30 13:00:43 +03:00
ar.cpp DeMoN cart fixes 2026-08-08 15:59:13 +03:00
arcadia.cpp Removed unneeded includes 2025-08-30 13:00:43 +03:00
aros.rom.cpp aros rom updated 2025-08-04 20:46:27 +03:00
assem.cpp Initial CPU tester commit. 2019-08-07 20:41:04 +03:00
atonce.cpp Vortex ATonce plus merge 2026-06-19 17:08:37 +03:00
audio.cpp Partial audio future plans, mostly disabled for now. 2025-11-29 13:19:51 +02:00
autoconf.cpp Removed unneeded includes 2025-08-30 13:00:43 +03:00
blit.h Small blitter optimization 2025-03-07 17:57:55 +02:00
blitfunc.cpp Removed unneeded includes 2025-08-30 13:00:43 +03:00
blitfunc.h Add generated sourcde files 2023-03-11 19:52:50 +02:00
blitops.cpp imported winuaesrc2020b11.zip 2010-02-22 22:17:29 +02:00
blittable.cpp Add generated sourcde files 2023-03-11 19:52:50 +02:00
blitter.cpp ev_misc event handler optimization 2026-08-21 18:03:14 +03:00
blkdev.cpp Activate CD OSD immediately at startup 2026-07-28 21:09:51 +03:00
blkdev_cdimage.cpp Removed unneeded includes 2025-08-30 13:00:43 +03:00
bsdsocket.cpp bsdsocket: preserve Unix trap context for host calls 2026-06-13 21:50:59 -07:00
build68k.cpp Avoid using isspace() with signed characters 2020-10-06 04:44:57 +02:00
calc.cpp Debugger updates 2026-04-13 20:41:30 +03:00
catweasel.cpp Removed unneeded includes 2025-08-30 13:00:43 +03:00
cd32_fmv.cpp Temp build fix 2026-06-01 20:55:58 +03:00
cd32_fmv_genlock.cpp Removed unneeded includes 2025-08-30 13:00:43 +03:00
cdrom.cpp added uae/cdrom.h include to cdrom.cpp (to detect any decl/def mismatch) 2015-05-15 18:04:29 +02:00
cdtv.cpp Removed unneeded includes 2025-08-30 13:00:43 +03:00
cdtvcr.cpp Removed unneeded includes 2025-08-30 13:00:43 +03:00
cfgfile.cpp Freezer custom ROM WIP 2026-08-08 12:12:24 +03:00
ChangeLog imported winuaesrc1610b4.zip 2010-02-22 21:46:52 +02:00
cia.cpp Vortex ATonce plus merge 2026-06-19 17:08:37 +03:00
CMakeLists.txt cmake: expect the sibling qemu-uae plugin tree as ../qemu-uae 2026-07-07 14:00:59 -07:00
consolehook.cpp Remove ifdef 2026-01-15 17:08:13 +01:00
core.cw4.cpp imported winuaesrc2020b11.zip 2010-02-22 22:17:29 +02:00
cpuboard.cpp cpuboard: guard PPC-only accelerator paths 2026-06-02 16:01:37 -07:00
cpudefs.cpp Add generated sourcde files 2023-03-11 19:52:50 +02:00
cpuemu_0.cpp 68020/030 AND/EOR/OR #x,CCR + T1 trace: trace exception is generated. 2026-05-28 22:49:21 +03:00
cpuemu_11.cpp JMP/JSR bus error fix 2024-03-23 12:00:06 +02:00
cpuemu_13.cpp JMP/JSR bus error fix 2024-03-23 12:00:06 +02:00
cpuemu_20.cpp 68020/030 AND/EOR/OR #x,CCR + T1 trace: trace exception is generated. 2026-05-28 22:49:21 +03:00
cpuemu_21.cpp 68020/030 AND/EOR/OR #x,CCR + T1 trace: trace exception is generated. 2026-05-28 22:49:21 +03:00
cpuemu_22.cpp 68020/030 AND/EOR/OR #x,CCR + T1 trace: trace exception is generated. 2026-05-28 22:49:21 +03:00
cpuemu_23.cpp 68020/030 AND/EOR/OR #x,CCR + T1 trace: trace exception is generated. 2026-05-28 22:49:21 +03:00
cpuemu_24.cpp Fix undefined shifts 2025-01-11 19:54:08 +02:00
cpuemu_31.cpp Fix undefined shifts 2025-01-11 19:54:08 +02:00
cpuemu_32.cpp 68020/030 AND/EOR/OR #x,CCR + T1 trace: trace exception is generated. 2026-05-28 22:49:21 +03:00
cpuemu_33.cpp Fix undefined shifts 2025-01-11 19:54:08 +02:00
cpuemu_34.cpp 68020/030 AND/EOR/OR #x,CCR + T1 trace: trace exception is generated. 2026-05-28 22:49:21 +03:00
cpuemu_35.cpp 68020/030 AND/EOR/OR #x,CCR + T1 trace: trace exception is generated. 2026-05-28 22:49:21 +03:00
cpuemu_40.cpp 68020/030 AND/EOR/OR #x,CCR + T1 trace: trace exception is generated. 2026-05-28 22:49:21 +03:00
cpuemu_50.cpp 68020/030 AND/EOR/OR #x,CCR + T1 trace: trace exception is generated. 2026-05-28 22:49:21 +03:00
cpummu.cpp ppc: flush QEMU JIT after 68k cache changes 2026-07-01 20:50:05 +02:00
cpummu30.cpp 68030 MMU fixes (Restore opcode, if RTE causes new bus error, new stack frame would have stored wrong opcode, check correct variable for FMOVEM special case) 2026-07-26 17:50:59 +03:00
cpuopti.cpp imported winuaesrc2020b11.zip 2010-02-22 22:17:29 +02:00
cpustbl.cpp Generate fastest possible CPU mode 020/030 LINK´special case. 2026-05-28 21:34:20 +03:00
cputbl.h Generate fastest possible CPU mode 020/030 LINK´special case. 2026-05-28 21:34:20 +03:00
cputest.cpp cputester: fix 64-bit compilation warnings 2026-08-25 17:47:33 +03:00
cputest_support.cpp CPUTester update (68000 IPL timing, wait states, etc) 2023-03-12 10:04:45 +02:00
crc32.cpp trivial changes in several modules 2015-09-04 22:36:11 +02:00
custom.cpp Save floppy speed to statefile 2026-08-25 17:51:40 +03:00
debug.cpp Fix z debugger command 2026-08-10 17:12:51 +03:00
debugmem.cpp Fix executable rom loader 2026-07-30 20:02:16 +03:00
def_icons.cpp Built-in default icons. 2015-01-01 13:15:59 +02:00
devices.cpp Add queue for functions that must be called from main thread 2026-06-14 10:55:34 +03:00
disasm.cpp Increease disassembler temp buffer size 2026-04-18 19:27:09 +03:00
disk.cpp Write to extended ADF fix long/short track support 2026-07-05 20:32:10 +03:00
diskutil.cpp trivial changes in several modules 2015-09-04 22:36:11 +02:00
dlopen.cpp target: add startup and plugin hooks 2026-06-11 14:08:30 -07:00
dongle.cpp 6020b6 2025-11-29 13:24:13 +02:00
draco.cpp Removed unneeded includes 2025-08-30 13:00:43 +03:00
drawing.cpp Do not do LOL adjustments if buffer is not valid. 2026-08-27 20:34:54 +03:00
driveclick.cpp Make drive sound emulation "real-time" 2025-10-31 18:30:44 +02:00
enforcer.cpp Removed unneeded includes 2025-08-30 13:00:43 +03:00
epsonprinter.cpp Removed unneeded includes 2025-08-30 13:00:43 +03:00
ersatz.cpp L -> _T() 2012-03-29 18:44:25 +03:00
ethernet.cpp slirp: harden backend reinitialization 2026-06-03 21:29:27 -07:00
events.cpp ev_misc event handler optimization 2026-08-21 18:03:14 +03:00
expansion.cpp Change ROM selection to checkbox 2026-07-05 20:28:38 +03:00
fdi2raw.cpp Fixed FDI disk image support. 2025-06-04 20:15:16 +03:00
filesys.asm Support virtual mouse driver on the fly change 2026-08-20 19:31:03 +03:00
filesys.cpp Defer clock sync until OS heartbeat 2026-08-09 19:17:19 +03:00
filesys.sh imported winuaesrc1610b4.zip 2010-02-22 21:46:52 +02:00
filesys_bootrom.cpp Support virtual mouse driver on the fly change 2026-08-20 19:31:03 +03:00
filesys_helpers.asm Update to correct filesys_helpers.asm. Remove extra spaces. 2020-09-20 17:26:34 +03:00
flashrom.cpp Fix writing to 2x8 flash 2026-08-08 16:00:05 +03:00
fpp.cpp Removed unneeded includes 2025-08-30 13:00:43 +03:00
fpp_native.cpp Fix Windows ARM64 JIT startup 2026-05-21 15:12:44 +02:00
fpp_softfloat.cpp softfloat: copy mod/rem quotient through uint64_t 2026-05-31 00:32:30 -07:00
framebufferboards.cpp Removed unneeded includes 2025-08-30 13:00:43 +03:00
fsdb.cpp Removed unneeded includes 2025-08-30 13:00:43 +03:00
fsdb_unix.cpp fsdb: update Unix fsdb API glue 2026-06-02 16:01:13 -07:00
fsusage.cpp Fixes after previous commit 2025-03-29 19:50:45 +01:00
gayle.cpp Removed unneeded includes 2025-08-30 13:00:43 +03:00
genblitter.cpp Removed unneeded includes 2025-08-30 13:00:43 +03:00
gencpu.cpp 68020/030 AND/EOR/OR #x,CCR + T1 trace: trace exception is generated. 2026-05-28 22:49:21 +03:00
gencpu_mini.cpp imported winuaesrc2020b11.zip 2010-02-22 22:17:29 +02:00
gengenblitter.cpp imported winuaesrc2020b11.zip 2010-02-22 22:17:29 +02:00
genlinetoscr.cpp AGA bitplane and sprite storage and shift registers are now always full 64-bit to match real hardware behavior. Side-effects caused by FMODE changes mid scanline are now accurately emulated. 2026-07-20 12:56:27 +03:00
genp2c.cpp imported winuaesrc2020b11.zip 2010-02-22 22:17:29 +02:00
gfxboard.cpp Check uaegfx special case (this really should be unified in the future) 2026-08-12 17:26:10 +03:00
gfxlib.cpp L -> _T() 2012-03-29 18:44:25 +03:00
gfxutil.cpp Removed unneeded includes 2025-08-30 13:00:43 +03:00
gtkui.cpp imported winuaesrc2020b11.zip 2010-02-22 22:17:29 +02:00
hardfile.cpp Plain HDF with virtual RDB fix. 2026-01-10 19:46:43 +02:00
hrtmon.rom.cpp 3410b8 2017-05-07 16:59:32 +03:00
ide.cpp Possible fix for DRQ being set when IDE transfer fails due to host side access errors. 2025-07-03 19:36:14 +03:00
idecontrollers.cpp RIPPLE: Implement flash support like the real thing 2026-08-06 23:55:11 +12:00
identify.cpp Removed unneeded includes 2025-08-30 13:00:43 +03:00
ini.cpp Fix ini whole section delete. 2023-03-26 21:45:58 +03:00
inprec.cpp imported winuaesrc2020b11.zip 2010-02-22 22:17:29 +02:00
inputdevice.cpp Support virtual mouse driver on the fly change 2026-08-20 19:31:03 +03:00
inputevents.def ALG/Picmatic emulation updates. 2024-02-10 18:53:22 +02:00
inputrecord.cpp Removed unneeded includes 2025-08-30 13:00:43 +03:00
isofs.cpp isofs: avoid undefined timezone sign extension 2026-05-31 00:33:15 -07:00
keybuf.cpp Removed unneeded includes 2025-08-30 13:00:43 +03:00
linetoscr_aga_fast.cpp Cleanup. 2025-10-14 09:24:37 +03:00
linetoscr_aga_fm0.cpp AGA bitplane and sprite storage and shift registers are now always full 64-bit to match real hardware behavior. Side-effects caused by FMODE changes mid scanline are now accurately emulated. 2026-07-20 12:56:27 +03:00
linetoscr_aga_fm0_genlock.cpp AGA bitplane and sprite storage and shift registers are now always full 64-bit to match real hardware behavior. Side-effects caused by FMODE changes mid scanline are now accurately emulated. 2026-07-20 12:56:27 +03:00
linetoscr_aga_fm1.cpp AGA bitplane and sprite storage and shift registers are now always full 64-bit to match real hardware behavior. Side-effects caused by FMODE changes mid scanline are now accurately emulated. 2026-07-20 12:56:27 +03:00
linetoscr_aga_fm1_genlock.cpp AGA bitplane and sprite storage and shift registers are now always full 64-bit to match real hardware behavior. Side-effects caused by FMODE changes mid scanline are now accurately emulated. 2026-07-20 12:56:27 +03:00
linetoscr_aga_fm2.cpp Remove interlace artifacts wip 2026-05-22 18:22:40 +03:00
linetoscr_aga_fm2_genlock.cpp Remove interlace artifacts wip 2026-05-22 18:22:40 +03:00
linetoscr_aga_genlock_fast.cpp Cleanup. 2025-10-14 09:24:37 +03:00
linetoscr_common.cpp AGA bitplane and sprite storage and shift registers are now always full 64-bit to match real hardware behavior. Side-effects caused by FMODE changes mid scanline are now accurately emulated. 2026-07-20 12:56:27 +03:00
linetoscr_ecs_fast.cpp Cleanup. 2025-10-14 09:24:37 +03:00
linetoscr_ecs_genlock_fast.cpp Cleanup. 2025-10-14 09:24:37 +03:00
linetoscr_ecs_shres.cpp Remove interlace artifacts wip 2026-05-22 18:22:40 +03:00
linetoscr_ocs_ecs.cpp Remove interlace artifacts wip 2026-05-22 18:22:40 +03:00
linetoscr_ocs_ecs_genlock.cpp Remove interlace artifacts wip 2026-05-22 18:22:40 +03:00
linetoscr_ocs_ecs_ntsc.cpp Remove interlace artifacts wip 2026-05-22 18:22:40 +03:00
linetoscr_ocs_ecs_ntsc_genlock.cpp Remove interlace artifacts wip 2026-05-22 18:22:40 +03:00
logging.cpp Portability updates 2026-05-11 16:59:29 +03:00
luascript.cpp Removed unneeded includes 2025-08-30 13:00:43 +03:00
main.cpp target: add startup and plugin hooks 2026-06-11 14:08:30 -07:00
memory.cpp Don't add uae aros extra ram if secondary 1M ROM space is in use. Fix secondary 1M allocation when loading ROM as an executable. 2026-08-09 19:10:10 +03:00
midiemu.cpp midiemu: reopen Unix Munt output devices 2026-06-02 17:59:07 -07:00
missing.cpp trivial changes 2014-07-30 00:04:46 +02:00
moduleripper.cpp ARM64 support updates 2026-05-02 14:24:24 +03:00
mos6502.cpp Keyboard MCU emulation 2025-01-04 13:07:59 +02:00
native2amiga.cpp native2amiga: pass signal state as pipe pointer 2026-05-31 00:33:15 -07:00
ncr9x_scsi.cpp Removed unneeded includes 2025-08-30 13:14:52 +03:00
ncr_scsi.cpp Removed unneeded includes 2025-08-30 13:14:52 +03:00
newcpu.cpp ev_misc event handler optimization 2026-08-21 18:03:14 +03:00
newcpu_common.cpp Make CHK2/CMP2 N/V flag probes wrap-safe (signed overflow UB). 2026-08-28 23:58:12 +02:00
nogui.cpp imported winuaesrc2020b11.zip 2010-02-22 22:17:29 +02:00
p96_blit.cpp uaegfx masked and overlapping blit fix 2022-12-03 14:24:36 +02:00
pci.cpp pci: forward-declare bridge memory banks internally 2026-06-01 14:17:23 -07:00
readcpu.cpp Gencpu warning fixes. 2025-08-06 20:51:37 +03:00
readdisk.cpp imported winuaesrc2020b11.zip 2010-02-22 22:17:29 +02:00
README.md Updated links. 2021-03-22 17:31:20 +02:00
README_unix.md cmake: expect the sibling qemu-uae plugin tree as ../qemu-uae 2026-07-07 14:00:59 -07:00
rommgr.cpp Freezer custom ROM WIP 2026-08-08 12:12:24 +03:00
rpc.cpp imported winuaesrc2020b11.zip 2010-02-22 22:17:29 +02:00
rtc.cpp Save also MSM6242B RTC model control registers to RTC file. 2022-08-18 21:23:51 +03:00
sampler.cpp Removed unneeded includes 2025-08-30 13:14:52 +03:00
sana2.cpp ethernet: never deliver a card its own frames back 2026-07-28 23:10:56 -07:00
savestate.cpp Add statefile read validation helper routine 2026-08-25 17:52:14 +03:00
scp.cpp Removed unneeded includes 2025-08-30 13:14:52 +03:00
scsi.cpp Vortex ATonce plus merge 2026-06-19 17:08:37 +03:00
scsidev.cpp 3600b1 2017-08-13 18:52:15 +03:00
scsiemul.cpp Removed unneeded includes 2025-08-30 13:14:52 +03:00
scsitape.cpp Removed unneeded includes 2025-08-30 13:14:52 +03:00
serial.cpp 3600b1 2017-08-13 18:52:15 +03:00
sinctable.cpp 2500b13 2012-08-26 14:18:48 +03:00
slirp_uae.cpp slirp: harden backend reinitialization 2026-06-03 21:29:27 -07:00
sndboard.cpp Harden UAESND capture diagnostics 2026-06-14 23:27:28 +02:00
specialmonitors.cpp Specialmonitors wip 2026-05-22 18:23:22 +03:00
statusline.cpp Added GUI manual monitor switch to RTG panel and systray menu. Previously manual switch was only possible using input remapping and END+F9. 2026-08-01 11:45:22 +03:00
table68k Aranym JIT merge. 2020-07-27 19:56:31 +03:00
tabletlibrary.cpp Removed unneeded includes 2025-08-30 13:14:52 +03:00
test_card.cpp Genlock transparency emulation. 2015-06-18 20:29:05 +03:00
tinyxml2.cpp Upgrade tinyxml2 from v8.0 to v11.0 2025-09-01 16:12:14 +02:00
traps.cpp Removed unneeded includes 2025-08-30 13:14:52 +03:00
uaeexe.cpp Removed unneeded includes 2025-08-30 13:14:52 +03:00
uaeipc.cpp Removed unneeded includes 2025-10-26 16:32:24 +02:00
uaelib.cpp Removed unneeded includes 2025-08-30 13:14:52 +03:00
uaenative.cpp Add ifdef sections to code 2025-03-29 00:13:42 +01:00
uaeresource.cpp Removed unneeded includes 2025-08-30 13:14:52 +03:00
uaeserial.cpp Removed unneeded includes 2025-08-30 13:14:52 +03:00
uaesnd_ahi.s Unfinished UAESND AHI driver added. 2021-08-21 20:14:18 +03:00
uaeunp.cpp uaeunp compilation fix 2013-10-27 22:09:05 +02:00
vm.cpp jit: add ARM host mapping hooks 2026-06-08 15:20:52 -07:00
writelog.cpp trivial changes in several modules 2015-09-04 22:36:11 +02:00
x86.cpp Vortex ATonce plus merge 2026-06-19 17:08:37 +03:00
zfile.cpp archive: support official LZMA SDK 16.04 APIs 2026-05-31 21:12:31 -07:00
zfile_archive.cpp archive: support official LZMA SDK 16.04 APIs 2026-05-31 21:12:31 -07:00

WinUAE

  1. Requirements: Windows 7 32-bit/64-bit or newer.

  2. Visual Studio 2017 Community with the following feature: "Desktop Development with C++" with follow option: -"Support Windows XP for C++" -"Windows 8.1 SDK UCRT SDK" -"Windows 10 SDK 10.0.17763.0"

  3. Download and Install the Windows Driver Kit (WDK). 16299 (1709) or newer.

    Download Link -> https://docs.microsoft.com/en-us/windows-hardware/drivers/other-wdk-downloads

  4. Download the zip packages include and lib "winuaeinclibs.zip" and create the directory "c:\dev" and extract all. When finished you have "c:\dev\include" and "c:\dev\lib"

    Download Link -> https://download.abime.net/winuae/files/b/winuaeinclibs.zip

  5. Download WinUAE source packages and extract all (anywhere you want).

    Download Link -> https://github.com/tonioni/WinUAE/archive/.zip or (preferably) use git client.

  6. Download the zip package aros.rom.cpp.zip and extract into WinUAE source directory.

    Download Link -> https://download.abime.net/winuae/files/b/aros.rom.cpp.zip

  7. Download and Install Nasm (Assembler Compiler) and put it in PATH

    https://www.nasm.us/

  8. In Visual Studio click on "File"->"Open"->"Project/Solution" select the folder \od-win32\winuae_msvc15\winuae_msvc.sln (Ignore error message "Unsupported" and click ok)

  9. In The solution 'winuae_msvc' you can unload or delete the following projects (and all others not needed in step 12): -uaeunp -consolewrapper -decompess -fdrawcmd -ipctester -resourcedll -singlefilehelper -wix

  10. Change to 32-bit Release mode.

  11. Build following projects in following order: build68k genlinetoscr genblitter gencpu gencomp prowizard unpackers

  12. Switch to Test (debug build) or FullRelease (full optimized) and select either 32-bit or 64-bit. Compile.

Finished. In "D:\Amiga" you find winuae.exe and winuae64.exe