I want a NES PCB that can do.......

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

Moderators: B00daW, Moderators

Post Reply
Erockbrox
Posts: 386
Joined: Sun Nov 23, 2014 12:16 pm

I want a NES PCB that can do.......

Post by Erockbrox » Tue Feb 02, 2021 8:38 pm

I want a NES PCB with a small FPGA chip on it that can eliminate sprite flicker just like how the Analogue FPGA console can do.

I also want this FPGA to be able to recreate all of the extra sound chips like VRC6 and such. Does this exist?

In order words, I want a small FPGA chip on a NES PCB that can boot the capabilities of the NES. That's all.

Is there an option to get rid of sprite flicker on the NES Pro everdrive?

lidnariq
Posts: 10435
Joined: Sun Apr 13, 2008 11:12 am
Location: Seattle

Re: I want a NES PCB that can do.......

Post by lidnariq » Tue Feb 02, 2021 9:54 pm

Erockbrox wrote:
Tue Feb 02, 2021 8:38 pm
I want a NES PCB with a small FPGA chip on it that can eliminate sprite flicker just like how the Analogue FPGA console can do.
You're asking for someone to make a new FPGA NES, albeit only the PPU part. While there are partially-completed ones (e.g. UniversalPPU), no-one else who's willing to work with verilog is willing to do this for you for cheaper than the Analogue console.
I also want this FPGA to be able to recreate all of the extra sound chips like VRC6 and such. Does this exist?
HDNES can do that.
Is there an option to get rid of sprite flicker on the NES Pro everdrive?
No, sprite flicker is an explicit property of the PPU and the software handling the low amount of sprite overdraw.

This cannot be fixed from the cartridge edge, because there's no way for any possible sequence of bytes to be sent to the PPU to cause it to draw more than 64 pixels of sprite-colored pixels on any given scanline.

tepples
Posts: 22327
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Re: I want a NES PCB that can do.......

Post by tepples » Wed Feb 03, 2021 5:57 am

tl;dr: A cartridge can reduce flicker provided you learn Verilog.

In theory, there's a way to expand the sprite coverage of an unmodified NES. A cartridge can watch the sprite lists that the CPU sends to the PPU, render sprites itself based on this, and mix the output into the stream of background pixels that the PPU reads. This would get the sprites onto the screen while producing a different problem called attribute clash, as each sprite past the first 8 will be rendered in the colors of whatever background area is under them instead of the colors assigned to the sprite. If you're used to ZX Spectrum, you might find attribute clash less annoying than flicker.

This is similar to how the Super FX chip in Yoshi's Island for Super NES renders the game's title screen. As for the NES, no cartridge I know of is already set up to do this. If you learn Verilog, someday you might be able to build this.

Erockbrox
Posts: 386
Joined: Sun Nov 23, 2014 12:16 pm

Re: I want a NES PCB that can do.......

Post by Erockbrox » Wed Feb 03, 2021 10:09 am

Here is a song that uses various NES sound chips.

https://www.youtube.com/watch?v=vQxafO0KwuQ

Why can't you use the N8 Everdrive and use its FPGA to activate all of these sound expansion chips at once so that you can actually play this song on real hardware?

I'm sure the FPGA in the N8 Pro everdrive can do this.
Last edited by Erockbrox on Wed Feb 03, 2021 10:11 am, edited 1 time in total.

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

Re: I want a NES PCB that can do.......

Post by tokumaru » Wed Feb 03, 2021 10:10 am

It would be pretty cool if cartridges had access to the EXT pins on the PPU, so they could implement their own
completely custom video systems outputting 16-color images! Multiple background layers using 4bpp tiles, hundreds of flicker-free sprites, maybe even some hardware scaling... Nintendo created the PPU with those pins but completely missed out on the opportunity to make the console highly upgradable by simply grounding them.
Last edited by tokumaru on Wed Feb 03, 2021 10:19 am, edited 3 times in total.

Erockbrox
Posts: 386
Joined: Sun Nov 23, 2014 12:16 pm

Re: I want a NES PCB that can do.......

Post by Erockbrox » Wed Feb 03, 2021 10:13 am

So can't someone make use of the expansion port on the bottom of the NES to then be able to expand the NES's capabilities?

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

Re: I want a NES PCB that can do.......

Post by tokumaru » Wed Feb 03, 2021 10:21 am

Erockbrox wrote:
Wed Feb 03, 2021 10:13 am
So can't someone make use of the expansion port on the bottom of the NES to then be able to expand the NES's capabilities?
Not the way they're wired by default, I'm afraid... But I wonder if it'd be possible to mod the console and connect the PPU EXT pins to the EXP pins that the cartridge has access to in order to make that custom PPU in the cartridge possible.

lidnariq
Posts: 10435
Joined: Sun Apr 13, 2008 11:12 am
Location: Seattle

Re: I want a NES PCB that can do.......

Post by lidnariq » Wed Feb 03, 2021 12:56 pm

Erockbrox wrote:
Wed Feb 03, 2021 10:09 am
Why can't you use the N8 Everdrive and use its FPGA to activate all of these sound expansion chips at once so that you can actually play this song on real hardware?
Because Krikzz doesn't care.

