It is currently Fri Nov 24, 2017 12:44 am

All times are UTC - 7 hours





Post new topic Reply to topic  [ 72 posts ]  Go to page Previous  1, 2, 3, 4, 5
Author Message
PostPosted: Sat Oct 21, 2017 1:38 pm 
Offline
User avatar

Joined: Fri May 08, 2015 7:17 pm
Posts: 1834
Location: DIGDUG
I was getting good results just EQ boosting the mid-range. I might try some EQ variations first, before spending time on DMC converters.

_________________
nesdoug.com -- blog/tutorial on programming for the NES


Top
 Profile  
 
PostPosted: Sat Oct 21, 2017 3:09 pm 
Offline

Joined: Fri Sep 30, 2016 8:57 pm
Posts: 15
a low-pass filter set to cut frequencies above the nyquist rate would probably be a pretty important aspect of pre-processing, no?


Top
 Profile  
 
PostPosted: Sat Oct 21, 2017 3:38 pm 
Offline
User avatar

Joined: Fri May 08, 2015 7:17 pm
Posts: 1834
Location: DIGDUG
I strongly disagree, toggle switch.

The mid to upper range tends to come out weak in the conversion. So it needs a boost, not a cut.

Also, I'm going for realism. It should sound like a real guitar.

_________________
nesdoug.com -- blog/tutorial on programming for the NES


Top
 Profile  
 
PostPosted: Sat Oct 21, 2017 4:33 pm 
Offline
User avatar

Joined: Sun Jan 22, 2012 12:03 pm
Posts: 5838
Location: Canada
Any good resampler will filter out stuff above the nyquist frequency while resampling, so they shouldn't affect the DMC encoding process anyway, unless you're using a bad resampler?

EQ is super important for DMC encoding though, since all the frequencies compete for that limited 1-bit bandwidth. It's just not possible to encode sounds with arbitrary spectrums, there's an imposed hierarchy with lower frequencies pushing out higher ones. (I wish RJDMC had an interactive EQ.)


Top
 Profile  
 
PostPosted: Sat Oct 21, 2017 4:38 pm 
Offline

Joined: Sun Apr 13, 2008 11:12 am
Posts: 6450
Location: UK (temporarily)
Frequencies above the nyquist rate would produce aliasing; that's not really relevant to the DPCM conversion (which is usually reduced to just the minimal problem of "convert one 8+bit sample in to one 1-bit sample out").

A lot of the problem is that the naïve DPCM conversion accidentally prefers to encode low frequencies and slew rate distortion in preference to higher frequencies; this can be worked around by bandlimiting the input. It doesn't necessarily have to be high- or low- passed, just narrowband.

DPCM is roughly equivalent to a 1-bit DAC that goes through an integrator; this integrator in turn acts as a lowpass with infinitely low corner frequency. (In the NES, DPCM only has a 6-bit range so that's not entirely accurate). I once made a conversion tool that attempted to take this into account (returning the sign of the first backwards difference instead of the naïve "trace the PCM waveform" algorithm), but it had problems with railing.


Top
 Profile  
 
PostPosted: Thu Nov 02, 2017 7:24 am 
Offline
User avatar

Joined: Fri May 08, 2015 7:17 pm
Posts: 1834
Location: DIGDUG
Does anyone want to play test the game for me?

I need a detailed evaluation of each level and the graphics and the physics, etc.

I don't want to post a ROM, since several things are still not done (the main character's animations, for example).

PM me if you're interested. Thanks.

_________________
nesdoug.com -- blog/tutorial on programming for the NES


Top
 Profile  
 
PostPosted: Wed Nov 08, 2017 9:16 pm 
Offline
User avatar

Joined: Fri May 08, 2015 7:17 pm
Posts: 1834
Location: DIGDUG
Random screenshot. I have 30 levels designed and re-designed. This part has taken much longer than I expected. Thanks to everyone who play tested. Hopefully I'll have an updated test in 2-4 weeks.


Attachments:
Jammin10.png
Jammin10.png [ 2.67 KiB | Viewed 388 times ]

_________________
nesdoug.com -- blog/tutorial on programming for the NES
Top
 Profile  
 
PostPosted: Sun Nov 12, 2017 1:49 pm 
Offline

Joined: Mon May 27, 2013 9:40 am
Posts: 356
I think it looks ace. Good job.

_________________
http://www.mojontwins.com


Top
 Profile  
 
PostPosted: Wed Nov 15, 2017 9:24 pm 
Offline
User avatar

Joined: Fri May 08, 2015 7:17 pm
Posts: 1834
Location: DIGDUG
I put MORE data in the CHR-ROM today.

Originally, I only put level data in the last CHR bank, but I'm getting a little nervous about PRG-ROM space left...I had about 1700 ($6C0) bytes left, but I am going to add another song 500+ bytes and all the logic for enemy moves, and a few other details, sprite definitions... I wasn't sure if it would fit.

Anyway, I put all my RLE files (non-level backgrounds, exported from NES Screen Tool) in the end of the 3rd CHR-ROM bank. Freed up about 1000 bytes. Now I can relax and program all the enemy moves.

Man, I didn't think I would run out of PRG-ROM so fast.

I'd say the game is 80% done.

_________________
nesdoug.com -- blog/tutorial on programming for the NES


Top
 Profile  
 
PostPosted: Thu Nov 16, 2017 1:50 am 
Offline

Joined: Mon May 27, 2013 9:40 am
Posts: 356
This seems to be the year of "stuff your data in unused CHR-ROM space", or so it seems :D Been doing the same :)

_________________
http://www.mojontwins.com


Top
 Profile  
 
PostPosted: Fri Nov 17, 2017 11:38 am 
Offline
User avatar

Joined: Fri May 08, 2015 7:17 pm
Posts: 1834
Location: DIGDUG
Here's a preview. I have the hero animations done, and most of the enemy animations done. Here's some tests of the enemy moves.

This is coming together very smoothly, due to some forethought. I wrote a bunch of generalized functions called "collision_down" and "ladder_below" for the hero to use. The enemies are using the same functions to decide if they are on a platform, or over a ladder.

I will probably do a few palette changes in later stages, to indicate that the enemy is a slightly harder version (faster, more aggressive).

https://youtu.be/oWmW-M-O_1Y

_________________
nesdoug.com -- blog/tutorial on programming for the NES


Top
 Profile  
 
PostPosted: Mon Nov 20, 2017 12:22 pm 
Offline
User avatar

Joined: Fri May 08, 2015 7:17 pm
Posts: 1834
Location: DIGDUG
As predicted, I ran out of PRG space. I have everything but the boss fight programmed in. Tried to make some changes...OVERFLOW in PRG segment.

I'm now trying to identify redundant code, and putting that in subroutines, considering rewriting bits in ASM.

I won't be able to do a few things I wanted, if I'm out of space.

Almost there.


EDIT - I managed to free up another 1000 bytes by removing inefficiencies/redundancies in the sprite drawing code. Let's see how far this will get me.

_________________
nesdoug.com -- blog/tutorial on programming for the NES


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 72 posts ]  Go to page Previous  1, 2, 3, 4, 5

All times are UTC - 7 hours


Who is online

Users browsing this forum: No registered users and 1 guest


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