Viewing Issue Advanced Details
ID Category [?] Severity [?] Reproducibility Date Submitted Last Update
01128 Gameplay Minor Have not tried Feb 11, 2008, 15:42 Jan 11, 2010, 23:53
Tester -Misc Reporters- View Status Public Platform
Assigned To stephh Resolution Bugs That Aren't Bugs OS
Status [?] Resolved Driver
Version 0.70u5 Fixed in Version Build
Fixed in Git Commit Github Pull Request #
Summary 01128: dazzler: Bonus points at the end of a level are not awarded correctly.
Description Bonus points at the end of a level are not awarded correctly, as far as I can tell. Sometimes the game gives you more bonus points than you have remaining on the counter, sometimes less. Inp file is attached.

To give a brief overview:

Level 1, Maze: Level finished with 4800 points, bonus counter reads 1900, score total is 6400. (-300)
Level 1, Platform: Level finished with 6400 points, bonus counter reads 2300, score total is 8100. (-600)
Level 2, Maze: Level finished with 12800 points, bonus counter reads 1800, score total is 14500. (-100)
Level 2, Platform: Level finished with 14500 points, bonus counter reads 2300, score total is 16200. (-600)
Level 3, Maze: Level finished with 21700 points, bonus counter reads 3000, score total is 24100. (-600)
Level 3, Platform: Level finished with 24100 points, bonus counter reads 2300, score total is 25800. (-600)
Level 4, Maze: Level finished with 30500 points, bonus counter reads 1900, score total is 32300. (-100)
Level 4, Platform: Level finished with 32300 points, bonus counter reads 2200, score total is 33900. (-600)
Steps To Reproduce
Additional Information Posted by QTQuazar
Github Commit
Flags Verified with Code
Regression Version
Affected Sets / Systems dazzler
Attached Files
zip file icon dazzler070u5gre.zip (4,567 bytes) Feb 14, 2008, 18:04
Relationships
There are no relationship linked to this issue.
Notes
1
User avatar
No.05493
stephh
Developer
Jan 11, 2010, 23:52
The .inp file isn't valid anymore, but I found where the problem was.

The problem occurs only at the end of level because the timer is NOT BCD coded while score is (eg: display 3000 for bonus timer stores in fact 0x1e = 30 instead of 0x30 to 0x1fc7).

So if the timer is NOT an invalid value (eg: 2000 <-> 0x14), the IDC flag might not be set, so the CPU core (which is good) adds 0x0a, which means that 6(00) is substracted to the awarded bonus.

As for the -100 problem, it's because timer is decremented but display hasn't been updated to reflect the new value.

So I "resolve" this bug as a BTANB. Thanks to Juergen for his help in better understanding the S2650 CPU.