]> git.unchartedbackwaters.co.uk Git - francis/winuae.git/commitdiff
3300b11
authorToni Wilen <twilen@winuae.net>
Sun, 24 Apr 2016 12:37:17 +0000 (15:37 +0300)
committerToni Wilen <twilen@winuae.net>
Sun, 24 Apr 2016 12:37:17 +0000 (15:37 +0300)
blkdev_cdimage.cpp
debug.cpp
expansion.cpp
od-win32/win32.h
od-win32/winuaechangelog.txt

index a73b9e33a17148c1d1dfe9bb5ffcd0fdddef7c38..5f922c65d4febf79e8d79560e624d4d5e2969dd1 100644 (file)
@@ -1035,7 +1035,14 @@ static int command_toc (int unitnum, struct cd_toc_head *th)
        th->firstaddress = 0;
        th->lastaddress = cdu->toc[cdu->tracks].address;
 
+       uae_u8 ctrl_mask = 4;
+       for (int i = 0; i < cdu->tracks; i++) {
+               if (!(cdu->toc[i].ctrl & 4))
+                       ctrl_mask = 0x00;
+       }
+
        toc->adr = 1;
+       toc->control = ctrl_mask;
        toc->point = 0xa0;
        toc->track = th->first_track;
        toc++;
@@ -1052,12 +1059,14 @@ static int command_toc (int unitnum, struct cd_toc_head *th)
 
        th->last_track_offset = cdu->tracks;
        toc->adr = 1;
+       toc->control = ctrl_mask;
        toc->point = 0xa1;
        toc->track = th->last_track;
        toc->paddress = th->lastaddress;
        toc++;
 
        toc->adr = 1;
+       toc->control = ctrl_mask;
        toc->point = 0xa2;
        toc->paddress = th->lastaddress;
        toc++;
index b56d15165e51ec2ffd04c95d09a13e132ff2c031..26c0313791a80e1639d33288b4ef11e3bf8c25fb 100644 (file)
--- a/debug.cpp
+++ b/debug.cpp
@@ -4615,11 +4615,13 @@ static bool debug_line (TCHAR *input)
                                next_char (&inptr);
                                if (more_params (&inptr)) {
                                        debug_illegal_mask = readhex (&inptr);
+                                       if (more_params(&inptr))
+                                               debug_illegal_mask |= ((uae_u64)readhex(&inptr)) << 32;
                                } else {
                                        debug_illegal_mask = debug_illegal ? 0 : -1;
                                        debug_illegal_mask &= ~((uae_u64)255 << 24); // mask interrupts
                                }
