]> git.unchartedbackwaters.co.uk Git - francis/winuae.git/commitdiff
imported winuaesrc1450b14.zip
authorToni Wilen <twilen@winuae.net>
Thu, 29 Nov 2007 17:05:34 +0000 (19:05 +0200)
committerToni Wilen <twilen@winuae.net>
Mon, 22 Feb 2010 19:37:18 +0000 (21:37 +0200)
519 files changed:
ChangeLog [changed mode: 0755->0644]
a2091.c [changed mode: 0755->0644]
akiko.c [changed mode: 0755->0644]
akiko2.c [changed mode: 0755->0644]
amax.c [changed mode: 0755->0644]
ar.c [changed mode: 0755->0644]
arcadia.c [changed mode: 0755->0644]
archivers/7z/7zAlloc.c [changed mode: 0755->0644]
archivers/7z/7zAlloc.h [changed mode: 0755->0644]
archivers/7z/7zBuffer.c [changed mode: 0755->0644]
archivers/7z/7zBuffer.h [changed mode: 0755->0644]
archivers/7z/7zCrc.c [changed mode: 0755->0644]
archivers/7z/7zCrc.h [changed mode: 0755->0644]
archivers/7z/7zDecode.c [changed mode: 0755->0644]
archivers/7z/7zDecode.h [changed mode: 0755->0644]
archivers/7z/7zExtract.c [changed mode: 0755->0644]
archivers/7z/7zExtract.h [changed mode: 0755->0644]
archivers/7z/7zHeader.c [changed mode: 0755->0644]
archivers/7z/7zHeader.h [changed mode: 0755->0644]
archivers/7z/7zIn.c [changed mode: 0755->0644]
archivers/7z/7zIn.h [changed mode: 0755->0644]
archivers/7z/7zItem.c [changed mode: 0755->0644]
archivers/7z/7zItem.h [changed mode: 0755->0644]
archivers/7z/7zMain.c [changed mode: 0755->0644]
archivers/7z/7zMethodID.c [changed mode: 0755->0644]
archivers/7z/7zMethodID.h [changed mode: 0755->0644]
archivers/7z/7zTypes.h [changed mode: 0755->0644]
archivers/7z/LzmaDecode.c [changed mode: 0755->0644]
archivers/7z/LzmaDecode.h [changed mode: 0755->0644]
archivers/7z/LzmaTypes.h [changed mode: 0755->0644]
archivers/dms/cdata.h [changed mode: 0755->0644]
archivers/dms/crc_csum.c [changed mode: 0755->0644]
archivers/dms/crc_csum.h [changed mode: 0755->0644]
archivers/dms/getbits.c [changed mode: 0755->0644]
archivers/dms/getbits.h [changed mode: 0755->0644]
archivers/dms/maketbl.c [changed mode: 0755->0644]
archivers/dms/maketbl.h [changed mode: 0755->0644]
archivers/dms/pfile.c [changed mode: 0755->0644]
archivers/dms/pfile.h [changed mode: 0755->0644]
archivers/dms/tables.c [changed mode: 0755->0644]
archivers/dms/tables.h [changed mode: 0755->0644]
archivers/dms/u_deep.c [changed mode: 0755->0644]
archivers/dms/u_deep.h [changed mode: 0755->0644]
archivers/dms/u_heavy.c [changed mode: 0755->0644]
archivers/dms/u_heavy.h [changed mode: 0755->0644]
archivers/dms/u_init.c [changed mode: 0755->0644]
archivers/dms/u_init.h [changed mode: 0755->0644]
archivers/dms/u_medium.c [changed mode: 0755->0644]
archivers/dms/u_medium.h [changed mode: 0755->0644]
archivers/dms/u_quick.c [changed mode: 0755->0644]
archivers/dms/u_quick.h [changed mode: 0755->0644]
archivers/dms/u_rle.c [changed mode: 0755->0644]
archivers/dms/u_rle.h [changed mode: 0755->0644]
archivers/lha/crcio.c [changed mode: 0755->0644]
archivers/lha/dhuf.c [changed mode: 0755->0644]
archivers/lha/header.c [changed mode: 0755->0644]
archivers/lha/huf.c [changed mode: 0755->0644]
archivers/lha/larc.c [changed mode: 0755->0644]
archivers/lha/lha.h [changed mode: 0755->0644]
archivers/lha/lha_macro.h [changed mode: 0755->0644]
archivers/lha/lhamaketbl.c [changed mode: 0755->0644]
archivers/lha/lharc.c [changed mode: 0755->0644]
archivers/lha/shuf.c [changed mode: 0755->0644]
archivers/lha/slide.c [changed mode: 0755->0644]
archivers/lha/uae_lha.c [changed mode: 0755->0644]
archivers/lha/util.c [changed mode: 0755->0644]
archivers/lzx/unlzx.c [changed mode: 0755->0644]
archivers/wrp/warp.c [changed mode: 0755->0644]
archivers/wrp/warp.h [changed mode: 0755->0644]
archivers/xfd/main.c [changed mode: 0755->0644]
archivers/xfd/xfd.c [changed mode: 0755->0644]
archivers/xfd/xfdmaster.h [changed mode: 0755->0644]
archivers/zip/unzip.c [changed mode: 0755->0644]
archivers/zip/unzip.h [changed mode: 0755->0644]
audio.c [changed mode: 0755->0644]
autoconf.c [changed mode: 0755->0644]
blitops.c [changed mode: 0755->0644]
blitter.c [changed mode: 0755->0644]
blitter2.c [changed mode: 0755->0644]
blitter3.c [changed mode: 0755->0644]
blkdev.c [changed mode: 0755->0644]
bsdsocket.c [changed mode: 0755->0644]
build68k.c [changed mode: 0755->0644]
catweasel.c [changed mode: 0755->0644]
cdrom.c [changed mode: 0755->0644]
cdtv.c [changed mode: 0755->0644]
cfgfile.c [changed mode: 0755->0644]
cia.c [changed mode: 0755->0644]
compemu_fpp.c [changed mode: 0755->0644]
compemu_optimizer.c [changed mode: 0755->0644]
compemu_optimizer_x86.c [changed mode: 0755->0644]
compemu_raw_x86.c [changed mode: 0755->0644]
compemu_support.c [changed mode: 0755->0644]
core.cw4.c [changed mode: 0755->0644]
cpu_small.c [changed mode: 0755->0644]
cpummu.c [changed mode: 0755->0644]
cpuopti.c [changed mode: 0755->0644]
cpustbl_small.c [changed mode: 0755->0644]
cputbl_small.h [changed mode: 0755->0644]
crc32.c [changed mode: 0755->0644]
custom.c [changed mode: 0755->0644]
custom2.c [changed mode: 0755->0644]
debug.c [changed mode: 0755->0644]
disk.c [changed mode: 0755->0644]
drawing.c [changed mode: 0755->0644]
driveclick.c [changed mode: 0755->0644]
enforcer.c [changed mode: 0755->0644]
ersatz.c [changed mode: 0755->0644]
expansion.c [changed mode: 0755->0644]
fdi2raw.c [changed mode: 0755->0644]
filesys [changed mode: 0755->0644]
filesys.asm [changed mode: 0755->0644]
filesys.c [changed mode: 0755->0644]
filesys.sh [changed mode: 0755->0644]
filesys_bootrom.c [changed mode: 0755->0644]
fpp.c [changed mode: 0755->0644]
fsdb.c [changed mode: 0755->0644]
fsdb_unix.c [changed mode: 0755->0644]
fsusage.c [changed mode: 0755->0644]
gayle.c [changed mode: 0755->0644]
genblitter.c [changed mode: 0755->0644]
gencomp.c [changed mode: 0755->0644]
gencpu.c [changed mode: 0755->0644]
gencpu_mini.c [changed mode: 0755->0644]
gengenblitter.c [changed mode: 0755->0644]
genlinetoscr.c [changed mode: 0755->0644]
genp2c.c [changed mode: 0755->0644]
gfxlib.c [changed mode: 0755->0644]
gfxutil.c [changed mode: 0755->0644]
gtkui.c [changed mode: 0755->0644]
hardfile.c [changed mode: 0755->0644]
hrtmon_rom.c [changed mode: 0755->0644]
identify.c [changed mode: 0755->0644]
include/a2091.h [changed mode: 0755->0644]
include/akiko.h [changed mode: 0755->0644]
include/amax.h [changed mode: 0755->0644]
include/ar.h [changed mode: 0755->0644]
include/arcadia.h [changed mode: 0755->0644]
include/audio.h [changed mode: 0755->0644]
include/autoconf.h [changed mode: 0755->0644]
include/blitter.h [changed mode: 0755->0644]
include/blkdev.h [changed mode: 0755->0644]
include/bsdsocket.h [changed mode: 0755->0644]
include/catweasel.h [changed mode: 0755->0644]
include/cdtv.h [changed mode: 0755->0644]
include/cia.h [changed mode: 0755->0644]
include/commpipe.h [changed mode: 0755->0644]
include/compemu.h [changed mode: 0755->0644]
include/cpu_prefetch.h [changed mode: 0755->0644]
include/cpu_small.h [changed mode: 0755->0644]
include/cpummu.h [changed mode: 0755->0644]
include/crc32.h [changed mode: 0755->0644]
include/custom.h [changed mode: 0755->0644]
include/debug.h [changed mode: 0755->0644]
include/disk.h [changed mode: 0755->0644]
include/drawing.h [changed mode: 0755->0644]
include/driveclick.h [changed mode: 0755->0644]
include/enforcer.h [changed mode: 0755->0644]
include/ersatz.h [changed mode: 0755->0644]
include/events.h [changed mode: 0755->0644]
include/events_jit.h [changed mode: 0755->0644]
include/events_normal.h [changed mode: 0755->0644]
include/execlib.h [changed mode: 0755->0644]
include/fdi2raw.h [changed mode: 0755->0644]
include/filesys.h [changed mode: 0755->0644]
include/flags_x86.h [changed mode: 0755->0644]
include/fpp-ieee-be.h [changed mode: 0755->0644]
include/fpp-unknown.h [changed mode: 0755->0644]
include/fsdb.h [changed mode: 0755->0644]
include/fsusage.h [changed mode: 0755->0644]
include/gayle.h [changed mode: 0755->0644]
include/genblitter.h [changed mode: 0755->0644]
include/gensound.h [changed mode: 0755->0644]
include/gfxfilter.h [changed mode: 0755->0644]
include/gui.h [changed mode: 0755->0644]
include/identify.h [changed mode: 0755->0644]
include/inputdevice.h [changed mode: 0755->0644]
include/keyboard.h [changed mode: 0755->0644]
include/keybuf.h [changed mode: 0755->0644]
include/mackbd.h [changed mode: 0755->0644]
include/memory.h [changed mode: 0755->0644]
include/moduleripper.h [changed mode: 0755->0644]
include/native2amiga.h [changed mode: 0755->0644]
include/ncr_scsi.h [changed mode: 0755->0644]
include/newcpu.h [changed mode: 0755->0644]
include/options.h [changed mode: 0755->0644]
include/osemu.h [changed mode: 0755->0644]
include/parallel.h [changed mode: 0755->0644]
include/picasso96.h [changed mode: 0755->0644]
include/readcpu.h [changed mode: 0755->0644]
include/sana2.h [changed mode: 0755->0644]
include/savestate.h [changed mode: 0755->0644]
include/scsi.h [changed mode: 0755->0644]
include/scsidev.h [changed mode: 0755->0644]
include/serial.h [changed mode: 0755->0644]
include/sysconfig.h.win32 [changed mode: 0755->0644]
include/sysdeps.h [changed mode: 0755->0644]
include/traps.h [changed mode: 0755->0644]
include/tui.h [changed mode: 0755->0644]
include/uae.h [changed mode: 0755->0644]
include/uaeexe.h [changed mode: 0755->0644]
include/uaeipc.h [changed mode: 0755->0644]
include/uaeserial.h [changed mode: 0755->0644]
include/xwin.h [changed mode: 0755->0644]
include/zarchive.h [changed mode: 0755->0644]
include/zfile.h [changed mode: 0755->0644]
inputdevice.c [changed mode: 0755->0644]
inputevents.def [changed mode: 0755->0644]
keybuf.c [changed mode: 0755->0644]
main.c [changed mode: 0755->0644]
memory.c [changed mode: 0755->0644]
missing.c [changed mode: 0755->0644]
moduleripper.c [changed mode: 0755->0644]
native2amiga.c [changed mode: 0755->0644]
ncr_scsi.c [changed mode: 0755->0644]
ncurses.c [changed mode: 0755->0644]
newcpu.c [changed mode: 0755->0644]
nogui.c [changed mode: 0755->0644]
od-generic/exectasks.h [changed mode: 0755->0644]
od-generic/joystick.c [changed mode: 0755->0644]
od-generic/memory.h [changed mode: 0755->0644]
od-generic/sound.c [changed mode: 0755->0644]
od-generic/sound.h [changed mode: 0755->0644]
od-win32/7zplugin.c [changed mode: 0755->0644]
od-win32/WinUAE_Install.nsi [changed mode: 0755->0644]
od-win32/ahidsound.c [changed mode: 0755->0644]
od-win32/ahidsound.h [changed mode: 0755->0644]
od-win32/asm.bat [changed mode: 0755->0644]
od-win32/avioutput.c [changed mode: 0755->0644]
od-win32/avioutput.h [changed mode: 0755->0644]
od-win32/blkdev_win32_aspi.c [changed mode: 0755->0644]
od-win32/blkdev_win32_ioctl.c [changed mode: 0755->0644]
od-win32/blkdev_win32_spti.c [changed mode: 0755->0644]
od-win32/bsdsock.c [changed mode: 0755->0644]
od-win32/build68k_msvc/build68k_msvc.rc [changed mode: 0755->0644]
od-win32/build68k_msvc/build68k_msvc.vcproj [changed mode: 0755->0644]
od-win32/caps/CapsAPI.h [changed mode: 0755->0644]
od-win32/caps/CapsLib.h [changed mode: 0755->0644]
od-win32/caps/Comlib.h [changed mode: 0755->0644]
od-win32/caps/Comtype.h [changed mode: 0755->0644]
od-win32/caps/caps_win32.c [changed mode: 0755->0644]
od-win32/caps/caps_win32.h [changed mode: 0755->0644]
od-win32/cloanto/RetroPlatformGuestIPC.c [changed mode: 0755->0644]
od-win32/cloanto/RetroPlatformGuestIPC.h [changed mode: 0755->0644]
od-win32/cloanto/RetroPlatformIPC.h [changed mode: 0755->0644]
od-win32/debug_win32.c [changed mode: 0755->0644]
od-win32/debug_win32.h [changed mode: 0755->0644]
od-win32/dinput.c [changed mode: 0755->0644]
od-win32/direct3d.c [changed mode: 0755->0644]
od-win32/direct3d.h [changed mode: 0755->0644]
od-win32/diskutil.c [changed mode: 0755->0644]
od-win32/diskutil.h [changed mode: 0755->0644]
od-win32/driveclick_win32.c [changed mode: 0755->0644]
od-win32/dxwrap.c [changed mode: 0755->0644]
od-win32/dxwrap.h [changed mode: 0755->0644]
od-win32/fdrawcmd.c [changed mode: 0755->0644]
od-win32/filesys.asm [changed mode: 0755->0644]
od-win32/fsdb_win32.c [changed mode: 0755->0644]
od-win32/genblitter_msvc/genblitter_msvc.vcproj [changed mode: 0755->0644]
od-win32/gencomp_msvc/gencomp_msvc.vcproj [changed mode: 0755->0644]
od-win32/gencpu_msvc/gencpu_msvc.vcproj [changed mode: 0755->0644]
od-win32/genlinetoscr_msvc/genlinetoscr_msvc.vcproj [changed mode: 0755->0644]
od-win32/graphics/amiga_header.bmp [changed mode: 0755->0644]
od-win32/graphics/amiga_welcome.bmp [changed mode: 0755->0644]
od-win32/graphics/installer_icon.ico [changed mode: 0755->0644]
od-win32/hardfile_win32.c [changed mode: 0755->0644]
od-win32/hq2x16.asm [changed mode: 0755->0644]
od-win32/hq2x32.asm [changed mode: 0755->0644]
od-win32/ioport.c [changed mode: 0755->0644]
od-win32/ioport.h [changed mode: 0755->0644]
od-win32/ipctester.c [changed mode: 0755->0644]
od-win32/keyboard_win32.c [changed mode: 0755->0644]
od-win32/lcd.c [changed mode: 0755->0644]
od-win32/lcd.h [changed mode: 0755->0644]
od-win32/machdep/m68k.h [changed mode: 0755->0644]
od-win32/machdep/maccess.h [changed mode: 0755->0644]
od-win32/machdep/rpt.h [changed mode: 0755->0644]
od-win32/machdep/support.c [changed mode: 0755->0644]
od-win32/makeexe.bat [changed mode: 0755->0644]
od-win32/md-fpp.h [changed mode: 0755->0644]
od-win32/midi.c [changed mode: 0755->0644]
od-win32/midi.h [changed mode: 0755->0644]
od-win32/midiin.c [changed mode: 0755->0644]
od-win32/mman.c [changed mode: 0755->0644]
od-win32/opengl.c [changed mode: 0755->0644]
od-win32/opengl.h [changed mode: 0755->0644]
od-win32/parser.c [changed mode: 0755->0644]
od-win32/parser.h [changed mode: 0755->0644]
od-win32/picasso96_win.c [changed mode: 0755->0644]
od-win32/picasso96_win.h [changed mode: 0755->0644]
od-win32/picasso96_xp_win.c [changed mode: 0755->0644]
od-win32/posixemu.c [changed mode: 0755->0644]
od-win32/posixemu.h [changed mode: 0755->0644]
od-win32/registry.c [changed mode: 0755->0644]
od-win32/registry.h [changed mode: 0755->0644]
od-win32/resources/35floppy.ico [changed mode: 0755->0644]
od-win32/resources/Mycomp.ico [changed mode: 0755->0644]
od-win32/resources/WinUAE_German.rc [changed mode: 0755->0644]
od-win32/resources/amiga.png [changed mode: 0755->0644]
od-win32/resources/amigainfo.ico [changed mode: 0755->0644]
od-win32/resources/avioutput.ico [changed mode: 0755->0644]
od-win32/resources/chip.ico [changed mode: 0755->0644]
od-win32/resources/cpu.ico [changed mode: 0755->0644]
od-win32/resources/drive.ico [changed mode: 0755->0644]
od-win32/resources/drive_click.wav [changed mode: 0755->0644]
od-win32/resources/drive_snatch.wav [changed mode: 0755->0644]
od-win32/resources/drive_spin.wav [changed mode: 0755->0644]
od-win32/resources/drive_spinnd.wav [changed mode: 0755->0644]
od-win32/resources/drive_startup.wav [changed mode: 0755->0644]
od-win32/resources/file.ico [changed mode: 0755->0644]
od-win32/resources/folder.ico [changed mode: 0755->0644]
od-win32/resources/h_arrow.cur [changed mode: 0755->0644]
od-win32/resources/joystick.ico [changed mode: 0755->0644]
od-win32/resources/lcd.bmp [changed mode: 0755->0644]
od-win32/resources/misc.ico [changed mode: 0755->0644]
od-win32/resources/move_dow.ico [changed mode: 0755->0644]
od-win32/resources/move_up.ico [changed mode: 0755->0644]
od-win32/resources/paths.ico [changed mode: 0755->0644]
od-win32/resources/quickstart.ico [changed mode: 0755->0644]
od-win32/resources/resource [changed mode: 0755->0644]
od-win32/resources/resource.h [changed mode: 0755->0644]
od-win32/resources/root.ico [changed mode: 0755->0644]
od-win32/resources/screen.ico [changed mode: 0755->0644]
od-win32/resources/sound.ico [changed mode: 0755->0644]
od-win32/resources/winuae.exe.manifest [changed mode: 0755->0644]
od-win32/resources/winuae.ico [changed mode: 0755->0644]
od-win32/resources/winuae.rc [changed mode: 0755->0644]
od-win32/resources/winuae9.exe.manifest [changed mode: 0755->0644]
od-win32/resources/winuae_minimal.rc [changed mode: 0755->0644]
od-win32/resources/xarcade-winuae.bmp [changed mode: 0755->0644]
od-win32/rp.c [changed mode: 0755->0644]
od-win32/rp.h [changed mode: 0755->0644]
od-win32/scaler.c [changed mode: 0755->0644]
od-win32/scaler2.c [changed mode: 0755->0644]
od-win32/scaler_more.c [changed mode: 0755->0644]
od-win32/screenshot.c [changed mode: 0755->0644]
od-win32/scsidef.h [changed mode: 0755->0644]
od-win32/serial_win32.c [changed mode: 0755->0644]
od-win32/sfhelper.c [changed mode: 0755->0644]
od-win32/shm.c [changed mode: 0755->0644]
od-win32/soundcheck.c [changed mode: 0755->0644]
od-win32/sounddep/sound.c [changed mode: 0755->0644]
od-win32/sounddep/sound.h [changed mode: 0755->0644]
od-win32/srcrelease.bat [changed mode: 0755->0644]
od-win32/support.c [changed mode: 0755->0644]
od-win32/sys/ipc.h [changed mode: 0755->0644]
od-win32/sys/mman.h [changed mode: 0755->0644]
od-win32/sys/shm.h [changed mode: 0755->0644]
od-win32/sysconfig.h [changed mode: 0755->0644]
od-win32/target.h [changed mode: 0755->0644]
od-win32/threaddep/thread.h [changed mode: 0755->0644]
od-win32/tun.c [changed mode: 0755->0644]
od-win32/tun.h [changed mode: 0755->0644]
od-win32/tun_uae.h [changed mode: 0755->0644]
od-win32/unistd.h [changed mode: 0755->0644]
od-win32/wcc.sh [changed mode: 0755->0644]
od-win32/win32.c [changed mode: 0755->0644]
od-win32/win32.h [changed mode: 0755->0644]
od-win32/win32_decompress.c [changed mode: 0755->0644]
od-win32/win32_filesys.c [changed mode: 0755->0644]
od-win32/win32_nogui.c [changed mode: 0755->0644]
od-win32/win32_scale2x.c [changed mode: 0755->0644]
od-win32/win32_uaenet.c [changed mode: 0755->0644]
od-win32/win32_uaenet.h [changed mode: 0755->0644]
od-win32/win32gfx.c [changed mode: 0755->0644]
od-win32/win32gfx.h [changed mode: 0755->0644]
od-win32/win32gui.c [changed mode: 0755->0644]
od-win32/win32gui.h [changed mode: 0755->0644]
od-win32/win32gui_extra.c [changed mode: 0755->0644]
od-win32/winuae_msvc/winuae_msvc.8.vcproj [changed mode: 0755->0644]
od-win32/winuae_msvc/winuae_msvc.vcproj [changed mode: 0755->0644]
od-win32/winuaechangelog.txt [changed mode: 0755->0644]
od-win32/wrc.sh [changed mode: 0755->0644]
od-win32/writelog.c [changed mode: 0755->0644]
picasso96.c [changed mode: 0755->0644]
prowizard/include/extern.h [changed mode: 0755->0644]
prowizard/include/globals.h [changed mode: 0755->0644]
prowizard/include/ptktable.h [changed mode: 0755->0644]
prowizard/include/tuning.h [changed mode: 0755->0644]
prowizard/include/vars.h [changed mode: 0755->0644]
prowizard/misc/misc.c [changed mode: 0755->0644]
prowizard/misc/testbag.c [changed mode: 0755->0644]
prowizard/prowiz.c [changed mode: 0755->0644]
prowizard/rippers/AC1D_packer.c [changed mode: 0755->0644]
prowizard/rippers/AMOS-MusicBank.c [changed mode: 0755->0644]
prowizard/rippers/AMOS-PowerPackerBank.c [changed mode: 0755->0644]
prowizard/rippers/BP-Soundmonitor.c [changed mode: 0755->0644]
prowizard/rippers/BSI-FutureComposer.c [changed mode: 0755->0644]
prowizard/rippers/Bytekiller.c [changed mode: 0755->0644]
prowizard/rippers/ChipTracker.c [changed mode: 0755->0644]
prowizard/rippers/Crunchmania-Address.c [changed mode: 0755->0644]
prowizard/rippers/Crunchmania-Simple.c [changed mode: 0755->0644]
prowizard/rippers/DefjamCruncher32-pro.c [changed mode: 0755->0644]
prowizard/rippers/DigiBooster17.c [changed mode: 0755->0644]
prowizard/rippers/DigitalIllusion.c [changed mode: 0755->0644]
prowizard/rippers/DoubleAction.c [changed mode: 0755->0644]
prowizard/rippers/Dragpack100.c [changed mode: 0755->0644]
prowizard/rippers/Dragpack252.c [changed mode: 0755->0644]
prowizard/rippers/EurekaPacker.c [changed mode: 0755->0644]
prowizard/rippers/FC-M-Packer.c [changed mode: 0755->0644]
prowizard/rippers/FastTracker2.c [changed mode: 0755->0644]
prowizard/rippers/FuchsTracker.c [changed mode: 0755->0644]
prowizard/rippers/FutureComposer13.c [changed mode: 0755->0644]
prowizard/rippers/FutureComposer14.c [changed mode: 0755->0644]
prowizard/rippers/FuzzacPacker.c [changed mode: 0755->0644]
prowizard/rippers/GNUPacker12.c [changed mode: 0755->0644]
prowizard/rippers/GPMO.c [changed mode: 0755->0644]
prowizard/rippers/GameMusicCreator.c [changed mode: 0755->0644]
prowizard/rippers/GnuPlayer.c [changed mode: 0755->0644]
prowizard/rippers/HQC2.c [changed mode: 0755->0644]
prowizard/rippers/HeatseekerMC10.c [changed mode: 0755->0644]
prowizard/rippers/HornetPacker.c [changed mode: 0755->0644]
prowizard/rippers/JamCracker.c [changed mode: 0755->0644]
prowizard/rippers/KefrensSoundMachine.c [changed mode: 0755->0644]
prowizard/rippers/MED-Octamed.c [changed mode: 0755->0644]
prowizard/rippers/MOD-compatible.c [changed mode: 0755->0644]
prowizard/rippers/MasterCruncher30-Address.c [changed mode: 0755->0644]
prowizard/rippers/MaxPacker12.c [changed mode: 0755->0644]
prowizard/rippers/MegaCruncher-Object.c [changed mode: 0755->0644]
prowizard/rippers/MegaCruncher.c [changed mode: 0755->0644]
prowizard/rippers/ModuleProtector.c [changed mode: 0755->0644]
prowizard/rippers/Mugician.c [changed mode: 0755->0644]
prowizard/rippers/Newtron.c [changed mode: 0755->0644]
prowizard/rippers/NewtronOld.c [changed mode: 0755->0644]
prowizard/rippers/NoiseFromHeaven.c [changed mode: 0755->0644]
prowizard/rippers/NoisePacker1.c [changed mode: 0755->0644]
prowizard/rippers/NoisePacker2.c [changed mode: 0755->0644]
prowizard/rippers/NoisePacker3.c [changed mode: 0755->0644]
prowizard/rippers/NoiseRunner.c [changed mode: 0755->0644]
prowizard/rippers/NovoTrade.c [changed mode: 0755->0644]
prowizard/rippers/PhaPacker.c [changed mode: 0755->0644]
prowizard/rippers/PolkaPacker.c [changed mode: 0755->0644]
prowizard/rippers/PowerMusic.c [changed mode: 0755->0644]
prowizard/rippers/PowerPacker23.c [changed mode: 0755->0644]
prowizard/rippers/PowerPacker30.c [changed mode: 0755->0644]
prowizard/rippers/PowerPacker40-library.c [changed mode: 0755->0644]
prowizard/rippers/PowerPacker40.c [changed mode: 0755->0644]
prowizard/rippers/ProPacker10.c [changed mode: 0755->0644]
prowizard/rippers/ProPacker21.c [changed mode: 0755->0644]
prowizard/rippers/ProPacker30.c [changed mode: 0755->0644]
prowizard/rippers/Promizer01.c [changed mode: 0755->0644]
prowizard/rippers/Promizer10c.c [changed mode: 0755->0644]
prowizard/rippers/Promizer18a.c [changed mode: 0755->0644]
prowizard/rippers/Promizer20.c [changed mode: 0755->0644]
prowizard/rippers/Promizer40.c [changed mode: 0755->0644]
prowizard/rippers/Prorunner10.c [changed mode: 0755->0644]
prowizard/rippers/Prorunner20.c [changed mode: 0755->0644]
prowizard/rippers/QuadraComposer.c [changed mode: 0755->0644]
prowizard/rippers/RelokIt10.c [changed mode: 0755->0644]
prowizard/rippers/SGT-Packer.c [changed mode: 0755->0644]
prowizard/rippers/SkytPacker.c [changed mode: 0755->0644]
prowizard/rippers/SoundFX.c [changed mode: 0755->0644]
prowizard/rippers/SoundTracker.c [changed mode: 0755->0644]
prowizard/rippers/SoundTracker26.c [changed mode: 0755->0644]
prowizard/rippers/SpikeCruncher.c [changed mode: 0755->0644]
prowizard/rippers/StartrekkerPack.c [changed mode: 0755->0644]
prowizard/rippers/StimPacker.c [changed mode: 0755->0644]
prowizard/rippers/StoneArtsPlayer.c [changed mode: 0755->0644]
prowizard/rippers/StoneCracker270.c [changed mode: 0755->0644]
prowizard/rippers/StoneCracker299.c [changed mode: 0755->0644]
prowizard/rippers/StoneCracker299b.c [changed mode: 0755->0644]
prowizard/rippers/StoneCracker299d.c [changed mode: 0755->0644]
prowizard/rippers/StoneCracker300.c [changed mode: 0755->0644]
prowizard/rippers/StoneCracker310.c [changed mode: 0755->0644]
prowizard/rippers/SuperCruncher27.c [changed mode: 0755->0644]
prowizard/rippers/SyncroPacker46.c [changed mode: 0755->0644]
prowizard/rippers/TMK.c [changed mode: 0755->0644]
prowizard/rippers/TNMCruncher.c [changed mode: 0755->0644]
prowizard/rippers/TetraPack102.c [changed mode: 0755->0644]
prowizard/rippers/TetraPack21.c [changed mode: 0755->0644]
prowizard/rippers/TetraPack22.c [changed mode: 0755->0644]
prowizard/rippers/TheDarkDemon.c [changed mode: 0755->0644]
prowizard/rippers/ThePlayer22a.c [changed mode: 0755->0644]
prowizard/rippers/ThePlayer30a.c [changed mode: 0755->0644]
prowizard/rippers/ThePlayer40.c [changed mode: 0755->0644]
prowizard/rippers/ThePlayer41a.c [changed mode: 0755->0644]
prowizard/rippers/ThePlayer50a.c [changed mode: 0755->0644]
prowizard/rippers/ThePlayer60a.c [changed mode: 0755->0644]
prowizard/rippers/ThePlayer61a.c [changed mode: 0755->0644]
prowizard/rippers/TimeCruncher17.c [changed mode: 0755->0644]
prowizard/rippers/TitanicsPlayer.c [changed mode: 0755->0644]
prowizard/rippers/TrackerPacker1.c [changed mode: 0755->0644]
prowizard/rippers/TrackerPacker2.c [changed mode: 0755->0644]
prowizard/rippers/TrackerPacker3.c [changed mode: 0755->0644]
prowizard/rippers/TreasurePattern.c [changed mode: 0755->0644]
prowizard/rippers/TryItCruncher101.c [changed mode: 0755->0644]
prowizard/rippers/TurboSqueezer61.c [changed mode: 0755->0644]
prowizard/rippers/UnicTracker.c [changed mode: 0755->0644]
prowizard/rippers/UnicTracker2.c [changed mode: 0755->0644]
prowizard/rippers/Viruz2.c [changed mode: 0755->0644]
prowizard/rippers/WantonPacker.c [changed mode: 0755->0644]
prowizard/rippers/XannPlayer.c [changed mode: 0755->0644]
prowizard/rippers/ZenPacker.c [changed mode: 0755->0644]
prowizard/rippers/datacrunchers.c [changed mode: 0755->0644]
prowizard/rippers/skizzo.c [changed mode: 0755->0644]
readcpu.c [changed mode: 0755->0644]
readdisk.c [changed mode: 0755->0644]
rpc.c [changed mode: 0755->0644]
sana2.c [changed mode: 0755->0644]
savestate.c [changed mode: 0755->0644]
scsi-none.c [changed mode: 0755->0644]
scsi.c [changed mode: 0755->0644]
scsidev.c [changed mode: 0755->0644]
scsiemul.c [changed mode: 0755->0644]
sdl-joystick.c [changed mode: 0755->0644]
serial.c [changed mode: 0755->0644]
sinctable.c [changed mode: 0755->0644]
svga.c [changed mode: 0755->0644]
svgancui.c [changed mode: 0755->0644]
table68k [changed mode: 0755->0644]
traps.c [changed mode: 0755->0644]
tui.c [changed mode: 0755->0644]
uaeexe.c [changed mode: 0755->0644]
uaeipc.c [changed mode: 0755->0644]
uaelib.c [changed mode: 0755->0644]
uaeserial.c [changed mode: 0755->0644]
writelog.c [changed mode: 0755->0644]
zfile.c [changed mode: 0755->0644]
zfile_archive.c [changed mode: 0755->0644]

old mode 100755 (executable)
new mode 100644 (file)
diff --git a/a2091.c b/a2091.c
old mode 100755 (executable)
new mode 100644 (file)
diff --git a/akiko.c b/akiko.c
old mode 100755 (executable)
new mode 100644 (file)
index ae4057f..f0e404e
--- a/akiko.c
+++ b/akiko.c
@@ -573,7 +573,7 @@ static int cdrom_toc (void)
        d[8] = tobcd (s[8]);
        d[9] = tobcd (s[9]);
        d[10] = tobcd (s[10]);
-       if (s[3] == 1 && (s[1] & 0x0f) == 0x04)
+       if (s[3] == 1 && (s[1] & 0x0c) == 0x04)
            datatrack = 1;
        if (s[3] == 2)
            secondtrack = addr;
old mode 100755 (executable)
new mode 100644 (file)
diff --git a/amax.c b/amax.c
old mode 100755 (executable)
new mode 100644 (file)
diff --git a/ar.c b/ar.c
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
diff --git a/audio.c b/audio.c
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
diff --git a/cdrom.c b/cdrom.c
old mode 100755 (executable)
new mode 100644 (file)
diff --git a/cdtv.c b/cdtv.c
old mode 100755 (executable)
new mode 100644 (file)
index 4692acc..9e6bdb2
--- a/cdtv.c
+++ b/cdtv.c
@@ -9,6 +9,8 @@
   *
   */
 
+//#define ROMHACK
+//#define ROMHACK2
 //#define CDTV_DEBUG
 //#define CDTV_DEBUG_CMD
 //#define CDTV_DEBUG_6525
@@ -85,6 +87,13 @@ static volatile uae_u64 dma_wait;
 static int first;
 static int cd_volume;
 
+#ifdef ROMHACK
+#define ROM_VECTOR 0x2000
+#define ROM_OFFSET 0x2000
+static int rom_size, rom_mask;
+static uae_u8 *rom;
+#endif
+
 static void do_stch(void);
 
 static void INT2(void)
@@ -134,7 +143,7 @@ static int get_toc(void)
     memcpy (cdrom_toc, buf, i);
     last_cd_position = (buf[4 + 2 * 11 + 8] << 16) | (buf[4 + 2 * 11 + 9] << 8) | (buf[4 + 2 * 11 + 10] << 0);
     last_cd_position = lsn2msf(msf2lsn(last_cd_position) - 1);
-    if (buf[4 + 3 * 11 + 3] == 1 && (buf[4 + 3 * 11 + 1] & 0x0f) == 0x04)
+    if (buf[4 + 3 * 11 + 3] == 1 && (buf[4 + 3 * 11 + 1] & 0x0c) == 0x04)
        datatrack = 1;
     return 1;
 }
@@ -600,10 +609,16 @@ static void dma_do_thread(void)
 {
     static int readsector;
     uae_u8 *p = NULL;
+    int cnt;
+
+    while (dma_finished)
+       sleep_millis (2);
 
-    write_log ("DMAC DMA: sector=%d, addr=%08.8X, words=%d\n", cdrom_offset / cdtv_sectorsize, dmac_acr, dmac_wtc);
-    dma_wait += dmac_wtc * (uae_u64)312 * 50 / 75 + 1;
-    while (dmac_wtc > 0 && dmac_dma) {
+    cnt = dmac_wtc;
+    write_log ("DMAC DMA: sector=%d, addr=%08.8X, words=%d (of %d)\n",
+       cdrom_offset / cdtv_sectorsize, dmac_acr, cnt, cdrom_length / 2);
+    dma_wait += cnt * (uae_u64)312 * 50 / 75 + 1;
+    while (cnt > 0 && dmac_dma) {
        if (!p || readsector != (cdrom_offset / cdtv_sectorsize)) {
            readsector = cdrom_offset / cdtv_sectorsize;
            if (cdtv_sectorsize == 2336)
@@ -620,11 +635,12 @@ static void dma_do_thread(void)
        }
        put_byte (dmac_acr, p[(cdrom_offset % cdtv_sectorsize) + 0]);
        put_byte (dmac_acr + 1, p[(cdrom_offset % cdtv_sectorsize) + 1]);
-       dmac_wtc--;
+       cnt--;
        dmac_acr+=2;
        cdrom_length-=2;
        cdrom_offset+=2;
     }
+    dmac_wtc = 0;
     dmac_dma = 0;
     dma_finished = 1;
     cd_finished = 1;
@@ -821,7 +837,7 @@ static void REGPARAM3 dmac_bput (uaecptr, uae_u32) REGPARAM;
 static void dmac_start_dma(void)
 {
     if (!(dmac_cntr & CNTR_PDMD)) { // non-scsi dma
-       write_comm_pipe_u32 (&requests, 0x100, 1);
+       write_comm_pipe_u32 (&requests, 0x0100, 1);
     }
 }
 
@@ -897,6 +913,9 @@ void CDTV_hsync_handler(void)
     if (dma_wait >= 0 && dma_wait < 1024 && dma_finished) {
        if ((dmac_cntr & (CNTR_INTEN | CNTR_TCEN)) == (CNTR_INTEN | CNTR_TCEN)) {
            dmac_istr |= ISTR_INT_P | ISTR_E_INT;
+#ifdef CDTV_DEBUG
+           write_log ("DMA finished\n");
+#endif
        }
        dma_finished = 0;
        cdtv_hsync = -1;
@@ -999,6 +1018,16 @@ static uae_u32 dmac_bget2 (uaecptr addr)
     if (addr >= 0xb0 && addr < 0xc0)
        return tp_bget ((addr - 0xb0) / 2);
 
+#ifdef ROMHACK
+    if (addr >= ROM_OFFSET) {
+       if (rom) {
+           int off = addr & rom_mask;
+           return rom[off];
+       }
+       return 0;
+    }
+#endif
+
     switch (addr)
     {
        case 0x41:
@@ -1138,6 +1167,7 @@ static void dmac_bput2 (uaecptr addr, uae_u32 b)
        case 0xe2:
        case 0xe3:
        dmac_dma = 0;
+       dma_finished = 0;
        break;
        case 0xe4:
        case 0xe5:
@@ -1320,11 +1350,38 @@ static void ew (int addr, uae_u32 value)
     }
 }
 
+static uae_u32 REGPARAM2 dmac_wgeti (uaecptr addr)
+{
+    uae_u32 v = 0xffff;
+#ifdef JIT
+    special_mem |= S_READ;
+#endif
+#ifdef ROMHACK
+    addr &= 65535;
+    if (addr >= ROM_OFFSET)
+       v = (rom[addr & rom_mask] << 8) | rom[(addr + 1) & rom_mask];
+#endif
+    return v;
+}
+static uae_u32 REGPARAM2 dmac_lgeti (uaecptr addr)
+{
+    uae_u32 v = 0xffff;
+#ifdef JIT
+    special_mem |= S_READ;
+#endif
+#ifdef ROMHACK
+    addr &= 65535;
+    v = (dmac_wgeti(addr) << 16) | dmac_wgeti(addr + 2);
+#endif
+    return v;
+}
+
+
 addrbank dmac_bank = {
     dmac_lget, dmac_wget, dmac_bget,
     dmac_lput, dmac_wput, dmac_bput,
     default_xlate, default_check, NULL, "CDTV DMAC/CD Controller",
-    dummy_lgeti, dummy_wgeti, ABFLAG_IO
+    dmac_lgeti, dmac_wgeti, ABFLAG_IO
 };
 
 
@@ -1430,6 +1487,8 @@ int cdtv_add_scsi_unit(int ch, char *path, int blocksize, int readonly,
 void cdtv_free (void)
 {
     if (thread_alive > 0) {
+       dmac_dma = 0;
+       dma_finished = 0;
        write_comm_pipe_u32 (&requests, 0x0104, 1);
        write_comm_pipe_u32 (&requests, 0xffff, 1);
        while (thread_alive > 0)
@@ -1443,6 +1502,47 @@ void cdtv_free (void)
     configured = 0;
 }
 
+#ifdef ROMHACK2
+extern uae_u8 *extendedkickmemory, *cardmemory;
+static void romhack (void)
+{
+    struct zfile *z;
+    int roms[5];
+    struct romlist *rl;
+    int rom_size;
+    uae_u8 *rom, *p;
+
+    extendedkickmemory[0x558c] = 0xff;
+
+    roms[0] = 55;
+    roms[1] = 54;
+    roms[2] = 53;
+    roms[3] = -1;
+
+    rl = getromlistbyids(roms);
+    if (rl) {
+       write_log ("A590/A2091 BOOT ROM '%s' %d.%d\n", rl->path, rl->rd->ver, rl->rd->rev);
+       z = zfile_fopen(rl->path, "rb");
+       if (z) {
+           rom_size = 16384;
+           rom = (uae_u8*)xmalloc (rom_size);
+           zfile_fread (rom, rom_size, 1, z);
+           rom[0x2071] = 0xe0; rom[0x2072] |= 0x40;
+           rom[0x2075] = 0xe0; rom[0x2076] |= 0x40;
+           rom[0x207d] = 0xe0; rom[0x207e] |= 0x40;
+           rom[0x2081] = 0xe0; rom[0x2082] |= 0x40;
+           rom[0x2085] = 0xe0; rom[0x2086] |= 0x40;
+           rom[0x207b] = 0x32;
+           p = cardmemory + 0x4000;
+           memcpy (p, rom + 0x2000, 0x2000);
+           memcpy (p + 0x2000, rom, 0x2000);
+       }
+       zfile_fclose(z);
+    }
+    //kickmemory[0x3592c] = 0xff;
+}
+#endif
+
 void cdtv_init (void)
 {
     if (!thread_alive) {
@@ -1469,6 +1569,16 @@ void cdtv_init (void)
     ew (0x08, 0x40);
     ew (0x10, 0x02);
     ew (0x14, 0x02);
+
+    ew (0x18, 0x00); /* ser.no. Byte 0 */
+    ew (0x1c, 0x00); /* ser.no. Byte 1 */
+    ew (0x20, 0x00); /* ser.no. Byte 2 */
+    ew (0x24, 0x00); /* ser.no. Byte 3 */
+
+#ifdef ROMHACK2
+    romhack();
+#endif
+
     /* KS autoconfig handles the rest */
     map_banks (&dmac_bank, 0xe80000 >> 16, 0x10000 >> 16, 0x10000);
     cdtv_battram_reset ();
old mode 100755 (executable)
new mode 100644 (file)
index 5961e8b..8e307bc
--- a/cfgfile.c
+++ b/cfgfile.c
@@ -414,7 +414,7 @@ void cfgfile_save_options (struct zfile *f, struct uae_prefs *p, int type)
     cfgfile_write (f, "serial_direct=%s\n", p->serial_direct ? "true" : "false");
     cfgfile_write (f, "scsi=%s\n", scsimode[p->scsi]);
     cfgfile_write (f, "uaeserial=%s\n", p->uaeserial ? "true" : "false");
-    cfgfile_write (f, "sana2=%s\n", p->sana2[0] ? p->sana2 : "");
+    cfgfile_write (f, "sana2=%s\n", p->sana2 ? "true" : "false");
 
     cfgfile_write (f, "sound_output=%s\n", soundmode1[p->produce_sound]);
     cfgfile_write (f, "sound_bits=%d\n", p->sound_bits);
@@ -592,6 +592,7 @@ void cfgfile_save_options (struct zfile *f, struct uae_prefs *p, int type)
     cfgfile_dwrite (f, "scsi_a4091=%s\n", p->cs_a4091 ? "true" : "false");
     cfgfile_dwrite (f, "scsi_a3000=%s\n", p->cs_mbdmac == 1 ? "true" : "false");
     cfgfile_dwrite (f, "scsi_a4000t=%s\n", p->cs_mbdmac == 2 ? "true" : "false");
+    cfgfile_dwrite (f, "bogomem_fast=%s\n", p->cs_slowmemisfast ? "true" : "false");
 
     cfgfile_write (f, "fastmem_size=%d\n", p->fastmem_size / 0x100000);
     cfgfile_write (f, "a3000mem_size=%d\n", p->mbresmem_low_size / 0x100000);
@@ -1282,9 +1283,11 @@ static int cfgfile_parse_hardware (struct uae_prefs *p, char *option, char *valu
        || cfgfile_yesno (option, value, "scsi_cdtv", &p->cs_cdtvscsi)
        || cfgfile_yesno (option, value, "scsi_a4091", &p->cs_a4091)
        || cfgfile_yesno (option, value, "scsi_a2091", &p->cs_a2091)
+       || cfgfile_yesno (option, value, "bogomem_fast", &p->cs_slowmemisfast)
 
        || cfgfile_yesno (option, value, "kickshifter", &p->kickshifter)
        || cfgfile_yesno (option, value, "ntsc", &p->ntscmode)
+       || cfgfile_yesno (option, value, "sana2", &p->sana2)
        || cfgfile_yesno (option, value, "genlock", &p->genlock)
        || cfgfile_yesno (option, value, "cpu_compatible", &p->cpu_compatible)
        || cfgfile_yesno (option, value, "cpu_24bit_addressing", &p->address_space_24)
@@ -1348,7 +1351,6 @@ static int cfgfile_parse_hardware (struct uae_prefs *p, char *option, char *valu
     if (cfgfile_string (option, value, "kickstart_rom_file", p->romfile, sizeof p->romfile)
        || cfgfile_string (option, value, "kickstart_ext_rom_file", p->romextfile, sizeof p->romextfile)
        || cfgfile_string (option, value, "amax_rom_file", p->amaxromfile, sizeof p->amaxromfile)
-       || cfgfile_string (option, value, "sana2", p->sana2, sizeof p->sana2)
        || cfgfile_string (option, value, "flash_file", p->flashfile, sizeof p->flashfile)
        || cfgfile_string (option, value, "cart_file", p->cartfile, sizeof p->cartfile)
        || cfgfile_string (option, value, "pci_devices", p->pci_devices, sizeof p->pci_devices)
@@ -2858,7 +2860,7 @@ void default_prefs (struct uae_prefs *p, int type)
     p->filesys_custom_uaefsdb = 1;
     p->picasso96_nocustom = 1;
     p->cart_internal = 1;
-    p->sana2[0] = 0;
+    p->sana2 = 0;
 
     p->cs_compatible = 1;
     p->cs_rtc = 2;
@@ -2877,6 +2879,7 @@ void default_prefs (struct uae_prefs *p, int type)
     p->cs_ksmirror = 1;
     p->cs_ciaatod = 0;
     p->cs_df0idhw = 1;
+    p->cs_slowmemisfast = 0;
 
     p->gfx_filter = 0;
     p->gfx_filter_horiz_zoom_mult = 1000;
@@ -3219,7 +3222,7 @@ static int bip_cdtv (struct uae_prefs *p, int config, int compa, int romcheck)
        return 0;
     p->bogomem_size = 0;
     p->chipmem_size = 0x100000;
-    p->chipset_mask = CSMASK_ECS_AGNUS | CSMASK_ECS_DENISE;
+    p->chipset_mask = CSMASK_ECS_AGNUS;
     p->cs_cdtvcd = p->cs_cdtvram = 1;
     if (config > 0)
        p->cs_cdtvcard = 64;
diff --git a/cia.c b/cia.c
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
diff --git a/crc32.c b/crc32.c
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
index 481226e..2b4588f
--- a/custom.c
+++ b/custom.c
@@ -608,8 +608,10 @@ static void finish_playfield_line (void)
        || line_decisions[next_lineno].plfleft != thisline_decision.plfleft
        || line_decisions[next_lineno].bplcon0 != thisline_decision.bplcon0
        || line_decisions[next_lineno].bplcon2 != thisline_decision.bplcon2
-#ifdef AGA
+#ifdef ECS_DENISE
        || line_decisions[next_lineno].bplcon3 != thisline_decision.bplcon3
+#endif
+#ifdef AGA
        || line_decisions[next_lineno].bplcon4 != thisline_decision.bplcon4
 #endif
        )
@@ -2022,11 +2024,12 @@ static void decide_sprites (int hpos)
        if (sprxp < 0 || hw_xp <= last_sprite_point || hw_xp > point)
            continue;
 
+#ifdef AGA
        if ( !(bplcon3 & 2) && /* sprites outside playfields enabled? */
            ((thisline_decision.diwfirstword >= 0 && window_xp + window_width < thisline_decision.diwfirstword)
            || (thisline_decision.diwlastword >= 0 && window_xp > thisline_decision.diwlastword)))
            continue;
-
+#endif
        /* Sort the sprites in order of ascending X position before recording them.  */
        for (bestp = 0; bestp < count; bestp++) {
            if (posns[bestp] > sprxp)
@@ -2224,8 +2227,10 @@ static void reset_decisions (void)
     /* These are for comparison. */
     thisline_decision.bplcon0 = bplcon0;
     thisline_decision.bplcon2 = bplcon2;
-#ifdef AGA
+#ifdef ECS_DENISE
     thisline_decision.bplcon3 = bplcon3;
+#endif
+#ifdef AGA
     thisline_decision.bplcon4 = bplcon4;
 #endif
 }
@@ -2280,7 +2285,7 @@ static void dumpsync (void)
     write_log ("HSSTRT=%04.4X VSSTRT=%04.4X HCENTER=%04.4X\n", hsstrt, vsstrt, hcenter);
 }
 
-/* set PAL or NTSC timing variables */
+/* set PAL/NTSC or custom timing variables */
 void init_hz (void)
 {
     int isntsc;
@@ -2524,7 +2529,7 @@ static void VPOSW (uae_u16 v)
     if (lof != (v & 0x8000))
        lof_changed = 1;
     lof = v & 0x8000;
-    if ( (v & 1) && vpos > 0)
+    if ((v & 1) && vpos > 0)
        hack_vpos = vpos;
 }
 
@@ -2541,7 +2546,7 @@ STATIC_INLINE uae_u16 VHPOSR (void)
 
 static int test_copper_dangerous (unsigned int address)
 {
-    if ((address & 0x1fe) < ((copcon & 2) ? ((currprefs.chipset_mask & CSMASK_AGA) ? 0 : 0x40u) : 0x80u)) {
+    if ((address & 0x1fe) < ((copcon & 2) ? ((currprefs.chipset_mask & CSMASK_ECS_AGNUS) ? 0 : 0x40) : 0x80)) {
        cop_state.state = COP_stop;
        copper_enabled_thisline = 0;
        unset_special (&regs, SPCFLAG_COPPER);
@@ -2922,11 +2927,15 @@ STATIC_INLINE void BPLCON2 (int hpos, uae_u16 v)
     record_register_change (hpos, 0x104, v);
 }
 
-#ifdef AGA
+#ifdef ECS_DENISE
 STATIC_INLINE void BPLCON3 (int hpos, uae_u16 v)
 {
-    if (! (currprefs.chipset_mask & CSMASK_AGA))
+    if (!(currprefs.chipset_mask & CSMASK_ECS_DENISE))
        return;
+    if (!(currprefs.chipset_mask & CSMASK_AGA)) {
+       v &= 0x3f;
+       v |= 0x0c00;
+    }
     if (bplcon3 == v)
        return;
     decide_line (hpos);
@@ -2935,10 +2944,11 @@ STATIC_INLINE void BPLCON3 (int hpos, uae_u16 v)
     sprres = expand_sprres (bplcon0, bplcon3);
     record_register_change (hpos, 0x106, v);
 }
-
+#endif
+#ifdef AGA
 STATIC_INLINE void BPLCON4 (int hpos, uae_u16 v)
 {
-    if (! (currprefs.chipset_mask & CSMASK_AGA))
+    if (!(currprefs.chipset_mask & CSMASK_AGA))
        return;
     if (bplcon4 == v)
        return;
@@ -3966,23 +3976,6 @@ static void do_sprites (int hpos)
     int maxspr, minspr;
     int i;
 
-    /* I don't know whether this is right. Some programs write the sprite pointers
-     * directly at the start of the copper list. With the test against currvp, the
-     * first two words of data are read on the second line in the frame. The problem
-     * occurs when the program jumps to another copperlist a few lines further down
-     * which _also_ writes the sprite pointer registers. This means that a) writing
-     * to the sprite pointers sets the state to SPR_restart; or b) that sprite DMA
-     * is disabled until the end of the vertical blanking interval. The HRM
-     * isn't clear - it says that the vertical sprite position can be set to any
-     * value, but this wouldn't be the first mistake... */
-    /* Update: I modified one of the programs to write the sprite pointers the
-     * second time only _after_ the VBlank interval, and it showed the same behaviour
-     * as it did unmodified under UAE with the above check. This indicates that the
-     * solution below is correct. */
-    /* Another update: seems like we have to use the NTSC value here (see Sanity Turmoil
-     * demo).  */
-    /* Maximum for Sanity Turmoil: 27.
-       Minimum for Sanity Arte: 22.  */
     if (vpos < sprite_vblank_endline)
        return;
 
@@ -4717,8 +4710,8 @@ void customreset (int hardreset)
        DSKLEN (0, 0);
 
        bplcon0 = 0;
-       bplcon4 = 0x11; /* Get AGA chipset into ECS compatibility mode */
-       bplcon3 = 0xC00;
+       bplcon4 = 0x0011; /* Get AGA chipset into ECS compatibility mode */
+       bplcon3 = 0x0C00;
 
        diwhigh = 0;
        diwhigh_written = 0;
@@ -4796,9 +4789,6 @@ void customreset (int hardreset)
        audio_update_adkmasks ();
        INTENA_f (0);
        INTREQ_f (0);
-#if 0
-       DMACON (0, 0);
-#endif
        COPJMP (1);
        v = bplcon0;
        BPLCON0 (0, 0);
@@ -5221,7 +5211,7 @@ static int REGPARAM2 custom_wput_1 (int hpos, uaecptr addr, uae_u32 value, int n
      case 0x100: BPLCON0 (hpos, value); break;
      case 0x102: BPLCON1 (hpos, value); break;
      case 0x104: BPLCON2 (hpos, value); break;
-#ifdef AGA
+#ifdef ECS_DENISE
      case 0x106: BPLCON3 (hpos, value); break;
 #endif
 
@@ -5277,6 +5267,7 @@ static int REGPARAM2 custom_wput_1 (int hpos, uaecptr addr, uae_u32 value, int n
 
 #ifndef CUSTOM_SIMPLE
      case 0x1DC: BEAMCON0 (value); break;
+#ifdef ECS_DENISE
      case 0x1C0: if (htotal != value) { htotal = value; varsync (); } break;
      case 0x1C2: if (hsstop != value) { hsstop = value; varsync (); } break;
      case 0x1C4: if (hbstrt != value) { hbstrt = value; varsync (); } break;
@@ -5289,6 +5280,7 @@ static int REGPARAM2 custom_wput_1 (int hpos, uaecptr addr, uae_u32 value, int n
      case 0x1E0: if (vsstrt != value) { vsstrt = value; varsync (); } break;
      case 0x1E2: if (hcenter != value) { hcenter = value; varsync (); } break;
 #endif
+#endif
 
 #ifdef AGA
      case 0x1FC: FMODE (value); break;
@@ -5781,6 +5773,7 @@ void check_prefs_changed_custom (void)
     currprefs.cs_deniserev = changed_prefs.cs_deniserev;
     currprefs.cs_mbdmac = changed_prefs.cs_mbdmac;
     currprefs.cs_df0idhw = changed_prefs.cs_df0idhw;
+    currprefs.cs_slowmemisfast = changed_prefs.cs_slowmemisfast;
 
     if (currprefs.chipset_mask != changed_prefs.chipset_mask ||
        currprefs.gfx_avsync != changed_prefs.gfx_avsync ||
old mode 100755 (executable)
new mode 100644 (file)
diff --git a/debug.c b/debug.c
old mode 100755 (executable)
new mode 100644 (file)
index aa0f824..3d9821e
--- a/debug.c
+++ b/debug.c
@@ -40,6 +40,7 @@ static uae_u32 skipins;
 static int do_skip;
 static int debug_rewind;
 static int memwatch_enabled, memwatch_triggered;
+static uae_u16 sr_bpmask, sr_bpvalue;
 int debugging;
 int exception_debugging;
 int debug_copper;
@@ -104,6 +105,7 @@ static char help[] = {
     "  fp \"<name>\"/<addr>    Step forward until process <name> or <addr> is active\n"
     "  fl                    List breakpoints\n"
     "  fd                    Remove all breakpoints\n"
+    "  fs <val> <mask>       Break when (SR & mask) = val\n"                   
     "  f <addr1> <addr2>     Step forward until <addr1> <= PC <= <addr2>\n"
     "  e                     Dump contents of all custom registers, ea = AGA colors\n"
     "  i [<addr>]            Dump contents of interrupt and trap vectors\n"
@@ -1872,7 +1874,18 @@ static int instruction_breakpoint (char **c)
 
     if (more_params (c)) {
        char nc = toupper((*c)[0]);
-       if (nc == 'I') {
+       if (nc == 'S') {
+           next_char (c);
+           sr_bpvalue = sr_bpmask = 0;
+           if (more_params (c)) {
+               sr_bpmask = 0xffff;
+               sr_bpvalue = readhex (c);
+               if (more_params (c))
+                   sr_bpmask = readhex (c);
+           }
+           console_out ("SR breakpoint, value=%04X, mask=%04X\n", sr_bpvalue, sr_bpmask);
+           return 0;
+       } else if (nc == 'I') {
            next_char (c);
            if (more_params (c))
                skipins = readhex (c);
@@ -2542,16 +2555,14 @@ void debug (void)
                        uaecptr seglist = 0;
                        char *command = NULL;
                        if (cli) {
-                           if (processname) {
-                               uae_u8 *command_bstr = get_real_address (BPTR2APTR(get_long (cli + 16)));
-                               command = BSTR2CSTR(command_bstr);
-                           }
+                           if (processname)
+                               command = (char *)get_real_address (BPTR2APTR(get_long (cli + 16)));
                            seglist = BPTR2APTR(get_long (cli + 60));
                        } else {
                            seglist = BPTR2APTR(get_long (activetask + 128));
                            seglist = BPTR2APTR(get_long (seglist + 12));
                        }
-                       if (activetask == processptr || (processname && (!stricmp(name, processname) || (command && !stricmp(command, processname))))) {
+                       if (activetask == processptr || (processname && (!stricmp(name, processname) || (command && command[0] && !strnicmp(command + 1, processname, command[0] && processname[command[0]+1] == 0))))) {
                            while (seglist) {
                                uae_u32 size = get_long (seglist - 4) - 4;
                                if (pc >= (seglist + 4) && pc < (seglist + size)) {
@@ -2561,7 +2572,6 @@ void debug (void)
                                seglist = BPTR2APTR(get_long (seglist));
                            }
                        }
-                       xfree(command);
                    }
                } else if (skipins != 0xffffffff) {
                    if (skipins == 0x10000) {
@@ -2579,6 +2589,13 @@ void debug (void)
                        bp = 1;
                }
            }
+           if (sr_bpmask || sr_bpvalue) {
+               MakeSR (&regs);
+               if ((regs.sr & sr_bpmask) == sr_bpvalue) {
+                   console_out ("SR breakpoint\n");
+                   bp = 1;
+               }
+           }
            if (!bp) {
                set_special (&regs, SPCFLAG_BRK);
                return;
@@ -2627,6 +2644,8 @@ void debug (void)
        if (bpnodes[i].enabled)
            do_skip = 1;
     }
+    if (sr_bpmask || sr_bpvalue)
+       do_skip = 1;
     if (do_skip) {
        set_special (&regs, SPCFLAG_BRK);
        unset_special (&regs, SPCFLAG_STOP);
diff --git a/disk.c b/disk.c
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
index 1095b3b..3f3f5e4
--- a/drawing.c
+++ b/drawing.c
@@ -495,6 +495,16 @@ static void fill_line_32 (uae_u8 *buf, unsigned int start, unsigned int stop)
        b[i] = col;
 }
 
+static void pfield_do_fill_line (int start, int stop)
+{
+    xlinecheck(start, stop);
+    switch (gfxvidinfo.pixbytes) {
+    case 1: fill_line_8 (xlinebuffer, start, stop); break;
+    case 2: fill_line_16 (xlinebuffer, start, stop); break;
+    case 4: fill_line_32 (xlinebuffer, start, stop); break;
+    }
+}
+
 STATIC_INLINE void fill_line (void)
 {
     int shift;
@@ -508,11 +518,11 @@ STATIC_INLINE void fill_line (void)
     if (gfxvidinfo.pixbytes == 4)
        shift = 2;
 
-    nints = gfxvidinfo.width >> (2-shift);
+    nints = gfxvidinfo.width >> (2 - shift);
     nrem = nints & 7;
     nints &= ~7;
     start = (int *)(((char *)xlinebuffer) + (visible_left_border << shift));
-#ifdef AGA
+#ifdef ECS_DENISE
     val = brdblank ? 0 : colors_for_drawing.acolors[0];
 #else
     val = colors_for_drawing.acolors[0];
@@ -804,16 +814,6 @@ static void pfield_do_linetoscr (int start, int stop)
     }
 }
 
-static void pfield_do_fill_line (int start, int stop)
-{
-    xlinecheck(start, stop);
-    switch (gfxvidinfo.pixbytes) {
-    case 1: fill_line_8 (xlinebuffer, start, stop); break;
-    case 2: fill_line_16 (xlinebuffer, start, stop); break;
-    case 4: fill_line_32 (xlinebuffer, start, stop); break;
-    }
-}
-
 static void dummy_worker (int start, int stop)
 {
 }
@@ -1593,23 +1593,28 @@ static void pfield_expand_dp_bplcon (void)
        frame_res = 1;
     if (bplres > 0)
        can_use_lores = 0;
-    if (currprefs.chipset_mask & CSMASK_AGA) {
-       /* The KILLEHB bit exists in ECS, but is apparently meant for Genlock
-        * stuff, and it's set by some demos (e.g. Andromeda Seven Seas) */
-       bplehb = ((dp_for_drawing->bplcon0 & 0x7010) == 0x6000 && !(dp_for_drawing->bplcon2 & 0x200));
-    } else {
+
+    if (currprefs.chipset_mask & CSMASK_AGA)
+       bplehb = (dp_for_drawing->bplcon0 & 0x7010) == 0x6000 && !(dp_for_drawing->bplcon2 & 0x200);
+    else if (currprefs.chipset_mask & CSMASK_ECS_DENISE)
+       bplehb = (dp_for_drawing->bplcon0 & 0xFC00) == 0x6000 && !(dp_for_drawing->bplcon2 & 0x200);
+    else
        bplehb = (dp_for_drawing->bplcon0 & 0xFC00) == 0x6000 && !(currprefs.chipset_mask & CSMASK_NO_EHB);
-    }
+
     plf1pri = dp_for_drawing->bplcon2 & 7;
     plf2pri = (dp_for_drawing->bplcon2 >> 3) & 7;
     plf_sprite_mask = 0xFFFF0000 << (4 * plf2pri);
     plf_sprite_mask |= (0xFFFF << (4 * plf1pri)) & 0xFFFF;
     bpldualpf = (dp_for_drawing->bplcon0 & 0x400) == 0x400;
     bpldualpfpri = (dp_for_drawing->bplcon2 & 0x40) == 0x40;
+
+#ifdef ECS_DENISE
     brdblank_2 = (currprefs.chipset_mask & CSMASK_ECS_DENISE) && (dp_for_drawing->bplcon0 & 1) && (dp_for_drawing->bplcon3 & 0x20);
     if (brdblank_2 != brdblank)
        brdblank_changed = 1;
     brdblank = brdblank_2;
+#endif
+
 #ifdef AGA
     bpldualpf2of = (dp_for_drawing->bplcon3 >> 10) & 7;
     sbasecol[0] = ((dp_for_drawing->bplcon4 >> 4) & 15) << 4;
@@ -1632,10 +1637,12 @@ static void pfield_expand_dp_bplcon2 (int regno, int v)
        case 0x104:
        dp_for_drawing->bplcon2 = v;
        break;
-#ifdef AGA
+#ifdef ECS_DENISE
        case 0x106:
        dp_for_drawing->bplcon3 = v;
        break;
+#endif
+#ifdef AGA
        case 0x108:
        dp_for_drawing->bplcon4 = v;
        break;
@@ -2456,12 +2463,14 @@ void finish_drawing_frame (void)
 
     do_flush_screen (first_drawn_line, last_drawn_line);
 
+#ifdef ECS_DENISE
     if (brdblank_changed) {
        last_max_ypos = max_ypos_thisframe;
        last_redraw_point = 10;
        notice_screen_contents_lost();
        brdblank_changed = 0;
     }
+#endif
 }
 
 void hardware_line_completed (int lineno)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
index 8e692d9..424f588
@@ -1074,7 +1074,7 @@ uaecptr need_uae_boot_rom(void)
        return b;
     if (currprefs.scsi == 1)
        return b;
-    if (currprefs.sana2[0])
+    if (currprefs.sana2)
        return b;
     if (currprefs.win32_outsidemouse)
        return b;
@@ -1113,6 +1113,7 @@ static void expamem_init_a4091 (void)
 
 void p96memstart(void)
 {
+    /* make sure there is always empty space between Z3 and P96 RAM */
     p96ram_start = currprefs.z3fastmem_start + ((currprefs.z3fastmem_size + 0xffffff) & ~0xffffff);
     if (p96ram_start == currprefs.z3fastmem_start + currprefs.z3fastmem_size)
        p96ram_start += 0x1000000;
old mode 100755 (executable)
new mode 100644 (file)
diff --git a/filesys b/filesys
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
diff --git a/fpp.c b/fpp.c
old mode 100755 (executable)
new mode 100644 (file)
diff --git a/fsdb.c b/fsdb.c
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
diff --git a/gayle.c b/gayle.c
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
diff --git a/gtkui.c b/gtkui.c
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
index 4fecc82..cf49418
@@ -15,7 +15,7 @@ STATIC_INLINE uae_u32 get_long_prefetch (struct regstruct *regs, int o)
 #ifdef CPUEMU_12
 STATIC_INLINE uae_u32 mem_access_delay_word_read (uaecptr addr)
 {
-    if (addr < 0x200000 || (addr >= 0xc00000 && addr < 0xe00000)) {
+    if (addr < 0x200000 || (addr >= 0xc00000 && addr < 0xe00000 && !currprefs.cs_slowmemisfast)) {
        return wait_cpu_cycle_read (addr, 1);
     } else if (!(addr >= 0xa00000 && addr < 0xc00000)) {
        do_cycles_ce (4 * CYCLE_UNIT / 2);
@@ -24,7 +24,7 @@ STATIC_INLINE uae_u32 mem_access_delay_word_read (uaecptr addr)
 }
 STATIC_INLINE uae_u32 mem_access_delay_wordi_read (uaecptr addr)
 {
-    if (addr < 0x200000 || (addr >= 0xc00000 && addr < 0xe00000)) {
+    if (addr < 0x200000 || (addr >= 0xc00000 && addr < 0xe00000 && !currprefs.cs_slowmemisfast)) {
        return wait_cpu_cycle_read (addr, 1);
     } else if (!(addr >= 0xa00000 && addr < 0xc00000)) {
        do_cycles_ce (4 * CYCLE_UNIT / 2);
@@ -34,7 +34,7 @@ STATIC_INLINE uae_u32 mem_access_delay_wordi_read (uaecptr addr)
 
 STATIC_INLINE uae_u32 mem_access_delay_byte_read (uaecptr addr)
 {
-    if (addr < 0x200000 || (addr >= 0xc00000 && addr < 0xe00000)) {
+    if (addr < 0x200000 || (addr >= 0xc00000 && addr < 0xe00000 && !currprefs.cs_slowmemisfast)) {
        return wait_cpu_cycle_read (addr, 0);
     } else if (!(addr >= 0xa00000 && addr < 0xc00000)) {
        do_cycles_ce (4 * CYCLE_UNIT / 2);
@@ -43,7 +43,7 @@ STATIC_INLINE uae_u32 mem_access_delay_byte_read (uaecptr addr)
 }
 STATIC_INLINE void mem_access_delay_byte_write (uaecptr addr, uae_u32 v)
 {
-    if (addr < 0x200000 || (addr >= 0xc00000 && addr < 0xe00000)) {
+    if (addr < 0x200000 || (addr >= 0xc00000 && addr < 0xe00000 && !currprefs.cs_slowmemisfast)) {
        wait_cpu_cycle_write (addr, 0, v);
        return;
     } else if (!(addr >= 0xa00000 && addr < 0xc00000)) {
@@ -53,7 +53,7 @@ STATIC_INLINE void mem_access_delay_byte_write (uaecptr addr, uae_u32 v)
 }
 STATIC_INLINE void mem_access_delay_word_write (uaecptr addr, uae_u32 v)
 {
-    if (addr < 0x200000 || (addr >= 0xc00000 && addr < 0xe00000)) {
+    if (addr < 0x200000 || (addr >= 0xc00000 && addr < 0xe00000 && !currprefs.cs_slowmemisfast)) {
        wait_cpu_cycle_write (addr, 1, v);
        return;
     } else if (!(addr >= 0xa00000 && addr < 0xc00000)) {
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
index a984e87..7ae4d8b
@@ -182,7 +182,7 @@ struct uae_prefs {
     int keyboard_leds[3];
     int keyboard_leds_in_use;
     int scsi;
-    char sana2[256];
+    int sana2;
     int uaeserial;
     int catweasel;
     int cpu_idle;
@@ -215,6 +215,7 @@ struct uae_prefs {
     int cs_cdtvscsi;
     int cs_a2091, cs_a4091;
     int cs_df0idhw;
+    int cs_slowmemisfast;
 
     char df[4][MAX_DPATH];
     char dfxlist[MAX_SPARE_DRIVES][MAX_DPATH];
@@ -354,6 +355,7 @@ extern void target_save_options (struct zfile*, struct uae_prefs *);
 extern void target_default_options (struct uae_prefs *, int type);
 extern void target_fixup_options (struct uae_prefs *);
 extern int target_cfgfile_load (struct uae_prefs *, char *filename, int type, int isdefault);
+extern void target_quit (void);
 extern void cfgfile_save_options (struct zfile *f, struct uae_prefs *p, int type);
 
 extern int cfgfile_load (struct uae_prefs *p, const char *filename, int *type, int ignorelink);
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
diff --git a/main.c b/main.c
old mode 100755 (executable)
new mode 100644 (file)
index b064e92..0804bd6
--- a/main.c
+++ b/main.c
@@ -369,10 +369,7 @@ void fixup_prefs (struct uae_prefs *p)
     p->win32_aspi = 0;
 #endif
 #if !defined (SANA2)
-    p->sana2[0] = 0;
-#else
-    if (!strcmp (p->sana2, "none"))
-       p->sana2[0] = 0;
+    p->sana2 = 0;
 #endif
 #if !defined (UAESERIAL)
     p->uaeserial = 0;
@@ -403,6 +400,7 @@ void uae_quit (void)
     deactivate_debugger ();
     if (quit_program != -1)
        quit_program = -1;
+    target_quit ();
 }
 
 /* 0 = normal, 1 = nogui, -1 = disable nogui */
old mode 100755 (executable)
new mode 100644 (file)
index 3192925..f605d43
--- a/memory.c
+++ b/memory.c
@@ -1261,7 +1261,7 @@ static uae_u8 *REGPARAM2 bogomem_xlate (uaecptr addr)
 
 /* CDTV expension memory card memory */
 
-static uae_u8 *cardmemory;
+uae_u8 *cardmemory;
 
 static uae_u32 REGPARAM3 cardmem_lget (uaecptr) REGPARAM;
 static uae_u32 REGPARAM3 cardmem_wget (uaecptr) REGPARAM;
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
index 682dfdd..bc790c6
--- a/newcpu.c
+++ b/newcpu.c
@@ -2063,7 +2063,6 @@ void doint (void)
 }
 //static uae_u32 pcs[1000];
 
-
 //#define DEBUG_CD32IO
 #ifdef DEBUG_CD32IO
 
@@ -2126,9 +2125,9 @@ static void out_cd32io (uae_u32 pc)
                activate_debugger (1);
        }
 #endif
-       write_log ("CMD=%d DATA=%08.8X LEN=%d %OFF=%d\n",
+       write_log ("CMD=%d DATA=%08.8X LEN=%d %OFF=%d PC=%x\n",
            cmd, get_long (request + 40),
-           get_long (request + 36), get_long (request + 44));
+           get_long (request + 36), get_long (request + 44), M68K_GETPC);
     }
     if (ioreq < 0)
        ;//activate_debugger ();
diff --git a/nogui.c b/nogui.c
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
index 978dfc2..d10f482
@@ -1593,7 +1593,7 @@ static void read_kb (void)
 
 void wait_keyrelease (void)
 {
-    int i, j, maxcount = 200, found;
+    int i, j, maxcount = 10, found;
     stopoutput++;
 
     while (maxcount-- > 0) {
@@ -1602,14 +1602,15 @@ void wait_keyrelease (void)
        found = 0;
        for (j = 0; j < MAX_INPUT_DEVICES; j++) {
            for (i = 0; i < MAX_KEYCODES; i++) {
-               if (di_keycodes[j][i]) found = 1;
+               if (di_keycodes[j][i])
+                   found = 1;
            }
        }
        if (!found)
            break;
     }
     release_keys ();
-
+#if 0
     for (;;) {
        int ok = 0, nok = 0;
        for (i = 0; i < MAX_INPUT_DEVICES; i++) {
@@ -1635,6 +1636,7 @@ void wait_keyrelease (void)
        if (ok == nok) break;
        sleep_millis (10);
     }
+#endif
     stopoutput--;
 }
 
old mode 100755 (executable)
new mode 100644 (file)
index 58e0198..87bcc2b
@@ -558,13 +558,23 @@ void D3D_unlocktexture (void)
        D3D_render ();
 }
 
+int D3D_needreset (void)
+{
+    HRESULT hr = IDirect3DDevice9_TestCooperativeLevel(d3ddev);
+    if (hr == D3DERR_DEVICENOTRESET)
+       return 1;
+    return 0;
+}
+
 int D3D_locktexture (void)
 {
     D3DLOCKED_RECT locked;
     HRESULT hr;
 
-    if (FAILED(IDirect3DDevice9_TestCooperativeLevel(d3ddev)))
+    hr = IDirect3DDevice9_TestCooperativeLevel(d3ddev);
+    if (FAILED (hr))
        return 0;
+
     IDirect3DDevice9_Clear(d3ddev, 0L, NULL, D3DCLEAR_TARGET, 0x00000000, 1.0f, 0L );
 
     hr = IDirect3DDevice9_BeginScene(d3ddev);
@@ -660,7 +670,7 @@ HDC D3D_getDC(HDC hdc)
        return 0;
     if (!hdc) {
        hr = IDirect3DDevice9_GetBackBuffer (d3ddev, 0, 0, D3DBACKBUFFER_TYPE_MONO, &bb);
-       if (!SUCCEEDED (hr)) {
+       if (FAILED (hr)) {
            write_log ("failed to create backbuffer: %s\n", D3D_ErrorString (hr));
            return 0;
        }
old mode 100755 (executable)
new mode 100644 (file)
index 6e16be8..92c849c
@@ -10,3 +10,4 @@ extern void D3D_unlocktexture(void);
 extern void D3D_guimode (int guion);
 extern HDC D3D_getDC(HDC hdc);
 extern int D3D_isenabled (void);
+extern int D3D_needreset (void);
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
index 9a0b932..044f5ea
@@ -48,6 +48,7 @@
 
 #include "registry.h"
 #include "dxwrap.h"
+#include "rp.h"
 #include "picasso96_win.h"
 #include "win32gfx.h"
 
@@ -2950,6 +2951,9 @@ void picasso_handle_hsync (void)
 {
     static int p96hsync;
 
+#ifdef RETROPLATFORM
+    rp_hsync ();
+#endif
     if (currprefs.gfxmem_size == 0)
        return;
     if (WIN32GFX_IsPicassoScreen () && currprefs.gfx_pfullscreen && currprefs.gfx_pvsync) {
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
index d5da932..2be1a50
 #define IDC_DBG_OUTPUT1                 1739
 #define IDC_CS_PCMCIA                   1739
 #define IDC_DBG_HELP                    1740
+#define IDC_CS_PCMCIA2                  1740
+#define IDC_CS_SLOWISFAST               1740
 #define IDC_DBG_INPUT                   1741
 #define IDC_DBG_DREG                    1742
 #define IDC_DBG_AREG                    1743
old mode 100755 (executable)
new mode 100644 (file)
index ce69f50..aaa14f1
 #define IDC_CS_DENISEREV                1738
 #define IDC_DBG_OUTPUT1                 1739
 #define IDC_CS_PCMCIA                   1739
+#define IDC_CS_SLOWISFAST               1740
 #define IDC_DBG_HELP                    1740
 #define IDC_DBG_INPUT                   1741
 #define IDC_DBG_DREG                    1742
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
index 04f193c..e4884be
-// Microsoft Visual C++ generated resource script.
-//
-#include "resource."
-
-#define APSTUDIO_READONLY_SYMBOLS
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 2 resource.
-//
-#include "afxres.h"
-/////////////////////////////////////////////////////////////////////////////
-#undef APSTUDIO_READONLY_SYMBOLS
-
-/////////////////////////////////////////////////////////////////////////////
-// English (U.S.) resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
-#ifdef _WIN32
-LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
-#pragma code_page(1252)
-#endif //_WIN32
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Accelerator
-//
-
-IDR_DBGACCEL ACCELERATORS 
-BEGIN
-    VK_F1,          ID_DBG_PAGE1,           VIRTKEY, NOINVERT
-    VK_F2,          ID_DBG_PAGE2,           VIRTKEY, NOINVERT
-    VK_F3,          ID_DBG_PAGE3,           VIRTKEY, NOINVERT
-    VK_F4,          ID_DBG_PAGE4,           VIRTKEY, NOINVERT
-    VK_F5,          ID_DBG_PAGE5,           VIRTKEY, NOINVERT
-    VK_F6,          ID_DBG_PAGE6,           VIRTKEY, NOINVERT
-    VK_F7,          ID_DBG_PAGE7,           VIRTKEY, NOINVERT
-    VK_F8,          ID_DBG_PAGE8,           VIRTKEY, NOINVERT
-    VK_F9,          ID_DBG_PAGE9,           VIRTKEY, NOINVERT
-    VK_DOWN,        IDC_DBG_MEMDOWN,        VIRTKEY, ALT, NOINVERT
-    VK_RIGHT,       IDC_DBG_MEMDOWNFAST,    VIRTKEY, ALT, NOINVERT
-    VK_UP,          IDC_DBG_MEMUP,          VIRTKEY, ALT, NOINVERT
-    VK_LEFT,        IDC_DBG_MEMUPFAST,      VIRTKEY, ALT, NOINVERT
-    "H",            IDC_DBG_HELP,           VIRTKEY, ALT, NOINVERT
-    "P",            IDC_DBG_MEMTOPC,        VIRTKEY, ALT, NOINVERT
-END
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Dialog
-//
-
-IDD_KICKSTART DIALOGEX 0, 0, 300, 176
-STYLE DS_LOCALEDIT | DS_SETFONT | DS_3DLOOK | DS_CONTROL | WS_CHILD
-EXSTYLE WS_EX_CONTEXTHELP
-FONT 8, "MS Sans Serif", 0, 0, 0x1
-BEGIN
-    GROUPBOX        "System ROM Settings",-1,5,0,290,74
-    RTEXT           "Main ROM file:",IDC_ROMTEXT,10,15,75,10
-    COMBOBOX        IDC_ROMFILE,89,12,186,75,CBS_DROPDOWN | CBS_AUTOHSCROLL | CBS_SORT | WS_VSCROLL | WS_TABSTOP
-    PUSHBUTTON      "...",IDC_KICKCHOOSER,280,10,10,15
-    RTEXT           "Extended ROM file:",IDC_ROMFILE2TEXT,10,35,75,10
-    COMBOBOX        IDC_ROMFILE2,89,31,186,75,CBS_DROPDOWN | CBS_AUTOHSCROLL | CBS_SORT | WS_VSCROLL | WS_TABSTOP
-    PUSHBUTTON      "...",IDC_ROMCHOOSER2,280,30,10,15
-    CONTROL         "MapROM emulation [] Creates a BlizKick-compatible memory area.",IDC_MAPROM,
-                    "Button",BS_AUTOCHECKBOX | WS_TABSTOP,95,54,87,10
-    CONTROL         "ShapeShifter support [] Patches the system ROM for ShapeShifter compatibility.",IDC_KICKSHIFTER,
-                    "Button",BS_AUTOCHECKBOX | WS_TABSTOP,187,54,87,10
-    GROUPBOX        "Miscellaneous",-1,5,76,290,57
-    RTEXT           "Cartridge ROM file:",IDC_FLASHTEXT2,8,93,75,10
-    COMBOBOX        IDC_CARTFILE,89,90,186,75,CBS_DROPDOWN | CBS_AUTOHSCROLL | CBS_SORT | WS_VSCROLL | WS_TABSTOP
-    PUSHBUTTON      "...",IDC_CARTCHOOSER,280,90,10,15
-    RTEXT           "Flash RAM file:",IDC_FLASHTEXT,8,112,75,10
-    EDITTEXT        IDC_FLASHFILE,89,110,185,13,ES_AUTOHSCROLL
-    PUSHBUTTON      "...",IDC_FLASHCHOOSER,280,110,10,15
-END
-
-IDD_DISPLAY DIALOGEX 0, 0, 300, 235
-STYLE DS_LOCALEDIT | DS_SETFONT | DS_3DLOOK | DS_CONTROL | WS_CHILD
-FONT 8, "MS Sans Serif", 0, 0, 0x1
-BEGIN
-    GROUPBOX        "Screen",IDC_SCREENRESTEXT,12,0,270,67,BS_LEFT
-    RTEXT           "Full screen:",IDC_SELECTRESTEXT,15,17,40,15,SS_CENTERIMAGE
-    COMBOBOX        IDC_DISPLAYSELECT,59,10,215,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP
-    COMBOBOX        IDC_RESOLUTION,59,27,68,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP
-    COMBOBOX        IDC_REFRESHRATE,187,27,87,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP
-    EDITTEXT        IDC_XSIZE,59,48,48,12,ES_NUMBER
-    EDITTEXT        IDC_YSIZE,114,48,47,12,ES_NUMBER
-    GROUPBOX        "Settings",IDC_SETTINGSTEXT,12,73,199,125
-    CONTROL         "Correct aspect ratio",IDC_ASPECT,"Button",BS_AUTOCHECKBOX | BS_LEFT | WS_TABSTOP,19,126,92,10
-    LTEXT           "Refresh:",IDC_REFRESHTEXT,18,162,28,8
-    CONTROL         "Slider1",IDC_FRAMERATE,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,47,157,75,20
-    EDITTEXT        IDC_RATETEXT,127,161,77,12,ES_CENTER | ES_READONLY
-    GROUPBOX        "Centering",IDC_STATIC,221,73,61,49
-    CONTROL         "Horizontal",IDC_XCENTER,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,229,87,49,10
-    CONTROL         "Vertical",IDC_YCENTER,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,229,103,49,10
-    GROUPBOX        "Line Mode",IDC_LINEMODE,222,126,61,73
-    CONTROL         "Normal",IDC_LM_NORMAL,"Button",BS_AUTORADIOBUTTON | BS_LEFT | WS_GROUP | WS_TABSTOP,231,142,44,10
-    CONTROL         "Double",IDC_LM_DOUBLED,"Button",BS_AUTORADIOBUTTON | BS_LEFT | WS_TABSTOP,231,158,45,10
-    CONTROL         "Scanlines",IDC_LM_SCANLINES,"Button",BS_AUTORADIOBUTTON | BS_LEFT | WS_TABSTOP,231,174,46,10
-    COMBOBOX        IDC_DA_MODE,20,211,58,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP
-    CONTROL         "",IDC_DA_SLIDER,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,84,207,101,20
-    LTEXT           "FPS adj.:",IDC_REFRESH2TEXT,16,182,32,8
-    CONTROL         "",IDC_FRAMERATE2,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,47,177,127,20
-    EDITTEXT        IDC_RATE2TEXT,178,181,26,12,ES_CENTER | ES_READONLY
-    COMBOBOX        IDC_RESOLUTIONDEPTH,135,27,46,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP
-    CONTROL         "Filtered low resolution",IDC_LORES_SMOOTHED,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,118,126,89,10
-    COMBOBOX        IDC_SCREENMODE_NATIVE,100,85,102,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP
-    COMBOBOX        IDC_SCREENMODE_RTG,100,103,102,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP
-    RTEXT           "Native mode:",IDC_STATIC,19,85,59,15,SS_CENTERIMAGE
-    RTEXT           "Windowed:",IDC_WINDOWEDTEXT,15,51,40,8
-    RTEXT           "RTG mode:",IDC_STATIC,19,101,59,15,SS_CENTERIMAGE
-    PUSHBUTTON      "Reset to defaults",IDC_DA_RESET,212,211,73,14
-    RTEXT           "Resolution:",IDC_STATIC,27,140,59,15,SS_CENTERIMAGE
-    COMBOBOX        IDC_LORES,100,140,102,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP
-END
-
-IDD_MEMORY DIALOGEX 0, 0, 300, 175
-STYLE DS_LOCALEDIT | DS_SETFONT | DS_3DLOOK | DS_CONTROL | WS_CHILD
-EXSTYLE WS_EX_CONTEXTHELP
-FONT 8, "MS Sans Serif", 0, 0, 0x1
-BEGIN
-    GROUPBOX        "Memory Settings",-1,14,7,274,91
-    RTEXT           "Chip:",-1,24,31,20,10,SS_CENTERIMAGE
-    CONTROL         "Slider1",IDC_CHIPMEM,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,54,22,50,20
-    EDITTEXT        IDC_CHIPRAM,105,26,30,12,ES_CENTER | ES_READONLY
-    RTEXT           "Slow:",-1,149,31,20,10,SS_CENTERIMAGE
-    CONTROL         "Slider1",IDC_SLOWMEM,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,179,22,60,20
-    EDITTEXT        IDC_SLOWRAM,243,25,30,12,ES_CENTER | ES_READONLY
-    RTEXT           "Fast:",IDC_FASTTEXT,24,52,20,10,SS_CENTERIMAGE
-    CONTROL         "Slider1",IDC_FASTMEM,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,54,47,50,20
-    EDITTEXT        IDC_FASTRAM,105,53,30,12,ES_CENTER | ES_READONLY
-    RTEXT           "Z3 Fast:",IDC_Z3TEXT,139,52,30,10,SS_CENTERIMAGE
-    CONTROL         "Slider1",IDC_Z3FASTMEM,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,179,47,60,20
-    EDITTEXT        IDC_Z3FASTRAM,243,52,30,12,ES_CENTER | ES_READONLY
-    RTEXT           "RTG: [] Graphics card memory. Required for RTG (Picasso96) emulation.",IDC_GFXCARDTEXT,81,77,90,10,SS_NOTIFY | SS_CENTERIMAGE
-    CONTROL         "Slider1",IDC_P96MEM,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,179,72,60,20
-    EDITTEXT        IDC_P96RAM,243,75,30,12,ES_CENTER | ES_READONLY
-    GROUPBOX        "Advanced Memory Settings",-1,13,104,275,65
-    RTEXT           "Motherboard RAM (Low area):",-1,39,122,129,10,SS_CENTERIMAGE
-    CONTROL         "",IDC_MBMEM1,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,180,117,59,20
-    EDITTEXT        IDC_MBRAM1,243,121,30,12,ES_CENTER | ES_READONLY
-    RTEXT           "Motherboard RAM (High area):",-1,39,144,127,10,SS_CENTERIMAGE
-    CONTROL         "",IDC_MBMEM2,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,180,139,59,20
-    EDITTEXT        IDC_MBRAM2,243,142,30,12,ES_CENTER | ES_READONLY
-END
-
-IDD_CPU DIALOGEX 0, 0, 300, 226
-STYLE DS_LOCALEDIT | DS_SETFONT | DS_3DLOOK | DS_CONTROL | WS_CHILD
-FONT 8, "MS Sans Serif", 0, 0, 0x0
-BEGIN
-    GROUPBOX        "CPU",IDC_STATIC,5,3,81,139,BS_LEFT
-    CONTROL         "68000",IDC_CPU0,"Button",BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP,13,16,63,10
-    CONTROL         "68010",IDC_CPU1,"Button",BS_AUTORADIOBUTTON | WS_TABSTOP,13,30,65,10
-    CONTROL         "68020",IDC_CPU2,"Button",BS_AUTORADIOBUTTON | WS_TABSTOP,13,44,63,10
-    CONTROL         "68030",IDC_CPU3,"Button",BS_AUTORADIOBUTTON | WS_TABSTOP,13,58,64,10
-    CONTROL         "68040",IDC_CPU4,"Button",BS_AUTORADIOBUTTON | WS_TABSTOP,13,72,66,10
-    CONTROL         "68060",IDC_CPU5,"Button",BS_AUTORADIOBUTTON | WS_TABSTOP,13,85,66,10
-    CONTROL         "More compatible [] Emulate 68000's prefetch registers. More compatible but slower.",IDC_COMPATIBLE,
-                    "Button",BS_AUTOCHECKBOX | BS_LEFT | WS_GROUP | WS_TABSTOP,10,114,73,8
-    CONTROL         "JIT [] Enable just-in-time CPU emulator. Significantly increases the speed of the CPU emulation. Requires 68020 or higher CPU.",IDC_JITENABLE,
-                    "Button",BS_AUTOCHECKBOX | WS_TABSTOP,10,127,73,10
-    GROUPBOX        "CPU Emulation Speed",IDC_STATIC,90,3,205,90
-    CONTROL         "Fastest possible, but maintain chipset timing",IDC_CS_HOST,
-                    "Button",BS_AUTORADIOBUTTON | BS_LEFT | WS_GROUP | WS_TABSTOP,95,18,195,10
-    CONTROL         "Match A500 speed",IDC_CS_68000,"Button",BS_AUTORADIOBUTTON | BS_LEFT | WS_TABSTOP,95,32,195,10
-    CONTROL         "Adjustable between CPU and chipset",IDC_CS_ADJUSTABLE,
-                    "Button",BS_AUTORADIOBUTTON | BS_LEFT | WS_TABSTOP,95,47,195,10
-    RTEXT           "CPU",IDC_CS_CPU_TEXT,96,73,15,10,SS_CENTERIMAGE | WS_TABSTOP
-    CONTROL         "Slider1",IDC_SPEED,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,114,68,67,20
-    LTEXT           "Chipset",IDC_CS_CHIPSET_TEXT,182,73,25,10,SS_CENTERIMAGE | NOT WS_GROUP | WS_TABSTOP
-    RTEXT           "CPU idle",IDC_CS_CPU_TEXT2,236,56,32,10,SS_CENTERIMAGE | WS_TABSTOP
-    CONTROL         "",IDC_CPUIDLE,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,219,68,69,20
-    GROUPBOX        "Advanced JIT Settings",IDC_STATIC,90,94,205,93
-    RTEXT           "Cache size:",IDC_CS_CACHE_TEXT,95,113,45,10,SS_CENTERIMAGE | WS_TABSTOP
-    CONTROL         "Slider1",IDC_CACHE,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,140,108,115,20
-    EDITTEXT        IDC_CACHETEXT,255,113,30,12,ES_CENTER | ES_READONLY
-    CONTROL         "Hard flush",IDC_HARDFLUSH,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,100,141,63,10
-    CONTROL         "Constant jump",IDC_CONSTJUMP,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,100,155,63,10
-    CONTROL         "FPU support",IDC_JITFPU,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,100,168,62,10
-    CONTROL         "Force settings",IDC_FORCE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,168,141,62,10
-    CONTROL         "No flags",IDC_NOFLAGS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,168,155,62,10
-    CONTROL         "Direct",IDC_TRUST0,"Button",BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP,235,141,52,10
-    CONTROL         "Indirect",IDC_TRUST1,"Button",BS_AUTORADIOBUTTON | WS_TABSTOP,235,155,52,10
-    CONTROL         "After RTG",IDC_TRUST2,"Button",BS_AUTORADIOBUTTON | WS_TABSTOP,235,168,52,10
-    CONTROL         "More compatible [] More compatible but slower FPU emulation.",IDC_COMPATIBLE_FPU,
-                    "Button",BS_AUTOCHECKBOX | BS_LEFT | WS_GROUP | WS_TABSTOP,9,206,73,10
-    GROUPBOX        "FPU",IDC_STATIC,6,144,81,76,BS_LEFT
-    CONTROL         "24-bit addressing",IDC_COMPATIBLE24,"Button",BS_AUTOCHECKBOX | BS_LEFT | WS_GROUP | WS_TABSTOP,10,100,73,8
-    CONTROL         "None",IDC_FPU0,"Button",BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP,14,154,63,10
-    CONTROL         "68881",IDC_FPU1,"Button",BS_AUTORADIOBUTTON | WS_TABSTOP,14,166,63,10
-    CONTROL         "68882",IDC_FPU2,"Button",BS_AUTORADIOBUTTON | WS_TABSTOP,14,179,63,10
-    CONTROL         "CPU internal",IDC_FPU3,"Button",BS_AUTORADIOBUTTON | WS_TABSTOP,14,192,63,10
-END
-
-IDD_FLOPPY DIALOGEX 0, 0, 300, 240
-STYLE DS_LOCALEDIT | DS_SETFONT | DS_3DLOOK | DS_CONTROL | WS_CHILD
-FONT 8, "MS Sans Serif", 0, 0, 0x0
-BEGIN
-    COMBOBOX        IDC_DF0TEXT,2,22,296,75,CBS_DROPDOWN | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP
-    COMBOBOX        IDC_DF0TYPE,123,6,49,50,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
-    RTEXT           "Write-protected",IDC_STATIC,174,8,59,10,SS_CENTERIMAGE
-    CONTROL         "",IDC_DF0WP,"Button",BS_AUTOCHECKBOX | BS_MULTILINE | WS_TABSTOP,238,4,10,15
-    PUSHBUTTON      "Eject",IDC_EJECT0,253,4,30,15
-    PUSHBUTTON      "...",IDC_DF0,287,4,10,15
-    COMBOBOX        IDC_DF1TEXT,2,58,296,75,CBS_DROPDOWN | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP
-    COMBOBOX        IDC_DF1TYPE,123,42,49,50,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
-    RTEXT           "Write-protected",IDC_STATIC,174,43,59,10,SS_CENTERIMAGE
-    CONTROL         "",IDC_DF1WP,"Button",BS_AUTOCHECKBOX | BS_MULTILINE | WS_TABSTOP,238,40,10,15
-    PUSHBUTTON      "Eject",IDC_EJECT1,253,40,30,15
-    PUSHBUTTON      "...",IDC_DF1,287,40,10,15
-    COMBOBOX        IDC_DF2TEXT,2,93,296,75,CBS_DROPDOWN | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP
-    COMBOBOX        IDC_DF2TYPE,123,77,49,50,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
-    RTEXT           "Write-protected",IDC_STATIC,174,77,59,10,SS_CENTERIMAGE
-    CONTROL         "",IDC_DF2WP,"Button",BS_AUTOCHECKBOX | BS_MULTILINE | WS_TABSTOP,238,75,9,15
-    PUSHBUTTON      "Eject",IDC_EJECT2,253,75,30,15
-    PUSHBUTTON      "...",IDC_DF2,287,75,10,15
-    COMBOBOX        IDC_DF3TEXT,2,128,296,75,CBS_DROPDOWN | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP
-    COMBOBOX        IDC_DF3TYPE,123,112,49,50,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
-    RTEXT           "Write-protected",IDC_STATIC,174,113,59,10,SS_CENTERIMAGE
-    CONTROL         "",IDC_DF3WP,"Button",BS_AUTOCHECKBOX | BS_MULTILINE | WS_TABSTOP,238,111,9,15
-    PUSHBUTTON      "Eject",IDC_EJECT3,253,110,30,15
-    PUSHBUTTON      "...",IDC_DF3,287,109,10,15
-    GROUPBOX        "New Floppy Disk Image",IDC_SETTINGSTEXT,5,183,289,49
-    COMBOBOX        IDC_FLOPPYTYPE,16,196,51,50,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
-    PUSHBUTTON      "Create Standard Disk [] Creates a standard 880 or 1760 KB ADF disk image.",IDC_CREATE,76,196,97,15
-    PUSHBUTTON      "Create Custom Disk [] Creates a low level (MFM) ADF disk image (about 2MB). Useful for programs that use non-standard disk formats (for example some save disks or DOS-formatted floppies)",IDC_CREATE_RAW,183,196,101,15
-    GROUPBOX        "Floppy Drive Emulation Speed",IDC_SETTINGSTEXT2,5,144,289,35
-    CONTROL         "",IDC_FLOPPYSPD,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,32,152,116,20
-    EDITTEXT        IDC_FLOPPYSPDTEXT,169,155,107,12,ES_CENTER | ES_READONLY
-    PUSHBUTTON      "Delete save image",IDC_SAVEIMAGE0,43,5,70,15,NOT WS_VISIBLE
-    PUSHBUTTON      "Delete save image",IDC_SAVEIMAGE1,43,40,70,15,NOT WS_VISIBLE
-    PUSHBUTTON      "Delete save image",IDC_SAVEIMAGE2,43,75,70,15,NOT WS_VISIBLE
-    PUSHBUTTON      "Delete save image",IDC_SAVEIMAGE3,43,110,70,15,NOT WS_VISIBLE
-    EDITTEXT        IDC_CREATE_NAME,75,215,98,13,ES_AUTOHSCROLL
-    RTEXT           "Disk label:",IDC_STATIC,14,216,52,10,SS_CENTERIMAGE
-    CONTROL         "DF0:",IDC_DF0ENABLE,"Button",BS_AUTOCHECKBOX | WS_DISABLED | WS_TABSTOP,3,6,34,15
-    CONTROL         "DF1:",IDC_DF1ENABLE,"Button",BS_AUTOCHECKBOX | WS_DISABLED | WS_TABSTOP,3,41,34,15
-    CONTROL         "DF2:",IDC_DF2ENABLE,"Button",BS_AUTOCHECKBOX | WS_DISABLED | WS_TABSTOP,3,76,34,15
-    CONTROL         "DF3:",IDC_DF3ENABLE,"Button",BS_AUTOCHECKBOX | WS_DISABLED | WS_TABSTOP,3,111,34,15
-END
-
-IDD_HARDDISK DIALOGEX 0, 0, 300, 245
-STYLE DS_LOCALEDIT | DS_SETFONT | DS_3DLOOK | DS_CONTROL | WS_CHILD
-EXSTYLE WS_EX_CONTEXTHELP
-FONT 8, "MS Sans Serif", 0, 0, 0x1
-BEGIN
-    CONTROL         "List1",IDC_VOLUMELIST,"SysListView32",LVS_REPORT | LVS_SINGLESEL | LVS_SHOWSELALWAYS | LVS_ALIGNLEFT | LVS_NOSORTHEADER | WS_BORDER | WS_TABSTOP,5,0,290,182
-    PUSHBUTTON      "Add &Directory or Archive...",IDC_NEW_FS,10,186,103,15
-    PUSHBUTTON      "Add &Hardfile...",IDC_NEW_HF,130,186,74,15
-    PUSHBUTTON      "Add Ha&rd Drive...",IDC_NEW_HD,220,186,75,15
-    PUSHBUTTON      "Remove",IDC_REMOVE,232,207,60,15
-    PUSHBUTTON      "&Properties",IDC_EDIT,232,230,60,15
-    CONTROL         "Add PC drives at startup",IDC_MAPDRIVES,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,5,209,100,10
-    CONTROL         "Disable UAEFSDB-support",IDC_NOUAEFSDB,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,110,209,119,10
-    CONTROL         "Don't use Windows Recycle Bin",IDC_NORECYCLEBIN,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,110,220,121,10
-    CONTROL         "Include network drives..",IDC_MAPDRIVES_NET,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,5,232,101,10
-    CONTROL         "Include CD/DVD drives..",IDC_MAPDRIVES_CD,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,5,220,100,10
-    CONTROL         "Automount removable drives",IDC_MAPDRIVES_AUTO,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,110,232,115,10
-END
-
-IDD_SOUND DIALOGEX 0, 0, 300, 231
-STYLE DS_LOCALEDIT | DS_SETFONT | DS_3DLOOK | DS_CONTROL | WS_CHILD
-FONT 8, "MS Sans Serif", 0, 0, 0x1
-BEGIN
-    RTEXT           "Sound device:",IDC_SOUNDCARD,8,9,51,13,SS_CENTERIMAGE
-    COMBOBOX        IDC_SOUNDCARDLIST,64,9,229,50,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
-    GROUPBOX        "Sound Emulation",IDC_SOUNDSETTINGS,5,30,120,81
-    CONTROL         "Disabled",IDC_SOUND0,"Button",BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP,13,45,101,10
-    CONTROL         "Disabled, but emulated",IDC_SOUND1,"Button",BS_AUTORADIOBUTTON | WS_TABSTOP,13,57,102,10
-    CONTROL         "Enabled",IDC_SOUND2,"Button",BS_AUTORADIOBUTTON | WS_TABSTOP,13,69,102,10
-    CONTROL         "Enabled, 100% accurate",IDC_SOUND3,"Button",BS_AUTORADIOBUTTON | WS_TABSTOP,13,81,101,10
-    GROUPBOX        "Volume",IDC_STATIC,131,36,164,31
-    CONTROL         "",IDC_SOUNDVOLUME,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,137,44,105,20
-    EDITTEXT        IDC_SOUNDVOLUME2,247,47,40,12,ES_CENTER | ES_READONLY
-    GROUPBOX        "Sound Buffer Size",IDC_STATIC,132,73,164,31
-    CONTROL         "Slider1",IDC_SOUNDBUFFERRAM,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,138,81,106,19
-    EDITTEXT        IDC_SOUNDBUFFERMEM,248,84,40,12,ES_CENTER | ES_READONLY
-    GROUPBOX        "Settings",IDC_SOUNDINTERPOLATION2,6,114,290,60
-    LTEXT           "Frequency:",IDC_SOUNDFREQTXT,11,147,53,8,SS_CENTERIMAGE
-    COMBOBOX        IDC_SOUNDFREQ,13,156,51,75,CBS_DROPDOWN | WS_VSCROLL | WS_TABSTOP
-    LTEXT           "Audio filter:",IDC_SOUNDFILTERTXT,209,148,77,8,SS_CENTERIMAGE
-    COMBOBOX        IDC_SOUNDFILTER,209,157,80,75,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
-    LTEXT           "Channel mode:",IDC_SOUNDSTEREOTXT,11,124,57,8,SS_CENTERIMAGE
-    COMBOBOX        IDC_SOUNDSTEREO,13,133,122,75,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
-    LTEXT           "Interpolation:",IDC_SOUNDINTERPOLATIONTXT,209,124,75,8,SS_CENTERIMAGE
-    COMBOBOX        IDC_SOUNDINTERPOLATION,209,132,80,75,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
-    LTEXT           "Stereo separation:",IDC_SOUNDSTEREOSEPTXT,141,124,63,8,SS_CENTERIMAGE
-    COMBOBOX        IDC_SOUNDSTEREOSEP,142,133,62,75,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
-    LTEXT           "Stereo delay:",IDC_SOUNDSTEREOMIXTXT,141,148,63,8,SS_CENTERIMAGE
-    COMBOBOX        IDC_SOUNDSTEREOMIX,142,157,62,75,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
-    GROUPBOX        "Floppy Drive Sound Emulation",IDC_STATIC,6,177,290,46
-    CONTROL         "",IDC_SOUNDDRIVEVOLUME,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,14,185,107,19
-    EDITTEXT        IDC_SOUNDDRIVEVOLUME2,124,191,40,12,ES_CENTER | ES_READONLY
-    COMBOBOX        IDC_SOUNDDRIVE,237,187,46,75,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
-    COMBOBOX        IDC_SOUNDDRIVESELECT,18,205,265,75,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
-    COMBOBOX        IDC_SOUNDSWAP,73,157,62,75,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
-    LTEXT           "Swap channels:",IDC_SOUNDSWAPTXT,74,148,61,8,SS_CENTERIMAGE
-    CONTROL         "Automatic switching",IDC_SOUND_AUTO,"Button",BS_AUTOCHECKBOX | BS_LEFT | WS_GROUP | WS_TABSTOP,14,95,103,10
-END
-
-IDD_LOADSAVE DIALOGEX 0, 0, 302, 241
-STYLE DS_LOCALEDIT | DS_SETFONT | DS_3DLOOK | DS_CONTROL | WS_CHILD
-FONT 8, "MS Sans Serif", 0, 0, 0x1
-BEGIN
-    CONTROL         "",IDC_CONFIGTREE,"SysTreeView32",TVS_HASLINES | TVS_DISABLEDRAGDROP | TVS_SHOWSELALWAYS | WS_BORDER | WS_TABSTOP,6,3,289,153,WS_EX_CLIENTEDGE
-    RTEXT           "Name:",IDC_STATIC,4,161,40,15,SS_CENTERIMAGE
-    EDITTEXT        IDC_EDITNAME,48,162,146,13,ES_AUTOHSCROLL
-    RTEXT           "Description:",IDC_STATIC,4,183,41,15,SS_CENTERIMAGE
-    EDITTEXT        IDC_EDITDESCRIPTION,48,183,146,13,ES_AUTOHSCROLL
-    RTEXT           "Link:",IDC_STATIC,4,204,40,15,SS_CENTERIMAGE
-    COMBOBOX        IDC_CONFIGLINK,48,205,93,150,CBS_DROPDOWN | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP
-    CONTROL         "Ignore link",IDC_CONFIGNOLINK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,146,206,48,10
-    EDITTEXT        IDC_EDITPATH,199,161,49,15,ES_AUTOHSCROLL | WS_DISABLED
-    CONTROL         "Autoload",IDC_CONFIGAUTO,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,253,163,42,10
-    GROUPBOX        "Additional Information",IDC_STATIC,199,179,96,38,BS_LEFT
-    PUSHBUTTON      "View",IDC_VIEWINFO,208,195,37,15
-    PUSHBUTTON      "Set",IDC_SETINFO,250,195,37,15
-    PUSHBUTTON      "Load",IDC_QUICKLOAD,5,225,44,15
-    PUSHBUTTON      "Save",IDC_QUICKSAVE,54,225,44,15
-    PUSHBUTTON      "Load From...",IDC_LOAD,121,225,49,15
-    PUSHBUTTON      "Delete",IDC_DELETE,251,225,44,15
-    PUSHBUTTON      "Save As...",IDC_SAVE,175,225,44,15
-END
-
-IDD_PORTS DIALOGEX 0, 0, 300, 238
-STYLE DS_LOCALEDIT | DS_SETFONT | DS_3DLOOK | DS_CONTROL | WS_CHILD
-FONT 8, "MS Sans Serif", 0, 0, 0x1
-BEGIN
-    GROUPBOX        "Parallel Port",IDC_SERPARFRAME,5,2,291,68
-    RTEXT           "Printer:",IDC_STATIC,12,15,25,15,SS_CENTERIMAGE
-    COMBOBOX        IDC_PRINTERLIST,49,15,153,134,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
-    PUSHBUTTON      "Flush print job",IDC_FLUSHPRINTER,220,14,58,12
-    CONTROL         "PostScript detection",IDC_PSPRINTERDETECT,"Button",BS_AUTOCHECKBOX | BS_VCENTER | WS_TABSTOP,11,33,79,12
-    CONTROL         "PostScript printer emulation",IDC_PSPRINTER,"Button",BS_AUTOCHECKBOX | BS_VCENTER | WS_TABSTOP,95,33,110,12
-    RTEXT           "Autoflush [] Time in seconds after a pending print job is automatically flushed.",IDC_PRINTERAUTOFLUSHTXT,202,32,57,15,SS_NOTIFY | SS_CENTERIMAGE
-    EDITTEXT        IDC_PRINTERAUTOFLUSH,263,33,25,12,ES_NUMBER
-    RTEXT           "Ghostscript extra parameters:",IDC_STATIC,12,49,102,15,SS_CENTERIMAGE
-    EDITTEXT        IDC_PS_PARAMS,124,50,165,12,ES_AUTOHSCROLL
-    GROUPBOX        "Serial Port",IDC_SERIALFRAME,4,72,292,48
-    COMBOBOX        IDC_SERIAL,49,84,232,65,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
-    CONTROL         "Shared",IDC_SER_SHARED,"Button",BS_AUTOCHECKBOX | BS_VCENTER | WS_TABSTOP,11,102,48,13
-    CONTROL         "RTS/CTS",IDC_SER_CTSRTS,"Button",BS_AUTOCHECKBOX | BS_VCENTER | WS_TABSTOP,65,102,55,12
-    GROUPBOX        "MIDI",IDC_MIDIFRAME,4,123,292,33
-    RTEXT           "Out:",IDC_MIDI,10,134,34,15,SS_CENTERIMAGE
-    COMBOBOX        IDC_MIDIOUTLIST,50,134,95,130,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
-    RTEXT           "In:",IDC_MIDI2,150,134,29,15,SS_CENTERIMAGE
-    COMBOBOX        IDC_MIDIINLIST,185,134,95,134,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
-    GROUPBOX        "Mouse/Joystick Ports",IDC_PORT0,4,158,292,75
-    COMBOBOX        IDC_PORT0_JOYS,45,174,241,130,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
-    COMBOBOX        IDC_PORT1_JOYS,45,195,241,130,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
-    PUSHBUTTON      "Swap ports",IDC_SWAP,211,214,75,14
-    RTEXT           "Port 0:",IDC_STATIC,11,173,25,15,SS_CENTERIMAGE
-    RTEXT           "Port 1:",IDC_STATIC,11,194,25,15,SS_CENTERIMAGE
-    LTEXT           "X-Arcade layout information []#1",IDC_STATIC,16,213,106,15,SS_NOTIFY | SS_CENTERIMAGE
-    CONTROL         "Direct []Use when emulating serial-link games on two PCs running WinUAE",IDC_SER_DIRECT,
-                    "Button",BS_AUTOCHECKBOX | BS_VCENTER | WS_TABSTOP,132,103,65,12
-    CONTROL         "uaeserial.device",IDC_UAESERIAL,"Button",BS_AUTOCHECKBOX | BS_VCENTER | WS_TABSTOP,207,103,78,13
-END
-
-IDD_CONTRIBUTORS DIALOGEX 0, 0, 411, 242
-STYLE DS_LOCALEDIT | DS_SETFONT | DS_MODALFRAME | DS_SETFOREGROUND | DS_3DLOOK | WS_POPUP | WS_VISIBLE | WS_CAPTION
-CAPTION "UAE Authors and Contributors..."
-FONT 8, "MS Sans Serif", 0, 0, 0x0
-BEGIN
-    DEFPUSHBUTTON   "Ok",ID_OK,177,219,53,14
-    CONTROL         "",IDC_CONTRIBUTORS,"RICHEDIT",TCS_HOTTRACK | TCS_VERTICAL | TCS_RAGGEDRIGHT | TCS_OWNERDRAWFIXED | TCS_MULTISELECT | WS_BORDER | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP,4,5,404,206
-END
-
-IDD_ABOUT DIALOGEX 0, 0, 300, 191
-STYLE DS_LOCALEDIT | DS_SETFONT | DS_3DLOOK | DS_CONTROL | WS_CHILD
-FONT 8, "MS Sans Serif", 0, 0, 0x0
-BEGIN
-    CONTROL         "",IDC_RICHEDIT1,"RICHEDIT",TCS_SCROLLOPPOSITE | TCS_RAGGEDRIGHT | TCS_MULTISELECT | WS_DISABLED,45,10,210,15
-    CONTROL         "",IDC_RICHEDIT2,"RICHEDIT",TCS_SCROLLOPPOSITE | TCS_RAGGEDRIGHT | TCS_MULTISELECT | WS_DISABLED,20,30,260,13
-    PUSHBUTTON      "Contributors",IDC_CONTRIBUTORS,110,55,80,15
-    CONTROL         "",IDC_UAEHOME,"RICHEDIT",TCS_SCROLLOPPOSITE | TCS_RAGGEDRIGHT | TCS_MULTISELECT | WS_DISABLED,20,120,80,15
-    CONTROL         "",IDC_PICASSOHOME,"RICHEDIT",TCS_SCROLLOPPOSITE | TCS_RAGGEDRIGHT | TCS_MULTISELECT | WS_DISABLED,200,90,80,20
-    CONTROL         "",IDC_AMIGAHOME,"RICHEDIT",TCS_SCROLLOPPOSITE | TCS_RAGGEDRIGHT | TCS_MULTISELECT | WS_DISABLED,109,90,80,20
-    CONTROL         "",IDC_WINUAEHOME,"RICHEDIT",TCS_SCROLLOPPOSITE | TCS_RAGGEDRIGHT | TCS_MULTISELECT | WS_DISABLED,200,120,80,15
-    CONTROL         "",IDC_AIABHOME,"RICHEDIT",TCS_SCROLLOPPOSITE | TCS_RAGGEDRIGHT | TCS_MULTISELECT | WS_DISABLED,110,120,80,15
-    CONTROL         "",IDC_THEROOTS,"RICHEDIT",TCS_SCROLLOPPOSITE | TCS_RAGGEDRIGHT | TCS_MULTISELECT | WS_DISABLED,20,145,80,15
-    CONTROL         "",IDC_CAPS,"RICHEDIT",TCS_SCROLLOPPOSITE | TCS_RAGGEDRIGHT | TCS_MULTISELECT | WS_DISABLED,200,145,80,15
-    CONTROL         "",IDC_ABIME,"RICHEDIT",TCS_SCROLLOPPOSITE | TCS_RAGGEDRIGHT | TCS_MULTISELECT | WS_DISABLED,110,145,80,15
-    CONTROL         "",IDC_CLOANTOHOME,"RICHEDIT",TCS_SCROLLOPPOSITE | TCS_RAGGEDRIGHT | TCS_MULTISELECT | WS_DISABLED,20,90,80,20
-    CONTROL         "",IDC_AMIGASYS,"RICHEDIT",TCS_SCROLLOPPOSITE | TCS_RAGGEDRIGHT | TCS_MULTISELECT | WS_DISABLED,63,169,80,15
-    CONTROL         "",IDC_AMIKIT,"RICHEDIT",TCS_SCROLLOPPOSITE | TCS_RAGGEDRIGHT | TCS_MULTISELECT | WS_DISABLED,157,169,80,15
-END
-
-IDD_MISC1 DIALOGEX 0, 0, 300, 237
-STYLE DS_LOCALEDIT | DS_SETFONT | DS_3DLOOK | DS_CONTROL | WS_CHILD
-FONT 8, "MS Sans Serif", 0, 0, 0x1
-BEGIN
-    GROUPBOX        "Advanced",IDC_STATIC,8,2,285,110
-    CONTROL         "Untrap mouse with middle button",IDC_JULIAN,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,23,15,129,10
-    CONTROL         "Show GUI on startup",IDC_SHOWGUI,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,23,27,120,10
-    CONTROL         "On-screen LEDs",IDC_SHOWLEDS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,23,40,115,10
-    CONTROL         "uaescsi.device",IDC_SCSIDEVICE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,23,53,63,10
-    CONTROL         "Don't show taskbar button",IDC_NOTASKBARBUTTON,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,23,66,117,10
-    CONTROL         "bsdsocket.library emulation",IDC_SOCKETS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,161,15,120,10
-    CONTROL         "Use CTRL-F11 to quit",IDC_CTRLF11,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,161,27,120,10
-    CONTROL         "Don't use RGB overlays",IDC_NOOVERLAY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,161,40,120,10
-    CONTROL         "Synchronize clock",IDC_CLOCKSYNC,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,161,53,115,10
-    GROUPBOX        "Keyboard LEDs",IDC_STATIC,7,140,85,94
-    COMBOBOX        IDC_KBLED1,22,154,56,65,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
-    COMBOBOX        IDC_KBLED2,22,173,56,65,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
-    COMBOBOX        IDC_KBLED3,22,193,56,65,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
-    GROUPBOX        "Logging",IDC_STATIC,97,140,195,25
-    CONTROL         "Create log file",IDC_CREATELOGFILE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,107,151,72,10
-    CONTROL         "Illegal memory accesses",IDC_ILLEGAL,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,189,151,95,10
-    GROUPBOX        "State Files",IDC_STATIC,98,165,195,69
-    PUSHBUTTON      "Load state...",IDC_DOLOADSTATE,105,182,49,14
-    PUSHBUTTON      "Save state...",IDC_DOSAVESTATE,105,208,49,14
-    CONTROL         "Enable state recording",IDC_STATE_CAPTURE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,188,181,88,10
-    RTEXT           "Recording rate (seconds):",IDC_STATIC,157,199,86,10,SS_CENTERIMAGE | WS_TABSTOP
-    COMBOBOX        IDC_STATE_RATE,248,197,38,65,CBS_DROPDOWN | WS_VSCROLL | WS_TABSTOP
-    RTEXT           "Recording buffer (MB):",IDC_STATIC,157,219,83,10,SS_CENTERIMAGE | WS_TABSTOP
-    COMBOBOX        IDC_STATE_BUFFERSIZE,248,217,38,65,CBS_DROPDOWN | WS_VSCROLL | WS_TABSTOP
-    CONTROL         "Always on top",IDC_ALWAYSONTOP,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,23,79,117,10
-    CONTROL         "Catweasel",IDC_CATWEASEL,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,161,66,115,10
-    CONTROL         "USB mode",IDC_KBLED_USB,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,22,216,64,10
-    COMBOBOX        IDC_SCSIMODE,92,51,64,65,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
-    COMBOBOX        IDC_LANGUAGE,103,121,179,65,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
-    GROUPBOX        "Language",IDC_STATIC,7,112,285,25
-    CONTROL         "Disable powersaving features",IDC_POWERSAVE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,23,92,120,10
-    CONTROL         "Magic Mouse",IDC_MOUSETRICK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,161,79,119,10
-    CONTROL         "uaenet.device",IDC_SANA2,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,161,92,94,10
-END
-
-IDD_HARDFILE DIALOGEX 0, 0, 299, 249
-STYLE DS_LOCALEDIT | DS_SETFONT | DS_MODALFRAME | DS_SETFOREGROUND | DS_3DLOOK | DS_CENTER | DS_CENTERMOUSE | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
-CAPTION "Hardfile Settings"
-FONT 8, "MS Sans Serif", 0, 0, 0x0
-BEGIN
-    GROUPBOX        "Settings",IDC_STATIC,10,5,280,146
-    RTEXT           "Path:",IDC_HARDFILE_DIR_TEXT,26,18,22,10
-    EDITTEXT        IDC_PATH_NAME,52,15,213,15,ES_AUTOHSCROLL
-    PUSHBUTTON      "...",IDC_SELECTOR,271,15,11,15
-    RTEXT           "FileSys:",IDC_HARDFILE_FILESYS_TEXT,14,37,34,10
-    EDITTEXT        IDC_PATH_FILESYS,52,34,213,15,ES_AUTOHSCROLL
-    PUSHBUTTON      "...",IDC_FILESYS_SELECTOR,271,34,11,15
-    RTEXT           "Device:",IDC_HARDFILE_DEVICE_TEXT,17,58,31,10
-    EDITTEXT        IDC_HARDFILE_DEVICE,52,54,66,15,ES_AUTOHSCROLL
-    RTEXT           "Boot priority:",IDC_HARDFILE_BOOTPRI_TEXT,24,94,44,8
-    EDITTEXT        IDC_HARDFILE_BOOTPRI,74,90,40,15
-    CONTROL         "Read/write",IDC_HDF_RW,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,53,74,64,10
-    PUSHBUTTON      "Enable RDB mode",IDC_HDF_RDB,174,55,92,14
-    RTEXT           "Surfaces:",IDC_SURFACES_TEXT,120,94,30,10
-    EDITTEXT        IDC_HEADS,155,90,35,15,ES_NUMBER
-    RTEXT           "Reserved:",IDC_RESERVED_TEXT,197,94,35,10
-    EDITTEXT        IDC_RESERVED,237,90,35,15,ES_NUMBER
-    RTEXT           "Sectors:",IDC_SECTORS_TEXT,120,116,30,10
-    EDITTEXT        IDC_SECTORS,155,111,35,15,ES_NUMBER
-    RTEXT           "Block size:",IDC_BLOCKSIZE_TEXT,197,116,35,10
-    EDITTEXT        IDC_BLOCKSIZE,237,111,35,15,ES_NUMBER
-    GROUPBOX        "New hard disk image file",IDC_STATIC,10,156,280,62
-    PUSHBUTTON      "Create",IDC_HF_CREATE,50,171,80,14
-    EDITTEXT        IDC_HF_SIZE,146,171,61,15,ES_NUMBER
-    PUSHBUTTON      "OK",IDOK,102,226,50,14
-    PUSHBUTTON      "Cancel",IDCANCEL,158,226,50,14
-    EDITTEXT        IDC_HF_DOSTYPE,146,194,61,15
-    COMBOBOX        IDC_HF_TYPE,50,194,80,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP
-    COMBOBOX        IDC_HDF_CONTROLLER,73,112,41,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP
-    RTEXT           "DOS type",IDC_STATIC,214,196,32,10,SS_CENTERIMAGE
-    RTEXT           "MB",IDC_STATIC,214,174,13,10,SS_CENTERIMAGE
-    RTEXT           "Type:",IDC_STATIC,18,182,25,10,SS_CENTERIMAGE
-    RTEXT           "HD Controller:",IDC_STATIC,13,113,52,10,SS_CENTERIMAGE
-    CONTROL         "Autoboot",IDC_HDF_AUTOBOOT,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,136,73,53,10
-    CONTROL         "Do not mount",IDC_HDF_DONOTMOUNT,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,217,74,67,10
-    EDITTEXT        IDC_HDFINFO,16,131,268,12,ES_CENTER | ES_READONLY
-END
-
-IDD_FILESYS DIALOGEX 15, 25, 299, 111
-STYLE DS_LOCALEDIT | DS_SETFONT | DS_MODALFRAME | DS_SETFOREGROUND | DS_3DLOOK | DS_CENTER | DS_CENTERMOUSE | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
-CAPTION "Volume Settings"
-FONT 8, "MS Sans Serif", 0, 0, 0x0
-BEGIN
-    LTEXT           "Device name:",-1,5,9,54,10
-    EDITTEXT        IDC_VOLUME_DEVICE,65,5,104,15,ES_AUTOHSCROLL
-    LTEXT           "Volume label:",-1,5,31,54,10
-    EDITTEXT        IDC_VOLUME_NAME,65,25,103,15,ES_AUTOHSCROLL
-    LTEXT           "Path:",-1,5,51,44,10
-    EDITTEXT        IDC_PATH_NAME,65,46,227,15,ES_AUTOHSCROLL
-    PUSHBUTTON      "Select Directory",IDC_FS_SELECT_DIR,64,66,103,15
-    CONTROL         "Read/write",IDC_FS_RW,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,174,7,55,10
-    RTEXT           "Boot priority:",IDC_VOLUME_BOOTPRI_TEXT,178,28,49,8
-    EDITTEXT        IDC_VOLUME_BOOTPRI,237,24,30,15
-    PUSHBUTTON      "OK",IDOK,65,91,48,15
-    PUSHBUTTON      "Cancel",IDCANCEL,120,91,48,15
-    PUSHBUTTON      "Select Archive or Plain File",IDC_FS_SELECT_FILE,189,66,103,15
-    PUSHBUTTON      "Eject",IDC_FS_SELECT_EJECT,230,91,62,15
-    CONTROL         "Autoboot",IDC_FS_AUTOBOOT,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,236,7,53,10
-END
-
-IDD_SETINFO DIALOGEX 0, 0, 229, 85
-STYLE DS_LOCALEDIT | DS_SETFONT | DS_MODALFRAME | DS_SETFOREGROUND | DS_3DLOOK | DS_CENTER | DS_CENTERMOUSE | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
-CAPTION "Additional Information Settings"
-FONT 8, "MS Sans Serif", 0, 0, 0x0
-BEGIN
-    RTEXT           "Path:",-1,5,20,24,15,SS_CENTERIMAGE
-    EDITTEXT        IDC_PATH_NAME,35,20,169,15,ES_AUTOHSCROLL
-    PUSHBUTTON      "...",IDC_SELECTOR,210,20,10,15
-    PUSHBUTTON      "OK",IDOK,120,65,48,15
-    PUSHBUTTON      "Cancel",IDCANCEL,175,65,48,15
-END
-
-IDD_CHIPSET DIALOGEX 0, 65490, 300, 229
-STYLE DS_LOCALEDIT | DS_SETFONT | DS_3DLOOK | DS_CONTROL | WS_CHILD
-FONT 8, "MS Sans Serif", 0, 0, 0x0
-BEGIN
-    GROUPBOX        "Chipset",IDC_STATIC,14,11,145,90
-    CONTROL         "OCS [] Original chipset. A1000 and most A500s.",IDC_OCS,
-                    "Button",BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP,37,26,51,10
-    CONTROL         "ECS Agnus [] Enhanced chipset (ECS Agnus chip only). Later A500 and A2000 hardware revisions.",IDC_ECS_AGNUS,
-                    "Button",BS_AUTORADIOBUTTON | WS_TABSTOP,37,42,55,10
-    CONTROL         "Full ECS [] Full ECS chipset (ECS Agnus and ECS Denise chips). A500+, A600 and A3000.",IDC_ECS,
-                    "Button",BS_AUTORADIOBUTTON | WS_TABSTOP,37,58,52,10
-    CONTROL         "AGA [] Advanced Graphics Architecture chipset. A1200, A4000 and CD32.",IDC_AGA,
-                    "Button",BS_AUTORADIOBUTTON | WS_TABSTOP,100,26,51,10
-    CONTROL         "NTSC [] North American and Japanese display standard, 60Hz refresh rate. Other countries use PAL (50Hz. display refresh rate)",IDC_NTSC,
-                    "Button",BS_AUTOCHECKBOX | WS_TABSTOP,101,58,50,10
-    GROUPBOX        "Options",IDC_STATIC,168,11,114,89
-    CONTROL         "Immediate Blitter [] Faster but less compatible blitter emulation.",IDC_BLITIMM,
-                    "Button",BS_AUTOCHECKBOX | WS_TABSTOP,174,30,96,10
-    CONTROL         "Cycle-exact [] The most compatible A500 emulation mode. Very fast PC recommended.",IDC_CYCLEEXACT,
-                    "Button",BS_AUTOCHECKBOX | BS_LEFT | WS_GROUP | WS_TABSTOP,174,43,100,10
-    GROUPBOX        "Collision Level",IDC_STATIC,14,105,267,48
-    CONTROL         "None [] Collision hardware emulation disabled.",IDC_COLLISION0,
-                    "Button",BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP,40,121,59,10
-    CONTROL         "Sprites only [] Emulate only sprite vs. sprite collisions.",IDC_COLLISION1,
-                    "Button",BS_AUTORADIOBUTTON | WS_TABSTOP,39,137,62,10
-    CONTROL         "Sprites and Sprites vs. Playfield [] Recommended collision emulation level.",IDC_COLLISION2,
-                    "Button",BS_AUTORADIOBUTTON | WS_TABSTOP,109,121,161,10
-    CONTROL         "Full [] 100% collision hardware emulation. Only very few games need this option. Slowest.",IDC_COLLISION3,
-                    "Button",BS_AUTORADIOBUTTON | WS_TABSTOP,109,137,119,10
-    GROUPBOX        "Sound Emulation",IDC_STATIC,13,159,268,65
-    CONTROL         "Disabled",IDC_CS_SOUND0,"Button",BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP,39,175,102,10
-    CONTROL         "Emulated",IDC_CS_SOUND1,"Button",BS_AUTORADIOBUTTON | WS_TABSTOP,39,190,91,10
-    CONTROL         "Emulated, 100% accurate",IDC_CS_SOUND2,"Button",BS_AUTORADIOBUTTON | WS_TABSTOP,39,205,95,10
-    CONTROL         "Genlock connected [] Allow boot sequence to detect genlock. Genlock is not emulated.",IDC_GENLOCK,
-                    "Button",BS_AUTOCHECKBOX | BS_LEFT | WS_GROUP | WS_TABSTOP,174,56,100,10
-    CONTROL         "Faster RTG [] Enables less accurate custom chipset emulation mode when Picasso96 is enabled.",IDC_FASTERRTG,
-                    "Button",BS_AUTOCHECKBOX | BS_LEFT | WS_GROUP | WS_TABSTOP,174,68,100,10
-    COMBOBOX        IDC_CS_EXT,101,80,49,65,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
-    RTEXT           "Chipset Extra",IDC_STATIC,25,79,52,15,SS_CENTERIMAGE
-END
-
-IDD_CHIPSET2 DIALOGEX 0, 65490, 300, 247
-STYLE DS_LOCALEDIT | DS_SETFONT | DS_3DLOOK | DS_CONTROL | WS_CHILD
-FONT 8, "MS Sans Serif", 0, 0, 0x0
-BEGIN
-    GROUPBOX        "Advanced Chipset Options",IDC_STATIC,7,6,287,239
-    GROUPBOX        "Battery Backed Up Real Time Clock",IDC_STATIC,14,37,275,29
-    CONTROL         "None",IDC_CS_RTC1,"Button",BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP,22,49,55,10
-    CONTROL         "MSM6242B",IDC_CS_RTC2,"Button",BS_AUTORADIOBUTTON | WS_TABSTOP,91,49,52,10
-    CONTROL         "RF5C01A",IDC_CS_RTC3,"Button",BS_AUTORADIOBUTTON | WS_TABSTOP,160,49,46,10
-    EDITTEXT        IDC_CS_RTCADJUST,218,47,64,13,ES_AUTOHSCROLL
-    GROUPBOX        "CIA-A TOD Clock Source",IDC_STATIC,12,69,275,29
-    CONTROL         "Vertical Sync",IDC_CS_CIAA_TOD1,"Button",BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP,25,81,63,10
-    CONTROL         "Power Supply 50Hz",IDC_CS_CIAA_TOD2,"Button",BS_AUTORADIOBUTTON | WS_TABSTOP,95,81,85,10
-    CONTROL         "Power Supply 60Hz",IDC_CS_CIAA_TOD3,"Button",BS_AUTORADIOBUTTON | WS_TABSTOP,192,81,88,10
-    CONTROL         "Boot ROM Mirror",IDC_CS_KSMIRROR,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,17,108,80,10
-    CONTROL         "A1000 Boot RAM/ROM",IDC_CS_A1000RAM,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,97,108,88,10
-    CONTROL         "CD32 CD",IDC_CS_CD32CD,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,17,121,76,10
-    CONTROL         "CD32 C2P",IDC_CS_CD32C2P,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,97,121,87,10
-    CONTROL         "CD32 NVRAM",IDC_CS_CD32NVRAM,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,190,121,84,10
-    CONTROL         "CDTV CD",IDC_CS_CDTVCD,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,17,134,47,10
-    CONTROL         "CDTV SRAM",IDC_CS_CDTVRAM,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,97,133,87,10
-    CONTROL         "CDTV SRAM Expansion",IDC_CS_CDTVRAMEXP,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,190,133,90,10
-    CONTROL         "A600/A1200 IDE",IDC_CS_IDE1,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,17,146,79,10
-    CONTROL         "A4000/A4000T IDE",IDC_CS_IDE2,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,97,146,88,10
-    CONTROL         "Ramsey revision:",IDC_CS_RAMSEY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,17,211,71,10
-    EDITTEXT        IDC_CS_RAMSEYREV,94,209,45,13,ES_AUTOHSCROLL
-    CONTROL         "Fat Gary revision:",IDC_CS_FATGARY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,17,224,71,10
-    EDITTEXT        IDC_CS_FATGARYREV,94,223,45,13,ES_AUTOHSCROLL
-    CONTROL         "A3000 SCSI",IDC_CS_DMAC,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,97,175,76,10
-    CONTROL         "Compatible Settings",IDC_CS_COMPATIBLE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,17,21,234,10
-    CONTROL         "DF0: ID Hardware",IDC_CS_DF0IDHW,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,190,108,92,10
-    CONTROL         "Agnus/Alice revision:",IDC_CS_AGNUS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,150,211,81,10
-    EDITTEXT        IDC_CS_AGNUSREV,235,209,45,13,ES_AUTOHSCROLL
-    CONTROL         "Denise/Lisa revision:",IDC_CS_DENISE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,150,227,81,10
-    EDITTEXT        IDC_CS_DENISEREV,235,226,45,13,ES_AUTOHSCROLL
-    CONTROL         "A590/A2091 SCSI",IDC_CS_A2091,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,17,175,76,10
-    CONTROL         "A4000T SCSI",IDC_CS_DMAC2,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,190,175,88,10
-    LTEXT           "A4091/A4000T SCSI not yet implemented.",IDC_STATIC,25,161,224,8,SS_CENTERIMAGE
-    CONTROL         "PCMCIA",IDC_CS_PCMCIA,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,190,146,92,10
-    CONTROL         "A4091 SCSI",IDC_CS_A4091,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,17,187,76,10
-    CONTROL         "CDTV SCSI",IDC_CS_CDTVSCSI,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,97,187,76,10
-    CONTROL         "Include host SCSI devices",IDC_CS_SCSIMODE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,190,187,101,10
-END
-
-IDD_AVIOUTPUT DIALOGEX 0, 0, 288, 203
-STYLE DS_LOCALEDIT | DS_SETFONT | DS_CONTROL | WS_CHILD
-FONT 8, "MS Sans Serif", 0, 0, 0x1
-BEGIN
-    GROUPBOX        "Output Properties",IDC_STATIC,5,8,274,118
-    EDITTEXT        IDC_AVIOUTPUT_FILETEXT,15,21,226,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER,WS_EX_CLIENTEDGE
-    PUSHBUTTON      "...",IDC_AVIOUTPUT_FILE,249,20,19,12
-    CONTROL         "Audio",IDC_AVIOUTPUT_AUDIO,"Button",BS_AUTOCHECKBOX | BS_PUSHLIKE | BS_FLAT | WS_TABSTOP,15,36,39,11
-    CONTROL         "",IDC_AVIOUTPUT_AUDIO_STATIC,"Static",SS_LEFTNOWORDWRAP | SS_CENTERIMAGE | SS_SUNKEN | WS_GROUP,59,36,209,11
-    CONTROL         "Video",IDC_AVIOUTPUT_VIDEO,"Button",BS_AUTOCHECKBOX | BS_PUSHLIKE | BS_FLAT | WS_TABSTOP,15,50,39,11
-    CONTROL         "",IDC_AVIOUTPUT_VIDEO_STATIC,"Static",SS_LEFTNOWORDWRAP | SS_CENTERIMAGE | SS_SUNKEN | WS_GROUP,59,50,209,11
-    CONTROL         "Disable frame rate limit while recording",IDC_AVIOUTPUT_FRAMELIMITER,
-                    "Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,68,158,10
-    CONTROL         "AVI output enabled",IDC_AVIOUTPUT_ACTIVATED,"Button",BS_AUTORADIOBUTTON | BS_PUSHLIKE | BS_FLAT,15,103,108,14
-    CONTROL         "PAL",IDC_AVIOUTPUT_PAL,"Button",BS_AUTORADIOBUTTON | BS_PUSHLIKE | BS_FLAT,133,103,66,14
-    CONTROL         "NTSC",IDC_AVIOUTPUT_NTSC,"Button",BS_AUTORADIOBUTTON | BS_PUSHLIKE | BS_FLAT,204,103,66,14
-    CONTROL         "Slider1",IDC_AVIOUTPUT_FPS,"msctls_trackbar32",TBS_BOTH | TBS_NOTICKS | TBS_ENABLESELRANGE | WS_TABSTOP,166,84,87,11
-    LTEXT           "fps",IDC_AVIOUTPUT_FPS_STATIC,255,84,19,8
-    PUSHBUTTON      "Save screenshot",IDC_SCREENSHOT,16,141,76,14
-    GROUPBOX        "Ripper",IDC_STATIC,5,127,274,38
-    PUSHBUTTON      "Pro Wizard 1.62",IDC_PROWIZARD,100,141,76,14,WS_DISABLED
-    CONTROL         "Sample ripper",IDC_SAMPLERIPPER_ACTIVATED,"Button",BS_AUTORADIOBUTTON | BS_PUSHLIKE | BS_FLAT,192,141,77,14
-    GROUPBOX        "Input Recorder",IDC_STATIC,5,166,274,33
-    CONTROL         "Record",IDC_INPREC_RECORD,"Button",BS_AUTORADIOBUTTON | BS_PUSHLIKE | BS_FLAT,191,177,77,14
-    CONTROL         "Playback",IDC_INPREC_PLAY,"Button",BS_AUTORADIOBUTTON | BS_PUSHLIKE | BS_FLAT,16,178,77,14
-    CONTROL         "Alt. playback mode",IDC_INPREC_PLAYMODE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,103,180,78,10
-    CONTROL         "Disable sound output while recording",IDC_AVIOUTPUT_NOSOUNDOUTPUT,
-                    "Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,85,148,10
-END
-
-IDD_INPUT DIALOGEX 0, 0, 300, 242
-STYLE DS_LOCALEDIT | DS_SETFONT | DS_3DLOOK | DS_CONTROL | WS_CHILD
-FONT 8, "MS Sans Serif", 0, 0, 0x1
-BEGIN
-    COMBOBOX        IDC_INPUTTYPE,5,5,98,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP
-    COMBOBOX        IDC_INPUTDEVICE,109,5,167,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP
-    CONTROL         "",IDC_INPUTDEVICEDISABLE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,282,8,9,8
-    CONTROL         "List1",IDC_INPUTLIST,"SysListView32",LVS_REPORT | LVS_SINGLESEL | LVS_SHOWSELALWAYS | LVS_ALIGNLEFT | LVS_NOSORTHEADER | WS_BORDER | WS_TABSTOP,5,22,290,146
-    COMBOBOX        IDC_INPUTAMIGACNT,5,174,24,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP
-    COMBOBOX        IDC_INPUTAMIGA,33,174,262,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP
-    RTEXT           "Joystick dead zone (%):",-1,7,196,79,10,SS_CENTERIMAGE
-    EDITTEXT        IDC_INPUTDEADZONE,92,195,25,12,ES_NUMBER
-    RTEXT           "Autofire rate (frames):",-1,10,212,76,10,SS_CENTERIMAGE
-    EDITTEXT        IDC_INPUTAUTOFIRERATE,92,210,25,12,ES_NUMBER
-    RTEXT           "Digital joy-mouse speed:",-1,124,196,84,10,SS_CENTERIMAGE
-    EDITTEXT        IDC_INPUTSPEEDD,215,195,25,12,ES_NUMBER
-    RTEXT           "Analog joy-mouse speed:",-1,120,212,88,10,SS_CENTERIMAGE
-    EDITTEXT        IDC_INPUTSPEEDA,215,211,25,12,ES_NUMBER
-    RTEXT           "Mouse speed:",-1,132,228,76,10,SS_CENTERIMAGE
-    EDITTEXT        IDC_INPUTSPEEDM,215,227,25,12,ES_NUMBER
-    PUSHBUTTON      "Copy from:",IDC_INPUTCOPY,249,195,45,14
-    COMBOBOX        IDC_INPUTCOPYFROM,249,211,45,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP
-    PUSHBUTTON      "Swap 1<>2",IDC_INPUTSWAP,249,226,45,14
-END
-
-IDD_FILTER DIALOGEX 0, 0, 296, 224
-STYLE DS_LOCALEDIT | DS_SETFONT | DS_3DLOOK | DS_CONTROL | WS_CHILD
-FONT 8, "MS Sans Serif", 0, 0, 0x1
-BEGIN
-    GROUPBOX        "Filter Settings",-1,0,0,294,186
-    CONTROL         "Enable",IDC_FILTERENABLE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,9,17,46,10
-    COMBOBOX        IDC_FILTERMODE,62,15,61,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP
-    COMBOBOX        IDC_FILTERFILTER,128,15,81,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP
-    PUSHBUTTON      "Reset to defaults",IDC_FILTERDEFAULT,213,15,73,14
-    RTEXT           "Horiz. size:",-1,4,44,54,10,SS_CENTERIMAGE
-    CONTROL         "Slider1",IDC_FILTERHZ,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,99,37,152,19
-    EDITTEXT        IDC_FILTERHZV,253,40,34,12,ES_CENTER | ES_READONLY
-    RTEXT           "Vert. size:",-1,5,64,54,10,SS_CENTERIMAGE
-    CONTROL         "Slider1",IDC_FILTERVZ,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,99,57,152,19
-    EDITTEXT        IDC_FILTERVZV,253,59,34,12,ES_CENTER | ES_READONLY
-    RTEXT           "Horiz. position:",-1,5,84,55,10,SS_CENTERIMAGE
-    CONTROL         "Slider1",IDC_FILTERHO,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,99,77,151,19
-    EDITTEXT        IDC_FILTERHOV,253,79,34,12,ES_CENTER | ES_READONLY
-    RTEXT           "Vert. position:",-1,5,103,55,10,SS_CENTERIMAGE
-    CONTROL         "Slider1",IDC_FILTERVO,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,99,99,151,19
-    EDITTEXT        IDC_FILTERVOV,253,101,34,12,ES_CENTER | ES_READONLY
-    RTEXT           "Extra settings:",-1,27,133,57,10,SS_CENTERIMAGE
-    CONTROL         "Slider1",IDC_FILTERXL,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,99,157,151,19
-    EDITTEXT        IDC_FILTERXLV,253,159,34,12,ES_CENTER | ES_READONLY
-    COMBOBOX        IDC_FILTERSLR,253,130,33,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP
-    GROUPBOX        "Presets",-1,0,187,296,36
-    COMBOBOX        IDC_FILTERPRESETS,8,201,119,150,CBS_DROPDOWN | CBS_SORT | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP
-    PUSHBUTTON      "Load",IDC_FILTERPRESETLOAD,132,200,47,14
-    PUSHBUTTON      "Save",IDC_FILTERPRESETSAVE,184,200,47,14
-    PUSHBUTTON      "Delete",IDC_FILTERPRESETDELETE,236,200,47,14
-    COMBOBOX        IDC_FILTERHZMULT,67,43,27,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP
-    COMBOBOX        IDC_FILTERVZMULT,67,63,27,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP
-    CONTROL         "Autoscale",IDC_FILTERAUTORES,"Button",BS_AUTOCHECKBOX | BS_LEFT | WS_GROUP | WS_TABSTOP,26,168,63,10
-    COMBOBOX        IDC_FILTERXTRA,105,130,138,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP
-END
-
-IDD_HARDDRIVE DIALOGEX 0, 0, 380, 66
-STYLE DS_LOCALEDIT | DS_SETFONT | DS_MODALFRAME | DS_SETFOREGROUND | DS_3DLOOK | DS_CENTER | DS_CENTERMOUSE | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
-CAPTION "Harddrive Settings"
-FONT 8, "MS Sans Serif", 0, 0, 0x0
-BEGIN
-    LTEXT           "Hard drive:",IDC_STATIC,7,11,35,10
-    COMBOBOX        IDC_HARDDRIVE,49,9,325,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP
-    CONTROL         "Read/write",IDC_HDF_RW,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,161,51,55,10
-    DEFPUSHBUTTON   "Add hard drive",IDOK,231,48,65,14
-    PUSHBUTTON      "Cancel",IDCANCEL,319,48,54,14
-    DEFPUSHBUTTON   "Create hard disk image file",IDC_HARDDRIVE_IMAGE,49,30,115,14
-    EDITTEXT        IDC_PATH_NAME,183,27,97,15,ES_AUTOHSCROLL | NOT WS_VISIBLE
-    COMBOBOX        IDC_HDF_CONTROLLER,102,50,41,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP
-    RTEXT           "HD Controller:",IDC_STATIC,42,52,52,10,SS_CENTERIMAGE
-END
-
-IDD_MISC2 DIALOGEX 0, 0, 300, 92
-STYLE DS_LOCALEDIT | DS_SETFONT | DS_3DLOOK | DS_CONTROL | WS_CHILD
-FONT 8, "MS Sans Serif", 0, 0, 0x1
-BEGIN
-    GROUPBOX        "When Active",IDC_STATIC,8,7,88,73
-    RTEXT           "Run at priority:",IDC_ACTIVE_PRI,14,17,52,10,SS_CENTERIMAGE | WS_TABSTOP
-    COMBOBOX        IDC_ACTIVE_PRIORITY,14,29,76,65,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
-    GROUPBOX        "When Inactive",IDC_STATIC,102,7,92,73
-    RTEXT           "Run at priority:",IDC_INACTIVE_PRI,109,17,51,10,SS_CENTERIMAGE | WS_TABSTOP
-    COMBOBOX        IDC_INACTIVE_PRIORITY,109,29,76,65,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
-    CONTROL         "Pause emulation",IDC_INACTIVE_PAUSE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,109,50,69,10
-    CONTROL         "Disable sound",IDC_INACTIVE_NOSOUND,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,109,63,79,10
-    GROUPBOX        "When Minimized",IDC_STATIC,199,7,92,73
-    RTEXT           "Run at priority:",IDC_MINIMIZED_PRI,207,18,51,10,SS_CENTERIMAGE | WS_TABSTOP
-    COMBOBOX        IDC_MINIMIZED_PRIORITY,207,30,76,65,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
-    CONTROL         "Pause emulation",IDC_MINIMIZED_PAUSE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,207,50,69,10
-    CONTROL         "Disable sound",IDC_MINIMIZED_NOSOUND,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,207,63,79,10
-END
-
-IDD_DISK DIALOGEX 0, 0, 300, 242
-STYLE DS_LOCALEDIT | DS_SETFONT | DS_SETFOREGROUND | DS_3DLOOK | DS_CONTROL | DS_CENTER | DS_CENTERMOUSE | WS_CHILD
-FONT 8, "MS Sans Serif", 0, 0, 0x0
-BEGIN
-    CONTROL         "",IDC_DISKLIST,"SysListView32",LVS_REPORT | LVS_SINGLESEL | LVS_SHOWSELALWAYS | LVS_ALIGNLEFT | LVS_NOSORTHEADER | WS_BORDER | WS_TABSTOP,4,6,292,196
-    PUSHBUTTON      "Remove floppy disk image",IDC_DISKLISTREMOVE,149,223,101,15
-    COMBOBOX        IDC_DISKTEXT,3,205,293,75,CBS_DROPDOWN | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP
-    PUSHBUTTON      "Insert floppy disk image",IDC_DISKLISTINSERT,34,223,101,15
-END
-
-IDD_PANEL DIALOGEX 0, 0, 420, 278
-STYLE DS_LOCALEDIT | DS_SETFONT | DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_CAPTION | WS_SYSMENU
-EXSTYLE WS_EX_ACCEPTFILES | WS_EX_CONTROLPARENT
-CAPTION "WinUAE Properties"
-FONT 8, "MS Sans Serif", 0, 0, 0x0
-BEGIN
-    GROUPBOX        "",IDC_PANEL_FRAME,112,4,303,247,NOT WS_VISIBLE
-    CONTROL         "",IDC_PANELTREE,"SysTreeView32",TVS_HASLINES | TVS_SHOWSELALWAYS | TVS_NOSCROLL | WS_BORDER | WS_HSCROLL | WS_TABSTOP,5,5,101,248,WS_EX_CLIENTEDGE
-    GROUPBOX        "",IDC_PANEL_FRAME_OUTER,110,2,307,251
-    PUSHBUTTON      "Reset",IDC_RESETAMIGA,6,259,47,14
-    PUSHBUTTON      "Quit",IDC_QUITEMU,57,259,47,14
-    DEFPUSHBUTTON   "OK",IDOK,260,259,50,14
-    PUSHBUTTON      "Cancel",IDCANCEL,313,259,50,14
-    PUSHBUTTON      "Help",IDHELP,366,259,50,14,WS_DISABLED
-    PUSHBUTTON      "Restart",IDC_RESTARTEMU,109,259,47,14,NOT WS_VISIBLE
-END
-
-IDD_PATHS DIALOGEX 0, 0, 300, 237
-STYLE DS_LOCALEDIT | DS_SETFONT | DS_3DLOOK | DS_CONTROL | WS_CHILD
-FONT 8, "MS Sans Serif", 0, 0, 0x1
-BEGIN
-    LTEXT           "System ROMs:",IDC_PATHS_ROML,14,9,260,8,SS_CENTERIMAGE
-    EDITTEXT        IDC_PATHS_ROM,14,22,261,15,ES_AUTOHSCROLL
-    PUSHBUTTON      "...",IDC_PATHS_ROMS,281,22,11,15
-    LTEXT           "Configuration files:",IDC_PATHS_CONFIGL,14,40,260,8,SS_CENTERIMAGE
-    EDITTEXT        IDC_PATHS_CONFIG,14,52,261,15,ES_AUTOHSCROLL
-    PUSHBUTTON      "...",IDC_PATHS_CONFIGS,281,52,11,15
-    LTEXT           "Screenshots:",IDC_PATHS_SCREENSHOTL,14,71,260,8,SS_CENTERIMAGE
-    EDITTEXT        IDC_PATHS_SCREENSHOT,14,83,261,15,ES_AUTOHSCROLL
-    PUSHBUTTON      "...",IDC_PATHS_SCREENSHOTS,281,83,11,15
-    LTEXT           "State files:",IDC_PATHS_STATEFILEL,14,102,260,8,SS_CENTERIMAGE
-    EDITTEXT        IDC_PATHS_SAVESTATE,14,114,261,15,ES_AUTOHSCROLL
-    PUSHBUTTON      "...",IDC_PATHS_SAVESTATES,281,114,11,15
-    LTEXT           "Videos:",IDC_PATHS_AVIOUTPUTL,14,132,260,8,SS_CENTERIMAGE
-    EDITTEXT        IDC_PATHS_AVIOUTPUT,14,144,261,15,ES_AUTOHSCROLL
-    PUSHBUTTON      "...",IDC_PATHS_AVIOUTPUTS,282,144,11,15
-    LTEXT           "Saveimages:",IDC_PATHS_SAVEIMAGEL,14,163,260,8,SS_CENTERIMAGE
-    EDITTEXT        IDC_PATHS_SAVEIMAGE,14,175,261,15,ES_AUTOHSCROLL
-    PUSHBUTTON      "...",IDC_PATHS_SAVEIMAGES,281,175,11,15
-    PUSHBUTTON      "Reset to defaults",IDC_PATHS_DEFAULT,14,199,92,14
-    PUSHBUTTON      "Rescan ROMs",IDC_ROM_RESCAN,14,218,92,14
-    PUSHBUTTON      "Clear registry",IDC_RESETREGISTRY,112,218,77,14
-    COMBOBOX        IDC_PATHS_DEFAULTTYPE,112,199,163,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP
-    PUSHBUTTON      "Clear disk history",IDC_RESETDISKHISTORY,198,218,77,14
-END
-
-IDD_QUICKSTART DIALOGEX 0, 0, 300, 242
-STYLE DS_LOCALEDIT | DS_SETFONT | DS_3DLOOK | DS_CONTROL | WS_CHILD
-FONT 8, "MS Sans Serif", 0, 0, 0x1
-BEGIN
-    GROUPBOX        "Emulated Hardware",IDC_QUICKSTART_CONFIG,3,0,294,54
-    RTEXT           "Model:",IDC_STATIC,5,14,50,10,SS_CENTERIMAGE
-    COMBOBOX        IDC_QUICKSTART_MODEL,59,12,233,50,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
-    RTEXT           "Configuration:",IDC_STATIC,5,33,50,10,SS_CENTERIMAGE
-    COMBOBOX        IDC_QUICKSTART_CONFIGURATION,59,31,233,50,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
-    GROUPBOX        "Compatibility vs Required CPU Power ",IDC_QUICKSTART_COMPA,3,56,294,33
-    RTEXT           "Best compatibility",IDC_STATIC,13,70,67,10,SS_CENTERIMAGE
-    CONTROL         "",IDC_QUICKSTART_COMPATIBILITY,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,88,65,115,21
-    RTEXT           "Low compatibility",IDC_STATIC,215,70,63,10,SS_CENTERIMAGE
-    GROUPBOX        "Host Configuration",IDC_QUICKSTART_HOST,3,91,294,33
-    RTEXT           "Configuration:",IDC_STATIC,5,105,55,10,SS_CENTERIMAGE
-    COMBOBOX        IDC_QUICKSTART_HOSTCONFIG,65,103,225,50,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
-    GROUPBOX        "Emulated Floppy Drives",IDC_QUICKSTART_DF,3,126,294,84
-    CONTROL         "Floppy drive DF0:",IDC_DF0QENABLE,"Button",BS_AUTOCHECKBOX | WS_DISABLED | WS_TABSTOP,10,136,72,15
-    PUSHBUTTON      "Select disk image",IDC_DF0QQ,85,136,98,15
-    RTEXT           "Write-protected",IDC_STATIC,185,139,56,10,SS_CENTERIMAGE
-    CONTROL         "",IDC_DF0WPQ,"Button",BS_AUTOCHECKBOX | BS_MULTILINE | WS_TABSTOP,246,137,10,15
-    PUSHBUTTON      "Eject",IDC_EJECT0Q,261,136,30,15
-    COMBOBOX        IDC_DF0TEXTQ,9,154,282,75,CBS_DROPDOWN | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP
-    CONTROL         "Floppy drive DF1:",IDC_DF1QENABLE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,10,172,71,15
-    PUSHBUTTON      "Select disk image",IDC_DF1QQ,85,172,98,15
-    RTEXT           "Write-protected",IDC_STATIC,185,175,55,10,SS_CENTERIMAGE
-    CONTROL         "",IDC_DF1WPQ,"Button",BS_AUTOCHECKBOX | BS_MULTILINE | WS_TABSTOP,246,173,10,15
-    PUSHBUTTON      "Eject",IDC_EJECT1Q,261,172,30,15
-    COMBOBOX        IDC_DF1TEXTQ,9,190,282,75,CBS_DROPDOWN | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP
-    PUSHBUTTON      "Set configuration",IDC_QUICKSTART_SETCONFIG,9,219,72,15,NOT WS_VISIBLE
-    GROUPBOX        "Mode",IDC_STATIC,190,211,107,27,BS_LEFT
-    CONTROL         "Start in Quickstart mode",IDC_QUICKSTARTMODE,"Button",BS_AUTOCHECKBOX | BS_LEFT | WS_TABSTOP,197,222,94,10
-END
-
-IDD_FRONTEND DIALOGEX 0, 0, 420, 242
-STYLE DS_LOCALEDIT | DS_SETFONT | DS_3DLOOK | DS_CONTROL | WS_CHILD
-FONT 8, "MS Sans Serif", 0, 0, 0x1
-BEGIN
-    CONTROL         "",IDC_FE_LIST,"SysListView32",LVS_REPORT | LVS_SINGLESEL | LVS_SHOWSELALWAYS | LVS_ALIGNLEFT | LVS_NOSORTHEADER | WS_BORDER | WS_TABSTOP,6,9,235,124
-    GROUPBOX        "",IDC_FE_INFO,249,140,160,95
-    GROUPBOX        "",IDC_FE_SCREENSHOT,249,7,160,128
-END
-
-IDD_PROGRESSBAR DIALOGEX 0, 0, 229, 58
-STYLE DS_LOCALEDIT | DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
-CAPTION "Processing..."
-FONT 8, "MS Sans Serif", 0, 0, 0x0
-BEGIN
-    PUSHBUTTON      "Cancel",IDCANCEL,88,40,50,14
-    CONTROL         "",IDC_PROGRESSBAR,"msctls_progress32",PBS_SMOOTH | WS_BORDER,7,19,215,14
-    CTEXT           "x",IDC_PROGRESSBAR_TEXT,23,5,187,10,SS_CENTERIMAGE | WS_TABSTOP
-END
-
-IDD_STRINGBOX DIALOGEX 0, 0, 229, 58
-STYLE DS_LOCALEDIT | DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
-CAPTION "Enter text..."
-FONT 8, "MS Sans Serif", 0, 0, 0x0
-BEGIN
-    DEFPUSHBUTTON   "OK",IDOK,48,39,50,14
-    PUSHBUTTON      "Cancel",IDCANCEL,151,39,50,14
-    EDITTEXT        IDC_STRINGBOXEDIT,7,17,214,14,ES_AUTOHSCROLL | ES_WANTRETURN
-    CTEXT           "Custom input event",IDC_STRINGBOX_TEXT,23,5,187,10,SS_CENTERIMAGE | WS_TABSTOP
-END
-
-IDD_DEBUGGER DIALOGEX 0, 0, 454, 368
-STYLE DS_LOCALEDIT | DS_SETFONT | DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_CAPTION | WS_THICKFRAME
-EXSTYLE WS_EX_CONTROLPARENT
-CAPTION "WinUAE Debugger"
-FONT 8, "Courier New", 0, 0, 0x0
-BEGIN
-    EDITTEXT        IDC_DBG_OUTPUT1,1,79,370,262,ES_MULTILINE | ES_AUTOVSCROLL | ES_READONLY | ES_WANTRETURN | WS_VSCROLL | NOT WS_TABSTOP
-    EDITTEXT        IDC_DBG_OUTPUT2,1,79,370,262,ES_MULTILINE | ES_AUTOVSCROLL | ES_READONLY | ES_WANTRETURN | WS_VSCROLL | NOT WS_TABSTOP
-    LISTBOX         IDC_DBG_MEM,1,92,370,249,LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT
-    LISTBOX         IDC_DBG_DASM,1,92,370,249,LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT
-    EDITTEXT        IDC_DBG_MEMINPUT,1,79,36,12,ES_AUTOHSCROLL | ES_WANTRETURN
-    EDITTEXT        IDC_DBG_INPUT,1,342,354,12,ES_AUTOHSCROLL | ES_WANTRETURN
-    PUSHBUTTON      "?",IDC_DBG_HELP,356,342,15,12,NOT WS_TABSTOP
-    PUSHBUTTON      "Set to PC",IDC_DBG_MEMTOPC,38,79,45,12,NOT WS_TABSTOP
-    LISTBOX         IDC_DBG_DREG,1,1,52,66,LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT
-    LISTBOX         IDC_DBG_AREG,54,1,52,66,LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT
-    LISTBOX         IDC_DBG_AMEM,106,1,231,66,LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT
-    LISTBOX         IDC_DBG_CCR,338,1,57,42,LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT
-    LISTBOX         IDC_DBG_SP_VBR,338,44,115,34,LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT
-    LISTBOX         IDC_DBG_MMISC,396,1,57,42,LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT
-    LISTBOX         IDC_DBG_PC,1,68,52,10,LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT
-    LISTBOX         IDC_DBG_PREFETCH,54,68,283,10,LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT
-    LISTBOX         IDC_DBG_FPREG,372,218,81,66,LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT
-    LISTBOX         IDC_DBG_FPSR,372,285,81,34,LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT
-    LISTBOX         IDC_DBG_MISCCPU,372,320,81,34,LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT
-    CONTROL         "",IDC_DBG_STATUS,"msctls_statusbar32",0x103,0,355,453,12
-    LISTBOX         IDC_DBG_BRKPTS,1,79,370,262,LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | LBS_DISABLENOSCROLL | WS_VSCROLL
-    LISTBOX         IDC_DBG_MCUSTOM,372,79,81,138,LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT
-    LISTBOX         IDC_DBG_MISC,1,79,370,262,LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | LBS_DISABLENOSCROLL | WS_VSCROLL
-    LISTBOX         IDC_DBG_CUSTOM,1,79,370,262,LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | LBS_DISABLENOSCROLL | WS_VSCROLL
-END
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Icon
-//
-
-// Icon with lowest ID value placed first to ensure application icon
-// remains consistent on all systems.
-IDI_APPICON             ICON                    "winuae.ico"
-IDI_FLOPPY              ICON                    "35floppy.ico"
-IDI_ABOUT               ICON                    "amigainfo.ico"
-IDI_HARDDISK            ICON                    "Drive.ico"
-IDI_CPU                 ICON                    "cpu.ico"
-IDI_PORTS               ICON                    "joystick.ico"
-IDI_INPUT               ICON                    "joystick.ico"
-IDI_MISC1               ICON                    "misc.ico"
-IDI_MISC2               ICON                    "misc.ico"
-IDI_MOVE_UP             ICON                    "move_up.ico"
-IDI_MOVE_DOWN           ICON                    "move_dow.ico"
-IDI_AVIOUTPUT           ICON                    "avioutput.ico"
-IDI_DISK                ICON                    "Drive.ico"
-IDI_CONFIGFILE          ICON                    "file.ico"
-IDI_FOLDER              ICON                    "folder.ico"
-IDI_SOUND               ICON                    "sound.ico"
-IDI_DISPLAY             ICON                    "screen.ico"
-IDI_ROOT                ICON                    "root.ico"
-IDI_MEMORY              ICON                    "chip.ico"
-IDI_QUICKSTART          ICON                    "quickstart.ico"
-IDI_PATHS               ICON                    "paths.ico"
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Version
-//
-
-VS_VERSION_INFO VERSIONINFO
- FILEVERSION 1,4,5,0
- PRODUCTVERSION 1,4,5,0
- FILEFLAGSMASK 0x3fL
-#ifdef _DEBUG
- FILEFLAGS 0x1L
-#else
- FILEFLAGS 0x0L
-#endif
- FILEOS 0x40004L
- FILETYPE 0x1L
- FILESUBTYPE 0x0L
-BEGIN
-    BLOCK "StringFileInfo"
-    BEGIN
-        BLOCK "040904b0"
-        BEGIN
-            VALUE "FileDescription", "WinUAE"
-            VALUE "FileVersion", "1.4.5"
-            VALUE "InternalName", "WinUAE"
-            VALUE "LegalCopyright", "© 1996-2007 under the GNU Public License (GPL)"
-            VALUE "OriginalFilename", "WinUAE.exe"
-            VALUE "ProductName", "WinUAE"
-            VALUE "ProductVersion", "1.4.5"
-        END
-    END
-    BLOCK "VarFileInfo"
-    BEGIN
-        VALUE "Translation", 0x409, 1200
-    END
-END
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Cursor
-//
-
-IDC_MYHAND              CURSOR                  "H_arrow.cur"
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Menu
-//
-
-IDM_SYSTRAY MENU 
-BEGIN
-    POPUP "Menu"
-    BEGIN
-        MENUITEM "Configuration",               ID_ST_CONFIGURATION
-        POPUP "Floppy drives"
-        BEGIN
-            MENUITEM "Eject all drives",            ID_ST_EJECTALL
-            MENUITEM "DF0:",                        ID_ST_DF0
-            MENUITEM "DF1:",                        ID_ST_DF1
-            MENUITEM "DF2:",                        ID_ST_DF2
-            MENUITEM "DF3:",                        ID_ST_DF3
-        END
-        MENUITEM "Reset",                       ID_ST_RESET
-        MENUITEM "Help",                        ID_ST_HELP
-        MENUITEM "Quit WinUAE",                 ID_ST_QUIT
-    END
-END
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// WAVE
-//
-
-IDR_DRIVE_STARTUP_A500_1 WAVE                    "drive_startup.wav"
-IDR_DRIVE_CLICK_A500_1  WAVE                    "drive_click.wav"
-IDR_DRIVE_SPIN_A500_1   WAVE                    "drive_spin.wav"
-IDR_DRIVE_SNATCH_A500_1 WAVE                    "drive_snatch.wav"
-IDR_DRIVE_SPINND_A500_1 WAVE                    "drive_spinnd.wav"
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Bitmap
-//
-
-IDB_XARCADE             BITMAP                  "xarcade-winuae.bmp"
-IDB_LCD160X43           BITMAP                  "lcd.bmp"
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// DESIGNINFO
-//
-
-#ifdef APSTUDIO_INVOKED
-GUIDELINES DESIGNINFO 
-BEGIN
-    IDD_HARDFILE, DIALOG
-    BEGIN
-        BOTTOMMARGIN, 224
-    END
-END
-#endif    // APSTUDIO_INVOKED
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// String Table
-//
-
-STRINGTABLE 
-BEGIN
-    IDS_KICKSTART           "ROM"
-    IDS_DISK                "Disk swapper"
-    IDS_DISPLAY             "Display"
-    IDS_HARDDISK            "Hard drives"
-    IDS_FLOPPY              "Floppy drives"
-    IDS_ABOUT               "About"
-    IDS_LOADSAVE            "Configurations"
-    IDS_AVIOUTPUT           "Output"
-    IDS_PORTS               "Game & I/O ports"
-    IDS_MISC1               "Misc"
-    IDS_MEMORY              "RAM"
-    IDS_CPU                 "CPU and FPU"
-    IDS_CHIPSET             "Chipset"
-    IDS_INPUT               "Input"
-    IDS_FILTER              "Filter"
-END
-
-STRINGTABLE 
-BEGIN
-    IDS_MISC2               "Priority"
-    IDS_PATHS               "Paths"
-    IDS_QUICKSTART          "Quickstart"
-    IDS_FRONTEND            "Frontend"
-    IDS_CHIPSET2            "Adv. Chipset"
-END
-
-STRINGTABLE 
-BEGIN
-    IDS_EXTTEXT             "Floppy disk image files"
-    IDS_EXTACTUAL           "ADF"
-    IDS_SOUND               "Sound"
-    IDS_CDROM               "CD-ROM"
-    IDS_FRAMERATE           "Every %1Frame"
-    IDS_SECOND              "second "
-    IDS_THIRD               "third "
-    IDS_FOURTH              "fourth "
-    IDS_FIFTH               "fifth "
-    IDS_SIXTH               "sixth "
-    IDS_SEVENTH             "seventh "
-    IDS_EIGHTH              "eighth "
-END
-
-STRINGTABLE 
-BEGIN
-    IDS_NINTH               "ninth "
-    IDS_TENTH               "tenth "
-    IDS_SELECTADF           "Select a floppy disk image file..."
-    IDS_ADF                 "Floppy disk image files"
-    IDS_CHOOSEBLANK         "Choose a blank floppy disk image file..."
-    IDS_SELECTHDF           "Select a hard disk image file..."
-    IDS_HDF                 "Hard disk image files"
-    IDS_SELECTUAE           "Select a WinUAE configuration file..."
-    IDS_UAE                 "WinUAE configuration files"
-    IDS_SELECTROM           "Select a system ROM file..."
-    IDS_ROM                 "System ROM files"
-    IDS_SELECTKEY           "Select a system ROM key file..."
-    IDS_KEY                 "System ROM key files"
-    IDS_SELECTINFO          "Select information for your configuration..."
-    IDS_NONE                "none"
-    IDS_VOLUME              "Volume"
-END
-
-STRINGTABLE 
-BEGIN
-    IDS_SELECTFILESYSROOT   "Please select the root directory of the file system..."
-    IDS_DEFAULTMIDIOUT      "Default MIDI-Out Device"
-    IDS_CONTRIBUTORS1       "Bernd Schmidt - The Grand-Master\nSam Jordan - Custom-chip, floppy-DMA, etc.\nMathias Ortmann - Original WinUAE Main Guy, BSD Socket support\nBrian King - Picasso96 Support, Integrated GUI for WinUAE, previous WinUAE Main Guy\nToni Wilen - Core updates, WinUAE Main Guy\nGustavo Goedert/Peter Remmers/Michael Sontheimer/Tomi Hakala/Tim Gunn/Nemo Pohle - DOS Port Stuff\nSamuel Devulder/Olaf Barthel/Sam Jordan - Amiga Ports\nKrister Bergman - XFree86 and OS/2 Port\nA. Blanchard/Ernesto Corvi - MacOS Port\nChristian Bauer - BeOS Port\nIan Stephenson - NextStep Port\nPeter Teichmann - Acorn/RiscOS Port\nStefan Reinauer - ZorroII/III AutoConfig, Serial Support\nChristian Schmitt/Chris Hames - Serial Support\nHerman ten Brugge - 68020/68881 Emulation Code\nTauno Taipaleenmaki - Various UAE-Control/UAE-Library Support\nBrett Eden/Tim Gunn/Paolo Besser/Nemo Pohle - Various Docs and Web-Sites\nGeorg Veichtlbauer - Help File coordinator, German GUI\nFulvio Leonardi - Italian translator for WinUAE\n"
-    IDS_CONTRIBUTORS2       "Bill Panagouleas - Hardware support\nSpecial thanks to Alexander Kneer and Tobias Abt (The Picasso96 Team)\nSteven Weiser  - Postscript printing emulation idea and testing.\nPéter Tóth /Balázs Rátkai/Iván Herczeg/András Arató - Hungarian translation.\nKarsten Bock, Gavin Fance, Dirk Trowe, Christoph Meier and Christian Schindler - Freezer cartridge hardware support."
-    IDS_INVALIDPRTPORT      "The printer you have in this configuration is not valid on this machine.\n"
-    IDS_RESTOREUSS          "Restore a WinUAE snapshot file"
-    IDS_USS                 "WinUAE snapshot files"
-    IDS_WRONGOSVERSION      "WinUAE is no longer supported on Windows NT.  Please upgrade to either Windows 2000 or Windows XP or a later version."
-    IDS_SELECTFLASH         "Select a flash or battery-backed RAM file..."
-    IDS_FLASH               "WinUAE flash or battery-backed RAM file"
-    IDS_INPUTHOSTWIDGET     "Input source"
-    IDS_INPUTAMIGAEVENT     "Input target"
-    IDS_INPUTAUTOFIRE       "Autofire"
-    IDS_SAVEUSS             "Save a WinUAE snapshot file"
-    IDS_MIDIOVERFLOW        "Sysexbuffer overflow. Should not happen. Please report this to\nberndroesch1@compuserve.de"
-END
-
-STRINGTABLE 
-BEGIN
-    IDS_PATH                "Path"
-    IDS_RW                  "R/W"
-    IDS_SECTORS             "Sectors"
-    IDS_SURFACES            "Bill Panagouleas - Hardware support\nSpecial thanks to Alexander Kneer and Tobias Abt (The Picasso96 Team)\nSteven Weiser  - Postscript printing emulation idea and testing.\nHungarian translation - Péter Tóth , Balázs Rátkai , Iván Herczeg , András Arató"
-    IDS_RESERVED            "Reserved"
-    IDS_BLOCKSIZE           "Block size"
-    IDS_NAME                "Name"
-    IDS_DESCRIPTION         "Description"
-    IDS_COULDNOTLOADCONFIG  "Could not load the selected configuration!\n"
-    IDS_NOHELP              "Online help is disabled because the HTML Help functionality is not installed on this system. HTML Help is available from http://www.microsoft.com/downloads/.\n"
-    IDS_MUSTSELECTCONFIG    "You must select a configuration or enter a name before selecting Load...\n"
-    IDS_INVALIDCOMPORT      "The serial port you have in this configuration is not valid on this machine.\n"
-END
-
-STRINGTABLE 
-BEGIN
-    IDS_HFDSIZE             "Size"
-    IDS_DEVICE              "Device"
-    IDS_BOOTPRI             "BootPri"
-    IDS_FLOPPY_COMPATIBLE   " (compatible)"
-    IDS_FLOPPY_TURBO        "Turbo"
-    IDS_YES                 "yes"
-    IDS_NO                  "no"
-    IDS_PRI_ABOVENORMAL     "Above Normal"
-    IDS_PRI_NORMAL          "Normal"
-    IDS_PRI_BELOWNORMAL     "Below Normal"
-    IDS_PRI_LOW             "Low"
-    IDS_OLDRTGLIBRARY       "The installed LIBS:Picasso96/rtg.library (%d.%d) should be updated.\nA newer version is included in the ""Amiga Programs"" directory\n of the WinUAE distribution archive.\n\nNewer library version fixes graphics problems and increases performance."
-    IDS_DEFAULT_AF2005      "Amiga Forever 2005+"
-    IDS_DEFAULT_AF          "Amiga Forever"
-    IDS_DEFAULT_WINUAE      "WinUAE default (old)"
-END
-
-STRINGTABLE 
-BEGIN
-    IDS_SOUND_STEREO2       "Cloned Stereo (4 Channels)"
-    IDS_INPUT_CUSTOMEVENT   "<Custom event>"
-    IDS_DEFAULT_NEWWINUAE   "WinUAE default (new)"
-END
-
-STRINGTABLE 
-BEGIN
-    IDS_UNSUPPORTEDPIXELFORMAT 
-                            "Error: unsupported pixel format. Please use a different screen mode.\n"
-    IDS_MUSTENTERNAME       "You must select a configuration or enter a name before selecting Save...\n"
-    IDS_MUSTSELECTCONFIGFORDELETE 
-                            "You must select a configuration or enter a name before selecting Delete...\n"
-    IDS_DELETECONFIGCONFIRMATION 
-                            "Are you sure you want to Delete this configuration?\n"
-    IDS_DELETECONFIGTITLE   "Confirm Delete"
-    IDS_MUSTSELECTPATH      "You must select a path!"
-    IDS_SETTINGSERROR       "Settings error"
-    IDS_MUSTSELECTNAME      "You must select a name for the volume!"
-    IDS_MUSTSELECTFILE      "You must select a file!"
-    IDS_FAILEDHARDFILECREATION "Failed to create hard disk image file..."
-    IDS_CREATIONERROR       "Creation error"
-    IDS_ERRORTITLE          "WinUAE message"
-END
-
-STRINGTABLE 
-BEGIN
-    IDS_INP                 "WinUAE Input Recording"
-    IDS_RESTOREINP          "Playback a WinUAE input recording"
-    IDS_SAVEINP             "Record a WinUAE input recording"
-    IDS_SCREEN_WINDOWED     "Windowed"
-    IDS_SCREEN_FULLSCREEN   "Fullscreen"
-    IDS_SCREEN_FULLWINDOW   "Full-window"
-    IDS_SCREEN_VSYNC        "VSync"
-    IDS_SOUND_MONO          "Mono"
-    IDS_SOUND_MIXED         "Mixed"
-    IDS_SOUND_STEREO        "Stereo"
-    IDS_SOUND_INTERPOL_DISABLED "Disabled"
-    IDS_SOUND_FILTER_OFF    "Always off"
-    IDS_SOUND_FILTER_EMULATED "Emulated (A500)"
-END
-
-STRINGTABLE 
-BEGIN
-    IDS_SOUND_FILTER_EMULATED_E "Emulated (A1200)"
-    IDS_INPUT_COMPATIBILITY "Compatibility mode"
-    IDS_INPUT_CUSTOM        "Configuration #%d"
-    IDS_INPUT_COPY_DEFAULT  "Default"
-    IDS_INPUT_COPY_CUSTOM   "Config #%d"
-    IDS_3D_NO_FILTER        "Point (%d-bit)"
-    IDS_3D_BILINEAR         "Bilinear (%d-bit)"
-    IDS_VSYNC_DEFAULT       "Default"
-    IDS_DRIVESOUND_NONE     "No sound"
-    IDS_DRIVESOUND_DEFAULT_A500 "A500 (WinUAE built-in)"
-    IDS_AVIOUTPUT_NOCODEC   "no codec selected"
-    IDS_DISK_IMAGENAME      "Disk image"
-    IDS_DISK_DRIVENAME      "Drive"
-    IDS_AGA8BIT             "AGA emulation requires a 16-bit or higher display depth.\nSwitching from 8-bit to 16-bit."
-    IDS_UNSUPPORTEDSCREENMODE 
-                            "The selected screen mode can't be displayed in a window, because %s\nSwitching to full-screen display."
-    IDS_UNSUPPORTEDSCREENMODE_1 
-                            "the desktop is running in an unknown color mode."
-END
-
-STRINGTABLE 
-BEGIN
-    IDS_UNSUPPORTEDSCREENMODE_2 
-                            "the desktop is running in 8-bit color depth, which WinUAE can't use in windowed mode."
-    IDS_UNSUPPORTEDSCREENMODE_3 
-                            "the desktop is too small for the specified window size."
-    IDS_UNSUPPORTEDSCREENMODE_4 
-                            "you selected an RTG (Picasso96) display with a color depth different from that of the desktop and an overlay was unavailable."
-    IDS_FLOPPYTYPE35DD      "3.5"" DD"
-    IDS_FLOPPYTYPE35HD      "3.5"" HD"
-    IDS_FLOPPYTYPE525SD     "5.25"" SD"
-    IDS_FLOPPYTYPEDISABLED  "Disabled"
-    IDS_STMENUNOFLOPPY      "No floppy disk inserted"
-    IDS_TREEVIEW_HARDWARE   "Hardware"
-    IDS_TREEVIEW_HOST       "Host"
-    IDS_TREEVIEW_MISC       "Miscellaneous"
-    IDS_TREEVIEW_SETTINGS   "Settings"
-    IDS_WINUAETITLE_MMB     "[Mouse active - press ALT+TAB or middle mouse button to cancel]"
-    IDS_WINUAETITLE_NORMAL  "[Mouse active - press ALT+TAB to cancel]"
-    IDS_STARTEMULATION      "Start"
-    IDS_TREEVIEW_ABOUT      "About"
-END
-
-STRINGTABLE 
-BEGIN
-    IDS_NOHARDDRIVES        "No hard disks detected that were either empty or RDB-partitioned."
-    IDS_DEFAULT_HOST        "Default Configuration"
-    IDS_SOUND_4CHANNEL      "4 Channels"
-    IDS_HF_FS_CUSTOM        "Custom"
-    IDS_SELECTFS            "Select file system handler (FastFileSystem, SmartFilesystem, etc.)"
-    IDS_KEYJOY              "Keyboard Layout A (Numeric keypad, 0 and 5 = Fire)\nKeyboard Layout B (Cursor keys, Right CTRL and ALT = Fire)\nKeyboard Layout C (W=Up S=Down A=Left D=Right, Left ALT = Fire)\nX-Arcade (Left)\nX-Arcade (Right)"
-    IDS_STATEFILE_UNCOMPRESSED "Uncompressed"
-    IDS_STATEFILE_RAMDUMP   "RAM dump"
-    IDS_STATEFILE_WAVE      "Wave audio dump"
-    IDS_SOUND_SWAP_PAULA    "Paula only"
-    IDS_SOUND_SWAP_AHI      "AHI only"
-    IDS_SOUND_SWAP_BOTH     "Both"
-    IDS_SOUND_FILTER_ON_AGA "Always on (A500)"
-    IDS_SOUND_FILTER_ON_A500 "Always on (A1200)"
-    IDS_DRIVESOUND_PC_FLOPPY "PC floppy drive %c"
-    IDS_FLOPPYTYPE35DDESCOM "3.5"" ESCOM"
-END
-
-STRINGTABLE 
-BEGIN
-    IDS_NUMSG_NEEDEXT2      "The software uses a non-standard floppy disk format. You may need to use a custom floppy disk image file instead of a standard one. This message will not appear again."
-    IDS_NUMSG_NOROMKEY      "Could not find system ROM key file."
-    IDS_NUMSG_KSROMCRCERROR "System ROM checksum incorrect. The system ROM image file may be corrupt."
-    IDS_NUMSG_KSROMREADERROR "Error while reading system ROM."
-END
-
-STRINGTABLE 
-BEGIN
-    IDS_NUMSG_NOEXTROM      "No extended ROM found."
-    IDS_NUMSG_MODRIP_NOTFOUND "No music modules or packed data found."
-    IDS_NUMSG_MODRIP_FINISHED "Scan finished."
-    IDS_NUMSG_MODRIP_SAVE   "Module/packed data found\n%s\nStart address %08.8X, Size %d bytes\nWould you like to save it?"
-    IDS_NUMSG_KS68020       "The selected system ROM requires a 68020 with 32-bit addressing or 68030 or higher CPU."
-    IDS_NUMSG_ROMNEED       "One of the following system ROMs is required:\n\n%s\n\nCheck the System ROM path in the Paths panel and click Rescan ROMs."
-    IDS_NUMSG_STATEHD       "WARNING: Current configuration is not fully compatible with state saves.\nThis message will not appear again."
-    IDS_NUMSG_NOCAPS        "Selected disk image needs the SPS plugin\nwhich is available from\nhttp//www.softpres.org/"
-    IDS_NUMSG_OLDCAPS       "You need an updated SPS plugin\nwhich is available from\nhttp//www.softpres.org/"
-    IDS_IMGCHK_BOOTBLOCKCRCERROR 
-                            "The selected floppy disk image is not bootable (boot block checksum error)"
-    IDS_IMGCHK_BOOTBLOCKNO  "The selected floppy disk image is not bootable (no boot block)"
-    IDS_IMGCHK_DAMAGED      "The selected floppy disk image is damaged or unformatted"
-    IDS_IMGCHK_KS2          "The selected floppy disk image requires a 2.04 or later system ROM.\nThe configuration has been updated."
-    IDS_IMGCHK_KS3          "The selected floppy disk image requires a 3.0 or later system ROM.\nThe configuration has been updated."
-    IDS_ROMSCANEND          "Scan of ROMs finished"
-END
-
-STRINGTABLE 
-BEGIN
-    IDS_ROM_AVAILABLE       "available"
-    IDS_ROM_UNAVAILABLE     "unavailable"
-    IDS_HARDDRIVESAFETYWARNING1 
-                            "Warning: The drive safety check is active. Selected drive is not empty and non-RDB partitioned."
-    IDS_NUMSG_KS68EC020     "The selected system ROM requires a 68020 with 24-bit addressing or higher CPU."
-    IDS_ROMSCANNOROMS       "No supported system ROMs detected."
-    IDS_NUMSG_KICKREP       "You need to have a floppy disk (image file) in DF0: to use the system ROM replacement."
-    IDS_NUMSG_KICKREPNO     "The floppy disk (image file) in DF0: is not compatible with the system ROM replacement functionality."
-    IDS_NUMSG_NOROM         "Could not load system ROM, trying system ROM replacement."
-    IDS_HDCLONE_OK          "Hard drive image file created succesfully."
-    IDS_HDCLONE_FAIL        "Hard drive image file creation failed.\nError code %d:%d."
-    IDS_NUMSG_KS68030       "The selected system ROM requires a 68030 CPU."
-    IDS_NUMSG_EXPROMNEED    "One of the following expansion boot ROMs is required:\n\n%s\n\nCheck the System ROM path in the Paths panel and click Rescan ROMs."
-    IDS_HARDDRIVESAFETYWARNING2 
-                            "Warning: The drive safety check has been disabled, and non-empty and non-RDB partitioned hard disk(s) were detected."
-END
-
-STRINGTABLE 
-BEGIN
-    IDS_QS_MODELS           "A500\nA500+\nA600\nA1000\nA1200\nA3000\nA4000\nCD32\nCDTV\nArcadia Multi Select system\nExpanded WinUAE example configuration"
-    IDS_QS_MODEL_A500       "1.3 ROM, OCS, 512 KB Chip + 512 KB Slow RAM (most common)\nThis configuration is capable of running most games and demos produced for first-generation hardware. Only few exceptions need a different configuration (e.g. the oldest games tend to be incompatible with this configuration).\n1.3 ROM, ECS Agnus, 512 KB Chip RAM + 512 KB Slow RAM\nLater hardware revision of the A500. Nearly 100% compatible with the previous configuration.\n1.3 ROM, ECS Agnus, 1 MB Chip RAM\nFew newer games and demos require this configuration.\n1.3 ROM, OCS Agnus, 512 KB Chip RAM\nVery old (e.g. pre-1988) games and demos may require this configuration.\n1.2 ROM, OCS Agnus, 512 KB Chip RAM\nAs available for the A1000, and installed on the first A500 and A2000 series. Some very old programs only work correctly with this configuration. Note: This system ROM version can only boot from floppy disk (no hard disk boot support).\n1.2 ROM, OCS Agnus, 512 KB Chip RAM + 512 KB Slow RAM\nThis configuration adds expansion memory to the first A500 produced. Try this if your game does not work with newer configurations, but works with the previous one. It could add some features to the game, including faster loading times. Note: This system ROM version can only boot from floppy disk (no hard disk boot support)."
-    IDS_QS_MODEL_A500P      "Basic non-expanded configuration\nThe A500+ adds an ECS Agnus chip, 1 MB of Chip RAM and a 2.0 ROM to the A500. Many A500 games and demos don't work properly on an A500+.\n2 MB Chip RAM expanded configuration\n\n4 MB Fast RAM expanded configuration\n"
-    IDS_QS_MODEL_A600       "Basic non-expanded configuration\nThe A600 is smaller than the A500+ and has an updated 2.0 ROM.\n2 MB Chip RAM expanded configuration\n\n4 MB Fast RAM expanded configuration\n"
-    IDS_QS_MODEL_A1000      "512 KB Chip RAM\nThe A1000 was the first model produced, with a configuration equivalent to that of an A500 with OCS chipset. You normally don't need to use this configuration, unless you are nostalgic and would like to hear the short A1000 boot tune\n""ICS"" Denise without EHB support\nVery first A1000 models had Denise without EHB capability.\n256 KB Chip RAM\n Unexpanded A1000. All later A1000 models were sold with a 256 KB RAM expansion built-in."
-    IDS_QS_MODEL_A1200      "Basic non-expanded configuration\nUse this configuration to run most AGA demos and games\n4 MB Fast RAM expanded configuration\nSome newer AGA games and demos need an expanded A1200 to run."
-    IDS_QS_MODEL_CD32       "CD32\nThe CD32 was one the first 32-bit consoles on the market. It is basically an A1200 with a built-in CD-ROM drive. Insert your CD32 or CDTV CD-ROM into a free CD-ROM drive before starting the emulation."
-    IDS_QS_MODEL_CDTV       "CDTV\nThe CDTV was the first model with a built-in CD-ROM drive. Looking like a black CD player, it featured a configuration equivalent to that of an A500 with 1 MB RAM and an ECS chipset.\nFloppy drive and 64KB SRAM card expanded CDTV\n"
-END
-
-STRINGTABLE 
-BEGIN
-    IDS_QS_MODEL_UAE        "High-end expanded configuration"
-    IDS_QS_MODEL_ARCADIA    "Arcadia\nArcadia Multi Select system is arcade platform developed by Arcadia and  Mastertronic. It is based on an A500 mainboard with ROM cage attached to expansion port. Arcadia ROM files go to ""Cartridge ROM File"" in ROM-panel."
-    IDS_QS_MODEL_A3000      "1.4 ROM, 2MB Chip + 8MB Fast\n\n3.1 ROM, 2MB Chip + 8MB Fast\n"
-    IDS_QS_MODEL_A4000      "68030, 3.1 ROM, 2MB Chip + 8MB Fast\n\n68040, 3.1 ROM, 2MB Chip + 8MB Fast\n"
-    IDS_QS_MODEL_A4000T     "A4000T (test)\nA4000T"
-END
-
-#endif    // English (U.S.) resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-/////////////////////////////////////////////////////////////////////////////
-// Finnish resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_FIN)
-#ifdef _WIN32
-LANGUAGE LANG_FINNISH, SUBLANG_DEFAULT
-#pragma code_page(1252)
-#endif //_WIN32
-
-#ifdef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// TEXTINCLUDE
-//
-
-1 TEXTINCLUDE 
-BEGIN
-    "resource.\0"
-END
-
-3 TEXTINCLUDE 
-BEGIN
-    "\r\0"
-END
-
-2 TEXTINCLUDE 
-BEGIN
-    "#include ""afxres.h""\r\0"
-END
-
-#endif    // APSTUDIO_INVOKED
-
-#endif    // Finnish resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-
-#ifndef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 3 resource.
-//
-
-/////////////////////////////////////////////////////////////////////////////
-#endif    // not APSTUDIO_INVOKED
-
+// Microsoft Visual C++ generated resource script.\r
+//\r
+#include "resource."\r
+\r
+#define APSTUDIO_READONLY_SYMBOLS\r
+/////////////////////////////////////////////////////////////////////////////\r
+//\r
+// Generated from the TEXTINCLUDE 2 resource.\r
+//\r
+#include "afxres.h"\r\r
+/////////////////////////////////////////////////////////////////////////////\r
+#undef APSTUDIO_READONLY_SYMBOLS\r
+\r
+/////////////////////////////////////////////////////////////////////////////\r
+// English (U.S.) resources\r
+\r
+#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)\r
+#ifdef _WIN32\r
+LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US\r
+#pragma code_page(1252)\r
+#endif //_WIN32\r
+\r
+/////////////////////////////////////////////////////////////////////////////\r
+//\r
+// Accelerator\r
+//\r
+\r
+IDR_DBGACCEL ACCELERATORS \r
+BEGIN\r
+    VK_F1,          ID_DBG_PAGE1,           VIRTKEY, NOINVERT\r
+    VK_F2,          ID_DBG_PAGE2,           VIRTKEY, NOINVERT\r
+    VK_F3,          ID_DBG_PAGE3,           VIRTKEY, NOINVERT\r
+    VK_F4,          ID_DBG_PAGE4,           VIRTKEY, NOINVERT\r
+    VK_F5,          ID_DBG_PAGE5,           VIRTKEY, NOINVERT\r
+    VK_F6,          ID_DBG_PAGE6,           VIRTKEY, NOINVERT\r
+    VK_F7,          ID_DBG_PAGE7,           VIRTKEY, NOINVERT\r
+    VK_F8,          ID_DBG_PAGE8,           VIRTKEY, NOINVERT\r
+    VK_F9,          ID_DBG_PAGE9,           VIRTKEY, NOINVERT\r
+    VK_DOWN,        IDC_DBG_MEMDOWN,        VIRTKEY, ALT, NOINVERT\r
+    VK_RIGHT,       IDC_DBG_MEMDOWNFAST,    VIRTKEY, ALT, NOINVERT\r
+    VK_UP,          IDC_DBG_MEMUP,          VIRTKEY, ALT, NOINVERT\r
+    VK_LEFT,        IDC_DBG_MEMUPFAST,      VIRTKEY, ALT, NOINVERT\r
+    "H",            IDC_DBG_HELP,           VIRTKEY, ALT, NOINVERT\r
+    "P",            IDC_DBG_MEMTOPC,        VIRTKEY, ALT, NOINVERT\r
+END\r
+\r
+\r
+/////////////////////////////////////////////////////////////////////////////\r
+//\r
+// Dialog\r
+//\r
+\r
+IDD_KICKSTART DIALOGEX 0, 0, 300, 176\r
+STYLE DS_LOCALEDIT | DS_SETFONT | DS_3DLOOK | DS_CONTROL | WS_CHILD\r
+EXSTYLE WS_EX_CONTEXTHELP\r
+FONT 8, "MS Sans Serif", 0, 0, 0x1\r
+BEGIN\r
+    GROUPBOX        "System ROM Settings",-1,5,0,290,74\r
+    RTEXT           "Main ROM file:",IDC_ROMTEXT,10,15,75,10\r
+    COMBOBOX        IDC_ROMFILE,89,12,186,75,CBS_DROPDOWN | CBS_AUTOHSCROLL | CBS_SORT | WS_VSCROLL | WS_TABSTOP\r
+    PUSHBUTTON      "...",IDC_KICKCHOOSER,280,10,10,15\r
+    RTEXT           "Extended ROM file:",IDC_ROMFILE2TEXT,10,35,75,10\r
+    COMBOBOX        IDC_ROMFILE2,89,31,186,75,CBS_DROPDOWN | CBS_AUTOHSCROLL | CBS_SORT | WS_VSCROLL | WS_TABSTOP\r
+    PUSHBUTTON      "...",IDC_ROMCHOOSER2,280,30,10,15\r
+    CONTROL         "MapROM emulation [] Creates a BlizKick-compatible memory area.",IDC_MAPROM,\r
+                    "Button",BS_AUTOCHECKBOX | WS_TABSTOP,95,54,87,10\r
+    CONTROL         "ShapeShifter support [] Patches the system ROM for ShapeShifter compatibility.",IDC_KICKSHIFTER,\r
+                    "Button",BS_AUTOCHECKBOX | WS_TABSTOP,187,54,87,10\r
+    GROUPBOX        "Miscellaneous",-1,5,76,290,57\r
+    RTEXT           "Cartridge ROM file:",IDC_FLASHTEXT2,8,93,75,10\r
+    COMBOBOX        IDC_CARTFILE,89,90,186,75,CBS_DROPDOWN | CBS_AUTOHSCROLL | CBS_SORT | WS_VSCROLL | WS_TABSTOP\r
+    PUSHBUTTON      "...",IDC_CARTCHOOSER,280,90,10,15\r
+    RTEXT           "Flash RAM file:",IDC_FLASHTEXT,8,112,75,10\r
+    EDITTEXT        IDC_FLASHFILE,89,110,185,13,ES_AUTOHSCROLL\r
+    PUSHBUTTON      "...",IDC_FLASHCHOOSER,280,110,10,15\r
+END\r
+\r
+IDD_DISPLAY DIALOGEX 0, 0, 300, 235\r
+STYLE DS_LOCALEDIT | DS_SETFONT | DS_3DLOOK | DS_CONTROL | WS_CHILD\r
+FONT 8, "MS Sans Serif", 0, 0, 0x1\r
+BEGIN\r
+    GROUPBOX        "Screen",IDC_SCREENRESTEXT,12,0,270,67,BS_LEFT\r
+    RTEXT           "Full screen:",IDC_SELECTRESTEXT,15,17,40,15,SS_CENTERIMAGE\r
+    COMBOBOX        IDC_DISPLAYSELECT,59,10,215,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\r
+    COMBOBOX        IDC_RESOLUTION,59,27,68,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\r
+    COMBOBOX        IDC_REFRESHRATE,187,27,87,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\r
+    EDITTEXT        IDC_XSIZE,59,48,48,12,ES_NUMBER\r
+    EDITTEXT        IDC_YSIZE,114,48,47,12,ES_NUMBER\r
+    GROUPBOX        "Settings",IDC_SETTINGSTEXT,12,73,199,125\r
+    CONTROL         "Correct aspect ratio",IDC_ASPECT,"Button",BS_AUTOCHECKBOX | BS_LEFT | WS_TABSTOP,19,126,92,10\r
+    LTEXT           "Refresh:",IDC_REFRESHTEXT,18,162,28,8\r
+    CONTROL         "Slider1",IDC_FRAMERATE,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,47,157,75,20\r
+    EDITTEXT        IDC_RATETEXT,127,161,77,12,ES_CENTER | ES_READONLY\r
+    GROUPBOX        "Centering",IDC_STATIC,221,73,61,49\r
+    CONTROL         "Horizontal",IDC_XCENTER,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,229,87,49,10\r
+    CONTROL         "Vertical",IDC_YCENTER,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,229,103,49,10\r
+    GROUPBOX        "Line Mode",IDC_LINEMODE,222,126,61,73\r
+    CONTROL         "Normal",IDC_LM_NORMAL,"Button",BS_AUTORADIOBUTTON | BS_LEFT | WS_GROUP | WS_TABSTOP,231,142,44,10\r
+    CONTROL         "Double",IDC_LM_DOUBLED,"Button",BS_AUTORADIOBUTTON | BS_LEFT | WS_TABSTOP,231,158,45,10\r
+    CONTROL         "Scanlines",IDC_LM_SCANLINES,"Button",BS_AUTORADIOBUTTON | BS_LEFT | WS_TABSTOP,231,174,46,10\r
+    COMBOBOX        IDC_DA_MODE,20,211,58,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\r
+    CONTROL         "",IDC_DA_SLIDER,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,84,207,101,20\r
+    LTEXT           "FPS adj.:",IDC_REFRESH2TEXT,16,182,32,8\r
+    CONTROL         "",IDC_FRAMERATE2,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,47,177,127,20\r
+    EDITTEXT        IDC_RATE2TEXT,178,181,26,12,ES_CENTER | ES_READONLY\r
+    COMBOBOX        IDC_RESOLUTIONDEPTH,135,27,46,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\r
+    CONTROL         "Filtered low resolution",IDC_LORES_SMOOTHED,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,118,126,89,10\r
+    COMBOBOX        IDC_SCREENMODE_NATIVE,100,85,102,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\r
+    COMBOBOX        IDC_SCREENMODE_RTG,100,103,102,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\r
+    RTEXT           "Native mode:",IDC_STATIC,19,85,59,15,SS_CENTERIMAGE\r
+    RTEXT           "Windowed:",IDC_WINDOWEDTEXT,15,51,40,8\r
+    RTEXT           "RTG mode:",IDC_STATIC,19,101,59,15,SS_CENTERIMAGE\r
+    PUSHBUTTON      "Reset to defaults",IDC_DA_RESET,212,211,73,14\r
+    RTEXT           "Resolution:",IDC_STATIC,27,140,59,15,SS_CENTERIMAGE\r
+    COMBOBOX        IDC_LORES,100,140,102,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\r
+END\r
+\r
+IDD_MEMORY DIALOGEX 0, 0, 300, 175\r
+STYLE DS_LOCALEDIT | DS_SETFONT | DS_3DLOOK | DS_CONTROL | WS_CHILD\r
+EXSTYLE WS_EX_CONTEXTHELP\r
+FONT 8, "MS Sans Serif", 0, 0, 0x1\r
+BEGIN\r
+    GROUPBOX        "Memory Settings",-1,14,7,274,91\r
+    RTEXT           "Chip:",-1,24,31,20,10,SS_CENTERIMAGE\r
+    CONTROL         "Slider1",IDC_CHIPMEM,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,54,22,50,20\r
+    EDITTEXT        IDC_CHIPRAM,105,26,30,12,ES_CENTER | ES_READONLY\r
+    RTEXT           "Slow:",-1,149,31,20,10,SS_CENTERIMAGE\r
+    CONTROL         "Slider1",IDC_SLOWMEM,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,179,22,60,20\r
+    EDITTEXT        IDC_SLOWRAM,243,25,30,12,ES_CENTER | ES_READONLY\r
+    RTEXT           "Fast:",IDC_FASTTEXT,24,52,20,10,SS_CENTERIMAGE\r
+    CONTROL         "Slider1",IDC_FASTMEM,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,54,47,50,20\r
+    EDITTEXT        IDC_FASTRAM,105,53,30,12,ES_CENTER | ES_READONLY\r
+    RTEXT           "Z3 Fast:",IDC_Z3TEXT,139,52,30,10,SS_CENTERIMAGE\r
+    CONTROL         "Slider1",IDC_Z3FASTMEM,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,179,47,60,20\r
+    EDITTEXT        IDC_Z3FASTRAM,243,52,30,12,ES_CENTER | ES_READONLY\r
+    RTEXT           "RTG: [] Graphics card memory. Required for RTG (Picasso96) emulation.",IDC_GFXCARDTEXT,81,77,90,10,SS_NOTIFY | SS_CENTERIMAGE\r
+    CONTROL         "Slider1",IDC_P96MEM,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,179,72,60,20\r
+    EDITTEXT        IDC_P96RAM,243,75,30,12,ES_CENTER | ES_READONLY\r
+    GROUPBOX        "Advanced Memory Settings",-1,13,104,275,65\r
+    RTEXT           "Motherboard RAM (Low area):",-1,39,122,129,10,SS_CENTERIMAGE\r
+    CONTROL         "",IDC_MBMEM1,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,180,117,59,20\r
+    EDITTEXT        IDC_MBRAM1,243,121,30,12,ES_CENTER | ES_READONLY\r
+    RTEXT           "Motherboard RAM (High area):",-1,39,144,127,10,SS_CENTERIMAGE\r
+    CONTROL         "",IDC_MBMEM2,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,180,139,59,20\r
+    EDITTEXT        IDC_MBRAM2,243,142,30,12,ES_CENTER | ES_READONLY\r
+END\r
+\r
+IDD_CPU DIALOGEX 0, 0, 300, 226\r
+STYLE DS_LOCALEDIT | DS_SETFONT | DS_3DLOOK | DS_CONTROL | WS_CHILD\r
+FONT 8, "MS Sans Serif", 0, 0, 0x0\r
+BEGIN\r
+    GROUPBOX        "CPU",IDC_STATIC,5,3,81,139,BS_LEFT\r
+    CONTROL         "68000",IDC_CPU0,"Button",BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP,13,16,63,10\r
+    CONTROL         "68010",IDC_CPU1,"Button",BS_AUTORADIOBUTTON | WS_TABSTOP,13,30,65,10\r
+    CONTROL         "68020",IDC_CPU2,"Button",BS_AUTORADIOBUTTON | WS_TABSTOP,13,44,63,10\r
+    CONTROL         "68030",IDC_CPU3,"Button",BS_AUTORADIOBUTTON | WS_TABSTOP,13,58,64,10\r
+    CONTROL         "68040",IDC_CPU4,"Button",BS_AUTORADIOBUTTON | WS_TABSTOP,13,72,66,10\r
+    CONTROL         "68060",IDC_CPU5,"Button",BS_AUTORADIOBUTTON | WS_TABSTOP,13,85,66,10\r
+    CONTROL         "More compatible [] Emulate 68000's prefetch registers. More compatible but slower.",IDC_COMPATIBLE,\r
+                    "Button",BS_AUTOCHECKBOX | BS_LEFT | WS_GROUP | WS_TABSTOP,10,114,73,8\r
+    CONTROL         "JIT [] Enable just-in-time CPU emulator. Significantly increases the speed of the CPU emulation. Requires 68020 or higher CPU.",IDC_JITENABLE,\r
+                    "Button",BS_AUTOCHECKBOX | WS_TABSTOP,10,127,73,10\r
+    GROUPBOX        "CPU Emulation Speed",IDC_STATIC,90,3,205,90\r
+    CONTROL         "Fastest possible, but maintain chipset timing",IDC_CS_HOST,\r
+                    "Button",BS_AUTORADIOBUTTON | BS_LEFT | WS_GROUP | WS_TABSTOP,95,18,195,10\r
+    CONTROL         "Match A500 speed",IDC_CS_68000,"Button",BS_AUTORADIOBUTTON | BS_LEFT | WS_TABSTOP,95,32,195,10\r
+    CONTROL         "Adjustable between CPU and chipset",IDC_CS_ADJUSTABLE,\r
+                    "Button",BS_AUTORADIOBUTTON | BS_LEFT | WS_TABSTOP,95,47,195,10\r
+    RTEXT           "CPU",IDC_CS_CPU_TEXT,96,73,15,10,SS_CENTERIMAGE | WS_TABSTOP\r
+    CONTROL         "Slider1",IDC_SPEED,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,114,68,67,20\r
+    LTEXT           "Chipset",IDC_CS_CHIPSET_TEXT,182,73,25,10,SS_CENTERIMAGE | NOT WS_GROUP | WS_TABSTOP\r
+    RTEXT           "CPU idle",IDC_CS_CPU_TEXT2,236,56,32,10,SS_CENTERIMAGE | WS_TABSTOP\r
+    CONTROL         "",IDC_CPUIDLE,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,219,68,69,20\r
+    GROUPBOX        "Advanced JIT Settings",IDC_STATIC,90,94,205,93\r
+    RTEXT           "Cache size:",IDC_CS_CACHE_TEXT,95,113,45,10,SS_CENTERIMAGE | WS_TABSTOP\r
+    CONTROL         "Slider1",IDC_CACHE,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,140,108,115,20\r
+    EDITTEXT        IDC_CACHETEXT,255,113,30,12,ES_CENTER | ES_READONLY\r
+    CONTROL         "Hard flush",IDC_HARDFLUSH,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,100,141,63,10\r
+    CONTROL         "Constant jump",IDC_CONSTJUMP,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,100,155,63,10\r
+    CONTROL         "FPU support",IDC_JITFPU,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,100,168,62,10\r
+    CONTROL         "Force settings",IDC_FORCE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,168,141,62,10\r
+    CONTROL         "No flags",IDC_NOFLAGS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,168,155,62,10\r
+    CONTROL         "Direct",IDC_TRUST0,"Button",BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP,235,141,52,10\r
+    CONTROL         "Indirect",IDC_TRUST1,"Button",BS_AUTORADIOBUTTON | WS_TABSTOP,235,155,52,10\r
+    CONTROL         "After RTG",IDC_TRUST2,"Button",BS_AUTORADIOBUTTON | WS_TABSTOP,235,168,52,10\r
+    CONTROL         "More compatible [] More compatible but slower FPU emulation.",IDC_COMPATIBLE_FPU,\r
+                    "Button",BS_AUTOCHECKBOX | BS_LEFT | WS_GROUP | WS_TABSTOP,9,206,73,10\r
+    GROUPBOX        "FPU",IDC_STATIC,6,144,81,76,BS_LEFT\r
+    CONTROL         "24-bit addressing",IDC_COMPATIBLE24,"Button",BS_AUTOCHECKBOX | BS_LEFT | WS_GROUP | WS_TABSTOP,10,100,73,8\r
+    CONTROL         "None",IDC_FPU0,"Button",BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP,14,154,63,10\r
+    CONTROL         "68881",IDC_FPU1,"Button",BS_AUTORADIOBUTTON | WS_TABSTOP,14,166,63,10\r
+    CONTROL         "68882",IDC_FPU2,"Button",BS_AUTORADIOBUTTON | WS_TABSTOP,14,179,63,10\r
+    CONTROL         "CPU internal",IDC_FPU3,"Button",BS_AUTORADIOBUTTON | WS_TABSTOP,14,192,63,10\r
+END\r
+\r
+IDD_FLOPPY DIALOGEX 0, 0, 300, 240\r
+STYLE DS_LOCALEDIT | DS_SETFONT | DS_3DLOOK | DS_CONTROL | WS_CHILD\r
+FONT 8, "MS Sans Serif", 0, 0, 0x0\r
+BEGIN\r
+    COMBOBOX        IDC_DF0TEXT,2,22,296,75,CBS_DROPDOWN | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP\r
+    COMBOBOX        IDC_DF0TYPE,123,6,49,50,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\r
+    RTEXT           "Write-protected",IDC_STATIC,174,8,59,10,SS_CENTERIMAGE\r
+    CONTROL         "",IDC_DF0WP,"Button",BS_AUTOCHECKBOX | BS_MULTILINE | WS_TABSTOP,238,4,10,15\r
+    PUSHBUTTON      "Eject",IDC_EJECT0,253,4,30,15\r
+    PUSHBUTTON      "...",IDC_DF0,287,4,10,15\r
+    COMBOBOX        IDC_DF1TEXT,2,58,296,75,CBS_DROPDOWN | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP\r
+    COMBOBOX        IDC_DF1TYPE,123,42,49,50,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\r
+    RTEXT           "Write-protected",IDC_STATIC,174,43,59,10,SS_CENTERIMAGE\r
+    CONTROL         "",IDC_DF1WP,"Button",BS_AUTOCHECKBOX | BS_MULTILINE | WS_TABSTOP,238,40,10,15\r
+    PUSHBUTTON      "Eject",IDC_EJECT1,253,40,30,15\r
+    PUSHBUTTON      "...",IDC_DF1,287,40,10,15\r
+    COMBOBOX        IDC_DF2TEXT,2,93,296,75,CBS_DROPDOWN | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP\r
+    COMBOBOX        IDC_DF2TYPE,123,77,49,50,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\r
+    RTEXT           "Write-protected",IDC_STATIC,174,77,59,10,SS_CENTERIMAGE\r
+    CONTROL         "",IDC_DF2WP,"Button",BS_AUTOCHECKBOX | BS_MULTILINE | WS_TABSTOP,238,75,9,15\r
+    PUSHBUTTON      "Eject",IDC_EJECT2,253,75,30,15\r
+    PUSHBUTTON      "...",IDC_DF2,287,75,10,15\r
+    COMBOBOX        IDC_DF3TEXT,2,128,296,75,CBS_DROPDOWN | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP\r
+    COMBOBOX        IDC_DF3TYPE,123,112,49,50,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\r
+    RTEXT           "Write-protected",IDC_STATIC,174,113,59,10,SS_CENTERIMAGE\r
+    CONTROL         "",IDC_DF3WP,"Button",BS_AUTOCHECKBOX | BS_MULTILINE | WS_TABSTOP,238,111,9,15\r
+    PUSHBUTTON      "Eject",IDC_EJECT3,253,110,30,15\r
+    PUSHBUTTON      "...",IDC_DF3,287,109,10,15\r
+    GROUPBOX        "New Floppy Disk Image",IDC_SETTINGSTEXT,5,183,289,49\r
+    COMBOBOX        IDC_FLOPPYTYPE,16,196,51,50,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\r
+    PUSHBUTTON      "Create Standard Disk [] Creates a standard 880 or 1760 KB ADF disk image.",IDC_CREATE,76,196,97,15\r
+    PUSHBUTTON      "Create Custom Disk [] Creates a low level (MFM) ADF disk image (about 2MB). Useful for programs that use non-standard disk formats (for example some save disks or DOS-formatted floppies)",IDC_CREATE_RAW,183,196,101,15\r
+    GROUPBOX        "Floppy Drive Emulation Speed",IDC_SETTINGSTEXT2,5,144,289,35\r
+    CONTROL         "",IDC_FLOPPYSPD,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,32,152,116,20\r
+    EDITTEXT        IDC_FLOPPYSPDTEXT,169,155,107,12,ES_CENTER | ES_READONLY\r
+    PUSHBUTTON      "Delete save image",IDC_SAVEIMAGE0,43,5,70,15,NOT WS_VISIBLE\r
+    PUSHBUTTON      "Delete save image",IDC_SAVEIMAGE1,43,40,70,15,NOT WS_VISIBLE\r
+    PUSHBUTTON      "Delete save image",IDC_SAVEIMAGE2,43,75,70,15,NOT WS_VISIBLE\r
+    PUSHBUTTON      "Delete save image",IDC_SAVEIMAGE3,43,110,70,15,NOT WS_VISIBLE\r
+    EDITTEXT        IDC_CREATE_NAME,75,215,98,13,ES_AUTOHSCROLL\r
+    RTEXT           "Disk label:",IDC_STATIC,14,216,52,10,SS_CENTERIMAGE\r
+    CONTROL         "DF0:",IDC_DF0ENABLE,"Button",BS_AUTOCHECKBOX | WS_DISABLED | WS_TABSTOP,3,6,34,15\r
+    CONTROL         "DF1:",IDC_DF1ENABLE,"Button",BS_AUTOCHECKBOX | WS_DISABLED | WS_TABSTOP,3,41,34,15\r
+    CONTROL         "DF2:",IDC_DF2ENABLE,"Button",BS_AUTOCHECKBOX | WS_DISABLED | WS_TABSTOP,3,76,34,15\r
+    CONTROL         "DF3:",IDC_DF3ENABLE,"Button",BS_AUTOCHECKBOX | WS_DISABLED | WS_TABSTOP,3,111,34,15\r
+END\r
+\r
+IDD_HARDDISK DIALOGEX 0, 0, 300, 245\r
+STYLE DS_LOCALEDIT | DS_SETFONT | DS_3DLOOK | DS_CONTROL | WS_CHILD\r
+EXSTYLE WS_EX_CONTEXTHELP\r
+FONT 8, "MS Sans Serif", 0, 0, 0x1\r
+BEGIN\r
+    CONTROL         "List1",IDC_VOLUMELIST,"SysListView32",LVS_REPORT | LVS_SINGLESEL | LVS_SHOWSELALWAYS | LVS_ALIGNLEFT | LVS_NOSORTHEADER | WS_BORDER | WS_TABSTOP,5,0,290,182\r
+    PUSHBUTTON      "Add &Directory or Archive...",IDC_NEW_FS,10,186,103,15\r
+    PUSHBUTTON      "Add &Hardfile...",IDC_NEW_HF,130,186,74,15\r
+    PUSHBUTTON      "Add Ha&rd Drive...",IDC_NEW_HD,220,186,75,15\r
+    PUSHBUTTON      "Remove",IDC_REMOVE,232,207,60,15\r
+    PUSHBUTTON      "&Properties",IDC_EDIT,232,230,60,15\r
+    CONTROL         "Add PC drives at startup",IDC_MAPDRIVES,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,5,209,100,10\r
+    CONTROL         "Disable UAEFSDB-support",IDC_NOUAEFSDB,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,110,209,119,10\r
+    CONTROL         "Don't use Windows Recycle Bin",IDC_NORECYCLEBIN,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,110,220,121,10\r
+    CONTROL         "Include network drives..",IDC_MAPDRIVES_NET,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,5,232,101,10\r
+    CONTROL         "Include CD/DVD drives..",IDC_MAPDRIVES_CD,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,5,220,100,10\r
+    CONTROL         "Automount removable drives",IDC_MAPDRIVES_AUTO,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,110,232,115,10\r
+END\r
+\r
+IDD_SOUND DIALOGEX 0, 0, 300, 231\r
+STYLE DS_LOCALEDIT | DS_SETFONT | DS_3DLOOK | DS_CONTROL | WS_CHILD\r
+FONT 8, "MS Sans Serif", 0, 0, 0x1\r
+BEGIN\r
+    RTEXT           "Sound device:",IDC_SOUNDCARD,8,9,51,13,SS_CENTERIMAGE\r
+    COMBOBOX        IDC_SOUNDCARDLIST,64,9,229,50,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\r
+    GROUPBOX        "Sound Emulation",IDC_SOUNDSETTINGS,5,30,120,81\r
+    CONTROL         "Disabled",IDC_SOUND0,"Button",BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP,13,45,101,10\r
+    CONTROL         "Disabled, but emulated",IDC_SOUND1,"Button",BS_AUTORADIOBUTTON | WS_TABSTOP,13,57,102,10\r
+    CONTROL         "Enabled",IDC_SOUND2,"Button",BS_AUTORADIOBUTTON | WS_TABSTOP,13,69,102,10\r
+    CONTROL         "Enabled, 100% accurate",IDC_SOUND3,"Button",BS_AUTORADIOBUTTON | WS_TABSTOP,13,81,101,10\r
+    GROUPBOX        "Volume",IDC_STATIC,131,36,164,31\r
+    CONTROL         "",IDC_SOUNDVOLUME,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,137,44,105,20\r
+    EDITTEXT        IDC_SOUNDVOLUME2,247,47,40,12,ES_CENTER | ES_READONLY\r
+    GROUPBOX        "Sound Buffer Size",IDC_STATIC,132,73,164,31\r
+    CONTROL         "Slider1",IDC_SOUNDBUFFERRAM,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,138,81,106,19\r
+    EDITTEXT        IDC_SOUNDBUFFERMEM,248,84,40,12,ES_CENTER | ES_READONLY\r
+    GROUPBOX        "Settings",IDC_SOUNDINTERPOLATION2,6,114,290,60\r
+    LTEXT           "Frequency:",IDC_SOUNDFREQTXT,11,147,53,8,SS_CENTERIMAGE\r
+    COMBOBOX        IDC_SOUNDFREQ,13,156,51,75,CBS_DROPDOWN | WS_VSCROLL | WS_TABSTOP\r
+    LTEXT           "Audio filter:",IDC_SOUNDFILTERTXT,209,148,77,8,SS_CENTERIMAGE\r
+    COMBOBOX        IDC_SOUNDFILTER,209,157,80,75,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\r
+    LTEXT           "Channel mode:",IDC_SOUNDSTEREOTXT,11,124,57,8,SS_CENTERIMAGE\r
+    COMBOBOX        IDC_SOUNDSTEREO,13,133,122,75,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\r
+    LTEXT           "Interpolation:",IDC_SOUNDINTERPOLATIONTXT,209,124,75,8,SS_CENTERIMAGE\r
+    COMBOBOX        IDC_SOUNDINTERPOLATION,209,132,80,75,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\r
+    LTEXT           "Stereo separation:",IDC_SOUNDSTEREOSEPTXT,141,124,63,8,SS_CENTERIMAGE\r
+    COMBOBOX        IDC_SOUNDSTEREOSEP,142,133,62,75,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\r
+    LTEXT           "Stereo delay:",IDC_SOUNDSTEREOMIXTXT,141,148,63,8,SS_CENTERIMAGE\r
+    COMBOBOX        IDC_SOUNDSTEREOMIX,142,157,62,75,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\r
+    GROUPBOX        "Floppy Drive Sound Emulation",IDC_STATIC,6,177,290,46\r
+    CONTROL         "",IDC_SOUNDDRIVEVOLUME,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,14,185,107,19\r
+    EDITTEXT        IDC_SOUNDDRIVEVOLUME2,124,191,40,12,ES_CENTER | ES_READONLY\r
+    COMBOBOX        IDC_SOUNDDRIVE,237,187,46,75,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\r
+    COMBOBOX        IDC_SOUNDDRIVESELECT,18,205,265,75,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\r
+    COMBOBOX        IDC_SOUNDSWAP,73,157,62,75,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\r
+    LTEXT           "Swap channels:",IDC_SOUNDSWAPTXT,74,148,61,8,SS_CENTERIMAGE\r
+    CONTROL         "Automatic switching",IDC_SOUND_AUTO,"Button",BS_AUTOCHECKBOX | BS_LEFT | WS_GROUP | WS_TABSTOP,14,95,103,10\r
+END\r
+\r
+IDD_LOADSAVE DIALOGEX 0, 0, 302, 241\r
+STYLE DS_LOCALEDIT | DS_SETFONT | DS_3DLOOK | DS_CONTROL | WS_CHILD\r
+FONT 8, "MS Sans Serif", 0, 0, 0x1\r
+BEGIN\r
+    CONTROL         "",IDC_CONFIGTREE,"SysTreeView32",TVS_HASLINES | TVS_DISABLEDRAGDROP | TVS_SHOWSELALWAYS | WS_BORDER | WS_TABSTOP,6,3,289,153,WS_EX_CLIENTEDGE\r
+    RTEXT           "Name:",IDC_STATIC,4,161,40,15,SS_CENTERIMAGE\r
+    EDITTEXT        IDC_EDITNAME,48,162,146,13,ES_AUTOHSCROLL\r
+    RTEXT           "Description:",IDC_STATIC,4,183,41,15,SS_CENTERIMAGE\r
+    EDITTEXT        IDC_EDITDESCRIPTION,48,183,146,13,ES_AUTOHSCROLL\r
+    RTEXT           "Link:",IDC_STATIC,4,204,40,15,SS_CENTERIMAGE\r
+    COMBOBOX        IDC_CONFIGLINK,48,205,93,150,CBS_DROPDOWN | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\r
+    CONTROL         "Ignore link",IDC_CONFIGNOLINK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,146,206,48,10\r
+    EDITTEXT        IDC_EDITPATH,199,161,49,15,ES_AUTOHSCROLL | WS_DISABLED\r
+    CONTROL         "Autoload",IDC_CONFIGAUTO,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,253,163,42,10\r
+    GROUPBOX        "Additional Information",IDC_STATIC,199,179,96,38,BS_LEFT\r
+    PUSHBUTTON      "View",IDC_VIEWINFO,208,195,37,15\r
+    PUSHBUTTON      "Set",IDC_SETINFO,250,195,37,15\r
+    PUSHBUTTON      "Load",IDC_QUICKLOAD,5,225,44,15\r
+    PUSHBUTTON      "Save",IDC_QUICKSAVE,54,225,44,15\r
+    PUSHBUTTON      "Load From...",IDC_LOAD,121,225,49,15\r
+    PUSHBUTTON      "Delete",IDC_DELETE,251,225,44,15\r
+    PUSHBUTTON      "Save As...",IDC_SAVE,175,225,44,15\r
+END\r
+\r
+IDD_PORTS DIALOGEX 0, 0, 300, 238\r
+STYLE DS_LOCALEDIT | DS_SETFONT | DS_3DLOOK | DS_CONTROL | WS_CHILD\r
+FONT 8, "MS Sans Serif", 0, 0, 0x1\r
+BEGIN\r
+    GROUPBOX        "Parallel Port",IDC_SERPARFRAME,5,2,291,68\r
+    RTEXT           "Printer:",IDC_STATIC,12,15,25,15,SS_CENTERIMAGE\r
+    COMBOBOX        IDC_PRINTERLIST,49,15,153,134,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\r
+    PUSHBUTTON      "Flush print job",IDC_FLUSHPRINTER,220,14,58,12\r
+    CONTROL         "PostScript detection",IDC_PSPRINTERDETECT,"Button",BS_AUTOCHECKBOX | BS_VCENTER | WS_TABSTOP,11,33,79,12\r
+    CONTROL         "PostScript printer emulation",IDC_PSPRINTER,"Button",BS_AUTOCHECKBOX | BS_VCENTER | WS_TABSTOP,95,33,110,12\r
+    RTEXT           "Autoflush [] Time in seconds after a pending print job is automatically flushed.",IDC_PRINTERAUTOFLUSHTXT,202,32,57,15,SS_NOTIFY | SS_CENTERIMAGE\r
+    EDITTEXT        IDC_PRINTERAUTOFLUSH,263,33,25,12,ES_NUMBER\r
+    RTEXT           "Ghostscript extra parameters:",IDC_STATIC,12,49,102,15,SS_CENTERIMAGE\r
+    EDITTEXT        IDC_PS_PARAMS,124,50,165,12,ES_AUTOHSCROLL\r
+    GROUPBOX        "Serial Port",IDC_SERIALFRAME,4,72,292,48\r
+    COMBOBOX        IDC_SERIAL,49,84,232,65,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\r
+    CONTROL         "Shared",IDC_SER_SHARED,"Button",BS_AUTOCHECKBOX | BS_VCENTER | WS_TABSTOP,11,102,48,13\r
+    CONTROL         "RTS/CTS",IDC_SER_CTSRTS,"Button",BS_AUTOCHECKBOX | BS_VCENTER | WS_TABSTOP,65,102,55,12\r
+    GROUPBOX        "MIDI",IDC_MIDIFRAME,4,123,292,33\r
+    RTEXT           "Out:",IDC_MIDI,10,134,34,15,SS_CENTERIMAGE\r
+    COMBOBOX        IDC_MIDIOUTLIST,50,134,95,130,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\r
+    RTEXT           "In:",IDC_MIDI2,150,134,29,15,SS_CENTERIMAGE\r
+    COMBOBOX        IDC_MIDIINLIST,185,134,95,134,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\r
+    GROUPBOX        "Mouse/Joystick Ports",IDC_PORT0,4,158,292,75\r
+    COMBOBOX        IDC_PORT0_JOYS,45,174,241,130,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\r
+    COMBOBOX        IDC_PORT1_JOYS,45,195,241,130,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\r
+    PUSHBUTTON      "Swap ports",IDC_SWAP,211,214,75,14\r
+    RTEXT           "Port 0:",IDC_STATIC,11,173,25,15,SS_CENTERIMAGE\r
+    RTEXT           "Port 1:",IDC_STATIC,11,194,25,15,SS_CENTERIMAGE\r
+    LTEXT           "X-Arcade layout information []#1",IDC_STATIC,16,213,106,15,SS_NOTIFY | SS_CENTERIMAGE\r
+    CONTROL         "Direct []Use when emulating serial-link games on two PCs running WinUAE",IDC_SER_DIRECT,\r
+                    "Button",BS_AUTOCHECKBOX | BS_VCENTER | WS_TABSTOP,132,103,65,12\r
+    CONTROL         "uaeserial.device",IDC_UAESERIAL,"Button",BS_AUTOCHECKBOX | BS_VCENTER | WS_TABSTOP,207,103,78,13\r
+END\r
+\r
+IDD_CONTRIBUTORS DIALOGEX 0, 0, 411, 242\r
+STYLE DS_LOCALEDIT | DS_SETFONT | DS_MODALFRAME | DS_SETFOREGROUND | DS_3DLOOK | WS_POPUP | WS_VISIBLE | WS_CAPTION\r
+CAPTION "UAE Authors and Contributors..."\r
+FONT 8, "MS Sans Serif", 0, 0, 0x0\r
+BEGIN\r
+    DEFPUSHBUTTON   "Ok",ID_OK,177,219,53,14\r
+    CONTROL         "",IDC_CONTRIBUTORS,"RICHEDIT",TCS_HOTTRACK | TCS_VERTICAL | TCS_RAGGEDRIGHT | TCS_OWNERDRAWFIXED | TCS_MULTISELECT | WS_BORDER | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP,4,5,404,206\r
+END\r
+\r
+IDD_ABOUT DIALOGEX 0, 0, 300, 191\r
+STYLE DS_LOCALEDIT | DS_SETFONT | DS_3DLOOK | DS_CONTROL | WS_CHILD\r
+FONT 8, "MS Sans Serif", 0, 0, 0x0\r
+BEGIN\r
+    CONTROL         "",IDC_RICHEDIT1,"RICHEDIT",TCS_SCROLLOPPOSITE | TCS_RAGGEDRIGHT | TCS_MULTISELECT | WS_DISABLED,45,10,210,15\r
+    CONTROL         "",IDC_RICHEDIT2,"RICHEDIT",TCS_SCROLLOPPOSITE | TCS_RAGGEDRIGHT | TCS_MULTISELECT | WS_DISABLED,20,30,260,13\r
+    PUSHBUTTON      "Contributors",IDC_CONTRIBUTORS,110,55,80,15\r
+    CONTROL         "",IDC_UAEHOME,"RICHEDIT",TCS_SCROLLOPPOSITE | TCS_RAGGEDRIGHT | TCS_MULTISELECT | WS_DISABLED,20,120,80,15\r
+    CONTROL         "",IDC_PICASSOHOME,"RICHEDIT",TCS_SCROLLOPPOSITE | TCS_RAGGEDRIGHT | TCS_MULTISELECT | WS_DISABLED,200,90,80,20\r
+    CONTROL         "",IDC_AMIGAHOME,"RICHEDIT",TCS_SCROLLOPPOSITE | TCS_RAGGEDRIGHT | TCS_MULTISELECT | WS_DISABLED,109,90,80,20\r
+    CONTROL         "",IDC_WINUAEHOME,"RICHEDIT",TCS_SCROLLOPPOSITE | TCS_RAGGEDRIGHT | TCS_MULTISELECT | WS_DISABLED,200,120,80,15\r
+    CONTROL         "",IDC_AIABHOME,"RICHEDIT",TCS_SCROLLOPPOSITE | TCS_RAGGEDRIGHT | TCS_MULTISELECT | WS_DISABLED,110,120,80,15\r
+    CONTROL         "",IDC_THEROOTS,"RICHEDIT",TCS_SCROLLOPPOSITE | TCS_RAGGEDRIGHT | TCS_MULTISELECT | WS_DISABLED,20,145,80,15\r
+    CONTROL         "",IDC_CAPS,"RICHEDIT",TCS_SCROLLOPPOSITE | TCS_RAGGEDRIGHT | TCS_MULTISELECT | WS_DISABLED,200,145,80,15\r
+    CONTROL         "",IDC_ABIME,"RICHEDIT",TCS_SCROLLOPPOSITE | TCS_RAGGEDRIGHT | TCS_MULTISELECT | WS_DISABLED,110,145,80,15\r
+    CONTROL         "",IDC_CLOANTOHOME,"RICHEDIT",TCS_SCROLLOPPOSITE | TCS_RAGGEDRIGHT | TCS_MULTISELECT | WS_DISABLED,20,90,80,20\r
+    CONTROL         "",IDC_AMIGASYS,"RICHEDIT",TCS_SCROLLOPPOSITE | TCS_RAGGEDRIGHT | TCS_MULTISELECT | WS_DISABLED,63,169,80,15\r
+    CONTROL         "",IDC_AMIKIT,"RICHEDIT",TCS_SCROLLOPPOSITE | TCS_RAGGEDRIGHT | TCS_MULTISELECT | WS_DISABLED,157,169,80,15\r
+END\r
+\r
+IDD_MISC1 DIALOGEX 0, 0, 300, 237\r
+STYLE DS_LOCALEDIT | DS_SETFONT | DS_3DLOOK | DS_CONTROL | WS_CHILD\r
+FONT 8, "MS Sans Serif", 0, 0, 0x1\r
+BEGIN\r
+    GROUPBOX        "Advanced",IDC_STATIC,8,2,285,110\r
+    CONTROL         "Untrap mouse with middle button",IDC_JULIAN,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,23,15,129,10\r
+    CONTROL         "Show GUI on startup",IDC_SHOWGUI,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,23,27,120,10\r
+    CONTROL         "On-screen LEDs",IDC_SHOWLEDS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,23,40,115,10\r
+    CONTROL         "uaescsi.device",IDC_SCSIDEVICE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,23,53,63,10\r
+    CONTROL         "Don't show taskbar button",IDC_NOTASKBARBUTTON,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,23,66,117,10\r
+    CONTROL         "bsdsocket.library emulation",IDC_SOCKETS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,161,15,120,10\r
+    CONTROL         "Use CTRL-F11 to quit",IDC_CTRLF11,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,161,27,120,10\r
+    CONTROL         "Don't use RGB overlays",IDC_NOOVERLAY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,161,40,120,10\r
+    CONTROL         "Synchronize clock",IDC_CLOCKSYNC,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,161,53,115,10\r
+    GROUPBOX        "Keyboard LEDs",IDC_STATIC,7,140,85,94\r
+    COMBOBOX        IDC_KBLED1,22,154,56,65,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\r
+    COMBOBOX        IDC_KBLED2,22,173,56,65,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\r
+    COMBOBOX        IDC_KBLED3,22,193,56,65,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\r
+    GROUPBOX        "Logging",IDC_STATIC,97,140,195,25\r
+    CONTROL         "Create log file",IDC_CREATELOGFILE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,107,151,72,10\r
+    CONTROL         "Illegal memory accesses",IDC_ILLEGAL,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,189,151,95,10\r
+    GROUPBOX        "State Files",IDC_STATIC,98,165,195,69\r
+    PUSHBUTTON      "Load state...",IDC_DOLOADSTATE,105,182,49,14\r
+    PUSHBUTTON      "Save state...",IDC_DOSAVESTATE,105,208,49,14\r
+    CONTROL         "Enable state recording",IDC_STATE_CAPTURE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,188,181,88,10\r
+    RTEXT           "Recording rate (seconds):",IDC_STATIC,157,199,86,10,SS_CENTERIMAGE | WS_TABSTOP\r
+    COMBOBOX        IDC_STATE_RATE,248,197,38,65,CBS_DROPDOWN | WS_VSCROLL | WS_TABSTOP\r
+    RTEXT           "Recording buffer (MB):",IDC_STATIC,157,219,83,10,SS_CENTERIMAGE | WS_TABSTOP\r
+    COMBOBOX        IDC_STATE_BUFFERSIZE,248,217,38,65,CBS_DROPDOWN | WS_VSCROLL | WS_TABSTOP\r
+    CONTROL         "Always on top",IDC_ALWAYSONTOP,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,23,79,117,10\r
+    CONTROL         "Catweasel",IDC_CATWEASEL,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,161,66,115,10\r
+    CONTROL         "USB mode",IDC_KBLED_USB,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,22,216,64,10\r
+    COMBOBOX        IDC_SCSIMODE,92,51,64,65,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\r
+    COMBOBOX        IDC_LANGUAGE,103,121,179,65,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\r
+    GROUPBOX        "Language",IDC_STATIC,7,112,285,25\r
+    CONTROL         "Disable powersaving features",IDC_POWERSAVE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,23,92,120,10\r
+    CONTROL         "Magic Mouse",IDC_MOUSETRICK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,161,79,119,10\r
+    CONTROL         "uaenet.device",IDC_SANA2,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,161,92,94,10\r
+END\r
+\r
+IDD_HARDFILE DIALOGEX 0, 0, 299, 249\r
+STYLE DS_LOCALEDIT | DS_SETFONT | DS_MODALFRAME | DS_SETFOREGROUND | DS_3DLOOK | DS_CENTER | DS_CENTERMOUSE | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\r
+CAPTION "Hardfile Settings"\r
+FONT 8, "MS Sans Serif", 0, 0, 0x0\r
+BEGIN\r
+    GROUPBOX        "Settings",IDC_STATIC,10,5,280,146\r
+    RTEXT           "Path:",IDC_HARDFILE_DIR_TEXT,26,18,22,10\r
+    EDITTEXT        IDC_PATH_NAME,52,15,213,15,ES_AUTOHSCROLL\r
+    PUSHBUTTON      "...",IDC_SELECTOR,271,15,11,15\r
+    RTEXT           "FileSys:",IDC_HARDFILE_FILESYS_TEXT,14,37,34,10\r
+    EDITTEXT        IDC_PATH_FILESYS,52,34,213,15,ES_AUTOHSCROLL\r
+    PUSHBUTTON      "...",IDC_FILESYS_SELECTOR,271,34,11,15\r
+    RTEXT           "Device:",IDC_HARDFILE_DEVICE_TEXT,17,58,31,10\r
+    EDITTEXT        IDC_HARDFILE_DEVICE,52,54,66,15,ES_AUTOHSCROLL\r
+    RTEXT           "Boot priority:",IDC_HARDFILE_BOOTPRI_TEXT,24,94,44,8\r
+    EDITTEXT        IDC_HARDFILE_BOOTPRI,74,90,40,15\r
+    CONTROL         "Read/write",IDC_HDF_RW,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,53,74,64,10\r
+    PUSHBUTTON      "Enable RDB mode",IDC_HDF_RDB,174,55,92,14\r
+    RTEXT           "Surfaces:",IDC_SURFACES_TEXT,120,94,30,10\r
+    EDITTEXT        IDC_HEADS,155,90,35,15,ES_NUMBER\r
+    RTEXT           "Reserved:",IDC_RESERVED_TEXT,197,94,35,10\r
+    EDITTEXT        IDC_RESERVED,237,90,35,15,ES_NUMBER\r
+    RTEXT           "Sectors:",IDC_SECTORS_TEXT,120,116,30,10\r
+    EDITTEXT        IDC_SECTORS,155,111,35,15,ES_NUMBER\r
+    RTEXT           "Block size:",IDC_BLOCKSIZE_TEXT,197,116,35,10\r
+    EDITTEXT        IDC_BLOCKSIZE,237,111,35,15,ES_NUMBER\r
+    GROUPBOX        "New hard disk image file",IDC_STATIC,10,156,280,62\r
+    PUSHBUTTON      "Create",IDC_HF_CREATE,50,171,80,14\r
+    EDITTEXT        IDC_HF_SIZE,146,171,61,15,ES_NUMBER\r
+    PUSHBUTTON      "OK",IDOK,102,226,50,14\r
+    PUSHBUTTON      "Cancel",IDCANCEL,158,226,50,14\r
+    EDITTEXT        IDC_HF_DOSTYPE,146,194,61,15\r
+    COMBOBOX        IDC_HF_TYPE,50,194,80,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\r
+    COMBOBOX        IDC_HDF_CONTROLLER,73,112,41,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\r
+    RTEXT           "DOS type",IDC_STATIC,214,196,32,10,SS_CENTERIMAGE\r
+    RTEXT           "MB",IDC_STATIC,214,174,13,10,SS_CENTERIMAGE\r
+    RTEXT           "Type:",IDC_STATIC,18,182,25,10,SS_CENTERIMAGE\r
+    RTEXT           "HD Controller:",IDC_STATIC,13,113,52,10,SS_CENTERIMAGE\r
+    CONTROL         "Autoboot",IDC_HDF_AUTOBOOT,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,136,73,53,10\r
+    CONTROL         "Do not mount",IDC_HDF_DONOTMOUNT,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,217,74,67,10\r
+    EDITTEXT        IDC_HDFINFO,16,131,268,12,ES_CENTER | ES_READONLY\r
+END\r
+\r
+IDD_FILESYS DIALOGEX 15, 25, 299, 111\r
+STYLE DS_LOCALEDIT | DS_SETFONT | DS_MODALFRAME | DS_SETFOREGROUND | DS_3DLOOK | DS_CENTER | DS_CENTERMOUSE | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\r
+CAPTION "Volume Settings"\r
+FONT 8, "MS Sans Serif", 0, 0, 0x0\r
+BEGIN\r
+    LTEXT           "Device name:",-1,5,9,54,10\r
+    EDITTEXT        IDC_VOLUME_DEVICE,65,5,104,15,ES_AUTOHSCROLL\r
+    LTEXT           "Volume label:",-1,5,31,54,10\r
+    EDITTEXT        IDC_VOLUME_NAME,65,25,103,15,ES_AUTOHSCROLL\r
+    LTEXT           "Path:",-1,5,51,44,10\r
+    EDITTEXT        IDC_PATH_NAME,65,46,227,15,ES_AUTOHSCROLL\r
+    PUSHBUTTON      "Select Directory",IDC_FS_SELECT_DIR,64,66,103,15\r
+    CONTROL         "Read/write",IDC_FS_RW,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,174,7,55,10\r
+    RTEXT           "Boot priority:",IDC_VOLUME_BOOTPRI_TEXT,178,28,49,8\r
+    EDITTEXT        IDC_VOLUME_BOOTPRI,237,24,30,15\r
+    PUSHBUTTON      "OK",IDOK,65,91,48,15\r
+    PUSHBUTTON      "Cancel",IDCANCEL,120,91,48,15\r
+    PUSHBUTTON      "Select Archive or Plain File",IDC_FS_SELECT_FILE,189,66,103,15\r
+    PUSHBUTTON      "Eject",IDC_FS_SELECT_EJECT,230,91,62,15\r
+    CONTROL         "Autoboot",IDC_FS_AUTOBOOT,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,236,7,53,10\r
+END\r
+\r
+IDD_SETINFO DIALOGEX 0, 0, 229, 85\r
+STYLE DS_LOCALEDIT | DS_SETFONT | DS_MODALFRAME | DS_SETFOREGROUND | DS_3DLOOK | DS_CENTER | DS_CENTERMOUSE | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\r
+CAPTION "Additional Information Settings"\r
+FONT 8, "MS Sans Serif", 0, 0, 0x0\r
+BEGIN\r
+    RTEXT           "Path:",-1,5,20,24,15,SS_CENTERIMAGE\r
+    EDITTEXT        IDC_PATH_NAME,35,20,169,15,ES_AUTOHSCROLL\r
+    PUSHBUTTON      "...",IDC_SELECTOR,210,20,10,15\r
+    PUSHBUTTON      "OK",IDOK,120,65,48,15\r
+    PUSHBUTTON      "Cancel",IDCANCEL,175,65,48,15\r
+END\r
+\r
+IDD_CHIPSET DIALOGEX 0, 65490, 300, 229\r
+STYLE DS_LOCALEDIT | DS_SETFONT | DS_3DLOOK | DS_CONTROL | WS_CHILD\r
+FONT 8, "MS Sans Serif", 0, 0, 0x0\r
+BEGIN\r
+    GROUPBOX        "Chipset",IDC_STATIC,14,11,145,90\r
+    CONTROL         "OCS [] Original chipset. A1000 and most A500s.",IDC_OCS,\r
+                    "Button",BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP,37,26,51,10\r
+    CONTROL         "ECS Agnus [] Enhanced chipset (ECS Agnus chip only). Later A500 and A2000 hardware revisions.",IDC_ECS_AGNUS,\r
+                    "Button",BS_AUTORADIOBUTTON | WS_TABSTOP,37,42,55,10\r
+    CONTROL         "Full ECS [] Full ECS chipset (ECS Agnus and ECS Denise chips). A500+, A600 and A3000.",IDC_ECS,\r
+                    "Button",BS_AUTORADIOBUTTON | WS_TABSTOP,37,58,52,10\r
+    CONTROL         "AGA [] Advanced Graphics Architecture chipset. A1200, A4000 and CD32.",IDC_AGA,\r
+                    "Button",BS_AUTORADIOBUTTON | WS_TABSTOP,100,26,51,10\r
+    CONTROL         "NTSC [] North American and Japanese display standard, 60Hz refresh rate. Other countries use PAL (50Hz. display refresh rate)",IDC_NTSC,\r
+                    "Button",BS_AUTOCHECKBOX | WS_TABSTOP,101,58,50,10\r
+    GROUPBOX        "Options",IDC_STATIC,168,11,114,89\r
+    CONTROL         "Immediate Blitter [] Faster but less compatible blitter emulation.",IDC_BLITIMM,\r
+                    "Button",BS_AUTOCHECKBOX | WS_TABSTOP,174,30,96,10\r
+    CONTROL         "Cycle-exact [] The most compatible A500 emulation mode. Very fast PC recommended.",IDC_CYCLEEXACT,\r
+                    "Button",BS_AUTOCHECKBOX | BS_LEFT | WS_GROUP | WS_TABSTOP,174,43,100,10\r
+    GROUPBOX        "Collision Level",IDC_STATIC,14,105,267,48\r
+    CONTROL         "None [] Collision hardware emulation disabled.",IDC_COLLISION0,\r
+                    "Button",BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP,40,121,59,10\r
+    CONTROL         "Sprites only [] Emulate only sprite vs. sprite collisions.",IDC_COLLISION1,\r
+                    "Button",BS_AUTORADIOBUTTON | WS_TABSTOP,39,137,62,10\r
+    CONTROL         "Sprites and Sprites vs. Playfield [] Recommended collision emulation level.",IDC_COLLISION2,\r
+                    "Button",BS_AUTORADIOBUTTON | WS_TABSTOP,109,121,161,10\r
+    CONTROL         "Full [] 100% collision hardware emulation. Only very few games need this option. Slowest.",IDC_COLLISION3,\r
+                    "Button",BS_AUTORADIOBUTTON | WS_TABSTOP,109,137,119,10\r
+    GROUPBOX        "Sound Emulation",IDC_STATIC,13,159,268,65\r
+    CONTROL         "Disabled",IDC_CS_SOUND0,"Button",BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP,39,175,102,10\r
+    CONTROL         "Emulated",IDC_CS_SOUND1,"Button",BS_AUTORADIOBUTTON | WS_TABSTOP,39,190,91,10\r
+    CONTROL         "Emulated, 100% accurate",IDC_CS_SOUND2,"Button",BS_AUTORADIOBUTTON | WS_TABSTOP,39,205,95,10\r
+    CONTROL         "Genlock connected [] Allow boot sequence to detect genlock. Genlock is not emulated.",IDC_GENLOCK,\r
+                    "Button",BS_AUTOCHECKBOX | BS_LEFT | WS_GROUP | WS_TABSTOP,174,56,100,10\r
+    CONTROL         "Faster RTG [] Enables less accurate custom chipset emulation mode when Picasso96 is enabled.",IDC_FASTERRTG,\r
+                    "Button",BS_AUTOCHECKBOX | BS_LEFT | WS_GROUP | WS_TABSTOP,174,68,100,10\r
+    COMBOBOX        IDC_CS_EXT,101,80,49,65,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\r
+    RTEXT           "Chipset Extra",IDC_STATIC,25,79,52,15,SS_CENTERIMAGE\r
+END\r
+\r
+IDD_CHIPSET2 DIALOGEX 0, 65490, 300, 247\r
+STYLE DS_LOCALEDIT | DS_SETFONT | DS_3DLOOK | DS_CONTROL | WS_CHILD\r
+FONT 8, "MS Sans Serif", 0, 0, 0x0\r
+BEGIN\r
+    GROUPBOX        "Battery Backed Up Real Time Clock",IDC_STATIC,11,24,275,29\r
+    CONTROL         "None",IDC_CS_RTC1,"Button",BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP,19,36,55,10\r
+    CONTROL         "MSM6242B",IDC_CS_RTC2,"Button",BS_AUTORADIOBUTTON | WS_TABSTOP,88,36,52,10\r
+    CONTROL         "RF5C01A",IDC_CS_RTC3,"Button",BS_AUTORADIOBUTTON | WS_TABSTOP,157,36,46,10\r
+    EDITTEXT        IDC_CS_RTCADJUST,215,34,64,13,ES_AUTOHSCROLL\r
+    GROUPBOX        "CIA-A TOD Clock Source",IDC_STATIC,9,56,275,29\r
+    CONTROL         "Vertical Sync",IDC_CS_CIAA_TOD1,"Button",BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP,22,68,63,10\r
+    CONTROL         "Power Supply 50Hz",IDC_CS_CIAA_TOD2,"Button",BS_AUTORADIOBUTTON | WS_TABSTOP,92,68,85,10\r
+    CONTROL         "Power Supply 60Hz",IDC_CS_CIAA_TOD3,"Button",BS_AUTORADIOBUTTON | WS_TABSTOP,189,68,88,10\r
+    CONTROL         "Boot ROM Mirror",IDC_CS_KSMIRROR,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,95,80,10\r
+    CONTROL         "A1000 Boot RAM/ROM",IDC_CS_A1000RAM,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,94,95,88,10\r
+    CONTROL         "CD32 CD",IDC_CS_CD32CD,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,108,76,10\r
+    CONTROL         "CD32 C2P",IDC_CS_CD32C2P,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,94,108,87,10\r
+    CONTROL         "CD32 NVRAM",IDC_CS_CD32NVRAM,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,187,108,84,10\r
+    CONTROL         "CDTV CD",IDC_CS_CDTVCD,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,121,47,10\r
+    CONTROL         "CDTV SRAM",IDC_CS_CDTVRAM,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,94,120,87,10\r
+    CONTROL         "CDTV SRAM Expansion",IDC_CS_CDTVRAMEXP,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,187,120,90,10\r
+    CONTROL         "A600/A1200 IDE",IDC_CS_IDE1,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,133,79,10\r
+    CONTROL         "A4000/A4000T IDE",IDC_CS_IDE2,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,94,133,88,10\r
+    CONTROL         "Ramsey revision:",IDC_CS_RAMSEY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,210,71,10\r
+    EDITTEXT        IDC_CS_RAMSEYREV,91,208,45,13,ES_AUTOHSCROLL\r
+    CONTROL         "Fat Gary revision:",IDC_CS_FATGARY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,223,71,10\r
+    EDITTEXT        IDC_CS_FATGARYREV,91,222,45,13,ES_AUTOHSCROLL\r
+    CONTROL         "A3000 SCSI",IDC_CS_DMAC,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,94,174,76,10\r
+    CONTROL         "Compatible Settings",IDC_CS_COMPATIBLE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,8,234,10\r
+    CONTROL         "DF0: ID Hardware",IDC_CS_DF0IDHW,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,187,95,92,10\r
+    CONTROL         "Agnus/Alice revision:",IDC_CS_AGNUS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,147,210,81,10\r
+    EDITTEXT        IDC_CS_AGNUSREV,232,208,45,13,ES_AUTOHSCROLL\r
+    CONTROL         "Denise/Lisa revision:",IDC_CS_DENISE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,147,226,81,10\r
+    EDITTEXT        IDC_CS_DENISEREV,232,225,45,13,ES_AUTOHSCROLL\r
+    CONTROL         "A590/A2091 SCSI",IDC_CS_A2091,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,174,76,10\r
+    CONTROL         "A4000T SCSI",IDC_CS_DMAC2,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,187,174,88,10\r
+    LTEXT           "A4091/A4000T SCSI not yet implemented.",IDC_STATIC,22,160,224,8,SS_CENTERIMAGE\r
+    CONTROL         "PCMCIA",IDC_CS_PCMCIA,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,187,133,92,10\r
+    CONTROL         "A4091 SCSI",IDC_CS_A4091,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,186,76,10\r
+    CONTROL         "CDTV SCSI",IDC_CS_CDTVSCSI,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,94,186,76,10\r
+    CONTROL         "Include host SCSI devices",IDC_CS_SCSIMODE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,187,186,101,10\r
+    CONTROL         "C00000 is Fast RAM",IDC_CS_SLOWISFAST,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,187,146,92,10\r
+END\r
+\r
+IDD_AVIOUTPUT DIALOGEX 0, 0, 288, 203\r
+STYLE DS_LOCALEDIT | DS_SETFONT | DS_CONTROL | WS_CHILD\r
+FONT 8, "MS Sans Serif", 0, 0, 0x1\r
+BEGIN\r
+    GROUPBOX        "Output Properties",IDC_STATIC,5,8,274,118\r
+    EDITTEXT        IDC_AVIOUTPUT_FILETEXT,15,21,226,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER,WS_EX_CLIENTEDGE\r
+    PUSHBUTTON      "...",IDC_AVIOUTPUT_FILE,249,20,19,12\r
+    CONTROL         "Audio",IDC_AVIOUTPUT_AUDIO,"Button",BS_AUTOCHECKBOX | BS_PUSHLIKE | BS_FLAT | WS_TABSTOP,15,36,39,11\r
+    CONTROL         "",IDC_AVIOUTPUT_AUDIO_STATIC,"Static",SS_LEFTNOWORDWRAP | SS_CENTERIMAGE | SS_SUNKEN | WS_GROUP,59,36,209,11\r
+    CONTROL         "Video",IDC_AVIOUTPUT_VIDEO,"Button",BS_AUTOCHECKBOX | BS_PUSHLIKE | BS_FLAT | WS_TABSTOP,15,50,39,11\r
+    CONTROL         "",IDC_AVIOUTPUT_VIDEO_STATIC,"Static",SS_LEFTNOWORDWRAP | SS_CENTERIMAGE | SS_SUNKEN | WS_GROUP,59,50,209,11\r
+    CONTROL         "Disable frame rate limit while recording",IDC_AVIOUTPUT_FRAMELIMITER,\r
+                    "Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,68,158,10\r
+    CONTROL         "AVI output enabled",IDC_AVIOUTPUT_ACTIVATED,"Button",BS_AUTORADIOBUTTON | BS_PUSHLIKE | BS_FLAT,15,103,108,14\r
+    CONTROL         "PAL",IDC_AVIOUTPUT_PAL,"Button",BS_AUTORADIOBUTTON | BS_PUSHLIKE | BS_FLAT,133,103,66,14\r
+    CONTROL         "NTSC",IDC_AVIOUTPUT_NTSC,"Button",BS_AUTORADIOBUTTON | BS_PUSHLIKE | BS_FLAT,204,103,66,14\r
+    CONTROL         "Slider1",IDC_AVIOUTPUT_FPS,"msctls_trackbar32",TBS_BOTH | TBS_NOTICKS | TBS_ENABLESELRANGE | WS_TABSTOP,166,84,87,11\r
+    LTEXT           "fps",IDC_AVIOUTPUT_FPS_STATIC,255,84,19,8\r
+    PUSHBUTTON      "Save screenshot",IDC_SCREENSHOT,16,141,76,14\r
+    GROUPBOX        "Ripper",IDC_STATIC,5,127,274,38\r
+    PUSHBUTTON      "Pro Wizard 1.62",IDC_PROWIZARD,100,141,76,14,WS_DISABLED\r
+    CONTROL         "Sample ripper",IDC_SAMPLERIPPER_ACTIVATED,"Button",BS_AUTORADIOBUTTON | BS_PUSHLIKE | BS_FLAT,192,141,77,14\r
+    GROUPBOX        "Input Recorder",IDC_STATIC,5,166,274,33\r
+    CONTROL         "Record",IDC_INPREC_RECORD,"Button",BS_AUTORADIOBUTTON | BS_PUSHLIKE | BS_FLAT,191,177,77,14\r
+    CONTROL         "Playback",IDC_INPREC_PLAY,"Button",BS_AUTORADIOBUTTON | BS_PUSHLIKE | BS_FLAT,16,178,77,14\r
+    CONTROL         "Alt. playback mode",IDC_INPREC_PLAYMODE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,103,180,78,10\r
+    CONTROL         "Disable sound output while recording",IDC_AVIOUTPUT_NOSOUNDOUTPUT,\r
+                    "Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,85,148,10\r
+END\r
+\r
+IDD_INPUT DIALOGEX 0, 0, 300, 242\r
+STYLE DS_LOCALEDIT | DS_SETFONT | DS_3DLOOK | DS_CONTROL | WS_CHILD\r
+FONT 8, "MS Sans Serif", 0, 0, 0x1\r
+BEGIN\r
+    COMBOBOX        IDC_INPUTTYPE,5,5,98,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\r
+    COMBOBOX        IDC_INPUTDEVICE,109,5,167,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\r
+    CONTROL         "",IDC_INPUTDEVICEDISABLE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,282,8,9,8\r
+    CONTROL         "List1",IDC_INPUTLIST,"SysListView32",LVS_REPORT | LVS_SINGLESEL | LVS_SHOWSELALWAYS | LVS_ALIGNLEFT | LVS_NOSORTHEADER | WS_BORDER | WS_TABSTOP,5,22,290,146\r
+    COMBOBOX        IDC_INPUTAMIGACNT,5,174,24,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\r
+    COMBOBOX        IDC_INPUTAMIGA,33,174,262,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\r
+    RTEXT           "Joystick dead zone (%):",-1,7,196,79,10,SS_CENTERIMAGE\r
+    EDITTEXT        IDC_INPUTDEADZONE,92,195,25,12,ES_NUMBER\r
+    RTEXT           "Autofire rate (frames):",-1,10,212,76,10,SS_CENTERIMAGE\r
+    EDITTEXT        IDC_INPUTAUTOFIRERATE,92,210,25,12,ES_NUMBER\r
+    RTEXT           "Digital joy-mouse speed:",-1,124,196,84,10,SS_CENTERIMAGE\r
+    EDITTEXT        IDC_INPUTSPEEDD,215,195,25,12,ES_NUMBER\r
+    RTEXT           "Analog joy-mouse speed:",-1,120,212,88,10,SS_CENTERIMAGE\r
+    EDITTEXT        IDC_INPUTSPEEDA,215,211,25,12,ES_NUMBER\r
+    RTEXT           "Mouse speed:",-1,132,228,76,10,SS_CENTERIMAGE\r
+    EDITTEXT        IDC_INPUTSPEEDM,215,227,25,12,ES_NUMBER\r
+    PUSHBUTTON      "Copy from:",IDC_INPUTCOPY,249,195,45,14\r
+    COMBOBOX        IDC_INPUTCOPYFROM,249,211,45,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\r
+    PUSHBUTTON      "Swap 1<>2",IDC_INPUTSWAP,249,226,45,14\r
+END\r
+\r
+IDD_FILTER DIALOGEX 0, 0, 296, 224\r
+STYLE DS_LOCALEDIT | DS_SETFONT | DS_3DLOOK | DS_CONTROL | WS_CHILD\r
+FONT 8, "MS Sans Serif", 0, 0, 0x1\r
+BEGIN\r
+    GROUPBOX        "Filter Settings",-1,0,0,294,186\r
+    CONTROL         "Enable",IDC_FILTERENABLE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,9,17,46,10\r
+    COMBOBOX        IDC_FILTERMODE,62,15,61,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\r
+    COMBOBOX        IDC_FILTERFILTER,128,15,81,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\r
+    PUSHBUTTON      "Reset to defaults",IDC_FILTERDEFAULT,213,15,73,14\r
+    RTEXT           "Horiz. size:",-1,4,44,54,10,SS_CENTERIMAGE\r
+    CONTROL         "Slider1",IDC_FILTERHZ,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,99,37,152,19\r
+    EDITTEXT        IDC_FILTERHZV,253,40,34,12,ES_CENTER | ES_READONLY\r
+    RTEXT           "Vert. size:",-1,5,64,54,10,SS_CENTERIMAGE\r
+    CONTROL         "Slider1",IDC_FILTERVZ,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,99,57,152,19\r
+    EDITTEXT        IDC_FILTERVZV,253,59,34,12,ES_CENTER | ES_READONLY\r
+    RTEXT           "Horiz. position:",-1,5,84,55,10,SS_CENTERIMAGE\r
+    CONTROL         "Slider1",IDC_FILTERHO,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,99,77,151,19\r
+    EDITTEXT        IDC_FILTERHOV,253,79,34,12,ES_CENTER | ES_READONLY\r
+    RTEXT           "Vert. position:",-1,5,103,55,10,SS_CENTERIMAGE\r
+    CONTROL         "Slider1",IDC_FILTERVO,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,99,99,151,19\r
+    EDITTEXT        IDC_FILTERVOV,253,101,34,12,ES_CENTER | ES_READONLY\r
+    RTEXT           "Extra settings:",-1,27,133,57,10,SS_CENTERIMAGE\r
+    CONTROL         "Slider1",IDC_FILTERXL,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,99,157,151,19\r
+    EDITTEXT        IDC_FILTERXLV,253,159,34,12,ES_CENTER | ES_READONLY\r
+    COMBOBOX        IDC_FILTERSLR,253,130,33,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\r
+    GROUPBOX        "Presets",-1,0,187,296,36\r
+    COMBOBOX        IDC_FILTERPRESETS,8,201,119,150,CBS_DROPDOWN | CBS_SORT | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\r
+    PUSHBUTTON      "Load",IDC_FILTERPRESETLOAD,132,200,47,14\r
+    PUSHBUTTON      "Save",IDC_FILTERPRESETSAVE,184,200,47,14\r
+    PUSHBUTTON      "Delete",IDC_FILTERPRESETDELETE,236,200,47,14\r
+    COMBOBOX        IDC_FILTERHZMULT,67,43,27,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\r
+    COMBOBOX        IDC_FILTERVZMULT,67,63,27,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\r
+    CONTROL         "Autoscale",IDC_FILTERAUTORES,"Button",BS_AUTOCHECKBOX | BS_LEFT | WS_GROUP | WS_TABSTOP,26,168,63,10\r
+    COMBOBOX        IDC_FILTERXTRA,105,130,138,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\r
+END\r
+\r
+IDD_HARDDRIVE DIALOGEX 0, 0, 380, 66\r
+STYLE DS_LOCALEDIT | DS_SETFONT | DS_MODALFRAME | DS_SETFOREGROUND | DS_3DLOOK | DS_CENTER | DS_CENTERMOUSE | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\r
+CAPTION "Harddrive Settings"\r
+FONT 8, "MS Sans Serif", 0, 0, 0x0\r
+BEGIN\r
+    LTEXT           "Hard drive:",IDC_STATIC,7,11,35,10\r
+    COMBOBOX        IDC_HARDDRIVE,49,9,325,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\r
+    CONTROL         "Read/write",IDC_HDF_RW,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,161,51,55,10\r
+    DEFPUSHBUTTON   "Add hard drive",IDOK,231,48,65,14\r
+    PUSHBUTTON      "Cancel",IDCANCEL,319,48,54,14\r
+    DEFPUSHBUTTON   "Create hard disk image file",IDC_HARDDRIVE_IMAGE,49,30,115,14\r
+    EDITTEXT        IDC_PATH_NAME,183,27,97,15,ES_AUTOHSCROLL | NOT WS_VISIBLE\r
+    COMBOBOX        IDC_HDF_CONTROLLER,102,50,41,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\r
+    RTEXT           "HD Controller:",IDC_STATIC,42,52,52,10,SS_CENTERIMAGE\r
+END\r
+\r
+IDD_MISC2 DIALOGEX 0, 0, 300, 92\r
+STYLE DS_LOCALEDIT | DS_SETFONT | DS_3DLOOK | DS_CONTROL | WS_CHILD\r
+FONT 8, "MS Sans Serif", 0, 0, 0x1\r
+BEGIN\r
+    GROUPBOX        "When Active",IDC_STATIC,8,7,88,73\r
+    RTEXT           "Run at priority:",IDC_ACTIVE_PRI,14,17,52,10,SS_CENTERIMAGE | WS_TABSTOP\r
+    COMBOBOX        IDC_ACTIVE_PRIORITY,14,29,76,65,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\r
+    GROUPBOX        "When Inactive",IDC_STATIC,102,7,92,73\r
+    RTEXT           "Run at priority:",IDC_INACTIVE_PRI,109,17,51,10,SS_CENTERIMAGE | WS_TABSTOP\r
+    COMBOBOX        IDC_INACTIVE_PRIORITY,109,29,76,65,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\r
+    CONTROL         "Pause emulation",IDC_INACTIVE_PAUSE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,109,50,69,10\r
+    CONTROL         "Disable sound",IDC_INACTIVE_NOSOUND,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,109,63,79,10\r
+    GROUPBOX        "When Minimized",IDC_STATIC,199,7,92,73\r
+    RTEXT           "Run at priority:",IDC_MINIMIZED_PRI,207,18,51,10,SS_CENTERIMAGE | WS_TABSTOP\r
+    COMBOBOX        IDC_MINIMIZED_PRIORITY,207,30,76,65,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\r
+    CONTROL         "Pause emulation",IDC_MINIMIZED_PAUSE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,207,50,69,10\r
+    CONTROL         "Disable sound",IDC_MINIMIZED_NOSOUND,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,207,63,79,10\r
+END\r
+\r
+IDD_DISK DIALOGEX 0, 0, 300, 242\r
+STYLE DS_LOCALEDIT | DS_SETFONT | DS_SETFOREGROUND | DS_3DLOOK | DS_CONTROL | DS_CENTER | DS_CENTERMOUSE | WS_CHILD\r
+FONT 8, "MS Sans Serif", 0, 0, 0x0\r
+BEGIN\r
+    CONTROL         "",IDC_DISKLIST,"SysListView32",LVS_REPORT | LVS_SINGLESEL | LVS_SHOWSELALWAYS | LVS_ALIGNLEFT | LVS_NOSORTHEADER | WS_BORDER | WS_TABSTOP,4,6,292,196\r
+    PUSHBUTTON      "Remove floppy disk image",IDC_DISKLISTREMOVE,149,223,101,15\r
+    COMBOBOX        IDC_DISKTEXT,3,205,293,75,CBS_DROPDOWN | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP\r
+    PUSHBUTTON      "Insert floppy disk image",IDC_DISKLISTINSERT,34,223,101,15\r
+END\r
+\r
+IDD_PANEL DIALOGEX 0, 0, 420, 278\r
+STYLE DS_LOCALEDIT | DS_SETFONT | DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_CAPTION | WS_SYSMENU\r
+EXSTYLE WS_EX_ACCEPTFILES | WS_EX_CONTROLPARENT\r
+CAPTION "WinUAE Properties"\r
+FONT 8, "MS Sans Serif", 0, 0, 0x0\r
+BEGIN\r
+    GROUPBOX        "",IDC_PANEL_FRAME,112,4,303,247,NOT WS_VISIBLE\r
+    CONTROL         "",IDC_PANELTREE,"SysTreeView32",TVS_HASLINES | TVS_SHOWSELALWAYS | TVS_NOSCROLL | WS_BORDER | WS_HSCROLL | WS_TABSTOP,5,5,101,248,WS_EX_CLIENTEDGE\r
+    GROUPBOX        "",IDC_PANEL_FRAME_OUTER,110,2,307,251\r
+    PUSHBUTTON      "Reset",IDC_RESETAMIGA,6,259,47,14\r
+    PUSHBUTTON      "Quit",IDC_QUITEMU,57,259,47,14\r
+    DEFPUSHBUTTON   "OK",IDOK,260,259,50,14\r
+    PUSHBUTTON      "Cancel",IDCANCEL,313,259,50,14\r
+    PUSHBUTTON      "Help",IDHELP,366,259,50,14,WS_DISABLED\r
+    PUSHBUTTON      "Restart",IDC_RESTARTEMU,109,259,47,14,NOT WS_VISIBLE\r
+END\r
+\r
+IDD_PATHS DIALOGEX 0, 0, 300, 237\r
+STYLE DS_LOCALEDIT | DS_SETFONT | DS_3DLOOK | DS_CONTROL | WS_CHILD\r
+FONT 8, "MS Sans Serif", 0, 0, 0x1\r
+BEGIN\r
+    LTEXT           "System ROMs:",IDC_PATHS_ROML,14,9,260,8,SS_CENTERIMAGE\r
+    EDITTEXT        IDC_PATHS_ROM,14,22,261,15,ES_AUTOHSCROLL\r
+    PUSHBUTTON      "...",IDC_PATHS_ROMS,281,22,11,15\r
+    LTEXT           "Configuration files:",IDC_PATHS_CONFIGL,14,40,260,8,SS_CENTERIMAGE\r
+    EDITTEXT        IDC_PATHS_CONFIG,14,52,261,15,ES_AUTOHSCROLL\r
+    PUSHBUTTON      "...",IDC_PATHS_CONFIGS,281,52,11,15\r
+    LTEXT           "Screenshots:",IDC_PATHS_SCREENSHOTL,14,71,260,8,SS_CENTERIMAGE\r
+    EDITTEXT        IDC_PATHS_SCREENSHOT,14,83,261,15,ES_AUTOHSCROLL\r
+    PUSHBUTTON      "...",IDC_PATHS_SCREENSHOTS,281,83,11,15\r
+    LTEXT           "State files:",IDC_PATHS_STATEFILEL,14,102,260,8,SS_CENTERIMAGE\r
+    EDITTEXT        IDC_PATHS_SAVESTATE,14,114,261,15,ES_AUTOHSCROLL\r
+    PUSHBUTTON      "...",IDC_PATHS_SAVESTATES,281,114,11,15\r
+    LTEXT           "Videos:",IDC_PATHS_AVIOUTPUTL,14,132,260,8,SS_CENTERIMAGE\r
+    EDITTEXT        IDC_PATHS_AVIOUTPUT,14,144,261,15,ES_AUTOHSCROLL\r
+    PUSHBUTTON      "...",IDC_PATHS_AVIOUTPUTS,282,144,11,15\r
+    LTEXT           "Saveimages:",IDC_PATHS_SAVEIMAGEL,14,163,260,8,SS_CENTERIMAGE\r
+    EDITTEXT        IDC_PATHS_SAVEIMAGE,14,175,261,15,ES_AUTOHSCROLL\r
+    PUSHBUTTON      "...",IDC_PATHS_SAVEIMAGES,281,175,11,15\r
+    PUSHBUTTON      "Reset to defaults",IDC_PATHS_DEFAULT,14,199,92,14\r
+    PUSHBUTTON      "Rescan ROMs",IDC_ROM_RESCAN,14,218,92,14\r
+    PUSHBUTTON      "Clear registry",IDC_RESETREGISTRY,112,218,77,14\r
+    COMBOBOX        IDC_PATHS_DEFAULTTYPE,112,199,163,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\r
+    PUSHBUTTON      "Clear disk history",IDC_RESETDISKHISTORY,198,218,77,14\r
+END\r
+\r
+IDD_QUICKSTART DIALOGEX 0, 0, 300, 242\r
+STYLE DS_LOCALEDIT | DS_SETFONT | DS_3DLOOK | DS_CONTROL | WS_CHILD\r
+FONT 8, "MS Sans Serif", 0, 0, 0x1\r
+BEGIN\r
+    GROUPBOX        "Emulated Hardware",IDC_QUICKSTART_CONFIG,3,0,294,54\r
+    RTEXT           "Model:",IDC_STATIC,5,14,50,10,SS_CENTERIMAGE\r
+    COMBOBOX        IDC_QUICKSTART_MODEL,59,12,233,50,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\r
+    RTEXT           "Configuration:",IDC_STATIC,5,33,50,10,SS_CENTERIMAGE\r
+    COMBOBOX        IDC_QUICKSTART_CONFIGURATION,59,31,233,50,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\r
+    GROUPBOX        "Compatibility vs Required CPU Power ",IDC_QUICKSTART_COMPA,3,56,294,33\r
+    RTEXT           "Best compatibility",IDC_STATIC,13,70,67,10,SS_CENTERIMAGE\r
+    CONTROL         "",IDC_QUICKSTART_COMPATIBILITY,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,88,65,115,21\r
+    RTEXT           "Low compatibility",IDC_STATIC,215,70,63,10,SS_CENTERIMAGE\r
+    GROUPBOX        "Host Configuration",IDC_QUICKSTART_HOST,3,91,294,33\r
+    RTEXT           "Configuration:",IDC_STATIC,5,105,55,10,SS_CENTERIMAGE\r
+    COMBOBOX        IDC_QUICKSTART_HOSTCONFIG,65,103,225,50,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\r
+    GROUPBOX        "Emulated Floppy Drives",IDC_QUICKSTART_DF,3,126,294,84\r
+    CONTROL         "Floppy drive DF0:",IDC_DF0QENABLE,"Button",BS_AUTOCHECKBOX | WS_DISABLED | WS_TABSTOP,10,136,72,15\r
+    PUSHBUTTON      "Select disk image",IDC_DF0QQ,85,136,98,15\r
+    RTEXT           "Write-protected",IDC_STATIC,185,139,56,10,SS_CENTERIMAGE\r
+    CONTROL         "",IDC_DF0WPQ,"Button",BS_AUTOCHECKBOX | BS_MULTILINE | WS_TABSTOP,246,137,10,15\r
+    PUSHBUTTON      "Eject",IDC_EJECT0Q,261,136,30,15\r
+    COMBOBOX        IDC_DF0TEXTQ,9,154,282,75,CBS_DROPDOWN | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP\r
+    CONTROL         "Floppy drive DF1:",IDC_DF1QENABLE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,10,172,71,15\r
+    PUSHBUTTON      "Select disk image",IDC_DF1QQ,85,172,98,15\r
+    RTEXT           "Write-protected",IDC_STATIC,185,175,55,10,SS_CENTERIMAGE\r
+    CONTROL         "",IDC_DF1WPQ,"Button",BS_AUTOCHECKBOX | BS_MULTILINE | WS_TABSTOP,246,173,10,15\r
+    PUSHBUTTON      "Eject",IDC_EJECT1Q,261,172,30,15\r
+    COMBOBOX        IDC_DF1TEXTQ,9,190,282,75,CBS_DROPDOWN | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP\r
+    PUSHBUTTON      "Set configuration",IDC_QUICKSTART_SETCONFIG,9,219,72,15,NOT WS_VISIBLE\r
+    GROUPBOX        "Mode",IDC_STATIC,190,211,107,27,BS_LEFT\r
+    CONTROL         "Start in Quickstart mode",IDC_QUICKSTARTMODE,"Button",BS_AUTOCHECKBOX | BS_LEFT | WS_TABSTOP,197,222,94,10\r
+END\r
+\r
+IDD_FRONTEND DIALOGEX 0, 0, 420, 242\r
+STYLE DS_LOCALEDIT | DS_SETFONT | DS_3DLOOK | DS_CONTROL | WS_CHILD\r
+FONT 8, "MS Sans Serif", 0, 0, 0x1\r
+BEGIN\r
+    CONTROL         "",IDC_FE_LIST,"SysListView32",LVS_REPORT | LVS_SINGLESEL | LVS_SHOWSELALWAYS | LVS_ALIGNLEFT | LVS_NOSORTHEADER | WS_BORDER | WS_TABSTOP,6,9,235,124\r
+    GROUPBOX        "",IDC_FE_INFO,249,140,160,95\r
+    GROUPBOX        "",IDC_FE_SCREENSHOT,249,7,160,128\r
+END\r
+\r
+IDD_PROGRESSBAR DIALOGEX 0, 0, 229, 58\r
+STYLE DS_LOCALEDIT | DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\r
+CAPTION "Processing..."\r
+FONT 8, "MS Sans Serif", 0, 0, 0x0\r
+BEGIN\r
+    PUSHBUTTON      "Cancel",IDCANCEL,88,40,50,14\r
+    CONTROL         "",IDC_PROGRESSBAR,"msctls_progress32",PBS_SMOOTH | WS_BORDER,7,19,215,14\r
+    CTEXT           "x",IDC_PROGRESSBAR_TEXT,23,5,187,10,SS_CENTERIMAGE | WS_TABSTOP\r
+END\r
+\r
+IDD_STRINGBOX DIALOGEX 0, 0, 229, 58\r
+STYLE DS_LOCALEDIT | DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\r
+CAPTION "Enter text..."\r
+FONT 8, "MS Sans Serif", 0, 0, 0x0\r
+BEGIN\r
+    DEFPUSHBUTTON   "OK",IDOK,48,39,50,14\r
+    PUSHBUTTON      "Cancel",IDCANCEL,151,39,50,14\r
+    EDITTEXT        IDC_STRINGBOXEDIT,7,17,214,14,ES_AUTOHSCROLL | ES_WANTRETURN\r
+    CTEXT           "Custom input event",IDC_STRINGBOX_TEXT,23,5,187,10,SS_CENTERIMAGE | WS_TABSTOP\r
+END\r
+\r
+IDD_DEBUGGER DIALOGEX 0, 0, 454, 368\r
+STYLE DS_LOCALEDIT | DS_SETFONT | DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_CAPTION | WS_THICKFRAME\r
+EXSTYLE WS_EX_CONTROLPARENT\r
+CAPTION "WinUAE Debugger"\r
+FONT 8, "Courier New", 0, 0, 0x0\r
+BEGIN\r
+    EDITTEXT        IDC_DBG_OUTPUT1,1,79,370,262,ES_MULTILINE | ES_AUTOVSCROLL | ES_READONLY | ES_WANTRETURN | WS_VSCROLL | NOT WS_TABSTOP\r
+    EDITTEXT        IDC_DBG_OUTPUT2,1,79,370,262,ES_MULTILINE | ES_AUTOVSCROLL | ES_READONLY | ES_WANTRETURN | WS_VSCROLL | NOT WS_TABSTOP\r
+    LISTBOX         IDC_DBG_MEM,1,92,370,249,LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT\r
+    LISTBOX         IDC_DBG_DASM,1,92,370,249,LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT\r
+    EDITTEXT        IDC_DBG_MEMINPUT,1,79,36,12,ES_AUTOHSCROLL | ES_WANTRETURN\r
+    EDITTEXT        IDC_DBG_INPUT,1,342,354,12,ES_AUTOHSCROLL | ES_WANTRETURN\r
+    PUSHBUTTON      "?",IDC_DBG_HELP,356,342,15,12,NOT WS_TABSTOP\r
+    PUSHBUTTON      "Set to PC",IDC_DBG_MEMTOPC,38,79,45,12,NOT WS_TABSTOP\r
+    LISTBOX         IDC_DBG_DREG,1,1,52,66,LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT\r
+    LISTBOX         IDC_DBG_AREG,54,1,52,66,LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT\r
+    LISTBOX         IDC_DBG_AMEM,106,1,231,66,LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT\r
+    LISTBOX         IDC_DBG_CCR,338,1,57,42,LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT\r
+    LISTBOX         IDC_DBG_SP_VBR,338,44,115,34,LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT\r
+    LISTBOX         IDC_DBG_MMISC,396,1,57,42,LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT\r
+    LISTBOX         IDC_DBG_PC,1,68,52,10,LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT\r
+    LISTBOX         IDC_DBG_PREFETCH,54,68,283,10,LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT\r
+    LISTBOX         IDC_DBG_FPREG,372,218,81,66,LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT\r
+    LISTBOX         IDC_DBG_FPSR,372,285,81,34,LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT\r
+    LISTBOX         IDC_DBG_MISCCPU,372,320,81,34,LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT\r
+    CONTROL         "",IDC_DBG_STATUS,"msctls_statusbar32",0x103,0,355,453,12\r
+    LISTBOX         IDC_DBG_BRKPTS,1,79,370,262,LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | LBS_DISABLENOSCROLL | WS_VSCROLL\r
+    LISTBOX         IDC_DBG_MCUSTOM,372,79,81,138,LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT\r
+    LISTBOX         IDC_DBG_MISC,1,79,370,262,LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | LBS_DISABLENOSCROLL | WS_VSCROLL\r
+    LISTBOX         IDC_DBG_CUSTOM,1,79,370,262,LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | LBS_DISABLENOSCROLL | WS_VSCROLL\r
+END\r
+\r
+\r
+/////////////////////////////////////////////////////////////////////////////\r
+//\r
+// Icon\r
+//\r
+\r
+// Icon with lowest ID value placed first to ensure application icon\r
+// remains consistent on all systems.\r
+IDI_APPICON             ICON                    "winuae.ico"\r
+IDI_FLOPPY              ICON                    "35floppy.ico"\r
+IDI_ABOUT               ICON                    "amigainfo.ico"\r
+IDI_HARDDISK            ICON                    "Drive.ico"\r
+IDI_CPU                 ICON                    "cpu.ico"\r
+IDI_PORTS               ICON                    "joystick.ico"\r
+IDI_INPUT               ICON                    "joystick.ico"\r
+IDI_MISC1               ICON                    "misc.ico"\r
+IDI_MISC2               ICON                    "misc.ico"\r
+IDI_MOVE_UP             ICON                    "move_up.ico"\r
+IDI_MOVE_DOWN           ICON                    "move_dow.ico"\r
+IDI_AVIOUTPUT           ICON                    "avioutput.ico"\r
+IDI_DISK                ICON                    "Drive.ico"\r
+IDI_CONFIGFILE          ICON                    "file.ico"\r
+IDI_FOLDER              ICON                    "folder.ico"\r
+IDI_SOUND               ICON                    "sound.ico"\r
+IDI_DISPLAY             ICON                    "screen.ico"\r
+IDI_ROOT                ICON                    "root.ico"\r
+IDI_MEMORY              ICON                    "chip.ico"\r
+IDI_QUICKSTART          ICON                    "quickstart.ico"\r
+IDI_PATHS               ICON                    "paths.ico"\r
+\r
+/////////////////////////////////////////////////////////////////////////////\r
+//\r
+// Version\r
+//\r
+\r
+VS_VERSION_INFO VERSIONINFO\r
+ FILEVERSION 1,4,5,0\r
+ PRODUCTVERSION 1,4,5,0\r
+ FILEFLAGSMASK 0x3fL\r
+#ifdef _DEBUG\r
+ FILEFLAGS 0x1L\r
+#else\r
+ FILEFLAGS 0x0L\r
+#endif\r
+ FILEOS 0x40004L\r
+ FILETYPE 0x1L\r
+ FILESUBTYPE 0x0L\r
+BEGIN\r
+    BLOCK "StringFileInfo"\r
+    BEGIN\r
+        BLOCK "040904b0"\r
+        BEGIN\r
+            VALUE "FileDescription", "WinUAE"\r
+            VALUE "FileVersion", "1.4.5"\r
+            VALUE "InternalName", "WinUAE"\r
+            VALUE "LegalCopyright", "© 1996-2007 under the GNU Public License (GPL)"\r
+            VALUE "OriginalFilename", "WinUAE.exe"\r
+            VALUE "ProductName", "WinUAE"\r
+            VALUE "ProductVersion", "1.4.5"\r
+        END\r
+    END\r
+    BLOCK "VarFileInfo"\r
+    BEGIN\r
+        VALUE "Translation", 0x409, 1200\r
+    END\r
+END\r
+\r
+\r
+/////////////////////////////////////////////////////////////////////////////\r
+//\r
+// Cursor\r
+//\r
+\r
+IDC_MYHAND              CURSOR                  "H_arrow.cur"\r
+\r
+/////////////////////////////////////////////////////////////////////////////\r
+//\r
+// Menu\r
+//\r
+\r
+IDM_SYSTRAY MENU \r
+BEGIN\r
+    POPUP "Menu"\r
+    BEGIN\r
+        MENUITEM "Configuration",               ID_ST_CONFIGURATION\r
+        POPUP "Floppy drives"\r
+        BEGIN\r
+            MENUITEM "Eject all drives",            ID_ST_EJECTALL\r
+            MENUITEM "DF0:",                        ID_ST_DF0\r
+            MENUITEM "DF1:",                        ID_ST_DF1\r
+            MENUITEM "DF2:",                        ID_ST_DF2\r
+            MENUITEM "DF3:",                        ID_ST_DF3\r
+        END\r
+        MENUITEM "Reset",                       ID_ST_RESET\r
+        MENUITEM "Help",                        ID_ST_HELP\r
+        MENUITEM "Quit WinUAE",                 ID_ST_QUIT\r
+    END\r
+END\r
+\r
+\r
+/////////////////////////////////////////////////////////////////////////////\r
+//\r
+// WAVE\r
+//\r
+\r
+IDR_DRIVE_STARTUP_A500_1 WAVE                    "drive_startup.wav"\r
+IDR_DRIVE_CLICK_A500_1  WAVE                    "drive_click.wav"\r
+IDR_DRIVE_SPIN_A500_1   WAVE                    "drive_spin.wav"\r
+IDR_DRIVE_SNATCH_A500_1 WAVE                    "drive_snatch.wav"\r
+IDR_DRIVE_SPINND_A500_1 WAVE                    "drive_spinnd.wav"\r
+\r
+/////////////////////////////////////////////////////////////////////////////\r
+//\r
+// Bitmap\r
+//\r
+\r
+IDB_XARCADE             BITMAP                  "xarcade-winuae.bmp"\r
+IDB_LCD160X43           BITMAP                  "lcd.bmp"\r
+\r
+/////////////////////////////////////////////////////////////////////////////\r
+//\r
+// DESIGNINFO\r
+//\r
+\r
+#ifdef APSTUDIO_INVOKED\r
+GUIDELINES DESIGNINFO \r
+BEGIN\r
+    IDD_HARDFILE, DIALOG\r
+    BEGIN\r
+        BOTTOMMARGIN, 224\r
+    END\r
+END\r
+#endif    // APSTUDIO_INVOKED\r
+\r
+\r
+/////////////////////////////////////////////////////////////////////////////\r
+//\r
+// String Table\r
+//\r
+\r
+STRINGTABLE \r
+BEGIN\r
+    IDS_KICKSTART           "ROM"\r
+    IDS_DISK                "Disk swapper"\r
+    IDS_DISPLAY             "Display"\r
+    IDS_HARDDISK            "Hard drives"\r
+    IDS_FLOPPY              "Floppy drives"\r
+    IDS_ABOUT               "About"\r
+    IDS_LOADSAVE            "Configurations"\r
+    IDS_AVIOUTPUT           "Output"\r
+    IDS_PORTS               "Game & I/O ports"\r
+    IDS_MISC1               "Misc"\r
+    IDS_MEMORY              "RAM"\r
+    IDS_CPU                 "CPU and FPU"\r
+    IDS_CHIPSET             "Chipset"\r
+    IDS_INPUT               "Input"\r
+    IDS_FILTER              "Filter"\r
+END\r
+\r
+STRINGTABLE \r
+BEGIN\r
+    IDS_MISC2               "Priority"\r
+    IDS_PATHS               "Paths"\r
+    IDS_QUICKSTART          "Quickstart"\r
+    IDS_FRONTEND            "Frontend"\r
+    IDS_CHIPSET2            "Adv. Chipset"\r
+END\r
+\r
+STRINGTABLE \r
+BEGIN\r
+    IDS_EXTTEXT             "Floppy disk image files"\r
+    IDS_EXTACTUAL           "ADF"\r
+    IDS_SOUND               "Sound"\r
+    IDS_CDROM               "CD-ROM"\r
+    IDS_FRAMERATE           "Every %1Frame"\r
+    IDS_SECOND              "second "\r
+    IDS_THIRD               "third "\r
+    IDS_FOURTH              "fourth "\r
+    IDS_FIFTH               "fifth "\r
+    IDS_SIXTH               "sixth "\r
+    IDS_SEVENTH             "seventh "\r
+    IDS_EIGHTH              "eighth "\r
+END\r
+\r
+STRINGTABLE \r
+BEGIN\r
+    IDS_NINTH               "ninth "\r
+    IDS_TENTH               "tenth "\r
+    IDS_SELECTADF           "Select a floppy disk image file..."\r
+    IDS_ADF                 "Floppy disk image files"\r
+    IDS_CHOOSEBLANK         "Choose a blank floppy disk image file..."\r
+    IDS_SELECTHDF           "Select a hard disk image file..."\r
+    IDS_HDF                 "Hard disk image files"\r
+    IDS_SELECTUAE           "Select a WinUAE configuration file..."\r
+    IDS_UAE                 "WinUAE configuration files"\r
+    IDS_SELECTROM           "Select a system ROM file..."\r
+    IDS_ROM                 "System ROM files"\r
+    IDS_SELECTKEY           "Select a system ROM key file..."\r
+    IDS_KEY                 "System ROM key files"\r
+    IDS_SELECTINFO          "Select information for your configuration..."\r
+    IDS_NONE                "none"\r
+    IDS_VOLUME              "Volume"\r
+END\r
+\r
+STRINGTABLE \r
+BEGIN\r
+    IDS_SELECTFILESYSROOT   "Please select the root directory of the file system..."\r
+    IDS_DEFAULTMIDIOUT      "Default MIDI-Out Device"\r
+    IDS_CONTRIBUTORS1       "Bernd Schmidt - The Grand-Master\nSam Jordan - Custom-chip, floppy-DMA, etc.\nMathias Ortmann - Original WinUAE Main Guy, BSD Socket support\nBrian King - Picasso96 Support, Integrated GUI for WinUAE, previous WinUAE Main Guy\nToni Wilen - Core updates, WinUAE Main Guy\nGustavo Goedert/Peter Remmers/Michael Sontheimer/Tomi Hakala/Tim Gunn/Nemo Pohle - DOS Port Stuff\nSamuel Devulder/Olaf Barthel/Sam Jordan - Amiga Ports\nKrister Bergman - XFree86 and OS/2 Port\nA. Blanchard/Ernesto Corvi - MacOS Port\nChristian Bauer - BeOS Port\nIan Stephenson - NextStep Port\nPeter Teichmann - Acorn/RiscOS Port\nStefan Reinauer - ZorroII/III AutoConfig, Serial Support\nChristian Schmitt/Chris Hames - Serial Support\nHerman ten Brugge - 68020/68881 Emulation Code\nTauno Taipaleenmaki - Various UAE-Control/UAE-Library Support\nBrett Eden/Tim Gunn/Paolo Besser/Nemo Pohle - Various Docs and Web-Sites\nGeorg Veichtlbauer - Help File coordinator, German GUI\nFulvio Leonardi - Italian translator for WinUAE\n"\r
+    IDS_CONTRIBUTORS2       "Bill Panagouleas - Hardware support\nSpecial thanks to Alexander Kneer and Tobias Abt (The Picasso96 Team)\nSteven Weiser  - Postscript printing emulation idea and testing.\nPéter Tóth /Balázs Rátkai/Iván Herczeg/András Arató - Hungarian translation.\nKarsten Bock, Gavin Fance, Dirk Trowe, Christoph Meier and Christian Schindler - Freezer cartridge hardware support."\r
+    IDS_INVALIDPRTPORT      "The printer you have in this configuration is not valid on this machine.\n"\r
+    IDS_RESTOREUSS          "Restore a WinUAE snapshot file"\r
+    IDS_USS                 "WinUAE snapshot files"\r
+    IDS_WRONGOSVERSION      "WinUAE is no longer supported on Windows NT.  Please upgrade to either Windows 2000 or Windows XP or a later version."\r
+    IDS_SELECTFLASH         "Select a flash or battery-backed RAM file..."\r
+    IDS_FLASH               "WinUAE flash or battery-backed RAM file"\r
+    IDS_INPUTHOSTWIDGET     "Input source"\r
+    IDS_INPUTAMIGAEVENT     "Input target"\r
+    IDS_INPUTAUTOFIRE       "Autofire"\r
+    IDS_SAVEUSS             "Save a WinUAE snapshot file"\r
+    IDS_MIDIOVERFLOW        "Sysexbuffer overflow. Should not happen. Please report this to\nberndroesch1@compuserve.de"\r
+END\r
+\r
+STRINGTABLE \r
+BEGIN\r
+    IDS_PATH                "Path"\r
+    IDS_RW                  "R/W"\r
+    IDS_SECTORS             "Sectors"\r
+    IDS_SURFACES            "Bill Panagouleas - Hardware support\nSpecial thanks to Alexander Kneer and Tobias Abt (The Picasso96 Team)\nSteven Weiser  - Postscript printing emulation idea and testing.\nHungarian translation - Péter Tóth , Balázs Rátkai , Iván Herczeg , András Arató"\r
+    IDS_RESERVED            "Reserved"\r
+    IDS_BLOCKSIZE           "Block size"\r
+    IDS_NAME                "Name"\r
+    IDS_DESCRIPTION         "Description"\r
+    IDS_COULDNOTLOADCONFIG  "Could not load the selected configuration!\n"\r
+    IDS_NOHELP              "Online help is disabled because the HTML Help functionality is not installed on this system. HTML Help is available from http://www.microsoft.com/downloads/.\n"\r
+    IDS_MUSTSELECTCONFIG    "You must select a configuration or enter a name before selecting Load...\n"\r
+    IDS_INVALIDCOMPORT      "The serial port you have in this configuration is not valid on this machine.\n"\r
+END\r
+\r
+STRINGTABLE \r
+BEGIN\r
+    IDS_HFDSIZE             "Size"\r
+    IDS_DEVICE              "Device"\r
+    IDS_BOOTPRI             "BootPri"\r
+    IDS_FLOPPY_COMPATIBLE   " (compatible)"\r
+    IDS_FLOPPY_TURBO        "Turbo"\r
+    IDS_YES                 "yes"\r
+    IDS_NO                  "no"\r
+    IDS_PRI_ABOVENORMAL     "Above Normal"\r
+    IDS_PRI_NORMAL          "Normal"\r
+    IDS_PRI_BELOWNORMAL     "Below Normal"\r
+    IDS_PRI_LOW             "Low"\r
+    IDS_OLDRTGLIBRARY       "The installed LIBS:Picasso96/rtg.library (%d.%d) should be updated.\nA newer version is included in the ""Amiga Programs"" directory\n of the WinUAE distribution archive.\n\nNewer library version fixes graphics problems and increases performance."\r
+    IDS_DEFAULT_AF2005      "Amiga Forever 2005+"\r
+    IDS_DEFAULT_AF          "Amiga Forever"\r
+    IDS_DEFAULT_WINUAE      "WinUAE default (old)"\r
+END\r
+\r
+STRINGTABLE \r
+BEGIN\r
+    IDS_SOUND_STEREO2       "Cloned Stereo (4 Channels)"\r
+    IDS_INPUT_CUSTOMEVENT   "<Custom event>"\r
+    IDS_DEFAULT_NEWWINUAE   "WinUAE default (new)"\r
+END\r
+\r
+STRINGTABLE \r
+BEGIN\r
+    IDS_UNSUPPORTEDPIXELFORMAT \r
+                            "Error: unsupported pixel format. Please use a different screen mode.\n"\r
+    IDS_MUSTENTERNAME       "You must select a configuration or enter a name before selecting Save...\n"\r
+    IDS_MUSTSELECTCONFIGFORDELETE \r
+                            "You must select a configuration or enter a name before selecting Delete...\n"\r
+    IDS_DELETECONFIGCONFIRMATION \r
+                            "Are you sure you want to Delete this configuration?\n"\r
+    IDS_DELETECONFIGTITLE   "Confirm Delete"\r
+    IDS_MUSTSELECTPATH      "You must select a path!"\r
+    IDS_SETTINGSERROR       "Settings error"\r
+    IDS_MUSTSELECTNAME      "You must select a name for the volume!"\r
+    IDS_MUSTSELECTFILE      "You must select a file!"\r
+    IDS_FAILEDHARDFILECREATION "Failed to create hard disk image file..."\r
+    IDS_CREATIONERROR       "Creation error"\r
+    IDS_ERRORTITLE          "WinUAE message"\r
+END\r
+\r
+STRINGTABLE \r
+BEGIN\r
+    IDS_INP                 "WinUAE Input Recording"\r
+    IDS_RESTOREINP          "Playback a WinUAE input recording"\r
+    IDS_SAVEINP             "Record a WinUAE input recording"\r
+    IDS_SCREEN_WINDOWED     "Windowed"\r
+    IDS_SCREEN_FULLSCREEN   "Fullscreen"\r
+    IDS_SCREEN_FULLWINDOW   "Full-window"\r
+    IDS_SCREEN_VSYNC        "VSync"\r
+    IDS_SOUND_MONO          "Mono"\r
+    IDS_SOUND_MIXED         "Mixed"\r
+    IDS_SOUND_STEREO        "Stereo"\r
+    IDS_SOUND_INTERPOL_DISABLED "Disabled"\r
+    IDS_SOUND_FILTER_OFF    "Always off"\r
+    IDS_SOUND_FILTER_EMULATED "Emulated (A500)"\r
+END\r
+\r
+STRINGTABLE \r
+BEGIN\r
+    IDS_SOUND_FILTER_EMULATED_E "Emulated (A1200)"\r
+    IDS_INPUT_COMPATIBILITY "Compatibility mode"\r
+    IDS_INPUT_CUSTOM        "Configuration #%d"\r
+    IDS_INPUT_COPY_DEFAULT  "Default"\r
+    IDS_INPUT_COPY_CUSTOM   "Config #%d"\r
+    IDS_3D_NO_FILTER        "Point (%d-bit)"\r
+    IDS_3D_BILINEAR         "Bilinear (%d-bit)"\r
+    IDS_VSYNC_DEFAULT       "Default"\r
+    IDS_DRIVESOUND_NONE     "No sound"\r
+    IDS_DRIVESOUND_DEFAULT_A500 "A500 (WinUAE built-in)"\r
+    IDS_AVIOUTPUT_NOCODEC   "no codec selected"\r
+    IDS_DISK_IMAGENAME      "Disk image"\r
+    IDS_DISK_DRIVENAME      "Drive"\r
+    IDS_AGA8BIT             "AGA emulation requires a 16-bit or higher display depth.\nSwitching from 8-bit to 16-bit."\r
+    IDS_UNSUPPORTEDSCREENMODE \r
+                            "The selected screen mode can't be displayed in a window, because %s\nSwitching to full-screen display."\r
+    IDS_UNSUPPORTEDSCREENMODE_1 \r
+                            "the desktop is running in an unknown color mode."\r
+END\r
+\r
+STRINGTABLE \r
+BEGIN\r
+    IDS_UNSUPPORTEDSCREENMODE_2 \r
+                            "the desktop is running in 8-bit color depth, which WinUAE can't use in windowed mode."\r
+    IDS_UNSUPPORTEDSCREENMODE_3 \r
+                            "the desktop is too small for the specified window size."\r
+    IDS_UNSUPPORTEDSCREENMODE_4 \r
+                            "you selected an RTG (Picasso96) display with a color depth different from that of the desktop and an overlay was unavailable."\r
+    IDS_FLOPPYTYPE35DD      "3.5"" DD"\r
+    IDS_FLOPPYTYPE35HD      "3.5"" HD"\r
+    IDS_FLOPPYTYPE525SD     "5.25"" SD"\r
+    IDS_FLOPPYTYPEDISABLED  "Disabled"\r
+    IDS_STMENUNOFLOPPY      "No floppy disk inserted"\r
+    IDS_TREEVIEW_HARDWARE   "Hardware"\r
+    IDS_TREEVIEW_HOST       "Host"\r
+    IDS_TREEVIEW_MISC       "Miscellaneous"\r
+    IDS_TREEVIEW_SETTINGS   "Settings"\r
+    IDS_WINUAETITLE_MMB     "[Mouse active - press ALT+TAB or middle mouse button to cancel]"\r
+    IDS_WINUAETITLE_NORMAL  "[Mouse active - press ALT+TAB to cancel]"\r
+    IDS_STARTEMULATION      "Start"\r
+    IDS_TREEVIEW_ABOUT      "About"\r
+END\r
+\r
+STRINGTABLE \r
+BEGIN\r
+    IDS_NOHARDDRIVES        "No hard disks detected that were either empty or RDB-partitioned."\r
+    IDS_DEFAULT_HOST        "Default Configuration"\r
+    IDS_SOUND_4CHANNEL      "4 Channels"\r
+    IDS_HF_FS_CUSTOM        "Custom"\r
+    IDS_SELECTFS            "Select file system handler (FastFileSystem, SmartFilesystem, etc.)"\r
+    IDS_KEYJOY              "Keyboard Layout A (Numeric keypad, 0 and 5 = Fire)\nKeyboard Layout B (Cursor keys, Right CTRL and ALT = Fire)\nKeyboard Layout C (W=Up S=Down A=Left D=Right, Left ALT = Fire)\nX-Arcade (Left)\nX-Arcade (Right)"\r
+    IDS_STATEFILE_UNCOMPRESSED "Uncompressed"\r
+    IDS_STATEFILE_RAMDUMP   "RAM dump"\r
+    IDS_STATEFILE_WAVE      "Wave audio dump"\r
+    IDS_SOUND_SWAP_PAULA    "Paula only"\r
+    IDS_SOUND_SWAP_AHI      "AHI only"\r
+    IDS_SOUND_SWAP_BOTH     "Both"\r
+    IDS_SOUND_FILTER_ON_AGA "Always on (A500)"\r
+    IDS_SOUND_FILTER_ON_A500 "Always on (A1200)"\r
+    IDS_DRIVESOUND_PC_FLOPPY "PC floppy drive %c"\r
+    IDS_FLOPPYTYPE35DDESCOM "3.5"" ESCOM"\r
+END\r
+\r
+STRINGTABLE \r
+BEGIN\r
+    IDS_NUMSG_NEEDEXT2      "The software uses a non-standard floppy disk format. You may need to use a custom floppy disk image file instead of a standard one. This message will not appear again."\r
+    IDS_NUMSG_NOROMKEY      "Could not find system ROM key file."\r
+    IDS_NUMSG_KSROMCRCERROR "System ROM checksum incorrect. The system ROM image file may be corrupt."\r
+    IDS_NUMSG_KSROMREADERROR "Error while reading system ROM."\r
+END\r
+\r
+STRINGTABLE \r
+BEGIN\r
+    IDS_NUMSG_NOEXTROM      "No extended ROM found."\r
+    IDS_NUMSG_MODRIP_NOTFOUND "No music modules or packed data found."\r
+    IDS_NUMSG_MODRIP_FINISHED "Scan finished."\r
+    IDS_NUMSG_MODRIP_SAVE   "Module/packed data found\n%s\nStart address %08.8X, Size %d bytes\nWould you like to save it?"\r
+    IDS_NUMSG_KS68020       "The selected system ROM requires a 68020 with 32-bit addressing or 68030 or higher CPU."\r
+    IDS_NUMSG_ROMNEED       "One of the following system ROMs is required:\n\n%s\n\nCheck the System ROM path in the Paths panel and click Rescan ROMs."\r
+    IDS_NUMSG_STATEHD       "WARNING: Current configuration is not fully compatible with state saves.\nThis message will not appear again."\r
+    IDS_NUMSG_NOCAPS        "Selected disk image needs the SPS plugin\nwhich is available from\nhttp//www.softpres.org/"\r
+    IDS_NUMSG_OLDCAPS       "You need an updated SPS plugin\nwhich is available from\nhttp//www.softpres.org/"\r
+    IDS_IMGCHK_BOOTBLOCKCRCERROR \r
+                            "The selected floppy disk image is not bootable (boot block checksum error)"\r
+    IDS_IMGCHK_BOOTBLOCKNO  "The selected floppy disk image is not bootable (no boot block)"\r
+    IDS_IMGCHK_DAMAGED      "The selected floppy disk image is damaged or unformatted"\r
+    IDS_IMGCHK_KS2          "The selected floppy disk image requires a 2.04 or later system ROM.\nThe configuration has been updated."\r
+    IDS_IMGCHK_KS3          "The selected floppy disk image requires a 3.0 or later system ROM.\nThe configuration has been updated."\r
+    IDS_ROMSCANEND          "Scan of ROMs finished"\r
+END\r
+\r
+STRINGTABLE \r
+BEGIN\r
+    IDS_ROM_AVAILABLE       "available"\r
+    IDS_ROM_UNAVAILABLE     "unavailable"\r
+    IDS_HARDDRIVESAFETYWARNING1 \r
+                            "Warning: The drive safety check is active. Selected drive is not empty and non-RDB partitioned."\r
+    IDS_NUMSG_KS68EC020     "The selected system ROM requires a 68020 with 24-bit addressing or higher CPU."\r
+    IDS_ROMSCANNOROMS       "No supported system ROMs detected."\r
+    IDS_NUMSG_KICKREP       "You need to have a floppy disk (image file) in DF0: to use the system ROM replacement."\r
+    IDS_NUMSG_KICKREPNO     "The floppy disk (image file) in DF0: is not compatible with the system ROM replacement functionality."\r
+    IDS_NUMSG_NOROM         "Could not load system ROM, trying system ROM replacement."\r
+    IDS_HDCLONE_OK          "Hard drive image file created succesfully."\r
+    IDS_HDCLONE_FAIL        "Hard drive image file creation failed.\nError code %d:%d."\r
+    IDS_NUMSG_KS68030       "The selected system ROM requires a 68030 CPU."\r
+    IDS_NUMSG_EXPROMNEED    "One of the following expansion boot ROMs is required:\n\n%s\n\nCheck the System ROM path in the Paths panel and click Rescan ROMs."\r
+    IDS_HARDDRIVESAFETYWARNING2 \r
+                            "Warning: The drive safety check has been disabled, and non-empty and non-RDB partitioned hard disk(s) were detected."\r
+END\r
+\r
+STRINGTABLE \r
+BEGIN\r
+    IDS_QS_MODELS           "A500\nA500+\nA600\nA1000\nA1200\nA3000\nA4000\nCD32\nCDTV\nArcadia Multi Select system\nExpanded WinUAE example configuration"\r
+    IDS_QS_MODEL_A500       "1.3 ROM, OCS, 512 KB Chip + 512 KB Slow RAM (most common)\nThis configuration is capable of running most games and demos produced for first-generation hardware. Only few exceptions need a different configuration (e.g. the oldest games tend to be incompatible with this configuration).\n1.3 ROM, ECS Agnus, 512 KB Chip RAM + 512 KB Slow RAM\nLater hardware revision of the A500. Nearly 100% compatible with the previous configuration.\n1.3 ROM, ECS Agnus, 1 MB Chip RAM\nFew newer games and demos require this configuration.\n1.3 ROM, OCS Agnus, 512 KB Chip RAM\nVery old (e.g. pre-1988) games and demos may require this configuration.\n1.2 ROM, OCS Agnus, 512 KB Chip RAM\nAs available for the A1000, and installed on the first A500 and A2000 series. Some very old programs only work correctly with this configuration. Note: This system ROM version can only boot from floppy disk (no hard disk boot support).\n1.2 ROM, OCS Agnus, 512 KB Chip RAM + 512 KB Slow RAM\nThis configuration adds expansion memory to the first A500 produced. Try this if your game does not work with newer configurations, but works with the previous one. It could add some features to the game, including faster loading times. Note: This system ROM version can only boot from floppy disk (no hard disk boot support)."\r
+    IDS_QS_MODEL_A500P      "Basic non-expanded configuration\nThe A500+ adds an ECS Agnus chip, 1 MB of Chip RAM and a 2.0 ROM to the A500. Many A500 games and demos don't work properly on an A500+.\n2 MB Chip RAM expanded configuration\n\n4 MB Fast RAM expanded configuration\n"\r
+    IDS_QS_MODEL_A600       "Basic non-expanded configuration\nThe A600 is smaller than the A500+ and has an updated 2.0 ROM.\n2 MB Chip RAM expanded configuration\n\n4 MB Fast RAM expanded configuration\n"\r
+    IDS_QS_MODEL_A1000      "512 KB Chip RAM\nThe A1000 was the first model produced, with a configuration equivalent to that of an A500 with OCS chipset. You normally don't need to use this configuration, unless you are nostalgic and would like to hear the short A1000 boot tune\n""ICS"" Denise without EHB support\nVery first A1000 models had Denise without EHB capability.\n256 KB Chip RAM\n Unexpanded A1000. All later A1000 models were sold with a 256 KB RAM expansion built-in."\r
+    IDS_QS_MODEL_A1200      "Basic non-expanded configuration\nUse this configuration to run most AGA demos and games\n4 MB Fast RAM expanded configuration\nSome newer AGA games and demos need an expanded A1200 to run."\r
+    IDS_QS_MODEL_CD32       "CD32\nThe CD32 was one the first 32-bit consoles on the market. It is basically an A1200 with a built-in CD-ROM drive. Insert your CD32 or CDTV CD-ROM into a free CD-ROM drive before starting the emulation."\r
+    IDS_QS_MODEL_CDTV       "CDTV\nThe CDTV was the first model with a built-in CD-ROM drive. Looking like a black CD player, it featured a configuration equivalent to that of an A500 with 1 MB RAM and an ECS chipset.\nFloppy drive and 64KB SRAM card expanded CDTV\n"\r
+END\r
+\r
+STRINGTABLE \r
+BEGIN\r
+    IDS_QS_MODEL_UAE        "High-end expanded configuration"\r
+    IDS_QS_MODEL_ARCADIA    "Arcadia\nArcadia Multi Select system is arcade platform developed by Arcadia and  Mastertronic. It is based on an A500 mainboard with ROM cage attached to expansion port. Arcadia ROM files go to ""Cartridge ROM File"" in ROM-panel."\r
+    IDS_QS_MODEL_A3000      "1.4 ROM, 2MB Chip + 8MB Fast\n\n3.1 ROM, 2MB Chip + 8MB Fast\n"\r
+    IDS_QS_MODEL_A4000      "68030, 3.1 ROM, 2MB Chip + 8MB Fast\n\n68040, 3.1 ROM, 2MB Chip + 8MB Fast\n"\r
+    IDS_QS_MODEL_A4000T     "A4000T (test)\nA4000T"\r
+END\r
+\r
+#endif    // English (U.S.) resources\r
+/////////////////////////////////////////////////////////////////////////////\r
+\r
+\r
+/////////////////////////////////////////////////////////////////////////////\r
+// Finnish resources\r
+\r
+#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_FIN)\r
+#ifdef _WIN32\r
+LANGUAGE LANG_FINNISH, SUBLANG_DEFAULT\r
+#pragma code_page(1252)\r
+#endif //_WIN32\r
+\r
+#ifdef APSTUDIO_INVOKED\r
+/////////////////////////////////////////////////////////////////////////////\r
+//\r
+// TEXTINCLUDE\r
+//\r
+\r
+1 TEXTINCLUDE \r
+BEGIN\r
+    "resource.\0"\r
+END\r
+\r
+3 TEXTINCLUDE \r
+BEGIN\r
+    "\r\0"\r
+END\r
+\r
+2 TEXTINCLUDE \r
+BEGIN\r
+    "#include ""afxres.h""\r\0"\r
+END\r
+\r
+#endif    // APSTUDIO_INVOKED\r
+\r
+#endif    // Finnish resources\r
+/////////////////////////////////////////////////////////////////////////////\r
+\r
+\r
+\r
+#ifndef APSTUDIO_INVOKED\r
+/////////////////////////////////////////////////////////////////////////////\r
+//\r
+// Generated from the TEXTINCLUDE 3 resource.\r
+//\r
+\r\r
+/////////////////////////////////////////////////////////////////////////////\r
+#endif    // not APSTUDIO_INVOKED\r
+\r
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
index 4cf0368..f6d8148
@@ -79,10 +79,23 @@ const char *getmsg (int msg)
 BOOL RPSendMessagex(UINT uMessage, WPARAM wParam, LPARAM lParam,
                    LPCVOID pData, DWORD dwDataSize, const RPGUESTINFO *pInfo, LRESULT *plResult)
 {
-    BOOL v = RPSendMessage (uMessage, wParam, lParam, pData, dwDataSize, pInfo, plResult);
-    if (log_rp)
+    BOOL v;
+    
+    if (!pInfo) {
+       write_log ("RPSEND: pInfo == NULL!\n");
+        return FALSE;
+    }
+    if (!pInfo->hHostMessageWindow) {
+       write_log ("RPSEND: pInfo->hHostMessageWindow == NULL!\n");
+        return FALSE;
+    }
+    v = RPSendMessage (uMessage, wParam, lParam, pData, dwDataSize, pInfo, plResult);
+    if (log_rp) {
        write_log ("RPSEND(%s [%d], %08x, %08x, %08x, %d\n",
            getmsg (uMessage), uMessage - WM_APP, wParam, lParam, pData, dwDataSize);
+       if (v == FALSE)
+           write_log("ERROR %d\n", GetLastError ());
+    }
     return v;
 }
 
@@ -103,8 +116,6 @@ static int winok(void)
        return 0;
     if (!hwndset)
        return 0;
-    if (minimized)
-       return 0;
     return 1;
 }
 
@@ -240,7 +251,7 @@ void rp_fixup_options (struct uae_prefs *p)
        p->gfx_size_win.width = default_width * xres;
        p->gfx_size_win.height = default_height * xres;
     }
-    changed_prefs.gfx_resolution = res;
+    p->gfx_resolution = res;
     if (res == 0)
        p->gfx_linedbl = 0;
     else
@@ -293,11 +304,18 @@ void rp_mousecapture (int captured)
     RPSendMessagex(RPIPCGM_MOUSECAPTURE, captured, 0, NULL, 0, &guestinfo, NULL);
 }
 
-void rp_activate (int active)
+void rp_activate (int active, LPARAM lParam)
 {
-    if (!winok())
+    if (!initialized)
+       return;
+    RPSendMessagex(active ? RPIPCGM_ACTIVATED : RPIPCGM_DEACTIVATED, 0, lParam, NULL, 0, &guestinfo, NULL);
+}
+
+void rp_minimize (int minimize)
+{
+    if (!initialized)
        return;
-    RPSendMessagex(active ? RPIPCGM_ACTIVATED : RPIPCGM_DEACTIVATED, 0, 0, NULL, 0, &guestinfo, NULL);
+    RPSendMessagex(minimize ? RPIPCGM_MINIMIZED : RPIPCGM_RESTORED, 0, 0, NULL, 0, &guestinfo, NULL);
 }
 
 void rp_turbo (int active)
@@ -325,33 +343,72 @@ void rp_moved (int zorder)
     RPSendMessagex(zorder ? RPIPCGM_ZORDER : RPIPCGM_MOVED, 0, 0, NULL, 0, &guestinfo, NULL);
 }
 
-int rp_checkesc (int scancode, uae_u8 *codes, int pressed, int num)
+static uae_u64 esctime;
+static int ignorerelease;
+
+static uae_u64 gett (void)
 {
-    static uae_u64 esctime;
-    uae_u64 t;
     SYSTEMTIME st;
     FILETIME ft;
     ULARGE_INTEGER li;
 
-    if (!initialized)
-       return 0;
-    if (scancode != rp_rmousevkey)
-       return 0;
     GetSystemTime (&st);
     if (!SystemTimeToFileTime (&st, &ft))
-       return scancode;
+       return 0;
     li.LowPart = ft.dwLowDateTime;
     li.HighPart = ft.dwHighDateTime;
-    t = li.QuadPart / 10000;
-    if (pressed) {
-       esctime = t + rp_rmouseholdtime;
-       return 1;
-    }
+    return li.QuadPart / 10000;
+}
+
+void rp_hsync (void)
+{
+    uae_u64 t;
+    static int cnt;
+
+    cnt--;
+    if (cnt > 0)
+       return;
+    cnt = 100;
+    if (!esctime)
+       return;
+    t = gett ();
     if (t >= esctime) {
        setmouseactive (0);
+       ignorerelease = 1;
+       esctime = 0;
+    }
+}
+
+int rp_checkesc (int scancode, uae_u8 *codes, int pressed, int num)
+{
+    uae_u64 t;
+
+    if (!initialized)
+       goto end;
+    if (scancode != rp_rmousevkey)
+       goto end;
+    if (ignorerelease && !pressed) {
+       ignorerelease = 0;
+       goto end;
+    }
+    t = gett();
+    if (!t)
+       goto end;
+    if (pressed) {
+       esctime = t + rp_rmouseholdtime;
        return 1;
     }
     my_kbd_handler (num, scancode, 1);
     my_kbd_handler (num, scancode, 0);
+    ignorerelease = 0;
+    esctime = 0;
     return 1;
+end:
+    esctime = 0;
+    return 0;
+}
+
+int rp_isactive (void)
+{
+    return initialized;
 }
old mode 100755 (executable)
new mode 100644 (file)
index bc1600b..6c34bca
@@ -4,12 +4,15 @@ extern void rp_free (void);
 extern void rp_fixup_options (struct uae_prefs*);
 extern void rp_update_status (struct uae_prefs*);
 extern void rp_update_leds (int, int);
-extern void rp_activate (int);
+extern void rp_activate (int, LPARAM);
+extern void rp_minimize (int);
 extern void rp_mousecapture (int);
 extern void rp_turbo (int);
 extern void rp_set_hwnd (void);
 extern void rp_moved (int);
 extern int rp_checkesc (int, uae_u8*, int, int);
+extern int rp_isactive (void);
+extern void rp_hsync (void);
 
 extern char *rp_param;
 extern int rp_rmousevkey;
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
index c6256e7..80c88c9
@@ -220,28 +220,6 @@ const struct panel_reg *get_panel_reg (void)
   return first;
 }
 
-int check_tap_driver (const char *name)
-{
-    const struct tap_reg *tr;
-    const struct panel_reg *pr;
-
-    const struct tap_reg *tap_reg = get_tap_reg ();
-    const struct panel_reg *panel_reg = get_panel_reg ();
-    /* loop through each TAP-Win32 adapter registry entry */
-    for (tr = tap_reg; tr != NULL; tr = tr->next)
-    {
-       /* loop through each network connections entry in the control panel */
-       for (pr = panel_reg; pr != NULL; pr = pr->next)
-       {
-           if (!strcmp (tr->guid, pr->guid)) {
-               write_log ("TAP-WIN32: '%s' %s\n", pr->name, tr->guid);
-           }
-       }
-    }
-    return 1;
-}
-
-
 static const char *guid_to_name (const char *guid, const struct panel_reg *panel_reg)
 {
   const struct panel_reg *pr;
@@ -298,7 +276,7 @@ get_unspecified_device_guid (const int device_number,
   return ret;
 }
 
-void tap_close_driver (struct tapdata *tc)
+void uaenet_close_driver (struct netdriverdata *tc)
 {
     if (tc->h != INVALID_HANDLE_VALUE) {
        DWORD status = FALSE;
@@ -310,7 +288,7 @@ void tap_close_driver (struct tapdata *tc)
     tc->active = 0;
 }
 
-static void tap_get_mtu (struct tapdata *tc)
+static void tap_get_mtu (struct netdriverdata *tc)
 {
     ULONG mtu;
     DWORD len;
@@ -322,7 +300,7 @@ static void tap_get_mtu (struct tapdata *tc)
         tc->mtu = mtu;
 }
 
-static void tap_get_mac (struct tapdata *tc)
+static void tap_get_mac (struct netdriverdata *tc)
 {
     DWORD len;
 
@@ -332,7 +310,7 @@ static void tap_get_mac (struct tapdata *tc)
 }
 
 
-int tap_open_driver (struct tapdata *tc, const char *name)
+int uaenet_open_driver (struct netdriverdata *tc, const char *name)
 {
     int device_number = 0;
     HANDLE hand;
@@ -389,7 +367,7 @@ int tap_open_driver (struct tapdata *tc, const char *name)
        write_log ("TAP-Win32 Driver Version %d.%d %s\n", (int) info[0], (int) info[1], (info[2] ? "(DEBUG)" : ""));
     if (!(info[0] == TAP_WIN32_MIN_MAJOR && info[1] >= TAP_WIN32_MIN_MINOR)) {
        write_log ("ERROR: TAP-Win32 driver version %d.%d or newer required\n", TAP_WIN32_MIN_MAJOR, TAP_WIN32_MIN_MINOR);
-       tap_close_driver (tc);
+       uaenet_close_driver (tc);
        return 0;
     }
     status = TRUE;
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
index 0d8fa58..4e78803
@@ -1,5 +1,5 @@
 
-struct tapdata
+struct netdriverdata
 {
     HANDLE h;
     int mtu;
@@ -7,7 +7,6 @@ struct tapdata
     int active;
 };
 
-int tap_open_driver (struct tapdata *tc, const char *name);
-void tap_close_driver (struct tapdata *tc);
-int check_tap_driver (const char *name);
+int uaenet_open_driver (struct netdriverdata *tc, const char *name);
+void uaenet_close_driver (struct netdriverdata *tc);
 
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
index b9a5762..e74f862
@@ -74,7 +74,7 @@
 #endif
 
 extern FILE *debugfile;
-extern int console_logging = 1;
+extern int console_logging;
 static OSVERSIONINFO osVersion;
 static SYSTEM_INFO SystemInfo;
 
@@ -475,12 +475,8 @@ void setpaused(void)
 #endif
 }
 
-static WPARAM activateapp;
-
 static void checkpause (void)
 {
-    if (activateapp)
-       return;
     if (currprefs.win32_inactive_pause) {
        setpaused ();
        emulation_paused = 1;
@@ -495,6 +491,10 @@ static void setmaintitle (HWND hwnd)
 {
     char txt[1000], txt2[500];
 
+#ifdef RETROPLATFORM
+    if (rp_isactive ())
+       return;
+#endif
     txt[0] = 0;
     if (config_filename[0]) {
        strcat (txt, "[");
@@ -521,10 +521,30 @@ static void setmaintitle (HWND hwnd)
     SetWindowText (hwnd, txt);
 }
 
+
+#ifndef AVIOUTPUT
+static int avioutput_video = 0;
+#endif
+
+void setpriority (struct threadpriorities *pri)
+{
+    int err;
+    if (os_winnt)
+       err = SetPriorityClass (GetCurrentProcess (), pri->classvalue);
+    else
+       err = SetThreadPriority (GetCurrentThread(), pri->value);
+    if (!err)
+       write_log ("priority set failed, %08.8X\n", GetLastError ());
+}
+
 void setmouseactive (int active)
 {
-    int oldactive = mouseactive;
 
+    if (mouseactive == active)
+       return;
+    mouseactive = active;
+
+    //write_log ("setmouseactive(%d)\n", active);
     if (showcursor) {
        ClipCursor(NULL);
        ReleaseCapture();
@@ -540,7 +560,6 @@ void setmouseactive (int active)
 #endif
     inputdevice_unacquire ();
 
-    mouseactive = active;
     setmaintitle (hMainWnd);
     if (mouseactive > 0)
        focus = 1;
@@ -563,35 +582,23 @@ void setmouseactive (int active)
 #endif
 }
 
-#ifndef AVIOUTPUT
-static int avioutput_video = 0;
-#endif
-
-void setpriority (struct threadpriorities *pri)
-{
-    int err;
-    if (os_winnt)
-       err = SetPriorityClass (GetCurrentProcess (), pri->classvalue);
-    else
-       err = SetThreadPriority (GetCurrentThread(), pri->value);
-    if (!err)
-       write_log ("priority set failed, %08.8X\n", GetLastError ());
-}
-
 static void winuae_active (HWND hWnd, int minimized)
 {
     int ot;
     struct threadpriorities *pri;
 
+    write_log ("winuae_active(%d)\n", minimized);
     /* without this returning from hibernate-mode causes wrong timing
      */
-    ot = timermode;
-    timermode = 0;
-    timebegin();
-    sleep_millis (2);
-    timermode = ot;
-    if (timermode != 0)
-       timeend();
+    if (!os_vista) {
+       ot = timermode;
+       timermode = 0;
+       timebegin();
+       sleep_millis (2);
+       timermode = ot;
+       if (timermode != 0)
+           timeend();
+    }
 
     focus = 1;
     pri = &priorities[currprefs.win32_inactive_priority];
@@ -608,7 +615,6 @@ static void winuae_active (HWND hWnd, int minimized)
     }
     if (emulation_paused > 0)
        emulation_paused = -1;
-    ShowWindow (hWnd, SW_RESTORE);
     if (sound_closed) {
        resumepaused();
        sound_closed = 0;
@@ -623,7 +629,8 @@ static void winuae_active (HWND hWnd, int minimized)
        setmouseactive (1);
     manual_palette_refresh_needed = 1;
 #ifdef RETROPLATFORM
-    rp_activate (1);
+    if (minimized)
+       rp_minimize (0);
 #endif
 
 }
@@ -631,7 +638,9 @@ static void winuae_active (HWND hWnd, int minimized)
 static void winuae_inactive (HWND hWnd, int minimized)
 {
     struct threadpriorities *pri;
+    int wasfocus = focus;
 
+    //write_log("winuae_inactive(%d)\n", minimized);
     if (minimized)
        exit_gui (0);
     focus = 0;
@@ -667,13 +676,13 @@ static void winuae_inactive (HWND hWnd, int minimized)
     filesys_flush_cache ();
 #endif
 #ifdef RETROPLATFORM
-    rp_activate (0);
+    if (minimized)
+       rp_minimize (1);
 #endif
 }
 
 void minimizewindow (void)
 {
-    write_log("minimize\n");
     ShowWindow (hMainWnd, SW_MINIMIZE);
 }
 
@@ -722,7 +731,7 @@ static LRESULT CALLBACK AmigaWindowProc (HWND hWnd, UINT message, WPARAM wParam,
 {
     PAINTSTRUCT ps;
     HDC hDC;
-    int mx, my, v;
+    int mx, my;
     static int mm, minimized, recursive, ignoremousemove;
 
 #if MSGDEBUG > 1
@@ -736,8 +745,9 @@ static LRESULT CALLBACK AmigaWindowProc (HWND hWnd, UINT message, WPARAM wParam,
 
     switch (message)
     {
-    case WM_SETCURSOR:
-       return TRUE;
+
+
+#if 0
     case WM_SIZE:
     {
        if (recursive)
@@ -773,6 +783,43 @@ static LRESULT CALLBACK AmigaWindowProc (HWND hWnd, UINT message, WPARAM wParam,
        return 0;
     }
     break;
+#endif
+
+    case WM_SETFOCUS:
+#if MSGDEBUG
+       write_log ("**** WM_SETFOCUS %d\n", minimized);
+#endif
+       if (!minimized)
+           winuae_active (hWnd, minimized);
+        minimized = 0;
+       return 0;
+    case WM_KILLFOCUS:
+#if MSGDEBUG
+       write_log ("**** WM_KILLFOCUS %d\n", minimized);
+#endif
+       winuae_inactive (hWnd, 0);
+       return 0;
+    case WM_ACTIVATE:
+       if (!minimized) {
+           minimized = HIWORD (wParam) ? 1 : 0;
+           if (minimized) {
+#if MSGDEBUG
+               write_log("**** minimize\n");
+#endif
+               winuae_inactive (hWnd, minimized);
+           }
+       } else {
+           winuae_active (hWnd, minimized);
+           minimized = 0;
+       }
+       return 0;
+#ifdef RETROPLATFORM
+    case WM_ACTIVATEAPP:
+       rp_activate (wParam, lParam);
+       return 0;
+#endif
+
+#if 0
     case WM_ACTIVATE:
        if (recursive)
            return 0;
@@ -826,11 +873,12 @@ static LRESULT CALLBACK AmigaWindowProc (HWND hWnd, UINT message, WPARAM wParam,
        recursive--;
        return 0;
     }
+#endif
 
     case WM_PALETTECHANGED:
        if ((HWND)wParam != hWnd)
            manual_palette_refresh_needed = 1;
-    break;
+    return 0;
 
     case WM_KEYDOWN:
        if (dinput_wmkey ((uae_u32)lParam))
@@ -935,21 +983,21 @@ static LRESULT CALLBACK AmigaWindowProc (HWND hWnd, UINT message, WPARAM wParam,
            recursive--;
        }
     }
-    break;
+    return 0;
 
     case WM_DROPFILES:
        dragdrop (hWnd, (HDROP)wParam, &changed_prefs, -1);
-    break;
+    return 0;
 
     case WM_TIMER:
 #ifdef PARALLEL_PORT
        finishjob ();
 #endif
-    break;
+    return 0;
 
     case WM_CREATE:
        DragAcceptFiles (hWnd, TRUE);
-    break;
+    return 0;
 
     case WM_CLOSE:
        uae_quit ();
@@ -958,14 +1006,18 @@ static LRESULT CALLBACK AmigaWindowProc (HWND hWnd, UINT message, WPARAM wParam,
     case WM_WINDOWPOSCHANGED:
     {
        WINDOWPOS *wp = (WINDOWPOS *)lParam;
-       GetWindowRect (hWnd, &amigawin_rect);
-       if (isfullscreen() == 0) {
-           changed_prefs.gfx_size_win.x = amigawin_rect.left;
-           changed_prefs.gfx_size_win.y = amigawin_rect.top;
-       }
+       if (!IsIconic (hWnd)) {
+           GetWindowRect (hWnd, &amigawin_rect);
+           if (isfullscreen() == 0) {
+               changed_prefs.gfx_size_win.x = amigawin_rect.left;
+               changed_prefs.gfx_size_win.y = amigawin_rect.top;
+           }
 #ifdef RETROPLATFORM
-       rp_moved (!(wp->flags & SWP_NOZORDER));
+           if (!(wp->flags & SWP_NOZORDER))
+               rp_moved (1);
 #endif
+       }
+       notice_screen_contents_lost ();
     }
     break;
 
@@ -1005,9 +1057,17 @@ static LRESULT CALLBACK AmigaWindowProc (HWND hWnd, UINT message, WPARAM wParam,
     return 0;
 
     case WM_MOVING:
+    {
+       LRESULT lr = DefWindowProc (hWnd, message, wParam, lParam);
+       WIN32GFX_WindowMove();
+#ifdef RETROPLATFORM
+       rp_moved (0);
+#endif
+       return lr;
+    }
     case WM_MOVE:
        WIN32GFX_WindowMove();
-    return TRUE;
+    return FALSE;
 
 #if 0
     case WM_GETMINMAXINFO:
@@ -1105,12 +1165,30 @@ static LRESULT CALLBACK AmigaWindowProc (HWND hWnd, UINT message, WPARAM wParam,
     return TRUE;
 
     case WM_SYSCOMMAND:
-       if (!manual_painting_needed && focus && currprefs.win32_powersavedisabled) {
-           switch (wParam) // Check System Calls
+           switch (wParam & 0xfff0) // Check System Calls
            {
                case SC_SCREENSAVE: // Screensaver Trying To Start?
                case SC_MONITORPOWER: // Monitor Trying To Enter Powersave?
-               return 0; // Prevent From Happening
+               if (!manual_painting_needed && focus && currprefs.win32_powersavedisabled) {
+                   return 0; // Prevent From Happening
+               break;
+               default:
+               {
+                   LRESULT lr = DefWindowProc (hWnd, message, wParam, lParam);
+                   switch (wParam & 0xfff0)
+                   {
+                       case SC_MINIMIZE:
+                       rp_minimize (1);
+                       break;
+                       case SC_RESTORE:
+                       rp_minimize (0);
+                       break;
+                       case SC_CLOSE:
+                       PostQuitMessage (0);
+                       break;
+                   }
+                   return lr;
+               }
            }
        }
     break;
@@ -1120,9 +1198,9 @@ static LRESULT CALLBACK AmigaWindowProc (HWND hWnd, UINT message, WPARAM wParam,
            return 0;
     break;
 
-    case 0xff: // WM_INPUT:
-    handle_rawinput (lParam);
-    break;
+    case WM_INPUT:
+       handle_rawinput (lParam);
+    return 0;
 
     case WM_NOTIFY:
     {
@@ -1237,6 +1315,8 @@ static LRESULT CALLBACK MainWindowProc (HWND hWnd, UINT message, WPARAM wParam,
 
     switch (message)
     {
+     case WM_KILLFOCUS:
+     case WM_SETFOCUS:
      case WM_MOUSEMOVE:
      case WM_MOUSEWHEEL:
      case WM_MOUSEHWHEEL:
@@ -1276,7 +1356,7 @@ static LRESULT CALLBACK MainWindowProc (HWND hWnd, UINT message, WPARAM wParam,
        return AmigaWindowProc (hWnd, message, wParam, lParam);
 
      case WM_DISPLAYCHANGE:
-       if (isfullscreen() <= 0 && !currprefs.gfx_filter && (wParam + 7) / 8 != DirectDraw_GetBytesPerPixel() )
+       if (isfullscreen() <= 0 && !currprefs.gfx_filter && (wParam + 7) / 8 != DirectDraw_GetBytesPerPixel())
            WIN32GFX_DisplayChangeRequested();
        break;
 
@@ -1322,7 +1402,7 @@ static LRESULT CALLBACK MainWindowProc (HWND hWnd, UINT message, WPARAM wParam,
        GetClientRect (hWnd, &rc);
        DrawEdge (hDC, &rc, EDGE_SUNKEN, BF_RECT);
        EndPaint (hWnd, &ps);
-       break;
+       return 0;
 
      case WM_NCLBUTTONDBLCLK:
        if (wParam == HTCAPTION) {
@@ -1856,6 +1936,13 @@ static get_aspi(int old)
     return UAESCSI_ADAPTECASPI;
 }
 
+void target_quit (void)
+{
+#ifdef RETROPLATFORM
+    rp_free ();
+#endif
+}
+
 void target_fixup_options (struct uae_prefs *p)
 {
 #ifdef RETROPLATFORM
@@ -1890,7 +1977,7 @@ void target_default_options (struct uae_prefs *p, int type)
        p->win32_borderless = 0;
        p->win32_powersavedisabled = 1;
        p->win32_outsidemouse = 0;
-       p->sana2[0] = 0;
+       p->sana2 = 0;
     }
     if (type == 1 || type == 0) {
        p->win32_uaescsimode = get_aspi(p->win32_uaescsimode);
@@ -2873,7 +2960,7 @@ static int getval(char *s)
     int v;
     char *endptr;
 
-    if (s[0] == '0' && toupper(s[1]) == 'x')
+    if (s[0] == '0' && toupper(s[1]) == 'X')
        s += 2, base = 16;
     v = strtol (s, &endptr, base);
     if (*endptr != '\0' || *s == '\0')
old mode 100755 (executable)
new mode 100644 (file)
index 9cd91f6..35d4b5a
@@ -15,9 +15,9 @@
 #define GETBDM(x) (((x) - ((x / 10000) * 10000)) / 100)
 #define GETBDD(x) ((x) % 100)
 
-#define WINUAEBETA 13
+#define WINUAEBETA 14
 #define WINUAEPUBLICBETA 1
-#define WINUAEDATE MAKEBD(2007, 11, 18)
+#define WINUAEDATE MAKEBD(2007, 11, 29)
 #define WINUAEEXTRA ""
 #define WINUAEREV ""
 
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
index 95a9784..9d1ca21
@@ -7,7 +7,11 @@
  */
 
 #include "sysconfig.h"
-#include <windows.h>
+
+#define HAVE_REMOTE
+#define WPCAP
+#include "pcap.h"
+
 #include <winspool.h>
 #include <stdlib.h>
 #include <stdarg.h>
 #include <fcntl.h>
 #include <sys/stat.h>
 #include <io.h>
-
 #include <setupapi.h>
 #include <windows.h>
 
+#include "packet32.h"
+#include "ntddndis.h"
+
 #include "sysdeps.h"
 #include "options.h"
 
+
 #include "threaddep/thread.h"
 #include "win32_uaenet.h"
-#include "tun_uae.h"
+#include "win32.h"
+
 
 struct uaenetdatawin32
 {
-    HANDLE hCom;
-    HANDLE evtr, evtw, evtt;
-    OVERLAPPED olr, olw;
-    int writeactive;
+    HANDLE evttw;
     void *readdata, *writedata;
-    volatile int threadactive;
-    uae_thread_id tid;
-    uae_sem_t change_sem, sync_sem;
+
+    uae_sem_t change_sem;
+
+    volatile int threadactiver;
+    uae_thread_id tidr;
+    uae_sem_t sync_semr;
+    volatile int threadactivew;
+    uae_thread_id tidw;
+    uae_sem_t sync_semw;
+
     void *user;
-    struct tapdata *tc;
+    struct netdriverdata *tc;
     uae_u8 *readbuffer;
     uae_u8 *writebuffer;
     int mtu;
+
+    char errbuf[PCAP_ERRBUF_SIZE];
+    pcap_t *fp;
 };
 
 int uaenet_getdatalenght (void)
@@ -55,11 +70,12 @@ int uaenet_getdatalenght (void)
 static void uaeser_initdata (struct uaenetdatawin32 *sd, void *user)
 {
     memset (sd, 0, sizeof (struct uaenetdatawin32));
-    sd->hCom = INVALID_HANDLE_VALUE;
-    sd->evtr = sd->evtw = sd->evtt = 0;
+    sd->evttw = 0;
     sd->user = user;
+    sd->fp = NULL;
 }
 
+#if 0
 static void *uaenet_trap_thread (void *arg)
 {
     struct uaenetdatawin32 *sd = arg;
@@ -131,47 +147,90 @@ static void *uaenet_trap_thread (void *arg)
     uae_sem_post (&sd->sync_sem);
     return 0;
 }
+#endif
 
-void uaenet_trigger (struct uaenetdatawin32 *sd)
+static void *uaenet_trap_threadr (void *arg)
 {
-    if (!sd)
-       return;
-    SetEvent (sd->evtt);
+    struct uaenetdatawin32 *sd = arg;
+    struct pcap_pkthdr *header;
+    const u_char *pkt_data;
+
+    uae_set_thread_priority (2);
+    sd->threadactiver = 1;
+    uae_sem_post (&sd->sync_semr);
+    while (sd->threadactiver == 1) {
+       int r;
+       r = pcap_next_ex (sd->fp, &header, &pkt_data);
+       if (r == 1) {
+           uae_sem_wait (&sd->change_sem);
+           uaenet_gotdata (sd->user, pkt_data, header->len);
+           uae_sem_post (&sd->change_sem);
+       }
+       if (r < 0) {
+           write_log ("pcap_next_ex failed, err=%d\n", r);
+           break;
+       }
+    }
+    sd->threadactiver = 0;
+    uae_sem_post (&sd->sync_semr);
+    return 0;
 }
 
-int uaenet_write (struct uaenetdatawin32 *sd, uae_u8 *data, uae_u32 len)
+static void *uaenet_trap_threadw (void *arg)
 {
-    int ret = 1;
-    if (!WriteFile (sd->hCom, data, len, NULL, &sd->olw)) {
-       sd->writeactive = 1;
-       if (GetLastError() != ERROR_IO_PENDING) {
-           ret = 0;
-           sd->writeactive = 0;
+    struct uaenetdatawin32 *sd = arg;
+
+    uae_set_thread_priority (2);
+    sd->threadactivew = 1;
+    uae_sem_post (&sd->sync_semw);
+    while (sd->threadactivew == 1) {
+       int donotwait = 0;
+        int towrite;
+       uae_sem_wait (&sd->change_sem);
+       if (uaenet_getdata (sd->user, sd->writebuffer, &towrite)) {
+           pcap_sendpacket (sd->fp, sd->writebuffer, towrite);
+           donotwait = 1;
        }
+       uae_sem_post (&sd->change_sem);
+       if (!donotwait)
+           WaitForSingleObject (sd->evttw, INFINITE);
     }
-    SetEvent (sd->evtt);
-    return ret;
+    sd->threadactivew = 0;
+    uae_sem_post (&sd->sync_semw);
+    return 0;
+}
+
+void uaenet_trigger (struct uaenetdatawin32 *sd)
+{
+    if (!sd)
+       return;
+    SetEvent (sd->evttw);
 }
 
-int uaenet_open (struct uaenetdatawin32 *sd, struct tapdata *tc, void *user, int unit)
+int uaenet_open (struct uaenetdatawin32 *sd, struct netdriverdata *tc, void *user, int promiscuous)
 {
+    sd->fp = pcap_open (tc->name, 65536, (promiscuous ? PCAP_OPENFLAG_PROMISCUOUS : 0) | PCAP_OPENFLAG_MAX_RESPONSIVENESS, 100, NULL, sd->errbuf);
+    if (sd->fp == NULL) {
+       write_log ("'%s' failed to open: %s\n", tc->name, sd->errbuf);
+       return 0;
+    }
     sd->tc = tc;
     sd->user = user;
-    sd->evtr = CreateEvent (NULL, TRUE, FALSE, NULL);
-    sd->evtw = CreateEvent (NULL, TRUE, FALSE, NULL);
-    sd->evtt = CreateEvent (NULL, FALSE, FALSE, NULL);
-    if (!sd->evtt || !sd->evtw || !sd->evtt)
+    sd->evttw = CreateEvent (NULL, FALSE, FALSE, NULL);
+
+    if (!sd->evttw)
        goto end;
-    sd->olr.hEvent = sd->evtr;
-    sd->olw.hEvent = sd->evtw;
-    sd->hCom = tc->h;
     sd->mtu = tc->mtu;
     sd->readbuffer = xmalloc (sd->mtu);
     sd->writebuffer = xmalloc (sd->mtu);
-    uae_sem_init (&sd->sync_sem, 0, 0);
+
     uae_sem_init (&sd->change_sem, 0, 1);
-    uae_start_thread ("uaenet_win32", uaenet_trap_thread, sd, &sd->tid);
-    uae_sem_wait (&sd->sync_sem);
+    uae_sem_init (&sd->sync_semr, 0, 0);
+    uae_start_thread ("uaenet_win32r", uaenet_trap_threadr, sd, &sd->tidr);
+    uae_sem_wait (&sd->sync_semr);
+    uae_sem_init (&sd->sync_semw, 0, 0);
+    uae_start_thread ("uaenet_win32w", uaenet_trap_threadw, sd, &sd->tidw);
+    uae_sem_wait (&sd->sync_semw);
     write_log ("uaenet_win32 initialized\n");
     return 1;
 
@@ -182,20 +241,128 @@ end:
 
 void uaenet_close (struct uaenetdatawin32 *sd)
 {
-    if (sd->threadactive) {
-       sd->threadactive = -1;
-       SetEvent (sd->evtt);
-       while (sd->threadactive)
+    if (sd->threadactiver) {
+       sd->threadactiver = -1;
+    }
+    if (sd->threadactivew) {
+       sd->threadactivew = -1;
+       SetEvent (sd->evttw);
+    }
+    if (sd->threadactiver) {
+       while (sd->threadactiver)
            Sleep(10);
-       CloseHandle (sd->evtt);
-       write_log ("uaenet_win32 thread %d killed\n", sd->tid);
+       write_log ("uaenet_win32 thread %d killed\n", sd->tidr);
+    }
+    if (sd->threadactivew) {
+       while (sd->threadactivew)
+           Sleep(10);
+       CloseHandle (sd->evttw);
+       write_log ("uaenet_win32 thread %d killed\n", sd->tidw);
     }
-    if (sd->evtr)
-       CloseHandle(sd->evtr);
-    if (sd->evtw)
-       CloseHandle(sd->evtw);
     xfree (sd->readbuffer);
     xfree (sd->writebuffer);
+    if (sd->fp)
+       pcap_close (sd->fp);
     uaeser_initdata (sd, sd->user);
     write_log ("uaenet_win32 closed\n");
 }
+
+
+int uaenet_open_driver (struct netdriverdata *tcp)
+{
+    char errbuf[PCAP_ERRBUF_SIZE];
+    pcap_if_t *alldevs, *d;
+    int cnt;
+    HMODULE hm;
+    LPADAPTER lpAdapter = 0;
+    PPACKET_OID_DATA OidData;
+    struct netdriverdata *tc;
+    pcap_t *fp;
+    int val;
+
+    hm = LoadLibrary ("wpcap.dll");
+    if (hm == NULL) {
+       write_log ("uaenet: winpcap not installed (wpcap.dll)\n");
+       return 0;
+    }
+    FreeLibrary (hm);
+    hm = LoadLibrary ("packet.dll");
+    if (hm == NULL) {
+       write_log ("uaenet: winpcap not installed (packet.dll)\n");
+       return 0;
+    }
+    FreeLibrary (hm);
+    write_log ("uaenet: %s\n", pcap_lib_version ());
+
+    if (pcap_findalldevs_ex (PCAP_SRC_IF_STRING, NULL, &alldevs, errbuf) == -1) {
+       write_log ("uaenet: failed to get interfaces: %s\n", errbuf);
+       return 0;
+    }
+
+    write_log ("uaenet: detecting interfaces\n");
+    for(cnt = 0, d = alldevs; d != NULL; d = d->next) {
+       char *n2;
+       tc = tcp + cnt;
+       if (cnt >= MAX_TOTAL_NET_DEVICES) {
+           write_log ("buffer overflow\n");
+           break;
+       }
+       write_log ("%s\n- %s\n",
+           d->name, d->description ? d->description : "(no description)");
+       n2 = d->name;
+       if (strlen (n2) <= strlen (PCAP_SRC_IF_STRING)) {
+           write_log ("- corrupt name\n");
+           continue;
+       }
+       fp = pcap_open (d->name, 65536, 0, 0, NULL, errbuf);
+       if (!fp) {
+           write_log ("- pcap_open() failed: %s\n", errbuf);
+           continue;
+       }
+       val = pcap_datalink (fp);
+       pcap_close (fp);
+       if (val != DLT_EN10MB) {
+           write_log ("- not an ethernet adapter (%d)\n", val);
+           continue;
+       }
+
+       lpAdapter = PacketOpenAdapter (n2 + strlen (PCAP_SRC_IF_STRING));
+       if (lpAdapter == NULL) {
+           write_log ("- PacketOpenAdapter() failed\n");
+           continue;
+       }
+       OidData = calloc(6 + sizeof(PACKET_OID_DATA), 1);
+       if (OidData) {
+           OidData->Length = 6;
+           OidData->Oid = OID_802_3_CURRENT_ADDRESS;
+           if (PacketRequest (lpAdapter, FALSE, OidData)) {
+               memcpy (tc->mac, OidData->Data, 6);
+               write_log ("- MAC %02X:%02X:%02X:%02X:%02X:%02X\n",
+                   tc->mac[0], tc->mac[1], tc->mac[2],
+                   tc->mac[3], tc->mac[4], tc->mac[5]);
+               write_log ("- mapped as uaenet.device:%d\n", cnt++);
+               tc->active = 1;
+               tc->mtu = 1500;
+               tc->name = my_strdup (d->name);
+           } else {
+               write_log (" - failed to get MAC\n");
+           }
+           free (OidData);
+       }
+        PacketCloseAdapter (lpAdapter);
+    }
+    write_log ("uaenet: end of detection\n");
+    pcap_freealldevs(alldevs);
+    return 0;
+}
+
+void uaenet_close_driver (struct netdriverdata *tc)
+{
+    int i;
+
+    for (i = 0; i < MAX_TOTAL_NET_DEVICES; i++) {
+       tc[i].active = 0;
+    }
+}
+
+
old mode 100755 (executable)
new mode 100644 (file)
index bcfa72a..66883d8
@@ -1,10 +1,21 @@
+struct netdriverdata
+{
+    char *name;
+    int mtu;
+    uae_u8 mac[6];
+    int active;
+};
+
+#define MAX_TOTAL_NET_DEVICES 10
+
+int uaenet_open_driver (struct netdriverdata *tc);
+void uaenet_close_driver (struct netdriverdata *tc);
+
 extern int uaenet_getdatalenght (void);
 extern int uaenet_getbytespending (void*);
-extern int uaenet_open (void*, struct tapdata*, void*, int);
+extern int uaenet_open (void*, struct netdriverdata*, void*, int);
 extern void uaenet_close (void*);
-extern int uaenet_read (void*, uae_u8 *data, uae_u32 len);
-extern int uaenet_write (void*, uae_u8 *data, uae_u32 len);
-extern void uaenet_gotdata (struct devstruct *dev, uae_u8 *data, int len);
+extern void uaenet_gotdata (struct devstruct *dev, const uae_u8 *data, int len);
 extern int uaenet_getdata (struct devstruct *dev, uae_u8 *d, int *len);
 extern void uaenet_trigger (void*);
 
old mode 100755 (executable)
new mode 100644 (file)
index ffda03a..00305dc
@@ -917,6 +917,8 @@ int lockscr (void)
        return 0;
     if (currentmode->flags & DM_D3D) {
 #ifdef D3D
+       if (D3D_needreset ())
+           WIN32GFX_DisplayChangeRequested ();
        return D3D_locktexture ();
 #endif
     } else if (currentmode->flags & DM_SWSCALE) {
@@ -2055,7 +2057,7 @@ static int create_windows (void)
                style,
                rc.left, rc.top,
                rc.right - rc.left + 1, rc.bottom - rc.top + 1,
-               hhWnd, NULL, 0, NULL);
+               hhWnd, NULL, hInst, NULL);
 
            if (!hMainWnd) {
                write_log ("main window creation failed\n");
@@ -2075,7 +2077,7 @@ static int create_windows (void)
                                WS_CLIPCHILDREN | WS_CLIPSIBLINGS | (hMainWnd ? WS_VISIBLE | WS_CHILD : WS_VISIBLE | WS_POPUP | WS_SYSMENU | WS_MINIMIZEBOX),
                                x, y,
                                currentmode->native_width, currentmode->native_height,
-                               hMainWnd ? hMainWnd : hhWnd, NULL, 0, NULL);
+                               borderless ? NULL : (hMainWnd ? hMainWnd : hhWnd), NULL, hInst, NULL);
 
     if (!hAmigaWnd) {
        write_log ("creation of amiga window failed\n");
@@ -2368,7 +2370,7 @@ oops:
 }
 
 
-void WIN32GFX_PaletteChange( void )
+void WIN32GFX_PaletteChange(void)
 {
     HRESULT hr;
 
@@ -2383,7 +2385,7 @@ void WIN32GFX_PaletteChange( void )
        write_log ("SetPalette(0) failed, %s\n", DXError (hr));
 }
 
-int WIN32GFX_ClearPalette( void )
+int WIN32GFX_ClearPalette(void)
 {
     HRESULT hr;
     if (currentmode->current_depth > 8)
@@ -2395,7 +2397,7 @@ int WIN32GFX_ClearPalette( void )
     return SUCCEEDED(hr);
 }
 
-int WIN32GFX_SetPalette( void )
+int WIN32GFX_SetPalette(void)
 {
     HRESULT hr;
     if (!(currentmode->flags & DM_DDRAW) || (currentmode->flags & DM_D3D)) return 1;
@@ -2406,7 +2408,7 @@ int WIN32GFX_SetPalette( void )
        write_log ("SetPalette(0) failed, %s\n", DXError (hr));
     return SUCCEEDED(hr);
 }
-void WIN32GFX_WindowMove ( void        )
+void WIN32GFX_WindowMove (void)
 {
     if (currentmode->flags & DM_OVERLAY)
        setoverlay(0);
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
index 41a1e39..693caeb
@@ -4288,6 +4288,7 @@ static void values_to_chipsetdlg2 (HWND hDlg)
     CheckDlgButton (hDlg, IDC_CS_CDTVSCSI, workprefs.cs_cdtvscsi > 0);
     CheckDlgButton (hDlg, IDC_CS_SCSIMODE, workprefs.scsi == 2);
     CheckDlgButton (hDlg, IDC_CS_PCMCIA, workprefs.cs_pcmcia > 0);
+    CheckDlgButton (hDlg, IDC_CS_SLOWISFAST, workprefs.cs_slowmemisfast > 0);
     CheckDlgButton (hDlg, IDC_CS_IDE1, workprefs.cs_ide > 0 && (workprefs.cs_ide & 1));
     CheckDlgButton (hDlg, IDC_CS_IDE2, workprefs.cs_ide > 0 && (workprefs.cs_ide & 2));
     txt[0] = 0;
@@ -4359,6 +4360,7 @@ static void values_from_chipsetdlg2 (HWND hDlg, UINT msg, WPARAM wParam, LPARAM
 #endif
     workprefs.cs_cdtvscsi = IsDlgButtonChecked (hDlg, IDC_CS_CDTVSCSI) ? 1 : 0;
     workprefs.cs_pcmcia = IsDlgButtonChecked (hDlg, IDC_CS_PCMCIA) ? 1 : 0;
+    workprefs.cs_slowmemisfast = IsDlgButtonChecked (hDlg, IDC_CS_SLOWISFAST) ? 1 : 0;
     workprefs.cs_ide = IsDlgButtonChecked (hDlg, IDC_CS_IDE1) ? 1 : (IsDlgButtonChecked (hDlg, IDC_CS_IDE2) ? 2 : 0);
     workprefs.cs_ciaatod = IsDlgButtonChecked (hDlg, IDC_CS_CIAA_TOD1) ? 0
        : (IsDlgButtonChecked (hDlg, IDC_CS_CIAA_TOD2) ? 1 : 2);
@@ -4423,6 +4425,7 @@ static void enable_for_chipsetdlg2 (HWND hDlg)
     ew (hDlg, IDC_CS_SCSIMODE, FALSE);
     ew (hDlg, IDC_CS_CDTVSCSI, e);
     ew (hDlg, IDC_CS_PCMCIA, e);
+    ew (hDlg, IDC_CS_SLOWISFAST, e);
     ew (hDlg, IDC_CS_CD32CD, e);
     ew (hDlg, IDC_CS_CD32NVRAM, e);
     ew (hDlg, IDC_CS_CD32C2P, e);
@@ -4998,7 +5001,7 @@ static void values_to_miscdlg (HWND hDlg)
        CheckDlgButton (hDlg, IDC_NOOVERLAY, workprefs.win32_no_overlay);
        CheckDlgButton (hDlg, IDC_SHOWLEDS, workprefs.leds_on_screen);
        CheckDlgButton (hDlg, IDC_SCSIDEVICE, workprefs.scsi == 1);
-       CheckDlgButton (hDlg, IDC_SANA2, workprefs.sana2[0] ? 1 : 0);
+       CheckDlgButton (hDlg, IDC_SANA2, workprefs.sana2);
        CheckDlgButton (hDlg, IDC_NOTASKBARBUTTON, workprefs.win32_notaskbarbutton);
        CheckDlgButton (hDlg, IDC_ALWAYSONTOP, workprefs.win32_alwaysontop);
        CheckDlgButton (hDlg, IDC_CLOCKSYNC, workprefs.tod_hack);
@@ -5176,10 +5179,7 @@ static INT_PTR MiscDlgProc (HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam)
            enable_for_miscdlg (hDlg);
            break;
        case IDC_SANA2:
-           if (IsDlgButtonChecked (hDlg, IDC_SANA2))
-               strcpy (workprefs.sana2, "UAE");
-           else
-               workprefs.sana2[0] = 0;
+           workprefs.sana2 = IsDlgButtonChecked (hDlg, IDC_SANA2) ? 1 : 0;
            break;
        case IDC_CLOCKSYNC:
            workprefs.tod_hack = IsDlgButtonChecked (hDlg, IDC_CLOCKSYNC);
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
index 5d95328..cacf53b
                                OmitFramePointers="true"
                                WholeProgramOptimization="true"
                                AdditionalIncludeDirectories="..\..\include,..\..,..\,..\resources,..\osdep,..\sounddep,..\..\prowizard\include"
-                               PreprocessorDefinitions="WINVER=0x0500;NDEBUG;_WIN32_IE=0x0500"
+                               PreprocessorDefinitions="WINVER=0x0500;NDEBUG;_WIN32_IE=0x0500;WIN32"
                                StringPooling="true"
                                ExceptionHandling="0"
                                BasicRuntimeChecks="0"
                        />
                        <Tool
                                Name="VCLinkerTool"
-                               AdditionalDependencies="opengl32.lib glu32.lib ws2_32.lib ddraw.lib dxguid.lib winmm.lib comctl32.lib version.lib vfw32.lib msacm32.lib dsound.lib dinput8.lib d3d9.lib winio.lib setupapi.lib wininet.lib dxerr9.lib shlwapi.lib zlibstat.lib libpng.lib lglcd.lib"
+                               AdditionalDependencies="opengl32.lib glu32.lib ws2_32.lib ddraw.lib dxguid.lib winmm.lib comctl32.lib version.lib vfw32.lib msacm32.lib dsound.lib dinput8.lib d3d9.lib winio.lib setupapi.lib wininet.lib dxerr9.lib shlwapi.lib zlibstat.lib libpng.lib lglcd.lib wpcap.lib packet.lib"
                                OutputFile="d:\amiga\winuae.exe"
                                LinkIncremental="1"
                                SuppressStartupBanner="true"
                                AdditionalLibraryDirectories=""
                                GenerateManifest="true"
                                AdditionalManifestDependencies=""
-                               DelayLoadDLLs="setupapi.dll"
+                               DelayLoadDLLs="setupapi.dll;wpcap.dll;packet.dll"
                                GenerateDebugInformation="true"
                                ProgramDatabaseFile=".\FullRelease/winuae.pdb"
                                SubSystem="2"
                                RelativePath="..\sounddep\sound.c"
                                >
                        </File>
-                       <File
-                               RelativePath="..\tun.c"
-                               >
-                       </File>
                        <File
                                RelativePath="..\win32.c"
                                >
old mode 100755 (executable)
new mode 100644 (file)
index ad24f20..c7d21d8
@@ -52,7 +52,7 @@
                                AdditionalOptions=""
                                Optimization="0"
                                AdditionalIncludeDirectories="..\..\include,..\..,..\,..\resources,..\osdep,..\sounddep,..\..\prowizard\include,..\tun"
-                               PreprocessorDefinitions="WINVER=0x0500,_DEBUG,WIN32_IE=0x0500"
+                               PreprocessorDefinitions="WINVER=0x0500,_DEBUG,WIN32_IE=0x0500;WIN32"
                                GeneratePreprocessedFile="0"
                                KeepComments="false"
                                ExceptionHandling="0"
                        <Tool
                                Name="VCLinkerTool"
                                AdditionalOptions="/MACHINE:I386"
-                               AdditionalDependencies="opengl32.lib glu32.lib ws2_32.lib ddraw.lib dxguid.lib winmm.lib comctl32.lib version.lib vfw32.lib msacm32.lib dsound.lib dinput8.lib d3d9.lib winio.lib setupapi.lib wininet.lib capsimg.lib dxerr9.lib shlwapi.lib zlibstat.lib libpng.lib lglcd.lib"
+                               AdditionalDependencies="opengl32.lib glu32.lib ws2_32.lib ddraw.lib dxguid.lib winmm.lib comctl32.lib version.lib vfw32.lib msacm32.lib dsound.lib dinput8.lib d3d9.lib winio.lib setupapi.lib wininet.lib capsimg.lib dxerr9.lib shlwapi.lib zlibstat.lib libpng.lib lglcd.lib wpcap.lib packet.lib"
                                ShowProgress="0"
                                OutputFile="d:\amiga\winuae.exe"
                                LinkIncremental="2"
                                SuppressStartupBanner="true"
                                GenerateManifest="false"
-                               DelayLoadDLLs="setupapi.dll"
+                               DelayLoadDLLs="setupapi.dll;wpcap.dll;packet.dll"
                                GenerateDebugInformation="true"
                                ProgramDatabaseFile=".\Debug/winuae.pdb"
                                SubSystem="2"
                                OmitFramePointers="true"
                                WholeProgramOptimization="false"
                                AdditionalIncludeDirectories="..\..\include,..\..,..\,..\resources,..\osdep,..\sounddep,..\..\prowizard\include"
-                               PreprocessorDefinitions="WINVER=0x0500;NDEBUG;_WIN32_IE=0x0500"
+                               PreprocessorDefinitions="WINVER=0x0500;NDEBUG;_WIN32_IE=0x0500;WIN32"
                                StringPooling="true"
                                ExceptionHandling="0"
                                BasicRuntimeChecks="0"
                        />
                        <Tool
                                Name="VCLinkerTool"
-                               AdditionalDependencies="opengl32.lib glu32.lib ws2_32.lib ddraw.lib dxguid.lib winmm.lib comctl32.lib version.lib vfw32.lib msacm32.lib dsound.lib dinput8.lib d3d9.lib winio.lib setupapi.lib wininet.lib dxerr9.lib shlwapi.lib zlibstat.lib libpng.lib lglcd.lib"
+                               AdditionalDependencies="opengl32.lib glu32.lib ws2_32.lib ddraw.lib dxguid.lib winmm.lib comctl32.lib version.lib vfw32.lib msacm32.lib dsound.lib dinput8.lib d3d9.lib winio.lib setupapi.lib wininet.lib dxerr9.lib shlwapi.lib zlibstat.lib libpng.lib lglcd.lib wpcap.lib packet.lib"
                                OutputFile="d:\amiga\winuae.exe"
                                LinkIncremental="1"
                                SuppressStartupBanner="true"
                                AdditionalLibraryDirectories=""
                                GenerateManifest="true"
                                AdditionalManifestDependencies=""
-                               DelayLoadDLLs="setupapi.dll"
+                               DelayLoadDLLs="setupapi.dll;wpcap.dll;packet.dll"
                                GenerateDebugInformation="true"
                                ProgramDatabaseFile=".\Release/winuae.pdb"
                                SubSystem="2"
                                RelativePath="..\sounddep\sound.c"
                                >
                        </File>
-                       <File
-                               RelativePath="..\tun.c"
-                               >
-                       </File>
                        <File
                                RelativePath="..\win32.c"
                                >
old mode 100755 (executable)
new mode 100644 (file)
index 79bf378..5fd284e
@@ -1,4 +1,43 @@
 
+Beta 14:
+
+- BPLCON3 BRDRBLNK-bit didn't work when chipset was ECS Denise
+- BPLCON3 KILLEHB-bit was first implemented in ECS Denise (not AGA)
+  It makes 6-plane display to work like normal 5-plane display,
+  6th plane can now be used for genlock mask
+- COPCON CDANG-bit allowing full register writes was first implemented
+  in ECS Agnus, not in AGA. (OCS has low address limit of 0x40)
+- CDTV QS Denise setting corrected (OCS, not ECS Denise)
+- added "slow is fast" option to advanced chipset. (Original A2000
+  with DIP Agnus has real fast at 0xc00000, some A1000 CPU socket
+  fast ram expansions mapped to 0xc00000 instead of usual 0x200000)
+  CPU socket RAM expansions) Speed difference only in CE-mode
+- Windows message handling changes, most likely breaks something but
+  also should fix Direct3D filter fullscreen switch issues (WIP)
+- compressed disk images (dms, adz etc..) inside archives (lha, zip
+  etc..) supported (this may have worked few releases ago, not sure..)
+
+- uaenet.device backend replaced with winpcap
+  http://www.winpcap.org/install/ (version 4.x only tested)
+  differences:
+  - winpcap is easier to use. Install. Done. (*)
+  - promiscuous mode supported
+  - all available network adapters are automatically mapped to
+    uaenet.device. first adapter = unit 0, second = unit 1 etc..
+    (manual configuration someday, maybe..) Check the log.
+  - some (bad) software firewalls may block some/all packets..
+    (at least Vista x64 + eset smart security fw seems to eat all
+    non-broadcast packets..)
+  - fixed bug in dropped packet (packet that nobody wanted) handing
+
+  *) Vista note: winpcap kernel mode driver will be loaded when it is
+  first required. This needs admin privileges (only once after boot)
+  Another easier solution is to enable autostart:
+  Open Device manager, "View"-menu, "Show hidden devices", open
+  "Non-Plug and Play Drivers" from device tree, find "NetGroup Packet
+  Filter Driver", select properties, "Driver"-tab, set type to
+  "Automatic"
+
 Beta 13:
 
 - more cd/dvdrom automount issues fixed
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
diff --git a/rpc.c b/rpc.c
old mode 100755 (executable)
new mode 100644 (file)
diff --git a/sana2.c b/sana2.c
old mode 100755 (executable)
new mode 100644 (file)
index 10a92cb..6e727e9
--- a/sana2.c
+++ b/sana2.c
@@ -25,7 +25,6 @@
 #include "blkdev.h"
 #include "uae.h"
 #include "sana2.h"
-#include "tun_uae.h"
 #include "win32_uaenet.h"
 
 #define SANA2NAME "uaenet.device"
@@ -168,7 +167,7 @@ struct mcast {
 };
 
 struct devstruct {
-    int unitnum, unit, opencnt, exclusive;
+    int unitnum, unit, opencnt, exclusive, promiscuous;
     struct asyncreq *ar;
     struct asyncreq *s2p;
     struct mcast *mc;
@@ -188,7 +187,7 @@ struct devstruct {
     int configured;
     int adapter;
     int online;
-    struct tapdata *td;
+    struct netdriverdata *td;
     struct s2packet *readqueue;
     uae_u8 mac[ADDR_SIZE];
 };
@@ -197,6 +196,7 @@ struct priv_devstruct {
     int inuse;
     int unit;
     int flags; /* OpenDevice() */
+    int promiscuous;
 
     uae_u8 tracks[65536];
     int trackcnt;
@@ -213,13 +213,13 @@ struct priv_devstruct {
 
     uaecptr timerbase;
 
-    struct tapdata *td;
+    struct netdriverdata *td;
 
     int tmp;
 };
 
-static struct tapdata td;
-static struct devstruct devst[MAX_TOTAL_DEVICES];
+static struct netdriverdata td[MAX_TOTAL_NET_DEVICES];
+static struct devstruct devst[MAX_TOTAL_NET_DEVICES];
 static struct priv_devstruct pdevst[MAX_OPEN_DEVICES];
 static uae_u32 nscmd_cmd;
 static uae_sem_t change_sem, async_sem;
@@ -231,9 +231,7 @@ static struct device_info *devinfo (int mode, int unitnum, struct device_info *d
 
 static struct devstruct *getdevstruct (int unit)
 {
-    if (unit != 0)
-       return 0;
-    if (unit >= MAX_TOTAL_DEVICES || unit < 0)
+    if (unit >= MAX_TOTAL_NET_DEVICES || unit < 0)
        return 0;
     return &devst[unit];
 }
@@ -345,13 +343,8 @@ static uae_u32 REGPARAM2 dev_open_2 (TrapContext *context)
        return openfail (ioreq, 32); /* badunitnum */
     if (!buffermgmt)
        return openfail (ioreq, S2ERR_BAD_ARGUMENT);
-    if ((flags & SANA2OPF_MINE) && (dev->exclusive || dev->opencnt > 0))
+    if ((flags & SANA2OPF_PROM) && dev->opencnt > 0)
        return openfail (ioreq, -6); /* busy */
-    if (flags & SANA2OPF_PROM) {
-       if (dev->exclusive || dev->opencnt > 0)
-           return openfail (ioreq, -6); /* busy */
-       return openfail (ioreq, S2ERR_NOT_SUPPORTED);
-    }
 
     for (i = 0; i < MAX_OPEN_DEVICES; i++) {
         pdev = &pdevst[i];
@@ -360,23 +353,28 @@ static uae_u32 REGPARAM2 dev_open_2 (TrapContext *context)
     }
     if (i == MAX_OPEN_DEVICES)
         return openfail (ioreq, -6);
+
     put_long (ioreq + 24, pdev - pdevst);
     pdev->unit = unit;
     pdev->flags = flags;
     pdev->inuse = 1;
-    pdev->td = &td;
+    pdev->td = &td[unit];
+    pdev->promiscuous = (flags & SANA2OPF_PROM) ? 1 : 0;
+
+    if (pdev->td->active == 0)
+       return openfail (ioreq, 32); /* badunit, no adapter */
 
     dev->opencnt = get_word (m68k_areg (&context->regs, 6) + 32);
     if (dev->opencnt == 0) {
        dev->sysdata = xcalloc (uaenet_getdatalenght(), 1);
-       if (!uaenet_open (dev->sysdata, &td, dev, unit)) {
+       if (!uaenet_open (dev->sysdata, pdev->td, dev, pdev->promiscuous)) {
            xfree (dev->sysdata);
            dev->sysdata = NULL;
            return openfail (ioreq, 32); /* badunitnum */
        }
        write_log ("%s: initializing unit %d\n", getdevname (), unit);
-       dev->td = &td;
-       dev->adapter = td.active;
+       dev->td = pdev->td;
+       dev->adapter = pdev->td->active;
        start_thread (dev);
     }
 
@@ -637,14 +635,14 @@ static uae_u32 packetfilter (TrapContext *ctx, uaecptr hook, uaecptr ios2, uaecp
     return v;
 }
 
-static int isbroadcast (uae_u8 *d)
+static int isbroadcast (const uae_u8 *d)
 {
     if (d[0] == 0xff && d[1] == 0xff && d[2] == 0xff &&
        d[3] == 0xff && d[4] == 0xff && d[5] == 0xff)
            return 1;
     return 0;
 }
-static int ismulticast (uae_u8 *d)
+static int ismulticast (const uae_u8 *d)
 {
     if (isbroadcast (d))
        return 0;
@@ -653,7 +651,7 @@ static int ismulticast (uae_u8 *d)
     return 0;
 }
 
-static uae_u64 addrto64 (uae_u8 *d)
+static uae_u64 addrto64 (const uae_u8 *d)
 {
     int i;
     uae_u64 addr = 0;
@@ -727,7 +725,7 @@ static int delmulticastaddresses (struct devstruct *dev, uae_u64 start, uae_u64
     return 0;
 }
 
-static struct s2packet *createreadpacket (struct devstruct *dev, uae_u8 *d, int len)
+static struct s2packet *createreadpacket (struct devstruct *dev, const uae_u8 *d, int len)
 {
     struct s2packet *s2p = xcalloc (sizeof (struct s2packet), 1);
     s2p->data = xmalloc (dev->td->mtu + ETH_HEADER_SIZE + 2);
@@ -777,7 +775,7 @@ static int handleread (TrapContext *ctx, struct priv_devstruct *pdev, uaecptr re
     return 1;
 }
 
-void uaenet_gotdata (struct devstruct *dev, uae_u8 *d, int len)
+void uaenet_gotdata (struct devstruct *dev, const uae_u8 *d, int len)
 {
     uae_u16 type;
     struct mcast *mc;
@@ -785,8 +783,16 @@ void uaenet_gotdata (struct devstruct *dev, uae_u8 *d, int len)
 
     if (!dev->online)
        return;
+    /* drop if bogus size */
     if (len <= ETH_HEADER_SIZE + 2 || len >= dev->td->mtu + ETH_HEADER_SIZE + 2)
        return;
+    /* drop if dst == broadcast and src == me */
+    if (isbroadcast (d) && !memcmp (d + 6, dev->td->mac, ADDR_SIZE))
+       return;
+    /* drop if not promiscuous and dst != broadcast and dst != me */
+    if (!dev->promiscuous && !isbroadcast (d) && memcmp (d, dev->td->mac, ADDR_SIZE))
+       return;
+    /* drop if multicast with unknown address */
     if (ismulticast (d)) {
        uae_u64 mac64 = addrto64 (d);
        /* multicast */
@@ -1340,7 +1346,7 @@ static uae_u32 REGPARAM2 dev_abortio (TrapContext *context)
 
 static uae_u32 REGPARAM2 uaenet_int_handler (TrapContext *ctx)
 {
-    int i;
+    int i, j;
     int ours = 0;
     int gotit;
     struct asyncreq *ar;
@@ -1349,7 +1355,7 @@ static uae_u32 REGPARAM2 uaenet_int_handler (TrapContext *ctx)
     for (i = 0; i < MAX_OPEN_DEVICES; i++)
        pdevst[i].tmp = 0;
 
-    for (i = 0; i < MAX_TOTAL_DEVICES; i++) {
+    for (i = 0; i < MAX_TOTAL_NET_DEVICES; i++) {
        struct devstruct *dev = &devst[i];
        struct s2packet *p;
        if (dev->online) {
@@ -1408,10 +1414,10 @@ static uae_u32 REGPARAM2 uaenet_int_handler (TrapContext *ctx)
                if (!gotit) {
                    if (log_net)
                        write_log ("-> %p packet dropped, LEN=%d\n", p, p->len);
-                   for (i = 0; i < MAX_OPEN_DEVICES; i++) {
-                       if (pdevst[i].unit == dev->unit) {
-                           if (pdevst[i].tracks[type])
-                               pdevst[i].packetsdropped++;
+                   for (j = 0; j < MAX_OPEN_DEVICES; j++) {
+                       if (pdevst[j].unit == dev->unit) {
+                           if (pdevst[j].tracks[type])
+                               pdevst[j].packetsdropped++;
                        }
                    }
                }
@@ -1476,7 +1482,7 @@ static void dev_reset (void)
     int unitnum = 0;
 
     write_log ("%s reset\n", getdevname());
-    for (i = 0; i < MAX_TOTAL_DEVICES; i++) {
+    for (i = 0; i < MAX_TOTAL_NET_DEVICES; i++) {
        dev = &devst[i];
        if (dev->opencnt) {
            struct asyncreq *ar = dev->ar;
@@ -1507,7 +1513,7 @@ static uaecptr ROM_netdev_resname = 0,
 
 uaecptr netdev_startup (uaecptr resaddr)
 {
-    if (!currprefs.sana2[0])
+    if (!currprefs.sana2)
        return resaddr;
     if (log_net)
        write_log ("netdev_startup(0x%x)\n", resaddr);
@@ -1531,12 +1537,13 @@ void netdev_install (void)
     uae_u32 initcode, openfunc, closefunc, expungefunc;
     uae_u32 beginiofunc, abortiofunc;
 
-    if (!currprefs.sana2[0])
+    if (!currprefs.sana2)
        return;
     if (log_net)
        write_log ("netdev_install(): 0x%x\n", here ());
 
-    tap_open_driver (&td, currprefs.sana2);
+    uaenet_close_driver (td);
+    uaenet_open_driver (td);
 
     ROM_netdev_resname = ds (getdevname());
     ROM_netdev_resid = ds ("UAE net.device 0.1");
@@ -1633,7 +1640,7 @@ void netdev_install (void)
 
 void netdev_start_threads (void)
 {
-    if (!currprefs.sana2[0])
+    if (!currprefs.sana2)
        return;
     if (log_net)
        write_log ("netdev_start_threads()\n");
@@ -1643,7 +1650,7 @@ void netdev_start_threads (void)
 
 void netdev_reset (void)
 {
-    if (!currprefs.sana2[0])
+    if (!currprefs.sana2)
        return;
     dev_reset ();
 }
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
diff --git a/scsi.c b/scsi.c
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
diff --git a/svga.c b/svga.c
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
diff --git a/traps.c b/traps.c
old mode 100755 (executable)
new mode 100644 (file)
diff --git a/tui.c b/tui.c
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
diff --git a/zfile.c b/zfile.c
old mode 100755 (executable)
new mode 100644 (file)
index e120063..d6f5489
--- a/zfile.c
+++ b/zfile.c
@@ -264,7 +264,7 @@ static struct zfile *dms (struct zfile *z)
     int ret;
     struct zfile *zo;
 
-    zo = zfile_fopen_empty ("zipped.dms", 1760 * 512);
+    zo = zfile_fopen_empty ("undms.adf", 1760 * 512);
     if (!zo)
        return z;
     ret = DMS_Process_File (z, zo, CMD_UNPACK, OPT_VERBOSE, 0, 0);
@@ -280,7 +280,6 @@ const char *uae_ignoreextensions[] =
 const char *uae_diskimageextensions[] =
     { ".adf", ".adz", ".ipf", ".fdi", ".exe", ".dms", ".wrp", ".dsq", 0 };
 
-
 int zfile_is_ignore_ext(const char *name)
 {
     int i;
@@ -567,14 +566,24 @@ int zfile_zopen (const char *name, zfile_callback zc, void *user)
  */
 struct zfile *zfile_fopen (const char *name, const char *mode)
 {
-    struct zfile *l;
+    int cnt = 10;
+    struct zfile *l, *l2;
     char path[MAX_DPATH];
 
     manglefilename(path, name);
     l = zfile_fopen_2 (path, mode);
     if (!l)
        return 0;
-    l = zuncompress (l, 0);
+    l2 = NULL;
+    while (cnt-- > 0) {
+       l = zuncompress (l, 0);
+       if (!l)
+           break;
+       zfile_fseek (l, 0, SEEK_SET);
+       if (l == l2)
+           break;
+       l2 = l;
+    }
     return l;
 }
 
old mode 100755 (executable)
new mode 100644 (file)