#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")
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)
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;
+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)