]> git.unchartedbackwaters.co.uk Git - francis/winuae.git/commitdiff
2710b6
authorToni Wilen <twilen@winuae.net>
Sun, 2 Feb 2014 19:24:21 +0000 (21:24 +0200)
committerToni Wilen <twilen@winuae.net>
Sun, 2 Feb 2014 19:24:21 +0000 (21:24 +0200)
blitter.cpp
custom.cpp
od-win32/win32.h
od-win32/winuaechangelog.txt

index 182ed7338adbee97bcc82a386d8e57aac4822e73..ba30152b48e71a761f03ea6cb81786984d485e56 100644 (file)
@@ -399,7 +399,7 @@ static void blitter_interrupt (int hpos, int done)
 {
        if (blit_interrupt)
                return;
-       if (!done && (!currprefs.blitter_cycle_exact || currprefs.cpu_model >= 68030))
+       if (!done && (!currprefs.blitter_cycle_exact || currprefs.cpu_model >= 68030 || currprefs.cachesize || currprefs.m68k_speed < 0))
                return;
        blit_interrupt = 1;
        send_interrupt (6, 4 * CYCLE_UNIT);
index b964025c506d23c5bf2b848a04cc3cd0382cb69c..c52a3e9db09e0a2b4eabc989f3f221c0e88c6ba8 100644 (file)
@@ -2023,17 +2023,16 @@ static void finish_last_fetch (int pos, int fm, bool reallylast)
        plfr_state = plfr_end;
 
        flush_display (fm);
+       // This may not be the last fetch, store current endpos for future use.
+       // There is at least one demo that has two DDFSTRT-DDFSTOP horizontal sections.
+       thisline_decision.plfright = pos;
+
        if (!reallylast) {
-               // This may not be the last fetch, store current endpos for future use.
-               // There is at least one demo that has two DDFSTRT-DDFSTOP horizontal sections.
-               thisline_decision.plfright = pos;
-#if 1
                if (currprefs.chipset_mask & CSMASK_ECS_AGNUS) {
                        ddfstate = DIW_waiting_start;
                        fetch_state = fetch_not_started;
                }
        }
-#endif
 }
 /* check special case where last fetch wraps to next line
  * this makes totally corrupted and flickering display on
@@ -3418,7 +3417,7 @@ static void reset_decisions (void)
        }
 
        memset (outword, 0, sizeof outword);
-       memset (fetched, 0, sizeof fetched);
+       //memset (fetched, 0, sizeof fetched); // This must remain between scanlines
        todisplay_fetched[0] = todisplay_fetched[1] = false;
        memset (todisplay, 0, sizeof todisplay);
        memset (todisplay2, 0, sizeof todisplay2);
@@ -4461,6 +4460,8 @@ STATIC_INLINE int use_eventmode (uae_u16 v)
                return 1;
        if (v & 0x8000)
                return 1;
+       if (currprefs.cachesize || currprefs.m68k_speed < 0)
+               return 0;
        if (event2_count)
                return 1;
        return 0;
@@ -4578,7 +4579,7 @@ bool INTREQ_0 (uae_u16 v)
                        return false;
        }
 
-       if ((use_eventmode (v) || event2_count)) {
+       if (use_eventmode (v)) {
                // don't bother to waste time for interrupt queuing if nothing changes
                // but only if we are sure there is no other queued changes
                if (old == intreq && intreq_internal == intreq)
index 4f4bbad6f02af54812596e88eeb2c7760b0232ff..6fb8125bb74ebdd897826bf3d479011a9ec56868 100644 (file)
@@ -19,7 +19,7 @@
 #define LANG_DLL 1
 
 #if WINUAEPUBLICBETA
-#define WINUAEBETA _T("5")
+#define WINUAEBETA _T("6")
 #else
 #define WINUAEBETA _T("")
 #endif
index ac5217d78ff7bb1646fbf4476dc0f30197c57014..6eae6e8a41ff9ee956ed0f0c3ab28089e175885a 100644 (file)
 
 - restore only single input target to default.
 
+Beta 6:
+
+- Display emulation last horizontal position (plfright) was not correctly updated, caused all kinds of
+  bad side-effects, including non-immediate/non-ce blitter to take seconds to finish.
+
+Beta 5:
+
+- "Strange right edge overscan display shift" adjusted, in some situations it was visible when
+  it shouldn't have been. Looks also correct in NTSC mode now (Sawtooth pattern caused by alternating
+  line lengths)
+- OCS Agnus requires one cycle between sprite DMA and bitplane DMA, ECS Agnus can have both cycles
+  back to back. This means OCS Agnus will only fetch first sprite word (practically making sprite useless)
+  where ECS Agnus can fetch both.
+- Rarely during heavy interrupt activity in cycle-exact mode some delayed interrupt register set or clear
+  operation may have been lost causing possible spurious interrupt.
+- lea (d8,An,Xn) prefetch is last operation, not idle cycle.
+- 68020 CE mode CAS instruction prefetch was broken.
+- When UAE boot ROM is enabled, add fake autoconfig board (configdev) that has same board address and
+  size as boot ROM. Allows MMU utilities (mmu libraries, enforcer etc..) to mark boot ROM as valid
+  address space without extra command line parameters.
+- Partially rewritten horizontal Agnus bitplane state machine. Can (as usual) break something..
+- When BPLCON1 matches, only copy enabled planes to shift registers. (Back In 90 / Samplers)
+- Power led didn't turn off after soft reset.
+- Added sprite-only linetoscr routines, bordersprites and HAM do not mix well. (Satyanarayanan / Scoopex)
+- AGA and 64-bit fetch modes: last 16 or so pixels were not flushed to display, depending on BPLCON1 value.
+  (Satyanarayanan / Scoopex)
+- New (still WIP) modern native library interface merged from FS-UAE.
+- Added LSI 53C895A SCSI chip emulation from QEMU. Lots of changes to make it 53C710 compatible
+  (53C720 and later have multiple registers changes but SCRIPTS code is fortunately backwards compatible)
+  A4091 and A4000T NCR driver now "work", chip init works, returns timeout error (no device connected) when
+  it tries to detect SCSI devices. Do not connect any drives, it does not work yet.
+- pdk compressed (or dsq) files always unpacked to Amiga DD floppy size.
+- Keyboard leds lost sync in some situations.
+
+Beta 4:
+
 - More than one horizontal DDFSTRT-DDFSTOP window is now accurately emulated without requiring any hacks.
   Random garbage between display windows is also gone. (Subtle Shades / Nuance)
 - Removed some more obsolete variables from display emulation.
@@ -141,7 +177,7 @@ Huge changelog, mostly technical stuff.
 - Automatically focus debugger window when debugger activates.
 - Capture mouse after exiting debugger if it was captured when debugger was activated.
 - Do not ask for extended ADF if program writes to disk using standard dos format and 1 or more sectors
-  have non-zero header data, add message to load and ignore sector header data. (Thrill Kill disk writing)
+  have non-zero header data, add message to log and ignore sector header data. (Thrill Kill disk writing)
 - Standard partition HDF zero or -1 dostype: force DOS\0.
 - <= 512M partition hardfiles had IDE-like geometry if it didn't have OFS or FFS filesystem.
 - Always mount all non-CDROM SCSI devices if uaescsi.device is enabled and SCSI mode is SPTI.
@@ -252,7 +288,7 @@ Beta 11:
 - Using stick/dpad to autoswitch now requires move, release, move inside 0.5s window to prevent
   accidental switches.
 - Some more autoswitch bugs fixed.
-- Switching bitplane DMA on just before DDFSTRT handling improved. (Saigon Megademo "Shir Khan" part)
+- Switching bitplane DMA on just before DDFSTRT handling improved. (Sargon Megademo "Shir Khan" part)
 - 68030 + more compatible without cycle-exact was unstable.
 - Flush 68020/030 caches and refill prefetch buffers when switching CPU modes (cycle-exact/more compatible)
   on the fly.