I want a NES PCB that can do.......
Moderators: B00daW, Moderators
I want a NES PCB that can do.......
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?
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?
Re: I want a NES PCB that 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.
HDNES can do that.I also want this FPGA to be able to recreate all of the extra sound chips like VRC6 and such. Does this exist?
No, sprite flicker is an explicit property of the PPU and the software handling the low amount of sprite overdraw.Is there an option to get rid of sprite flicker on the NES Pro everdrive?
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.
Re: I want a NES PCB that can do.......
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.
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.
Re: I want a NES PCB that can do.......
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.
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.
Re: I want a NES PCB that can do.......
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.
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.
Re: I want a NES PCB that can do.......
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?
Re: I want a NES PCB that can do.......
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.
Re: I want a NES PCB that can do.......
Because Krikzz doesn't care.
If you want to fix this, you can learn verilog yourself.
Of course, but now you're effectively talking about custom hardware, not an NES.
Re: I want a NES PCB that can do.......
It's not so obvious to me, seeing as I'm not much of a hardware guy.
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.but now you're effectively talking about custom hardware, not an NES.
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.
Re: I want a NES PCB that can do.......
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.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.
Re: I want a NES PCB that can do.......
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 especially don't understand the SNES expansion port.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.
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 ????)
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.
Re: I want a NES PCB that can do.......
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.
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.
Edit: Ninja'd by Lidnariq. The above was an answer to Erockbox.
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.tokumaru wrote: ↑Wed Feb 03, 2021 1:08 pmI 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.but now you're effectively talking about custom hardware, not an NES.
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 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.