avatar_NewsBot

Xyphoe's Vids - [AMSTRAD CPC] Donkey Kong - Longplay & Review (to KILL SCREEN!)

Started by NewsBot, 09:00, 29 February 12

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

NewsBot

[AMSTRAD CPC] Donkey Kong - Longplay & Review (to KILL SCREEN!)
29 February 2012, 9:23 am



The best arcade conversion ever?? Quite possibly.... Review and Longplay / Walkthrough to the "Kill Screen" of DONKEY KONG on the Amstrad CPC!! In Retro Gamer magazine's article on the 'best home arcade conversions of all time' the Amstrad version of Donkey Kong was #1 !!! And yes it's brilliant, as close to arcade perfect as you'll find! Also.... From the brilliant movie/documentary "King Of Kong".... 'Kill Screen' explained - www.youtube.com Kill Screen obsessed Brian Kuh in action!! - www.youtube.com Enjoy! (c) Nintendo 1981 / Ocean Software 1986 cpc-power.com en.wikipedia.org[/t][/t]
From: Xyphoe Views: 3 1 ratings
Time: 20:14More in Gaming

Source: Uploads by Xyphoe
This content has been fetched from a third-party page feed.

TFM

TFM of FutureSoft
Also visit the CPC and Plus users favorite OS: FutureOS - The Revolution on CPC6128 and 6128Plus

TotO

A great work, using arcade screen ratio (look like 224x256), rupture and rasters for scores and credits.
Games like I have dreamed to see more frequently on CPC!
"You make one mistake in your life and the internet will never let you live it down" (Keith Goodyer)

TFM

Donkey Kong Jr. would be a "nice to have" on CPC too, but I played it so often on the CBS already...
TFM of FutureSoft
Also visit the CPC and Plus users favorite OS: FutureOS - The Revolution on CPC6128 and 6128Plus

TotO

The arcade game use a Z80 @ 3MHz ...
The CPC version match too much the arcade version to not run the original code.  ;D
"You make one mistake in your life and the internet will never let you live it down" (Keith Goodyer)

MacDeath

Yeah, that'z what I was thinking...

As those old arcade had quite simple sprites stuff and ran at a reduced clock compaired to good old CPC... also as the 64K (48K+video) RAM from CPC is actually enormous compaired to the Ram+Rom used by those old systems...

CPC is more than qualified to run this at full force, only difference being the larger pixels... not that a big deal actually.


perhaps a little complain : the sprites have the "transparency" thing... as in Sorcery.
They don't seem to keep their proper colour properly.

Are those "unmasked" ?


The kill screen... is this a by-product from a direct port or was it added in order to match the arcade ?


QuoteA great work, using arcade screen ratio (look like 224x256), rupture and rasters for scores and credits.
Games like I have dreamed to see more frequently on CPC!
Those awfull scrappy Speccy ports often used rasters for score and credit too...
Also they used the speccy screen ratio (192x128 in mode 1... sort of...) :D


I guess Amstrad CPC is good in that it can emulate old z80 arcade and Spectrums...

Seing this and fearing an action in court from Sinclair, Sugar simply bought sinclair in order to get away with it.

Courts' judges are so ignorant they would think the CPC is a simple Speccy clone and no more... (as many Speccy fans actually believe)

TotO

The CPC version use XOR as mask. Work fine for this game.
Xyphoe video show that the arcade "KILL SCREEN" work on CPC too.
So, no more doubt... It's the arcade code.


Quote from: MacDeath on 14:20, 01 March 12Those awfull scrappy Speccy ports often used rasters for score and credit too...
I don't speak about speccy like "gradiant rasters", but just using different colors on the same screens for each stuff. (score on top, playfield on center, copyrights and credits on bottom, ...)
"You make one mistake in your life and the internet will never let you live it down" (Keith Goodyer)

SyX

The Kill Screen, a cpc bug or a perfect conversion of a well-known arcade bug?  ;D

For the people, that would like to know what happen after the Kill Screen, i have attached a fixed version  ;)

All the hate mail for destroying a myth can be redirect to the usual address  :P

MacDeath

Why did you fix something not broken ?

Now this port is no more perfect... Saboteur !!!

SyX


TFM

Ok, so if I understand it right, then the kill screen is a screen in level 22 that just kills all your lifes as soon as you reach level 22. Right?


