It is currently Fri Oct 20, 2017 8:12 pm

All times are UTC - 7 hours





Post new topic Reply to topic  [ 73 posts ]  Go to page Previous  1, 2, 3, 4, 5
Author Message
PostPosted: Sat Jun 03, 2017 9:51 pm 
Online

Joined: Sun Apr 13, 2008 11:12 am
Posts: 6289
Location: Seattle
Probably not? Some televisions will stop chroma decoding altogether (edit) for the remaining scanlines of the current field if they can't get a chroma lock on one scanline.


Last edited by lidnariq on Sun Jun 04, 2017 11:05 pm, edited 1 time in total.

Top
 Profile  
 
PostPosted: Sat Jun 03, 2017 10:03 pm 
Offline

Joined: Wed May 19, 2010 6:12 pm
Posts: 2293
When it comes to interrupts do you really need to clear the interrupt, or can you just have a short pulse that lasts only a few cycles? How long does the interrupt signal need to be?


Top
 Profile  
 
PostPosted: Sat Jun 03, 2017 10:29 pm 
Online

Joined: Sun Apr 13, 2008 11:12 am
Posts: 6289
Location: Seattle
Depends.

If the CPU is in a state such that it is ready to handle an interrupt, you should only need to assert /IRQ for 9 cycles or so.

On the other hand, that's only suitable for tasks that happen at fixed timing relative to an NMI or another IRQ; if an IRQ could happen during any time (edit)that interrupts are temporarily disabled you'd need to assert it until the CPU is ready.


Last edited by lidnariq on Sun Jun 04, 2017 11:07 pm, edited 1 time in total.

Top
 Profile  
 
PostPosted: Sun Jun 04, 2017 8:48 pm 
Offline

Joined: Wed May 19, 2010 6:12 pm
Posts: 2293
I have an insane idea. Double the PPU bus width, but keep only one 2bpp background, so you can have 96 sprites per scanline, and still have some CPU to PPU bandwidth left over.


Top
 Profile  
 
PostPosted: Sun Jun 04, 2017 10:47 pm 
Offline
User avatar

Joined: Sun Dec 12, 2010 10:27 pm
Posts: 282
Location: Hong Kong
It's not that insane considering the existence of the Neo Geo.

Alternatively, this could make good non-flickering bullet hell shooters though.


Top
 Profile  
 
PostPosted: Mon Jun 05, 2017 12:53 am 
Offline
Formerly WheelInventor

Joined: Thu Apr 14, 2016 2:55 am
Posts: 907
Location: Gothenburg, Sweden
In that case, shared subpalettes between sprites and background becomes a bit more important. If you can have 96 sprites per scanline, using some of them as trimmings to the decor would come in handy.

_________________
http://www.frankengraphics.com - personal NES blog


Top
 Profile  
 
PostPosted: Mon Jun 05, 2017 3:09 am 
Offline
User avatar

Joined: Mon Feb 07, 2011 12:46 pm
Posts: 927
Should you use clock interleave for video so that the picture can be programmed during rendering? It would have to see the rest possibly, to see if it is good or not, since other considerations might affect it too.

_________________
.


Top
 Profile  
 
PostPosted: Mon Jun 05, 2017 7:52 am 
Offline

Joined: Sun Sep 19, 2004 11:12 pm
Posts: 19112
Location: NE Indiana, USA (NTSC)
Two changes to the 2C02 would allow adding write-during-display behavior analogous to that in the TMS9918, 315-5124/5246, and HuC6270:

  1. Retrieve new attribute byte only when the attribute address has changed. This breaks MMC5 ExGrafix but frees up about 32 slots: 24 during background fetches in active picture and 8 during sprite fetches in hblank.
  2. Second dedicated VRAM address port for use with write FIFO.

Updating CHR RAM $1000-$1FFF through this mechanism would, however, confuse MMC3 and other interval timers that count stretches of PA12 low. And if a write lands at the very end of a scanline, a timer counting stretches of PA13 high, such as that of the MMC5, might also get confused.


Top
 Profile  
 
PostPosted: Mon Jun 05, 2017 8:12 am 
Offline

Joined: Wed May 19, 2010 6:12 pm
Posts: 2293
I thought a little more about the specs and I came up with this.

By default there will be 40 16x16 or 16x32 sprites onscreen with no flicker, but it will have 2 sets of 40 sprites that can be switched per scanline, and can be used for sprite multiplexing.


Top
 Profile  
 
PostPosted: Mon Jun 05, 2017 9:47 am 
Offline
User avatar

Joined: Fri Feb 27, 2009 2:35 pm
Posts: 211
Location: Fort Wayne, Indiana
tepples wrote:
Updating CHR RAM $1000-$1FFF through this mechanism would, however, confuse MMC3 and other interval timers that count stretches of PA12 low. And if a write lands at the very end of a scanline, a timer counting stretches of PA13 high, such as that of the MMC5, might also get confused.

When you're doing a modified incompatible version of the 2C02 anyway you can throw in a native scanline interrupt and any theoretical games for that platform would use the native one instead. It's a bit different from the 15-sprites-per-scanline thing where regular NES games use the upgrade without trying.


Last edited by NovaSquirrel on Mon Jun 05, 2017 9:56 am, edited 1 time in total.

Top
 Profile  
 
PostPosted: Mon Jun 05, 2017 9:51 am 
Offline
User avatar

Joined: Sat Feb 12, 2005 9:43 pm
Posts: 10065
Location: Rio de Janeiro - Brazil
tepples wrote:
Updating CHR RAM $1000-$1FFF through this mechanism would, however, confuse MMC3 and other interval timers that count stretches of PA12 low.

Wait, weren't we talking about an all-new console? I didn't think we were considering any sort of backwards compatibility...


Top
 Profile  
 
PostPosted: Mon Jun 05, 2017 10:53 am 
Offline

Joined: Sun Sep 19, 2004 11:12 pm
Posts: 19112
Location: NE Indiana, USA (NTSC)
Earlier, lidnariq mentioned VT03, which is mostly back-compatible.


Top
 Profile  
 
PostPosted: Sat Jun 17, 2017 2:24 pm 
Offline

Joined: Wed May 19, 2010 6:12 pm
Posts: 2293
If we're making a digital NTSC encoder, I just had an idea for it.

A problem with NTSC if having a black pixel surrounded by saturated primary colors is chroma bleeding making the blacks not looking black enough. So I had the idea of making de-saturated pixels wider by having a fast slope towards greys, but a slower slope towards saturated colors.

I made an algorithm for it:

a = u^2 + v^2
U(n) = u + 2a(U(n-1) - u)
V(n) = v + 2a(V(n-1) - v)

This might be used in combination with more typical luma/chroma filtering.


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 73 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 3 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