From: Toni Wilen Date: Sat, 28 Jul 2007 15:08:19 +0000 (+0300) Subject: imported winuaesrc1430b13.zip X-Git-Tag: 2100~208 X-Git-Url: https://git.unchartedbackwaters.co.uk/w/?a=commitdiff_plain;h=7f57333b30ff9934f096c2538c7466c6bec191f3;p=francis%2Fwinuae.git imported winuaesrc1430b13.zip --- diff --git a/ar.c b/ar.c index 04ccf792..a3e1555f 100755 --- a/ar.c +++ b/ar.c @@ -1982,16 +1982,24 @@ uae_u8 *save_hrtmon (int *len, uae_u8 *dstptr) if (dstptr) dstbak = dst = dstptr; else - dstbak = dst = (uae_u8*)malloc (hrtmem_size + sizeof ar_custom + sizeof ar_ciaa + sizeof ar_ciab + 1024); - save_u8 (0); + dstbak = dst = (uae_u8*)malloc (hrtmem_size + hrtmem2_size + sizeof ar_custom + sizeof ar_ciaa + sizeof ar_ciab + 1024); + save_u8 (cart_type); save_u8 (0); save_u32 (0); strcpy (dst, currprefs.cartfile); dst += strlen(dst) + 1; save_u32 (0); - save_u32 (hrtmem_size); - memcpy (dst, hrtmemory, hrtmem_size); - dst += hrtmem_size; + if (!hrtmem_rom) { + save_u32 (hrtmem_size); + memcpy (dst, hrtmemory, hrtmem_size); + dst += hrtmem_size; + } else if (hrtmem2_size) { + save_u32 (hrtmem2_size); + memcpy (dst, hrtmemory2, hrtmem2_size); + dst += hrtmem2_size; + } else { + save_u32 (0); + } save_u32 (sizeof ar_custom); memcpy (dst, ar_custom, sizeof ar_custom); dst += sizeof ar_custom; @@ -2007,6 +2015,8 @@ uae_u8 *save_hrtmon (int *len, uae_u8 *dstptr) uae_u8 *restore_hrtmon (uae_u8 *src) { + uae_u32 size; + action_replay_unload (1); restore_u8 (); restore_u8 (); @@ -2015,13 +2025,18 @@ uae_u8 *restore_hrtmon (uae_u8 *src) strcpy (currprefs.cartfile, changed_prefs.cartfile); src += strlen(src) + 1; hrtmon_load (); + action_replay_load (); if (restore_u32() != 0) return src; - if (restore_u32() != hrtmem_size) - return src; - if (hrtmemory) - memcpy (hrtmemory, src, hrtmem_size); - src += hrtmem_size; + size = restore_u32(); + if (!hrtmem_rom) { + if (hrtmemory) + memcpy (hrtmemory, src, size); + } else if (hrtmem2_size) { + if (hrtmemory2) + memcpy (hrtmemory2, src, size); + } + src += size; restore_u32(); memcpy (ar_custom, src, sizeof ar_custom); src += sizeof ar_custom; diff --git a/debug.c b/debug.c index b888a25e..0467eb90 100755 --- a/debug.c +++ b/debug.c @@ -1024,13 +1024,15 @@ static addrbank *debug_mem_area; struct memwatch_node mwnodes[MEMWATCH_TOTAL]; static struct memwatch_node mwhit; -static uae_u8 *illgdebug; +static uae_u8 *illgdebug, *illghdebug; static int illgdebug_break; static void illg_free (void) { - free (illgdebug); + xfree (illgdebug); illgdebug = NULL; + xfree (illghdebug); + illghdebug = NULL; } static void illg_init (void) @@ -1040,14 +1042,25 @@ static void illg_init (void) uaecptr addr, end; illgdebug = (uae_u8*)xcalloc (0x01000000, 1); - if (!illgdebug) + illghdebug = (uae_u8*)xcalloc(65536, 1); + if (!illgdebug || !illghdebug) { + illg_free(); return; + } addr = 0xffffffff; while ((addr = nextaddr(addr, &end)) != 0xffffffff) { - if (end < 0x01000000) + if (end < 0x01000000) { memset (illgdebug + addr, c, end - addr); + } else { + uae_u32 s = addr >> 16; + uae_u32 e = end >> 16; + memset (illghdebug + s, c, e - s); + } addr = end - 1; } + if (currprefs.gfxmem_size) + memset (illghdebug + (p96ram_start >> 16), 3, currprefs.gfxmem_size >> 16); + i = 0; while (custd[i].name) { int rw = custd[i].rw; @@ -1081,6 +1094,8 @@ static void illg_init (void) if (uae_boot_rom) /* filesys "rom" */ memset (illgdebug + RTAREA_BASE, 1, 0x10000); #endif + if (currprefs.cs_ide > 0) + memset (illgdebug + 0xdd0000, 3, 65536); } /* add special custom register check here */ @@ -1099,7 +1114,7 @@ static void illg_debug_do (uaecptr addr, int rwi, int size, uae_u32 val) uae_u8 v = val >> (i * 8); uae_u32 ad = addr + i; if (ad >= 0x01000000) - mask = 7; + mask = illghdebug[ad >> 16]; else mask = illgdebug[ad]; if ((mask & 3) == 3) diff --git a/gencpu.c b/gencpu.c index 1f85e07f..fcc25a0e 100755 --- a/gencpu.c +++ b/gencpu.c @@ -2897,7 +2897,10 @@ static void gen_opcode (unsigned long int opcode) break; case i_MMUOP30A: printf ("\tuaecptr pc = m68k_getpc (regs);\n"); - genamode (curi->smode, "srcreg", curi->size, "extra", 0, 0, 0); + if (curi->smode == Areg || curi->smode == Dreg) + printf("\tuae_u16 extraa = 0;\n"); + else + genamode (curi->smode, "srcreg", curi->size, "extra", 0, 0, 0); sync_m68k_pc (); printf ("\tmmu_op30(pc, opcode, regs, 1, extraa);\n"); break; diff --git a/memory.c b/memory.c index 2adffec7..4cd4c040 100755 --- a/memory.c +++ b/memory.c @@ -211,8 +211,8 @@ static struct romdata roms[] = { 0xe668a0be, 0x633A6E65,0xA93580B8,0xDDB0BE9C,0x9A64D4A1,0x7D4B4801 }, { "Freezer: X-Power Professional 500 v1.2", 1, 2, 1, 2, "XPOWER\0", 131072, 65, 0, 0, ROMTYPE_SUPERIV, 1, 0x9e70c231, 0xa2977a1c,0x41a8ca7d,0x4af4a168,0x726da542,0x179d5963 }, - /* only 2 bad dumps available */ - { "Freezer: Nordic Power v1", 0, 0, 0, 0, "NPOWER\0", 65536, 66, 0, 0, ROMTYPE_SUPERIV, 1, }, + /* v1.0 is bad dump */ + { "Freezer: Nordic Power v1.0", 0, 0, 0, 0, "NPOWER\0", 65536, 66, 0, 0, ROMTYPE_SUPERIV, 1, }, //0xdd16cdec, 0xfd882967,0x87e2da5f,0x4ef6be32,0x5f7c9324,0xb5bd8e64 }, { "Freezer: Nordic Power v2.0", 2, 0, 2, 0, "NPOWER\0", 65536, 67, 0, 0, ROMTYPE_SUPERIV, 1, 0xa4db2906, 0x0aec68f7,0x25470c89,0x6b699ff4,0x6623dec5,0xc777466e }, diff --git a/newcpu.c b/newcpu.c index 1809ad32..70f04cc1 100755 --- a/newcpu.c +++ b/newcpu.c @@ -1828,6 +1828,13 @@ static void mmu_op30_ptest(uaecptr pc, uae_u32 opcode, uae_u16 next, uaecptr ext mmusr_030 = 0; } +static void mmu_op30_pflush(uaecptr pc, uae_u32 opcode, uae_u16 next, uaecptr extra) +{ +#if MMUOP_DEBUG > 0 + write_log("PFLUSH PC=%08X\n", pc); +#endif +} + void mmu_op30(uaecptr pc, uae_u32 opcode, struct regstruct *regs, int isnext, uaecptr extra) { if (currprefs.cpu_model != 68030) { @@ -1839,6 +1846,8 @@ void mmu_op30(uaecptr pc, uae_u32 opcode, struct regstruct *regs, int isnext, ua uae_u16 next = get_word(pc + 2); if (next & 0x8000) mmu_op30_ptest(pc, opcode, next, extra); + else if (next & 0x2000) + mmu_op30_pflush (pc, opcode, next, extra); else mmu_op30_pmove(pc, opcode, next, extra); m68k_setpc (regs, m68k_getpc (regs) + 2); diff --git a/od-win32/resources/winuae.rc b/od-win32/resources/winuae.rc index 3178b019..991fde32 100755 --- a/od-win32/resources/winuae.rc +++ b/od-win32/resources/winuae.rc @@ -1050,7 +1050,7 @@ BEGIN IDS_SELECTFILESYSROOT "Please select the root directory of the file system..." IDS_DEFAULTMIDIOUT "Default MIDI-Out Device" IDS_CONTRIBUTORS1 "Bernd Schmidt - The Grand-Master\nSam Jordan - Custom-chip, floppy-DMA, etc.\nMathias Ortmann - Original WinUAE Main Guy, BSD Socket support\nBrian King - Picasso96 Support, Integrated GUI for WinUAE, previous WinUAE Main Guy\nToni Wilen - Core updates, WinUAE Main Guy\nGustavo Goedert/Peter Remmers/Michael Sontheimer/Tomi Hakala/Tim Gunn/Nemo Pohle - DOS Port Stuff\nSamuel Devulder/Olaf Barthel/Sam Jordan - Amiga Ports\nKrister Bergman - XFree86 and OS/2 Port\nA. Blanchard/Ernesto Corvi - MacOS Port\nChristian Bauer - BeOS Port\nIan Stephenson - NextStep Port\nPeter Teichmann - Acorn/RiscOS Port\nStefan Reinauer - ZorroII/III AutoConfig, Serial Support\nChristian Schmitt/Chris Hames - Serial Support\nHerman ten Brugge - 68020/68881 Emulation Code\nTauno Taipaleenmaki - Various UAE-Control/UAE-Library Support\nBrett Eden/Tim Gunn/Paolo Besser/Nemo Pohle - Various Docs and Web-Sites\nGeorg Veichtlbauer - Help File coordinator, German GUI\nFulvio Leonardi - Italian translator for WinUAE\n" - IDS_CONTRIBUTORS2 "Bill Panagouleas - Hardware support\nSpecial thanks to Alexander Kneer and Tobias Abt (The Picasso96 Team)\nSteven Weiser - Postscript printing emulation idea and testing.\nPéter Tóth /Balázs Rátkai/Iván Herczeg/András Arató - Hungarian translation.\nKarsten Bock and Dirk Trowe - Cartridge hardware support." + IDS_CONTRIBUTORS2 "Bill Panagouleas - Hardware support\nSpecial thanks to Alexander Kneer and Tobias Abt (The Picasso96 Team)\nSteven Weiser - Postscript printing emulation idea and testing.\nPéter Tóth /Balázs Rátkai/Iván Herczeg/András Arató - Hungarian translation.\nKarsten Bock, Gavin Fance and Dirk Trowe - Freezer cartridge hardware support." IDS_INVALIDPRTPORT "The printer you have in this configuration is not valid on this machine.\n" IDS_RESTOREUSS "Restore a WinUAE snapshot file" IDS_USS "WinUAE snapshot files" diff --git a/od-win32/resources/winuae9.exe.manifest b/od-win32/resources/winuae9.exe.manifest new file mode 100755 index 00000000..e73f33f0 --- /dev/null +++ b/od-win32/resources/winuae9.exe.manifest @@ -0,0 +1,14 @@ + + + + + + + + diff --git a/od-win32/win32.h b/od-win32/win32.h index 6aa979e3..f4eaaa93 100755 --- a/od-win32/win32.h +++ b/od-win32/win32.h @@ -15,10 +15,10 @@ #define GETBDM(x) (((x) - ((x / 10000) * 10000)) / 100) #define GETBDD(x) ((x) % 100) -#define WINUAEBETA 12 -#define WINUAEPUBLICBETA 1 -#define WINUAEDATE MAKEBD(2007, 7, 24) -#define WINUAEEXTRA " RC1" +#define WINUAEBETA 0 +#define WINUAEPUBLICBETA 0 +#define WINUAEDATE MAKEBD(2007, 7, 28) +#define WINUAEEXTRA " RC2" #define WINUAEREV "" #define IHF_WINDOWHIDDEN 6 diff --git a/od-win32/winuae_msvc/winuae_msvc.vcproj b/od-win32/winuae_msvc/winuae_msvc.vcproj index f06fa8ad..7ba46da2 100755 --- a/od-win32/winuae_msvc/winuae_msvc.vcproj +++ b/od-win32/winuae_msvc/winuae_msvc.vcproj @@ -326,7 +326,7 @@ />