Cheating with low voltages on a DK board

Most random number generators in systems these days are implemented with digital circuits, which should be independent of analog voltage.

Pseudo-random yes. Entropy no.

That said, it's technically possible (and it's been done) where random number generation can be done using analog elements, which could be voltage-sensitive. But that isn't typically what you see in digital systems.

Funny -- most of the random number generators I've seen recently are based an analog effects -- cool stuff like RNGs embedded in DRAM that use sense-amps to measure the charging times of bitlines to add real entropy to a PRNG. You really should keep up with the literature.

I also don't even know if there are different code sets for DK, or other hardware differences that could explain any perceived variation.

Taking 10 seconds to look at the MAME source code would have answered this "question".
 
Some of us do research and figure out the correct answer when we don't know something.
You should try it sometime.

I have neither the time nor the interest to answer every question about every board in this hobby. As it is, I spend hours every day here helping people with questions. (Even with questions you think are beneath you.)

You should try it sometime instead of thinking you're better than everyone else.
 
...which is where you should have stopped commenting...

There is no "random number generator" on the PCB. Donkey Kong doesn't even use the DRAM refresh register for pseudo-random numbers. It's just counters being updated during the ISR.
Are they just straight counting or is it a LFSR or other "non-linear" count. Also, which interupt and what's triggering it? VSYNC? Seems like you are familiar with it and I'm trying to determine if there's any creedence to the original claim of voltage dependency. My GUESS is it's highly unlikely you could cause a change in game play that's being reported without the game becoming completely non-functional. (as you slowly lower voltage to the board)
 
Are they just straight counting or is it a LFSR or other "non-linear" count. Also, which interupt and what's triggering it? VSYNC? Seems like you are familiar with it and I'm trying to determine if there's any creedence to the original claim of voltage dependency. My GUESS is it's highly unlikely you could cause a change in game play that's being reported without the game becoming completely non-functional. (as you slowly lower voltage to the board)
1625157585960.png

NMI is triggered by /VBLANK.
INT is unused.

The Z80 clock (buffered version of 1HB) is generated by the same clock dividers that produce /VBLANK.
 
I have neither the time nor the interest to answer every question about every board in this hobby. As it is, I spend hours every day here helping people with questions. (Even with questions you think are beneath you.)

You should try it sometime instead of thinking you're better than everyone else.
I agree Mark can be a bit of a jerk in how he responds to people but this comment is something that triggers me as well. You say you don't have time to "answer every question" BUT you DO respond WITHOUT knowing or doing the research. For many people on this forum your "answer" is taken as "gospel" partly because you DO help a lot of people and partly because you are so active on this forum. If it's something you have zero experience/direct knowledge of why bother to throw out a random statement?
 
Funny -- most of the random number generators I've seen recently are based an analog effects -- cool stuff like RNGs embedded in DRAM that use sense-amps to measure the charging times of bitlines to add real entropy to a PRNG. You really should keep up with the literature.

That's nice dear. Now what does that have to do with a 40-year-old board?

Are you done flexing now?


Taking 10 seconds to look at the MAME source code would have answered this "question".

I don't do anything with MAME. You don't seem to understand me when I say there are plenty of things I have no interest in. If someone wants to find the answer to that question, they are perfectly welcome to. I DO NOT CLAIM TO PROVIDE ALL KNOWLEDGE. But I help people here solve more problems than you do.

If you're so hung up on wanting to be able to answer every question here, there are a lot of other threads I'll be expecting to see you in. Because I don't see you helping with most of them.


...and yet you're here "answering" this question when you have nothing to add.

Did I say I answered it? I believe I explicitly said the opposite. What about that are you not understanding? This is a discussion forum, and we were discussing. Is there a requirement somewhere that states I have to know everything?

Are you done trolling now?
 
I agree Mark can be a bit of a jerk in how he responds to people but this comment is something that triggers me as well. You say you don't have time to "answer every question" BUT you DO respond WITHOUT knowing or doing the research. For many people on this forum your "answer" is taken as "gospel" partly because you DO help a lot of people and partly because you are so active on this forum. If it's something you have zero experience/direct knowledge of why bother to throw out a random statement?

What random statement did I make that triggered you?

