English Amiga Board


Go Back   English Amiga Board > Support > support.WinUAE

 
 
Thread Tools
Old 29 May 2023, 11:42   #1
Crashdisk
Moderator
 
Crashdisk's Avatar
 
Join Date: Jun 2009
Location: France
Age: 46
Posts: 1,982
Blocking dead-end emulation

I found a rather annoying bug. WinUAE completely freezes even the GUI remains accessible. Reset, Restart and Quit have no effect.
The task must be killed to quit WinUAE!

- Config Quickstart A1200 non-expanded Best compatibility
- Disable CPU Caches in boot menu (really important)
- Load Doodlebug - Bug-Bash 2 (1992)(Core)[cr FLT] (In The Zone!)
- Skip cracktro
- Lockup on Loading - Please wait.. screen

Last working version 4.9.1
Test 4.10.0 > NOK
Test 4.10.1 > NOK
Test 5.0.0b15 > NOK
Crashdisk is offline  
Old 29 May 2023, 14:31   #2
Waccoon
Registered User
 
Waccoon's Avatar
 
Join Date: May 2022
Location: Boston / USA
Age: 46
Posts: 38
Confirmed, and it appears to be related to a blit that never finishes. Sometimes this happens with the caches on, but less often. 24/32 bit CPU or NTSC/PAL doesn't matter. With caches off, infinite loop always happens so logs aren't written and I can't open the debugger to dump blitter state. With caches on, sometimes it exists the loop, which at least allowed me to get some info from the log.

Infinite loop in blitter.cpp::waitingblits():

Code:
bool waited = false;
while ((blt_info.blit_main || blt_info.blit_finald) && dmaen (DMA_BLITTER)) {
	// * LOOPS FOREVER
	waited = true;
	x_do_cycles (8 * CYCLE_UNIT);
}
blit_info structure dump (never updates, so maybe a blitter/CPU cycle conflict):

Code:
blt_info               {...}       bltinfo
blitzero               0x00000001  int
bltadat                0xffff      unsigned short
bltbdat                0x0000      unsigned short
bltcdat                0x0000      unsigned short
bltddat                0x0000      unsigned short
bltaold                0xffff      unsigned short
bltahold               0x0000      unsigned short
bltbold                0x0000      unsigned short
bltbhold               0x0000      unsigned short
bltafwm                0xffff      unsigned short
bltalwm                0xffff      unsigned short
vblitsize              0x00000010  int
hblitsize              0x00000001  int
bltamod                0x00000000  int
bltbmod                0x00000000  int
bltcmod                0x00000000  int
bltdmod                0x00000000  int
got_cycle              0x00000001  int
nasty_cnt              0x00000000  int
wait_nasty             0x00000000  int
blitter_nasty          0x00000000  int
blit_interrupt         0x00000000  int
blitter_dangerous_bpl  0x00000000  int
blit_main              0x00000001  int
blit_finald            0x00000000  int
blit_pending           0x00000000  int
blit_queued            0x00000004  int
finishhpos             0xffffffff  int
blt_info.blit_finald   0x00000000  int
blt_info.blit_main     0x00000001  int
waited                 true        bool
End of log file after autoconfig finishes:

Code:
2023-05-29 08:22:53
53-085 [15 140=002]: Illegal bget at 00a00000 PC=f8011a
53-085 [15 189=002]: SERIAL: period=372, baud=9600, hsyncs=14, bits=8, PC=f8018a
53-086 [15 188=005]: B-Trap F201 at 00F80CA0 -> 00F80CC0
53-086 [15 134=012]: Illegal lput at 00200000=ffffffff PC=f80266
53-086 [15 025=021]: Illegal wput at 00c3f09a=00003fff PC=f8039e
53-086 [15 026=021]: Illegal wget at 00c3f01c PC=f803a4
53-086 [15 029=021]: Illegal wput at 00c3f09a=ffffbfff PC=f803aa
53-086 [15 031=021]: Illegal wget at 00c3f01c PC=f803b0
53-086 [15 034=021]: Illegal wput at 00c3f09a=00000000 PC=f803b8
53-086 [15 037=021]: Illegal wput at 00c3f09a=fffff2d4 PC=f803c4
53-086 [15 038=021]: Illegal wget at 00c3f09a PC=f803c8
53-365 [32 000-000]: SNDRATE 262.0*227.5*59.826099=3565934.750000
53-365 [32 000-000]: NTSC mode V=59.8261Hz H=15665.4053Hz (228x262+1) IDX=11 (NTSC) D=0 RTG=0/0
57-605 [284 221-176]: BEAMCON0 = 0020, PC=00008660
57-605 [284 057-177]: Illegal instruction: 4afc at 000457E6 -> 000457E8
57-621 [286 000-000]: SNDRATE 313.0*227.0*50.379940=3579545.000000
57-621 [286 000-000]: PAL mode V=50.3799Hz H=15768.9209Hz (227x312+1) IDX=10 (PAL) D=0 RTG=0/0
57-622 [286 000-000]: D3D11 754x574 main texture allocated
57-622 [286 000-000]: POS (0 0 720 568) - (17 3 737 679)[720,676] (0 -54) S=720*568 B=754*574
57-622 [286 000-000]: Buffer 0 size (754*574) Native
57-623 [286 000-000]: RTGFREQ: 312*50.3799 = 15718.5410 / 50.4 = 312
57-623 [286 000-000]: D3D11 Shader and extra textures restored
57-625 [286 000-000]: BEAMCON0=0020 VTOTAL=2047 HTOTAL=255 (0FF)
57-625 [286 000-000]:  HS=0000-0000 HB=0000-0000 HC=0000
57-625 [286 000-000]:  VS=0000-0000 VB=0001-0000
57-625 [286 000-000]:  HSYNCSTART=00F0.0 HSYNCEND=0018.0
57-625 [286 000-000]:  Lines=26-313
57-625 [286 000-000]: PC=00045f7c COP=0002b844
2023-05-29 08:23:03
03-138 [563 011-261]: BLITTER: BLTCON0 0100 -> 0ffe BLTCON1 0000 -> 0000 PC=0000c2da (11 261)
03-138 [563 011-261]: Blitter shifter bits 0: CH=---D (0-0-0-0 O=0) PC=0000c2da
03-138 [563 011-261]: Blitter shifter bits 0: CH=ABCD (0-0-0-0 O=0) PC=0000c2da
07-192 [563 076-263]: waiting_blits detected PC=0000c346
09-847 [564 000-001]: ShowCursor 0
09-863 [564 115-260]: BLITTER: BLTCON0 0100 -> 0ffe BLTCON1 0000 -> 0000 PC=0000c2da (115 260)
09-863 [564 115-260]: Blitter shifter bits 0: CH=---D (0-0-0-0 O=0) PC=0000c2da
09-863 [564 115-260]: Blitter shifter bits 0: CH=ABCD (0-0-0-0 O=0) PC=0000c2da
09-883 [565 113-260]: BLITTER: BLTCON0 0100 -> 0ffe BLTCON1 0000 -> 0000 PC=0000c2da (113 260)
09-883 [565 113-260]: Blitter shifter bits 0: CH=---D (0-0-0-0 O=0) PC=0000c2da
09-883 [565 113-260]: Blitter shifter bits 0: CH=ABCD (0-0-0-0 O=0) PC=0000c2da
09-902 [566 113-260]: BLITTER: BLTCON0 0100 -> 0ffe BLTCON1 0000 -> 0000 PC=0000c2da (113 260)
09-902 [566 113-260]: Blitter shifter bits 0: CH=---D (0-0-0-0 O=0) PC=0000c2da
09-902 [566 113-260]: Blitter shifter bits 0: CH=ABCD (0-0-0-0 O=0) PC=0000c2da
09-922 [567 114-260]: BLITTER: BLTCON0 0100 -> 0ffe BLTCON1 0000 -> 0000 PC=0000c2da (114 260)
09-922 [567 114-260]: Blitter shifter bits 0: CH=---D (0-0-0-0 O=0) PC=0000c2da
09-922 [567 114-260]: Blitter shifter bits 0: CH=ABCD (0-0-0-0 O=0) PC=0000c2da
09-942 [568 114-260]: BLITTER: BLTCON0 0100 -> 0ffe BLTCON1 0000 -> 0000 PC=0000c2da (114 260)
09-942 [568 114-260]: Blitter shifter bits 0: CH=---D (0-0-0-0 O=0) PC=0000c2da
09-942 [568 114-260]: Blitter shifter bits 0: CH=ABCD (0-0-0-0 O=0) PC=0000c2da
09-962 [569 114-260]: BLITTER: BLTCON0 0100 -> 0ffe BLTCON1 0000 -> 0000 PC=0000c2da (114 260)
09-962 [569 114-260]: Blitter shifter bits 0: CH=---D (0-0-0-0 O=0) PC=0000c2da
09-962 [569 114-260]: Blitter shifter bits 0: CH=ABCD (0-0-0-0 O=0) PC=0000c2da
09-982 [570 112-260]: BLITTER: BLTCON0 0100 -> 0ffe BLTCON1 0000 -> 0000 PC=0000c2da (112 260)
09-982 [570 112-260]: Blitter shifter bits 0: CH=---D (0-0-0-0 O=0) PC=0000c2da
09-982 [570 112-260]: Blitter shifter bits 0: CH=ABCD (0-0-0-0 O=0) PC=0000c2da
10-002 [571 046-278]: BLITTER: BLTCON0 0100 -> 0ffe BLTCON1 0000 -> 0000 PC=0000c2da (46 278)
10-002 [571 046-278]: Blitter shifter bits 0: CH=---D (0-0-0-0 O=0) PC=0000c2da
10-002 [571 046-278]: Blitter shifter bits 0: CH=ABCD (0-0-0-0 O=0) PC=0000c2da
10-021 [572 115-260]: BLITTER: BLTCON0 0100 -> 0ffe BLTCON1 0000 -> 0000 PC=0000c2da (115 260)
10-021 [572 115-260]: Blitter shifter bits 0: CH=---D (0-0-0-0 O=0) PC=0000c2da
10-021 [572 115-260]: Blitter shifter bits 0: CH=ABCD (0-0-0-0 O=0) PC=0000c2da
10-041 [573 115-260]: BLITTER: BLTCON0 0100 -> 0ffe BLTCON1 0000 -> 0000 PC=0000c2da (115 260)
10-041 [573 115-260]: Blitter shifter bits 0: CH=---D (0-0-0-0 O=0) PC=0000c2da
10-041 [573 115-260]: Blitter shifter bits 0: CH=ABCD (0-0-0-0 O=0) PC=0000c2da
10-061 [574 115-260]: BLITTER: BLTCON0 0100 -> 0ffe BLTCON1 0000 -> 0000 PC=0000c2da (115 260)
10-061 [574 115-260]: Blitter shifter bits 0: CH=---D (0-0-0-0 O=0) PC=0000c2da
10-061 [574 115-260]: Blitter shifter bits 0: CH=ABCD (0-0-0-0 O=0) PC=0000c2da
10-081 [575 113-260]: BLITTER: BLTCON0 0100 -> 0ffe BLTCON1 0000 -> 0000 PC=0000c2da (113 260)
10-081 [575 113-260]: Blitter shifter bits 0: CH=---D (0-0-0-0 O=0) PC=0000c2da
10-081 [575 113-260]: Blitter shifter bits 0: CH=ABCD (0-0-0-0 O=0) PC=0000c2da
10-101 [576 112-260]: BLITTER: BLTCON0 0100 -> 0ffe BLTCON1 0000 -> 0000 PC=0000c2da (112 260)
10-101 [576 112-260]: Blitter shifter bits 0: CH=---D (0-0-0-0 O=0) PC=0000c2da
10-101 [576 112-260]: Blitter shifter bits 0: CH=ABCD (0-0-0-0 O=0) PC=0000c2da
10-121 [577 145-260]: BLITTER: BLTCON0 0100 -> 0ffe BLTCON1 0000 -> 0000 PC=0000c2da (145 260)
10-121 [577 145-260]: Blitter shifter bits 0: CH=---D (0-0-0-0 O=0) PC=0000c2da
10-121 [577 145-260]: Blitter shifter bits 0: CH=ABCD (0-0-0-0 O=0) PC=0000c2da
10-140 [578 116-260]: BLITTER: BLTCON0 0100 -> 0ffe BLTCON1 0000 -> 0000 PC=0000c2da (116 260)
10-140 [578 116-260]: Blitter shifter bits 0: CH=---D (0-0-0-0 O=0) PC=0000c2da
10-140 [578 116-260]: Blitter shifter bits 0: CH=ABCD (0-0-0-0 O=0) PC=0000c2da
10-160 [579 114-260]: BLITTER: BLTCON0 0100 -> 0ffe BLTCON1 0000 -> 0000 PC=0000c2da (114 260)
10-160 [579 114-260]: Blitter shifter bits 0: CH=---D (0-0-0-0 O=0) PC=0000c2da
10-160 [579 114-260]: Blitter shifter bits 0: CH=ABCD (0-0-0-0 O=0) PC=0000c2da
10-180 [580 118-260]: BLITTER: BLTCON0 0100 -> 0ffe BLTCON1 0000 -> 0000 PC=0000c2da (118 260)
10-180 [580 118-260]: Blitter shifter bits 0: CH=---D (0-0-0-0 O=0) PC=0000c2da
10-180 [580 118-260]: Blitter shifter bits 0: CH=ABCD (0-0-0-0 O=0) PC=0000c2da
10-200 [581 112-260]: BLITTER: BLTCON0 0100 -> 0ffe BLTCON1 0000 -> 0000 PC=0000c2da (112 260)
10-200 [581 112-260]: Blitter shifter bits 0: CH=---D (0-0-0-0 O=0) PC=0000c2da
10-200 [581 112-260]: Blitter shifter bits 0: CH=ABCD (0-0-0-0 O=0) PC=0000c2da
14-230 [785 000-000]: SETSYSTIME
Waccoon is offline  
Old 29 May 2023, 16:48   #3
Mclane
Old retro god.
 