-                               console_out_f (_T("Exception breakpoint mask: %0I64X\n"), debug_illegal_mask);
+                               console_out_f (_T("Exception breakpoint mask: %08X %08X\n"), (uae_u32)(debug_illegal_mask >> 32), (uae_u32)debug_illegal_mask);
                                debug_illegal = debug_illegal_mask ? 1 : 0;
                        } else {
                                addr = 0xffffffff;
index d38204f9cdcbabbf1c7dd0032fc8f958a6a90d0c..e927068013ecd9b657799c31bb44e14119edd350 100644 (file)
@@ -1582,6 +1582,14 @@ static addrbank* expamem_init_filesys (int devnum)
        bool ks12 = ks12orolder();
        bool hide = currprefs.uae_hide_autoconfig;
 
+#if 0
+       FILE *f = fopen("d:\\amiga\\amiga\\source\\acap\\autoconf", "rb");
+       fread(expamem, 1, 256, f);
+       fclose(f);
+       memcpy(filesys_bank.baseaddr, expamem, 0x3000);
+       return NULL;
+#endif
+
        /* struct DiagArea - the size has to be large enough to store several device ROMTags */
        const uae_u8 diagarea[] = {
                0x90, 0x00, /* da_Config, da_Flags */
index 9fcb47e24903362712bdd6c8d22de918437678f0..73d736acd50bebaf029e586e951f45c5e0fc0b01 100644 (file)
 #define LANG_DLL_FULL_VERSION_MATCH 1
 
 #if WINUAEPUBLICBETA
-#define WINUAEBETA _T("10")
+#define WINUAEBETA _T("11")
 #else
 #define WINUAEBETA _T("")
 #endif
 
-#define WINUAEDATE MAKEBD(2016, 4, 9)
+#define WINUAEDATE MAKEBD(2016, 4, 24)
 
 //#define WINUAEEXTRA _T("AmiKit Preview")
 //#define WINUAEEXTRA _T("Amiga Forever Edition")
index f262f8326b59cd3cfdfc1ee1159573c042ee62cb..7d3f4516621e459f12d1ab213974234050312e9c 100644 (file)
@@ -1,4 +1,40 @@
 
+Beta 11:
+
+- Screenshot/capture without "before filtering" ticked now uses much faster GetRenderTargetData()
+  function in D3D mode to capture the output.
+- Ticked 68060 unimplemented CPU emu checkbox also enabled 68030 MMU instructions.
+- Terminate indirect UAE Boot ROM trap threads before unmapping Amiga side memory to prevent
+  random crashes when exiting emulator with traps active.
+- Debugger il mask is now accepted in two 32-bit parts, 64-bit values are not supported by debugger input.
+- Added gfx_black_frame_insertion_ratio config entry, sets timing between normal and black frames in adaptive
+  sync mode. Default is 50 (50%, normal and black frames have same duration).
+- CD32 emulation updates, mostly previously unknown undocumented features:
+  - It seems unmapped addresses don't "float", all invalid reads seem to always return zeros.
+  - CIA chip select, address bits 12 and 13 are CIA selects. Gary: 0=none,1=A,2=B,3=A+B,
+    Gayle: 0=none,1=A,2=B,3=none, Akiko: 0=A,1=A,2=B,3=B (Very unexpected)
+  - CIA address space: Gary: $A00000-$BFFFFF, Gayle: $BFDxxx and $BFExxx, Akiko: $BFE000-$BFFFFF.
+  - Custom register mirror at $B90000-$B9FFFF! (This is really weird..)
+  - Usual custom register mirror at $C00000-$CFFFFF.
+  - Akiko addresses are mapped from $B80000 to $B87FFF (was $B8FFFF) and has 64 byte mirroring (was no
+    mirroring)
+  - Akiko ID at $B80000.l is $C0CACAFE (was only $CAFE at $B80002.w, KS checks this address for $CAFE)
+  - All write-only registers seem to read same data as nearby read-only register.
+  - Interrupt registers only have bits 24 to 31 writable, other bits always read as zeros.
+  - Config ($B80024) register has bits 23 to 31 writable, other bits always read as zeros.
+  - Subchannel arrived interrupt bit is set at boot for some unknown reason, subchannel index
+    register ($B80018) works strangely and has unexpected value at boot ($C2).
+  - Match Akiko C2P behavior with real hardware when reading bytes/words or when doing multiple read passes.
+  - When booted with CD inserted: first packet from CD MCU is always "media inserted" packet.
+  - $B80028.b reads last received command packet byte.
+  - Writing to $B80028.b sends command bytes to CD MCU. (This is not emulated yet and no program uses it)
+  - Akiko internal CIAs don't have external TOD input pins. CIA-A TOD which normally counts vsyncs or
+    power supply ticks count rate is selected with $B80020 bit 23 (0=50Hz, 1=60Hz). CIA-B (hsync)
+    timing logic is not known yet but it is also internally generated.
+  - Old interrupt request set/clear hacks removed.
+  - All CD status return codes (including errors) include door status (open/closed) in bit 0.
+  - Contents of unused TOC entry bytes now contain real hardware matching values.
+
 Beta 10:
 
 - if uaenet.device is online and packet(s) have arrived but there is no pending CMD_READ/CMD_READORPHANs: