It is currently Sat Nov 25, 2017 2:41 am

All times are UTC - 7 hours





Post new topic Reply to topic  [ 584 posts ]  Go to page Previous  1, 2, 3, 4, 5, 6, 7 ... 39  Next
Author Message
PostPosted: Sun Nov 30, 2014 3:05 am 
Offline
User avatar

Joined: Sat Oct 29, 2005 2:09 am
Posts: 501
Location: Indianapolis
I have finished the FPGA side pretty much of this project now. In the last few days I have added:

* scanline generators (two kinds- NES locked and free run)

* menu! menu now lets you set up all of the video parameters from the controller.

* MMC5 audio (totally new core)
* VRC6 audio (heavily rewrote)
* FDS audio (totally new core)
* N106 audio (some rewriting)
* sunsoft5B audio (some rewriting)
* VRC7 (some rewriting)

* Audio FIR filter (2 stage)

The audio stuff is ported from the FPGA NES project and have been gone over again to fix bugs, update old code and all that. Some of it was early verilog I had written and it was ugly so it got rewritten.

The FPGA resources are now totally used up:

* logic elements: 98%
* pins: 100%
* PLLs: 100%
* multipliers: 2 left
* blockrams: 100%

This means that the scanline generators are going to have to stay as they are but I think it should be fairly usable. I tried a bunch of "NES locked" scanline generator ideas people mentioned in here and on the IRC channel but they all looked pretty bad and noticeable, unfortunately.

Setting the 1080p mode to 3x scanlines (a "scanline" every 3 HDMI lines) which is higher resolution than the NES and then using one of the scalers looks fairly passable. If you want "real" scanlines, then 720p or 480p modes will need to be used. PAL systems will have to use the free run mode most likely since the scaling on them is non-integer due to hardware restrictions between the PPU frame and the HDMI frame.

All expansion audio is implemented and works now. The VRC7 needs some slight tweaking but seems to be pretty close. At the time I implemented this I didn't know about the ADSR control bit so I will add that.

I have each source separate, and relative volumes of all channels are adjustable against each other. I still need to write a boatload of menu code to allow you to adjust all the parameters though (relative volumes) but the hardware side is all done at least.

Each chip and in some cases sub channels are all individually pannable. This includes the original NES channels (all are pannable individually), VRC6 (individually pannable), MMC5 (same), and the others are pannable as a unit. VRC7 has 2 outputs that can be panned individually left/right, each being a set of 3 channels.

There's a FIR filter to cut out most of the aliasing from the audio and works quite decent. Looped noise sounds pretty decent. There's still a tiny bit of aliasing on very very very high frequency squares but this is unavoidable. The only time I could hear it was when I used a program that let me manually poke the sound registers.

I will release another update video soon outlining some of the new features I added in the last week.

_________________
/* this is a comment */


Top
 Profile  
 
PostPosted: Sun Nov 30, 2014 1:25 pm 
Offline

Joined: Sun Apr 13, 2008 11:12 am
Posts: 6458
Location: UK (temporarily)
kevtris wrote:
PAL systems will have to use the free run mode most likely since the scaling on them is non-integer due to hardware restrictions between the PPU frame and the HDMI frame.
So, the 2C07 is active for 240/312 = 77% of the frame, while the 2C02 is active for (224 to 240)/262 = 85% to 92%, and 720p and 1080p are active for 96% of the frame... how many scanlines tall is your circular buffer? It looks like you would need 63 for 2C07→720p@50... oy.

Would it be better to offer windowboxed output instead of nonuniform scanlines? I assume PAL-market HDTVs support the same de-windowboxing scalers that I've seen in NTSC-land.

Quote:
There's a FIR filter to cut out most of the aliasing
Why not IIR? A Butterworth or Chebyshev-I lowpass should be more efficient in terms of multiplications per sample per sharpness, assuming that the group delay doesn't get too large.


Top
 Profile  
 
PostPosted: Sun Nov 30, 2014 2:51 pm 
Offline
User avatar

