From 2c0212330b007e82afbb989c469e934ea7e4ef7f Mon Sep 17 00:00:00 2001 From: Toni Wilen Date: Thu, 11 Feb 2010 17:07:39 +0200 Subject: [PATCH] imported winuaesrc2020b10.zip --- archivers/dms/pfile.c | 58 +- archivers/dms/pfile.h | 3 +- blitter.c | 2 +- cia.c | 4 +- custom.c | 90 +- drawing.c | 2 +- include/cpu_prefetch.h | 20 +- include/events.h | 2 +- newcpu.c | 11 +- od-win32/build68k_msvc/build68k_msvc.vcxproj | 22 +- .../build68k_msvc.vcxproj.filters | 2 +- od-win32/dinput.c | 17 +- .../genblitter_msvc/genblitter_msvc.vcxproj | 22 +- .../genblitter_msvc.vcxproj.filters | 2 +- od-win32/gencomp_msvc/gencomp_msvc.vcxproj | 22 +- .../gencomp_msvc/gencomp_msvc.vcxproj.filters | 2 +- od-win32/gencpu_msvc/gencpu_msvc.vcxproj | 22 +- .../gencpu_msvc/gencpu_msvc.vcxproj.filters | 2 +- .../genlinetoscr_msvc.vcxproj | 17 +- od-win32/prowizard/prowizard.vcxproj | 272 +++ od-win32/prowizard/prowizard.vcxproj.filters | 361 ++++ od-win32/sounddep/sound.c | 30 - od-win32/srcrelease.cmd | 16 +- od-win32/sysconfig.h | 1 + od-win32/uaeunp/uaeunp.vcxproj | 15 +- od-win32/uaeunp/uaeunp.vcxproj.filters | 156 +- od-win32/win32.c | 29 + od-win32/win32.h | 5 +- od-win32/win32_uaenet.c | 5 + od-win32/winuae_msvc/winuae_msvc.vcproj | 3 + od-win32/winuae_msvc10/winuae_msvc.vcproj | 1815 +++++++++++++++++ od-win32/winuae_msvc10/winuae_msvc.vcxproj | 765 +++++++ .../winuae_msvc10/winuae_msvc.vcxproj.filters | 638 ++++++ od-win32/winuaechangelog.txt | 12 + uaeunp.c | 5 + zfile.c | 40 +- 36 files changed, 4187 insertions(+), 303 deletions(-) create mode 100644 od-win32/prowizard/prowizard.vcxproj create mode 100644 od-win32/prowizard/prowizard.vcxproj.filters create mode 100644 od-win32/winuae_msvc10/winuae_msvc.vcproj create mode 100644 od-win32/winuae_msvc10/winuae_msvc.vcxproj create mode 100644 od-win32/winuae_msvc10/winuae_msvc.vcxproj.filters diff --git a/archivers/dms/pfile.c b/archivers/dms/pfile.c index fcfd473f..e892c84b 100644 --- a/archivers/dms/pfile.c +++ b/archivers/dms/pfile.c @@ -38,7 +38,7 @@ static int dolog = 0; #define DMSFLAG_ENCRYPTED 2 #define DMSFLAG_HD 16 -static USHORT Process_Track(struct zfile *, struct zfile *, UCHAR *, UCHAR *, USHORT, USHORT, int); +static USHORT Process_Track(struct zfile *, struct zfile *, UCHAR *, UCHAR *, USHORT, USHORT, int, struct zfile **extra); static USHORT Unpack_Track(UCHAR *, UCHAR *, USHORT, USHORT, UCHAR, UCHAR, USHORT, USHORT, USHORT, int); static void printbandiz(UCHAR *, USHORT); @@ -54,14 +54,34 @@ static void log_error(int track) write_log (L"DMS: Ignored error on track %d!\n", track); } -USHORT DMS_Process_File(struct zfile *fi, struct zfile *fo, USHORT cmd, USHORT opt, USHORT PCRC, USHORT pwd, int part) +static void addextra(TCHAR *name, struct zfile **extra, uae_u8 *p, int size) +{ + int i; + struct zfile *zf = NULL; + + if (!extra) + return; + for (i = 0; i < DMS_EXTRA_SIZE; i++) { + if (!extra[i]) + break; + } + if (i == DMS_EXTRA_SIZE) + return; + zf = zfile_fopen_empty (NULL, name, size); + if (!zf) + return; + zfile_fwrite (p, size, 1, zf); + zfile_fseek (zf, 0, SEEK_SET); + extra[i] = zf; +} + +USHORT DMS_Process_File(struct zfile *fi, struct zfile *fo, USHORT cmd, USHORT opt, USHORT PCRC, USHORT pwd, int part, struct zfile **extra) { USHORT from, to, geninfo, c_version, cmode, hcrc, disktype, pv, ret; ULONG pkfsize, unpkfsize; UCHAR *b1, *b2; time_t date; - passfound = 0; passretries = 2; b1 = (UCHAR *)calloc((size_t)TRACK_BUFFER_LEN,1); @@ -220,11 +240,11 @@ USHORT DMS_Process_File(struct zfile *fi, struct zfile *fo, USHORT cmd, USHORT o if (cmd != CMD_VIEW) { if (cmd == CMD_SHOWBANNER) /* Banner is in the first track */ - ret = Process_Track(fi,NULL,b1,b2,cmd,opt,geninfo); + ret = Process_Track(fi,NULL,b1,b2,cmd,opt,geninfo,extra); else { for (;;) { int ok = 0; - ret = Process_Track(fi,fo,b1,b2,cmd,opt,geninfo); + ret = Process_Track(fi,fo,b1,b2,cmd,opt,geninfo,extra); if (ret == DMS_FILE_END) break; if (ret == NO_PROBLEM) @@ -275,9 +295,7 @@ USHORT DMS_Process_File(struct zfile *fi, struct zfile *fo, USHORT cmd, USHORT o return ret; } - - -static USHORT Process_Track(struct zfile *fi, struct zfile *fo, UCHAR *b1, UCHAR *b2, USHORT cmd, USHORT opt, int dmsflags){ +static USHORT Process_Track(struct zfile *fi, struct zfile *fo, UCHAR *b1, UCHAR *b2, USHORT cmd, USHORT opt, int dmsflags, struct zfile **extra){ USHORT hcrc, dcrc, usum, number, pklen1, pklen2, unpklen, l; UCHAR cmode, flags; int crcerr = 0; @@ -343,22 +361,38 @@ static USHORT Process_Track(struct zfile *fi, struct zfile *fo, UCHAR *b1, UCHAR memset(b2, 0, unpklen); if (!crcerr) Unpack_Track(b1, b2, pklen2, unpklen, cmode, flags, number, pklen1, usum, dmsflags & DMSFLAG_ENCRYPTED); + if (number == 0 && zfile_ftell (fo) == 512 * 22) { + // did we have another cylinder 0 already? + uae_u8 *p; + zfile_fseek (fo, 0, SEEK_SET); + p = xcalloc (512 * 22, 1); + zfile_fread (p, 512 * 22, 1, fo); + addextra(L"BigFakeBootBlock", extra, p, 512 * 22); + xfree (p); + } zfile_fseek (fo, number * 512 * 22 * ((dmsflags & DMSFLAG_HD) ? 2 : 1), SEEK_SET); if (zfile_fwrite(b2,1,(size_t)unpklen,fo) != unpklen) return ERR_CANTWRITE; + } else if (number == 0 && unpklen == 1024) { + memset(b2, 0, unpklen); + if (!crcerr) + Unpack_Track(b1, b2, pklen2, unpklen, cmode, flags, number, pklen1, usum, dmsflags & DMSFLAG_ENCRYPTED); + addextra(L"FakeBootBlock", extra, b2, unpklen); } if (crcerr) return NO_PROBLEM; - if ((cmd == CMD_SHOWBANNER) && (number == 0xffff)){ + if (number == 0xffff && extra){ Unpack_Track(b1, b2, pklen2, unpklen, cmode, flags, number, pklen1, usum, dmsflags & DMSFLAG_ENCRYPTED); - printbandiz(b2,unpklen); + addextra(L"Banner", extra, b2, unpklen); + //printbandiz(b2,unpklen); } - if ((cmd == CMD_SHOWDIZ) && (number == 80)) { + if (number == 80 && extra) { Unpack_Track(b1, b2, pklen2, unpklen, cmode, flags, number, pklen1, usum, dmsflags & DMSFLAG_ENCRYPTED); - printbandiz(b2,unpklen); + addextra(L"FILEID.DIZ", extra, b2, unpklen); + //printbandiz(b2,unpklen); } return NO_PROBLEM; diff --git a/archivers/dms/pfile.h b/archivers/dms/pfile.h index ae5c8ac7..c2d4e7ba 100644 --- a/archivers/dms/pfile.h +++ b/archivers/dms/pfile.h @@ -38,6 +38,7 @@ #define OPT_VERBOSE 1 #define OPT_QUIET 2 +#define DMS_EXTRA_SIZE 10 -USHORT DMS_Process_File(struct zfile *, struct zfile *, USHORT, USHORT, USHORT, USHORT, int); +USHORT DMS_Process_File(struct zfile *, struct zfile *, USHORT, USHORT, USHORT, USHORT, int, struct zfile **extra); diff --git a/blitter.c b/blitter.c index 444b413c..db251073 100644 --- a/blitter.c +++ b/blitter.c @@ -300,7 +300,7 @@ static void blitter_interrupt (int hpos, int done) if (!done && (!currprefs.blitter_cycle_exact || (currprefs.chipset_mask & CSMASK_AGA))) return; blit_interrupt = 1; - send_interrupt (6, 0); + send_interrupt (6, 3); if (debug_dma) record_dma_event (DMA_EVENT_BLITIRQ, hpos, vpos); } diff --git a/cia.c b/cia.c index b9187cfc..08a11d65 100644 --- a/cia.c +++ b/cia.c @@ -89,7 +89,7 @@ static void RethinkICRA (void) { if (ciaaimask & ciaaicr) { ciaaicr |= 0x80; - send_interrupt (3, 0); + send_interrupt (3, 3); } } @@ -97,7 +97,7 @@ static void RethinkICRB (void) { if (ciabimask & ciabicr) { ciabicr |= 0x80; - send_interrupt (13, 0); + send_interrupt (13, 3); } } diff --git a/custom.c b/custom.c index 5f5138f6..35e6c007 100644 --- a/custom.c +++ b/custom.c @@ -3001,7 +3001,10 @@ STATIC_INLINE int GETHPOS (void) return islightpentriggered () ? hpos_lpen : (issyncstopped () ? hpos_previous : current_hpos ()); } -#define HPOS_OFFSET 4 + +// DFF006 = 0.W must be valid result + +#define HPOS_OFFSET 3 STATIC_INLINE uae_u16 VPOSR (void) { @@ -3317,21 +3320,27 @@ static void MISC_handler (void) STATIC_INLINE void event2_newevent_xx (int no, evt t, uae_u32 data, evfunc2 func) { evt et; + static int next = ev2_misc; et = t + get_cycles (); if (no < 0) { - for (no = ev2_misc; no < ev2_max; no++) { + no = next; + for (;;) { if (!eventtab2[no].active) break; if (eventtab2[no].evtime == et && eventtab2[no].handler == func) { eventtab2[no].handler (eventtab2[no].data); break; } + no++; + if (no == ev2_max) + no = ev2_misc; + if (no == next) { + write_log (L"out of event2's! PC=%x\n", M68K_GETPC); + return; + } } - if (no == ev2_max) { - write_log (L"out of event2's! PC=%x\n", M68K_GETPC); - return; - } + next = no; } eventtab2[no].active = 1; eventtab2[no].evtime = et; @@ -3392,10 +3401,16 @@ int intlev (void) return -1; } -#define INT_PROCESSING_DELAY 3 -STATIC_INLINE int use_eventmode (void) +#define INT_PROCESSING_DELAY 1 +STATIC_INLINE int use_eventmode (uae_u16 v) { - return currprefs.cpu_cycle_exact != 0 && currprefs.cpu_model == 68000; + if (!currprefs.cpu_cycle_exact) + return 0; + if (currprefs.cpu_cycle_exact && currprefs.cpu_model == 68000) + return 1; + if (v & 0x8000) + return 1; + return 0; } static void send_interrupt_do (uae_u32 v) @@ -3405,7 +3420,7 @@ static void send_interrupt_do (uae_u32 v) void send_interrupt (int num, int delay) { - if (use_eventmode () && delay > 0) { + if (use_eventmode (0x8000) && delay > 0) { if (!(intreq & (1 << num))) event2_newevent_xx (-1, delay * CYCLE_UNIT, num, send_interrupt_do); } else { @@ -3429,7 +3444,12 @@ static void INTENA (uae_u16 v) uae_u16 old = intena; setclr (&intena, v); - if (use_eventmode ()) + if (old == intena) { + doint (); + return; + } + + if (use_eventmode (v)) event2_newevent_xx (-1, INT_PROCESSING_DELAY * CYCLE_UNIT, intena, send_intena_do); else send_intena_do (intena); @@ -3447,7 +3467,11 @@ void INTREQ_0 (uae_u16 v) if (v & (0x0080 | 0x0100 | 0x0200 | 0x0400)) audio_update_irq (v); - if (use_eventmode ()) + if (old == intreq) { + doint (); + return; + } + if (use_eventmode (v)) event2_newevent_xx (-1, INT_PROCESSING_DELAY * CYCLE_UNIT, intreq, send_intreq_do); else send_intreq_do (intreq); @@ -4261,6 +4285,11 @@ static int customdelay[]= { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 }; +static void copper_write (uae_u32 v) +{ + custom_wput_copper (current_hpos (), v >> 16, v & 0xffff, 0); +} + static void update_copper (int until_hpos) { int vp = vpos & (((cop_state.saved_i2 >> 8) & 0x7F) | 0x80); @@ -4423,6 +4452,9 @@ static void update_copper (int until_hpos) cop_state.strobe = 2; cop_state.state = COP_strobe_delay1; } else { +#if 0 + event2_newevent2 (1, (reg << 16) | data, copper_write); +#else // FIX: all copper writes happen 1 cycle later than CPU writes if (customdelay[reg / 2]) { cop_state.moveaddr = reg; @@ -4436,6 +4468,7 @@ static void update_copper (int until_hpos) do_sprites (hpos2); } } +#endif } #ifdef DEBUGGER if (debug_copper) @@ -5438,10 +5471,10 @@ static void hsync_handler (void) // DIP Agnus (8361): vblank interrupt is triggered on line 1! if (currprefs.cs_dipagnus) { if (vpos == 1) - send_interrupt (5, 0); + send_interrupt (5, 1); } else { if (vpos == 0) - send_interrupt (5, 0); + send_interrupt (5, 1); } #ifdef CPUEMU_12 @@ -5694,6 +5727,7 @@ void customreset (int hardreset) nr_armed = 0; dmacon = 0; + intreq_internal = 0; intena = intena_internal = 0; copcon = 0; @@ -6496,7 +6530,10 @@ uae_u8 *restore_custom (uae_u8 *src) dmacon = RW & ~(0x2000|0x4000); /* 096 DMACON */ CLXCON (RW); /* 098 CLXCON */ intena = intena_internal = RW; /* 09A INTENA */ - intreq = intreq_internal = RW | 0x20; /* 09C INTREQ */ + intreq = RW; /* 09C INTREQ */ + if (!currprefs.cs_dipagnus) + intreq |= 0x20; + intreq_internal = intreq; adkcon = RW; /* 09E ADKCON */ for (i = 0; i < 8; i++) bplptx[i] = bplpt[i] = RL; @@ -6872,22 +6909,8 @@ STATIC_INLINE void decide_fetch_ce (int hpos) decide_fetch (hpos); } -STATIC_INLINE void ipl_check (void) -{ - if (debug_dma) { - if (regs.ipl == regs.ipl_pin) - return; - regs.ipl = regs.ipl_pin; - record_dma_event (DMA_EVENT_INTREQ, current_hpos (), vpos); - } else { - regs.ipl = regs.ipl_pin; - } -} - #define BLIT_NASTY 4 -static int ipl_checked; - // blitter not in nasty mode = CPU gets one cycle if it has been waiting // at least 4 cycles (all DMA cycles count, not just blitter cycles, even // blitter idle cycles do count!) @@ -6921,9 +6944,6 @@ STATIC_INLINE int dma_cycle (void) } regs.ce020memcycles -= CYCLE_UNIT; do_cycles (1 * CYCLE_UNIT); - if (!ipl_checked) - ipl_check (); - ipl_checked = 1; /* bus was allocated to dma channel, wait for next cycle.. */ } return hpos_old; @@ -6941,11 +6961,8 @@ uae_u32 wait_cpu_cycle_read (uaecptr addr, int mode) int hpos; struct dma_rec *dr; - ipl_checked = 0; hpos = dma_cycle (); do_cycles_ce (CYCLE_UNIT); - if (!ipl_checked) - ipl_check (); #ifdef DEBUGGER if (debug_dma) { @@ -7018,11 +7035,8 @@ void wait_cpu_cycle_write (uaecptr addr, int mode, uae_u32 v) { int hpos; - ipl_checked = 0; hpos = dma_cycle (); do_cycles_ce (CYCLE_UNIT); - if (!ipl_checked) - ipl_check (); #ifdef DEBUGGER if (debug_dma) { diff --git a/drawing.c b/drawing.c index 4135e376..31de0d04 100644 --- a/drawing.c +++ b/drawing.c @@ -350,7 +350,7 @@ int get_custom_limits (int *pw, int *ph, int *pdx, int *pdy) ret = -1; if (doublescan <= 0) { - int min = coord_diw_to_window_x (116); + int min = coord_diw_to_window_x (94); int max = coord_diw_to_window_x (460); if (diwfirstword_total < min) diwfirstword_total = min; diff --git a/include/cpu_prefetch.h b/include/cpu_prefetch.h index 0b0f4ef0..cd402ee1 100644 --- a/include/cpu_prefetch.h +++ b/include/cpu_prefetch.h @@ -277,9 +277,7 @@ STATIC_INLINE uae_u32 mem_access_delay_word_read (uaecptr addr) return wait_cpu_cycle_read (addr, 1); case CE_MEMBANK_FAST: case CE_MEMBANK_FAST16BIT: - do_cycles_ce000 (2); - regs.ipl = regs.ipl_pin; - do_cycles_ce000 (2); + do_cycles_ce000 (4); break; } return get_word (addr); @@ -291,9 +289,7 @@ STATIC_INLINE uae_u32 mem_access_delay_wordi_read (uaecptr addr) case CE_MEMBANK_CHIP: return wait_cpu_cycle_read (addr, 1); case CE_MEMBANK_FAST: - do_cycles_ce000 (2); - regs.ipl = regs.ipl_pin; - do_cycles_ce000 (2); + do_cycles_ce000 (4); break; } return get_wordi (addr); @@ -306,9 +302,7 @@ STATIC_INLINE uae_u32 mem_access_delay_byte_read (uaecptr addr) case CE_MEMBANK_CHIP: return wait_cpu_cycle_read (addr, 0); case CE_MEMBANK_FAST: - do_cycles_ce000 (2); - regs.ipl = regs.ipl_pin; - do_cycles_ce000 (2); + do_cycles_ce000 (4); break; } @@ -322,9 +316,7 @@ STATIC_INLINE void mem_access_delay_byte_write (uaecptr addr, uae_u32 v) wait_cpu_cycle_write (addr, 0, v); return; case CE_MEMBANK_FAST: - do_cycles_ce000 (2); - regs.ipl = regs.ipl_pin; - do_cycles_ce000 (2); + do_cycles_ce000 (4); break; } put_byte (addr, v); @@ -338,9 +330,7 @@ STATIC_INLINE void mem_access_delay_word_write (uaecptr addr, uae_u32 v) return; break; case CE_MEMBANK_FAST: - do_cycles_ce000 (2); - regs.ipl = regs.ipl_pin; - do_cycles_ce000 (2); + do_cycles_ce000 (4); break; } put_word (addr, v); diff --git a/include/events.h b/include/events.h index f3c5be4f..154e35f9 100644 --- a/include/events.h +++ b/include/events.h @@ -57,7 +57,7 @@ enum { enum { ev2_blitter, ev2_disk, ev2_misc, - ev2_max = 8 + ev2_max = 12 }; extern struct ev eventtab[ev_max]; diff --git a/newcpu.c b/newcpu.c index 882dd5cc..1b4226bd 100644 --- a/newcpu.c +++ b/newcpu.c @@ -2590,10 +2590,7 @@ STATIC_INLINE int time_for_interrupt (void) void doint (void) { if (currprefs.cpu_cycle_exact) { - int newipl = intlev (); - regs.ipl_pin = newipl; - if (currprefs.cpu_model != 68000) - regs.ipl = regs.ipl_pin; + regs.ipl_pin = intlev (); set_special (SPCFLAG_INT); return; } @@ -2867,6 +2864,7 @@ static void m68k_run_1 (void) if (do_specialties (cpu_cycles)) return; } + regs.ipl = regs.ipl_pin; if (!currprefs.cpu_compatible || (currprefs.cpu_cycle_exact && currprefs.cpu_model == 68000)) return; } @@ -2888,6 +2886,7 @@ static void m68k_run_1_ce (void) { struct regstruct *r = ®s; + regs.ipl = regs.ipl_pin; for (;;) { uae_u32 opcode = r->ir; (*cpufunctbl[opcode])(opcode); @@ -2895,6 +2894,7 @@ static void m68k_run_1_ce (void) if (do_specialties (0)) return; } + regs.ipl = regs.ipl_pin; if (!currprefs.cpu_cycle_exact || currprefs.cpu_model > 68000) return; } @@ -3089,6 +3089,7 @@ static void m68k_run_2ce (void) struct regstruct *r = ®s; int tmpcycles = MAX68020CYCLES; + regs.ipl = regs.ipl_pin; for (;;) { uae_u32 opcode = get_word_ce020_prefetch (0); (*cpufunctbl[opcode])(opcode); @@ -3106,6 +3107,7 @@ static void m68k_run_2ce (void) do_cycles_ce (1 * CYCLE_UNIT); tmpcycles = CYCLE_UNIT * MAX68020CYCLES;; } + regs.ipl = regs.ipl_pin; } } @@ -3851,6 +3853,7 @@ void restore_cpu_finish (void) init_m68k (); m68k_setpc (regs.pc); set_cpu_caches (); + doint (); } uae_u8 *save_cpu (int *len, uae_u8 *dstptr) diff --git a/od-win32/build68k_msvc/build68k_msvc.vcxproj b/od-win32/build68k_msvc/build68k_msvc.vcxproj index 2eb2fb87..e0f6b0da 100644 --- a/od-win32/build68k_msvc/build68k_msvc.vcxproj +++ b/od-win32/build68k_msvc/build68k_msvc.vcxproj @@ -47,20 +47,20 @@ - + - + - + - + - <_ProjectFileVersion>10.0.21006.1 + <_ProjectFileVersion>10.0.30128.1 .\Release\ .\Release\ false @@ -73,18 +73,6 @@ $(Configuration)\ $(Configuration)\ false - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - diff --git a/od-win32/build68k_msvc/build68k_msvc.vcxproj.filters b/od-win32/build68k_msvc/build68k_msvc.vcxproj.filters index 1542feb6..47fe46b3 100644 --- a/od-win32/build68k_msvc/build68k_msvc.vcxproj.filters +++ b/od-win32/build68k_msvc/build68k_msvc.vcxproj.filters @@ -2,7 +2,7 @@ - {f5d9c253-f595-45f1-ad29-be4ff9a46bc1} + {3133564f-b672-41da-b189-9631304a07d0} cpp;c;cxx;rc;def;r;odl;idl;hpj;bat diff --git a/od-win32/dinput.c b/od-win32/dinput.c index 2c8853d5..913106fc 100644 --- a/od-win32/dinput.c +++ b/od-win32/dinput.c @@ -1352,7 +1352,7 @@ static void trimws (TCHAR *s) s[--len] = '\0'; } -static BOOL CALLBACK di_enumcallback (LPCDIDEVICEINSTANCE lpddi, LPVOID *dd) +static BOOL di_enumcallback2 (LPCDIDEVICEINSTANCE lpddi, int joy) { struct didata *did; int len, type; @@ -1363,8 +1363,8 @@ static BOOL CALLBACK di_enumcallback (LPCDIDEVICEINSTANCE lpddi, LPVOID *dd) if (type == DI8DEVTYPE_MOUSE || type == DI8DEVTYPE_SCREENPOINTER) { did = di_mouse; typetxt = L"Mouse"; - } else if (type == DI8DEVTYPE_GAMEPAD || type == DI8DEVTYPE_JOYSTICK || - type == DI8DEVTYPE_FLIGHT || type == DI8DEVTYPE_DRIVING || type == DI8DEVTYPE_1STPERSON) { + } else if ((type == DI8DEVTYPE_GAMEPAD || type == DI8DEVTYPE_JOYSTICK || type == DI8DEVTYPE_SUPPLEMENTAL || + type == DI8DEVTYPE_FLIGHT || type == DI8DEVTYPE_DRIVING || type == DI8DEVTYPE_1STPERSON) || joy) { did = di_joystick; typetxt = L"Game controller"; } else if (type == DI8DEVTYPE_KEYBOARD) { @@ -1431,6 +1431,15 @@ static BOOL CALLBACK di_enumcallback (LPCDIDEVICEINSTANCE lpddi, LPVOID *dd) return DIENUM_CONTINUE; } +static BOOL CALLBACK di_enumcallback (LPCDIDEVICEINSTANCE lpddi, LPVOID *dd) +{ + return di_enumcallback2 (lpddi, 0); +} +static BOOL CALLBACK di_enumcallbackj (LPCDIDEVICEINSTANCE lpddi, LPVOID *dd) +{ + return di_enumcallback2 (lpddi, 1); +} + extern HINSTANCE hInst; static LPDIRECTINPUT8 g_lpdi; @@ -1474,7 +1483,7 @@ static int di_do_init (void) write_log (L"DirectInput enumeration.. Pointing devices..\n"); IDirectInput8_EnumDevices (g_lpdi, DI8DEVCLASS_POINTER, di_enumcallback, 0, DIEDFL_ATTACHEDONLY); write_log (L"DirectInput enumeration.. Game controllers..\n"); - IDirectInput8_EnumDevices (g_lpdi, DI8DEVCLASS_GAMECTRL, di_enumcallback, 0, DIEDFL_ATTACHEDONLY); + IDirectInput8_EnumDevices (g_lpdi, DI8DEVCLASS_GAMECTRL, di_enumcallbackj, 0, DIEDFL_ATTACHEDONLY); } write_log (L"RawInput enumeration..\n"); initialize_rawinput (); diff --git a/od-win32/genblitter_msvc/genblitter_msvc.vcxproj b/od-win32/genblitter_msvc/genblitter_msvc.vcxproj index 4451aee4..f59602ce 100644 --- a/od-win32/genblitter_msvc/genblitter_msvc.vcxproj +++ b/od-win32/genblitter_msvc/genblitter_msvc.vcxproj @@ -47,20 +47,20 @@ - + - + - + - + - <_ProjectFileVersion>10.0.21006.1 + <_ProjectFileVersion>10.0.30128.1 .\Release\ .\Release\ false @@ -73,18 +73,6 @@ $(Configuration)\ $(Configuration)\ false - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - diff --git a/od-win32/genblitter_msvc/genblitter_msvc.vcxproj.filters b/od-win32/genblitter_msvc/genblitter_msvc.vcxproj.filters index 29f0050e..e8d1afe0 100644 --- a/od-win32/genblitter_msvc/genblitter_msvc.vcxproj.filters +++ b/od-win32/genblitter_msvc/genblitter_msvc.vcxproj.filters @@ -2,7 +2,7 @@ - {ec0cc585-13bf-4a0e-a027-9fe8f6ef15a4} + {decdb3b3-1173-4d69-8b51-8be056924551} cpp;c;cxx;rc;def;r;odl;idl;hpj;bat diff --git a/od-win32/gencomp_msvc/gencomp_msvc.vcxproj b/od-win32/gencomp_msvc/gencomp_msvc.vcxproj index 1b7c8c80..40f2b3fd 100644 --- a/od-win32/gencomp_msvc/gencomp_msvc.vcxproj +++ b/od-win32/gencomp_msvc/gencomp_msvc.vcxproj @@ -48,20 +48,20 @@ - + - + - + - + - <_ProjectFileVersion>10.0.21006.1 + <_ProjectFileVersion>10.0.30128.1 .\Release\ .\Release\ false @@ -74,18 +74,6 @@ $(Configuration)\ $(Configuration)\ false - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - diff --git a/od-win32/gencomp_msvc/gencomp_msvc.vcxproj.filters b/od-win32/gencomp_msvc/gencomp_msvc.vcxproj.filters index 0e4dc681..dc77363c 100644 --- a/od-win32/gencomp_msvc/gencomp_msvc.vcxproj.filters +++ b/od-win32/gencomp_msvc/gencomp_msvc.vcxproj.filters @@ -2,7 +2,7 @@ - {9735a950-7202-4e6b-a989-fc2b5974ef43} + {6025a959-4cf1-4916-b403-90e54a13dc9e} cpp;c;cxx;rc;def;r;odl;idl;hpj;bat diff --git a/od-win32/gencpu_msvc/gencpu_msvc.vcxproj b/od-win32/gencpu_msvc/gencpu_msvc.vcxproj index d0b1e2fd..4cddf611 100644 --- a/od-win32/gencpu_msvc/gencpu_msvc.vcxproj +++ b/od-win32/gencpu_msvc/gencpu_msvc.vcxproj @@ -47,20 +47,20 @@ - + - + - + - + - <_ProjectFileVersion>10.0.21006.1 + <_ProjectFileVersion>10.0.30128.1 .\Debug\ .\Debug\ true @@ -74,18 +74,6 @@ $(Configuration)\ $(Configuration)\ false - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - diff --git a/od-win32/gencpu_msvc/gencpu_msvc.vcxproj.filters b/od-win32/gencpu_msvc/gencpu_msvc.vcxproj.filters index 16538dff..c707f41d 100644 --- a/od-win32/gencpu_msvc/gencpu_msvc.vcxproj.filters +++ b/od-win32/gencpu_msvc/gencpu_msvc.vcxproj.filters @@ -2,7 +2,7 @@ - {99e68131-2a40-4811-8a24-ee35d73a5526} + {e03ab946-4d92-4f82-9bfd-f808b6304cd0} cpp;c;cxx;rc;def;r;odl;idl;hpj;bat diff --git a/od-win32/genlinetoscr_msvc/genlinetoscr_msvc.vcxproj b/od-win32/genlinetoscr_msvc/genlinetoscr_msvc.vcxproj index f414ed14..3ed1075c 100644 --- a/od-win32/genlinetoscr_msvc/genlinetoscr_msvc.vcxproj +++ b/od-win32/genlinetoscr_msvc/genlinetoscr_msvc.vcxproj @@ -39,17 +39,17 @@ - + - + - + - <_ProjectFileVersion>10.0.21006.1 + <_ProjectFileVersion>10.0.30128.1 $(SolutionDir)$(Configuration)\ $(Configuration)\ true @@ -59,15 +59,6 @@ $(SolutionDir)$(Configuration)\ $(Configuration)\ false - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - diff --git a/od-win32/prowizard/prowizard.vcxproj b/od-win32/prowizard/prowizard.vcxproj new file mode 100644 index 00000000..fd38fe82 --- /dev/null +++ b/od-win32/prowizard/prowizard.vcxproj @@ -0,0 +1,272 @@ + + + + + Debug + Win32 + + + Debug + x64 + + + Release + Win32 + + + Release + x64 + + + + {8627DA33-98D1-4F60-B404-ECCEE0EE7BF9} + prowizard + Win32Proj + + + + StaticLibrary + Unicode + true + + + StaticLibrary + Unicode + + + StaticLibrary + Unicode + true + + + StaticLibrary + Unicode + + + + + + + + + + + + + + + + + + + <_ProjectFileVersion>10.0.30128.1 + $(SolutionDir)$(Configuration)\ + $(Configuration)\ + $(SolutionDir)$(Configuration)\ + $(Configuration)\ + $(SolutionDir)$(Platform)\$(Configuration)\ + $(Platform)\$(Configuration)\ + $(SolutionDir)$(Platform)\$(Configuration)\ + $(Platform)\$(Configuration)\ + + + + Disabled + WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebugDLL + + + Level3 + EditAndContinue + + + + + MaxSpeed + true + false + ..\..\prowizard\include;..\..\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions) + MultiThreaded + false + true + + + Level3 + ProgramDatabase + StdCall + CompileAsC + 4996;%(DisableSpecificWarnings) + + + c:\dev\lib\prowizard.lib + + + prowizard_search;%(ExportNamedFunctions) + + + + + X64 + + + Disabled + WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebugDLL + + + Level3 + ProgramDatabase + + + + + X64 + + + MaxSpeed + true + false + ..\..\prowizard\include;..\..\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions) + MultiThreaded + false + true + + + Level3 + ProgramDatabase + StdCall + CompileAsC + 4996;%(DisableSpecificWarnings) + + + c:\dev\lib\x64\prowizard.lib + + + prowizard_search;%(ExportNamedFunctions) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/od-win32/prowizard/prowizard.vcxproj.filters b/od-win32/prowizard/prowizard.vcxproj.filters new file mode 100644 index 00000000..2ae6d6ec --- /dev/null +++ b/od-win32/prowizard/prowizard.vcxproj.filters @@ -0,0 +1,361 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {ad43e6ea-ae64-4d38-b4ee-830628011061} + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hpp;hxx;hm;inl;inc;xsd + + + {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav + + + + + Source Files + + + Source Files + + + Source Files + + + Source Files\Rippers + + + Source Files\Rippers + + + Source Files\Rippers + + + Source Files\Rippers + + + Source Files\Rippers + + + Source Files\Rippers + + + Source Files\Rippers + + + Source Files\Rippers + + + Source Files\Rippers + + + Source Files\Rippers + + + Source Files\Rippers + + + Source Files\Rippers + + + Source Files\Rippers + + + Source Files\Rippers + + + Source Files\Rippers + + + Source Files\Rippers + + + Source Files\Rippers + + + Source Files\Rippers + + + Source Files\Rippers + + + Source Files\Rippers + + + Source Files\Rippers + + + Source Files\Rippers + + + Source Files\Rippers + + + Source Files\Rippers + + + Source Files\Rippers + + + Source Files\Rippers + + + Source Files\Rippers + + + Source Files\Rippers + + + Source Files\Rippers + + + Source Files\Rippers + + + Source Files\Rippers + + + Source Files\Rippers + + + Source Files\Rippers + + + Source Files\Rippers + + + Source Files\Rippers + + + Source Files\Rippers + + + Source Files\Rippers + + + Source Files\Rippers + + + Source Files\Rippers + + + Source Files\Rippers + + + Source Files\Rippers + + + Source Files\Rippers + + + Source Files\Rippers + + + Source Files\Rippers + + + Source Files\Rippers + + + Source Files\Rippers + + + Source Files\Rippers + + + Source Files\Rippers + + + Source Files\Rippers + + + Source Files\Rippers + + + Source Files\Rippers + + + Source Files\Rippers + + + Source Files\Rippers + + + Source Files\Rippers + + + Source Files\Rippers + + + Source Files\Rippers + + + Source Files\Rippers + + + Source Files\Rippers + + + Source Files\Rippers + + + Source Files\Rippers + + + Source Files\Rippers + + + Source Files\Rippers + + + Source Files\Rippers + + + Source Files\Rippers + + + Source Files\Rippers + + + Source Files\Rippers + + + Source Files\Rippers + + + Source Files\Rippers + + + Source Files\Rippers + + + Source Files\Rippers + + + Source Files\Rippers + + + Source Files\Rippers + + + Source Files\Rippers + + + Source Files\Rippers + + + Source Files\Rippers + + + Source Files\Rippers + + + Source Files\Rippers + + + Source Files\Rippers + + + Source Files\Rippers + + + Source Files\Rippers + + + Source Files\Rippers + + + Source Files\Rippers + + + Source Files\Rippers + + + Source Files\Rippers + + + Source Files\Rippers + + + Source Files\Rippers + + + Source Files\Rippers + + + Source Files\Rippers + + + Source Files\Rippers + + + Source Files\Rippers + + + Source Files\Rippers + + + Source Files\Rippers + + + Source Files\Rippers + + + Source Files\Rippers + + + Source Files\Rippers + + + Source Files\Rippers + + + Source Files\Rippers + + + Source Files\Rippers + + + Source Files\Rippers + + + Source Files\Rippers + + + Source Files\Rippers + + + Source Files\Rippers + + + Source Files\Rippers + + + Source Files\Rippers + + + Source Files\Rippers + + + Source Files\Rippers + + + Source Files\Rippers + + + Source Files\Rippers + + + Source Files\Rippers + + + Source Files\Rippers + + + \ No newline at end of file diff --git a/od-win32/sounddep/sound.c b/od-win32/sounddep/sound.c index d654d746..8c491bad 100644 --- a/od-win32/sounddep/sound.c +++ b/od-win32/sounddep/sound.c @@ -2027,36 +2027,6 @@ static void OpenALEnumerate (struct sound_device *sds, const char *pDeviceNames, pDeviceNames += strlen (pDeviceNames) + 1; } } - -static int isdllversion (const TCHAR *name, int version, int revision, int subver, int subrev) -{ - DWORD dwVersionHandle, dwFileVersionInfoSize; - LPVOID lpFileVersionData = NULL; - int ok = 0; - - dwFileVersionInfoSize = GetFileVersionInfoSize (name, &dwVersionHandle); - if (dwFileVersionInfoSize) { - if (lpFileVersionData = xcalloc (1, dwFileVersionInfoSize)) { - if (GetFileVersionInfo (name, dwVersionHandle, dwFileVersionInfoSize, lpFileVersionData)) { - VS_FIXEDFILEINFO *vsFileInfo = NULL; - UINT uLen; - if (VerQueryValue (lpFileVersionData, TEXT("\\"), (void **)&vsFileInfo, &uLen)) { - if (vsFileInfo) { - uae_u64 v1 = ((uae_u64)vsFileInfo->dwProductVersionMS << 32) | vsFileInfo->dwProductVersionLS; - uae_u64 v2 = ((uae_u64)version << 48) | ((uae_u64)revision << 32) | (subver << 16) | (subrev << 0); - write_log (L"%s %d.%d.%d.%d\n", name, - HIWORD (vsFileInfo->dwProductVersionMS), LOWORD (vsFileInfo->dwProductVersionMS), - HIWORD (vsFileInfo->dwProductVersionLS), LOWORD (vsFileInfo->dwProductVersionLS)); - if (v1 >= v2) - ok = 1; - } - } - } - xfree (lpFileVersionData); - } - } - return ok; -} #define PORTAUDIO 1 #if PORTAUDIO static void PortAudioEnumerate (struct sound_device *sds) diff --git a/od-win32/srcrelease.cmd b/od-win32/srcrelease.cmd index b8a53399..39810669 100644 --- a/od-win32/srcrelease.cmd +++ b/od-win32/srcrelease.cmd @@ -82,20 +82,20 @@ rm -rf fullrelease cd .. cd winuae_msvc -rm -f winuae_msvc.plg -rm -f winuae_msvc.8.plg rm -f winuae_msvc.ncb -rm -f winuae_msvc.8.ncb rm -rf debug rm -rf release -rm -rf debug64 -rm -rf release64 -rm -rf x64 rm -rf fullrelease -rm -rf _UpgradeReport_Files cd .. -rm -rf winuae_msvc10 +cd winuae_msvc10 +rm -f winuae_msvc.ncb +rm -f winuae_msvc.sdf +rm -rf debug +rm -rf release +rm -rf fullrelease +rm -rf ipch +cd .. cd soundcheck rm -rf debug diff --git a/od-win32/sysconfig.h b/od-win32/sysconfig.h index 39811815..b158afbb 100644 --- a/od-win32/sysconfig.h +++ b/od-win32/sysconfig.h @@ -1,6 +1,7 @@ #pragma warning (disable : 4761) #pragma warning (disable : 4996) +#pragma warning (disable : 4018) #define DIRECTINPUT_VERSION 0x0800 #define DIRECT3D_VERSION 0x0900 diff --git a/od-win32/uaeunp/uaeunp.vcxproj b/od-win32/uaeunp/uaeunp.vcxproj index 160ba9c6..b45efcfb 100644 --- a/od-win32/uaeunp/uaeunp.vcxproj +++ b/od-win32/uaeunp/uaeunp.vcxproj @@ -29,26 +29,20 @@ - + - + - <_ProjectFileVersion>10.0.21006.1 + <_ProjectFileVersion>10.0.30128.1 d:\amiga\ $(Configuration)\ true d:\amiga\ $(Configuration)\ false - AllRules.ruleset - - - AllRules.ruleset - - @@ -69,7 +63,6 @@ Console false MachineX86 - wininet.dll @@ -88,12 +81,12 @@ zlibstat.lib;wininet.lib;%(AdditionalDependencies) + wininet.dll;%(DelayLoadDLLs) true Console true true MachineX86 - wininet.dll diff --git a/od-win32/uaeunp/uaeunp.vcxproj.filters b/od-win32/uaeunp/uaeunp.vcxproj.filters index 0ec46436..bec54a4a 100644 --- a/od-win32/uaeunp/uaeunp.vcxproj.filters +++ b/od-win32/uaeunp/uaeunp.vcxproj.filters @@ -1,85 +1,67 @@  - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hpp;hxx;hm;inl;inc;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - {74332802-0dea-481d-8688-6ea8ca3894c9} - - - {1d6748ee-1e71-4481-b70b-48abbd6579e1} + {025b82fd-637e-4580-b73d-e9cb2b1704f3} - {9a350565-10e0-4d98-af19-c89cf863c69d} + {f793e865-aaaa-4a92-ab71-042c6df63370} + + + {30815150-3af4-4642-a7b0-2f0a84e9184b} - {7b5944b8-15c4-46bf-b99c-24b604e0a523} + {26e2cd32-bb63-4be1-8ce7-17a2670fbe68} - - {3b89358e-ed9f-42d8-a330-90ad0878add0} + + {02dd9255-7ba8-4931-8ed9-382100420cd3} - - {43f24f87-b713-4df6-aeac-884f63457258} + + {9744d4a4-039b-43f0-a43b-2a3911cf429b} - {0f91f71a-54cd-4ee8-b2d2-71e72654b6f7} + {7a6a4d5c-b3f7-40e3-922d-ebf5ed25ac7f} - - {c14490cb-e12c-4dea-9399-f34fd8d6cf23} + + {e74cec8e-0727-401b-bea6-57f78b869c7d} - {9656c755-8b1f-4d77-b6ce-ef9f7c8405e2} + {1227b1a8-96c7-40ea-961b-03ac23a184bf} + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hpp;hxx;hm;inl;inc;xsd + + + {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav - - Source Files\decompressors\7z - - - Source Files\decompressors\7z - - - Source Files\decompressors\7z - - - Source Files\decompressors\7z - - - Source Files\decompressors\7z - - - Source Files\decompressors\7z - - - Source Files\decompressors\7z + + Source Files - - Source Files\decompressors\7z + + Source Files - - Source Files\decompressors\7z + + Source Files - - Source Files\decompressors\7z + + Source Files - - Source Files\decompressors\7z + + Source Files - - Source Files\decompressors\7z + + Source Files - - Source Files\decompressors\7z + + Source Files Source Files\decompressors\dms @@ -114,6 +96,45 @@ Source Files\decompressors\dms + + Source Files\decompressors\7z + + + Source Files\decompressors\7z + + + Source Files\decompressors\7z + + + Source Files\decompressors\7z + + + Source Files\decompressors\7z + + + Source Files\decompressors\7z + + + Source Files\decompressors\7z + + + Source Files\decompressors\7z + + + Source Files\decompressors\7z + + + Source Files\decompressors\7z + + + Source Files\decompressors\7z + + + Source Files\decompressors\7z + + + Source Files\decompressors\7z + Source Files\decompressors\lha @@ -147,36 +168,15 @@ Source Files\decompressors\lha + + Source Files\decompressors\zip + Source Files\decompressors\lzx Source Files\decompressors\wrp - - Source Files\decompressors\zip - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - Source Files\win32 diff --git a/od-win32/win32.c b/od-win32/win32.c index f033b587..68ffccbc 100644 --- a/od-win32/win32.c +++ b/od-win32/win32.c @@ -4805,6 +4805,35 @@ HMODULE WIN32_LoadLibrary2 (const TCHAR *name) return m; } +int isdllversion (const TCHAR *name, int version, int revision, int subver, int subrev) +{ + DWORD dwVersionHandle, dwFileVersionInfoSize; + LPVOID lpFileVersionData = NULL; + int ok = 0; + + dwFileVersionInfoSize = GetFileVersionInfoSize (name, &dwVersionHandle); + if (dwFileVersionInfoSize) { + if (lpFileVersionData = xcalloc (1, dwFileVersionInfoSize)) { + if (GetFileVersionInfo (name, dwVersionHandle, dwFileVersionInfoSize, lpFileVersionData)) { + VS_FIXEDFILEINFO *vsFileInfo = NULL; + UINT uLen; + if (VerQueryValue (lpFileVersionData, TEXT("\\"), (void **)&vsFileInfo, &uLen)) { + if (vsFileInfo) { + uae_u64 v1 = ((uae_u64)vsFileInfo->dwProductVersionMS << 32) | vsFileInfo->dwProductVersionLS; + uae_u64 v2 = ((uae_u64)version << 48) | ((uae_u64)revision << 32) | (subver << 16) | (subrev << 0); + write_log (L"%s %d.%d.%d.%d\n", name, + HIWORD (vsFileInfo->dwProductVersionMS), LOWORD (vsFileInfo->dwProductVersionMS), + HIWORD (vsFileInfo->dwProductVersionLS), LOWORD (vsFileInfo->dwProductVersionLS)); + if (v1 >= v2) + ok = 1; + } + } + } + xfree (lpFileVersionData); + } + } + return ok; +} int get_guid_target (uae_u8 *out) { diff --git a/od-win32/win32.h b/od-win32/win32.h index 2a094c5b..0b20ff39 100644 --- a/od-win32/win32.h +++ b/od-win32/win32.h @@ -18,8 +18,8 @@ #define WINUAEPUBLICBETA 1 #define LANG_DLL 1 -#define WINUAEBETA L"9" -#define WINUAEDATE MAKEBD(2010, 2, 7) +#define WINUAEBETA L"10" +#define WINUAEDATE MAKEBD(2010, 2, 10) #define WINUAEEXTRA L"" #define WINUAEREV L"" @@ -134,6 +134,7 @@ void associate_file_extensions (void); #define WIN32_PLUGINDIR L"plugins\\" HMODULE WIN32_LoadLibrary (const TCHAR *); HMODULE WIN32_LoadLibrary2 (const TCHAR *); +int isdllversion (const TCHAR *name, int version, int revision, int subver, int subrev); extern int screenshot_prepare (void); extern void screenshot_free (void); diff --git a/od-win32/win32_uaenet.c b/od-win32/win32_uaenet.c index e59d9f88..0354ac9d 100644 --- a/od-win32/win32_uaenet.c +++ b/od-win32/win32_uaenet.c @@ -333,6 +333,11 @@ struct netdriverdata *uaenet_enumerate (struct netdriverdata **out, const TCHAR return NULL; } FreeLibrary (hm); + if (!isdllversion (L"wpcap.dll", 4, 0, 0, 0)) { + write_log (L"uaenet: too old winpcap, v4 or newer required\n"); + return NULL; + } + ss = au (pcap_lib_version ()); if (!done) write_log (L"uaenet: %s\n", ss); diff --git a/od-win32/winuae_msvc/winuae_msvc.vcproj b/od-win32/winuae_msvc/winuae_msvc.vcproj index b59c515e..6997bfbf 100644 --- a/od-win32/winuae_msvc/winuae_msvc.vcproj +++ b/od-win32/winuae_msvc/winuae_msvc.vcproj @@ -93,6 +93,7 @@ LinkIncremental="2" SuppressStartupBanner="true" GenerateManifest="false" + IgnoreDefaultLibraryNames="LIBCMT" DelayLoadDLLs="wpcap.dll;packet.dll;d3dx9_42.dll;openal32.dll;wintab32.dll;portaudio_x86.dll;freetype6.dll;ws2_32.dll;msacm32.dll;wtsapi32.dll;dsound.dll;avrt.dll" GenerateDebugInformation="true" ProgramDatabaseFile=".\Debug/winuae.pdb" @@ -313,6 +314,7 @@ AdditionalLibraryDirectories="" GenerateManifest="false" AdditionalManifestDependencies="" + IgnoreDefaultLibraryNames="" DelayLoadDLLs="wpcap.dll;packet.dll;d3dx9_42.dll;openal32.dll;wintab32.dll;portaudio_x86.dll;freetype6.dll;ws2_32.dll;msacm32.dll;wtsapi32.dll;dsound.dll;avrt.dll;wininet.dll" GenerateDebugInformation="true" ProgramDatabaseFile=".\Release/winuae.pdb" @@ -554,6 +556,7 @@ AdditionalLibraryDirectories="" GenerateManifest="false" AdditionalManifestDependencies="" + IgnoreDefaultLibraryNames="" DelayLoadDLLs="wpcap.dll;packet.dll;d3dx9_42.dll;openal32.dll;wintab32.dll;portaudio_x86.dll;freetype6.dll;ws2_32.dll;msacm32.dll;wtsapi32.dll;dsound.dll;avrt.dll;wininet.dll" GenerateDebugInformation="true" ProgramDatabaseFile=".\FullRelease/winuae.pdb" diff --git a/od-win32/winuae_msvc10/winuae_msvc.vcproj b/od-win32/winuae_msvc10/winuae_msvc.vcproj new file mode 100644 index 00000000..6997bfbf --- /dev/null +++ b/od-win32/winuae_msvc10/winuae_msvc.vcproj @@ -0,0 +1,1815 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/od-win32/winuae_msvc10/winuae_msvc.vcxproj b/od-win32/winuae_msvc10/winuae_msvc.vcxproj new file mode 100644 index 00000000..1a6d314f --- /dev/null +++ b/od-win32/winuae_msvc10/winuae_msvc.vcxproj @@ -0,0 +1,765 @@ + + + + + Debug + Win32 + + + Debug + x64 + + + FullRelease + Win32 + + + FullRelease + x64 + + + Release + Win32 + + + Release + x64 + + + + winuae + {4ADAA943-1AC8-4FB5-82E5-4FB753B6C2DA} + winuae + + + + Application + false + Unicode + true + + + Application + false + Unicode + + + Application + false + Unicode + + + Application + false + Unicode + true + + + Application + false + Unicode + + + Application + false + Unicode + + + + + + + + + + + + + + + + + + + + + + + + + <_ProjectFileVersion>10.0.30128.1 + d:\amiga\ + $(Configuration)\ + true + true + $(SolutionDir)$(Platform)\$(Configuration)\ + $(Platform)\$(Configuration)\ + true + false + d:\amiga\ + $(Configuration)\ + false + $(SolutionDir)$(Platform)\$(Configuration)\ + $(Platform)\$(Configuration)\ + false + true + d:\amiga\ + $(Configuration)\ + false + true + $(SolutionDir)$(Platform)\$(Configuration)\ + $(Platform)\$(Configuration)\ + false + false + + + + _DEBUG;%(PreprocessorDefinitions) + true + true + Win32 + .\Debug/winuae_msvc.tlb + + + %(AdditionalOptions) + Disabled + ..\..\include;..\..;..\;..\resources;..\osdep;..\sounddep;..\..\prowizard\include;..\tun;%(AdditionalIncludeDirectories) + WINVER=0x0500;_DEBUG;WIN32_IE=0x0700;WIN32;CINTERFACE;COBJMACROS;_CRT_SECURE_NO_WARNINGS;D3D_DEBUG_INFO;%(PreprocessorDefinitions) + false + false + false + + + EnableFastChecks + MultiThreadedDebug + true + false + .\Debug/winuae_msvc.pch + .\Debug/ + .\Debug/ + .\Debug/ + Level3 + true + EditAndContinue + StdCall + Default + 4996;%(DisableSpecificWarnings) + false + + + _DEBUG;%(PreprocessorDefinitions) + 0x0409 + + + /MACHINE:I386 %(AdditionalOptions) + ws2_32.lib;ddraw.lib;dxguid.lib;winmm.lib;comctl32.lib;version.lib;msacm32.lib;dsound.lib;dinput8.lib;d3d9.lib;d3dx9.lib;winio.lib;setupapi.lib;wininet.lib;dxerr.lib;shlwapi.lib;zlibstat.lib;libpng.lib;lglcd.lib;wpcap.lib;packet.lib;openal32.lib;wintab32.lib;portaudio_x86.lib;freetype.lib;vfw32.lib;wtsapi32.lib;avrt.lib;wininet.lib;enet.lib;prowizard.lib;%(AdditionalDependencies) + NotSet + d:\amiga\winuae.exe + true + LIBCMT;%(IgnoreSpecificDefaultLibraries) + wpcap.dll;packet.dll;d3dx9_42.dll;openal32.dll;wintab32.dll;portaudio_x86.dll;freetype6.dll;ws2_32.dll;msacm32.dll;wtsapi32.dll;dsound.dll;avrt.dll;%(DelayLoadDLLs) + true + .\Debug/winuae.pdb + Windows + 2621440 + 2621440 + true + false + + + + + ..\resources\winuae.exe.manifest;%(AdditionalManifestFiles) + + + + + _DEBUG;%(PreprocessorDefinitions) + true + true + X64 + .\Debug/winuae_msvc.tlb + + + %(AdditionalOptions) + Disabled + ..\..\include;..\..;..\;..\resources;..\osdep;..\sounddep;..\..\prowizard\include;..\tun;%(AdditionalIncludeDirectories) + WINVER=0x0500;_DEBUG;WIN32_IE=0x0700;WIN32;WIN64;CINTERFACE;COBJMACROS;_CRT_SECURE_NO_WARNINGS;D3D_DEBUG_INFO;%(PreprocessorDefinitions) + + + EnableFastChecks + MultiThreadedDebug + true + true + .\Debug64/winuae_msvc.pch + .\Debug/ + .\Debug/ + .\Debug/ + Level3 + true + ProgramDatabase + StdCall + Default + 4996;%(DisableSpecificWarnings) + false + + + _DEBUG;%(PreprocessorDefinitions) + 0x0409 + + + 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;dxerr.lib;shlwapi.lib;zlibstat.lib;portaudio_x64.lib;packet.lib;wpcap.lib;openal32.lib;libpng.lib;lglcd.lib;wtsapi32.lib;wntab32x.lib;enet_x64.lib;prowizard.lib;%(AdditionalDependencies) + d:\amiga\winuae64.exe + true + MSVCRT.lib;%(IgnoreSpecificDefaultLibraries) + wpcap.dll;packet.dll;d3dx9_42.dll;openal32.dll;wintab32.dll;portaudio_x64.dll;freetype6.dll;ws2_32.dll;msacm32.dll;wtsapi32.dll;dsound.dll;avrt.dll;%(DelayLoadDLLs) + true + .\Debug/winuae.pdb + Windows + 2621440 + 2621440 + true + false + + + MachineX64 + + + ..\resources\winuae64.exe.manifest;%(AdditionalManifestFiles) + + + + + NDEBUG;%(PreprocessorDefinitions) + true + true + Win32 + .\Release/winuae_msvc.tlb + + + Full + AnySuitable + true + Speed + true + false + ..\..\include;..\..;..\;..\resources;..\osdep;..\sounddep;..\..\prowizard\include;%(AdditionalIncludeDirectories) + WINVER=0x0500;NDEBUG;_WIN32_IE=0x0700;WIN32;CINTERFACE;COBJMACROS;%(PreprocessorDefinitions) + true + + + Default + MultiThreaded + false + false + NotSet + Precise + false + false + + + .\Release/winuae_msvc.pch + .\Release/ + .\Release/ + .\Release/ + Level3 + true + StdCall + Default + 4996;%(DisableSpecificWarnings) + %(ForcedIncludeFiles) + + + NDEBUG;%(PreprocessorDefinitions) + 0x0409 + + + ws2_32.lib;ddraw.lib;dxguid.lib;winmm.lib;comctl32.lib;version.lib;msacm32.lib;dsound.lib;dinput8.lib;d3d9.lib;d3dx9.lib;winio.lib;setupapi.lib;wininet.lib;dxerr.lib;shlwapi.lib;zlibstat.lib;libpng.lib;lglcd.lib;wpcap.lib;packet.lib;openal32.lib;wintab32.lib;portaudio_x86.lib;freetype.lib;vfw32.lib;wtsapi32.lib;avrt.lib;wininet.lib;enet.lib;prowizard.lib;%(AdditionalDependencies) + d:\amiga\winuae.exe + true + %(AdditionalLibraryDirectories) + %(AdditionalManifestDependencies) + %(IgnoreSpecificDefaultLibraries) + wpcap.dll;packet.dll;d3dx9_42.dll;openal32.dll;wintab32.dll;portaudio_x86.dll;freetype6.dll;ws2_32.dll;msacm32.dll;wtsapi32.dll;dsound.dll;avrt.dll;wininet.dll;%(DelayLoadDLLs) + true + .\Release/winuae.pdb + Windows + 2621440 + 2621440 + true + true + true + + + true + false + true + MachineX86 + + + ..\resources\winuae.exe.manifest;%(AdditionalManifestFiles) + + + + + NDEBUG;%(PreprocessorDefinitions) + true + true + X64 + .\Release/winuae_msvc.tlb + + + Full + OnlyExplicitInline + true + Speed + true + false + ..\..\include;..\..;..\;..\resources;..\osdep;..\sounddep;%(AdditionalIncludeDirectories) + WINVER=0x0500;NDEBUG;_WIN32_IE=0x0700;WIN32;WIN64;CINTERFACE;COBJMACROS;%(PreprocessorDefinitions) + true + + + Default + MultiThreaded + false + true + NotSet + Precise + false + false + + + .\Release/winuae_msvc.pch + .\Release/ + .\Release/ + .\Release/ + Level3 + true + StdCall + Default + 4996;%(DisableSpecificWarnings) + %(ForcedIncludeFiles) + + + NDEBUG;%(PreprocessorDefinitions) + 0x0409 + + + 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;dxerr.lib;shlwapi.lib;zlibstat.lib;portaudio_x64.lib;packet.lib;wpcap.lib;openal32.lib;libpng.lib;lglcd.lib;wtsapi32.lib;wntab32x.lib;enet_x64.lib;prowizard.lib;%(AdditionalDependencies) + NotSet + d:\amiga\winuae64.exe + true + %(AdditionalLibraryDirectories) + MSVCRT.lib;%(IgnoreSpecificDefaultLibraries) + wpcap.dll;packet.dll;d3dx9_42.dll;openal32.dll;wintab32.dll;portaudio_x64.dll;freetype6.dll;ws2_32.dll;msacm32.dll;wtsapi32.dll;dsound.dll;avrt.dll;%(DelayLoadDLLs) + true + .\Release/winuae.pdb + Windows + 0 + 0 + true + true + + + true + false + true + MachineX64 + + + ..\resources\winuae64.exe.manifest;%(AdditionalManifestFiles) + + + + + NDEBUG;%(PreprocessorDefinitions) + true + true + Win32 + .\Release/winuae_msvc.tlb + + + Full + AnySuitable + true + Speed + true + true + ..\..\include;..\..;..\;..\resources;..\osdep;..\sounddep;..\..\prowizard\include;%(AdditionalIncludeDirectories) + WINVER=0x0500;NDEBUG;_WIN32_IE=0x0700;WIN32;CINTERFACE;COBJMACROS;%(PreprocessorDefinitions) + true + + + Default + MultiThreaded + false + true + NotSet + Precise + false + false + + + .\FullRelease/winuae_msvc.pch + .\FullRelease/ + .\FullRelease/ + .\FullRelease/ + Level3 + true + StdCall + Default + 4996;%(DisableSpecificWarnings) + %(ForcedIncludeFiles) + + + NDEBUG;%(PreprocessorDefinitions) + 0x0409 + + + ws2_32.lib;ddraw.lib;dxguid.lib;winmm.lib;comctl32.lib;version.lib;msacm32.lib;dsound.lib;dinput8.lib;d3d9.lib;d3dx9.lib;winio.lib;setupapi.lib;wininet.lib;dxerr.lib;shlwapi.lib;zlibstat.lib;libpng.lib;lglcd.lib;wpcap.lib;packet.lib;openal32.lib;wintab32.lib;portaudio_x86.lib;freetype.lib;vfw32.lib;wtsapi32.lib;avrt.lib;wininet.lib;enet.lib;prowizard.lib;%(AdditionalDependencies) + d:\amiga\winuae.exe + true + %(AdditionalLibraryDirectories) + %(AdditionalManifestDependencies) + %(IgnoreSpecificDefaultLibraries) + wpcap.dll;packet.dll;d3dx9_42.dll;openal32.dll;wintab32.dll;portaudio_x86.dll;freetype6.dll;ws2_32.dll;msacm32.dll;wtsapi32.dll;dsound.dll;avrt.dll;wininet.dll;%(DelayLoadDLLs) + true + .\FullRelease/winuae.pdb + Windows + 2621440 + 2621440 + true + true + true + UseLinkTimeCodeGeneration + true + false + true + MachineX86 + + + ..\resources\winuae9.exe.manifest;%(AdditionalManifestFiles) + + + + + NDEBUG;%(PreprocessorDefinitions) + true + true + X64 + .\Release/winuae_msvc.tlb + + + Full + AnySuitable + true + Speed + true + true + ..\..\include;..\..;..\;..\resources;..\osdep;..\sounddep;%(AdditionalIncludeDirectories) + WINVER=0x0500;NDEBUG;_WIN32_IE=0x0700;WIN32;WIN64;CINTERFACE;COBJMACROS;%(PreprocessorDefinitions) + true + + + Default + MultiThreaded + false + true + NotSet + Precise + false + false + + + .\FullRelease/winuae_msvc.pch + .\FullRelease/ + .\FullRelease/ + .\FullRelease/ + Level3 + true + StdCall + Default + 4996;%(DisableSpecificWarnings) + %(ForcedIncludeFiles) + + + NDEBUG;%(PreprocessorDefinitions) + 0x0409 + + + 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;dxerr.lib;shlwapi.lib;zlibstat.lib;portaudio_x64.lib;packet.lib;wpcap.lib;openal32.lib;libpng.lib;lglcd.lib;wtsapi32.lib;wntab32x.lib;enet_x64.lib;prowizard.lib;%(AdditionalDependencies) + NotSet + d:\amiga\winuae64.exe + true + %(AdditionalLibraryDirectories) + MSVCRT.lib;%(IgnoreSpecificDefaultLibraries) + wpcap.dll;packet.dll;d3dx9_42.dll;openal32.dll;wintab32.dll;portaudio_x64.dll;freetype6.dll;ws2_32.dll;msacm32.dll;wtsapi32.dll;dsound.dll;avrt.dll;%(DelayLoadDLLs) + true + .\FullRelease/winuae.pdb + Windows + 0 + 0 + true + true + UseLinkTimeCodeGeneration + true + false + true + MachineX64 + + + ..\resources\winuae64.exe.manifest;%(AdditionalManifestFiles) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \projects\winuae\src\od-win32\resources + \projects\winuae\src\od-win32\resources + \projects\winuae\src\od-win32\resources + \projects\winuae\src\od-win32\resources + \projects\winuae\src\od-win32\resources + \projects\winuae\src\od-win32\resources + + + + + true + true + true + Document + + + true + true + true + Document + + + true + true + true + Document + + + true + true + true + Document + + + true + true + true + Document + + + true + true + true + Document + + + + + + \ No newline at end of file diff --git a/od-win32/winuae_msvc10/winuae_msvc.vcxproj.filters b/od-win32/winuae_msvc10/winuae_msvc.vcxproj.filters new file mode 100644 index 00000000..e9404334 --- /dev/null +++ b/od-win32/winuae_msvc10/winuae_msvc.vcxproj.filters @@ -0,0 +1,638 @@ + + + + + {86cfeeb5-a9b0-4c06-bd94-69c258884a66} + cpp;c;cxx;rc;def;r;odl;idl;hpj;bat + + + {5c4c971a-37b6-4c1e-82f1-d225ebb12808} + ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe + + + {c0e78831-47fa-48a0-a34e-8c3c4410c34b} + cpp;c;cxx;rc;def;r;odl;idl;hpj;bat + + + {e76a708a-933c-4af4-bad2-0820d79b6a78} + cpp;c;cxx;rc;def;r;odl;idl;hpj;bat + + + {dab2f6c7-d741-4002-b0c9-566a1536642a} + + + {f3ce6c07-bb5c-47dc-9e59-5e4acd06ff0d} + + + {ae0450a0-e0ff-442b-8896-a21eb8769fae} + + + {c52448a0-4965-449e-bbdd-e8cb8bf9227a} + + + {492ad99e-6cf0-486b-8e97-083a9e50bb7c} + + + {d030c158-bae4-4025-9d74-bfe643846c44} + + + {4abb311e-366e-4c88-bb5f-0086611a1145} + + + {4c157cd6-e04e-4dfa-ad84-a5e9f8abc1ed} + + + {43856f2f-e043-4cfe-aa2a-a767858d8ea4} + + + + + win32 + + + win32 + + + win32 + + + win32 + + + win32 + + + win32 + + + win32 + + + win32 + + + win32 + + + win32 + + + win32 + + + win32 + + + win32 + + + win32 + + + win32 + + + win32 + + + win32 + + + win32 + + + win32 + + + win32 + + + win32 + + + win32 + + + win32 + + + win32 + + + win32 + + + win32 + + + win32 + + + win32 + + + win32 + + + win32 + + + win32 + + + win32 + + + win32 + + + win32 + + + win32 + + + win32 + + + win32 + + + win32 + + + win32 + + + win32 + + + win32 + + + win32 + + + common + + + common + + + common + + + common + + + common + + + common + + + common + + + common + + + common + + + common + + + common + + + common + + + common + + + common + + + common + + + common + + + common + + + common + + + common + + + common + + + common + + + common + + + common + + + common + + + common + + + common + + + common + + + common + + + common + + + common + + + common + + + common + + + common + + + common + + + common + + + common + + + common + + + common + + + common + + + common + + + common + + + common + + + common + + + common + + + common + + + common + + + common + + + common + + + common + + + common + + + common + + + common + + + common + + + common + + + common + + + common + + + common + + + common + + + common + + + common + + + common + + + common + + + common + + + common + + + common + + + common + + + common + + + common + + + common + + + common + + + common + + + common + + + common + + + jit + + + jit + + + jit + + + jit + + + prowizard + + + decompressors\dms + + + decompressors\dms + + + decompressors\dms + + + decompressors\dms + + + decompressors\dms + + + decompressors\dms + + + decompressors\dms + + + decompressors\dms + + + decompressors\dms + + + decompressors\dms + + + decompressors\dms + + + decompressors\7z + + + decompressors\7z + + + decompressors\7z + + + decompressors\7z + + + decompressors\7z + + + decompressors\7z + + + decompressors\7z + + + decompressors\7z + + + decompressors\7z + + + decompressors\7z + + + decompressors\7z + + + decompressors\7z + + + decompressors\7z + + + decompressors\lha + + + decompressors\lha + + + decompressors\lha + + + decompressors\lha + + + decompressors\lha + + + decompressors\lha + + + decompressors\lha + + + decompressors\lha + + + decompressors\lha + + + decompressors\lha + + + decompressors\lha + + + decompressors\zip + + + decompressors\lzx + + + decompressors\wrp + + + + + win32\Resource Files + + + win32\Resource Files + + + win32\Resource Files + + + win32\Resource Files + + + win32\Resource Files + + + win32\Resource Files + + + win32\Resource Files + + + win32\Resource Files + + + win32\Resource Files + + + win32\Resource Files + + + win32\Resource Files + + + win32\Resource Files + + + win32\Resource Files + + + win32\Resource Files + + + win32\Resource Files + + + win32\Resource Files + + + win32\Resource Files + + + win32\Resource Files + + + win32\Resource Files + + + win32\Resource Files + + + win32\Resource Files + + + win32\Resource Files + + + win32\Resource Files + + + win32\Resource Files + + + win32\Resource Files + + + win32\Resource Files + + + win32\Resource Files + + + win32\Resource Files + + + win32\Resource Files + + + win32\Resource Files + + + win32\Resource Files + + + + + + + + + + + win32\Resource Files + + + + + + + + + + + \ No newline at end of file diff --git a/od-win32/winuaechangelog.txt b/od-win32/winuaechangelog.txt index 0411a3fd..30340c20 100644 --- a/od-win32/winuaechangelog.txt +++ b/od-win32/winuaechangelog.txt @@ -1,4 +1,16 @@ +- hpos "offset" was accidentally changed (cmp.w #0,$dff006 is possible) + +Beta 10: + +- CE interrupt handling timing rewrite, again, to better match real + behavior (still not good enough but better than previously) +- only accept winpcap version 4 or newer +- match autoscale left position to WB max overscan size (maybe in + future there will be "TV"-option that restricts to 1990s TV overscan) +- accept all kinds of DI8DEVCLASS_GAMECTRL devices, not just those that + have gamecontroller-like device type + Beta 9: - CE 68000 interrupt handling update, Spectre Party Demo / diff --git a/uaeunp.c b/uaeunp.c index 2d50bc5c..4029c656 100644 --- a/uaeunp.c +++ b/uaeunp.c @@ -724,6 +724,11 @@ int wmain (int argc, wchar_t *argv[], wchar_t *envp[]) /* +0.8b: + +- DMS full cylinder 0 BBS ADs skipped when extracting +- DMS BBS AD extraction support + 0.8: - tar archive support diff --git a/zfile.c b/zfile.c index dc20de92..af9c8cc2 100644 --- a/zfile.c +++ b/zfile.c @@ -1028,7 +1028,7 @@ static struct zfile *wrp (struct zfile *z) return unwarp (z); } -static struct zfile *dms (struct zfile *z) +static struct zfile *dms (struct zfile *z, int index, int *retcode) { int ret; struct zfile *zo; @@ -1036,6 +1036,8 @@ static struct zfile *dms (struct zfile *z) TCHAR *ext = _tcsrchr (orgname, '.'); TCHAR newname[MAX_DPATH]; static int recursive; + int i; + struct zfile *zextra[DMS_EXTRA_SIZE] = { 0 }; if (recursive) return NULL; @@ -1049,7 +1051,7 @@ static struct zfile *dms (struct zfile *z) zo = zfile_fopen_empty (z, newname, 1760 * 512); if (!zo) return NULL; - ret = DMS_Process_File (z, zo, CMD_UNPACK, OPT_VERBOSE, 0, 0, 0); + ret = DMS_Process_File (z, zo, CMD_UNPACK, OPT_VERBOSE, 0, 0, 0, zextra); if (ret == NO_PROBLEM || ret == DMS_FILE_END) { int off = zfile_ftell (zo); if (off >= 1760 * 512 / 3 && off <= 1760 * 512 * 3 / 4) { // possible split dms? @@ -1063,18 +1065,36 @@ static struct zfile *dms (struct zfile *z) z2 = zfile_fopen (fn2, L"rb", z->zfdmask); recursive--; if (z2) { - ret = DMS_Process_File (z2, zo, CMD_UNPACK, OPT_VERBOSE, 0, 0, 1); + ret = DMS_Process_File (z2, zo, CMD_UNPACK, OPT_VERBOSE, 0, 0, 1, NULL); zfile_fclose (z2); } xfree (fn2); } } } - zfile_fclose (z); zfile_fseek (zo, 0, SEEK_SET); - return zo; + if (index > 0) { + zfile_fclose (zo); + zo = NULL; + for (i = 0; i < zextra[i]; i++); + if (index > i) + goto end; + zo = zextra[index - 1]; + zextra[index - 1] = NULL; + } + if (retcode) + *retcode = 1; + zfile_fclose (z); + z = NULL; + + } else { + zfile_fclose (zo); + zo = NULL; } - return NULL; +end: + for (i = 0; i < DMS_EXTRA_SIZE; i++) + zfile_fclose (zextra[i]); + return zo; } const TCHAR *uae_ignoreextensions[] = @@ -1257,11 +1277,11 @@ struct zfile *zuncompress (struct znode *parent, struct zfile *z, int dodefault, return zfile_gunzip (z); if (strcasecmp (ext, L"hdz") == 0) return zfile_gunzip (z); - if (strcasecmp (ext, L"dms") == 0) - return dms (z); if (strcasecmp (ext, L"wrp") == 0) return wrp (z); } + if (strcasecmp (ext, L"dms") == 0) + return dms (z, index, retcode); } if (mask & ZFD_RAWDISK) { #ifdef CAPS @@ -1296,11 +1316,11 @@ struct zfile *zuncompress (struct znode *parent, struct zfile *z, int dodefault, if (index == 0) { if (header[0] == 0x1f && header[1] == 0x8b) return zfile_gunzip (z); - if (header[0] == 'D' && header[1] == 'M' && header[2] == 'S' && header[3] == '!') - return dms (z); if (header[0] == 'P' && header[1] == 'K' && header[2] == 'D') return dsq (z, 0); } + if (header[0] == 'D' && header[1] == 'M' && header[2] == 'S' && header[3] == '!') + return dms (z, index, retcode); } if (mask & ZFD_RAWDISK) { #ifdef CAPS -- 2.47.3