]> git.unchartedbackwaters.co.uk Git - francis/winuae.git/commitdiff
2800 2800
authorToni Wilen <twilen@winuae.net>
Mon, 5 May 2014 14:21:30 +0000 (17:21 +0300)
committerToni Wilen <twilen@winuae.net>
Mon, 5 May 2014 14:21:30 +0000 (17:21 +0300)
12 files changed:
archivers/lzx/unlzx.cpp
custom.cpp
disk.cpp
expansion.cpp
filesys.cpp
od-win32/srcrelease.cmd
od-win32/win32.cpp
od-win32/win32.h
od-win32/winuae_msvc11/winuae_msvc.vcxproj
od-win32/winuaechangelog.txt
od-win32/wix/Product.wxs
sana2.cpp

index 2e048f70cb3446996c66832d00630b59812765c9..b979df70698459cd1b2edd8a105f2c4b66105196 100644 (file)
@@ -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;
                        }
                }
index 8e92d8c0f997482cf7fa86fc1778f1bc8a38a524..e4618ac47c435932bf306c505932d2f53202bc7b 100644 (file)
@@ -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);
        }
 }
index 6f640073cb3ffb1092d9f624256814fc9bda7de5..4111c9ffc2544a80432f14a5923fafb4c40a4530 100644 (file)
--- 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;
        }
index c60c5edcaa3c0a21435fe99b58baffb821b3b552..5c05a8186d8293b91f6ad90b361296b2a09972e2 100644 (file)
@@ -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);
 }
index f22298c46e0b8532c07a3dd0a7802af13904bb0d..a49a0c01f708413917339dd882c6305cf04fb567 100644 (file)
@@ -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;
index ef145aacb508e81a35f4baaf79a58d4a34ff2e4d..240ac41fb921b77b94c2505e20392e8c4a560a76 100644 (file)
@@ -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
index 425b49f84d8eca68d41faf1f65a3b32a5bab6206..dd80f9b0be47faaabd39b0c4d985339d44509e12 100644 (file)
@@ -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;
index e5060cb9aefb480117fd5b979e3c34cf03b97ef8..86c2b13221abfd16836bb5fe5cd5397509a1558a 100644 (file)
 #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")
index be8b1526acf54939d5c794c4ef8059a02f5edf14..c36dd620abc821e35af76cb50623ca177859ce85 100644 (file)
       <ProgramDataBaseFileName>$(Platform)\$(Configuration)\</ProgramDataBaseFileName>
       <WarningLevel>Level3</WarningLevel>
       <SuppressStartupBanner>true</SuppressStartupBanner>
-      <CallingConvention>StdCall</CallingConvention>
+      <CallingConvention>FastCall</CallingConvention>
       <CompileAs>Default</CompileAs>
       <DisableSpecificWarnings>4996;%(DisableSpecificWarnings)</DisableSpecificWarnings>
       <ForcedIncludeFiles>%(ForcedIncludeFiles)</ForcedIncludeFiles>
       <Culture>0x0409</Culture>
     </ResourceCompile>
     <Link>
-      <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;wntab32x.lib;enet_x64.lib;prowizard_x64.lib;lzmalib.lib;libFLAC_static.lib;avrt.lib;hid.lib;Iphlpapi.lib;luastatic.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <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)</AdditionalDependencies>
       <ShowProgress>NotSet</ShowProgress>
       <OutputFile>$(OutDir)$(TargetName)$(TargetExt)</OutputFile>
       <SuppressStartupBanner>true</SuppressStartupBanner>
       <AdditionalLibraryDirectories>%(AdditionalLibraryDirectories);$(SolutionDir)\..\lib\</AdditionalLibraryDirectories>
       <IgnoreSpecificDefaultLibraries>LIBCMT;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
-      <DelayLoadDLLs>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)</DelayLoadDLLs>
+      <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)</DelayLoadDLLs>
       <GenerateDebugInformation>true</GenerateDebugInformation>
-      <ProgramDatabaseFile>$(Platform)\$(Configuration)\winuae.pdb</ProgramDatabaseFile>
+      <ProgramDatabaseFile>.\x64\FullRelease/winuae.pdb</ProgramDatabaseFile>
       <SubSystem>Windows</SubSystem>
       <StackReserveSize>0</StackReserveSize>
       <StackCommitSize>0</StackCommitSize>
index 4f6ccaac25d35d5e8ac2a900f97a762463e0d959..19164b2f32fbeac2d9a5405c061d60fb8cd8ac36 100644 (file)
 
 - 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