I'm an EE, like you and Mark. I have knowledge of the various different ways of generating randomness that we are all trained about as part of an engineering education, and which the average person may not have. And I've worked with randomness (and the associated statistics and probability) in plenty of past communications work.

So I am able to contribute *something* to the discussion, and I am as interested in learning what I don't know, which is why I'm here. And I was clear and up front about what I know, and what I do not know, because I do not want anyone to take what I say as gospel.

What exactly is the problem?
 
View attachment 518206

NMI is triggered by /VBLANK.
INT is unused.

The Z80 clock (buffered version of 1HB) is generated by the same clock dividers that produce /VBLANK.
Thanks! so clearly the relation of the "count" to the execution of the game code can't be manipulated by voltage, at least until it's low enough to cause complete failure of the system. Do you know the answer to my other question about the "counters" in the ISR? Are they truly just linear counts? (just asking if you know offhand)
It's also totally acceptable to say "I don't know offhand"
 
Last edited:
What random statement did I make that triggered you?

I'm an EE, like you and Mark. I have knowledge of the various different ways of generating randomness that we are all trained about as part of an engineering education, and which the average person may not have. And I've worked with randomness (and the associated statistics and probability) in plenty of past communications work.

So I am able to contribute *something* to the discussion, and I am as interested in learning what I don't know, which is why I'm here. And I was clear and up front about what I know, and what I do not know, because I do not want anyone to take what I say as gospel.

What exactly is the problem?
Most of post #27
There's a BIG difference between truly random numbers (entropy) and pseudo random numbers. The reality is "most digital systems" rely on "analog effects" as Mark mentioned to obtain entropy. (IF they NEED truly random numbers) This is common practice in cryptography or other secure systems. Video games generally don't NEED truly random numbers just ones that are PERCEIVED to be random by us humans. In that vein they almost always use some type of pseudo random process to achieve them. Interestingly your use of RNG for (I'm assuming) Random Number Generator is also a semiconductor structure know as an RNG (RiNG oscillator) which IS used for entropy generation. It's just a very high speed oscillator who's frequency is dependent on process variation, temperature, voltage and other analog parameters that conspire to create entropy.

also, unfortunately or not, many WILL take your responses as "Gospel" the debate over the sense mod is a good example of this. We can debate the merits/drawbacks as engineers but for many they can only base their position on who speaks the loudest or the most.
 
Last edited:
Seems like an "answer" to me. If you are unable to take any kind of criticism that's fine I won't bother to try and help.

That was simply my first-order opinion, based on what I know about digital systems from the 80's (which I do have some experience with), as well as random systems. I did not state it (or claim to state it) as any sort of gospel or definitive answer. This is a discussion forum, and I'm welcome to give my opinion as much as anyone else. And I believe the rest of that post (and the following posts) were pretty clear about articulating what I do and don't know.

Did I make any claims that my answer should be considered gospel? As an engineer, transparency of knowledge is something I'm very aware of, and consider very important. HENCE MY COMMENTS in this thread.

I get the sense you think I'm trying to convince people of knowledge I don't have, or claims I'm not making. And none of that is the case. Like you, I'm approaching this from a position of investigation, posing what I believe to know, and acknowledging what I don't, in the event that there COULD be something that that I'm just not seeing. (Which any good engineer should do when investigating a problem.) That is the best I can do.

Based on everything I do know as a walking and breathing human being who works with electronics professionally (which I am NOT claiming is all-encompassing or definitive, or should be taken as gospel), I'm of the position that is best described as 'skeptical but open-minded'. I don't see how anything here could be voltage-dependent, but I also acknowledge that there could always be something I'm not seeing.

Now if there is anything that is, or could be voltage-dependent, that could lend some credence to the claims, then I welcome one of you gentlemen (or anyone else here) to point it out.
 
Most of post #27
There's a BIG difference between truly random numbers (entropy) and pseudo random numbers. The reality is "most digital systems" rely on "analog effects" as Mark mentioned to obtain entropy. (IF they NEED truly random numbers) This is common practice in cryptography or other secure systems. Video games generally don't NEED truly random numbers just ones that are PERCEIVED to be random by us humans. In that vein they almost always use some type of pseudo random process to achieve them. Interestingly your use of RNG for (I'm assuming) Random Number Generator is also a semiconductor structure know as an RNG (RiNG oscillator) which IS used for entropy generation. It's just a very high speed oscillator who's frequency is dependent on process variation, temperature, voltage and other analog parameters that conspire to create entropy.


Ok. What specifically in that post do you disagree with? (And why the need to mention ring oscillators? Are we all gonna flex now?) Yes, I know what ring oscillators are too. My background is in comms, so 'RNG' is Random Number Generator/Generation. Apologies if the meaning wasn't clear, I thought it was a term most technical people know these days.

Perhaps you read my statement in post #27 to say that 'truly' random number generation (entropy) isn't used much today. And that isn't what I meant at all. I simply meant that most of the randomness you see implemented systems today is pseudorandom. (And I was very intentionally keeping things simple for the purposes of the discussion here.)

I'm fully aware of truly random vs pseudorandom numbers, and the places where one is needed over the other. And I still stand by my statement. MOST practical applications of randomness today (especially in all of the code that is out there) use pseudorandom numbers that are generated via some digital means (LFSR or otherwise), as they are cheap and 'good enough' for the application. They just need to look 'random enough' to fool a human (or to generate a key stream for scrambling data for non-security purposes/comms, or to generate random-looking terrain in a video game, or any other application where semi-unpredictability is needed, in a way that someone isn't trying to reverse engineer).

For the cases where you NEED entropy, yes there are options, and they are usually analog-derived. Thermal noise, Brownian motion, atmospheric noise, quantum, we can talk all day about it. But those cases are fewer in number (though perhaps more 'important') than the other cases, in most of the disposable consumer electronic equipment that most people use today, because MOST applications DON'T need them. And they are far beyond the scope of 40-year-old electronics (which is the point of this thead).
 
it is a discussion forum, any advice or comment by any "expert" is to be taken and applied at your own risk. most of the time i just do what the fuck i want. however, i still value all the inputs and the banding together to at least drive the discussion forward. say what you will, but andrewb has actively helped a lot in this community when a lot of the previous knowledge hoarders went back into their man caves (it could be a euphemism).

also, the sense mode is shit. in my "expert" opinion and after collecting and owning multiple atari titles i have never had an issue or had to implement it. so take it as gospel and drink an ice cold hamm's on me (after the hamm's shortage stops).
 
