Hi DKF!
Here's a little thing I've been working on the past few weeks, that I hope some people in here will find interesting.
In short, it's an accurate port of Donkey Kong to the NES.
"But Donkey Kong already exists on the NES?" - as I'm sure most people in here would agree, Nintendo's original port, although fairly competent compared to other platforms back then, doesn't really hold a candle to the original arcade game.
My port is based on a discussion I had with my friend (Svavar) some time ago about whether the NES would actually be able to run the game like it plays on the original arcade machine.
(https://i.ytimg.com/vi/dhRoe44Dg54/hqdefault.jpg)
(click for a video demonstration) (https://www.youtube.com/watch?v=dhRoe44Dg54)
Basically the goal of this project is proving that by translating the actual code of the orignal arcade PCB to something usable by an NES, it is possible to run a game that plays exactly like the original version that we all know and love, and I feel that with exception of some unimportant graphical deviances this version is completely comparable to the arcade game to the point where a score set in this version is essentially comparable to one set on a DK arcade cabinet.
As for the orientation of the screen, as you can see it actually plays "sideways", similarly to the arcade game, so if you're playing on a real NES, you'll have to turn your TV on the side - a strange concept that's probably familiar to people who've been playing home ports of arcade shooters from the 90s (more details further down). Special thanks also goes out to Svavar who, aside from supplying general guidance and indepth knowledge of the game, also helped recreating every sound from the game to something similar sounding on the NES sound chip.
Hopefully I can get some of the Donkey Kong experts around here to try out the game and give me some feedback. Because despite feeling that my game is accurate, it is very likely that there are still some untested areas where I might have overlooked something, or bugs that we haven't discovered.
So if you have the time, give the game a spin, check out all the weird moves you know, and let me know if something feels even the tiniest bit off! If a collision happens one pixel to the left of where it's supposed to, that's a bug! If Donkey Kong rolls a barrel one frame too early, that's a bug! If a barrel becomes stearable more often than it's supposed to compared to your internal difficulty, that's a bug! Even though the game can never be completely "arcade perfect" due to some graphical differences, it is my goal to keep it 100% accurate in regards to gameplay!
How to play the game?
Here is the NES ROM that I created. (http://eternal.dk/pr/dk.nes)
If you want it, download it now, because I can't promise that it will remain available.
If you have the means to play it on an original NES console, for example using an Everdrive, and hook that up to a CRT TV, that is by far the best solution. When turning a CRT on its side, I recommend unplugging it before rotating it, and waiting 10-15 minutes before plugging it back in. It won't cause any permanent damage, but if you don't give it time to "settle", you'll get really weird colors (arcade owners are probably familiar).
The more approachable solution is just playing the ROM in an emulator. Personally I can recommend both Nestopia (http://nestopia.sourceforge.net) and FCEUX, but I have found the former to be the best in regards to input lag (comparable to any low-lag MAME builds out there, if not better). If you have a monitor stand that allows you to rotate your monitor, you're already set. Otherwise Windows users can right-click their desktop to enter "Display settings" and set their monitor orientation to "portrait (flipped)" for the correct orientation.
Emulator users might also consider disabling the sprite limit to prevent sprite flickering. The game has a lot of flickering, and it's generally a lot more noticeable on a digital display compared to a CRT TV. Nestopia allows this by selecting Machine->Options->No Sprite Limit from the menu. Some emulators enable it by default.
Have fun! I'm looking forward to hearing your feedback.
A new post will follow later on with some details about what minor changes can be expected due to hardware differences.