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;
}
}
}
#endif
if (currprefs.produce_sound > 1) {
- double svpos = maxvpos;
+ double svpos = maxvpos_nom;
double shpos = maxhpos_short;
if (islinetoggle ()) {
shpos += 0.5;
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);
}
}
#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];
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;
}
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 ();
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);
}
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;
}
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;
}
PUT_PCK64_RES2 (packet, 0);
return;
}
- PUT_PCK64_RES1 (packet, DOS_FALSE);
+ PUT_PCK64_RES1 (packet, -1);
PUT_PCK64_RES2 (packet, ERROR_SEEK_ERROR);
}
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 */
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;
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
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;
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;
#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")
<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>
- 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
<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>
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 */
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;
}