Jump to content

Donkey Kong Jr. - no boot


SNESNESCUBE64

228 views

 Share

This was a quick one that I did. I recently got another DK Jr boardset as part of a trade for a working one. To make the long story short, the game wasn't running. 

20210105_113049.jpg.2aa08e4059c17f97c669950a4c041f35.jpg

The first step whenever you get a game that isn't booting is to check all the control signals such as reset, clock, NMI, Interupt, ect. If any of these are not functioning properly, then you are going to have issues with the game not booting. 

So I checked all the control signals, everything checked out perfectly, everything except NMI (Non-Maskable Interrupt), which was stuck high when it should be toggling. NMI is a hardware interrupt that is critical to the video and cpu operation. It provides the cue for the CPU to execute code that can only be executed during VBlank, which is part of what triggers the NMI. With this being a serious problem, the first step was to check the flip-flop that controls it, which is at 8F (74ls74). 

20210105_133220.jpg.f321ef66a01b8db5f5943d46a4fdaa78.jpg

There are 5 signals to worry about on this kind of flip flop, reset, set, clock, and the output. In this scenario, the data in is tied low and the reset is tied high. So the only valid control signals here are the clock (which is derived from VBlank). Checking this with my logic probe showed that it was toggling, meaning that it was probably not the problem. This just leaves the set signal, which was tied low. This is a problem, as for the flip flop's output to change, this needs to go high. 

The set signal for 8F is generated by a decoder at 5H (74ls259). Looking at all its signals, it looked like all the outputs were stuck high. First thing you check here is the enable, as if the chip is not enabled, then all its outputs will be high. Turns out that the enable was stuck high, meaning that the chip will never be enabled. Looking at how that is generated, I ended up at 1C (74ls138). Looking at its signals, all of its outputs were high. Guess what? This chip was also not being enabled. So looking at the 3 enables, there was one in particular that was stuck high, g2a, this signal is generated by the 74ls139 at 2A. Once again, this chip wasn't being enabled either, but this time it was different. This time, the enable pin was stuck in tristate, meaning that it wasn't high or low, but rather it was stuck at around 1.5V. This signal was produced by an OR gate at 1A. This ended up being a problem, an OR gate chip output should NEVER be in tristate, it should be high or low.

20210105_133758.thumb.jpg.26ba44a330a673c33e181c049d56a954.jpg

I checked the other signals on it, everything else looks fine, but its still a problem. After replacing the the 74ls32, the game was able to finally fire up. After playing the game for a bit, it was deemed good to go!

20210105_131726.jpg

20210105_112830.jpg.33b590755fe78bcb70c4df59349d55d6.jpg

Edited by SNESNESCUBE64

  • Like 2
 Share

0 Comments


Recommended Comments

There are no comments to display.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...