I played Doney Kong a long time ago in the Arcade and I managed to get so much points that the counter had a overflow, then the system crasehd, the screen did only show snow and they had to unplug and replug the machine to make it running again. And I got my money back ,-) But there was no kill screen!

TFM of FutureSoft
Also visit the CPC and Plus users favorite OS: FutureOS - The Revolution on CPC6128 and 6128Plus

Xyphoe

Quote from: SyX on 19:00, 01 March 12
The Kill Screen, a cpc bug or a perfect conversion of a well-known arcade bug?  ;D

For the people, that would like to know what happen after the Kill Screen, i have attached a fixed version  ;)

All the hate mail for destroying a myth can be redirect to the usual address  :P

Oooh interesting! Is it *actually* a bug or a deliberate thing by the programmers?

I was a little incorrect in what I said about when the kill screen occurrs.

Because the Amstrad version kill screen comes in at *screen* 17, which actually is the start of *level* 5.
Where as in the arcade version this is many many *screens* later, and the level is 22.

A "level" consists of a few screens. In the arcade the first level is only 2 screen, the second level 3 screens, third level 4 screens, and by the 5th there's 5 levels with one repeated!
So by level 5 you would have had 2 + 3 + 4 = 9 screens. Then 5 screens per level then on... 22-5 = 17, 17 x5 = 85, 85+9 = 94... so the kill screen occurs around screen 95 compared to the Amstrads screen 17!! A whopping difference. Which makes me think it's a deliberate thing by the Amstrad programmers (Arcana Design).

TFM

Good points!

For the Arcade I assume the following: First they shipped some machines which crass if the points-counter does overrun, later on (updated version of the game) the probably introduced the kill-screen to omit a crash.
TFM of FutureSoft
Also visit the CPC and Plus users favorite OS: FutureOS - The Revolution on CPC6128 and 6128Plus

SyX

Quote from: Xyphoe on 20:08, 01 March 12Oooh interesting! Is it *actually* a bug or a deliberate thing by the programmers?
I think is a bug in the cpc code, but you know the arcade bug was well-known then, because that we can let the mystery continues ;) (the same team converted Ping Pong too, another great arcade conversion to CPC, i think they known how to code  :D )

The cpc code is:

    LD  A,(time_highbyte_in_bcd)
    SUB #01
    JP  M,time_out
    DAA
That means decrease the time_counter and if it's a negative number, then goes to time_out. The sign bit in the Z80, is the bit 7. For example:
a) 0 - 1 = $FF -> negative (Normal end of time)
b) $81 - 1 = $80 -> negative (Killer Screen) / every number bigger than $7F is negative

My fix is:
     LD  A,(time_highbyte_in_bcd)
     AND A
     JP  Z,time_out
     DEC A
     DAA
That test explicitly if the time_counter is 0 and takes exactly the same bytes that the original code.

Xyphoe

Just to clarify how the kill screen occurs in the arcade origina (taken from the article SyX linked to) -

QuoteThe formula says the level times 10, plus 40, gives the number of hundreds in the bonus timer. If the result is too large it is forced back down. The key to this is that the level number is used in the calculation. On level 22 an overflow occurs, leaving the player with just 400 points on the timer because the multiplication and addition yields a number larger than 256.
...
...
The problem with this code is apparent: There is no checking for overflow when doing the doubling, nor when doing the addition. If the level number is large enough, the final result for the timer will lose the Carry flag, making the result mod 256 of the intended result. As we have seen, the Carry flag is intentionally cleared each time before the number is doubled. This all works together to create the "kill screen" on level 22: the timer is computed as (22 * 10) + 40 = 260, which is greater than 256 by 4. This gives level 22 a starting bonus of 400, which is a very short time and makes it impossible to finish.

So is a similar forumla used for the Amstrad version?

SyX

Quote from: Xyphoe on 22:01, 01 March 12So is a similar forumla used for the Amstrad version?
In our case the problem is in the routine that decrease the "bonus time".

In CPC, the formula to set the "bonus time" for the level is:
If (Level_Number < 6) Then Bonus_Time = (Level_number<<4) + $40 ELSE Bonus_Time = (5<<4) + $40

1 -> 5000
2 -> 6000
3 -> 7000
4 -> 8000
5 -> 9000
6 -> 9000
.
.
.


Powered by SMFPacks Menu Editor Mod