CPCWiki forum

General Category => Games => Longplays, reviews and other gaming vids => Topic started by: NewsBot on 10:00, 29 February 12

Title: Xyphoe's Vids - [AMSTRAD CPC] Donkey Kong - Longplay & Review (to KILL SCREEN!)
Post by: NewsBot on 10:00, 29 February 12
[AMSTRAD CPC] Donkey Kong - Longplay & Review (to KILL SCREEN!) (http://www.youtube.com/watch?v=zmucWf6Kz58&feature=youtube_gdata)
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 (http://www.youtube.com) Kill Screen obsessed Brian Kuh in action!! - www.youtube.com (http://www.youtube.com) Enjoy! (c) Nintendo 1981 / Ocean Software 1986 cpc-power.com en.wikipedia.org[/t][/t]
From: Xyphoe (http://www.youtube.com/profile?user=Xyphoe) Views: 3 (http://gdata.youtube.com/static/images/icn_star_full_11x11.gif) (http://gdata.youtube.com/static/images/icn_star_full_11x11.gif) (http://gdata.youtube.com/static/images/icn_star_full_11x11.gif) (http://gdata.youtube.com/static/images/icn_star_full_11x11.gif) (http://gdata.youtube.com/static/images/icn_star_full_11x11.gif) 1 ratings
Time: 20:14More in Gaming (http://www.youtube.com/videos?c=20)

Source: Uploads by Xyphoe (http://www.youtube.com/profile?user=Xyphoe#p/u)
Title: Re: Xyphoe's Vids - [AMSTRAD CPC] Donkey Kong - Longplay & Review (to KILL SCREEN!)
Post by: TFM on 19:37, 29 February 12
Very, very close to the arcade indeed  ;D
Title: Re: Xyphoe's Vids - [AMSTRAD CPC] Donkey Kong - Longplay & Review (to KILL SCREEN!)
Post by: TotO on 20:44, 29 February 12
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!
Title: Re: Xyphoe's Vids - [AMSTRAD CPC] Donkey Kong - Longplay & Review (to KILL SCREEN!)
Post by: TFM on 23:28, 29 February 12
Donkey Kong Jr. would be a "nice to have" on CPC too, but I played it so often on the CBS already...
Title: Re: Xyphoe's Vids - [AMSTRAD CPC] Donkey Kong - Longplay & Review (to KILL SCREEN!)
Post by: TotO on 23:38, 29 February 12
The arcade game use a Z80 @ 3MHz ...
The CPC version match too much the arcade version to not run the original code.  ;D
Title: Re: Xyphoe's Vids - [AMSTRAD CPC] Donkey Kong - Longplay & Review (to KILL SCREEN!)
Post by: MacDeath on 15:20, 01 March 12
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 ?


Quote
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!
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)
Title: Re: Xyphoe's Vids - [AMSTRAD CPC] Donkey Kong - Longplay & Review (to KILL SCREEN!)
Post by: TotO on 15:27, 01 March 12
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.


Those 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, ...)
Title: Re: Xyphoe's Vids - [AMSTRAD CPC] Donkey Kong - Longplay & Review (to KILL SCREEN!)
Post by: SyX on 20: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
Title: Re: Xyphoe's Vids - [AMSTRAD CPC] Donkey Kong - Longplay & Review (to KILL SCREEN!)
Post by: MacDeath on 20:28, 01 March 12
Why did you fix something not broken ?

Now this port is no more perfect... Saboteur !!!
Title: Re: Xyphoe's Vids - [AMSTRAD CPC] Donkey Kong - Longplay & Review (to KILL SCREEN!)
Post by: SyX on 20:45, 01 March 12
Buuuu!!! Go out SyX!!! C64-Spy!!! xDDDD

PD: The arcade was fixed (http://donhodges.com/how_high_can_you_get.htm) too :P
Title: Re: Xyphoe's Vids - [AMSTRAD CPC] Donkey Kong - Longplay & Review (to KILL SCREEN!)
Post by: TFM on 20:54, 01 March 12
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!
 
 
Title: Re: Xyphoe's Vids - [AMSTRAD CPC] Donkey Kong - Longplay & Review (to KILL SCREEN!)
Post by: Xyphoe on 21:08, 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).
Title: Re: Xyphoe's Vids - [AMSTRAD CPC] Donkey Kong - Longplay & Review (to KILL SCREEN!)
Post by: TFM on 21:20, 01 March 12
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.
 
Title: Re: Xyphoe's Vids - [AMSTRAD CPC] Donkey Kong - Longplay & Review (to KILL SCREEN!)
Post by: SyX on 21:38, 01 March 12
Oooh 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:
Code: [Select]
    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:
Code: [Select]
     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.
Title: Re: Xyphoe's Vids - [AMSTRAD CPC] Donkey Kong - Longplay & Review (to KILL SCREEN!)
Post by: Xyphoe on 23:01, 01 March 12
Just to clarify how the kill screen occurs in the arcade origina (taken from the article SyX linked to) -

Quote
The 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?
Title: Re: Xyphoe's Vids - [AMSTRAD CPC] Donkey Kong - Longplay & Review (to KILL SCREEN!)
Post by: SyX on 23:26, 01 March 12
So 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
 .
.
.