I've read so often that the one level in the NES port of "Donkey Kong" had to be cut due to cartridge space limitations. But isn't that total nonsense?
When I have a look at the ROM, it's the typical 24 KB of all those initial games. "Nuts & Milk" has the same size and it contains 50 levels. "Donkey Kong Jr." itself has all four levels and it was released simultaneously with "Donkey Kong". So, what's the deal with that statement? Can it really be true that they didn't fit this fourth level onto the cartridge?
Well, the "Donkey Kong Pie Factory" version with the missing level has 32k of PRG instead of 16k.
Are you saying that you think you could do it in 16k? At face value, it seems completely reasonable to me that it was cut for space, though development time would be just as good a reason. If you want to argue that there is space for it in 16k, either you should detail the empty space you found in the ROM, or put your money where your mouth is and hack it in yourself, otherwise you don't have a very good argument.
rainwarrior wrote:
Well, the "Donkey Kong Pie Factory" version with the missing level has 32k of PRG instead of 16k.
Yeah, but that was, as far as I've read, some hack from 2010, not a game programmed with the effectiveness that they did in 1984.
rainwarrior wrote:
Are you saying that you think you could do it in 16k? At face value, it seems completely reasonable to me that it was cut for space, though development time would be just as good a reason. If you want to argue that there is space for it in 16k, either you should detail the empty space you found in the ROM, or put your money where your mouth is and hack it in yourself, otherwise you don't have a very good argument.
I don't want to "argue" for anything. I'm just asking myself why "Donkey Kong Jr."
does have all the levels and "Donkey Kong" doesn't. It wouldn't be the first time that developers talk shit about their games, so I'm of course a bit suspicious.
DRW wrote:
"Nuts & Milk" has the same size and it contains 50 levels.
This is completely irrelevant. Each game stores levels using different formats and compression schemes, so you can't directly compare the number of levels in different games like this. You also have to account for the other kinds of data present in both games in order to know how much space is left for level maps. What if the music data in DK is much larger than in Nuts & Milk?
Quote:
It wouldn't be the first time that developers talk shit about their games
Even if they were saying the truth and there was no space left for more levels, that doesn't mean that they used all the ROM space efficiently. Maybe they could have compressed some other data or even the levels themselves better and fit the extra level, but admitting that wouldn't be good for their image.
There is always a way to optimize further, but it takes more and more work as you go further. The real question is how long would it take to do so, and is that reasonable/feasible?
Even compression has no theoretical size limit, if the unpacking time you're allowed is unbounded. edit: sorry, this is incorrect, I meant something else, corrected below.
So, I mean, there's valid argument to say it was "possible" to do the pie factory in 16k, but that's a purely academic point. Could you do it in a week? A month? A year? What timeline would make it acceptable? If you want to make an argument that they did a bad job, you have to show us that they were wasteful or negligent somehow.
rainwarrior wrote:
Even compression has no theoretical size limit, if the unpacking time you're allowed is unbounded.
Entropy. There is a very real limit of how much something can be compressed losslessly. But that's really not the issue here. Things like this are almost always a matter of how much time the developer wants to invest in the project. "Out of space" may very well have been the immediate obstacle, but the ultimate issue is how much time can be spent overcoming obstacles before you miss deadlines, hurt other projects, or reach diminishing returns.
The Donkey Kong NES port came out in 1985, right? Before the Famicom, the 6502 was relatively unheard of in Japan when compared to the z80, so I think it's more of a case of needing to get some kind of port working, plus relative inexperience with a new processor/architecture, so the game probably isn't very optimized. Plus, it could very well be that they ran into problems dealing with the 8 sprite/scanline limit back when the Famicom was new. The "pie factory" version of the rom has sprite shuffling kinda hacked in, whereas the rest of the game lacks it.
snarfblam wrote:
rainwarrior wrote:
Even compression has no theoretical size limit, if the unpacking time you're allowed is unbounded.
Entropy. There is a very real limit of how much something can be compressed losslessly. But that's really not the issue here.
Er, right, sorry. I misspoke in haste. What I meant is that you can't reach the limit of compression, there is always a smaller representation of the data with a longer unpacking time.
Drag wrote:
The Donkey Kong NES port came out in 1985, right? Before the Famicom, the 6502 was relatively unheard of in Japan when compared to the z80, so I think it's more of a case of needing to get some kind of port working, plus relative inexperience with a new processor/architecture, so the game probably isn't very optimized. Plus, it could very well be that they ran into problems dealing with the 8 sprite/scanline limit back when the Famicom was new. The "pie factory" version of the rom has sprite shuffling kinda hacked in, whereas the rest of the game lacks it.
With this in mind, it's also worth noting that the enemies in Mario Bros were made significantly smaller; the turtles were once 16*16, but then they were made 8*8. The crabs and flies are the most obvious case of this, as their lower bodies are one tile wide while their upper half is two. It seems like Nintendo was so terrified of the scanline limit, they had to make each 'half' of the sprite flicker every other frame!
Also, one thing worth noting is that Nintendo was rather impressed with the Colecovision, as Coleco representatives were sent to Japan to show Nintendo this hardware. The Famicom's attached controllers and controller bays is directly lifted from it. The Colecovision's defining game was their port of Donkey Kong, which omitted one level (the pie factory). The NES version also omitted the same level. Perhaps Nintendo made their port based on Coleco's interpretation? There's also the whole issue with Nintendo getting in trouble with Ikegami Tsushinki (the contracted programmers who made DK and Nintendo's other arcade games), so maybe Nintendo wasn't allowed to use that version as a reference after reverse engineering it into DK Jr. Long story short, Nintendo paid Ikegami to develop this game, but didn't they own the code to do as they please. This wouldn't be the last time that Nintendo tried cheating companies out of giving them royalties.
Quote:
The Donkey Kong NES port came out in 1985, right?
No, it came out in July 1983 at the same time as the release of the Famicom. That makes is the first NES/FC game ever released, ex-eacho with Donkey Kong Jr.
By the way I think it's quite lame that Nintendo developed a console and release an INFERIOR version of their game for it. In a marketing point of view that's just so terrible. They should rather have made a 5th level or something.
However, it turned out the console was soon getting really great games if you were to wait a couple of years
First of all: it's not just new level data, there are also more objects that need to be coded (including a rather unique case for climbing stairs). On top of that 6502 code is larger than Z80 code (because the 6502 usually needs more opcodes to do the same thing), so that didn't help. How large is the original Donkey Kong ROM? (the arcade version)
OneCrudeDude wrote:
The Colecovision's defining game was their port of Donkey Kong, which omitted one level (the pie factory). The NES version also omitted the same level. Perhaps Nintendo made their port based on Coleco's interpretation?
Nearly every port lacked that level though.
Ha ha, but the home version was expected to be inferior to the arcade in those days. I think DK is actually really great port for its time, plays quite well. Did anyone else have 2600 Pac Man?
The first time I remember an arcade port advertised as having extra levels was the Genesis version of Altered Beast. The graphics were still slightly inferior (but pretty close), but maybe by this time they started to think arcade games were a bit too short for the home console.
rainwarrior wrote:
The first time I remember an arcade port advertised as having extra levels was the Genesis version of Altered Beast.
With
Teenage Mutant Ninja Turtles II: The Arcade Game soon after.
Perhaps the problem wasn't PRG space, but CHR. Donkey Kong uses up most of the 8K space. If it was PRG space, maybe it was cut from the plan due to increased cartridge cost if it was going to need 32K of PRG-ROM. You'll never know the exact reason they didn't bother with it.
rainwarrior wrote:
The first time I remember an arcade port advertised as having extra levels was the Genesis version of Altered Beast. The graphics were still slightly inferior (but pretty close), but maybe by this time they started to think arcade games were a bit too short for the home console.
That game was meant to sell the console and the motto was that the console could compare to the arcade =P Also for the record, the Mega Drive version has parallax while the arcade version doesn't (!?), so being slightly inferior is debatable.
MottZilla wrote:
Perhaps the problem wasn't PRG space, but CHR. Donkey Kong uses up most of the 8K space. If it was PRG space, maybe it was cut from the plan due to increased cartridge cost if it was going to need 32K of PRG-ROM. You'll never know the exact reason they didn't bother with it.
Maybe, can somebody post here the contents of CHR-ROM so we can see? It would make sense if it was running out of CHR-ROM, since that level definitely requires a good chunk of new graphics.
Sik wrote:
Maybe, can somebody post here the contents of CHR-ROM so we can see? It would make sense if it was running out of CHR-ROM, since that level definitely requires a good chunk of new graphics.
That would violate copyright, but I'll describe:
The left pattern table is for sprites, and the right for the background. The left pattern table has a bunch (33) of unused tiles, but the right is full, mostly from frames of animation of Donkey Kong himself. The right pattern table has the only alphanumerics.
It's certainly plausible that some more effort could have moved things between tables (especially DK) such that there would have been room, but it's not immediately obvious whether it would have been enough.
PRG also looks awfully full.
Looking at the MAME source for arcade Donkey Kong, here are the memory sizes:
Z80: 16kB ROM, 3kB RAM (or 4kB? it says both in 2 different places..)
8035: 4kB ROM, half of it is the 'roar' sound. I always wanted to hear the NES DK play that through $4011 or something.
8kB + 4kB graphics (BG and sprite?)
Sik wrote:
Maybe, can somebody post here the contents of CHR-ROM so we can see? It would make sense if it was running out of CHR-ROM, since that level definitely requires a good chunk of new graphics.
The CHR could possibly have been used more effectively. The first page (used for sprites) has a lot of unused space. The second page (used for background) is packed full, but it's also about 50% made up of tiles to animate donkey kong.
For example, if part of DK was done as sprites, it might have freed up background tiles. Maybe you could save some additional tiles just by being able to use flipping for symmetrical parts of DK's image. Of course, this would immediately put strain on the available palettes. Probably DK would have to become the brown-yellow palette used for the hammers (or the hammers would have to become brown-pink).
There's 36 unused sprite tiles, and I think the game uses 8x16 mode, so it has access to both pattern tables. DK himself takes up the majority of the BG side of the table, but I noticed that there's an extra pose for DK that's unique to the NES version (when DK falls down on the last stage)
The cement stage requires 8 tiles not in the NES version (2*3 frames of animation for the endpoints (left and right) of the conveyor belts, a tile for the conveyor belt graphics, and a tile for the mesh under the oil drum), and then it needs 4 sprite tiles for the "pie" and 4 for the moving portion of the ladder, unless you shrink the ladder down to just one 8x16 sprite (which they probably would've done because the sprite limit)
Drag wrote:
but I noticed that there's an extra pose for DK that's unique to the NES version (when DK falls down on the last stage)
Looked it up, it's just the normal position but flipped vertically (unless I missed something). Unless you mean when he hits the floor? (which definitely could have been done with sprites since there isn't anything else on those lines, does it still use sprites there?).
Better question is, how did they make DK fall? Were Mario and Pauline made as BG objects while DK briefly became a sprite? If so, they could've left him as a sprite, seems like effort to blink him out of BG, then blink him as a sprite, then blink him back as a BG.
Just the fall is a sprite (you can see the tiles on the 5th row of the CHR there). Mario and Pauline never become background tiles. They actually disappear during the fall.
Sik wrote:
Looked it up, it's just the normal position but flipped vertically (unless I missed something). Unless you mean when he hits the floor? (which definitely could have been done with sprites since there isn't anything else on those lines, does it still use sprites there?).
Sorry, I meant when he lands on the floor. The arcade game just uses a vertically-flipped version of his normal pose, plus a "dizzy" animation on his face. The NES version has him actually laying on his back and kicking his hands and feet.
I also noticed that the scenes with DK climbing the ladders were cut from the NES version.
With this thread in mind, the most logical reason would be that they simply didn't have the room for all the data, and they would need to invest in larger hardware (maybe twice as big, I dunno what kind of cart sizes early NES games were). I doubt Nintendo would waste money, especially since the Famicom wasn't exactly popular until much later.
Since he changes back to background when he lands, and once there he's kicking in the air, that's maybe 20 BG tiles that could be moved to the sprite side trivially? Just that change alone might be enough to make the pie factory viable in 8k CHR, without any compromise to how the game already looks. (No comment on how feasible it is in PRG though.)
Recently, I saw this at
http://www.retrousb.com/product_info.php?cPath=29&products_id=103 where they once sold a reproduction cartridge of the four levels NES game:
This doesn't look like the actual level in the NES game. An actual screenshot looks like this:
So, which kind of version is the one that was available at RetroUSB?
RetroUSB's Donkey Kong Pie Foundry game looked like the second screenshot.
The first screenshot looks like a mock-up made by slightly editing an arcade screenshot.
I would be interested in a hack that restores DK's color palette depth from the arcade game. It uses a different palette for his face, where his eyes are white, while his body uses three tones of red/orange/tan. The white eyes could be done with overlaid sprites, allowing his body to go back to its original palette (though I'm sure something else relies on the palette).
I was just informed of this a few minutes ago:
http://atariage.com/forums/topic/210244 ... e-palooza/In there is an Atari 400/800 source code release of Donkey Kong that could help shed some light on things. See the file called FILES for a brief overview. Good luck. ;-)