PDA

View Full Version : Do Pac-Man, Donkey Kong etc. ports have kill screens?



XYXZYZ
05-28-2008, 11:11 AM
For example, if you play Pac-Man or Donkey Kong ports for the NES, Colecovision or whatever and get to stage 256, what happens?

RadiantSvgun
05-28-2008, 12:05 PM
I didn't know it was humanly possible to get that high.

Trebuken
05-28-2008, 12:25 PM
Huh...good question. I remember seeing the kill screen for Donkey Kong in 'King of Kong' and heard that it was also in other games, but knowing that it is a memory issue I imagine the ports have more memory to work with so it might take many more levels to reach a kill screen and likely would be impossible to achieve...

Ponyone
05-28-2008, 03:39 PM
Huh...good question. I remember seeing the kill screen for Donkey Kong in 'King of Kong' and heard that it was also in other games, but knowing that it is a memory issue I imagine the ports have more memory to work with so it might take many more levels to reach a kill screen and likely would be impossible to achieve...


If anybody wants to see, there's a Donkey Kong kill screen coming up.

secretvampire
05-28-2008, 03:41 PM
If anybody wants to see, there's a Donkey Kong kill screen coming up.
LOL...that's the first thing I thought of as well when the thread started. ;)

SamuraiSmurfette
05-28-2008, 03:51 PM
Arcade Pac Man's got it, dunno about ports. Good question.

http://images.wikia.com/errors/images/f/f0/Split_Screen_in_Pac_Man.gif

rbudrick
05-28-2008, 04:05 PM
Huh...good question. I remember seeing the kill screen for Donkey Kong in 'King of Kong' and heard that it was also in other games, but knowing that it is a memory issue I imagine the ports have more memory to work with so it might take many more levels to reach a kill screen and likely would be impossible to achieve...

It's not a memory issue. There's some glitching in the code. There's patches available...same for Dig Dug, Ms. Pac Man, and others. I was just reading a very in-depth site about this that another DPer posted in another thread recently...can't remember where it is, but it was just this week I was reading it.

-Rob

Trebuken
05-28-2008, 04:14 PM
LOL...that's the first thing I thought of as well when the thread started. ;)

I love seeing someone nerdier than myself...

Garry Silljo
05-28-2008, 04:59 PM
Yeah, I broght this question up in the "Nes Games without endings" thread a little while ago, I don't know the answer though.

Superman
05-28-2008, 05:35 PM
Well, it looks like we have some research to do.

I will try, but I don't know if I can make it through 255 levels of Pac-Man.

Hopefully, I can dig up a copy (and a game genie!) somewhere in the next few days and give it a shot.

Garry Silljo
05-28-2008, 08:02 PM
Well, it looks like we have some research to do.

I will try, but I don't know if I can make it through 255 levels of Pac-Man.

Hopefully, I can dig up a copy (and a game genie!) somewhere in the next few days and give it a shot.

Wouldn't a cheat device compromise the validity of the findings? Whatever code you put in the Genie to get more lives or advance levels may also alter the program in a way that elimantes the kill screen if there is one.

Or I couldbe totally wrong, I'm not 100% on how those things work.

Superman
05-28-2008, 08:23 PM
Wouldn't a cheat device compromise the validity of the findings? Whatever code you put in the Genie to get more lives or advance levels may also alter the program in a way that elimantes the kill screen if there is one.

Or I couldbe totally wrong, I'm not 100% on how those things work.

The kill screen is a result of the player going further than the game was programmed to go. A code like the infinite lives code, affects the registering of how lives are subtracted (or in this case not subtracted). I guess if you were dealing with a very small amount of memory to work there could be a problem. But, as far a I know, it shouldn't be an issue.

I have done some programming (basic, C++, etc.) but I am definitely not a programmer. Perhaps someone with more programming experience would know more precisely. Where's Flack at when you need him?

Jorpho
05-28-2008, 10:18 PM
I was just reading a very in-depth site about this that another DPer posted in another thread recently...can't remember where it is, but it was just this week I was reading it.