Joined: Sat Oct 29, 2005 2:09 am
Posts: 501
Location: Indianapolis
lidnariq wrote:
kevtris wrote:
PAL systems will have to use the free run mode most likely since the scaling on them is non-integer due to hardware restrictions between the PPU frame and the HDMI frame.
So, the 2C07 is active for 240/312 = 77% of the frame, while the 2C02 is active for (224 to 240)/262 = 85% to 92%, and 720p and 1080p are active for 96% of the frame... how many scanlines tall is your circular buffer? It looks like you would need 63 for 2C07→720p@50... oy.

Would it be better to offer windowboxed output instead of nonuniform scanlines? I assume PAL-market HDTVs support the same de-windowboxing scalers that I've seen in NTSC-land.

Quote:
There's a FIR filter to cut out most of the aliasing
Why not IIR? A Butterworth or Chebyshev-I lowpass should be more efficient in terms of multiplications per sample per sharpness, assuming that the group delay doesn't get too large.


it's 32 scanlines high and I cannot make it bigger. This already was bigger than I was hoping I'd need, but 50fps 720/1080p is kinda dumb. they simply lengthen the hblank on each scanline, instead of increasing vblank. This means as you surmised, that I need a larger buffer, and this is indeed the case. I letterbox PAL slightly to fit and not run out of buffer. It's literally as tall as I can make it before the buffer starts to wrap, within 5-8 HDMI scanlines (I chose a height that looked best when vertically scrolling).

I thought about an IIR and I might give it a try before release.

_________________
/* this is a comment */


Top
 Profile  
 
PostPosted: Mon Dec 01, 2014 8:51 am 
Offline
Formerly akaviolence
User avatar

Joined: Thu Oct 22, 2009 10:21 am
Posts: 155
Location: Central Indiana
Video of Kevin putting together the 1st prototype board using stencil and solder paste, his vacuum tool, and his reflow oven.
https://www.youtube.com/watch?v=xJ3WJ_eCNTU


Top
 Profile  
 
PostPosted: Mon Dec 01, 2014 3:39 pm 
Offline
User avatar

Joined: Sat Oct 29, 2005 2:09 am
Posts: 501
Location: Indianapolis
I have put up a video outlining all of the features of the Hi Def NES adapter's video functionality now it's here:

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

I show off the scanlines, stretching, interpolation and scalers.

_________________
/* this is a comment */


Top
 Profile  
 
PostPosted: Thu Dec 04, 2014 4:04 pm 
Offline

Joined: Tue Nov 23, 2004 9:35 pm
Posts: 620
Outputting and upscaling a hi-def picture of a retro console is becomming more popular. Here is a similar idea for the Gameboy : https://www.kickstarter.com/projects/50 ... -boy-class. However, the hdmyboy project is much less ambitious because it is converting the digital data that would go to the LCD, it does not monitor palette entries nor does it emulate the APU.

_________________
Nerdly Pleasures - My Vintage Video Game & Computing Blog


Top
 Profile  
 
PostPosted: Thu Dec 04, 2014 4:13 pm 
Offline

Joined: Sun Mar 19, 2006 9:44 pm
Posts: 920
Location: Japan
Hmmm... that timeline is missing a lot between 1990 and 2013, namely Brian Provinciano's digital VGA capture of the GB & GBA, etc.

http://web.archive.org/web/200611131557 ... /index.php
http://www.assemblergames.com/forums/sh ... GA-Adapter

_________________
http://www.chrismcovell.com


Top
 Profile  
 
PostPosted: Mon Dec 08, 2014 12:22 am 
Offline
User avatar

Joined: Sat Oct 29, 2005 2:09 am
Posts: 501
Location: Indianapolis
Well the audio update video has been posted showing off all of the expansion audio capabilities, along with cropping.

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


Enjoy! (yeah the sunsoft 5B was a lot quieter than it should'a been. that's why there is a gain control!)

Going to work on palettes next and flesh out the rest of the menu next.

_________________
/* this is a comment */


Top
 Profile  
 
PostPosted: Mon Dec 08, 2014 9:14 pm 
Offline

