Ticket #436 (Fixed)Tue Mar 14 16:52:16 UTC 2017
ADFSFiler ZeroPain when Format menu opened for Floppy
Reported by: | Martin Avison (27) | Severity: | Normal |
Part: | RISC OS: Module | Release: | |
Milestone: | Status | Fixed |
Details by Martin Avison (27):
This has been observed in ADFSFiler v1.09 and the latest v1.11.
Simply open the Format menu for a floppy disc icon. No disc required!
ZeroPain log extract follows…
Time: Tue Mar 14 09:32:47 2017
Location: Offset 00002008 in module ADFSFiler
Current Wimp task: ADFS Filer
Last app to start: Filer_Action
R0 = 00000000 R1 = 0000000e R2 = 20c384d0 R3 = 20c384c8
R4 = 20c38594 R5 = 00000110 R6 = 000000c0 R7 = 20c38504
R8 = 00000030 R9 = 20c3f7d2 R10 = 20bb596c R11 = 20bb5994
R12 = 20c3f434 R13 = 20c3ff10 R14 = 000000f0 R15 = fc194c70
DFAR = 0000001c Mode USR32 Flags nzCv if PSR = 20000010
fc194c28 : 048b0004 : STREQ R0,[R11],#4
fc194c2c : e4821004 : STR R1,[R2],#4
fc194c30 : e5901004 : LDR R1,[R0,#4]
fc194c34 : e4821004 : STR R1,[R2],#4
fc194c38 : e1a09001 : MOV R9,R1
fc194c3c : e4d9e001 : LDRB R14,[R9],#1
fc194c40 : e35e0020 : CMP R14,#&20 ; =" "
fc194c44 : aafffffc : BGE &FC194C3C
fc194c48 : e0491001 : SUB R1,R9,R1
fc194c4c : e3a0e000 : MOV R14,#0
fc194c50 : e482e004 : STR R14,[R2],#4
fc194c54 : e4821004 : STR R1,[R2],#4
fc194c58 : e1a0e201 : MOV R14,R1,LSL #4
fc194c5c : e28ee010 : ADD R14,R14,#&10 ; =16
fc194c60 : e3550000 : CMP R5,#0
fc194c64 : 0a000002 : BEQ &FC194C74
fc194c68 * e590901c * LDR R9,[R0,#28]
fc194c6c : e3190001 : TST R9,#1
fc194c70 : 0a000002 : BEQ &FC194C80
fc194c74 : e15e0005 : CMP R14,R5
fc194c78 : c1a0500e : MOVGT R5,R14
fc194c7c : ea000001 : B &FC194C88
fc194c80 : e15e0006 : CMP R14,R6
fc194c84 : c1a0600e : MOVGT R6,R14
fc194c88 : e3500000 : CMP R0,#0
fc194c8c : 0a000021 : BEQ &FC194D18
fc194c90 : e28cee3d : ADD R14,R12,#&03D0 ; =976
fc194c94 : e130000e : TEQ R0,R14
fc194c98 : 01a03002 : MOVEQ R3,R2
fc194c9c : 0a000003 : BEQ &FC194CB0
fc194ca0 : e590e01c : LDR R14,[R0,#28]
fc194ca4 : e31e0001 : TST R14,#1
R15 = fc194c70 = ADFSFiler +2010 = BuildFormatMenu +230
R14_usr = 000000f0 is nowhere in RAM
I think that BuildFormatMenu+230 is at a line
LDR R9,[r0,#EnumFormats_Flags]
but I cannot see how r0 can be zero at this point, as it has been used several times before.
Probably obvious to an expert…
Changelog:
Modified by Martin Avison (27) Tue, March 14 2017 - 16:58:52 GMT
Forgot to say I think the error is in s.ADFSFiler at line 4066.
Modified by Jeffrey Lee (213) Thu, March 16 2017 - 14:56:32 GMT
Line 4096, I think.
It looks like the culprit is line 4156, which branches back up to line 4082 with R0=0.
https://www.riscosopen.org/viewer/view/castle/R…
The comments in that area don’t fill me with confidence – some digging through old revisions is probably necessary to work out what the original intent was.
Modified by Jeffrey Lee (213) Sun, March 26 2017 - 19:20:27 GMT
- Status changed from Open to Fixed
- Part changed from Unspecified to RISC OS: Module
Should be fixed with ADFSFiler 1.12.