From 313e5725a5c65794a99d00ceb40b71eaeb14116a Mon Sep 17 00:00:00 2001 From: Toni Wilen Date: Sat, 3 Oct 2015 20:07:41 +0300 Subject: [PATCH] 3200b15 --- od-win32/win32.h | 4 ++-- od-win32/win32gui.cpp | 35 ++++++++++++++++++++++++++--------- od-win32/winuaechangelog.txt | 21 +++++++++++++++++++++ 3 files changed, 49 insertions(+), 11 deletions(-) diff --git a/od-win32/win32.h b/od-win32/win32.h index ca5794f0..dc0c1ec2 100644 --- a/od-win32/win32.h +++ b/od-win32/win32.h @@ -20,12 +20,12 @@ #define LANG_DLL_FULL_VERSION_MATCH 1 #if WINUAEPUBLICBETA -#define WINUAEBETA _T("14") +#define WINUAEBETA _T("15") #else #define WINUAEBETA _T("") #endif -#define WINUAEDATE MAKEBD(2015, 9, 27) +#define WINUAEDATE MAKEBD(2015, 10, 3) //#define WINUAEEXTRA _T("AmiKit Preview") //#define WINUAEEXTRA _T("Amiga Forever Edition") diff --git a/od-win32/win32gui.cpp b/od-win32/win32gui.cpp index 516f4c27..2a3d4476 100644 --- a/od-win32/win32gui.cpp +++ b/od-win32/win32gui.cpp @@ -1469,24 +1469,20 @@ static void abspathtorelative (TCHAR *name) static int addrom (UAEREG *fkey, struct romdata *rd, const TCHAR *name) { - TCHAR tmp1[MAX_DPATH], tmp2[MAX_DPATH]; + TCHAR tmp1[MAX_DPATH], tmp2[MAX_DPATH], tmp3[MAX_DPATH]; + TCHAR pathname[MAX_DPATH]; _stprintf (tmp1, _T("ROM_%03d"), rd->id); if (rd->group) { TCHAR *p = tmp1 + _tcslen (tmp1); _stprintf (p, _T("_%02d_%02d"), rd->group >> 16, rd->group & 65535); } - if (regexists (fkey, tmp1)) - return 0; getromname (rd, tmp2); + pathname[0] = 0; if (name) { - TCHAR name2[MAX_DPATH]; - _tcscpy (name2, name); - _tcscat (tmp2, _T(" / \"")); + _tcscpy (pathname, name); if (getregmode ()) - abspathtorelative (name2); - _tcscat (tmp2, name2); - _tcscat (tmp2, _T("\"")); + abspathtorelative (pathname); } if (rd->crc32 == 0xffffffff) { if (rd->configname) @@ -1494,6 +1490,27 @@ static int addrom (UAEREG *fkey, struct romdata *rd, const TCHAR *name) else _stprintf (tmp2, _T(":ROM_%03d"), rd->id); } + int size = sizeof tmp3 / sizeof(TCHAR); + if (regquerystr(fkey, tmp1, tmp3, &size)) { + TCHAR *s = _tcschr(tmp3, '\"'); + if (s && _tcslen(s) > 1) { + TCHAR *s2 = s + 1; + s = _tcschr(s2, '\"'); + if (s) + *s = 0; + // select plain file if previously found was inside archive + if (my_existsfile(s2) && !my_existsfile(pathname)) { + _tcscpy(pathname, s2); + } else { + return 1; + } + } + } + if (pathname[0]) { + _tcscat(tmp2, _T(" / \"")); + _tcscat(tmp2, pathname); + _tcscat(tmp2, _T("\"")); + } if (!regsetstr (fkey, tmp1, tmp2)) return 0; return 1; diff --git a/od-win32/winuaechangelog.txt b/od-win32/winuaechangelog.txt index f22aaef9..e949e959 100644 --- a/od-win32/winuaechangelog.txt +++ b/od-win32/winuaechangelog.txt @@ -1,4 +1,25 @@ +Beta 15: + +- KS1.2 boot hack improved, now also works with KS 1.1, KS 1.0 and even with 0.7 beta! +- Added old style >2M chip RAM support back as a fallback, used when new method can't extend chip ram size. +- Fixed CAS2 instruction comparison failed case, memory operands should be written to Dc, not Du. +- Support DSKLEN writes while disk DMA is active, update only remaining DMA length without modifying DMA state (undocumented feature). +- If ROM scanner finds same ROM image multiple times, select plain file version if possible (not in archive). + +Pre-KS 1.2 boot notes: +- KS 1.1 and older DOS is pure BCPL. Added separate BCPL entry point to directory filesystem + handler that makes BCPL DOS happy. +- Expansion.library does not exist: MakeDosNode and AddDosNode replacements added. +- Directory filesystem automount/boot fully supported. +- Hardfiles work more or less same as with KS 1.3. +- Boot priority sorting is not supported, first drive is always boot drive. (This can change in the future, + don't depend on current behavior!) +- WB 1.3 L:FastFileSystem is supported with 1.2 and older versions. (Automatically puts it inside BCPL wrapper and + patches 1.2+ only CopyMem() calls) +- BCPL stuff from AROS m68k. Most of DOS BCPL was re-implemented and documented by Jason and me in AROS m68k. +- This completes one of the most pointless features ever. Until next most pointless feature. + Beta 14: - 64-bit JIT fixes. JIT FPU also fixed. (Frode) -- 2.47.3