Joined: Wed Aug 06, 2014 3:45 pm
Posts: 18
Those sound chips are found on the cart, correct? But since you are spying the CPU and PPU you don't get any of the sound info when it comes from the cart, right? I am just a little confused why you need to have the chip support enabled. Also, can you just leave all the chips enabled all the time? Or does that just mess everything up?


Top
 Profile  
 
PostPosted: Mon Dec 08, 2014 9:36 pm 
Offline
User avatar

Joined: Sat Oct 29, 2005 2:09 am
Posts: 501
Location: Indianapolis
Lyjal wrote:
Those sound chips are found on the cart, correct? But since you are spying the CPU and PPU you don't get any of the sound info when it comes from the cart, right? I am just a little confused why you need to have the chip support enabled. Also, can you just leave all the chips enabled all the time? Or does that just mess everything up?


yes the chips are on the carts but since I need the sound in digital format I am generating it myself (and then you can use a powerpak or similar to play games with extra chips without needing the cart)

you can leave the chips on but you might get random noises if the games use the same register addresses as the sound chips.

_________________
/* this is a comment */


Top
 Profile  
 
PostPosted: Mon Dec 08, 2014 9:48 pm 
Offline

Joined: Wed Aug 06, 2014 3:45 pm
Posts: 18
I see. Thanks.

And then the 16 line cropping is just to take off what is normally not seen on an NTSC TV?

Also, what are the palettes you are talking about? Border palletes or are they for the menu?

This project is really cool and innovative. It looks like this is an approach that can be applied to other consoles. I will definitely be getting in line when production begins.


Top
 Profile  
 
PostPosted: Mon Dec 08, 2014 10:21 pm 
Offline
User avatar

Joined: Sat Oct 29, 2005 2:09 am
Posts: 501
Location: Indianapolis
Lyjal wrote:
I see. Thanks.

And then the 16 line cropping is just to take off what is normally not seen on an NTSC TV?

Also, what are the palettes you are talking about? Border palletes or are they for the menu?

This project is really cool and innovative. It looks like this is an approach that can be applied to other consoles. I will definitely be getting in line when production begins.



yes, the cropping removes the stuff that normally is in overscan. many games have lots of "junk" at the edges and top of the screen so this would hide that.

the palettes are the RGB palettes used to render the NES graphics.

thanks for the words of encouragement :-)

_________________
/* this is a comment */


Top
 Profile  
 
PostPosted: Sat Dec 13, 2014 6:44 am 
Offline
Formerly akaviolence
User avatar

Joined: Thu Oct 22, 2009 10:21 am
Posts: 155
Location: Central Indiana
Kevtris and I check out the Hi-Def NES on my 19" lcd tv.
We also test the zapper out and talk about what's going on with the project.

http://youtu.be/aZ4i-hHkPBQ


Top
 Profile  
 
PostPosted: Sat Dec 27, 2014 4:00 pm 
Offline
Formerly akaviolence
User avatar

Joined: Thu Oct 22, 2009 10:21 am
Posts: 155
Location: Central Indiana
This is my first real attempt at putting the pcbs of the Hi-Def NES HDMI kit in to a Nintendo Top Loader.
http://youtu.be/PS8SZirjtoQ


Top
 Profile  
 
PostPosted: Wed Dec 31, 2014 8:56 pm 
Offline
User avatar

Joined: Sat Oct 29, 2005 2:09 am
Posts: 501
Location: Indianapolis
Here's the 4th update!

Things added since last time:

* DVI Mode
* Screen is centered
* Pixel masking fixed
* Set the relative audio volumes
* Fixed extraneous pixels
* Hot keys were added
* Overclocking
* Palettes!
* Menu info is now correct
* Fixed the powerpak NSF player

https://www.youtube.com/watch?v=i9gUVcU ... e=youtu.be

Enjoy!

_________________
/* this is a comment */


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 584 posts ]  Go to page Previous  1, 2, 3, 4, 5, 6, 7 ... 39  Next

All times are UTC - 7 hours


Who is online

Users browsing this forum: No registered users and 7 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group