index d4fcd4d89734c8f24ddb994e9ff122950148c96d..9144fe222f3ef169aedc1fd6a5ded9672e9d4e0e 100644 (file)
           <Directory Id="DOCS" Name="Docs"/>
         </Directory>
       </Directory>
+      <Directory Id="ProgramMenuFolder">
+        <Directory Id="ApplicationProgramsFolder" Name="WinUAE"/>
+      </Directory>
+      <Directory Id="DesktopFolder" Name="Desktop">
+      </Directory>
     </Directory>
 
     <DirectoryRef Id="APPLICATIONROOTDIRECTORY">
       <Component Id="winuae.exe" Guid="AE2CD6FB-A066-43B4-8C96-C75E3948367F">
-        <File Source="$(var.winuae.TargetPath)" KeyPath="yes" Checksum="yes"/>
+        <File Id="winuae.exe" Source="$(var.winuae.TargetPath)" KeyPath="yes" Checksum="yes"/>
+      </Component>
+    </DirectoryRef>
+
+    <DirectoryRef Id="DesktopFolder">
+      <Component Id="ApplicationDesktopShortcut" Guid="920BC800-12FC-4630-A612-39230FD4B4B7">
+        <Shortcut Id="ApplicationDesktopShortcut"
+          Name="WinUAE"
+          Description="WinUAE Amiga emulator"
+          Target="[#winuae.exe]"
+          WorkingDirectory="APPLICATIONROOTDIRECTORY"/>
+        <RegistryValue Root="HKCU" Key="Software\Arabuusimiehet\WinUAE" Name="InstalledApplicationDesktopShortcut" Type="integer" Value="1" KeyPath="yes"/>
+      </Component>
+    </DirectoryRef>
+
+    <DirectoryRef Id="ApplicationProgramsFolder">
+      <Component Id="ApplicationShortcut" Guid="469F7AC3-E634-49EE-BDAF-DAAD2134D7E2">
+        <Shortcut Id="ApplicationStartMenuShortcut"
+          Name="WinUAE"
+          Description="WinUAE Amiga emulator"
+          Target="[#winuae.exe]"
+          WorkingDirectory="APPLICATIONROOTDIRECTORY"/>
+        <RemoveFolder Id="ApplicationProgramsFolder" On="uninstall"/>
+        <RegistryValue Root="HKCU" Key="Software\Arabuusimiehet\WinUAE" Name="InstalledApplicationShortcut" Type="integer" Value="1" KeyPath="yes"/>
+      </Component>
+      <Component Id="DocsShortcut" Guid="7677FF51-F357-4657-B5DD-49801175E66B">
+        <Shortcut Id="DocsStartMenuShortcut"
+                  Name="Documents"
+                  Target="[DOCS]"/>
+        <RegistryValue Root="HKCU" Key="Software\Arabuusimiehet\WinUAE" Name="InstalledDocsShortcut" Type="integer" Value="1" KeyPath="yes"/>
+      </Component>
+      <Component Id="AdditionalShortcut" Guid="9CD64D3C-96DA-4862-8E9E-6329A6296AFA">
+        <Shortcut Id="AdditionalStartMenuShortcut"
+                  Name="Amiga Programs"
+                  Target="[AMIGAPROGRAMS]"/>
+        <RegistryValue Root="HKCU" Key="Software\Arabuusimiehet\WinUAE" Name="InstalledAdditionalShortcut" Type="integer" Value="1" KeyPath="yes"/>
       </Component>
     </DirectoryRef>
 
     
     <Feature Id="MainApplication" Title="WinUAE" Description="WinUAE executable" Level="1" ConfigurableDirectory="APPLICATIONROOTDIRECTORY" Absent="disallow" AllowAdvertise="no">
       <ComponentRef Id="winuae.exe" />
+      <ComponentRef Id="ApplicationShortcut" />
+      <ComponentRef Id="ApplicationDesktopShortcut" />
       <ComponentRef Id="RegistryEntries" />
     </Feature>
 
       <ComponentRef Id="Docs4" />
       <ComponentRef Id="Docs5" />
       <ComponentRef Id="Docs6" />
+      <ComponentRef Id="DocsShortcut" />
     </Feature>
 
     <Feature Id="ConfigFiles" Title="Configuration files" Description="Example host configuration files" Level="1" AllowAdvertise="no">
       <ComponentRef Id="AdditionalFiles19" />
       <ComponentRef Id="AdditionalFiles20" />
       <ComponentRef Id="AdditionalFiles21" />
+      <ComponentRef Id="AdditionalShortcut" />
     </Feature>
 
 
index 0135389a3ae34ae540d209f6321c3bf82b140a1a..7408e5bbda2513640355aac7f4ad42719307ff37 100644 (file)
--- 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;
 }