RAM watching on a real NES?

Discuss hardware-related topics, such as development cartridges, CopyNES, PowerPak, EPROMs, or whatever.

Moderator: Moderators

User avatar
tokumaru
Posts: 12427
Joined: Sat Feb 12, 2005 9:43 pm
Location: Rio de Janeiro - Brazil

Re: RAM watching on a real NES?

Post by tokumaru »

thefox wrote:Yeah I kind of like the idea of using the expansion port (if it wasn't for the obvious issues) because it seems less intrusive
Breaking plastic off the console isn't intrusive? Not to mention incompatibility with different models and clones.
tepples
Posts: 22705
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Re: RAM watching on a real NES?

Post by tepples »

I don't see NES-101 not having the bottom expansion port as too different from later GameCube consoles not having the digital AV out.
User avatar
Memblers
Site Admin
Posts: 4044
Joined: Mon Sep 20, 2004 6:04 am
Location: Indianapolis
Contact:

Re: RAM watching on a real NES?

Post by Memblers »

I think the Everdrive would work well for that, since it won't affect the game's timing and the hardware already exists. The USB drivers make it simple to display ASCII with any terminal program, the trick would be adding that checking/output into the mappers. The USB chip doesn't come standard on the board (you can order it with it), and the cart shell doesn't have an opening for it, but I wouldn't mind installing a few for people if that's what stopping them. I have the Famicom Everdrive, haven't bothered to put the USB chip on mine yet.

About 72-pin connectors, the 2.5mm pitch ones are difficult to find, but 2.54mm is common and actually works just fine.
User avatar
tokumaru
Posts: 12427
Joined: Sat Feb 12, 2005 9:43 pm
Location: Rio de Janeiro - Brazil

Re: RAM watching on a real NES?

Post by tokumaru »

tepples wrote:I don't see NES-101 not having the bottom expansion port as too different from later GameCube consoles not having the digital AV out.
...Ok? My point is, why would you use the expansion port in the first place if what you need to do works even better in the cartridge slot, which's something all systems have? Sounds like pure stubbornness to me.
User avatar
Banshaku
Posts: 2417
Joined: Tue Jun 24, 2008 8:38 pm
Location: Japan
Contact:

Re: RAM watching on a real NES?

Post by Banshaku »

@Tokumaru

It just sound likes Tepples to me :lol:
tepples
Posts: 22705
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Re: RAM watching on a real NES?

Post by tepples »

I'm just trying to anticipate how stubborn some members of the speedrunning community are likely to be.
User avatar
Banshaku
Posts: 2417
Joined: Tue Jun 24, 2008 8:38 pm
Location: Japan
Contact:

Re: RAM watching on a real NES?

Post by Banshaku »

@tepples

Oh, I didn't mean that you were stubborn but more the way of answering something in unexpected ways is very tepples like, your trademark.

I apologize for the misunderstanding. m(_ _)m (<- Japanese emoji, bowing)
User avatar
NovaSquirrel
Posts: 483
Joined: Fri Feb 27, 2009 2:35 pm
Location: Fort Wayne, Indiana
Contact:

Re: RAM watching on a real NES?

Post by NovaSquirrel »

I feel like if someone actually goes to the trouble to make this a product they should go all the way and make it as best as it could be, requiring a cartridge passthrough. Detecting the actual address being accessed means that it's going to work for every possible case (increments, zeropage, pointers, indexing) with no chance for false positives.
User avatar
Memblers
Site Admin
Posts: 4044
Joined: Mon Sep 20, 2004 6:04 am
Location: Indianapolis
Contact:

Re: RAM watching on a real NES?

Post by Memblers »

Oh, I forgot the Everdrive won't have every address signal, derp. Several of my WIP projects do see the whole bus, I'm getting a little too used to that luxury, heheh. One of them is intended for this kind of use, and it certainly is Game Genie-like. But it seems like it will be forever before I can get it to that point, it's one my bigger projects..
User avatar
NovaSquirrel
Posts: 483
Joined: Fri Feb 27, 2009 2:35 pm
Location: Fort Wayne, Indiana
Contact:

Re: RAM watching on a real NES?

Post by NovaSquirrel »

Everdrive N8 has Game Genie support, doesn't it (Which would require all CPU address bits to go into the FPGA)? Even if not for Game Genie, you probably need every address bit if you need every mapper to work.
lidnariq
Posts: 11429
Joined: Sun Apr 13, 2008 11:12 am

Re: RAM watching on a real NES?

Post by lidnariq »

Both the Everdrive and Powerpak can listen to the entirety of both buses. The major difference between the two is that the Everdrive has to relay (and can bankswitch) PRG A12,11,10, which would be useful for NSF support or some of the rare pirate mappers that use 4K-or-smaller PRG banks; while the PowerPak has to relay (and can bankswitch) CHR A2,1,0 (for MMC5 left-and-right split screen with fine scrolling).

There's probably a few other subtle differences, but that's the huge one.


Game Genie support is usually achieved by patching the ROM at load time, rather than replacing things at fetch time.
User avatar
rainwarrior
Posts: 8731
Joined: Sun Jan 22, 2012 12:03 pm
Location: Canada
Contact:

Re: RAM watching on a real NES?

Post by rainwarrior »

Yeah, that difference in PRG line output is why I implemented mapper 31 for Everdrive, but not PowerPak. To get it to work on PowerPak I'd need a custom ROM loader and to cut the available PRG space in half, like its NSF player does.

For the matter at hand though, yeah I'm sure it has all the lines it needs. Don't thefox's powermappers work by snooping on controller reads? I'm sure that already proves the concept.

I think communicating with the USB without interrupting the CPU for it might be harder to solve, though.
User avatar
thefox
Posts: 3134
Joined: Mon Jan 03, 2005 10:36 am
Location: 🇫🇮
Contact:

Re: RAM watching on a real NES?

Post by thefox »

lidnariq wrote:Game Genie support is usually achieved by patching the ROM at load time, rather than replacing things at fetch time.
At least PowerPak patches at fetch time. Probably N8 too. I think there are some ambiguous situations when patching at load time, although it'd probably work in most of the cases.

(The problem is that, say, in MMC3 there are multiple addresses where a certain bank could be banked in, and there's no way to know which are actually used without running the program. The only protection against patching a wrong byte is the "compare" byte in most Game Genie codes, but it's not fool proof.)
Download STREEMERZ for NES from fauxgame.com! — Some other stuff I've done: fo.aspekt.fi
LittleRain
Posts: 39
Joined: Mon Aug 20, 2018 10:08 pm

Re: RAM watching on a real NES?

Post by LittleRain »

Im not sure if any of you watch the Tetris world championships, but every single nes they have uses a game genie which they use to redraw the game in HD for an overlay for twitch. They also use the data to make cool stats like tetris percentage, and tracking droughts.

Im actually trying to find out exactly how they do it, or if its even a game genie, or a different cartridge.
All they tell the viewers is exactly what i just did.

Heres one of their videos, and youve being warned. Its very addicting to watch, and you may not want to go down the rabbit hole.

https://youtu.be/DdfRQjb5o9k


And if anyone figures out how im sure we'd all love to know.
User avatar
rainwarrior
Posts: 8731
Joined: Sun Jan 22, 2012 12:03 pm
Location: Canada
Contact:

Re: RAM watching on a real NES?

Post by rainwarrior »

LittleRain wrote:Im not sure if any of you watch the Tetris world championships, but every single nes they have uses a game genie which they use to redraw the game in HD for an overlay for twitch. They also use the data to make cool stats like tetris percentage, and tracking droughts.
https://www.reddit.com/r/Tetris/comment ... stem_they/

In this thread there's a suggestion that the Game Genie is just used to apply a patch that controls the random number generator to make sure both players get the same pieces, and another poster says that the gathered stats and constructed visual is accomplished by analyzing the video itself, not by communication with the CPU.

Both of those ideas seem pretty plausible, and wouldn't require any special hardware.
Post Reply