MCPcopy Create free account
hub / github.com/BlitterStudio/amiberry / blitter_handler

Function blitter_handler

src/blitter.cpp:998–1021  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

996}
997
998void blitter_handler(uae_u32 data)
999{
1000 static int blitter_stuck;
1001
1002 if (!dmaen (DMA_BLITTER)) {
1003 event2_newevent (ev2_blitter, 10, 0);
1004 blitter_stuck++;
1005 if (blitter_stuck < 20000 || !immediate_blits)
1006 return; /* gotta come back later. */
1007 /* "free" blitter in immediate mode if it has been "stuck" ~3 frames
1008 * fixes some JIT game incompatibilities
1009 */
1010#ifdef DEBUGGER
1011 debugtest (DEBUGTEST_BLITTER, _T("force-unstuck!\n"));
1012#endif
1013 }
1014 blitter_stuck = 0;
1015 if (blit_slowdown > 0 && !immediate_blits) {
1016 event2_newevent (ev2_blitter, makebliteventtime(blit_slowdown), 0);
1017 blit_slowdown = -1;
1018 return;
1019 }
1020 blitter_doit();
1021}
1022
1023#ifdef CPUEMU_13
1024

Callers 2

do_blitterFunction · 0.85
maybe_blitFunction · 0.85

Calls 5

dmaenFunction · 0.85
event2_neweventFunction · 0.85
debugtestFunction · 0.85
makebliteventtimeFunction · 0.85
blitter_doitFunction · 0.85

Tested by

no test coverage detected