Search found 161 matches
- Sat May 18, 2019 3:18 pm
- Forum: NESdev
- Topic: Why not read controllers in NMI?
- Replies: 50
- Views: 57049
Re: Why not read controllers in NMI?
And which get linked into the executable, occupying ROM and RAM, even if unused. No, they do not. These are modern tools, with LTO and other such conveniences the ancient platforms can only dream of. LTO will notice you never call function X. That cascades. If you don't use any SGDK joy functions, ...
- Fri May 17, 2019 1:56 pm
- Forum: General Stuff
- Topic: Nintendo cease&desist on a C64 port of Super Mario Bross
- Replies: 31
- Views: 32354
Re: Nintendo cease&desist on a C64 port of Super Mario Bross
The C64 used 1000 bytes to store character data and 1000 bytes of color attributes; Oh yes, I totally forgot about the color attributes. That makes the VSP trick even more crucial for this port. Using the even/odd scroll technique would allow the screen to scroll 8 pixels/frame using less than half...
- Fri May 17, 2019 1:00 pm
- Forum: General Stuff
- Topic: Nintendo cease&desist on a C64 port of Super Mario Bross
- Replies: 31
- Views: 32354
Re: Nintendo cease&desist on a C64 port of Super Mario Bross
Home computers (/ old IBM PCs) that didn't have any fine scrolling regs in hardware had to manually shift the entire screen data around to get any kind of scrolling. Which is why many games either had choppy scrolling or did it in 8/16 etc pixel increments. Actually on PC you can do vertical scroll...
- Fri May 17, 2019 9:49 am
- Forum: NESdev
- Topic: Why not read controllers in NMI?
- Replies: 50
- Views: 57049
Re: Why not read controllers in NMI?
I was reading the manual of SGDK, a widely used software library for programming Sega Genesis homebrew, and the standard practice of reading the controllers in the vertical blanking interrupt handler and calling a button event listener from this handler surprised me. But in order to be prepared whe...
- Fri May 17, 2019 8:23 am
- Forum: SNESdev
- Topic: Any registers that could outputs a clock signal?
- Replies: 1
- Views: 7588
Re: Any registers that could outputs a clock signal?
I'm searching a way to use a Rom address line to interact with a PIC MCU. I'm wondering if writing to a particular register could make an address line pulse. I'd like to establish a link between the rom and a pic so I may count I want to write a homebrew menu to count how many time the d-pad is pre...
- Fri May 17, 2019 7:45 am
- Forum: NESdev
- Topic: Efficient technique for improving DMC timing accuracy
- Replies: 20
- Views: 17482
Re: Efficient technique for improving DMC timing accuracy
The loss of one CPU cycle for each 6 frames (one dot per two frames) while rendering is turned off when decompressing a new scene into the pattern tables and nametables might prove problematic. How do you solve that while keeping NMI off? If you want to try to actively maintain sync, that can be do...
- Thu May 16, 2019 9:25 pm
- Forum: NESdev
- Topic: Efficient technique for improving DMC timing accuracy
- Replies: 20
- Views: 17482
Re: Efficient technique for improving DMC timing accuracy
I'm just not certain how often this would come up. So far all I've done is write a naïve depth-first search, which is distinctly the wrong approach for finding an optimal set of values to write to $4010. My approach was simply to keep a list of how best to compute each value, and then go through th...
- Thu May 16, 2019 9:11 pm
- Forum: NESdev
- Topic: Efficient technique for improving DMC timing accuracy
- Replies: 20
- Views: 17482
Re: Efficient technique for improving DMC timing accuracy
The loss of one CPU cycle for each 6 frames (one dot per two frames) while rendering is turned off when decompressing a new scene into the pattern tables and nametables might prove problematic. How do you solve that while keeping NMI off? The code has two types of frames--long and short. Presently ...
- Thu May 16, 2019 5:54 pm
- Forum: NESdev
- Topic: Efficient technique for improving DMC timing accuracy
- Replies: 20
- Views: 17482
Re: Efficient technique for improving DMC timing accuracy
the only arrangements that can't be resolved easily are those that would have less than 1552 [cycles] at the end after everything else is accounted for Er, that's my point. The threshold is 1428 cycles, not 1554. Because 1552 is achievable. Admittedly it's comparatively expensive, because that bit ...
- Thu May 16, 2019 3:19 pm
- Forum: NESdev
- Topic: Efficient technique for improving DMC timing accuracy
- Replies: 20
- Views: 17482
Re: Efficient technique for improving DMC timing accuracy
Every even number of cycles that's greater than 1554 is achievable. Huh, it's even better than that. Although 1552 only has one combination (1·54 + 7·214), the longest unachievable periods I found were at 1426, followed by 1342, 1338, and 1300. The 2A07's table works a little better: the longest un...
- Thu May 16, 2019 11:31 am
- Forum: NESdev
- Topic: Efficient technique for improving DMC timing accuracy
- Replies: 20
- Views: 17482
Re: Efficient technique for improving DMC timing accuracy
I'd say it's pretty magical. Given that tokumaru asked so that we can start playback at a moment of our choice (this is the key part!) I stand by "nowhere near that magical". Specifically in that context that I put it. In order to maintain sync, you still have to be able to divide your sc...
- Thu May 16, 2019 8:55 am
- Forum: NESdev
- Topic: Efficient technique for improving DMC timing accuracy
- Replies: 20
- Views: 17482
Re: Efficient technique for improving DMC timing accuracy
I'm still trying to wrap my head around this, but this demo does indeed look very impressive! This definitely looks stable enough for what I need, and the amount of jitter suggests this would work well for other kinds of raster effects too. Great job! Think of DMC as two counters, the first of whic...
- Thu May 16, 2019 7:33 am
- Forum: NESdev
- Topic: Efficient technique for improving DMC timing accuracy
- Replies: 20
- Views: 17482
Re: Efficient technique for improving DMC timing accuracy
If I understand correctly, it's nowhere near that magical, but it's still pretty powerful. I'd say it's pretty magical. Here's a demo which shows blips precisely every eight scan lines, vertically stacked except for the top one, and movable by joystick, without ever looking for video synchronizatio...
- Thu May 16, 2019 5:17 am
- Forum: NESemdev
- Topic: Mesen - NES Emulator
- Replies: 967
- Views: 587636
Re: Mesen - NES Emulator
I'm not too sure what distinction you're making between the "emulation" and "emulator" state? From my point of view, 99% of the content of save states is vital "emulation" state. For example, the real NES hardware does not keep track of how many CPU cycles have passed ...
- Wed May 15, 2019 9:06 am
- Forum: NESdev
- Topic: Efficient technique for improving DMC timing accuracy
- Replies: 20
- Views: 17482
Re: Efficient technique for improving DMC timing accuracy
Are you saying that by varying the playback rate a certain way it may be possible to achieve proper CPU-APU synchronization, so that we can start playback at a moment of our choice (this is the key part!) and have the IRQ fire a constant amount of time later? That'd be amazing! Abusing DMC IRQs for...