From: Toni Wilen Date: Mon, 5 May 2014 14:21:30 +0000 (+0300) Subject: 2800 X-Git-Tag: 2800^0 X-Git-Url: https://git.unchartedbackwaters.co.uk/w/?a=commitdiff_plain;h=951f766d45024b72821a64a015880317965010ee;p=francis%2Fwinuae.git 2800 --- diff --git a/archivers/lzx/unlzx.cpp b/archivers/lzx/unlzx.cpp index 2e048f70..b979df70 100644 --- a/archivers/lzx/unlzx.cpp +++ b/archivers/lzx/unlzx.cpp @@ -701,6 +701,11 @@ struct zfile *archive_access_lzx (struct znode *zn) crc_calc (&d, pdest, d.decrunch_length); } else { write_log (_T("LZX corrupt compressed data %s\n"), zn->name); +#if 0 + struct zfile *x = zfile_fopen(_T("c:\\temp\\1.dat"),_T("wb")); + zfile_fwrite(dbuf,1,outsize, x); + zfile_fclose(x); +#endif goto end; } } diff --git a/custom.cpp b/custom.cpp index 8e92d8c0..e4618ac4 100644 --- a/custom.cpp +++ b/custom.cpp @@ -3538,7 +3538,7 @@ void compute_vsynctime (void) } #endif if (currprefs.produce_sound > 1) { - double svpos = maxvpos; + double svpos = maxvpos_nom; double shpos = maxhpos_short; if (islinetoggle ()) { shpos += 0.5; @@ -3549,7 +3549,7 @@ void compute_vsynctime (void) svpos += 1.0; } double clk = svpos * shpos * fake_vblank_hz; - //write_log (_T("SNDRATE %.1f*%.1f*%.6f=%.6f\n"), svpos, shpos, fake_vblank_hz, clk); + write_log (_T("SNDRATE %.1f*%.1f*%.6f=%.6f\n"), svpos, shpos, fake_vblank_hz, clk); update_sound (clk); } } diff --git a/disk.cpp b/disk.cpp index 6f640073..4111c9ff 100644 --- a/disk.cpp +++ b/disk.cpp @@ -211,7 +211,7 @@ typedef struct { #endif } drive; -#define MIN_STEPLIMIT_CYCLE (CYCLE_UNIT * 210) +#define MIN_STEPLIMIT_CYCLE (CYCLE_UNIT * 140) static uae_u16 bigmfmbufw[0x4000 * DDHDMULT]; static drive floppy[MAX_FLOPPY_DRIVES]; @@ -1294,7 +1294,7 @@ static void drive_step (drive * drv, int step_direction) drv->dskchange = 0; if (drv->steplimit && get_cycles() - drv->steplimitcycle < MIN_STEPLIMIT_CYCLE) { if (disk_debug_logging > 1) - write_log (_T(" step ignored drive %d, %d"), + write_log (_T(" step ignored drive %d, %d\n"), drv - floppy, (get_cycles() - drv->steplimitcycle) / CYCLE_UNIT); return; } diff --git a/expansion.cpp b/expansion.cpp index c60c5edc..5c05a818 100644 --- a/expansion.cpp +++ b/expansion.cpp @@ -823,13 +823,17 @@ static void expamem_map_filesys (void) org (a); } +#define FILESYS_DIAGPOINT 0x01e0 +#define FILESYS_BOOTPOINT 0x01e6 +#define FILESYS_DIAGAREA 0x2000 + static void expamem_init_filesys (void) { /* struct DiagArea - the size has to be large enough to store several device ROMTags */ uae_u8 diagarea[] = { 0x90, 0x00, /* da_Config, da_Flags */ 0x02, 0x00, /* da_Size */ - 0x01, 0x00, /* da_DiagPoint */ - 0x01, 0x06 /* da_BootPoint */ + FILESYS_DIAGPOINT >> 8, FILESYS_DIAGPOINT & 0xff, + FILESYS_BOOTPOINT >> 8, FILESYS_BOOTPOINT & 0xff }; expamem_init_clear (); @@ -853,15 +857,15 @@ static void expamem_init_filesys (void) expamem_write (0x40, 0x00); /* Ctrl/Statusreg.*/ /* Build a DiagArea */ - memcpy (expamem + 0x2000, diagarea, sizeof diagarea); + memcpy (expamem + FILESYS_DIAGAREA, diagarea, sizeof diagarea); /* Call DiagEntry */ - do_put_mem_word ((uae_u16 *)(expamem + 0x2100), 0x4EF9); /* JMP */ - do_put_mem_long ((uae_u32 *)(expamem + 0x2102), ROM_filesys_diagentry); + do_put_mem_word ((uae_u16 *)(expamem + FILESYS_DIAGAREA + FILESYS_DIAGPOINT), 0x4EF9); /* JMP */ + do_put_mem_long ((uae_u32 *)(expamem + FILESYS_DIAGAREA + FILESYS_DIAGPOINT + 2), ROM_filesys_diagentry); /* What comes next is a plain bootblock */ - do_put_mem_word ((uae_u16 *)(expamem + 0x2106), 0x4EF9); /* JMP */ - do_put_mem_long ((uae_u32 *)(expamem + 0x2108), EXPANSION_bootcode); + do_put_mem_word ((uae_u16 *)(expamem + FILESYS_DIAGAREA + FILESYS_BOOTPOINT), 0x4EF9); /* JMP */ + do_put_mem_long ((uae_u32 *)(expamem + FILESYS_DIAGAREA + FILESYS_BOOTPOINT + 2), EXPANSION_bootcode); memcpy (filesysory, expamem, 0x3000); } diff --git a/filesys.cpp b/filesys.cpp index f22298c4..a49a0c01 100644 --- a/filesys.cpp +++ b/filesys.cpp @@ -5722,7 +5722,7 @@ static void action_get_file_position64 (Unit *unit, dpacket packet) PUT_PCK64_RES0 (packet, DP64_INIT); if (k == 0) { - PUT_PCK64_RES1 (packet, DOS_FALSE); + PUT_PCK64_RES1 (packet, -1); PUT_PCK64_RES2 (packet, ERROR_INVALID_LOCK); return; } @@ -5792,7 +5792,7 @@ static void action_get_file_size64 (Unit *unit, dpacket packet) PUT_PCK64_RES0 (packet, DP64_INIT); if (k == 0) { - PUT_PCK64_RES1 (packet, DOS_FALSE); + PUT_PCK64_RES1 (packet, -1); PUT_PCK64_RES2 (packet, ERROR_INVALID_LOCK); return; } @@ -5803,7 +5803,7 @@ static void action_get_file_size64 (Unit *unit, dpacket packet) PUT_PCK64_RES2 (packet, 0); return; } - PUT_PCK64_RES1 (packet, DOS_FALSE); + PUT_PCK64_RES1 (packet, -1); PUT_PCK64_RES2 (packet, ERROR_SEEK_ERROR); } @@ -6326,14 +6326,14 @@ static uae_u32 REGPARAM2 filesys_diagentry (TrapContext *context) while (tmp < residents && tmp > start) { if (get_word (tmp) == 0x4AFC && get_long (tmp + 0x2) == tmp) { - put_word (resaddr, 0x227C); /* movea.l #tmp,a1 */ + put_word (resaddr, 0x227C); /* move.l #tmp,a1 */ put_long (resaddr + 2, tmp); - put_word (resaddr + 6, 0x7200); /* moveq.l #0,d1 */ + put_word (resaddr + 6, 0x7200); /* moveq #0,d1 */ put_long (resaddr + 8, 0x4EAEFF9A); /* jsr -$66(a6) ; InitResident */ resaddr += 12; tmp = get_long (tmp + 0x6); } else { - tmp++; + tmp += 2; } } /* call setup_exter */ @@ -6342,7 +6342,7 @@ static uae_u32 REGPARAM2 filesys_diagentry (TrapContext *context) put_word (resaddr + 6, 0xd1fc); put_long (resaddr + 8, rtarea_base + bootrom_header); /* add.l #RTAREA_BASE+bootrom_header,a0 */ put_word (resaddr + 12, 0x4e90); /* jsr (a0) */ - put_word (resaddr + 14, 0x7001); /* moveq.l #1,d0 */ + put_word (resaddr + 14, 0x7001); /* moveq #1,d0 */ put_word (resaddr + 16, RTS); m68k_areg (regs, 0) = residents; diff --git a/od-win32/srcrelease.cmd b/od-win32/srcrelease.cmd index ef145aac..240ac41f 100644 --- a/od-win32/srcrelease.cmd +++ b/od-win32/srcrelease.cmd @@ -197,7 +197,7 @@ zip -9 -r winuaesrc * copy winuaesrc.zip d:\amiga\winuaepackets\winuaesrc%1.zip move winuaesrc.zip d:\amiga cd c:\projects\winuae\src\od-win32 -zip -9 winuaedebug%1 winuae_msvc10\release\winuae.pdb winuae_msvc10\fullrelease\winuae.pdb +zip -9 winuaedebug%1 winuae_msvc10\fullrelease\winuae.pdb winuae_msvc10\x64\fullrelease\winuae.pdb move winuaedebug%1.zip d:\amiga\winuaepackets\debug\ copy winuae_msvc10\fullrelease\winuae.pdb d:\amiga\dump copy d:\amiga\winuae.exe d:\amiga\dump diff --git a/od-win32/win32.cpp b/od-win32/win32.cpp index 425b49f8..dd80f9b0 100644 --- a/od-win32/win32.cpp +++ b/od-win32/win32.cpp @@ -3059,7 +3059,7 @@ void target_fixup_options (struct uae_prefs *p) void target_default_options (struct uae_prefs *p, int type) { TCHAR buf[MAX_DPATH]; - if (type == 2 || type == 0) { + if (type == 2 || type == 0 || type == 3) { p->win32_middle_mouse = 1; p->win32_logfile = 0; p->win32_active_nocapture_pause = 0; @@ -3111,7 +3111,7 @@ void target_default_options (struct uae_prefs *p, int type) for (int i = 0; i < GAMEPORT_INPUT_SETTINGS; i++) _stprintf (p->input_config_name[i], buf, i + 1); } - if (type == 1 || type == 0) { + if (type == 1 || type == 0 || type == 3) { p->win32_uaescsimode = UAESCSI_CDEMU; p->win32_midioutdev = -2; p->win32_midiindev = 0; diff --git a/od-win32/win32.h b/od-win32/win32.h index e5060cb9..86c2b132 100644 --- a/od-win32/win32.h +++ b/od-win32/win32.h @@ -15,15 +15,15 @@ #define GETBDM(x) (((x) - ((x / 10000) * 10000)) / 100) #define GETBDD(x) ((x) % 100) -#define WINUAEPUBLICBETA 1 +#define WINUAEPUBLICBETA 0 #define LANG_DLL 1 #if WINUAEPUBLICBETA -#define WINUAEBETA _T("18") +#define WINUAEBETA _T("0") #else #define WINUAEBETA _T("") #endif -#define WINUAEDATE MAKEBD(2014, 4, 25) +#define WINUAEDATE MAKEBD(2014, 5, 5) #define WINUAEEXTRA _T("") //#define WINUAEEXTRA _T("AmiKit Preview") //#define WINUAEEXTRA _T("Amiga Forever Edition") diff --git a/od-win32/winuae_msvc11/winuae_msvc.vcxproj b/od-win32/winuae_msvc11/winuae_msvc.vcxproj index be8b1526..c36dd620 100644 --- a/od-win32/winuae_msvc11/winuae_msvc.vcxproj +++ b/od-win32/winuae_msvc11/winuae_msvc.vcxproj @@ -712,7 +712,7 @@ $(Platform)\$(Configuration)\ Level3 true - StdCall + FastCall Default 4996;%(DisableSpecificWarnings) %(ForcedIncludeFiles) @@ -723,15 +723,15 @@ 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;libpng15.lib;lglcd.lib;wtsapi32.lib;wntab32x.lib;enet_x64.lib;prowizard_x64.lib;lzmalib.lib;libFLAC_static.lib;avrt.lib;hid.lib;Iphlpapi.lib;luastatic.lib;%(AdditionalDependencies) + 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;libpng15.lib;lglcd.lib;wtsapi32.lib;enet_x64.lib;prowizard_x64.lib;lzmalib.lib;libFLAC_static.lib;avrt.lib;hid.lib;Iphlpapi.lib;luastatic.lib;%(AdditionalDependencies) NotSet $(OutDir)$(TargetName)$(TargetExt) true %(AdditionalLibraryDirectories);$(SolutionDir)\..\lib\ LIBCMT;%(IgnoreSpecificDefaultLibraries) - wpcap.dll;packet.dll;d3dx9_43.dll;openal32.dll;wintab32.dll;portaudio_x64.dll;ws2_32.dll;msacm32.dll;wtsapi32.dll;dsound.dll;avrt.dll;%(DelayLoadDLLs) + wpcap.dll;packet.dll;d3dx9_43.dll;openal32.dll;portaudio_x64.dll;ws2_32.dll;msacm32.dll;wtsapi32.dll;dsound.dll;avrt.dll;%(DelayLoadDLLs) true - $(Platform)\$(Configuration)\winuae.pdb + .\x64\FullRelease/winuae.pdb Windows 0 0 diff --git a/od-win32/winuaechangelog.txt b/od-win32/winuaechangelog.txt index 4f6ccaac..19164b2f 100644 --- a/od-win32/winuaechangelog.txt +++ b/od-win32/winuaechangelog.txt @@ -11,6 +11,20 @@ - restore only single input target to default. +2.8.0 + +- Lowered floppy drive step limit again a bit more, fixes Elektrica / Cascade. +- Sound timing calculation used hardware maxvpos, not possibly currently active "fake 60hz" + method maxvpos. (2.7.0b13) + +Beta 19: + +- Increased space for UAE boot ROM extension resident module structures, it was too small and overflowed + (causing boot crash) if too many UAE resident module expansions were enabled simultaneously. +- Windows specific configuration defaults were not set if config was command line or double click loaded + (missed in b17 fix) +- AROS ROM updated. + Beta 18: - 0xFFFF was not returned when reading write-only or non-existing custom register and previous cycle was diff --git a/od-win32/wix/Product.wxs b/od-win32/wix/Product.wxs index d4fcd4d8..9144fe22 100644 --- a/od-win32/wix/Product.wxs +++ b/od-win32/wix/Product.wxs @@ -28,11 +28,51 @@ + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + @@ -148,6 +188,8 @@ + + @@ -158,6 +200,7 @@ + @@ -189,6 +232,7 @@ + diff --git a/sana2.cpp b/sana2.cpp index 0135389a..7408e5bb 100644 --- a/sana2.cpp +++ b/sana2.cpp @@ -1595,7 +1595,7 @@ uaecptr netdev_startup (uaecptr resaddr) if (log_net) write_log (_T("netdev_startup(0x%x)\n"), resaddr); /* Build a struct Resident. This will set up and initialize - * the uaescsi.device */ + * the uaenet.device */ put_word (resaddr + 0x0, 0x4AFC); put_long (resaddr + 0x2, resaddr); put_long (resaddr + 0x6, resaddr + 0x1A); /* Continue scan here */ @@ -1603,7 +1603,7 @@ uaecptr netdev_startup (uaecptr resaddr) put_word (resaddr + 0xC, 0x0305); /* NT_DEVICE; pri 05 */ put_long (resaddr + 0xE, ROM_netdev_resname); put_long (resaddr + 0x12, ROM_netdev_resid); - put_long (resaddr + 0x16, ROM_netdev_init); /* calls scsidev_init */ + put_long (resaddr + 0x16, ROM_netdev_init); /* calls netdev_init */ resaddr += 0x1A; return resaddr; }