* cpummu.cpp - MMU emulation
*
* Copyright (c) 2001-2004 Milan Jurik of ARAnyM dev team (see AUTHORS)
- *
+ *
* Inspired by UAE MMU patch
*
* This file is part of the ARAnyM project which builds a new and powerful
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#if 0
+#define FULLMMU
+
#define DEBUG 0
-#define DUNUSED(x)
#include "sysconfig.h"
#include "sysdeps.h"
#include "newcpu.h"
#include "cpummu.h"
#include "debug.h"
+#ifdef USE_JIT
+# include "compiler/compemu.h"
+#endif
#define DBG_MMU_VERBOSE 1
#define DBG_MMU_SANITY 1
-static int mmu_hit;
+#ifdef FULLMMU
mmu_atc_l1_array atc_l1[2];
mmu_atc_l1_array *current_atc;
struct mmu_atc_line atc_l2[2][ATC_L2_SIZE];
-#ifdef ATC_STATS
+# ifdef ATC_STATS
static unsigned int mmu_atc_hits[ATC_L2_SIZE];
-#endif
+# endif
static void mmu_dump_ttr(const char * label, uae_u32 ttr)
from_addr = ttr & MMU_TTR_LOGICAL_BASE;
to_addr = (ttr & MMU_TTR_LOGICAL_MASK) << 8;
- write_log ("%s: [%08lx] %08lx - %08lx enabled=%d supervisor=%d wp=%d cm=%02d",
+ D(bug("%s: [%08lx] %08lx - %08lx enabled=%d supervisor=%d wp=%d cm=%02d",
label, ttr,
from_addr, to_addr,
ttr & MMU_TTR_BIT_ENABLED ? 1 : 0,
(ttr & (MMU_TTR_BIT_SFIELD_ENABLED | MMU_TTR_BIT_SFIELD_SUPER)) >> MMU_TTR_SFIELD_SHIFT,
ttr & MMU_TTR_BIT_WRITE_PROTECT ? 1 : 0,
(ttr & MMU_TTR_CACHE_MASK) >> MMU_TTR_CACHE_SHIFT
- );
+ ));
}
void mmu_make_transparent_region(uaecptr baseaddr, uae_u32 size, int datamode)
*ttr |= ((baseaddr + size - 1) & MMU_TTR_LOGICAL_BASE) >> 8;
*ttr |= MMU_TTR_BIT_ENABLED;
- write_log ("MMU: map transparent mapping of %08x", *ttr);
+ D(bug("MMU: map transparent mapping of %08x", *ttr));
}
/* check if an address matches a ttr */
D(bug("%s: root=%lx", label, root_ptr));
for (root_idx = 0; root_idx < ROOT_TABLE_SIZE; root_idx++) {
- root_des = phys_get_long (root_ptr + root_idx);
+ root_des = phys_get_long(root_ptr + root_idx);
if ((root_des & 2) == 0)
continue; /* invalid */
} page_info[PAGE_TABLE_SIZE];
int n_pages_used;
- ptr_des = phys_get_long (ptr_des_addr + ptr_idx);
+ ptr_des = phys_get_long(ptr_des_addr + ptr_idx);
ptr_log = root_log | (ptr_idx << PTR_INDEX_SHIFT);
if ((ptr_des & 2) == 0)
n_pages_used = -1;
for (page_idx = 0; page_idx < PAGE_TABLE_SIZE; page_idx++) {
- page_des = phys_get_long (page_addr + page_idx);
+ page_des = phys_get_long(page_addr + page_idx);
page_log = ptr_log | (page_idx << 2); // ??? PAGE_INDEX_SHIFT
switch (page_des & 3) {
for (j = 0; j < ATC_L2_SIZE; j++) {
if (atc_l2[i][j].tag == 0x8000)
continue;
- write_log ("ATC[%02d] G=%d TT=%d M=%d WP=%d VD=%d VI=%d tag=%08x --> phys=%08x",
+ D(bug("ATC[%02d] G=%d TT=%d M=%d WP=%d VD=%d VI=%d tag=%08x --> phys=%08x",
j, atc_l2[i][j].global, atc_l2[i][j].tt, atc_l2[i][j].modified,
atc_l2[i][j].write_protect, atc_l2[i][j].valid_data, atc_l2[i][j].valid_inst,
- atc_l2[i][j].tag, atc_l2[i][j].phys);
+ atc_l2[i][j].tag, atc_l2[i][j].phys));
}
}
}
/* {{{ mmu_dump_tables */
void mmu_dump_tables(void)
{
- write_log ("URP: %08x SRP: %08x MMUSR: %x TC: %x", regs.urp, regs.srp, regs.mmusr, regs.tcr);
+ D(bug("URP: %08x SRP: %08x MMUSR: %x TC: %x", regs.urp, regs.srp, regs.mmusr, regs.tcr));
mmu_dump_ttr("DTT0", regs.dtt0);
mmu_dump_ttr("DTT1", regs.dtt1);
mmu_dump_ttr("ITT0", regs.itt0);
}
/* }}} */
-static uaecptr REGPARAM3 mmu_lookup_pagetable(uaecptr addr, int super, int write) REGPARAM;
+static uaecptr REGPARAM2 mmu_lookup_pagetable(uaecptr addr, int super, int write);
-STATIC_INLINE int mmu_get_fc(int super, int data)
+static ALWAYS_INLINE int mmu_get_fc(bool super, bool data)
{
return (super ? 4 : 0) | (data ? 1 : 2);
}
regs.mmu_fault_addr = addr;
regs.mmu_ssw = ssw | MMU_SSW_ATC;
- write_log ("BUS ERROR: fc=%d w=%d log=%08x ssw=%04x", fc, write, addr, ssw);
+ D(bug("BUS ERROR: fc=%d w=%d log=%08x ssw=%04x", fc, write, addr, ssw));
THROW(2);
}
SAVE_EXCEPTION;
TRY(prb) {
desc = mmu_lookup_pagetable(addr, super, write);
- write_log ("translate: %x,%u,%u,%u -> %x", addr, super, write, data, desc);
+ D(bug("translate: %x,%u,%u,%u -> %x", addr, super, write, data, desc));
RESTORE_EXCEPTION;
}
CATCH(prb) {
return desc;
}
-STATIC_INLINE int
+static ALWAYS_INLINE bool
mmu_fill_atc_l1(uaecptr addr, int super, int data, int write,
struct mmu_atc_line *l1)
{
mmu_fill_atc_l2(addr, super, data, write, l);
}
if (!(data ? l->valid_data : l->valid_inst)) {
- write_log ("MMU: non-resident page (%x,%x,%x)!", addr, regs.pc, regs.fault_pc);
+ D(bug("MMU: non-resident page (%x,%x,%x)!", addr, regs.pc, regs.fault_pc));
goto fail;
}
if (write) {
if (l->write_protect) {
- write_log ("MMU: write protected (via %s) %lx", l->tt ? "ttr" : "atc", addr);
+ D(bug("MMU: write protected (via %s) %lx", l->tt ? "ttr" : "atc", addr));
goto fail;
}
if (!l->modified)
goto fail;
}
- return 1;
+ return true;
fail:
l1->tag = ~l1->tag;
- return 0;
+ return false;
}
uaecptr REGPARAM2 mmu_translate(uaecptr addr, int super, int data, int write)
l = &atc_l2[super][ATC_L2_INDEX(addr)];
mmu_fill_atc_l2(addr, super, data, write, l);
if (!(data ? l->valid_data : l->valid_inst))
- THROW(2);
+ THROW(2);
return addr + l->phys;
}
/* fetch root table descriptor */
i = (addr >> 23) & 0x1fc;
desc_addr = (desc & MMU_ROOT_PTR_ADDR_MASK) | i;
- desc = phys_get_long (desc_addr);
+ desc = phys_get_long(desc_addr);
if ((desc & 2) == 0) {
- write_log ("MMU: invalid root descriptor for %lx", addr);
+ D(bug("MMU: invalid root descriptor for %lx", addr));
return 0;
}
wp |= desc;
if ((desc & MMU_DES_USED) == 0)
- phys_put_long (desc_addr, desc | MMU_DES_USED);
+ phys_put_long(desc_addr, desc | MMU_DES_USED);
/* fetch pointer table descriptor */
i = (addr >> 16) & 0x1fc;
desc_addr = (desc & MMU_ROOT_PTR_ADDR_MASK) | i;
- desc = phys_get_long (desc_addr);
+ desc = phys_get_long(desc_addr);
if ((desc & 2) == 0) {
- write_log ("MMU: invalid ptr descriptor for %lx", addr);
+ D(bug("MMU: invalid ptr descriptor for %lx", addr));
return 0;
}
wp |= desc;
if ((desc & MMU_DES_USED) == 0)
- phys_put_long (desc_addr, desc | MMU_DES_USED);
+ phys_put_long(desc_addr, desc | MMU_DES_USED);
/* fetch page table descriptor */
if (regs.mmu_pagesize_8k) {
}
get_page_descriptor:
- desc = phys_get_long (desc_addr);
+ desc = phys_get_long(desc_addr);
if ((desc & 1) == 0) {
if ((desc & 2) == 0) {
- write_log ("MMU: invalid page descriptor log=%08lx desc=%08lx @%08lx", addr, desc, desc_addr);
+ D(bug("MMU: invalid page descriptor log=%08lx desc=%08lx @%08lx", addr, desc, desc_addr));
return desc;
}
/* indirect */
if (indirect) {
- write_log ("MMU: double indirect descriptor log=%lx descriptor @ %lx", addr, desc_addr);
+ D(bug("MMU: double indirect descriptor log=%lx descriptor @ %lx", addr, desc_addr));
return desc;
}
wp |= desc;
if ((desc & MMU_DES_USED) == 0)
- phys_put_long (desc_addr, desc | MMU_DES_USED);
+ phys_put_long(desc_addr, desc | MMU_DES_USED);
desc_addr = desc & MMU_PAGE_INDIRECT_MASK;
indirect = 1;
goto get_page_descriptor;
if (desc & MMU_DES_WP) {
if ((desc & MMU_DES_USED) == 0) {
desc |= MMU_DES_USED;
- phys_put_long (desc_addr, desc);
+ phys_put_long(desc_addr, desc);
}
} else if ((desc & (MMU_DES_USED|MMU_DES_MODIFIED)) !=
(MMU_DES_USED|MMU_DES_MODIFIED)) {
desc |= MMU_DES_USED|MMU_DES_MODIFIED;
- phys_put_long (desc_addr, desc);
+ phys_put_long(desc_addr, desc);
}
} else {
if ((desc & MMU_DES_USED) == 0) {
desc |= MMU_DES_USED;
- phys_put_long (desc_addr, desc);
+ phys_put_long(desc_addr, desc);
}
}
return desc;
{
uae_u16 res;
- res = (uae_u16)mmu_get_byte (addr, data, sz_word) << 8;
+ res = (uae_u16)mmu_get_byte(addr, data, sz_word) << 8;
SAVE_EXCEPTION;
TRY(prb) {
- res |= mmu_get_byte (addr + 1, data, sz_word);
+ res |= mmu_get_byte(addr + 1, data, sz_word);
RESTORE_EXCEPTION;
}
CATCH(prb) {
return res;
}
-uae_u32 mmu_get_long_unaligned(uaecptr addr, int data)
+uae_u32 REGPARAM2 mmu_get_long_unaligned(uaecptr addr, int data)
{
uae_u32 res;
if (likely(!(addr & 1))) {
- res = (uae_u32)mmu_get_word (addr, data, sz_long) << 16;
+ res = (uae_u32)mmu_get_word(addr, data, sz_long) << 16;
SAVE_EXCEPTION;
TRY(prb) {
- res |= mmu_get_word (addr + 2, data, sz_long);
+ res |= mmu_get_word(addr + 2, data, sz_long);
RESTORE_EXCEPTION;
}
CATCH(prb) {
THROW_AGAIN(prb);
}
} else {
- res = (uae_u32)mmu_get_byte (addr, data, sz_long) << 8;
+ res = (uae_u32)mmu_get_byte(addr, data, sz_long) << 8;
SAVE_EXCEPTION;
TRY(prb) {
- res = (res | mmu_get_byte (addr + 1, data, sz_long)) << 8;
- res = (res | mmu_get_byte (addr + 2, data, sz_long)) << 8;
- res |= mmu_get_byte (addr + 3, data, sz_long);
+ res = (res | mmu_get_byte(addr + 1, data, sz_long)) << 8;
+ res = (res | mmu_get_byte(addr + 2, data, sz_long)) << 8;
+ res |= mmu_get_byte(addr + 3, data, sz_long);
RESTORE_EXCEPTION;
}
CATCH(prb) {
if (!mmu_fill_atc_l1(addr, super, data, 0, cl))
goto redo;
- return do_get_mem_byte((uae_u8 *)mmu_get_real_address (addr, cl));
+ return do_get_mem_byte((uae_u8 *)mmu_get_real_address(addr, cl));
}
uae_u16 REGPARAM2 mmu_get_word_slow(uaecptr addr, int super, int data,
if (!mmu_fill_atc_l1(addr, super, data, 0, cl))
goto redo;
- return do_get_mem_word((uae_u16 *)mmu_get_real_address (addr, cl));
+ return do_get_mem_word((uae_u16 *)mmu_get_real_address(addr, cl));
}
uae_u32 REGPARAM2 mmu_get_long_slow(uaecptr addr, int super, int data,
if (!mmu_fill_atc_l1(addr, super, data, 0, cl))
goto redo;
- return do_get_mem_long((uae_u32 *)mmu_get_real_address (addr, cl));
+ return do_get_mem_long((uae_u32 *)mmu_get_real_address(addr, cl));
}
void REGPARAM2 mmu_put_long_unaligned(uaecptr addr, uae_u32 val, int data)
SAVE_EXCEPTION;
TRY(prb) {
if (likely(!(addr & 1))) {
- mmu_put_word (addr, val >> 16, data, sz_long);
- mmu_put_word (addr + 2, val, data, sz_long);
+ mmu_put_word(addr, val >> 16, data, sz_long);
+ mmu_put_word(addr + 2, val, data, sz_long);
} else {
- mmu_put_byte (addr, val >> 24, data, sz_long);
- mmu_put_byte (addr + 1, val >> 16, data, sz_long);
- mmu_put_byte (addr + 2, val >> 8, data, sz_long);
- mmu_put_byte (addr + 3, val, data, sz_long);
+ mmu_put_byte(addr, val >> 24, data, sz_long);
+ mmu_put_byte(addr + 1, val >> 16, data, sz_long);
+ mmu_put_byte(addr + 2, val >> 8, data, sz_long);
+ mmu_put_byte(addr + 3, val, data, sz_long);
}
RESTORE_EXCEPTION;
}
{
SAVE_EXCEPTION;
TRY(prb) {
- mmu_put_byte (addr, val >> 8, data, sz_word);
- mmu_put_byte (addr + 1, val, data, sz_word);
+ mmu_put_byte(addr, val >> 8, data, sz_word);
+ mmu_put_byte(addr + 1, val, data, sz_word);
RESTORE_EXCEPTION;
}
CATCH(prb) {
if (!mmu_fill_atc_l1(addr, super, data, 1, cl))
goto redo;
- do_put_mem_byte((uae_u8 *)mmu_get_real_address (addr, cl), val);
+ do_put_mem_byte((uae_u8 *)mmu_get_real_address(addr, cl), val);
}
void REGPARAM2 mmu_put_word_slow(uaecptr addr, uae_u16 val, int super, int data,
if (!mmu_fill_atc_l1(addr, super, data, 1, cl))
goto redo;
- do_put_mem_word((uae_u16 *)mmu_get_real_address (addr, cl), val);
+ do_put_mem_word((uae_u16 *)mmu_get_real_address(addr, cl), val);
}
void REGPARAM2 mmu_put_long_slow(uaecptr addr, uae_u32 val, int super, int data,
if (!mmu_fill_atc_l1(addr, super, data, 1, cl))
goto redo;
- do_put_mem_long((uae_u32 *)mmu_get_real_address (addr, cl), val);
+ do_put_mem_long((uae_u32 *)mmu_get_real_address(addr, cl), val);
}
-uae_u32 REGPARAM2 sfc_get_long (uaecptr addr)
+uae_u32 REGPARAM2 sfc_get_long(uaecptr addr)
{
int super = (regs.sfc & 4) != 0;
int data = (regs.sfc & 3) != 2;
return res;
}
-uae_u16 REGPARAM2 sfc_get_word (uaecptr addr)
+uae_u16 REGPARAM2 sfc_get_word(uaecptr addr)
{
int super = (regs.sfc & 4) != 0;
int data = (regs.sfc & 3) != 2;
return res;
}
-uae_u8 REGPARAM2 sfc_get_byte (uaecptr addr)
+uae_u8 REGPARAM2 sfc_get_byte(uaecptr addr)
{
int super = (regs.sfc & 4) != 0;
int data = (regs.sfc & 3) != 2;
return mmu_get_user_byte(addr, super, data, sz_byte);
}
-void REGPARAM2 dfc_put_long (uaecptr addr, uae_u32 val)
+void REGPARAM2 dfc_put_long(uaecptr addr, uae_u32 val)
{
int super = (regs.dfc & 4) != 0;
int data = (regs.dfc & 3) != 2;
}
}
-void REGPARAM2 dfc_put_word (uaecptr addr, uae_u16 val)
+void REGPARAM2 dfc_put_word(uaecptr addr, uae_u16 val)
{
int super = (regs.dfc & 4) != 0;
int data = (regs.dfc & 3) != 2;
}
}
-void REGPARAM2 dfc_put_byte (uaecptr addr, uae_u8 val)
+void REGPARAM2 dfc_put_byte(uaecptr addr, uae_u8 val)
{
int super = (regs.dfc & 4) != 0;
int data = (regs.dfc & 3) != 2;
}
}
-void mmu_op(uae_u32 opcode, struct regstruct *regs, uae_u16 extra)
+void REGPARAM2 mmu_op_real(uae_u32 opcode, uae_u16 extra)
{
- int super = (regs->dfc & 4) != 0;
+ int super = (regs.dfc & 4) != 0;
DUNUSED(extra);
if ((opcode & 0xFE0) == 0x0500) {
int regno, glob;
glob = (opcode & 8) != 0;
if (opcode & 16) {
- write_log ("pflusha(%u,%u)", glob, regs->dfc);
+ D(bug("pflusha(%u,%u)", glob, regs.dfc));
mmu_flush_atc_all(glob);
} else {
- addr = m68k_areg (regs, regno);
- write_log ("pflush(%u,%u,%x)", glob, regs->dfc, addr);
+ addr = m68k_areg(®s, regno);
+ D(bug("pflush(%u,%u,%x)", glob, regs.dfc, addr));
mmu_flush_atc(addr, super, glob);
}
flush_internals();
regno = opcode & 7;
write = (opcode & 32) == 0;
- addr = m68k_areg (regs, regno);
- write_log ("PTEST%c (A%d) %08x DFC=%d", write ? 'W' : 'R', regno, addr, regs->dfc);
- mmu_flush_atc(addr, super, 1);
+ addr = m68k_areg(®s, regno);
+ //bug("ptest(%u,%u,%x)", write, regs.dfc, addr);
+ D(bug("PTEST%c (A%d) %08x DFC=%d", write ? 'W' : 'R', regno, addr, regs.dfc));
+ mmu_flush_atc(addr, super, true);
SAVE_EXCEPTION;
TRY(prb) {
struct mmu_atc_line *l;
uae_u32 desc;
- int data = (regs->dfc & 3) != 2;
+ bool data = (regs.dfc & 3) != 2;
l = &atc_l2[super][ATC_L2_INDEX(addr)];
desc = mmu_fill_atc_l2(addr, super, data, write, l);
if (!(data ? l->valid_data : l->valid_inst))
- regs->mmusr = MMU_MMUSR_B;
+ regs.mmusr = MMU_MMUSR_B;
else if (l->tt)
- regs->mmusr = MMU_MMUSR_T | MMU_MMUSR_R;
+ regs.mmusr = MMU_MMUSR_T | MMU_MMUSR_R;
else {
- regs->mmusr = desc & (~0xfff|MMU_MMUSR_G|MMU_MMUSR_Ux|MMU_MMUSR_S|
+ regs.mmusr = desc & (~0xfff|MMU_MMUSR_G|MMU_MMUSR_Ux|MMU_MMUSR_S|
MMU_MMUSR_CM|MMU_MMUSR_M|MMU_MMUSR_W);
- regs->mmusr |= MMU_MMUSR_R;
+ regs.mmusr |= MMU_MMUSR_R;
}
}
CATCH(prb) {
- regs->mmusr = MMU_MMUSR_B;
+ regs.mmusr = MMU_MMUSR_B;
}
RESTORE_EXCEPTION;
- write_log ("PTEST result: mmusr %08x", regs->mmusr);
+ D(bug("PTEST result: mmusr %08x", regs.mmusr));
} else
- op_illg (opcode, regs);
+ op_illg (opcode, ®s);
}
-void REGPARAM2 mmu_flush_atc(uaecptr addr, int super, int global)
+void REGPARAM2 mmu_flush_atc(uaecptr addr, bool super, bool global)
{
struct mmu_atc_line *l;
int i, j;
}
}
-void REGPARAM2 mmu_flush_atc_all(int global)
+void REGPARAM2 mmu_flush_atc_all(bool global)
{
struct mmu_atc_line *l;
unsigned int i;
void REGPARAM2 mmu_reset(void)
{
- mmu_flush_atc_all(1);
+ mmu_flush_atc_all(true);
regs.urp = regs.srp = 0;
regs.itt0 = regs.itt0 = 0;
}
-void REGPARAM2 mmu_set_tc(uae_u16 tcr)
+void REGPARAM2 mmu_set_tc(uae_u16 tc)
{
- if (regs.tcr == tcr)
+ if (regs.tcr == tc)
return;
- regs.tcr = tcr;
- regs.mmu_enabled = tcr & 0x8000 ? 1 : 0;
- regs.mmu_pagesize_8k = tcr & 0x4000 ? 1 : 0;
- mmu_flush_atc_all(1);
+ regs.tcr = tc;
+ regs.mmu_enabled = tc & 0x8000 ? 1 : 0;
+ regs.mmu_pagesize_8k = tc & 0x4000 ? 1 : 0;
+ mmu_flush_atc_all(true);
- write_log ("MMU: enabled=%d page8k=%d\n", regs.mmu_enabled, regs.mmu_pagesize_8k);
+ D(bug("MMU: enabled=%d page8k=%d\n", regs.mmu_enabled, regs.mmu_pagesize_8k));
}
-void REGPARAM2 mmu_set_super(int super)
+void REGPARAM2 mmu_set_super(bool super)
{
current_atc = &atc_l1[super];
}
+#else
+
+void mmu_op(uae_u32 opcode, uae_u16 /*extra*/)
+{
+ if ((opcode & 0xFE0) == 0x0500) {
+ /* PFLUSH instruction */
+ flush_internals();
+ } else if ((opcode & 0x0FD8) == 0x548) {
+ /* PTEST instruction */
+ } else
+ op_illg(opcode);
+}
+
#endif
+
+/*
+vim:ts=4:sw=4:
+*/
* cpummu.h - MMU emulation
*
* Copyright (c) 2001-2004 Milan Jurik of ARAnyM dev team (see AUTHORS)
- *
+ *
* Inspired by UAE MMU patch
*
* This file is part of the ARAnyM project which builds a new and powerful
#ifndef CPUMMU_H
#define CPUMMU_H
+#define ALWAYS_INLINE __forceinline
+#define bool int
+#define DUNUSED(x)
+#define D
+#define bug write_log
+#define MMUEX 0x12345678
+#define TRY(x) __try
+#define CATCH(x) __except(GetExceptionCode() == MMUEX)
+#define THROW(x) RaiseException(MMUEX,EXCEPTION_NONCONTINUABLE,0,NULL)
+#define THROW_AGAIN(x) THROW(x)
#define SAVE_EXCEPTION
#define RESTORE_EXCEPTION
-#define TRY(x)
-#define CATCH(x)
-#define THROW(x)
-#define THROW_AGAIN(x)
+#define true 1
+#define false 0
#define likely(x) x
+#define unlikely(x) x
+
+typedef char flagtype;
+
+struct xttrx {
+ uae_u32 log_addr_base : 8;
+ uae_u32 log_addr_mask : 8;
+ uae_u32 enable : 1;
+ uae_u32 s_field : 2;
+ uae_u32 : 3;
+ uae_u32 usr1 : 1;
+ uae_u32 usr0 : 1;
+ uae_u32 : 1;
+ uae_u32 cmode : 2;
+ uae_u32 : 2;
+ uae_u32 write : 1;
+ uae_u32 : 2;
+};
+
+struct mmusr_t {
+ uae_u32 phys_addr : 20;
+ uae_u32 bus_err : 1;
+ uae_u32 global : 1;
+ uae_u32 usr1 : 1;
+ uae_u32 usr0 : 1;
+ uae_u32 super : 1;
+ uae_u32 cmode : 2;
+ uae_u32 modif : 1;
+ uae_u32 : 1;
+ uae_u32 write : 1;
+ uae_u32 ttrhit : 1;
+ uae_u32 resident : 1;
+};
+
+struct log_addr4 {
+ uae_u32 rif : 7;
+ uae_u32 pif : 7;
+ uae_u32 paif : 6;
+ uae_u32 poff : 12;
+};
+
+struct log_addr8 {
+ uae_u32 rif : 7;
+ uae_u32 pif : 7;
+ uae_u32 paif : 5;
+ uae_u32 poff : 13;
+};
#define MMU_TEST_PTEST 1
#define MMU_TEST_VERBOSE 2
#define TTR_OK_MATCH 2
struct mmu_atc_line {
- uae_u16 tag;
- unsigned tt : 1;
- unsigned valid_data : 1;
- unsigned valid_inst : 1;
- unsigned global : 1;
- unsigned modified : 1;
- unsigned write_protect : 1;
- unsigned hw : 1;
- unsigned bus_fault : 1;
- uaecptr phys;
+ uae_u16 tag;
+ unsigned tt : 1;
+ unsigned valid_data : 1;
+ unsigned valid_inst : 1;
+ unsigned global : 1;
+ unsigned modified : 1;
+ unsigned write_protect : 1;
+ unsigned hw : 1;
+ unsigned bus_fault : 1;
+ uaecptr phys;
};
/*
#define ATC_L1_SIZE_LOG 8
-#define ATC_L1_SIZE (1 << ATC_L1_SIZE_LOG)
+#define ATC_L1_SIZE (1 << ATC_L1_SIZE_LOG)
#define ATC_L1_INDEX(addr) (((addr) >> 12) % ATC_L1_SIZE)
extern mmu_atc_l1_array *current_atc;
#define ATC_L2_SIZE_LOG 12
-#define ATC_L2_SIZE (1 << ATC_L2_SIZE_LOG)
+#define ATC_L2_SIZE (1 << ATC_L2_SIZE_LOG)
#define ATC_L2_INDEX(addr) ((((addr) >> 12) ^ ((addr) >> (32 - ATC_L2_SIZE_LOG))) % ATC_L2_SIZE)
* the data and write arguments are constant in the common,
* thus allows gcc to generate a constant offset.
*/
-STATIC_INLINE int mmu_lookup(uaecptr addr, int data, int write,
+static ALWAYS_INLINE int mmu_lookup(uaecptr addr, bool data, bool write,
struct mmu_atc_line **cl)
{
addr >>= 12;
/*
* similiar to mmu_user_lookup, but for the use of the moves instruction
*/
-STATIC_INLINE int mmu_user_lookup(uaecptr addr, int super, int data,
- int write, struct mmu_atc_line **cl)
+static ALWAYS_INLINE int mmu_user_lookup(uaecptr addr, bool super, bool data,
+ bool write, struct mmu_atc_line **cl)
{
addr >>= 12;
*cl = &atc_l1[super][data][write][addr % ATC_L1_SIZE];
}
extern uae_u16 REGPARAM3 mmu_get_word_unaligned(uaecptr addr, int data) REGPARAM;
-extern uae_u32 REGPARAM3mmu_get_long_unaligned(uaecptr addr, int data) REGPARAM;
+extern uae_u32 REGPARAM3 mmu_get_long_unaligned(uaecptr addr, int data) REGPARAM;
extern uae_u8 REGPARAM3 mmu_get_byte_slow(uaecptr addr, int super, int data,
- int size, struct mmu_atc_line *cl) REGPARAM;
+ int size, struct mmu_atc_line *cl) REGPARAM;
extern uae_u16 REGPARAM3 mmu_get_word_slow(uaecptr addr, int super, int data,
- int size, struct mmu_atc_line *cl) REGPARAM;
+ int size, struct mmu_atc_line *cl) REGPARAM;
extern uae_u32 REGPARAM3 mmu_get_long_slow(uaecptr addr, int super, int data,
int size, struct mmu_atc_line *cl) REGPARAM;
#define FC_DATA (regs.s ? 5 : 1)
#define FC_INST (regs.s ? 6 : 2)
-extern uaecptr REGPARAM3 mmu_translate(uaecptr addr, int super, int data, int write);
+extern uaecptr REGPARAM3 mmu_translate(uaecptr addr, int super, int data, int write) REGPARAM;
-extern uae_u32 REGPARAM3 sfc_get_long (uaecptr addr) REGPARAM;
-extern uae_u16 REGPARAM3 sfc_get_word (uaecptr addr) REGPARAM;
-extern uae_u8 REGPARAM3 sfc_get_byte (uaecptr addr) REGPARAM;
-extern void REGPARAM3 dfc_put_long (uaecptr addr, uae_u32 val) REGPARAM;
-extern void REGPARAM3 dfc_put_word (uaecptr addr, uae_u16 val) REGPARAM;
-extern void REGPARAM3 dfc_put_byte (uaecptr addr, uae_u8 val) REGPARAM;
+extern uae_u32 REGPARAM3 sfc_get_long(uaecptr addr) REGPARAM;
+extern uae_u16 REGPARAM3 sfc_get_word(uaecptr addr) REGPARAM;
+extern uae_u8 REGPARAM3 sfc_get_byte(uaecptr addr) REGPARAM;
+extern void REGPARAM3 dfc_put_long(uaecptr addr, uae_u32 val) REGPARAM;
+extern void REGPARAM3 dfc_put_word(uaecptr addr, uae_u16 val) REGPARAM;
+extern void REGPARAM3 dfc_put_byte(uaecptr addr, uae_u8 val) REGPARAM;
-extern void REGPARAM3 mmu_flush_atc(uaecptr addr, int super, int global) REGPARAM;
-extern void REGPARAM3 mmu_flush_atc_all(int global) REGPARAM;
-
-extern void REGPARAM3 mmu_reset(void) REGPARAM;
-extern void REGPARAM3 mmu_set_tc(uae_u16 tc) REGPARAM;
-extern void REGPARAM3 mmu_set_super(int super) REGPARAM;
+extern void REGPARAM3 mmu_flush_atc(uaecptr addr, bool super, bool global) REGPARAM;
+extern void REGPARAM3 mmu_flush_atc_all(bool global) REGPARAM;
+extern void REGPARAM3 mmu_op_real(uae_u32 opcode, uae_u16 extra) REGPARAM;
-STATIC_INLINE int test_ram_boundary(uaecptr a, int b, int c, int d) { return 1; }
-STATIC_INLINE void check_ram_boundary(uaecptr a, int b, int c) { }
-STATIC_INLINE int phys_valid_address(uaecptr a,int b, int c) { return 1; }
+#ifdef FULLMMU
+extern void REGPARAM3 mmu_reset(void) REGPARAM;
+extern void REGPARAM3 mmu_set_tc(uae_u16 tc) REGPARAM;
+extern void REGPARAM3 mmu_set_super(bool super) REGPARAM;
+#else
-STATIC_INLINE uae_u32 phys_get_long (uaecptr addr)
+STATIC_INLINE void mmu_reset(void)
{
-#if ARAM_PAGE_CHECK
- if (((addr ^ read_page) <= ARAM_PAGE_MASK))
- return do_get_mem_long((uae_u32*)(addr + read_offset));
-#endif
-#ifndef HW_SIGSEGV
- addr = addr < 0xff000000 ? addr : addr & 0x00ffffff;
- if ((addr & 0xfff00000) == 0x00f00000) return HWget_l(addr);
-#endif
- check_ram_boundary(addr, 4, false);
- uae_u32 * const m = (uae_u32 *)phys_get_real_address (addr);
-#if ARAM_PAGE_CHECK
- read_page = addr;
- read_offset = (uintptr)m - (uintptr)addr;
-#endif
- return do_get_mem_long(m);
}
-STATIC_INLINE uae_u32 phys_get_word (uaecptr addr)
+STATIC_INLINE void mmu_set_tc(uae_u16 /*tc*/)
{
-#if ARAM_PAGE_CHECK
- if (((addr ^ read_page) <= ARAM_PAGE_MASK))
- return do_get_mem_word((uae_u16*)(addr + read_offset));
-#endif
-#ifndef HW_SIGSEGV
- addr = addr < 0xff000000 ? addr : addr & 0x00ffffff;
- if ((addr & 0xfff00000) == 0x00f00000) return HWget_w(addr);
-#endif
- check_ram_boundary(addr, 2, false);
- uae_u16 * const m = (uae_u16 *)phys_get_real_address (addr);
-#if ARAM_PAGE_CHECK
- read_page = addr;
- read_offset = (uintptr)m - (uintptr)addr;
-#endif
- return do_get_mem_word(m);
}
-STATIC_INLINE uae_u32 phys_get_byte (uaecptr addr)
+STATIC_INLINE void mmu_set_super(bool /*super*/)
{
-#if ARAM_PAGE_CHECK
- if (((addr ^ read_page) <= ARAM_PAGE_MASK))
- return do_get_mem_byte((uae_u8*)(addr + read_offset));
-#endif
-#ifndef HW_SIGSEGV
- addr = addr < 0xff000000 ? addr : addr & 0x00ffffff;
- if ((addr & 0xfff00000) == 0x00f00000) return HWget_b(addr);
-#endif
- check_ram_boundary(addr, 1, false);
- uae_u8 * const m = (uae_u8 *)phys_get_real_address (addr);
-#if ARAM_PAGE_CHECK
- read_page = addr;
- read_offset = (uintptr)m - (uintptr)addr;
-#endif
- return do_get_mem_byte(m);
}
-STATIC_INLINE void phys_put_long (uaecptr addr, uae_u32 l)
-{
-#if ARAM_PAGE_CHECK
- if (((addr ^ write_page) <= ARAM_PAGE_MASK)) {
- do_put_mem_long((uae_u32*)(addr + write_offset), l);
- return;
- }
-#endif
-#ifndef HW_SIGSEGV
- addr = addr < 0xff000000 ? addr : addr & 0x00ffffff;
- if ((addr & 0xfff00000) == 0x00f00000) {
- HWput_l(addr, l);
- return;
- }
#endif
- check_ram_boundary(addr, 4, true);
- uae_u32 * const m = (uae_u32 *)phys_get_real_address (addr);
-#if ARAM_PAGE_CHECK
- write_page = addr;
- write_offset = (uintptr)m - (uintptr)addr;
-#endif
- do_put_mem_long(m, l);
-}
-STATIC_INLINE void phys_put_word (uaecptr addr, uae_u32 w)
-{
-#if ARAM_PAGE_CHECK
- if (((addr ^ write_page) <= ARAM_PAGE_MASK)) {
- do_put_mem_word((uae_u16*)(addr + write_offset), w);
- return;
- }
-#endif
-#ifndef HW_SIGSEGV
- addr = addr < 0xff000000 ? addr : addr & 0x00ffffff;
- if ((addr & 0xfff00000) == 0x00f00000) {
- HWput_w(addr, w);
- return;
- }
-#endif
- check_ram_boundary(addr, 2, true);
- uae_u16 * const m = (uae_u16 *)phys_get_real_address (addr);
-#if ARAM_PAGE_CHECK
- write_page = addr;
- write_offset = (uintptr)m - (uintptr)addr;
-#endif
- do_put_mem_word(m, w);
-}
-
-STATIC_INLINE void phys_put_byte (uaecptr addr, uae_u32 b)
-{
-#if ARAM_PAGE_CHECK
- if (((addr ^ write_page) <= ARAM_PAGE_MASK)) {
- do_put_mem_byte((uae_u8*)(addr + write_offset), b);
- return;
- }
-#endif
-#ifndef HW_SIGSEGV
- addr = addr < 0xff000000 ? addr : addr & 0x00ffffff;
- if ((addr & 0xfff00000) == 0x00f00000) {
- HWput_b(addr, b);
- return;
- }
-#endif
- check_ram_boundary(addr, 1, true);
- uae_u8 * const m = (uae_u8 *)phys_get_real_address (addr);
-#if ARAM_PAGE_CHECK
- write_page = addr;
- write_offset = (uintptr)m - (uintptr)addr;
-#endif
- do_put_mem_byte(m, b);
-}
#ifdef FULLMMU
-STATIC_INLINE int is_unaligned(uaecptr addr, int size)
+static ALWAYS_INLINE bool is_unaligned(uaecptr addr, int size)
{
return unlikely((addr & (size - 1)) && (addr ^ (addr + size - 1)) & 0x1000);
}
-STATIC_INLINE uae_u8 *mmu_get_real_address (uaecptr addr, struct mmu_atc_line *cl)
+static ALWAYS_INLINE uae_u8 *mmu_get_real_address(uaecptr addr, struct mmu_atc_line *cl)
{
- return do_get_real_address (cl->phys + addr);
+ return do_get_real_address(cl->phys + addr);
}
-STATIC_INLINE uae_u32 mmu_get_long (uaecptr addr, int data, int size)
+static ALWAYS_INLINE uae_u32 mmu_get_long(uaecptr addr, int data, int size)
{
struct mmu_atc_line *cl;
if (likely(mmu_lookup(addr, data, 0, &cl)))
- return do_get_mem_long((uae_u32 *)mmu_get_real_address (addr, cl));
+ return do_get_mem_long((uae_u32 *)mmu_get_real_address(addr, cl));
return mmu_get_long_slow(addr, regs.s, data, size, cl);
}
-STATIC_INLINE uae_u32 get_long (uaecptr addr)
-{
- if (unlikely(is_unaligned(addr, 4)))
- return mmu_get_long_unaligned(addr, 1);
- return mmu_get_long (addr, 1, sz_long);
-}
-
-STATIC_INLINE uae_u16 mmu_get_word (uaecptr addr, int data, int size)
+static ALWAYS_INLINE uae_u16 mmu_get_word(uaecptr addr, int data, int size)
{
struct mmu_atc_line *cl;
if (likely(mmu_lookup(addr, data, 0, &cl)))
- return do_get_mem_word((uae_u16 *)mmu_get_real_address (addr, cl));
+ return do_get_mem_word((uae_u16 *)mmu_get_real_address(addr, cl));
return mmu_get_word_slow(addr, regs.s, data, size, cl);
}
-STATIC_INLINE uae_u16 get_word (uaecptr addr)
-{
- if (unlikely(is_unaligned(addr, 2)))
- return mmu_get_word_unaligned(addr, 1);
- return mmu_get_word (addr, 1, sz_word);
-}
-
-STATIC_INLINE uae_u8 mmu_get_byte (uaecptr addr, int data, int size)
+static ALWAYS_INLINE uae_u8 mmu_get_byte(uaecptr addr, int data, int size)
{
struct mmu_atc_line *cl;
if (likely(mmu_lookup(addr, data, 0, &cl)))
- return do_get_mem_byte((uae_u8 *)mmu_get_real_address (addr, cl));
+ return do_get_mem_byte((uae_u8 *)mmu_get_real_address(addr, cl));
return mmu_get_byte_slow(addr, regs.s, data, size, cl);
}
-STATIC_INLINE uae_u8 get_byte (uaecptr addr)
-{
- return mmu_get_byte (addr, 1, sz_byte);
-}
-STATIC_INLINE void mmu_put_long (uaecptr addr, uae_u32 val, int data, int size)
+static ALWAYS_INLINE void mmu_put_long(uaecptr addr, uae_u32 val, int data, int size)
{
struct mmu_atc_line *cl;
if (likely(mmu_lookup(addr, data, 1, &cl)))
- do_put_mem_long((uae_u32 *)mmu_get_real_address (addr, cl), val);
+ do_put_mem_long((uae_u32 *)mmu_get_real_address(addr, cl), val);
else
mmu_put_long_slow(addr, val, regs.s, data, size, cl);
}
-STATIC_INLINE void put_long (uaecptr addr, uae_u32 val)
-{
- if (unlikely(is_unaligned(addr, 4)))
- mmu_put_long_unaligned(addr, val, 1);
- else
- mmu_put_long (addr, val, 1, sz_long);
-}
-
-STATIC_INLINE void mmu_put_word (uaecptr addr, uae_u16 val, int data, int size)
+static ALWAYS_INLINE void mmu_put_word(uaecptr addr, uae_u16 val, int data, int size)
{
struct mmu_atc_line *cl;
if (likely(mmu_lookup(addr, data, 1, &cl)))
- do_put_mem_word((uae_u16 *)mmu_get_real_address (addr, cl), val);
+ do_put_mem_word((uae_u16 *)mmu_get_real_address(addr, cl), val);
else
mmu_put_word_slow(addr, val, regs.s, data, size, cl);
}
-STATIC_INLINE void put_word (uaecptr addr, uae_u16 val)
-{
- if (unlikely(is_unaligned(addr, 2)))
- mmu_put_word_unaligned(addr, val, 1);
- else
- mmu_put_word (addr, val, 1, sz_word);
-}
-
-STATIC_INLINE void mmu_put_byte (uaecptr addr, uae_u8 val, int data, int size)
+static ALWAYS_INLINE void mmu_put_byte(uaecptr addr, uae_u8 val, int data, int size)
{
struct mmu_atc_line *cl;
if (likely(mmu_lookup(addr, data, 1, &cl)))
- do_put_mem_byte((uae_u8 *)mmu_get_real_address (addr, cl), val);
+ do_put_mem_byte((uae_u8 *)mmu_get_real_address(addr, cl), val);
else
mmu_put_byte_slow(addr, val, regs.s, data, size, cl);
}
-STATIC_INLINE void put_byte (uaecptr addr, uae_u8 val)
-{
- mmu_put_byte (addr, val, 1, sz_byte);
-}
-
-STATIC_INLINE uae_u8 *get_real_address (uaecptr addr, int write, int sz)
-{
- (void)sz;
- return phys_get_real_address (mmu_translate(addr, regs.s, 1, write));
-}
-
-STATIC_INLINE uae_u32 mmu_get_user_long(uaecptr addr, int super, int data, int size)
+static ALWAYS_INLINE uae_u32 mmu_get_user_long(uaecptr addr, int super, int data, int size)
{
struct mmu_atc_line *cl;
if (likely(mmu_user_lookup(addr, super, data, 0, &cl)))
- return do_get_mem_long((uae_u32 *)mmu_get_real_address (addr, cl));
+ return do_get_mem_long((uae_u32 *)mmu_get_real_address(addr, cl));
return mmu_get_long_slow(addr, super, data, size, cl);
}
-STATIC_INLINE uae_u16 mmu_get_user_word(uaecptr addr, int super, int data, int size)
+static ALWAYS_INLINE uae_u16 mmu_get_user_word(uaecptr addr, int super, int data, int size)
{
struct mmu_atc_line *cl;
if (likely(mmu_user_lookup(addr, super, data, 0, &cl)))
- return do_get_mem_word((uae_u16 *)mmu_get_real_address (addr, cl));
+ return do_get_mem_word((uae_u16 *)mmu_get_real_address(addr, cl));
return mmu_get_word_slow(addr, super, data, size, cl);
}
-STATIC_INLINE uae_u8 mmu_get_user_byte(uaecptr addr, int super, int data, int size)
+static ALWAYS_INLINE uae_u8 mmu_get_user_byte(uaecptr addr, int super, int data, int size)
{
struct mmu_atc_line *cl;
if (likely(mmu_user_lookup(addr, super, data, 0, &cl)))
- return do_get_mem_byte((uae_u8 *)mmu_get_real_address (addr, cl));
+ return do_get_mem_byte((uae_u8 *)mmu_get_real_address(addr, cl));
return mmu_get_byte_slow(addr, super, data, size, cl);
}
-STATIC_INLINE void mmu_put_user_long(uaecptr addr, uae_u32 val, int super, int data, int size)
+static ALWAYS_INLINE void mmu_put_user_long(uaecptr addr, uae_u32 val, int super, int data, int size)
{
struct mmu_atc_line *cl;
if (likely(mmu_user_lookup(addr, super, data, 1, &cl)))
- do_put_mem_long((uae_u32 *)mmu_get_real_address (addr, cl), val);
+ do_put_mem_long((uae_u32 *)mmu_get_real_address(addr, cl), val);
else
mmu_put_long_slow(addr, val, super, data, size, cl);
}
-STATIC_INLINE void mmu_put_user_word(uaecptr addr, uae_u16 val, int super, int data, int size)
+static ALWAYS_INLINE void mmu_put_user_word(uaecptr addr, uae_u16 val, int super, int data, int size)
{
struct mmu_atc_line *cl;
if (likely(mmu_user_lookup(addr, super, data, 1, &cl)))
- do_put_mem_word((uae_u16 *)mmu_get_real_address (addr, cl), val);
+ do_put_mem_word((uae_u16 *)mmu_get_real_address(addr, cl), val);
else
mmu_put_word_slow(addr, val, super, data, size, cl);
}
-STATIC_INLINE void mmu_put_user_byte(uaecptr addr, uae_u8 val, int super, int data, int size)
+static ALWAYS_INLINE void mmu_put_user_byte(uaecptr addr, uae_u8 val, int super, int data, int size)
{
struct mmu_atc_line *cl;
if (likely(mmu_user_lookup(addr, super, data, 1, &cl)))
- do_put_mem_byte((uae_u8 *)mmu_get_real_address (addr, cl), val);
+ do_put_mem_byte((uae_u8 *)mmu_get_real_address(addr, cl), val);
else
mmu_put_byte_slow(addr, val, super, data, size, cl);
}
-STATIC_INLINE int valid_address(uaecptr addr, int write, int sz)
-{
- SAVE_EXCEPTION;
- TRY(prb) {
- (void)sz;
- check_ram_boundary(mmu_translate(addr, regs.s, 1, (write ? 1 : 0)), sz, write);
- RESTORE_EXCEPTION;
- return true;
- }
- CATCH(prb) {
- RESTORE_EXCEPTION;
- return false;
- }
-}
-
#else
-#define get_long (a) phys_get_long (a)
-#define get_word (a) phys_get_word (a)
-#define get_byte (a) phys_get_byte (a)
-#define put_long (a,b) phys_put_long (a,b)
-#define put_word (a,b) phys_put_word (a,b)
-#define put_byte (a,b) phys_put_byte (a,b)
-#define get_real_address (a,w,s) phys_get_real_address (a)
+# define get_long(a) phys_get_long(a)
+# define get_word(a) phys_get_word(a)
+# define get_byte(a) phys_get_byte(a)
+# define put_long(a,b) phys_put_long(a,b)
+# define put_word(a,b) phys_put_word(a,b)
+# define put_byte(a,b) phys_put_byte(a,b)
+# define get_real_address(a,w,s) phys_get_real_address(a)
#define valid_address(a,w,s) phys_valid_address(a,w,s)
#endif
-STATIC_INLINE void flush_internals(void)
-{
-#if ARAM_PAGE_CHECK
- pc_page = 0xeeeeeeee;
- read_page = 0xeeeeeeee;
- write_page = 0xeeeeeeee;
-#endif
-}
-
-
-#endif
+#endif /* CPUMMU_H */
uae_u32 cacr, caar;
uae_u32 itt0, itt1, dtt0, dtt1;
uae_u32 tcr, mmusr, urp, srp, buscr;
-
uae_u32 mmu_fslw, mmu_fault_addr;
uae_u16 mmu_ssw;
uae_u32 wb3_data;
uae_u16 wb3_status;
int mmu_enabled;
int mmu_pagesize_8k;
+ uae_u32 fault_pc;
#endif
uae_u32 pcr;
!define PRODUCT_NAME "WinUAE"
-!define PRODUCT_VERSION "1.5.0"
+!define PRODUCT_VERSION "1.5.1"
!define PRODUCT_PUBLISHER "Arabuusimiehet"
!define PRODUCT_WEB_SITE "http://www.winuae.net/"
!define PRODUCT_DIR_REGKEY "Software\Microsoft\Windows\CurrentVersion\App Paths\winuae.exe"
#include "direct3d.h"
#include "hq2x_d3d.h"
+#define D3DEX 0
+
static int tex_pow2, tex_square, tex_dynamic;
static int psEnabled, psActive, psPreProcess;
static int tformat;
-static int d3d_enabled, scanlines_ok;
-static HINSTANCE d3dDLL;
+static int d3d_enabled, d3d_ex, scanlines_ok;
static LPDIRECT3D9 d3d;
+static LPDIRECT3D9EX d3dex;
static D3DPRESENT_PARAMETERS dpp;
static LPDIRECT3DDEVICE9 d3ddev;
+static LPDIRECT3DDEVICE9EX d3ddevex;
static D3DSURFACE_DESC dsdbb;
static LPDIRECT3DTEXTURE9 texture, sltexture;
static LPDIRECT3DTEXTURE9 lpWorkTexture1, lpWorkTexture2;
{
static int yesno = 0;
HANDLE h;
+ LPDIRECT3D9 d3dx;
+ D3DCAPS9 d3dCaps;
if (yesno < 0)
return 0;
if (yesno > 0)
return 1;
- h = LoadLibrary ("d3dx9_36.dll");
- if (h == NULL) {
- yesno = -1;
- return 0;
+ yesno = -1;
+ h = LoadLibrary ("d3dx9_39.dll");
+ if (h != NULL) {
+ FreeLibrary (h);
+ d3dx = Direct3DCreate9 (D3D_SDK_VERSION);
+ if (d3dx != NULL) {
+ if (SUCCEEDED (IDirect3D9_GetDeviceCaps (d3dx, D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, &d3dCaps))) {
+ if(d3dCaps.PixelShaderVersion >= D3DPS_VERSION(2,0)) {
+ write_log ("D3D: Pixel shader 2.0+ support detected, shader filters enabled.\n");
+ yesno = 1;
+ }
+ }
+ IDirect3D9_Release (d3dx);
+ }
}
- FreeLibrary (h);
- yesno = 1;
- return 1;
+ return yesno > 0 ? 1 : 0;
}
static int psEffect_LoadEffect (const char *shaderfile)
invalidatedeviceobjects ();
if (currprefs.gfx_filtershader[0]) {
- if (!psEffect_LoadEffect (currprefs.gfx_filtershader))
+ if (!psEnabled || !psEffect_LoadEffect (currprefs.gfx_filtershader))
currprefs.gfx_filtershader[0] = changed_prefs.gfx_filtershader[0] = 0;
}
if (!createtexture (tin_w, tin_h))
IDirect3DDevice9_Release (d3ddev);
d3ddev = NULL;
}
- if (d3dDLL) {
- FreeLibrary (d3dDLL);
- d3dDLL = NULL;
- }
if (d3d) {
IDirect3D9_Release (d3d);
d3d = NULL;
HRESULT ret;
static char errmsg[100] = { 0 };
D3DDISPLAYMODE mode;
+ D3DDISPLAYMODEEX modeex;
D3DCAPS9 d3dCaps;
int adapter;
+ DWORD flags;
+ HINSTANCE d3dDLL;
D3D_free ();
+ D3D_canshaders ();
adapter = currprefs.gfx_display - 1;
if (adapter < 0)
adapter = 0;
return errmsg;
}
+ d3d_ex = FALSE;
d3dDLL = LoadLibrary ("D3D9.DLL");
if (d3dDLL == NULL) {
strcpy (errmsg, "Direct3D: DirectX 9 or newer required");
return errmsg;
+ } else {
+ typedef HRESULT (WINAPI *LPDIRECT3DCREATE9EX)(UINT, void**);
+ LPDIRECT3DCREATE9EX d3dexp = (LPDIRECT3DCREATE9EX)GetProcAddress (d3dDLL, "Direct3DCreate9Ex");
+ if (d3dexp)
+ d3d_ex = TRUE;
+ }
+ FreeLibrary (d3dDLL);
+ if (d3d_ex && D3DEX) {
+ if (FAILED (Direct3DCreate9Ex (D3D_SDK_VERSION, &d3dex))) {
+ D3D_free ();
+ strcpy (errmsg, "Direct3D: failed to create D3DEx object");
+ return errmsg;
+ }
+ d3d = (IDirect3D9*)d3dex;
+ } else {
+ d3d = Direct3DCreate9 (D3D_SDK_VERSION);
+ if (d3d == NULL) {
+ D3D_free ();
+ strcpy (errmsg, "Direct3D: failed to create D3D object");
+ return errmsg;
+ }
}
- d3d = Direct3DCreate9 (D3D_SDK_VERSION);
- if (d3d == NULL) {
- D3D_free ();
- strcpy (errmsg, "Direct3D: failed to create D3D object");
- return errmsg;
- }
-
+ modeex.Size = sizeof modeex;
+ if (d3dex && D3DEX)
+ IDirect3D9Ex_GetAdapterDisplayModeEx (d3dex, adapter, &modeex, NULL);
IDirect3D9_GetAdapterDisplayMode (d3d, adapter, &mode);
IDirect3D9_GetDeviceCaps (d3d, adapter, D3DDEVTYPE_HAL, &d3dCaps);
dpp.BackBufferWidth = w_w;
dpp.BackBufferHeight = w_h;
dpp.PresentationInterval = D3DPRESENT_INTERVAL_IMMEDIATE;
+
+ modeex.Width = w_w;
+ modeex.Height = w_h;
+ modeex.RefreshRate = 0;
+ modeex.ScanLineOrdering = D3DSCANLINEORDERING_PROGRESSIVE;
+ modeex.Format = mode.Format;
+
vsync2 = 0;
if (isfullscreen() > 0) {
dpp.FullScreen_RefreshRateInHz = currprefs.gfx_refreshrate > 0 ? currprefs.gfx_refreshrate : 0;
+ modeex.RefreshRate = dpp.FullScreen_RefreshRateInHz;
if (currprefs.gfx_avsync > 0) {
dpp.PresentationInterval = D3DPRESENT_INTERVAL_ONE;
if (currprefs.gfx_avsync > 85) {
}
d3dhwnd = ahwnd;
+
// Check if hardware vertex processing is available
- if(d3dCaps.DevCaps & D3DDEVCAPS_HWTRANSFORMANDLIGHT) {
- // Create device with hardware vertex processing
- ret = IDirect3D9_CreateDevice (d3d, adapter, D3DDEVTYPE_HAL, ahwnd,
- D3DCREATE_HARDWARE_VERTEXPROCESSING|D3DCREATE_NOWINDOWCHANGES|D3DCREATE_FPU_PRESERVE,
- &dpp, &d3ddev);
+ if(d3dCaps.DevCaps & D3DDEVCAPS_HWTRANSFORMANDLIGHT)
+ flags = D3DCREATE_HARDWARE_VERTEXPROCESSING;
+ else
+ flags = D3DCREATE_SOFTWARE_VERTEXPROCESSING;
+ flags |= D3DCREATE_NOWINDOWCHANGES | D3DCREATE_FPU_PRESERVE;
+
+ if (d3d_ex && D3DEX) {
+ ret = IDirect3D9Ex_CreateDeviceEx (d3dex, adapter, D3DDEVTYPE_HAL, ahwnd, flags, &dpp, &modeex, &d3ddevex);
+ d3ddev = (LPDIRECT3DDEVICE9)d3ddevex;
} else {
- // Create device with software vertex processing
- ret = IDirect3D9_CreateDevice (d3d, adapter, D3DDEVTYPE_HAL, ahwnd,
- D3DCREATE_SOFTWARE_VERTEXPROCESSING|D3DCREATE_NOWINDOWCHANGES|D3DCREATE_FPU_PRESERVE,
- &dpp, &d3ddev);
+ ret = IDirect3D9_CreateDevice (d3d, adapter, D3DDEVTYPE_HAL, ahwnd, flags, &dpp, &d3ddev);
}
if(FAILED (ret)) {
- sprintf (errmsg, "CreateDevice failed, %s\n", D3D_ErrorString (ret));
+ sprintf (errmsg, "%s failed, %s\n", d3d_ex ? "CreateDeviceEx" : "CreateDevice", D3D_ErrorString (ret));
D3D_free ();
return errmsg;
}
if(d3dCaps.Caps2 & D3DCAPS2_DYNAMICTEXTURES)
tex_dynamic = TRUE;
- if(d3dCaps.PixelShaderVersion >= D3DPS_VERSION(1,4)) {
+ if(d3dCaps.PixelShaderVersion >= D3DPS_VERSION(2,0)) {
if((d3dCaps.DevCaps & D3DDEVCAPS_HWTRANSFORMANDLIGHT) && tex_dynamic) {
psEnabled = TRUE;
tex_square = TRUE;
if (vsFileInfo &&
HIWORD(vsFileInfo->dwProductVersionMS) == UAEMAJOR
&& LOWORD(vsFileInfo->dwProductVersionMS) == UAEMINOR
- && (HIWORD(vsFileInfo->dwProductVersionLS) == UAESUBREV || HIWORD(vsFileInfo->dwProductVersionLS) == UAESUBREV - 1)) {
+ && (HIWORD(vsFileInfo->dwProductVersionLS) == UAESUBREV)) {
success = TRUE;
write_log ("Translation DLL '%s' loaded and enabled\n", dllbuf);
} else {
#define GETBDD(x) ((x) % 100)
#define WINUAEBETA 0
-#define WINUAEPUBLICBETA 1
-#define WINUAEDATE MAKEBD(2008, 8, 9)
+#define WINUAEPUBLICBETA 0
+#define WINUAEDATE MAKEBD(2008, 8, 12)
#define WINUAEEXTRA ""
-#define WINUAEREV "RC4"
+#define WINUAEREV ""
#define IHF_WINDOWHIDDEN 6
#define NORMAL_WINDOW_STYLE (WS_VISIBLE | WS_BORDER | WS_CAPTION | WS_MINIMIZEBOX | WS_SYSMENU | WS_SIZEBOX)
+++ /dev/null
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="8,00"
- Name="winuae"
- ProjectGUID="{4ADAA943-1AC8-4FB5-82E5-4FB753B6C2DA}"
- RootNamespace="winuae"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- <Platform
- Name="x64"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory=".\Debug"
- IntermediateDirectory=".\Debug"
- ConfigurationType="1"
- UseOfMFC="0"
- ATLMinimizesCRunTimeLibraryUsage="false"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- PreprocessorDefinitions="_DEBUG"
- MkTypLibCompatible="true"
- SuppressStartupBanner="true"
- TargetEnvironment="1"
- TypeLibraryName=".\Debug/winuae_msvc.tlb"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalOptions=""
- Optimization="0"
- AdditionalIncludeDirectories="..\..\include,..\..,..\,..\resources,..\osdep,..\sounddep"
- PreprocessorDefinitions="WINVER=0x0500,_DEBUG,WIN32,_WINDOWS,_WIN32_IE=0x0500,UNIX"
- ExceptionHandling="0"
- BasicRuntimeChecks="3"
- RuntimeLibrary="1"
- BufferSecurityCheck="true"
- RuntimeTypeInfo="true"
- PrecompiledHeaderFile=".\Debug/winuae_msvc.pch"
- AssemblerListingLocation=".\Debug/"
- ObjectFile=".\Debug/"
- ProgramDataBaseFileName=".\Debug/"
- WarningLevel="3"
- SuppressStartupBanner="true"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="4"
- CompileAs="0"
- DisableSpecificWarnings="4996"
- EnablePREfast="false"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- PreprocessorDefinitions="_DEBUG"
- Culture="1033"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <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 dxerr8.lib shlwapi.lib zlibstat.lib libpng.lib lglcd.lib"
- ShowProgress="0"
- OutputFile="d:\amiga\winuae.exe"
- LinkIncremental="2"
- SuppressStartupBanner="true"
- GenerateManifest="false"
- DelayLoadDLLs="setupapi.dll"
- GenerateDebugInformation="true"
- ProgramDatabaseFile=".\Debug/winuae.pdb"
- SubSystem="2"
- StackReserveSize="2621440"
- StackCommitSize="2621440"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- AdditionalManifestFiles="..\resources\winuae.exe.manifest"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug|x64"
- OutputDirectory="x64\$(ConfigurationName)"
- IntermediateDirectory="x64\$(ConfigurationName)"
- ConfigurationType="1"
- UseOfMFC="0"
- ATLMinimizesCRunTimeLibraryUsage="false"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- PreprocessorDefinitions="_DEBUG"
- MkTypLibCompatible="true"
- SuppressStartupBanner="true"
- TargetEnvironment="3"
- TypeLibraryName=".\Debug/winuae_msvc.tlb"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalOptions=""
- Optimization="0"
- AdditionalIncludeDirectories="..\..\include,..\..,..\,..\resources,..\osdep,..\sounddep"
- PreprocessorDefinitions="WINVER=0x0500,_DEBUG,WIN32,_WINDOWS,ZLIB_DLL,OPENGL_SUPPORT,_WIN32_IE 0x0500,UNIX;WIN64"
- ExceptionHandling="0"
- BasicRuntimeChecks="3"
- RuntimeLibrary="1"
- BufferSecurityCheck="true"
- RuntimeTypeInfo="true"
- PrecompiledHeaderFile=".\Debug/winuae_msvc.pch"
- AssemblerListingLocation=".\Debug/"
- ObjectFile=".\Debug/"
- ProgramDataBaseFileName=".\Debug/"
- WarningLevel="3"
- SuppressStartupBanner="true"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- CompileAs="0"
- DisableSpecificWarnings="4996"
- EnablePREfast="false"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- PreprocessorDefinitions="_DEBUG"
- Culture="1033"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <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 zlib1.lib dsound.lib dinput8.lib d3d9.lib d3dx9.lib winio.lib setupapi.lib wininet.lib capsimg.lib dxerr8.lib shlwapi.lib"
- OutputFile="d:\amiga\winuae.exe"
- LinkIncremental="2"
- SuppressStartupBanner="true"
- GenerateManifest="false"
- DelayLoadDLLs="setupapi.dll"
- GenerateDebugInformation="true"
- ProgramDatabaseFile=".\Debug/winuae.pdb"
- SubSystem="2"
- StackReserveSize="2621440"
- StackCommitSize="2621440"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="d:\amiga"
- IntermediateDirectory=".\Release"
- ConfigurationType="1"
- UseOfMFC="0"
- ATLMinimizesCRunTimeLibraryUsage="false"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- PreprocessorDefinitions="NDEBUG"
- MkTypLibCompatible="true"
- SuppressStartupBanner="true"
- TargetEnvironment="1"
- TypeLibraryName=".\Release/winuae_msvc.tlb"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="3"
- InlineFunctionExpansion="1"
- EnableIntrinsicFunctions="true"
- FavorSizeOrSpeed="1"
- OmitFramePointers="true"
- WholeProgramOptimization="false"
- AdditionalIncludeDirectories="..\..\include,..\..,..\,..\resources,..\osdep,..\sounddep"
- PreprocessorDefinitions="WINVER=0x0500,WIN32,NDEBUG,_WINDOWS,_WIN32_IE=0x0500,UNIX"
- StringPooling="true"
- ExceptionHandling="0"
- BasicRuntimeChecks="0"
- RuntimeLibrary="0"
- BufferSecurityCheck="false"
- EnableFunctionLevelLinking="false"
- EnableEnhancedInstructionSet="0"
- FloatingPointModel="0"
- TreatWChar_tAsBuiltInType="false"
- RuntimeTypeInfo="false"
- UsePrecompiledHeader="0"
- PrecompiledHeaderFile=".\Release/winuae_msvc.pch"
- AssemblerListingLocation=".\Release/"
- ObjectFile=".\Release/"
- ProgramDataBaseFileName=".\Release/"
- WarningLevel="3"
- SuppressStartupBanner="true"
- CompileAs="0"
- DisableSpecificWarnings="4996"
- ForcedIncludeFiles=""
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- PreprocessorDefinitions="NDEBUG"
- Culture="1033"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <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 dxerr8.lib shlwapi.lib zlibstat.lib libpng.lib lglcd.lib"
- OutputFile="d:\amiga\winuae.exe"
- LinkIncremental="1"
- SuppressStartupBanner="true"
- AdditionalLibraryDirectories=""
- GenerateManifest="true"
- AdditionalManifestDependencies=""
- DelayLoadDLLs="setupapi.dll"
- GenerateDebugInformation="true"
- ProgramDatabaseFile=".\Release/winuae.pdb"
- SubSystem="2"
- StackReserveSize="2621440"
- StackCommitSize="2621440"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- OptimizeForWindows98="0"
- LinkTimeCodeGeneration="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- AdditionalManifestFiles="..\resources\winuae.exe.manifest"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- OutputDirectory="$(SolutionDir)x64\$(ConfigurationName)"
- IntermediateDirectory="x64\$(ConfigurationName)"
- ConfigurationType="1"
- UseOfMFC="0"
- ATLMinimizesCRunTimeLibraryUsage="false"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- PreprocessorDefinitions="NDEBUG"
- MkTypLibCompatible="true"
- SuppressStartupBanner="true"
- TargetEnvironment="3"
- TypeLibraryName=".\Release/winuae_msvc.tlb"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="3"
- InlineFunctionExpansion="1"
- EnableIntrinsicFunctions="true"
- FavorSizeOrSpeed="1"
- OmitFramePointers="true"
- WholeProgramOptimization="false"
- AdditionalIncludeDirectories="..\..\include,..\..,..\,..\resources,..\osdep,..\sounddep"
- PreprocessorDefinitions="WINVER=0x0500,WIN32,NDEBUG,_WINDOWS,ZLIB_DLL,_WIN32_IE 0x0500,WIN64,_WIN64,UNIX"
- StringPooling="true"
- ExceptionHandling="0"
- BasicRuntimeChecks="0"
- RuntimeLibrary="0"
- BufferSecurityCheck="false"
- EnableFunctionLevelLinking="true"
- EnableEnhancedInstructionSet="0"
- FloatingPointModel="0"
- TreatWChar_tAsBuiltInType="false"
- RuntimeTypeInfo="false"
- UsePrecompiledHeader="0"
- PrecompiledHeaderFile=".\Release/winuae_msvc.pch"
- AssemblerListingLocation=".\Release/"
- ObjectFile=".\Release/"
- ProgramDataBaseFileName=".\Release/"
- WarningLevel="3"
- SuppressStartupBanner="true"
- CompileAs="1"
- DisableSpecificWarnings="4996"
- ForcedIncludeFiles=""
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- PreprocessorDefinitions="NDEBUG"
- Culture="1033"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <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 d3dx9.lib setupapi.lib wininet.lib dxerr8.lib shlwapi.lib"
- ShowProgress="0"
- OutputFile="d:\amiga\winuae64.exe"
- LinkIncremental="1"
- SuppressStartupBanner="true"
- AdditionalLibraryDirectories=""
- GenerateManifest="true"
- DelayLoadDLLs=""
- GenerateDebugInformation="true"
- ProgramDatabaseFile=".\Release/winuae.pdb"
- SubSystem="2"
- StackReserveSize="0"
- StackCommitSize="0"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- OptimizeForWindows98="0"
- LinkTimeCodeGeneration="0"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="TestRelease|Win32"
- IntermediateDirectory="$(ConfigurationName)"
- ConfigurationType="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="TestRelease|x64"
- OutputDirectory="$(SolutionDir)x64\$(ConfigurationName)"
- IntermediateDirectory="x64\$(ConfigurationName)"
- ConfigurationType="1"
- UseOfMFC="0"
- ATLMinimizesCRunTimeLibraryUsage="false"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- PreprocessorDefinitions="NDEBUG"
- MkTypLibCompatible="true"
- SuppressStartupBanner="true"
- TargetEnvironment="3"
- TypeLibraryName=".\Release/winuae_msvc.tlb"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalOptions="/Oy-"
- Optimization="0"
- InlineFunctionExpansion="1"
- EnableIntrinsicFunctions="true"
- FavorSizeOrSpeed="0"
- OmitFramePointers="false"
- AdditionalIncludeDirectories="..\..\include,..\..,..\,..\resources,..\osdep,..\sounddep"
- PreprocessorDefinitions="WINVER=0x0500,WIN32,NDEBUG,_WINDOWS,ZLIB_DLL,_WIN32_IE 0x0500,UNIX;WIN64"
- StringPooling="true"
- ExceptionHandling="0"
- RuntimeLibrary="0"
- BufferSecurityCheck="false"
- EnableFunctionLevelLinking="true"
- EnableEnhancedInstructionSet="0"
- TreatWChar_tAsBuiltInType="false"
- RuntimeTypeInfo="false"
- UsePrecompiledHeader="0"
- PrecompiledHeaderFile=".\Release/winuae_msvc.pch"
- AssemblerListingLocation=".\TestRelease/"
- ObjectFile=".\TestRelease/"
- ProgramDataBaseFileName=".\TestRelease/"
- WarningLevel="3"
- SuppressStartupBanner="true"
- CompileAs="1"
- ForcedIncludeFiles=""
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- PreprocessorDefinitions="NDEBUG"
- Culture="1033"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <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 zlib1.lib dsound.lib dinput8.lib d3d9.lib d3dx9.lib winio.lib setupapi.lib wininet.lib capsimg.lib dxerr8.lib shlwapi.lib"
- OutputFile="d:\amiga\winuae.exe"
- LinkIncremental="1"
- SuppressStartupBanner="true"
- DelayLoadDLLs="setupapi.dll"
- GenerateDebugInformation="true"
- ProgramDatabaseFile=".\Release/winuae.pdb"
- SubSystem="2"
- StackReserveSize="2621440"
- StackCommitSize="2621440"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- OptimizeForWindows98="0"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release64|Win32"
- OutputDirectory="$(SolutionDir)$(ConfigurationName)"
- IntermediateDirectory="$(ConfigurationName)"
- ConfigurationType="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release64|x64"
- OutputDirectory="$(SolutionDir)x64\$(ConfigurationName)"
- IntermediateDirectory="x64\$(ConfigurationName)"
- ConfigurationType="1"
- UseOfMFC="0"
- ATLMinimizesCRunTimeLibraryUsage="false"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- PreprocessorDefinitions="NDEBUG"
- MkTypLibCompatible="true"
- SuppressStartupBanner="true"
- TargetEnvironment="3"
- TypeLibraryName=".\Release/winuae_msvc.tlb"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="3"
- InlineFunctionExpansion="1"
- EnableIntrinsicFunctions="true"
- FavorSizeOrSpeed="1"
- OmitFramePointers="true"
- WholeProgramOptimization="false"
- AdditionalIncludeDirectories="..\..\include,..\..,..\,..\resources,..\osdep,..\sounddep"
- PreprocessorDefinitions="WINVER=0x0500,WIN32,NDEBUG,_WINDOWS,_WIN32_IE 0x0500,UNIX;WIN64"
- StringPooling="true"
- ExceptionHandling="0"
- BasicRuntimeChecks="0"
- RuntimeLibrary="0"
- BufferSecurityCheck="false"
- EnableFunctionLevelLinking="false"
- EnableEnhancedInstructionSet="0"
- FloatingPointModel="0"
- TreatWChar_tAsBuiltInType="false"
- RuntimeTypeInfo="false"
- UsePrecompiledHeader="0"
- PrecompiledHeaderFile=".\Release64/winuae_msvc.pch"
- AssemblerListingLocation=".\Release64/"
- ObjectFile=".\Release64/"
- ProgramDataBaseFileName=".\Release64/"
- WarningLevel="3"
- SuppressStartupBanner="true"
- Detect64BitPortabilityProblems="true"
- CompileAs="1"
- DisableSpecificWarnings="4996"
- ForcedIncludeFiles=""
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- PreprocessorDefinitions="NDEBUG"
- Culture="1033"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <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 d3dx9.lib setupapi.lib wininet.lib dxerr8.lib shlwapi.lib zlibstat.lib libpng.lib lglcd.lib"
- OutputFile="d:\amiga\winuae64.exe"
- LinkIncremental="1"
- SuppressStartupBanner="true"
- AdditionalLibraryDirectories=""
- GenerateManifest="true"
- DelayLoadDLLs=""
- GenerateDebugInformation="true"
- ProgramDatabaseFile=".\Release64/winuae.pdb"
- SubSystem="2"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- OptimizeForWindows98="0"
- LinkTimeCodeGeneration="0"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- AdditionalManifestFiles="..\resources\winuae.exe.manifest"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug64|Win32"
- OutputDirectory="$(ConfigurationName)"
- IntermediateDirectory="$(ConfigurationName)"
- ConfigurationType="1"
- UseOfMFC="0"
- ATLMinimizesCRunTimeLibraryUsage="false"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- PreprocessorDefinitions="_DEBUG"
- MkTypLibCompatible="true"
- SuppressStartupBanner="true"
- TargetEnvironment="1"
- TypeLibraryName=".\Debug/winuae_msvc.tlb"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalOptions=""
- Optimization="0"
- AdditionalIncludeDirectories="..\..\include,..\..,..\,..\resources,..\osdep,..\sounddep"
- PreprocessorDefinitions="WINVER=0x0500,_DEBUG,WIN32,_WINDOWS,ZLIB_DLL,OPENGL_SUPPORT,_WIN32_IE 0x0500,UNIX"
- ExceptionHandling="0"
- BasicRuntimeChecks="3"
- RuntimeLibrary="1"
- BufferSecurityCheck="true"
- RuntimeTypeInfo="true"
- PrecompiledHeaderFile=".\Debug/winuae_msvc.pch"
- AssemblerListingLocation=".\Debug/"
- ObjectFile=".\Debug/"
- ProgramDataBaseFileName=".\Debug/"
- WarningLevel="3"
- SuppressStartupBanner="true"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="4"
- CompileAs="0"
- DisableSpecificWarnings="4996"
- EnablePREfast="false"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- PreprocessorDefinitions="_DEBUG"
- Culture="1033"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <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 zdll.lib dsound.lib dinput8.lib d3d9.lib d3dx9.lib winio.lib setupapi.lib wininet.lib capsimg.lib dxerr8.lib shlwapi.lib"
- OutputFile="d:\amiga\winuae.exe"
- LinkIncremental="2"
- SuppressStartupBanner="true"
- GenerateManifest="false"
- DelayLoadDLLs="setupapi.dll"
- GenerateDebugInformation="true"
- ProgramDatabaseFile=".\Debug/winuae.pdb"
- SubSystem="2"
- StackReserveSize="2621440"
- StackCommitSize="2621440"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug64|x64"
- OutputDirectory="$(SolutionDir)x64\$(ConfigurationName)"
- IntermediateDirectory="x64\$(ConfigurationName)"
- ConfigurationType="1"
- UseOfMFC="0"
- ATLMinimizesCRunTimeLibraryUsage="false"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- PreprocessorDefinitions="_DEBUG"
- MkTypLibCompatible="true"
- SuppressStartupBanner="true"
- TargetEnvironment="3"
- TypeLibraryName=".\Debug/winuae_msvc.tlb"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalOptions=""
- Optimization="0"
- AdditionalIncludeDirectories="..\..\include,..\..,..\,..\resources,..\osdep,..\sounddep"
- PreprocessorDefinitions="WINVER=0x0500,_DEBUG,WIN32,_WINDOWS,_WIN32_IE 0x0500,UNIX,WIN64"
- ExceptionHandling="0"
- BasicRuntimeChecks="3"
- RuntimeLibrary="1"
- BufferSecurityCheck="false"
- RuntimeTypeInfo="true"
- PrecompiledHeaderFile=".\Debug64/winuae_msvc.pch"
- AssemblerListingLocation=".\Debug64/"
- ObjectFile=".\Debug64/"
- ProgramDataBaseFileName=".\Debug64/"
- WarningLevel="3"
- SuppressStartupBanner="true"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- CompileAs="0"
- DisableSpecificWarnings="4996"
- EnablePREfast="false"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- PreprocessorDefinitions="_DEBUG"
- Culture="1033"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <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 zlib.lib dsound.lib dinput8.lib d3d9.lib d3dx9.lib winio.lib setupapi.lib wininet.lib capsimg.lib dxerr8.lib shlwapi.lib"
- OutputFile="d:\amiga\winuae64.exe"
- LinkIncremental="2"
- SuppressStartupBanner="true"
- GenerateManifest="true"
- DelayLoadDLLs=""
- GenerateDebugInformation="true"
- ProgramDatabaseFile=".\Debug64/winuae.pdb"
- SubSystem="2"
- StackReserveSize="2621440"
- StackCommitSize="2621440"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- AdditionalManifestFiles="..\resources\winuae.exe.manifest"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="FullRelease|Win32"
- OutputDirectory="$(SolutionDir)$(ConfigurationName)"
- IntermediateDirectory="$(ConfigurationName)"
- ConfigurationType="1"
- UseOfMFC="0"
- ATLMinimizesCRunTimeLibraryUsage="false"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- PreprocessorDefinitions="NDEBUG"
- MkTypLibCompatible="true"
- SuppressStartupBanner="true"
- TargetEnvironment="1"
- TypeLibraryName=".\Release/winuae_msvc.tlb"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="3"
- InlineFunctionExpansion="1"
- EnableIntrinsicFunctions="true"
- FavorSizeOrSpeed="1"
- OmitFramePointers="true"
- WholeProgramOptimization="true"
- AdditionalIncludeDirectories="..\..\include,..\..,..\,..\resources,..\osdep,..\sounddep,..\..\prowizard\include"
- PreprocessorDefinitions="WINVER=0x0500;NDEBUG;_WIN32_IE=0x0500;WIN32"
- StringPooling="true"
- ExceptionHandling="0"
- BasicRuntimeChecks="0"
- RuntimeLibrary="0"
- BufferSecurityCheck="false"
- EnableFunctionLevelLinking="true"
- EnableEnhancedInstructionSet="0"
- FloatingPointModel="0"
- TreatWChar_tAsBuiltInType="false"
- RuntimeTypeInfo="false"
- UsePrecompiledHeader="0"
- PrecompiledHeaderFile=".\FullRelease/winuae_msvc.pch"
- AssemblerListingLocation=".\FullRelease/"
- ObjectFile=".\FullRelease/"
- ProgramDataBaseFileName=".\FullRelease/"
- WarningLevel="3"
- SuppressStartupBanner="true"
- CompileAs="0"
- DisableSpecificWarnings="4996"
- ForcedIncludeFiles=""
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- PreprocessorDefinitions="NDEBUG"
- Culture="1033"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <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 wpcap.lib packet.lib"
- OutputFile="d:\amiga\winuae.exe"
- LinkIncremental="1"
- SuppressStartupBanner="true"
- AdditionalLibraryDirectories=""
- GenerateManifest="true"
- AdditionalManifestDependencies=""
- DelayLoadDLLs="setupapi.dll;wpcap.dll;packet.dll"
- GenerateDebugInformation="true"
- ProgramDatabaseFile=".\FullRelease/winuae.pdb"
- SubSystem="2"
- StackReserveSize="2621440"
- StackCommitSize="2621440"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- OptimizeForWindows98="0"
- LinkTimeCodeGeneration="1"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- AdditionalManifestFiles="..\resources\winuae.exe.manifest"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="FullRelease|x64"
- OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- UseOfMFC="0"
- ATLMinimizesCRunTimeLibraryUsage="false"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- PreprocessorDefinitions="NDEBUG"
- MkTypLibCompatible="true"
- SuppressStartupBanner="true"
- TargetEnvironment="3"
- TypeLibraryName=".\Release/winuae_msvc.tlb"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="3"
- InlineFunctionExpansion="1"
- EnableIntrinsicFunctions="true"
- FavorSizeOrSpeed="1"
- OmitFramePointers="true"
- WholeProgramOptimization="false"
- AdditionalIncludeDirectories="..\..\include,..\..,..\,..\resources,..\osdep,..\sounddep"
- PreprocessorDefinitions="WINVER=0x0500,WIN32,NDEBUG,_WINDOWS,ZLIB_DLL,_WIN32_IE 0x0500,WIN64,_WIN64,UNIX"
- StringPooling="true"
- ExceptionHandling="0"
- BasicRuntimeChecks="0"
- RuntimeLibrary="0"
- BufferSecurityCheck="false"
- EnableFunctionLevelLinking="true"
- EnableEnhancedInstructionSet="0"
- FloatingPointModel="0"
- TreatWChar_tAsBuiltInType="false"
- RuntimeTypeInfo="false"
- UsePrecompiledHeader="0"
- PrecompiledHeaderFile=".\Release/winuae_msvc.pch"
- AssemblerListingLocation=".\Release/"
- ObjectFile=".\Release/"
- ProgramDataBaseFileName=".\Release/"
- WarningLevel="3"
- SuppressStartupBanner="true"
- CompileAs="1"
- DisableSpecificWarnings="4996"
- ForcedIncludeFiles=""
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- PreprocessorDefinitions="NDEBUG"
- Culture="1033"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <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 d3dx9.lib setupapi.lib wininet.lib dxerr8.lib shlwapi.lib"
- ShowProgress="0"
- OutputFile="d:\amiga\winuae64.exe"
- LinkIncremental="1"
- SuppressStartupBanner="true"
- AdditionalLibraryDirectories=""
- GenerateManifest="true"
- DelayLoadDLLs=""
- GenerateDebugInformation="true"
- ProgramDatabaseFile=".\Release/winuae.pdb"
- SubSystem="2"
- StackReserveSize="0"
- StackCommitSize="0"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- OptimizeForWindows98="0"
- LinkTimeCodeGeneration="0"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="win32"
- Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
- >
- <File
- RelativePath="..\ahidsound.c"
- >
- </File>
- <File
- RelativePath="..\avioutput.c"
- >
- </File>
- <File
- RelativePath="..\blkdev_win32_aspi.c"
- >
- </File>
- <File
- RelativePath="..\blkdev_win32_ioctl.c"
- >
- </File>
- <File
- RelativePath="..\blkdev_win32_spti.c"
- >
- </File>
- <File
- RelativePath="..\bsdsock.c"
- >
- </File>
- <File
- RelativePath="..\caps\caps_win32.c"
- >
- </File>
- <File
- RelativePath="..\..\cd32_fmv.c"
- >
- </File>
- <File
- RelativePath="..\debug_win32.c"
- >
- </File>
- <File
- RelativePath="..\dinput.c"
- >
- </File>
- <File
- RelativePath="..\direct3d.c"
- >
- </File>
- <File
- RelativePath="..\driveclick_win32.c"
- >
- </File>
- <File
- RelativePath="..\dxwrap.c"
- >
- </File>
- <File
- RelativePath="..\fsdb_win32.c"
- >
- </File>
- <File
- RelativePath="..\hardfile_win32.c"
- >
- </File>
- <File
- RelativePath="..\ioport.c"
- >
- </File>
- <File
- RelativePath="..\keyboard_win32.c"
- >
- </File>
- <File
- RelativePath="..\lcd.c"
- >
- </File>
- <File
- RelativePath="..\midi.c"
- >
- </File>
- <File
- RelativePath="..\mman.c"
- >
- </File>
- <File
- RelativePath="..\opengl.c"
- >
- </File>
- <File
- RelativePath="..\parser.c"
- >
- </File>
- <File
- RelativePath="..\picasso96_win.c"
- >
- </File>
- <File
- RelativePath="..\posixemu.c"
- >
- </File>
- <File
- RelativePath="..\registry.c"
- >
- </File>
- <File
- RelativePath="..\cloanto\RetroPlatformGuestIPC.c"
- >
- </File>
- <File
- RelativePath="..\rp.c"
- >
- </File>
- <File
- RelativePath="..\scaler.c"
- >
- </File>
- <File
- RelativePath="..\scaler_more.c"
- >
- </File>
- <File
- RelativePath="..\screenshot.c"
- >
- </File>
- <File
- RelativePath="..\serial_win32.c"
- >
- </File>
- <File
- RelativePath="..\sounddep\sound.c"
- >
- </File>
- <File
- RelativePath="..\win32.c"
- >
- </File>
- <File
- RelativePath="..\win32_scale2x.c"
- >
- </File>
- <File
- RelativePath="..\win32_uaenet.c"
- >
- </File>
- <File
- RelativePath="..\win32gfx.c"
- >
- </File>
- <File
- RelativePath="..\win32gui.c"
- >
- </File>
- <File
- RelativePath="..\win32gui_extra.c"
- >
- </File>
- <File
- RelativePath="..\writelog.c"
- >
- </File>
- <Filter
- Name="Resource Files"
- Filter="ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
- >
- <File
- RelativePath="..\resources\35floppy.ico"
- >
- </File>
- <File
- RelativePath="..\resources\amigainfo.ico"
- >
- </File>
- <File
- RelativePath="..\resources\avioutput.ico"
- >
- </File>
- <File
- RelativePath="..\resources\chip.ico"
- >
- </File>
- <File
- RelativePath="..\resources\cpu.ico"
- >
- </File>
- <File
- RelativePath="..\resources\Drive.ico"
- >
- </File>
- <File
- RelativePath="..\resources\file.ico"
- >
- </File>
- <File
- RelativePath="..\resources\folder.ico"
- >
- </File>
- <File
- RelativePath="..\resources\h_arrow.cur"
- >
- </File>
- <File
- RelativePath="..\resources\joystick.ico"
- >
- </File>
- <File
- RelativePath="..\resources\lcd.bmp"
- >
- </File>
- <File
- RelativePath="..\resources\misc.ico"
- >
- </File>
- <File
- RelativePath="..\resources\move_dow.ico"
- >
- </File>
- <File
- RelativePath="..\resources\move_up.ico"
- >
- </File>
- <File
- RelativePath="..\resources\paths.ico"
- >
- </File>
- <File
- RelativePath="..\resources\quickstart.ico"
- >
- </File>
- <File
- RelativePath="..\resources\root.ico"
- >
- </File>
- <File
- RelativePath="..\resources\screen.ico"
- >
- </File>
- <File
- RelativePath="..\resources\sound.ico"
- >
- </File>
- <File
- RelativePath="..\resources\winuae.ico"
- >
- </File>
- <File
- RelativePath="..\resources\winuae.rc"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCResourceCompilerTool"
- AdditionalIncludeDirectories="\projects\winuae\src\od-win32\resources;$(NoInherit)"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- >
- <Tool
- Name="VCResourceCompilerTool"
- AdditionalIncludeDirectories="\projects\winuae\src\od-win32\resources;$(NoInherit)"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCResourceCompilerTool"
- AdditionalIncludeDirectories="\projects\winuae\src\od-win32\resources;$(NoInherit)"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- >
- <Tool
- Name="VCResourceCompilerTool"
- AdditionalIncludeDirectories="\projects\winuae\src\od-win32\resources;$(NoInherit)"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="TestRelease|x64"
- >
- <Tool
- Name="VCResourceCompilerTool"
- AdditionalIncludeDirectories="\projects\winuae\src\od-win32\resources;$(NoInherit)"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release64|x64"
- >
- <Tool
- Name="VCResourceCompilerTool"
- AdditionalIncludeDirectories="\projects\winuae\src\od-win32\resources;$(NoInherit)"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug64|Win32"
- >
- <Tool
- Name="VCResourceCompilerTool"
- AdditionalIncludeDirectories="\projects\winuae\src\od-win32\resources;$(NoInherit)"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug64|x64"
- >
- <Tool
- Name="VCResourceCompilerTool"
- AdditionalIncludeDirectories="\projects\winuae\src\od-win32\resources;$(NoInherit)"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="FullRelease|Win32"
- >
- <Tool
- Name="VCResourceCompilerTool"
- AdditionalIncludeDirectories="\projects\winuae\src\od-win32\resources;$(NoInherit)"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="FullRelease|x64"
- >
- <Tool
- Name="VCResourceCompilerTool"
- AdditionalIncludeDirectories="\projects\winuae\src\od-win32\resources;$(NoInherit)"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\resources\xarcade-winuae.bmp"
- >
- </File>
- </Filter>
- </Filter>
- <Filter
- Name="common"
- Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
- >
- <File
- RelativePath="..\..\a2091.c"
- >
- </File>
- <File
- RelativePath="..\..\akiko.c"
- >
- </File>
- <File
- RelativePath="..\..\amax.c"
- >
- </File>
- <File
- RelativePath="..\..\ar.c"
- >
- </File>
- <File
- RelativePath="..\..\arcadia.c"
- >
- </File>
- <File
- RelativePath="..\..\audio.c"
- >
- </File>
- <File
- RelativePath="..\..\autoconf.c"
- >
- </File>
- <File
- RelativePath="..\..\blitfunc.c"
- >
- </File>
- <File
- RelativePath="..\..\blittable.c"
- >
- </File>
- <File
- RelativePath="..\..\blitter.c"
- >
- </File>
- <File
- RelativePath="..\..\blkdev.c"
- >
- </File>
- <File
- RelativePath="..\..\bsdsocket.c"
- >
- </File>
- <File
- RelativePath="..\..\catweasel.c"
- >
- </File>
- <File
- RelativePath="..\..\cdrom.c"
- >
- </File>
- <File
- RelativePath="..\..\cdtv.c"
- >
- </File>
- <File
- RelativePath="..\..\cfgfile.c"
- >
- </File>
- <File
- RelativePath="..\..\cia.c"
- >
- </File>
- <File
- RelativePath="..\..\cpudefs.c"
- >
- </File>
- <File
- RelativePath="..\..\cpuemu_0.c"
- >
- </File>
- <File
- RelativePath="..\..\cpuemu_11.c"
- >
- </File>
- <File
- RelativePath="..\..\cpuemu_12.c"
- >
- </File>
- <File
- RelativePath="..\..\cpummu.c"
- >
- </File>
- <File
- RelativePath="..\..\cpustbl.c"
- >
- </File>
- <File
- RelativePath="..\..\crc32.c"
- >
- </File>
- <File
- RelativePath="..\..\custom.c"
- >
- </File>
- <File
- RelativePath="..\..\debug.c"
- >
- </File>
- <File
- RelativePath="..\..\disk.c"
- >
- </File>
- <File
- RelativePath="..\..\drawing.c"
- >
- </File>
- <File
- RelativePath="..\..\driveclick.c"
- >
- </File>
- <File
- RelativePath="..\..\enforcer.c"
- >
- </File>
- <File
- RelativePath="..\..\ersatz.c"
- >
- </File>
- <File
- RelativePath="..\..\expansion.c"
- >
- </File>
- <File
- RelativePath="..\..\fdi2raw.c"
- >
- </File>
- <File
- RelativePath="..\..\filesys.c"
- >
- </File>
- <File
- RelativePath="..\..\fpp.c"
- >
- </File>
- <File
- RelativePath="..\..\fsdb.c"
- >
- </File>
- <File
- RelativePath="..\..\fsusage.c"
- >
- </File>
- <File
- RelativePath="..\..\gayle.c"
- >
- </File>
- <File
- RelativePath="..\..\gfxlib.c"
- >
- </File>
- <File
- RelativePath="..\..\gfxutil.c"
- >
- </File>
- <File
- RelativePath="..\..\hardfile.c"
- >
- </File>
- <File
- RelativePath="..\..\identify.c"
- >
- </File>
- <File
- RelativePath="..\..\inputdevice.c"
- >
- </File>
- <File
- RelativePath="..\..\keybuf.c"
- >
- </File>
- <File
- RelativePath="..\..\main.c"
- >
- </File>
- <File
- RelativePath="..\..\memory.c"
- >
- </File>
- <File
- RelativePath="..\..\missing.c"
- >
- </File>
- <File
- RelativePath="..\..\native2amiga.c"
- >
- </File>
- <File
- RelativePath="..\..\ncr_scsi.c"
- >
- </File>
- <File
- RelativePath="..\..\newcpu.c"
- >
- </File>
- <File
- RelativePath="..\..\readcpu.c"
- >
- </File>
- <File
- RelativePath="..\..\sana2.c"
- >
- </File>
- <File
- RelativePath="..\..\savestate.c"
- >
- </File>
- <File
- RelativePath="..\..\scsi.c"
- >
- </File>
- <File
- RelativePath="..\..\scsiemul.c"
- >
- </File>
- <File
- RelativePath="..\..\traps.c"
- >
- </File>
- <File
- RelativePath="..\..\uaeexe.c"
- >
- </File>
- <File
- RelativePath="..\..\uaeipc.c"
- >
- </File>
- <File
- RelativePath="..\..\uaelib.c"
- >
- </File>
- <File
- RelativePath="..\..\uaeserial.c"
- >
- </File>
- <File
- RelativePath="..\..\zfile.c"
- >
- </File>
- <File
- RelativePath="..\..\zfile_archive.c"
- >
- </File>
- </Filter>
- <Filter
- Name="jit"
- Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
- >
- <File
- RelativePath="..\..\compemu.c"
- >
- </File>
- <File
- RelativePath="..\..\compemu_fpp.c"
- >
- </File>
- <File
- RelativePath="..\..\compemu_support.c"
- >
- </File>
- <File
- RelativePath="..\..\compstbl.c"
- >
- </File>
- </Filter>
- <Filter
- Name="prowizard"
- >
- <File
- RelativePath="..\..\prowizard\misc\misc.c"
- >
- </File>
- <File
- RelativePath="..\..\moduleripper.c"
- >
- </File>
- <File
- RelativePath="..\..\prowizard\prowiz.c"
- >
- </File>
- <File
- RelativePath="..\..\prowizard\misc\testbag.c"
- >
- </File>
- <Filter
- Name="rippers"
- >
- <File
- RelativePath="..\..\prowizard\rippers\AC1D_packer.c"
- >
- </File>
- <File
- RelativePath="..\..\prowizard\rippers\AMOS-MusicBank.c"
- >
- </File>
- <File
- RelativePath="..\..\prowizard\rippers\AMOS-PowerPackerBank.c"
- >
- </File>
- <File
- RelativePath="..\..\prowizard\rippers\BP-Soundmonitor.c"
- >
- </File>
- <File
- RelativePath="..\..\prowizard\rippers\BSI-FutureComposer.c"
- >
- </File>
- <File
- RelativePath="..\..\prowizard\rippers\Bytekiller.c"
- >
- </File>
- <File
- RelativePath="..\..\prowizard\rippers\ChipTracker.c"
- >
- </File>
- <File
- RelativePath="..\..\prowizard\rippers\Crunchmania-Address.c"
- >
- </File>
- <File
- RelativePath="..\..\prowizard\rippers\Crunchmania-Simple.c"
- >
- </File>
- <File
- RelativePath="..\..\prowizard\rippers\datacrunchers.c"
- >
- </File>
- <File
- RelativePath="..\..\prowizard\rippers\DefjamCruncher32-pro.c"
- >
- </File>
- <File
- RelativePath="..\..\prowizard\rippers\DigiBooster17.c"
- >
- </File>
- <File
- RelativePath="..\..\prowizard\rippers\DigitalIllusion.c"
- >
- </File>
- <File
- RelativePath="..\..\prowizard\rippers\DoubleAction.c"
- >
- </File>
- <File
- RelativePath="..\..\prowizard\rippers\Dragpack100.c"
- >
- </File>
- <File
- RelativePath="..\..\prowizard\rippers\Dragpack252.c"
- >
- </File>
- <File
- RelativePath="..\..\prowizard\rippers\EurekaPacker.c"
- >
- </File>
- <File
- RelativePath="..\..\prowizard\rippers\FastTracker2.c"
- >
- </File>
- <File
- RelativePath="..\..\prowizard\rippers\FC-M-Packer.c"
- >
- </File>
- <File
- RelativePath="..\..\prowizard\rippers\FuchsTracker.c"
- >
- </File>
- <File
- RelativePath="..\..\prowizard\rippers\FutureComposer13.c"
- >
- </File>
- <File
- RelativePath="..\..\prowizard\rippers\FutureComposer14.c"
- >
- </File>
- <File
- RelativePath="..\..\prowizard\rippers\FuzzacPacker.c"
- >
- </File>
- <File
- RelativePath="..\..\prowizard\rippers\GameMusicCreator.c"
- >
- </File>
- <File
- RelativePath="..\..\prowizard\rippers\GNUPacker12.c"
- >
- </File>
- <File
- RelativePath="..\..\prowizard\rippers\GnuPlayer.c"
- >
- </File>
- <File
- RelativePath="..\..\prowizard\rippers\GPMO.c"
- >
- </File>
- <File
- RelativePath="..\..\prowizard\rippers\HeatseekerMC10.c"
- >
- </File>
- <File
- RelativePath="..\..\prowizard\rippers\HornetPacker.c"
- >
- </File>
- <File
- RelativePath="..\..\prowizard\rippers\HQC2.c"
- >
- </File>
- <File
- RelativePath="..\..\prowizard\rippers\JamCracker.c"
- >
- </File>
- <File
- RelativePath="..\..\prowizard\rippers\KefrensSoundMachine.c"
- >
- </File>
- <File
- RelativePath="..\..\prowizard\rippers\MasterCruncher30-Address.c"
- >
- </File>
- <File
- RelativePath="..\..\prowizard\rippers\MaxPacker12.c"
- >
- </File>
- <File
- RelativePath="..\..\prowizard\rippers\MED-Octamed.c"
- >
- </File>
- <File
- RelativePath="..\..\prowizard\rippers\MegaCruncher-Object.c"
- >
- </File>
- <File
- RelativePath="..\..\prowizard\rippers\MegaCruncher.c"
- >
- </File>
- <File
- RelativePath="..\..\prowizard\rippers\MOD-compatible.c"
- >
- </File>
- <File
- RelativePath="..\..\prowizard\rippers\ModuleProtector.c"
- >
- </File>
- <File
- RelativePath="..\..\prowizard\rippers\Mugician.c"
- >
- </File>
- <File
- RelativePath="..\..\prowizard\rippers\Newtron.c"
- >
- </File>
- <File
- RelativePath="..\..\prowizard\rippers\NewtronOld.c"
- >
- </File>
- <File
- RelativePath="..\..\prowizard\rippers\NoiseFromHeaven.c"
- >
- </File>
- <File
- RelativePath="..\..\prowizard\rippers\NoisePacker1.c"
- >
- </File>
- <File
- RelativePath="..\..\prowizard\rippers\NoisePacker2.c"
- >
- </File>
- <File
- RelativePath="..\..\prowizard\rippers\NoisePacker3.c"
- >
- </File>
- <File
- RelativePath="..\..\prowizard\rippers\NoiseRunner.c"
- >
- </File>
- <File
- RelativePath="..\..\prowizard\rippers\NovoTrade.c"
- >
- </File>
- <File
- RelativePath="..\..\prowizard\rippers\PhaPacker.c"
- >
- </File>
- <File
- RelativePath="..\..\prowizard\rippers\PolkaPacker.c"
- >
- </File>
- <File
- RelativePath="..\..\prowizard\rippers\PowerMusic.c"
- >
- </File>
- <File
- RelativePath="..\..\prowizard\rippers\PowerPacker23.c"
- >
- </File>
- <File
- RelativePath="..\..\prowizard\rippers\PowerPacker30.c"
- >
- </File>
- <File
- RelativePath="..\..\prowizard\rippers\PowerPacker40-library.c"
- >
- </File>
- <File
- RelativePath="..\..\prowizard\rippers\PowerPacker40.c"
- >
- </File>
- <File
- RelativePath="..\..\prowizard\rippers\Promizer01.c"
- >
- </File>
- <File
- RelativePath="..\..\prowizard\rippers\Promizer10c.c"
- >
- </File>
- <File
- RelativePath="..\..\prowizard\rippers\Promizer18a.c"
- >
- </File>
- <File
- RelativePath="..\..\prowizard\rippers\Promizer20.c"
- >
- </File>
- <File
- RelativePath="..\..\prowizard\rippers\Promizer40.c"
- >
- </File>
- <File
- RelativePath="..\..\prowizard\rippers\ProPacker10.c"
- >
- </File>
- <File
- RelativePath="..\..\prowizard\rippers\ProPacker21.c"
- >
- </File>
- <File
- RelativePath="..\..\prowizard\rippers\ProPacker30.c"
- >
- </File>
- <File
- RelativePath="..\..\prowizard\rippers\Prorunner10.c"
- >
- </File>
- <File
- RelativePath="..\..\prowizard\rippers\Prorunner20.c"
- >
- </File>
- <File
- RelativePath="..\..\prowizard\rippers\QuadraComposer.c"
- >
- </File>
- <File
- RelativePath="..\..\prowizard\rippers\RelokIt10.c"
- >
- </File>
- <File
- RelativePath="..\..\prowizard\rippers\SGT-Packer.c"
- >
- </File>
- <File
- RelativePath="..\..\prowizard\rippers\skizzo.c"
- >
- </File>
- <File
- RelativePath="..\..\prowizard\rippers\SkytPacker.c"
- >
- </File>
- <File
- RelativePath="..\..\prowizard\rippers\SoundFX.c"
- >
- </File>
- <File
- RelativePath="..\..\prowizard\rippers\SoundTracker.c"
- >
- </File>
- <File
- RelativePath="..\..\prowizard\rippers\SoundTracker26.c"
- >
- </File>
- <File
- RelativePath="..\..\prowizard\rippers\SpikeCruncher.c"
- >
- </File>
- <File
- RelativePath="..\..\prowizard\rippers\StartrekkerPack.c"
- >
- </File>
- <File
- RelativePath="..\..\prowizard\rippers\StimPacker.c"
- >
- </File>
- <File
- RelativePath="..\..\prowizard\rippers\StoneArtsPlayer.c"
- >
- </File>
- <File
- RelativePath="..\..\prowizard\rippers\StoneCracker270.c"
- >
- </File>
- <File
- RelativePath="..\..\prowizard\rippers\StoneCracker299.c"
- >
- </File>
- <File
- RelativePath="..\..\prowizard\rippers\StoneCracker299b.c"
- >
- </File>
- <File
- RelativePath="..\..\prowizard\rippers\StoneCracker299d.c"
- >
- </File>
- <File
- RelativePath="..\..\prowizard\rippers\StoneCracker300.c"
- >
- </File>
- <File
- RelativePath="..\..\prowizard\rippers\StoneCracker310.c"
- >
- </File>
- <File
- RelativePath="..\..\prowizard\rippers\SuperCruncher27.c"
- >
- </File>
- <File
- RelativePath="..\..\prowizard\rippers\SyncroPacker46.c"
- >
- </File>
- <File
- RelativePath="..\..\prowizard\rippers\TetraPack102.c"
- >
- </File>
- <File
- RelativePath="..\..\prowizard\rippers\TetraPack21.c"
- >
- </File>
- <File
- RelativePath="..\..\prowizard\rippers\TetraPack22.c"
- >
- </File>
- <File
- RelativePath="..\..\prowizard\rippers\TheDarkDemon.c"
- >
- </File>
- <File
- RelativePath="..\..\prowizard\rippers\ThePlayer22a.c"
- >
- </File>
- <File
- RelativePath="..\..\prowizard\rippers\ThePlayer30a.c"
- >
- </File>
- <File
- RelativePath="..\..\prowizard\rippers\ThePlayer40.c"
- >
- </File>
- <File
- RelativePath="..\..\prowizard\rippers\ThePlayer41a.c"
- >
- </File>
- <File
- RelativePath="..\..\prowizard\rippers\ThePlayer50a.c"
- >
- </File>
- <File
- RelativePath="..\..\prowizard\rippers\ThePlayer60a.c"
- >
- </File>
- <File
- RelativePath="..\..\prowizard\rippers\ThePlayer61a.c"
- >
- </File>
- <File
- RelativePath="..\..\prowizard\rippers\TimeCruncher17.c"
- >
- </File>
- <File
- RelativePath="..\..\prowizard\rippers\TitanicsPlayer.c"
- >
- </File>
- <File
- RelativePath="..\..\prowizard\rippers\TMK.c"
- >
- </File>
- <File
- RelativePath="..\..\prowizard\rippers\TNMCruncher.c"
- >
- </File>
- <File
- RelativePath="..\..\prowizard\rippers\TrackerPacker1.c"
- >
- </File>
- <File
- RelativePath="..\..\prowizard\rippers\TrackerPacker2.c"
- >
- </File>
- <File
- RelativePath="..\..\prowizard\rippers\TrackerPacker3.c"
- >
- </File>
- <File
- RelativePath="..\..\prowizard\rippers\TryItCruncher101.c"
- >
- </File>
- <File
- RelativePath="..\..\prowizard\rippers\TurboSqueezer61.c"
- >
- </File>
- <File
- RelativePath="..\..\prowizard\rippers\UnicTracker.c"
- >
- </File>
- <File
- RelativePath="..\..\prowizard\rippers\UnicTracker2.c"
- >
- </File>
- <File
- RelativePath="..\..\prowizard\rippers\WantonPacker.c"
- >
- </File>
- <File
- RelativePath="..\..\prowizard\rippers\XannPlayer.c"
- >
- </File>
- <File
- RelativePath="..\..\prowizard\rippers\ZenPacker.c"
- >
- </File>
- </Filter>
- </Filter>
- <Filter
- Name="decompressor"
- >
- <Filter
- Name="7z"
- >
- <File
- RelativePath="..\..\archivers\7z\7zAlloc.c"
- >
- </File>
- <File
- RelativePath="..\..\archivers\7z\7zBuffer.c"
- >
- </File>
- <File
- RelativePath="..\..\archivers\7z\7zCrc.c"
- >
- </File>
- <File
- RelativePath="..\..\archivers\7z\7zDecode.c"
- >
- </File>
- <File
- RelativePath="..\..\archivers\7z\7zExtract.c"
- >
- </File>
- <File
- RelativePath="..\..\archivers\7z\7zHeader.c"
- >
- </File>
- <File
- RelativePath="..\..\archivers\7z\7zIn.c"
- >
- </File>
- <File
- RelativePath="..\..\archivers\7z\7zItem.c"
- >
- </File>
- <File
- RelativePath="..\..\archivers\7z\7zMain.c"
- >
- </File>
- <File
- RelativePath="..\..\archivers\7z\7zMethodID.c"
- >
- </File>
- <File
- RelativePath="..\..\archivers\7z\LzmaDecode.c"
- >
- </File>
- </Filter>
- <Filter
- Name="dms"
- >
- <File
- RelativePath="..\..\archivers\dms\crc_csum.c"
- >
- </File>
- <File
- RelativePath="..\..\archivers\dms\getbits.c"
- >
- </File>
- <File
- RelativePath="..\..\archivers\dms\maketbl.c"
- >
- </File>
- <File
- RelativePath="..\..\archivers\dms\pfile.c"
- >
- </File>
- <File
- RelativePath="..\..\archivers\dms\tables.c"
- >
- </File>
- <File
- RelativePath="..\..\archivers\dms\u_deep.c"
- >
- </File>
- <File
- RelativePath="..\..\archivers\dms\u_heavy.c"
- >
- </File>
- <File
- RelativePath="..\..\archivers\dms\u_init.c"
- >
- </File>
- <File
- RelativePath="..\..\archivers\dms\u_medium.c"
- >
- </File>
- <File
- RelativePath="..\..\archivers\dms\u_quick.c"
- >
- </File>
- <File
- RelativePath="..\..\archivers\dms\u_rle.c"
- >
- </File>
- </Filter>
- <Filter
- Name="lha"
- >
- <File
- RelativePath="..\..\archivers\lha\crcio.c"
- >
- </File>
- <File
- RelativePath="..\..\archivers\lha\dhuf.c"
- >
- </File>
- <File
- RelativePath="..\..\archivers\lha\header.c"
- >
- </File>
- <File
- RelativePath="..\..\archivers\lha\huf.c"
- >
- </File>
- <File
- RelativePath="..\..\archivers\lha\larc.c"
- >
- </File>
- <File
- RelativePath="..\..\archivers\lha\lhamaketbl.c"
- >
- </File>
- <File
- RelativePath="..\..\archivers\lha\lharc.c"
- >
- </File>
- <File
- RelativePath="..\..\archivers\lha\shuf.c"
- >
- </File>
- <File
- RelativePath="..\..\archivers\lha\slide.c"
- >
- </File>
- <File
- RelativePath="..\..\archivers\lha\uae_lha.c"
- >
- </File>
- <File
- RelativePath="..\..\archivers\lha\util.c"
- >
- </File>
- </Filter>
- <Filter
- Name="lzx"
- >
- <File
- RelativePath="..\..\archivers\lzx\unlzx.c"
- >
- </File>
- </Filter>
- <Filter
- Name="zip"
- >
- <File
- RelativePath="..\..\archivers\zip\unzip.c"
- >
- </File>
- </Filter>
- <Filter
- Name="wrp"
- >
- <File
- RelativePath="..\..\archivers\wrp\warp.c"
- >
- </File>
- </Filter>
- </Filter>
- <File
- RelativePath="..\resources\drive_click.wav"
- >
- </File>
- <File
- RelativePath="..\resources\drive_snatch.wav"
- >
- </File>
- <File
- RelativePath="..\resources\drive_spin.wav"
- >
- </File>
- <File
- RelativePath="..\resources\drive_spinnd.wav"
- >
- </File>
- <File
- RelativePath="..\resources\drive_startup.wav"
- >
- </File>
- <File
- RelativePath="..\hq2x16.obj"
- >
- </File>
- <File
- RelativePath="..\hq2x32.obj"
- >
- </File>
- <File
- RelativePath="..\resources\resource.h"
- >
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
LinkIncremental="2"
SuppressStartupBanner="true"
GenerateManifest="false"
- DelayLoadDLLs="wpcap.dll;packet.dll;d3dx9_36.dll"
+ DelayLoadDLLs="wpcap.dll;packet.dll;d3dx9_39.dll"
GenerateDebugInformation="true"
ProgramDatabaseFile=".\Debug/winuae.pdb"
SubSystem="2"
AdditionalLibraryDirectories=""
GenerateManifest="true"
AdditionalManifestDependencies=""
- DelayLoadDLLs="wpcap.dll;packet.dll;d3dx9_36.dll"
+ DelayLoadDLLs="wpcap.dll;packet.dll;d3dx9_39.dll"
GenerateDebugInformation="true"
ProgramDatabaseFile=".\Release/winuae.pdb"
SubSystem="2"
AdditionalLibraryDirectories=""
GenerateManifest="true"
AdditionalManifestDependencies=""
- DelayLoadDLLs="wpcap.dll;packet.dll;d3dx9_36.dll"
+ DelayLoadDLLs="wpcap.dll;packet.dll;d3dx9_39.dll"
GenerateDebugInformation="true"
ProgramDatabaseFile=".\FullRelease/winuae.pdb"
SubSystem="2"
RelativePath="..\..\cpuemu_12.c"
>
</File>
- <File
- RelativePath="..\..\cpummu.c"
- >
- </File>
<File
RelativePath="..\..\cpustbl.c"
>
+Final
+
+- compiled with August 2008 DXSDK, shader files modified (old ones are
+ not compatible anymore) D3D filter now requires August 2008 or newer
+ DirectX. Shader support need pixel shader version 2.0 or later.
+- MSVC 2008 updated to final SP1
+
RC4: (still waiting for fixed winuae.net..)
- quickstart A1200: increase A1200 KS 3.1 priority over
- crash when inserting or removing USB devices before emulation has
been started
- inserting/removing USB devices does not anymore change currently
- selected mouse or joystick device in ports panel
+ selected mouse or joystick in ports panel
RC3:
Beta 5:
- ignore mouse events when WinUAE is not in focus
-- disk emulation track length/motor speed fix (István Fabian)
+- disk emulation track length/motor speed fix (Istv¯n Fabian)
- filesystem "ghost"-file fix
(but we still have one bug left in ACTION_RENAME that isn't so easy to fix)
- F10 and ALT-keys don't freeze the emulation anymore
- joystick keyboard emulation do not anymore create normal key presses
- sprite update (no more flashing bees in Superfrog)
-- CIA update (fixes Powermonger, thanks to István Fábián)
+- CIA update (fixes Powermonger, thanks to Istv¯n F¯bi¯n)
- VSync and separate refresh rate selection added
I had to implement this because I got too many requests :)
- requires DirectX 7 or newer (was DX5 or newer)