If you want to fix this, you can learn verilog yourself.
tokumaru wrote:
Wed Feb 03, 2021 10:21 am
I wonder if it'd be possible to mod the console and connect the PPU EXT pins to the EXP pins that the cartridge has access to in order to make that custom PPU in the cartridge possible.
Of course, but now you're effectively talking about custom hardware, not an NES.

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

Re: I want a NES PCB that can do.......

Post by tokumaru » Wed Feb 03, 2021 1:08 pm

lidnariq wrote:
Wed Feb 03, 2021 12:56 pm
Of course
It's not so obvious to me, seeing as I'm not much of a hardware guy.
but now you're effectively talking about custom hardware, not an NES.
I guess, but with people mod'ing their NESs left and right for HDMI and RGB output and the like, connecting a few wires from the PPU to the expansion port doesn't seem so invasive. Too bad that this would be incompatible with said output mods and other uses of the expansion port. Anyway, I understand that depending on a mod completely eliminates the possibility of making this into an actual product, but it would still be very interesting to see as a proof of concept.

I don't understand why Nintendo would design their hardware with the capability of being expanded (PPU EXT, EXP) but ultimately prevent those features from being actually used.

Erockbrox
Posts: 386
Joined: Sun Nov 23, 2014 12:16 pm

Re: I want a NES PCB that can do.......

Post by Erockbrox » Wed Feb 03, 2021 2:06 pm

Not the way they're wired by default, I'm afraid... But I wonder if it'd be possible to mod the console and connect the PPU EXT pins to the EXP pins that the cartridge has access to in order to make that custom PPU in the cartridge possible.
What if you had a cartridge and a expansion port connector which communicated via blue tooth to each other. So the cartridge and expansion port can talk to each other.

lidnariq
Posts: 10435
Joined: Sun Apr 13, 2008 11:12 am
Location: Seattle

Re: I want a NES PCB that can do.......

Post by lidnariq » Wed Feb 03, 2021 2:18 pm

tokumaru wrote:
Wed Feb 03, 2021 1:08 pm
It's not so obvious to me, seeing as I'm not much of a hardware guy.
Sorry! I try to not use that word to avoid this, but slipped up this time.

In any case, you're suggesting cutting one trace and replacing it with another one, so this is pretty straight-forward to do.
I don't understand why Nintendo would design their hardware with the capability of being expanded (PPU EXT, EXP) but ultimately prevent those features from being actually used.
I especially don't understand the SNES expansion port.

The NES expansion port mostly makes sense: it's
1- 10 pins to hold the FDS
2- The pins from the Famicom expansion port
3- Some other random things that I don't entirely understand why they're there (/NMI and video in, for synchronizing and doing video overlay, I guess?; A15 and D0-D7 for ?????; the 4MHz CIC clock for ????)
Erockbrox wrote:
Wed Feb 03, 2021 2:06 pm
What if you had a cartridge and a expansion port connector which communicated via blue tooth to each other. So the cartridge and expansion port can talk to each other.
The problem is that the PPU's EXT pins are permanently disabled by the PCB. You can't attach anything to the expansion port to fix that: you have to cut things up inside the NES to use those pins on the PPU.

Pokun
Posts: 1817
Joined: Tue May 28, 2013 5:49 am
Location: Hokkaido, Japan

Re: I want a NES PCB that can do.......

Post by Pokun » Wed Feb 03, 2021 2:20 pm

No, that still doesn't solve the problem that the PPU expansion pins are not available in the expansion port.

Edit: Ninja'd by Lidnariq. The above was an answer to Erockbox.

tokumaru wrote:
Wed Feb 03, 2021 1:08 pm
but now you're effectively talking about custom hardware, not an NES.
I guess, but with people mod'ing their NESs left and right for HDMI and RGB output and the like, connecting a few wires from the PPU to the expansion port doesn't seem so invasive. Too bad that this would be incompatible with said output mods and other uses of the expansion port. Anyway, I understand that depending on a mod completely eliminates the possibility of making this into an actual product, but it would still be very interesting to see as a proof of concept.

I don't understand why Nintendo would design their hardware with the capability of being expanded (PPU EXT, EXP) but ultimately prevent those features from being actually used.
It's quite invasive considering all pins in the expansion port are used. If you change the meaning of the pins, it's no longer a NES or Famicom and old peripherals may cease to work.


I suppose that they put those extension pins there in case the PPU would be used in some other product, like an arcade system or for some kind of development system with additional features. They did reuse the CPU/APU as a sound co-processor in arcade systems.
It's also very similar to the TMS9918 which also has pins for external video, possibly inspiring this use. Other chips like the S-PPU for SNES also has this (once again grounded and mostly unused) and it has unused support for more VRAM than the SNES has. The PC-Engine's VDC has a bunch of unused features including the possibility for the VDC to output video without the help of the VCE. I think some of these chips where also used in some arcade systems where some features was used.
The Mega Drive's VDP has unused features (like more VRAM) which is used in the Sega TeraDrive computer IIRC.


I guess they put in these extra features if there is space, money and a potiental need for it, to make it more flexible when designing the rest of the hardware and again for potential reuse.


That said, I'm also very fascinated by these unused features, and likes to play with the thought of using a PPU (or other video chip) in a newly designed system. Like for example adding two PPUs to get 16 sprites/scanline and 2 backgrounds, or mixing a Nintendo one with a Sega one and so on.

Post Reply