Search found 39 matches

by ap9
Fri Oct 25, 2019 8:22 pm
Forum: NESemdev
Topic: scanline.nes Test Rom
Replies: 6
Views: 2120

Re: scanline.nes Test Rom

FCEUX is not overly accurate as far as these sorts of things go. Especially if you're using the "old ppu" (which is the default), in which case it renders the screen 1 scanline at a time, I think. I think the new ppu is 8 pixels at a time. The old PPU rendered 8 playfield pixels at a time, combined...
by ap9
Wed Oct 09, 2019 9:19 pm
Forum: NES Music
Topic: .FTM files to .IT or .MOD
Replies: 5
Views: 4452

Re: .FTM files to .IT or .MOD

Sound quality is far from perfect, the interpolation hits it pretty hard. It would sound better if it used larger samples played at higher frequencies, but I haven't gotten around to updating it in like.. uh, 16 years. :roll: http://membler-industries.com/SNES/ By all means, update it. :D Doubling ...
by ap9
Mon Oct 07, 2019 10:18 am
Forum: Newbie Help Center
Topic: Red Screen
Replies: 4
Views: 5292

Re: Red Screen

Solid color screens tend to be due to bad pin connections. Saying this from experience with my NES and corroded pins. Make sure the board and solder connections are good, continuity tests if you can.

Edit: reading further, it may also be the lockout chip, especially since using a modified ROM.
by ap9
Mon Jan 21, 2019 8:34 pm
Forum: NESemdev
Topic: Timing the change in rendering status
Replies: 4
Views: 6501

Re: Timing the change in rendering status

Horizontal alignment in Micro Machines on hardware is pretty sound (no shaking), as seen in this capture video (presumably). https://www.youtube.com/watch?v=BMpZznee74I During cut screens the background color can be set to black mid-frame where it's only visible in horizontal blank area (something g...
by ap9
Sat Jan 19, 2019 11:52 pm
Forum: NESemdev
Topic: Donkey Kong Score Going the Wrong Way in Demo
Replies: 9
Views: 5513

Re: Donkey Kong Score Going the Wrong Way in Demo

It's easier to implement ADC/SBC from scratch once you know that overflow or carry only occur when the sign bit changes, and that SBC is really an inverted add (a+~b+c). In C code with larger int sizes, it's easy to just check if the add result is larger than 0xFF for carry, and only otherwise can o...
by ap9
Mon Jan 14, 2019 10:46 pm
Forum: NESemdev
Topic: the "right" timing for savestates?
Replies: 16
Views: 9190

Re: the "right" timing for savestates?

Sometimes timing can be sensitive that if you're off by a cycle or subcycle, if can ruin consistency or crash the game. I know that resetting Super Mario Bros 3 at the wrong time can cause it to crash. Are you sure the save time is exactly the same as the restore time? It doesn't matter if it's in t...
by ap9
Tue Dec 11, 2018 4:54 am
Forum: NESdev
Topic: Repro for unemulated PPU_ADDRESS scrolling issue
Replies: 9
Views: 5119

Re: Repro for unemulated PPU_ADDRESS scrolling issue

... no, it can't be exactly the same glitch, because this sticks for the remainder of the frame, but that one is only a single scanline They're similar in that they're both race conditions that seem to occur around pixel 256. With 8-bit logic, wouldn't the counters would be incremented in pieces? T...
by ap9
Wed Dec 05, 2018 4:12 am
Forum: NESdev
Topic: Repro for unemulated PPU_ADDRESS scrolling issue
Replies: 9
Views: 5119

Re: Repro for unemulated PPU_ADDRESS scrolling issue

During the process of fetching DMC bytes in playback, the DMA process will wait 3 cycles before the actual read. The 6502 is designed to always read or write on every cycle, so every one of these idle cycles are a read of the current address bus register. So not only does the reads affect timing, bu...
by ap9
Thu Nov 29, 2018 4:37 am
Forum: General Stuff
Topic: C: multi vs single dimensional array performance?
Replies: 42
Views: 8470

Re: C: multi vs single dimensional array performance?

There is a slight advantage to manually designing the array, say to pre-compute a position in an array for later use, if it doesn't change throughout an operation. Example: const int timings[5*8] = {...}; int current_frequency; int *current_timings; void set_freq(int freq) { current_frequency = freq...
by ap9
Mon Aug 20, 2018 1:38 am
Forum: NES Music
Topic: Ultrasonic pulse behaviors for 2a0x and MMC5.
Replies: 20
Views: 14683

Re: Ultrasonic pulse behaviors for 2a0x and MMC5.

Yes, boxcar is rectangular interpolation that it lines up with a rectangular sinc window. And likewise it has no side lobe suppression nor any flattening of the top in terms of frequency response. But it can make a good soft lowpass at 2:1 or an okay first order filter. Or in the case of use in my e...
by ap9
Sun Aug 19, 2018 12:13 pm
Forum: NES Music
Topic: Ultrasonic pulse behaviors for 2a0x and MMC5.
Replies: 20
Views: 14683

Re: Ultrasonic pulse behaviors for 2a0x and MMC5.

This is why you can't use boxcar alone (see attachment), as some emulators may do. While 2:1 is mathematically sound, no ratio provides 1:1 frequency response, and a pattern emerges the higher the ratio.
by ap9
Thu Aug 02, 2018 3:20 am
Forum: NES Music
Topic: Ultrasonic pulse behaviors for 2a0x and MMC5.
Replies: 20
Views: 14683

Re: Ultrasonic pulse behaviors for 2a0x and MMC5.

Accounting for all cycles and, when resampling, an accurate lowpass filter are needed for accurate results. Some box car interpolation can speed up the process, but the larger the ratio, the more inconsistent the attenuation. In my own tests, however, I've found that FIR alone can deliver messy resu...
by ap9
Thu Nov 23, 2017 1:04 am
Forum: General Stuff
Topic: List of difficulty of NES games?
Replies: 117
Views: 11612

Re: List of difficulty of NES games?

Am I the only one who find SMB difficult ? I mean there's only a single hit point, and the movement control is so erratic, I hate it. I prefer heroes running at constant speed, I hate how Mario accelerate and decelerates so slowly. I probably didn't get much further than world 2-4 or something. How...
by ap9
Wed Nov 22, 2017 5:58 pm
Forum: NES Music
Topic: Did an orginal, unmodded Famicom sound like this? (Samples)
Replies: 13
Views: 8707

Re: Did an orginal, unmodded Famicom sound like this? (Sampl

It will probably still be audibly aliased because the Nyquist rate of 13,160 Hz is below the identifiable limit of human hearing, 16KHz. As far as I can tell, approaching the Nyquist limit with rectangular transitions between samples appears to produce aliasing at any rate. The routine could be sped...
by ap9
Wed Nov 22, 2017 5:23 pm
Forum: NES Music
Topic: Measuring the nonlinearity of the PCM DAC
Replies: 3
Views: 2754

Re: Measuring the nonlinearity of the PCM DAC

To clarify, I said the non-genuine sine wave was a problem (sub-harmonics), not that it's a cause of the aliasing. It would still be good to get a true DAC curve. We are, after all, looking at analog results of a few filter stages designed with low cost in mind , which includes raw tolerances for th...