Page zero access bugs

Discuss ADFFS development and download test releases
Locked
JonAbbott
Posts: 2245
Joined: Thu Apr 11, 2013 12:13 pm
Location: Essex

Page zero access bugs

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

NOT FIXED:

Abuse
  • 90074 - while loading
Acheton (Acheton & Kingom of Hamil / Adventures, classic complication)
  • 1218C - when quitting the game
ArcFS 0.75 Module
  • 1A00 - SWI XOS_FSControl without setting R3=0
Arcturus
  • 2B78 in CoconizerPlayer module - while loading if you skip the intro too early
  • 14BEA4 - when quitting the game
  • 931C4 - when entering a level
Battle Chess
  • 13454 - at "Check and mate...Game over." - D444 triggers the read at the Aborting address
The Chaos Engine
  • 34F90 - on the main menu
Chequered Flag [RO3 version]
  • 1BEA0 - whilst displaying the intro
Command Ship
  • 1FE94 - while loading
Corruption
  • +CBD0 in CLib when quitting
The Crystal Maze
  • 17E70 when quitting
E-Type 2
  • 149F8 - while loading. Unset variable at 201A4
Empire Soccer 94
  • 3F8E8 - after pressing ENTER when loaded
The Exotic Adventures of Sylvia Layne
  • 4AF00 - when entering a level
Formula Fun
  • 5B4 in TrackerModule
Guile
  • 29C in Audio1 - when quitting the game
Heimdall
  • EB10 - sometimes occurs when all characters die
High Risc Racing
  • 14260 - while loading. E9A0 BL &14238 should be BLNE &14238
Interdictor
  • 16078 - shortly after starting
James Pond II Robocod
  • 8024 - while loading
Man at Arms
  • 290 in SoundSystem module - while loading, unset variable in voice handler
Software 42 Collection: Raw Power
  • AFC08 - when you're hit
Robotix
  • 158 in Start module - while loading, unset variable in voice handler
Wizard Apprentice
  • NEWMAIN - lots of references to !4288 (10C0 = VDU screen start address)
Wonderland
  • 16BB4 - when run from RAM::0.$.!wonderla
  • 4E9C4 - whilst loading, if <wonderland$dir> doesn't contain at least one : and two . ie adfs::0.$.!wonderla
X-Fire
  • 9770 - after loading



FIXED:

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
Brutal Horse Power
  • 181CC - unset variables in voice handler
Bubble Impact
  • 164F0 - when starting a game ([14CB18]=0)
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
  • 825C - while moving the cursor around on the level selection screen. Bug in code: 26BD8 BEQ &26BF8 should be BLE &26BF8
  • 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
Deadline
  • 1C608 - while loading, unset variable in voice handler
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
Fireball
  • E7DC - after displaying the main screen. E7CC MOV R0,#&35C0 is trying to read softFont from its Arthur Page Zero location
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
James Pond Underwater Agent and Running Water
  • 8484 - after entering your name when selecting Play
Kaptain Konflict
  • A1260 - Voice Generator, when starting the first level
  • A15C8 - Bug in code: Null pointer, when starting the first level
K.V.
  • 8044 SWI Wimp_LoadTemplate. 8030/8034 initialise R2/R3 to page zero
The Last Days of Doom & Hezarin
  • 183B8 - when quitting
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
Put It!
  • 156B8 in CLibAPCS_R - while loading, passed a null pointer. Bug in code: Cursor function doesn't set R1,R2 before calling _kernel_swi
  • 156B8 in CLibAPCS_R - when starting a game, passed a null pointer. Bug in code: TestIcons function doesn't set R1,R2 before calling _kernel_swi
Software 42 Collection: Raw Power
  • B60CC - sound channel handler doesn't check if the channel has an active sound
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
SimCity 2000 [A5000 version]
  • <random address> - when quitting. 57EB0 LDMIA R13,{R0,PC} should be LDMIA R13!,{R0,PC}
SimCity 2000 [RPC version]
  • <random address> - when quitting. 62024 LDMIA R13,{R0,PC} should be LDMIA R13!,{R0,PC}
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 0.91
  • 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
WorldScape 1.00
  • 14AEC - every call to the memcopy routine @ 14AE0 generates Page Zero accesses due to R1 corruption. As its not obvious what R1 should be, ignore the memcopy by: 14AE0 MOV PC,R14
  • 19194..191A4 - while loading and when clicking YES to DATA disk inserted
Xenon 2: Megablast
  • 5E684 - when pressing CTRL-ESC at the menu. Bug in code: Exits via R14 instead of OS_Exit
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

Locked