topics at-hand in this thread:
  • DK
  • high scores
  • possible cheatery occurring
shouldn't we be arguing about Billy Mitchell anyways?

we need a sub-forum where tech arguments by tenacious smarties can be properly battled out, Thunderdome style
 
topics at-hand in this thread:
  • DK
  • high scores
  • possible cheatery occurring
shouldn't we be arguing about Billy Mitchell anyways?

we need a sub-forum where tech arguments by tenacious smarties can be properly battled out, Thunderdome style
billy mitchell is a voltage manipulating hot sauce ass clown
 
Thanks! so clearly the relation of the "count" to the execution of the game code can't be manipulated by voltage, at least until it's low enough to cause complete failure of the system. Do you know the answer to my other question about the "counters" in the ISR? Are they truly just linear counts? (just asking if you know offhand)
It's also totally acceptable to say "I don't know offhand"

I did a partial DK disassembly ~20 years ago, and it's prob still on a linux box at home somewhere, but I don't have access to it right now.

I just did a quick scan of a hex dump to see if there was a 0xed 0x5f == "LD A,R" to use the DRAM refresh register as a PRNG as many other Z80 games do.
 
which is far preferable to him being a hot ass sauce clown.
 
That's nice dear. Now what does that have to do with a 40-year-old board?

You claimed they're not used in digital systems, not 40-year-old boards. QED.

I don't do anything with MAME. You don't seem to understand me when I say there are plenty of things I have no interest in.

The source is moderately useful tool with reasonable documentation of hardware.

Because I don't see you helping with most of them.

No reason to answer questions that are trivial enough for you, or that I've answered before.
 
You claimed they're not used in digital systems, not 40-year-old boards. QED.

I never said any such thing.

Please cite where I said that. I'll wait.

No reason to answer questions that are trivial enough for you, or that I've answered before.

Nice attitude.

Maybe learn to be helpful, instead of only being concerned with being smart.
 
Back
Top Bottom