Yep, that was me (http://www.digitpress.com/forum/showthread.php?t=116494&page=2).

http://www.donhodges.com/how_high_can_you_get.htm

Now, it might be added that CV Donkey Kong (or at least some versions of CV Donkey Kong) has that little trick on the barrel screen where, if you line yourself up with that one ladder just right, you can instantly skip to the next level. If it does suffer from the same bug as the arcade version, there still ought to be enough time to get far enough into the level to use that level skip.

Harkunan
05-28-2008, 10:26 PM
The thing is these are mini games and never was meant to be "finished"

I did it with Mario Bros and it just kept on going and going and going



and going and going and going and going and going and going and going and going and going and going and going and going

:sob: I thought I was going to see some sorta specail ending with a prolouge into Super Mario Brothers.

Like Burning Rangers or Nights Score attack. It just keeps on going.

madman77
05-28-2008, 11:25 PM
Wouldn't a cheat device compromise the validity of the findings? Whatever code you put in the Genie to get more lives or advance levels may also alter the program in a way that elimantes the kill screen if there is one.

Or I couldbe totally wrong, I'm not 100% on how those things work.
Cheat devices like a game genie don't modify any actual code, just values in memory. Even if they did modify code, like in game trainers for consoles, the affected code is only around specific portions regarding lives/health/etc, not around the levels or anything else.

Ze_ro
05-29-2008, 12:21 AM
Cheat devices like a game genie don't modify any actual code, just values in memory. Even if they did modify code, like in game trainers for consoles, the affected code is only around specific portions regarding lives/health/etc, not around the levels or anything else.
Yes, but often these kill screens are due to some calculation the game is performing in the background. If the calculation involves some section of memory that the Game Genie is controlling, then it would potentially interfere with the results. I realize it's unlikely, but it's impossible to know what weird crap the programmers put in there. Some people can be REALLY sloppy with their code, probing memory locations that they have no logical reason to.

Of course, getting a result in 2 minutes could at least tell you if it's worth trying it "the hard way" to verify.

--Zero

Rob2600
05-29-2008, 07:59 AM
Whatever code you put in the Genie to get more lives or advance levels may also alter the program in a way that elimantes the kill screen if there is one.

Or, according to my friend in 1990, it could make Mario riding a bike naked while holding a sword.

madman77
05-29-2008, 11:16 AM
Yes, but often these kill screens are due to some calculation the game is performing in the background. If the calculation involves some section of memory that the Game Genie is controlling, then it would potentially interfere with the results. I realize it's unlikely, but it's impossible to know what weird crap the programmers put in there. Some people can be REALLY sloppy with their code, probing memory locations that they have no logical reason to.
Let's say you have the game genie controlling a piece of memory that contains the number of lives left, let's say the game genie keeps it at the default of 3 or whatever. How would that EVER have an affect on the game? Instead of the lives being deducted, it's just always at 3. Kill screens generally have to do with programming oversights, such as in Pac-Man, the level counter is only 1 byte long, so once you hit the 256th level, all hell breaks loose. It doesn't have anything to do with programmers "probing" memory locations. That doesn't even make sense.

ssjlance
05-29-2008, 09:56 PM
If there was a limit there, I doubt it would be affected by a Game Genie. At all, really. Unless you used level skipping codes, possibly.

Garry Silljo
05-30-2008, 04:46 PM
Or, according to my friend in 1990, it could make Mario riding a bike naked while holding a sword.

Your friend is an idiot, it was a unicycle and a light saber.

Pantechnicon
05-30-2008, 05:15 PM
Or, according to my friend in 1990, it could make Mario riding a bike naked while holding a sword.

I just reached level 256 of NES Donkey Kong while naked with a towel over my lap.

Jorpho
05-30-2008, 05:23 PM
Let's say you have the game genie controlling a piece of memory that contains the number of lives left, let's say the game genie keeps it at the default of 3 or whatever. How would that EVER have an affect on the game?

Okay... What if, hypothetically, a game stored the current level at a memory address adjacent to the address where the number of lives get stored? Then, hypothetically, it might be feasible for the overly-large level counter to perhaps cause the lives counter to get written to a value where it normally wouldn't be expected to appear and cause craziness to ensue. But if the Game Genie is holding constant that particular value, then instead nothing would happen. Make sense?

I admit it does sound a bit crazy, but it could happen. Maybe.

Flack
05-30-2008, 06:48 PM
Theoretically yes, but that's not the way it works. We both know that kill screens happen (for the most part) because the levels were stored in a single hex address. The lowest value this could hold is 00000000 and the highest was 11111111 (255). When the game tried to store 256 into xxxxxxxx, it wouldn't fit. I don't think any other variable is going to affect that.

I don't know how console games stored their variables but it certainly seems possible. It's not an arcade-specific problem; it was a programming error. That being said, Pac-Man for the Atari 2600 doesn't display the level and I don't know that it has "levels" per se, so it might not have the same problem. In fact, a lot of Atari games don't display the level, so they may not track that variable, and even if they do, they might be counting it, storing it, or handling it differently.

Garry Silljo
05-30-2008, 08:13 PM
So maybe a person more tech savy than I could look at the actual program for NES Donkey Kong or Pac Man and answer the question by seeing how the information is stored. Also, since the NES Donkey kong is missing a stage that the arcade has, if there is a kill screen is it on the same stage?

I would just play through and find out, it's not that I lack the patience, I simply don't have the skills. I can only flip the DK stages a handful of times and maybe do 60 mazes of Pac Man before kicking the bucket. I also hate the Game Genie with a fiery passion and so refuse to own it, so I can't try that route either.

MarioMania
05-30-2008, 09:04 PM
How many Levels does Donkey Kong have

Blitzwing256
05-30-2008, 11:17 PM
donkey kong has 99 but has a kill bug on 22 (theres even code in there to make it so the game doesn't progress past 99)

Ze_ro
05-31-2008, 12:09 AM
Donkey Kong also featured a kill screen in the 22nd stage, the 117th screen. This is an example of a kill screen that is not due to an integer overflow in a level counter, but a different oversight on the part of the designers. The amount of time allowed for any given screen is determined algorithmically during play, decreasing slowly as the player progresses. By the time the player reaches the 117th screen, the algorithm that determines the amount of time at the start of the level results in overflow, which causes the time to be set so low that there is simply not enough time for the screen to be completed.
So you see, not every kill screen is due solely to the level counter rolling over.

Lets say the programmers of a random game decided it would be a nice idea to make the current level slightly easier if you had already died on the level once... that way maybe you'd be more inclined to keep playing because you wouldn't get stuck on a particularly hard level. So, they save your life counter into a secondary address at the end of each level, and then check it at the START of each level... if the number were lower, it would know that you had lost at least one life on the current level. Now, lets also say that the way the game is designed, it's not possible to gain more than 10 lives (perhaps the game just doesn't award extra lives at all), however, the programmers decided to use an 8-bit value because it was easier. Now you pop in a Game Genie and type in an "unlimited lives" code... since the code is just a bunch of letters, you have no idea what it does, but it turns out it holds the the life counter at 255. Uh oh! The programmers algorithm worked fine when the life counter was less than ten, but he never tested it with anything higher, and it turns out that at some point in the game (perhaps very, very far into the game), the algorithm now fails because a specific math operation overflowed or lost a carry somewhere and the game behaves differently (perhaps giving you too little time, or making something too fast).

I very much doubt that Donkey Kong does anything like this, but unless you disassemble the code, you have no idea what's going on. It's entirely possible for a Game Genie code to affect when a kill screen occurs... maybe making it happen earlier, later, or not happen at all.

--Zero

ice1605
05-31-2008, 08:24 PM
It is not so much of a problem now, but when these games were made, efficiency was the top priority. No wasted memory. So, the programmers (esp. for arcade games, given that it costs money to keep going) assumed that players wouldn't get that high, and made the level counters the equivalent of a char in C/C++/Java to save memory. Let's be honest, the programmers can't be blamed for this, has it ever been an actual problem?