From aeaed7d6d3ca4bdc5058785f993586ca5665ba6d Mon Sep 17 00:00:00 2001 From: Toni Wilen Date: Sun, 10 Nov 2013 15:38:32 +0200 Subject: [PATCH] 2700b12 --- blitter.cpp | 10 +- custom.cpp | 21 ++- gencpu.cpp | 17 ++- include/memory.h | 3 + include/newcpu.h | 4 + memory.cpp | 113 ++++++++-------- newcpu.cpp | 12 +- od-win32/avioutput.cpp | 26 ++-- od-win32/dinput.cpp | 26 +++- od-win32/graphics/amiga_header_2013.bmp | Bin 0 -> 85896 bytes od-win32/graphics/amiga_welcome_2013.bmp | Bin 0 -> 461816 bytes od-win32/win32.h | 4 +- od-win32/win32gui_extra.cpp | 1 + od-win32/winuaechangelog.txt | 13 ++ od-win32/wix/Product.wxs | 156 +++++++++++++++++++++-- od-win32/wix/WixUI_FeatureTree_NL.wxs | 75 +++++++++++ od-win32/wix/wix.wixproj | 1 + 17 files changed, 389 insertions(+), 93 deletions(-) create mode 100644 od-win32/graphics/amiga_header_2013.bmp create mode 100644 od-win32/graphics/amiga_welcome_2013.bmp create mode 100644 od-win32/wix/WixUI_FeatureTree_NL.wxs diff --git a/blitter.cpp b/blitter.cpp index c17cb4f4..02f53e71 100644 --- a/blitter.cpp +++ b/blitter.cpp @@ -48,6 +48,7 @@ static int original_ch, original_fill, original_line; static int blinea_shift; static uae_u16 blinea, blineb; static int blitline, blitfc, blitfill, blitife, blitsing, blitdesc; +static int blitline_started; static int blitonedot, blitsign, blitlinepixel; static int blit_add; static int blit_modadda, blit_modaddb, blit_modaddc, blit_modaddd; @@ -1175,6 +1176,10 @@ static void blit_bltset (int con) blitdesc = bltcon1 & 2; blt_info.blitbshift = bltcon1 >> 12; blt_info.blitdownbshift = 16 - blt_info.blitbshift; + if ((bltcon1 & 1) && !blitline_started) { + write_log (_T("BLITTER: linedraw enabled after starting normal blit! %08x\n"), M68K_GETPC); + return; + } } if (con & 1) { @@ -1187,11 +1192,11 @@ static void blit_bltset (int con) blitfill = !!(bltcon1 & 0x18); // disable line draw if bltcon0 is written while it is active - if (!savestate_state && bltstate != BLT_done && bltstate != BLT_init && blitline) { + if (!savestate_state && bltstate != BLT_done && bltstate != BLT_init && blitline && blitline_started) { blitline = 0; bltstate = BLT_done; blit_interrupt = 1; - write_log (_T("BLITTER: register modification during linedraw!\n")); + write_log (_T("BLITTER: register modification during linedraw! %08x\n"), M68K_GETPC); } if (blitline) { @@ -1327,6 +1332,7 @@ static void blitter_start_init (void) preva = 0; prevb = 0; blit_frozen = 0; + blitline_started = bltcon1 & 1; blit_bltset (1 | 2); blit_modset (); diff --git a/custom.cpp b/custom.cpp index 5156b1dd..ea14f9a7 100644 --- a/custom.cpp +++ b/custom.cpp @@ -1206,7 +1206,7 @@ STATIC_INLINE void fetch (int nr, int fm, int hpos) bplpt[nr] += 2 << fm; bplptx[nr] += 2 << fm; - if (hpos == 0xe2 && !(beamcon0 & 0x80)) { + if (hpos >= 0xe1 && !(beamcon0 & 0x80)) { static int warned = 30; if (warned > 0) { write_log (_T("WARNING: BPL fetch at hpos 0x%02X!\n"), hpos); @@ -3694,6 +3694,7 @@ static uae_u16 VPOSR (void) static void VPOSW (uae_u16 v) { + int oldvpos = vpos; #if 0 if (M68K_GETPC < 0xf00000 || 1) write_log (_T("VPOSW %04X PC=%08x\n"), v, M68K_GETPC); @@ -3714,10 +3715,13 @@ static void VPOSW (uae_u16 v) if (!(currprefs.chipset_mask & CSMASK_ECS_AGNUS)) v &= 1; vpos |= v << 8; + if (vpos < oldvpos) + vpos = oldvpos; } static void VHPOSW (uae_u16 v) { + int oldvpos = vpos; #if 0 if (M68K_GETPC < 0xf00000 || 1) write_log (_T("VHPOSW %04X PC=%08x\n"), v, M68K_GETPC); @@ -3725,6 +3729,11 @@ static void VHPOSW (uae_u16 v) v >>= 8; // lets ignore hpos for now vpos &= 0xff00; vpos |= v; + if (vpos < oldvpos) { + vpos = oldvpos; + } else if (vpos < minfirstline && oldvpos < minfirstline) { + vpos = oldvpos; + } } static uae_u16 VHPOSR (void) @@ -6310,7 +6319,9 @@ static void vsync_handler_post (void) gfxboard_vsync_handler (); #endif - if ((beamcon0 & (0x20 | 0x80)) != (new_beamcon0 & (0x20 | 0x80)) || (vpos_count > 0 && abs (vpos_count - vpos_count_diff) > 1)) { + if ((beamcon0 & (0x20 | 0x80)) != (new_beamcon0 & (0x20 | 0x80))) { + init_hz (); + } else if (vpos_count > 0 && abs (vpos_count - vpos_count_diff) > 1) { init_hz (); } else if (interlace_changed || changed_chipset_refresh () || lof_changed) { compute_framesync (); @@ -8498,6 +8509,8 @@ uae_u32 wait_cpu_cycle_read (uaecptr addr, int mode) #endif x_do_cycles_post (CYCLE_UNIT, v); + + regs.chipset_latch_rw = regs.chipset_latch_read = v; return v; } @@ -8538,6 +8551,7 @@ uae_u32 wait_cpu_cycle_read_ce020 (uaecptr addr, int mode) if (currprefs.cpu_model == 68020) x_do_cycles_post (CYCLE_UNIT / 2, v); + regs.chipset_latch_rw = regs.chipset_latch_read = v; return v; } @@ -8571,6 +8585,7 @@ void wait_cpu_cycle_write (uaecptr addr, int mode, uae_u32 v) x_do_cycles_post (CYCLE_UNIT, v); + regs.chipset_latch_rw = regs.chipset_latch_write = v; } void wait_cpu_cycle_write_ce020 (uaecptr addr, int mode, uae_u32 v) @@ -8604,6 +8619,8 @@ void wait_cpu_cycle_write_ce020 (uaecptr addr, int mode, uae_u32 v) if (currprefs.cpu_model == 68020) x_do_cycles_post (CYCLE_UNIT / 2, v); + + regs.chipset_latch_rw = regs.chipset_latch_write = v; } void do_cycles_ce (unsigned long cycles) diff --git a/gencpu.cpp b/gencpu.cpp index 101c6b9f..a81e38c3 100644 --- a/gencpu.cpp +++ b/gencpu.cpp @@ -2436,7 +2436,7 @@ static void bsetcycles (struct instr *curi) static int islongimm (struct instr *curi) { - return (curi->size == sz_long && (curi->smode == Dreg || curi->smode == imm)); + return (curi->size == sz_long && (curi->smode == Dreg || curi->smode == imm || curi->smode == Areg)); } @@ -2802,7 +2802,7 @@ static void gen_opcode (unsigned long int opcode) if (curi->dmode == Dreg) { if (curi->size == sz_long) { c += 2; - if (curi->smode == imm || curi->smode == immi || curi->smode == Dreg) + if (curi->smode == imm || curi->smode == immi || curi->smode == Dreg || curi->smode == Areg) c += 2; } } @@ -2893,7 +2893,7 @@ static void gen_opcode (unsigned long int opcode) if (curi->dmode == Dreg) { if (curi->size == sz_long) { c += 2; - if (curi->smode == imm || curi->smode == immi || curi->smode == Dreg) + if (curi->smode == imm || curi->smode == immi || curi->smode == Dreg || curi->smode == Areg) c += 2; } } @@ -3240,8 +3240,11 @@ static void gen_opcode (unsigned long int opcode) int prefetch_done = 0, flags; int dualprefetch = curi->dmode == absl && (curi->smode != Dreg && curi->smode != Areg && curi->smode != imm); genamode (curi, curi->smode, "srcreg", curi->size, "src", 1, 0, GF_MOVE); - flags = 1 | (dualprefetch ? GF_NOREFILL : 0); - genamode (curi, curi->dmode, "dstreg", curi->size, "dst", 2, 0, flags | GF_MOVE); + flags = GF_MOVE | GF_APDI; + //if (curi->size == sz_long && (curi->smode == Dreg || curi->smode == Areg)) + // flags &= ~GF_APDI; + flags |= dualprefetch ? GF_NOREFILL : 0; + genamode (curi, curi->dmode, "dstreg", curi->size, "dst", 2, 0, flags); if (curi->mnemo == i_MOVEA && curi->size == sz_word) printf ("\tsrc = (uae_s32)(uae_s16)src;\n"); if (curi->dmode == Apdi) { @@ -3855,12 +3858,12 @@ static void gen_opcode (unsigned long int opcode) printf ("\t} else {\n"); printf ("\t\tuae_u32 newv = (uae_u32)dst / (uae_u32)(uae_u16)src;\n"); printf ("\t\tuae_u32 rem = (uae_u32)dst %% (uae_u32)(uae_u16)src;\n"); - fill_prefetch_next (); if (using_ce) { start_brace (); printf ("\t\tint cycles = (getDivu68kCycles((uae_u32)dst, (uae_u16)src));\n"); addcycles000_3 ("\t\t"); } + fill_prefetch_next (); /* The N flag appears to be set each time there is an overflow. * Weird. but 68020 only sets N when dst is negative.. */ printf ("\t\tif (newv > 0xffff) {\n"); @@ -3897,12 +3900,12 @@ static void gen_opcode (unsigned long int opcode) printf ("\t\tgoto %s;\n", endlabelstr); printf ("\t}\n"); printf ("\tCLEAR_CZNV ();\n"); - fill_prefetch_next (); if (using_ce) { start_brace (); printf ("\t\tint cycles = (getDivs68kCycles((uae_s32)dst, (uae_s16)src));\n"); addcycles000_3 ("\t\t"); } + fill_prefetch_next (); printf ("\tif (dst == 0x80000000 && src == -1) {\n"); printf ("\t\tSET_VFLG (1);\n"); printf ("\t\tSET_NFLG (1);\n"); diff --git a/include/memory.h b/include/memory.h index 204a6539..f847d698 100644 --- a/include/memory.h +++ b/include/memory.h @@ -53,6 +53,9 @@ extern void wait_cpu_cycle_write_ce020 (uaecptr addr, int mode, uae_u32 v); #define cardmem_start_addr 0x00E00000 #define kickmem_start_addr 0x00F80000 +#define ROM_SIZE_512 524288 +#define ROM_SIZE_256 262144 + extern bool ersatzkickfile; extern bool cloanto_rom, kickstart_rom; extern uae_u16 kickstart_version; diff --git a/include/newcpu.h b/include/newcpu.h index e61cd329..f410e502 100644 --- a/include/newcpu.h +++ b/include/newcpu.h @@ -138,6 +138,10 @@ struct regstruct uae_u16 irc, ir; uae_u32 spcflags; + uae_u32 last_prefetch; + uae_u32 chipset_latch_rw; + uae_u32 chipset_latch_read; + uae_u32 chipset_latch_write; uaecptr usp, isp, msp; uae_u16 sr; diff --git a/memory.cpp b/memory.cpp index bdaff4d7..41905ecd 100644 --- a/memory.cpp +++ b/memory.cpp @@ -180,15 +180,25 @@ static void dummylog (int rw, uaecptr addr, int size, uae_u32 val, int ins) static uae_u32 dummy_get (uaecptr addr, int size) { - uae_u32 v; - if (currprefs.cpu_model >= 68020) - return NONEXISTINGDATA; - v = (regs.irc << 16) | regs.irc; + uae_u32 v = NONEXISTINGDATA; + + if (currprefs.cpu_model >= 68040) + return v; + if (!currprefs.cpu_compatible) + return v; + if (currprefs.address_space_24) + addr &= 0x00ffffff; + if (addr >= 0x10000000) + return v; + /* fixme: emulate correct hardware behavior */ + if (munge24 (m68k_getpc () & 0xFFF80000) == 0xF80000) + return v; if (size == 4) { - ; + v = (regs.irc << 16) | regs.irc; } else if (size == 2) { - v &= 0xffff; + v = regs.irc & 0xffff; } else { + v = regs.irc; v = (addr & 1) ? (v & 0xff) : ((v >> 8) & 0xff); } #if 0 @@ -665,11 +675,11 @@ static void a1000_handle_kickstart (int mode) protect_roms (false); if (mode == 0) { a1000_kickstart_mode = 0; - memcpy (kickmem_bank.baseaddr, kickmem_bank.baseaddr + 262144, 262144); - kickstart_version = (kickmem_bank.baseaddr[262144 + 12] << 8) | kickmem_bank.baseaddr[262144 + 13]; + memcpy (kickmem_bank.baseaddr, kickmem_bank.baseaddr + ROM_SIZE_256, ROM_SIZE_256); + kickstart_version = (kickmem_bank.baseaddr[ROM_SIZE_256 + 12] << 8) | kickmem_bank.baseaddr[ROM_SIZE_256 + 13]; } else { a1000_kickstart_mode = 1; - memcpy (kickmem_bank.baseaddr, a1000_bootrom, 262144); + memcpy (kickmem_bank.baseaddr, a1000_bootrom, ROM_SIZE_256); kickstart_version = 0; } if (kickstart_version == 0xffff) @@ -702,7 +712,7 @@ static void REGPARAM2 kickmem_lput (uaecptr addr, uae_u32 b) m = (uae_u32 *)(kickmem_bank.baseaddr + addr); do_put_mem_long (m, b); #if 0 - if (addr == 524288-4) { + if (addr == ROM_SIZE_512-4) { rom_write_enabled = false; write_log (_T("ROM write disabled\n")); } @@ -1037,7 +1047,7 @@ addrbank custmem2_bank = { custmem2_lget, custmem2_wget, ABFLAG_RAM }; -#define fkickmem_size 524288 +#define fkickmem_size ROM_SIZE_512 static int a3000_f0; void a3000_fakekick (int map) { @@ -1096,7 +1106,7 @@ static int read_kickstart (struct zfile *f, uae_u8 *mem, int size, int dochecksu zfile_fseek (f, 512, SEEK_SET); kickdisk = 1; #if 0 - } else if (size >= 524288 && !memcmp (buffer, "AMIG", 4)) { + } else if (size >= ROM_SIZE_512 && !memcmp (buffer, "AMIG", 4)) { /* ReKick */ zfile_fseek (f, oldpos + 0x6c, SEEK_SET); cr = 2; @@ -1118,10 +1128,10 @@ static int read_kickstart (struct zfile *f, uae_u8 *mem, int size, int dochecksu i = zfile_fread (mem, 1, size, f); - if (kickdisk && i > 262144) - i = 262144; + if (kickdisk && i > ROM_SIZE_256) + i = ROM_SIZE_256; #if 0 - if (i >= 262144 && (i != 262144 && i != 524288 && i != 524288 * 2 && i != 524288 * 4)) { + if (i >= ROM_SIZE_256 && (i != ROM_SIZE_256 && i != ROM_SIZE_512 && i != ROM_SIZE_512 * 2 && i != ROM_SIZE_512 * 4)) { notify_user (NUMSG_KSROMREADERROR); return 0; } @@ -1143,23 +1153,23 @@ static int read_kickstart (struct zfile *f, uae_u8 *mem, int size, int dochecksu } if (currprefs.cs_a1000ram) { int off = 0; - a1000_bootrom = xcalloc (uae_u8, 262144); - while (off + i < 262144) { + a1000_bootrom = xcalloc (uae_u8, ROM_SIZE_256); + while (off + i < ROM_SIZE_256) { memcpy (a1000_bootrom + off, kickmem_bank.baseaddr, i); off += i; } memset (kickmem_bank.baseaddr, 0, kickmem_bank.allocated); a1000_handle_kickstart (1); dochecksum = 0; - i = 524288; + i = ROM_SIZE_512; } - for (j = 0; j < 256 && i >= 262144; j++) { + for (j = 0; j < 256 && i >= ROM_SIZE_256; j++) { if (!memcmp (mem + j, kickstring, strlen (kickstring) + 1)) break; } - if (j == 256 || i < 262144) + if (j == 256 || i < ROM_SIZE_256) dochecksum = 0; if (dochecksum) kickstart_checksum (mem, size); @@ -1185,7 +1195,7 @@ static bool load_extendedkickstart (const TCHAR *romextfile, int type) } zfile_fseek (f, 0, SEEK_END); size = zfile_ftell (f); - extendedkickmem_bank.allocated = 524288; + extendedkickmem_bank.allocated = ROM_SIZE_512; off = 0; if (type == 0) { if (currprefs.cs_cd32cd) { @@ -1251,7 +1261,7 @@ static int patch_residents (uae_u8 *kickmemory, int size) int i, j, patched = 0; uae_char *residents[] = { "NCR scsi.device", 0 }; // "scsi.device", "carddisk.device", "card.resource" }; - uaecptr base = size == 524288 ? 0xf80000 : 0xfc0000; + uaecptr base = size == ROM_SIZE_512 ? 0xf80000 : 0xfc0000; if (currprefs.cs_mbdmac == 2) residents[0] = NULL; @@ -1284,7 +1294,7 @@ static int patch_residents (uae_u8 *kickmemory, int size) static void patch_kick (void) { int patched = 0; - if (kickmem_bank.allocated >= 524288 && currprefs.kickshifter) + if (kickmem_bank.allocated >= ROM_SIZE_512 && currprefs.kickshifter) patched += patch_shapeshifter (kickmem_bank.baseaddr); patched += patch_residents (kickmem_bank.baseaddr, kickmem_bank.allocated); if (extendedkickmem_bank.baseaddr) { @@ -1309,14 +1319,17 @@ static bool load_kickstart_replacement (void) f = zfile_gunzip (f); if (!f) return false; - kickmem_bank.mask = 0x80000 - 1; - kickmem_bank.allocated = 0x80000; - extendedkickmem_bank.allocated = 0x80000; + + extendedkickmem_bank.allocated = ROM_SIZE_512; + extendedkickmem_bank.mask = ROM_SIZE_512 - 1; extendedkickmem_type = EXTENDED_ROM_KS; extendedkickmem_bank.baseaddr = mapped_malloc (extendedkickmem_bank.allocated, _T("rom_e0")); - read_kickstart (f, extendedkickmem_bank.baseaddr, extendedkickmem_bank.allocated, 0, 1); - extendedkickmem_bank.mask = extendedkickmem_bank.allocated - 1; - read_kickstart (f, extendedkickmem_bank.baseaddr, 0x80000, 1, 0); + read_kickstart (f, extendedkickmem_bank.baseaddr, ROM_SIZE_512, 0, 1); + + kickmem_bank.allocated = ROM_SIZE_512; + kickmem_bank.mask = ROM_SIZE_512 - 1; + read_kickstart (f, kickmem_bank.baseaddr, ROM_SIZE_512, 1, 0); + zfile_fclose (f); seriallog = -1; return true; @@ -1363,27 +1376,27 @@ static int load_kickstart (void) if (f != NULL) { int filesize, size, maxsize; - int kspos = 524288; + int kspos = ROM_SIZE_512; int extpos = 0; - maxsize = 524288; + maxsize = ROM_SIZE_512; zfile_fseek (f, 0, SEEK_END); filesize = zfile_ftell (f); zfile_fseek (f, 0, SEEK_SET); if (filesize == 1760 * 512) { - filesize = 262144; - maxsize = 262144; + filesize = ROM_SIZE_256; + maxsize = ROM_SIZE_256; } - if (filesize == 524288 + 8) { + if (filesize == ROM_SIZE_512 + 8) { /* GVP 0xf0 kickstart */ zfile_fseek (f, 8, SEEK_SET); } - if (filesize >= 524288 * 2) { + if (filesize >= ROM_SIZE_512 * 2) { struct romdata *rd = getromdatabyzfile(f); zfile_fseek (f, kspos, SEEK_SET); } - if (filesize >= 524288 * 4) { - kspos = 524288 * 3; + if (filesize >= ROM_SIZE_512 * 4) { + kspos = ROM_SIZE_512 * 3; extpos = 0; zfile_fseek (f, kspos, SEEK_SET); } @@ -1392,8 +1405,8 @@ static int load_kickstart (void) goto err; kickmem_bank.mask = size - 1; kickmem_bank.allocated = size; - if (filesize >= 524288 * 2 && !extendedkickmem_type) { - extendedkickmem_bank.allocated = 0x80000; + if (filesize >= ROM_SIZE_512 * 2 && !extendedkickmem_type) { + extendedkickmem_bank.allocated = ROM_SIZE_512; if (currprefs.cs_cdtvcd || currprefs.cs_cdtvram) { extendedkickmem_type = EXTENDED_ROM_CDTV; extendedkickmem_bank.allocated *= 2; @@ -1408,13 +1421,13 @@ static int load_kickstart (void) read_kickstart (f, extendedkickmem_bank.baseaddr, extendedkickmem_bank.allocated, 0, 1); extendedkickmem_bank.mask = extendedkickmem_bank.allocated - 1; } - if (filesize > 524288 * 2) { - extendedkickmem2_bank.allocated = 524288 * 2; + if (filesize > ROM_SIZE_512 * 2) { + extendedkickmem2_bank.allocated = ROM_SIZE_512 * 2; extendedkickmem2_bank.baseaddr = mapped_malloc (extendedkickmem2_bank.allocated, _T("rom_a8")); - zfile_fseek (f, extpos + 524288, SEEK_SET); - read_kickstart (f, extendedkickmem2_bank.baseaddr, 524288, 0, 1); - zfile_fseek (f, extpos + 524288 * 2, SEEK_SET); - read_kickstart (f, extendedkickmem2_bank.baseaddr + 524288, 524288, 0, 1); + zfile_fseek (f, extpos + ROM_SIZE_512, SEEK_SET); + read_kickstart (f, extendedkickmem2_bank.baseaddr, ROM_SIZE_512, 0, 1); + zfile_fseek (f, extpos + ROM_SIZE_512 * 2, SEEK_SET); + read_kickstart (f, extendedkickmem2_bank.baseaddr + ROM_SIZE_512, ROM_SIZE_512, 0, 1); extendedkickmem2_bank.mask = extendedkickmem2_bank.allocated - 1; extendedkickmem2_bank.start = 0xa80000; } @@ -2006,7 +2019,7 @@ void memory_reset (void) extendedkickmem_type = 0; load_extendedkickstart (currprefs.romextfile, 0); load_extendedkickstart (currprefs.romextfile2, EXTENDED_ROM_CDTV); - kickmem_bank.mask = 524288 - 1; + kickmem_bank.mask = ROM_SIZE_512 - 1; if (!load_kickstart ()) { if (_tcslen (currprefs.romfile) > 0) { write_log (_T("Failed to open '%s'\n"), currprefs.romfile); @@ -2164,7 +2177,7 @@ void memory_reset (void) break; #ifdef CDTV case EXTENDED_ROM_CDTV: - map_banks (&extendedkickmem_bank, 0xF0, extendedkickmem_bank.allocated == 2 * 524288 ? 16 : 8, 0); + map_banks (&extendedkickmem_bank, 0xF0, extendedkickmem_bank.allocated == 2 * ROM_SIZE_512 ? 16 : 8, 0); break; #endif #ifdef CD32 @@ -2260,8 +2273,8 @@ void memory_init (void) custmem1_bank.baseaddr = NULL; custmem2_bank.baseaddr = NULL; - kickmem_bank.baseaddr = mapped_malloc (0x80000, _T("kick")); - memset (kickmem_bank.baseaddr, 0, 0x80000); + kickmem_bank.baseaddr = mapped_malloc (ROM_SIZE_512, _T("kick")); + memset (kickmem_bank.baseaddr, 0, ROM_SIZE_512); _tcscpy (currprefs.romfile, _T("")); currprefs.romextfile[0] = 0; @@ -2566,7 +2579,7 @@ uae_u8 *save_rom (int first, int *len, uae_u8 *dstptr) } if (i == mem_size / 2 - 4) { mem_size /= 2; - mem_start += 262144; + mem_start += ROM_SIZE_256; } version = longget (mem_start + 12); /* version+revision */ _stprintf (tmpname, _T("Kickstart %d.%d"), wordget (mem_start + 12), wordget (mem_start + 14)); diff --git a/newcpu.cpp b/newcpu.cpp index 6e2d3e98..e2683954 100644 --- a/newcpu.cpp +++ b/newcpu.cpp @@ -5537,7 +5537,7 @@ void m68k_dumpstate (uaecptr pc, uaecptr *nextpc) for (lookup1 = lookuptab; lookup1->mnemo != dp->mnemo; lookup1++); dp = table68k + regs.ir; for (lookup2 = lookuptab; lookup2->mnemo != dp->mnemo; lookup2++); - console_out_f (_T("Prefetch %04x (%s) %04x (%s)\n"), regs.irc, lookup1->name, regs.ir, lookup2->name); + console_out_f (_T("Prefetch %04x (%s) %04x (%s) Chip latch %08X\n"), regs.irc, lookup1->name, regs.ir, lookup2->name, regs.chipset_latch_rw); } if (pc != 0xffffffff) { @@ -5697,6 +5697,11 @@ uae_u8 *restore_cpu (uae_u8 *src) restore_u32 (); } } + if (flags & 0x10000000) { + regs.chipset_latch_rw = restore_u32 (); + regs.chipset_latch_read = restore_u32 (); + regs.chipset_latch_write = restore_u32 (); + } write_log (_T("CPU: %d%s%03d, PC=%08X\n"), model / 1000, flags & 1 ? _T("EC") : _T(""), model % 1000, regs.pc); @@ -5921,7 +5926,7 @@ uae_u8 *save_cpu (int *len, uae_u8 *dstptr) dstbak = dst = xmalloc (uae_u8, 1000); model = currprefs.cpu_model; save_u32 (model); /* MODEL */ - save_u32 (0x80000000 | 0x40000000 | 0x20000000 | (currprefs.address_space_24 ? 1 : 0)); /* FLAGS */ + save_u32 (0x80000000 | 0x40000000 | 0x20000000 | 0x10000000 | (currprefs.address_space_24 ? 1 : 0)); /* FLAGS */ for (i = 0;i < 15; i++) save_u32 (regs.regs[i]); /* D0-D7 A0-A6 */ save_u32 (m68k_getpc ()); /* PC */ @@ -6016,6 +6021,9 @@ uae_u8 *save_cpu (int *len, uae_u8 *dstptr) save_u32 (regs.ce020memcycles); save_u32 (0); } + save_u32 (regs.chipset_latch_rw); + save_u32 (regs.chipset_latch_read); + save_u32 (regs.chipset_latch_write); *len = dst - dstbak; return dstbak; } diff --git a/od-win32/avioutput.cpp b/od-win32/avioutput.cpp index 2f987d2b..765e04b5 100644 --- a/od-win32/avioutput.cpp +++ b/od-win32/avioutput.cpp @@ -485,7 +485,7 @@ static int AVIOutput_AllocateVideo (void) avioutput_fps = (int)(vblank_hz + 0.5); if (!avioutput_fps) avioutput_fps = ispal () ? 50 : 60; - if (avioutput_originalsize) { + if (avioutput_originalsize || WIN32GFX_IsPicassoScreen ()) { int pitch; if (!WIN32GFX_IsPicassoScreen ()) { getfilterbuffer (&avioutput_width, &avioutput_height, &pitch, &avioutput_bits); @@ -864,26 +864,34 @@ static int getFromBuffer (struct avientry *ae, int original) uae_u8 *src, *mem; uae_u8 *dst = ae->lpVideo; int spitch, dpitch; + int maxw, maxh; mem = NULL; dpitch = ((avioutput_width * avioutput_bits + 31) & ~31) / 8; - if (original) { - if (!WIN32GFX_IsPicassoScreen ()) + if (original || WIN32GFX_IsPicassoScreen ()) { + if (!WIN32GFX_IsPicassoScreen ()) { src = getfilterbuffer (&w, &h, &spitch, &d); - else + maxw = gfxvidinfo.outbuffer->outwidth; + maxh = gfxvidinfo.outbuffer->outheight; + } else { src = mem = getrtgbuffer (&w, &h, &spitch, &d, NULL); + maxw = w; + maxh = h; + } } else { spitch = gfxvidinfo.outbuffer->rowbytes; src = bufmem_ptr; + maxw = gfxvidinfo.outbuffer->outwidth; + maxh = gfxvidinfo.outbuffer->outheight; } if (!src) return 0; dst += dpitch * avioutput_height; - for (y = 0; y < (gfxvidinfo.outbuffer->outheight > avioutput_height ? avioutput_height : gfxvidinfo.outbuffer->outheight); y++) { + for (y = 0; y < (maxh > avioutput_height ? avioutput_height : maxh); y++) { uae_u8 *d; dst -= dpitch; d = dst; - for (x = 0; x < (gfxvidinfo.outbuffer->outwidth > avioutput_width ? avioutput_width : gfxvidinfo.outbuffer->outwidth); x++) { + for (x = 0; x < (maxw > avioutput_width ? avioutput_width : maxw); x++) { if (avioutput_bits == 8) { *d++ = src[x]; } else if (avioutput_bits == 16) { @@ -934,7 +942,7 @@ void AVIOutput_WriteVideo (void) dorestart (); waitqueuefull (); ae = allocavientry_video (); - if (avioutput_originalsize) { + if (avioutput_originalsize || WIN32GFX_IsPicassoScreen ()) { v = getFromBuffer (ae, 1); } else { #if defined (GFXFILTER) @@ -1328,8 +1336,10 @@ static void *AVIOutput_worker (void *arg) EnterCriticalSection (&AVIOutput_CriticalSection); ae = getavientry (); LeaveCriticalSection (&AVIOutput_CriticalSection); - if (ae == NULL) + if (ae == NULL) { + write_log (_T("AVIOutput worker thread: out of entries!?\n")); break; + } write_comm_pipe_u32 (&queuefull, 0, 1); if (!avioutput_failed) { if (ae->lpAudio) diff --git a/od-win32/dinput.cpp b/od-win32/dinput.cpp index 5053403a..d4b78416 100644 --- a/od-win32/dinput.cpp +++ b/od-win32/dinput.cpp @@ -1408,7 +1408,9 @@ static void dumphidcaps (struct didata *did) static void dumphidend (void) { write_log (_T("\n")); - } +} + +#define MAX_RAW_KEYBOARD 0 static bool initialize_rawinput (void) { @@ -1486,6 +1488,9 @@ static bool initialize_rawinput (void) else if (type == RIM_TYPEHID) rnum_hid++; } + if (MAX_RAW_KEYBOARD > 0 && rnum_kb > MAX_RAW_KEYBOARD) + rnum_kb = MAX_RAW_KEYBOARD; + for (int rawcnt = 0; rawcnt < gotnum; rawcnt++) { HANDLE h = ridl[rawcnt].hDevice; @@ -1506,11 +1511,13 @@ static bool initialize_rawinput (void) if (type == RIM_TYPEHID && !rawinput_enabled_hid) continue; } - if (type == RIM_TYPEKEYBOARD) + if (type == RIM_TYPEKEYBOARD) { + if (num_keyboard >= rnum_kb) + continue; did = di_keyboard; - else if (type == RIM_TYPEMOUSE) + } else if (type == RIM_TYPEMOUSE) { did = di_mouse; - else if (type == RIM_TYPEHID) { + } else if (type == RIM_TYPEHID) { if (!rawinput_enabled_hid) continue; did = di_joystick; @@ -1635,7 +1642,10 @@ static bool initialize_rawinput (void) did->axles++; addplusminus (did, 3); } - did->priority = -1; + if (num_mouse == 1) + did->priority = -1; + else + did->priority = -2; } } else if (type == RIM_TYPEKEYBOARD) { PRID_DEVICE_INFO_KEYBOARD rdik = &rdi->keyboard; @@ -1643,6 +1653,10 @@ static bool initialize_rawinput (void) rdik->dwType, rdik->dwSubType, rdik->dwKeyboardMode, rdik->dwNumberOfFunctionKeys, rdik->dwNumberOfIndicators, rdik->dwNumberOfKeysTotal); addrkblabels (did); + if (num_keyboard == 1) + did->priority = -1; + else + did->priority = -2; } else { bool ok = false; if (hhid != INVALID_HANDLE_VALUE && HidD_GetPreparsedData (hhid, &did->hidpreparseddata)) { @@ -1779,7 +1793,7 @@ static bool initialize_rawinput (void) did->rawinput = NULL; did->connection = DIDC_RAW; did->sortname = my_strdup (_T("NULLKEYBOARD")); - did->priority = -2; + did->priority = -3; did->configname = my_strdup (_T("NULLKEYBOARD")); addrkblabels (did); } diff --git a/od-win32/graphics/amiga_header_2013.bmp b/od-win32/graphics/amiga_header_2013.bmp new file mode 100644 index 0000000000000000000000000000000000000000..71ee595c929b63b1939d33e19e9460397ccb2dcd GIT binary patch literal 85896 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 literal 0 HcmV?d00001 diff --git a/od-win32/graphics/amiga_welcome_2013.bmp b/od-win32/graphics/amiga_welcome_2013.bmp new file mode 100644 index 0000000000000000000000000000000000000000..8578bdbb9dcfe8f20de94243e63405b8ad622d9f GIT binary patch literal 461816 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 |= DS_MODALFRAME; d->style &= ~WS_THICKFRAME; } + d->style |= WS_MINIMIZEBOX; d2 = (DLGTEMPLATEEX_END*)ns->resource; p = (BYTE*)d + sizeof (DLGTEMPLATEEX); diff --git a/od-win32/winuaechangelog.txt b/od-win32/winuaechangelog.txt index 51cdf1e0..9b9d5b3c 100644 --- a/od-win32/winuaechangelog.txt +++ b/od-win32/winuaechangelog.txt @@ -2,6 +2,19 @@ - restore only single input target to default. +Beta 12: + +- AROS rom memory mapping fixed (b1). +- RTG mode video recording image size was accidentally restricted to native chipset size. +- Ignore VPOSW writes if it would move vertical position backwards or if vpos is changed during vertical + blanking and new value is also inside vblank period. (Prevents strange behavior if program tries to + do weird things) +- Added minimize button to GUI window. +- 68000 CE ADDA.x/SUBA.x Rn,An was 2 cycles too fast. +- DIVS/DIVU prefetch is after division operation, not before like with MULS/MULU. +- Adjusted data returned when accessing non-existing memory. +- New Wix based installer test version included. Remove old installation first. + Beta 11: - 68000/010 CPU core merge accidentally removed 68000 CLR to memory and Scc to memory dummy read diff --git a/od-win32/wix/Product.wxs b/od-win32/wix/Product.wxs index 50c537e1..4e377945 100644 --- a/od-win32/wix/Product.wxs +++ b/od-win32/wix/Product.wxs @@ -3,25 +3,29 @@ + + - + - - + + - - + + + + @@ -33,14 +37,104 @@ - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -57,13 +151,47 @@ - - + + + + + + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/od-win32/wix/WixUI_FeatureTree_NL.wxs b/od-win32/wix/WixUI_FeatureTree_NL.wxs new file mode 100644 index 00000000..349b8c6d --- /dev/null +++ b/od-win32/wix/WixUI_FeatureTree_NL.wxs @@ -0,0 +1,75 @@ + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + NOT Installed + Installed AND PATCH + + 1 + LicenseAccepted = "1" + + Installed + NOT Installed + 1 + + NOT Installed OR WixUI_InstallMode = "Change" + Installed AND NOT PATCH + Installed AND PATCH + + 1 + + 1 + 1 + 1 + 1 + + + + + \ No newline at end of file diff --git a/od-win32/wix/wix.wixproj b/od-win32/wix/wix.wixproj index a237e88e..0bd3b62c 100644 --- a/od-win32/wix/wix.wixproj +++ b/od-win32/wix/wix.wixproj @@ -22,6 +22,7 @@ + -- 2.47.3