Page zero access bugs

Discuss ADFFS development versions and upcoming additions
JonAbbott
Posts: 1737
Joined: Thu Apr 11, 2013 12:13 pm
Location: Essex

Page zero access bugs

Post by JonAbbott » Fri May 15, 2015 10:46 am

Arcturus
  • 14BEA4 - when quitting the game
Battle Chess
  • 13454 - at "Check and mate...Game over." - D444 triggers the read at the Aborting address
Bubble Impact
  • 164F0 - when starting a game ([14CB18]=0)
Command Ship
  • 1FE94 - whilst loading
The Exotic Adventures of Sylvia Layne
  • 4AF00 - when entering a level
Heimdall
  • EB10 - sometimes occurs when all characters die
Wizard Apprentice
  • NEWMAIN - lots of references to !4288 (10C0 = VDU screen start address)
Xenon 2: Megablast
  • 5E684 - when pressing CTRL-ESC at the menu. Bug in code
X-Fire
  • 9770 - after loading



Now fixed in the boot script:

Alerion
  • 26AC4 - starting demo mode. Bug in code 26AC0: LDRB R0,&26AA4 / LDR R0,[R0,#0] should be LDR R0,&26AA4 / LDRB R0,[R0,#0]
Arc/A3000 Christmas Box, The: Zap the red wierdos from Mars
  • 16010 - Voice Generator, during loading
Arc/A3000 Christmas Box, The: PON! in Winterland
  • 64920 - Voice Generator, during loading
Birds of War
  • Within CLib when starting/stopping/pausing music. Bug in code: Null *in pointer passed to _kernel_swi
    2EAF8 MOV R1,#0 should be SUB R1,SP,#&28
    2F4BC MOV R1,#0 should be SUB R1,SP,#&28
    2F518 MOV R1,#0 should be SUB R1,SP,#&28
BlastOn (Eterna and UCS releases)
  • 2CAF4 - Stacks R14 within an IRQ routine, which results in the routine randomly exiting to page zero
Boogie Buggy
  • 13B34 - on the level selection screen. Bug in code: 1410C exits without restoring R1
Cannon Fodder
  • F4678 - whilst in-level. Bug in code: Null reference
  • F8298 - whilst in-level. Bug in code: LDRB R0,[R7,#2] should be LDRB R0,[R6,#2]
  • F82A4 - whilst in-level. Bug in code: LDRB R0,[R7,#52] should be LDRB R0,[R6,#52]
  • F82B0 - whilst in-level. Bug in code: LDRB R0,[R7,#6] should be LDRB R0,[R6,#6]
  • F82BC - whilst in-level. Bug in code: LDRB R0,[R7,#56] should be LDRB R0,[R6,#56]
  • 124040 - during loading. Bug in code: LDRB R0,[R6,#5] should be LDRB R0,[R9,#5]
Carnage Inc
  • 1E1F0 - when you die. Bug in code: LDRB R2,[R0,#20] should be LDRB R2,[R1,#20]
  • 1E1F8 - when you die. Bug in code: STRB R2,[R0,#20] should be STRB R2,[R1,#20]
  • 16080 - when you press ALT. Bug in code: LDRB R4,[R3,#11] should be LDRB R4,[R4,#11]
  • 218EC - when you place an object. Bug in code: R5 is corrupted before use, fix by restoring R5 from the stack:
    218EC LDR R5,[R13, #4]
    218F0 LDRB R2,[R5,#8]
    218F4 TST R2,#&40
    218F8 MOV R2,#&A0
    218FC STRNEB R2,[R5,#&2E]
    21900 MOV R2,#0
    21904 STRNEB R2,[R5,#&2F]
  • Paint Module A94 - when you exit a room. Bug in code:
    A90 LDRB R4,[R4,#12] should be LDRB R5,[R4,#12]
    AA0 ADD R4,R4,R10 should be ADD R5,R5,R10
    AA4 CMP R4,R1 should be CMP R5,R1
Cataclysm
  • E858 - after entering a highscore. Bug in code: Null pointer
Caverns
  • 4C238 - after displaying the map. Bug in code: Instruction shouldn't be there
Chequered Flag [RO2 version]
  • A59C - during loading, checking the disc record. Bug in code: LDR R0,[R0,#0] should be LDR R0,[R1,#0]
Chopper Force
  • 33C - in ChopperForceIntro Module during the intro. Bug in code: Null pointer, installs Voices before setting up their sample pointers
  • 965D8 - after loading. Bug in code: Null pointer
The Cobalt Seed
  • Various null pointers. Bug in code: Relies on OS_Heap allocations being 8 byte aligned
  • 15758 - Voice Generator. Bug in code: Null pointer
Command Ship
  • 158B8 - whilst loading. Bug in code
Conqueror
  • 113F8 - when it plays the track sound. Two issues:
    1. Bug in code: Hardcoded to support three voice handlers, the fourth overwrites the code
    2. Bug in RISCOS: The GateOn entry isn't called first, so the SCCB isn't initialised (fixed in 2.49h)
Confusion
  • 33C in all four sound Modules. Bug in code: 318 BL &32C should be BLNE &32C
Dune II - Battle for Arrakis
  • 41724 - after clicking "Play a Game". Bug in code, a CLib file function is called with an explicit Null pointer in R0 from four locations:
    26900 MOV R0, #0
    26904 BL &3BDD0
    27A10 MOV R0, #0
    27A14 BL &3BDD0
    2DA44 MOV R0, #0
    2DA48 BL &3BDD0
    2DCEC MOV R0, #0
    2DCF0 BL &3BDD0
Fire & Ice
  • 1E310 - during loading. Bug in code: Null pointer
  • 1DBF0 - during loading. Bug in code: Null pointer
Frak!
  • Resource.Init - during loading. Attempts "*SAVE <Wimp$Scrap> 0 0" to see if it can write to the Scrap directory
Games Minipack Five: PON!
  • 64558 - Voice Generator, during loading
Gods
  • 39E10 - Voice Generator, at the "LOADING" screen
Kaptain Konflict
  • A1260 - Voice Generator, when starting the first level
  • A15C8 - Bug in code: Null pointer, when starting the first level
The Last Ninja
  • Ninjasticks +480 - Voice Generator, at the main menu. Bug in code: The sample initialization code misses the first sample +168: ADD R1,R1,#8 should be NOP and +16C: MOV R2,#4 should be MOV R2,#5
The Legend of the Lost Temple
  • 95524 - When it displays the "Legend of the Lost Temple" title screen after the intro. Bug in code: Null pointer
  • 22870 - When you start a level. Bug in code: Null pointer
  • 243B4 - When you fire and hit a monster. Bug in code: LDR R4,[R1,#4] should be LDR R4,[R11,#4]
  • 24CF4 - When you fire and hit an eagle. Bug in code: LDR R4,[R1,#4] should be LDR R4,[R11,#4]
Lemmings 2
  • 99934 - Immediately on entering a level. Bug in code: Null pointer
  • 99954 - When the first lemming drops. Bug in code: Null pointer
Manchester United Europe
  • 69D30 - after the intro sequence. Bug in CPU detection code
Pac-mania (F10447)
  • A1940 - Voice Generator
  • A1B18 - Voice Generator
  • A1CF0 - Voice Generator
  • A1EC8 - Voice Generator
Two issues:
  1. Bug in RISCOS: The GateOn entry isn't called first, so the SCCB isn't initialised (fixed in 2.49h)
  2. Bug in code: The initial GateOn entry values used to initialize the SCCB aren't initialized when the Voice Generators are installed
Pac-mania (F10507)
  • 6FF90 - Voice Generator
  • 70168 - Voice Generator
  • 70340 - Voice Generator
  • 70518 - Voice Generator
Two issues:
  1. Bug in RISCOS: The GateOn entry isn't called first, so the SCCB isn't initialised (fixed in 2.49h)
  2. Bug in code: The initial GateOn entry values used to initialize the SCCB aren't initialized when the Voice Generators are installed
Pandora's Box
  • Paint Module 9F4 - when you enter certain rooms. Bug in code:
    9F0 LDRB R4,[R4,#27] should be LDRB R5,[R4,#27]
    A00 ADD R4,R4,R10 should be ADD R5,R5,R10
    A04 CMP R4,R1 should be CMP R5,R1
Paradroid 2000
  • 906C - as you start a game. Bug in code: Null pointer
Rick Dangerous
  • 75894 - as you start a game. Bug in code: Unset value
Rockfall
  • 681D8 - Voice Generator. Bug in code: Invalid pointer
  • 68244 - Voice Generator. Bug in code: Null pointer
  • 68420 - Voice Generator. Bug in code: Null pointer
  • 6844C - Voice Generator. Bug in code: Null pointer
  • 68478 - Voice Generator. Bug in code: Null pointer
  • 684A4 - Voice Generator. Bug in code: Null pointer
  • 684D0 - Voice Generator. Bug in code: Null pointer
  • 684FC - Voice Generator. Bug in code: Null pointer
  • 68528 - Voice Generator. Bug in code: Null pointer
  • 68554 - Voice Generator. Bug in code: Null pointer
Rotor
  • 9328 - when you start a level. Bug in code: Null pointer
Sensible Soccer
  • B8EC - after inserting disc 2. Bug in code: 37514 branches to a screen copy routine, before the screen address is known
SpeedBall 2
  • 1E548 - shortly after entering a match. Bug in code: Null pointer
S.W.I.V (original and BUZZ versions)
  • 19C24 during loading. Bug in code: Null pointer
  • 2163C in-game if keys aren't pressed and its left to play. Bug in code: Null pointer
  • 21694 in-game if keys aren't pressed and its left to play. Bug in code: Null pointer
  • 237F4 in-game if keys aren't pressed and its left to play. Bug in code: Null pointer
  • 29D64 in-game if keys aren't pressed and its left to play. Bug in code: Null pointer
  • 2A030 in-game if keys aren't pressed and its left to play. Bug in code: Null pointer
  • 2A070 in-game if keys aren't pressed and its left to play. Bug in code: Null pointer
Wolfenstein 3D
  • 11418 - after intro sequence. Bug in code, enables TickerV code before the vars are initialized
Warlocks
  • 6BC18 - Voice Generator
Wonderland
  • 58F8C - when reporting an error. Bug in code: Doesn't build a stack frame before calling the os_byte subroutine:
    27F4C LDMFD R11,{R4,R11,R13,R14} should be SWI OS_Byte
    27F50 B &58F5C should be LDMFD R11,{R4,R11,R13,PC}
  • 4EFA4 - during loading. Bug in code: Null pointer
WorldScape
  • F6D8 - every call to the memcopy routine @ F6CC generates Page Zero accesses due to R1 corruption. As its not obvious what R1 should be, ignore the memcopy by: F6CC MOV PC,R14
X-Fire
  • 1F170 - after intro sequence. Bug in code: The code sequence at 11214 is following the Arthur convention for Sound_InstallVoice 0 and is expecting R0 to point to a "*** No Voice" string. On RO2+, R0 is a null pointer if no voice is installed on the channel
  • 9EB4 - if left on the demo sequence. Bug in code: Null pointer

Vanfanel
Posts: 373
Joined: Mon Sep 16, 2013 12:01 am

Re: Page zero access bugs

Post by Vanfanel » Sat May 16, 2015 12:15 pm

Is the new boot script available for download on the FTP? I can't seem to find it.

JonAbbott
Posts: 1737
Joined: Thu Apr 11, 2013 12:13 pm
Location: Essex

Re: Page zero access bugs

Post by JonAbbott » Sat May 16, 2015 4:32 pm

Yes, the latest obey.zip is on the dev site, as are previous versions, although you already have the latest bundled with ADFFS.

I've modified the two scripts for Pac-mania - but haven't uploaded it yet as it's still work in progress to resolve the music issue.

Vanfanel
Posts: 373
Joined: Mon Sep 16, 2013 12:01 am

Re: Page zero access bugs

Post by Vanfanel » Sat May 16, 2015 7:12 pm

Sorry, Jon, I must be missing something because in Development/Obey the only obey.zip has date of 04/03/15.
And the ones in /Development/Obey/archive/ are even older.

JonAbbott
Posts: 1737
Joined: Thu Apr 11, 2013 12:13 pm
Location: Essex

Re: Page zero access bugs

Post by JonAbbott » Sat May 16, 2015 9:27 pm

Vanfanel wrote:Sorry, Jon, I must be missing something because in Development/Obey the only obey.zip has date of 04/03/15.
I've not had to change any in a while, so that sounds about right. I wouldn't trust the date stamp on the file too much though, it's the dates on the Obey files within it. I usually date stamp the ZIP, but must admit to forgetting sometimes, so the date isn't always correct.

JonAbbott
Posts: 1737
Joined: Thu Apr 11, 2013 12:13 pm
Location: Essex

Re: Page zero access bugs

Post by JonAbbott » Sun May 17, 2015 7:21 am

JonAbbott wrote:I usually date stamp the ZIP, but must admit to forgetting sometimes, so the date isn't always correct.
It is the latest obey.zip and did have the wrong datestamp as I suspected - now corrected to 13th Apr to save confusion.

Vanfanel
Posts: 373
Joined: Mon Sep 16, 2013 12:01 am

Re: Page zero access bugs

Post by Vanfanel » Sun May 17, 2015 2:41 pm

This is what I get when I try Lemmings with latest beta, latest ADFFS500 and latest obey.zip


https://www.dropbox.com/s/zgkxrdftx2a9c05/DSCF1031.JPG

JonAbbott
Posts: 1737
Joined: Thu Apr 11, 2013 12:13 pm
Location: Essex

Re: Page zero access bugs

Post by JonAbbott » Sun May 17, 2015 3:05 pm

Vanfanel wrote:This is what I get when I try Lemmings with latest beta, latest ADFFS500 and latest obey.zip
Lemming doesn't work on the latest development build, please refer to the known issues list for the current state of all supported games.

You also can't mix the latest development obey.zip with a previous beta as it won't support required features.

Vanfanel
Posts: 373
Joined: Mon Sep 16, 2013 12:01 am

Re: Page zero access bugs

Post by Vanfanel » Sun May 17, 2015 4:27 pm

Sorry, Jon, I undestood it was working with the new obey.zip in conjuntction with the latest beta! Sorry.

JonAbbott
Posts: 1737
Joined: Thu Apr 11, 2013 12:13 pm
Location: Essex

Re: Page zero access bugs

Post by JonAbbott » Sun May 17, 2015 6:04 pm

Vanfanel wrote:Sorry, Jon, I undestood it was working with the new obey.zip in conjuntction with the latest beta! Sorry.
Ah, that explains the confusion. Sadly not, the dev build still has a long list of bugs I need to resolve to get the fully supported list of games running. I probably added to the confusion by moving the OP out of another thread when I started looking into sound issues.

I've been alternating my time between bug fixing, looking at sound issues (the Voice Generator issues detailed in the OP) and recording YouTube videos. The bug fixing is slow going though and if I'm honest is going to take a few months.

Post Reply