Seeing as the CV used a Z-80A processor, as did the original arcade Donkey Kong
machine, here's all my thoughts about the game timer on the 24K ROM version:
The instructions would be thus, that on the 24K ROM version, the timer never goes past 8000 bonus points. The game timer on both the 24K and 16K versions starts at 4000 bonus points (although the game timer does go past 8000 points on the 16K ROM version if you manage to get to level 6), which is achieved by taking the level number and multiplying that by 10 ($0A hex), and then adding 30 ($1E hex) to the result.
Level 1 = (1 * 10) + 30 = 4000 bonus points
Level 2 = (2 * 10) + 30 = 5000 bonus points
Level 3 = (3 * 10) + 30 = 6000 bonus points
Level 4 = (4 * 10) + 30 = 7000 bonus points
Level 5 = (5 * 10) + 30 = 8000 bonus points
For the 24K ROM version, the Z-80 logic would then check to make sure if the value stored in register A is 80 (#50 hex) in the ROM, and if it exceeds said value, to force it back down to 80.
Level 6 = (6 * 10) + 30 = 9000 bonus points (truncated to 8000 on 24K version)
Level 23 = (23 * 10) + 30 = 400 bonus points (the 8-bit byte exceeds 255)
On the arcade version, the infamous kill screen is arrived at because after you reach level 22, the ROM recognizes that as a large-enough number to lose the Carry flag, making said result mod 256 of it. The Carry flag deliberately clears each time before a number is doubled, and the calculation is (22 * 10) + 40 = 260, which is greater than 256 by 4 (no 8-bit hex code number goes past 255, or #FF hex), to give level 22 a very short starting bonus of 400 points.
I believe the kill screen for the 16K ROM version of the CV Donkey Kong occurs at level 97 (for all those who managed to get there) because it having a five-digit game timer, it can never go past 99,000 points, for which I believe is instant death. As I said before, the 24K ROM version never has the game timer going past 8000 points.
Edited by ColecoFan1981, Sat Nov 14, 2009 11:29 AM.