As usual my mind comes up with some strange ideas/thoughts..
Would it be possible (for a hardware guru) to recreate the NES with modern hardware? Imagine a "new" NES, compatible with our old cartridges but with modern connectors (HDMI, stereo output..)?
Would it be legal? Would there be a market (for fans) for such a thing?
It would be cool if Nintendo released new versions (some kind of "collectors edition" that works with modern TV's) of their old machines but I guess that is not going to happen.
My NES doesn't work with my LCD TV because the resolution is too low (image is jumping up and down), so this is why I came up with this idea.
For such a worthy feat, I'd like to see true RGB output, internal support for extra sound channels (MMC5, Namcot-106, FME-7, Konami VRC's 6 & 7) and a fully-stocked PPU RAM.
oRBIT2002: How would stereo output work? There are no existing pan registers. Would extra functionality be unlocked by a sequence of writes to the addresses of the (nonexistent) sweep registers of the triangle and noise channels?
Dr. Floppy: The PlayChoice and Famicom Titler already have "true RGB output". And "fixing" JMP (a) could break compatibility with existing software. (Is .align 2 really so hard?)
socram8888: As kevtris found out when implementing his own NES-on-an-FPGA, interfacing FPGAs at modern voltages to cartridges that expect 5.0 V can be a pain. Instead, he went for implementing the mapper on the same FPGA.
Lately, Quietust has been quietly tracing out the masks of the 2A03; see "Detailed structural information" on this page. A netlist can be extracted from these masks and translated into Verilog for use on an FPGA.
This would be very cool, but if one were through the trouble of doing that I'd as well do it as a handeld which would be barely more than the size of a NES cartridge, with an incorportated LiIon battery and a LCD screen.
Having it barely more than the size of a FC cartridge would be even better (about the size of the original GBA) but then it would look ridiculous with a 72->60 converter and a huge NES cart attached to it.
It would be cool but I doubt most people would be able to enjoy it as those project are usualy undertaken by one or two huge fan and the work involved in making suc ha thing is so grat that the final unit is usualy the only unit made and they keep it for themself as cost of mass producing stuff is prohibitive for small scale project.
I would rather have a new smaller pcb made with top loading connector and case and solder back the cpu and other chip on myself and have old nes with a new smaller exterior
I would rather have a new smaller pcb made with top loading connector and case and solder back the cpu and other chip on myself and have old nes with a new smaller exterior
I think it already exists and is called NTSC toploader or AV Famicom depending on your region
Too bad it wasn't released in Pal territories, but it looks WAY better than the original console in my opinion.
Instead of interfacing a 5V cartridge, you can make use of the FPGA (to emulate mappers) and a SD card, and an external LV-TTL RAM to store the current game (4MB for example - 2MB for PRG and 2MB for CHR. That should be enough to load most existing games)
And about the stereo audio: allow users to select which channel should go in each speaker in the game selection menu. And/or use an additional APU as some improved NOAC does for homebrew uses
socram8888 wrote:Instead of interfacing a 5V cartridge
So now you're looking to make a Kevtendo. But without interfacing a cartridge, you have no way of (lawfully) obtaining ROM images to run on an FPGA NES clone. Even for homebrew, you can't be sure that you're emulating (for example) the MMC5 correctly. Mapper compatibility might be comparable to that of the PowerPak: it took a few revisions to get MMC3 working perfectly. And good luck running cartridges with their own CPU and PPU, such as a Wide Boy or RetroVision.
allow users to select which channel should go in each speaker in the game selection menu.
Setting a pan value for each channel at reset works for some games but not for others. For example, my sound engine automatically moves Square 1 sound effects to Square 2 under some circumstances so that two sound effects can play at once. Try playing LJ65 in VirtualNES and moving the pieces around rapidly to hear what can go wrong. For best results, games would have to be modified to write to the enhanced APU's pan register at runtime.
socram8888 wrote:Instead of interfacing a 5V cartridge
So now you're looking to make a Kevtendo. But without interfacing a cartridge, you have no way of (lawfully) obtaining ROM images to run on an FPGA NES clone.
To dump with CopyNES, you have to have both a working authentic front-loading NES and soldering skills. The supply of the former is (slowly) dwindling.
Stil...my argument was in response to your somewhat nitpicky "no way without piracy" comment. (excuse my wording here but I couldn't think of anything that sounded less assholish...rest assured that it's not meant that way) In response to your comment I offered A solution that proves that it IS possible. The fact that it's inpractical doesn't matter. As it is no more "inpractical" as there actually being a chance of the feds busting down your door for pirating nes games. (might happen...but you have to admit its unlikely. Yes I realise it has sorta happend)
I'd like to see an exact NES clone (compatibility wise) that features RGB/S-Video/Composite video output. Maybe even component video. Even more ideally it'd be nice if the system included its own hardware to scale the video output and output in progressive scan for better performance on HDTVs.
We can pretty much dream up alot of ideas like this. Another I think would be cool would be extra RAM - 8KB (0000 to 1FFF rather than mirrored 0000 to 07FF), support for a higher CPU clock speed, support for some kind of DMA to the PPU for fast name table and pattern table updates, extra sound hardware. Would be amazing if someone realized these sorts of ideas.
MottZilla wrote:Another I think would be cool would be extra RAM - 8KB (0000 to 1FFF rather than mirrored 0000 to 07FF), support for a higher CPU clock speed, support for some kind of DMA to the PPU for fast name table and pattern table updates, extra sound hardware.
So it appears you'd like these specs:
8 KiB of main RAM
120 KiB of extra RAM
2.7 MHz CPU
16-bit arithmetic instructions
16-bit base pointer for accessing all of main RAM with zero page instructions
16-bit stack pointer
32 KiB bankswitching with hardware support for calls to subroutines in other banks
16 palettes, each with 16 colors
DMA for fast copies to VRAM
DMA channels for automatic raster effects
2 background planes
Bigger sprites, and more of them
DPCM-on-steroids sampled audio playback chip with its own dedicated CPU and 64 KiB of RAM