Mclane's Avatar
 
Join Date: Apr 2002
Location: Northolt, West London
Age: 62
Posts: 857
Nice to see a core group of very technical folks to aid Toni with some problem solving. Great work people.
Mclane is online now  
Old 29 May 2023, 17:57   #4
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,510
Blitter gets stuck because blitter register is written while blitter is active, probably because 68020 is too fast and code is stupid (few NOPs instead of blit wait!).

I'll fix it by allowing "Wait for Blitter" option to exit if blitter hung or it waited too long (multiple frames).
Toni Wilen is online now  
 


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools

Similar Threads
Thread Thread Starter Forum Replies Last Post
Integrating x87 FPU emulation from PCem into Bridgeboard emulation superfrog request.UAE Wishlist 2 31 July 2020 16:39
Blocking of WinUAE Crashdisk support.WinUAE 3 01 January 2020 19:19
A1200 is dead, Rasp-Pi 3 - emulation - worth of it? wlcina support.Hardware 32 31 July 2017 17:49
Non-blocking CD-ROM archive decompression Leandro Jardim support.WinUAE 1 07 November 2016 08:24
Is emulation/retro gaming coming to an end? mrbob2 Retrogaming General Discussion 73 03 February 2008 12:18

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +2. The time now is 20:04.

Top

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.
Page generated in 0.07213 seconds with 13 queries