It is currently Tue Aug 14, 2018 4:42 pm

All times are UTC - 7 hours





Post new topic Reply to topic  [ 18 posts ]  Go to page 1, 2  Next
Author Message
PostPosted: Wed Apr 13, 2016 2:02 pm 
Offline

Joined: Wed Feb 25, 2015 1:17 pm
Posts: 20
Like, with some movement on the left and some info on the right. Maybe CHR-ROM switch manipulation could be useful?


Top
 Profile  
 
PostPosted: Wed Apr 13, 2016 2:04 pm 
Offline
Formerly 65024U

Joined: Sat Mar 27, 2010 12:57 pm
Posts: 2262
MMC5 offers it, so obviously. But useful? No. Takes too much hardware to detect and use AFAICT from thinking about it.


Top
 Profile  
 
PostPosted: Wed Apr 13, 2016 2:06 pm 
Offline
User avatar

Joined: Fri May 08, 2015 7:17 pm
Posts: 2192
Location: DIGDUG
You can fake it with CHR-ROM bankswitches and/or sprites as BG elements.

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


Top
 Profile  
 
PostPosted: Wed Apr 13, 2016 2:11 pm 
Offline

Joined: Wed Feb 25, 2015 1:17 pm
Posts: 20
But no "big" static picture I assume?


Top
 Profile  
 
PostPosted: Wed Apr 13, 2016 2:13 pm 
Offline
User avatar

Joined: Fri May 08, 2015 7:17 pm
Posts: 2192
Location: DIGDUG
This is the only example I could find of vertical splits in an NES game...(Battletoads Level 2).

https://youtu.be/wPd9TzBFc40

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


Top
 Profile  
 
PostPosted: Wed Apr 13, 2016 2:21 pm 
Offline

Joined: Wed Feb 25, 2015 1:17 pm
Posts: 20
These are animated tiles with clear pattern here. Not exactly useful.


Top
 Profile  
 
PostPosted: Wed Apr 13, 2016 2:27 pm 
Offline
User avatar

Joined: Fri May 08, 2015 7:17 pm
Posts: 2192
Location: DIGDUG
Perhaps you could consider an SNES game. It would be a piece of cake on SNES.

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


Top
 Profile  
 
PostPosted: Wed Apr 13, 2016 2:59 pm 
Offline
User avatar

Joined: Sat Feb 12, 2005 9:43 pm
Posts: 10701
Location: Rio de Janeiro - Brazil
Rotate your TV by 90 degrees. :mrgreen:

Yeah, there's no practical way of doing this. Even the MMC5 feature is not particularly useful due to the way it's affected by the scroll.


Top
 Profile  
 
PostPosted: Wed Apr 13, 2016 3:22 pm 
Offline
User avatar

Joined: Sat Jul 12, 2014 3:04 pm
Posts: 958
Hmm...would it be possible if you turned off rendering for a chunk in the middle of the screen to write registers? If so, how big?


Top
 Profile  
 
PostPosted: Wed Apr 13, 2016 3:28 pm 
Offline
User avatar

Joined: Fri May 08, 2015 7:17 pm
Posts: 2192
Location: DIGDUG
Changing Y scroll mid-screen is not advisable. Doing so every scanline...very bad idea.

If you REALLY want a split screen. I suggest you make a extra narrow font (4 pixels per letter), construct the text using CHR-RAM, and build it entirely out of sprites. I wouldn't go more than 4-5 sprites wide (flickering) for such text...with the extra-narrow font, that = 10 letters wide. Should be enough.

EDIT, you wouldn't be able to fit M or W in 4 pixel wide.

Or, you could have text running vertically. (Made out of sprites).

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


Top
 Profile  
 
PostPosted: Wed Apr 13, 2016 3:57 pm 
Offline
User avatar

Joined: Sat Jul 12, 2014 3:04 pm
Posts: 958
dougeff wrote:
Changing Y scroll mid-screen is not advisable. Doing so every scanline...very bad idea.

Oh, I know it's a bad idea, if just because it means you're rastering and cycle-timing for the entire picture, meaning you're using basically all your non-VBlank for that, and your VBlank is needed for PPU traffic. I'm just wondering if it could be done.


Top
 Profile  
 
PostPosted: Wed Apr 13, 2016 5:59 pm 
Offline
User avatar

Joined: Fri May 08, 2015 7:17 pm
Posts: 2192
Location: DIGDUG
There's also this... MMC5 example..
https://youtu.be/yLiKOePb4bQ
(But I don't know how it works).

I thought of 2 more things (non MMC5).
CHR-ROM bankswitching, have every tile on the non-scrolling side in 8 different banks, each 1 pixel lower than the last. Every 8 pixels of scroll, you will have to realign the non-scrolling side down 1 tile. This would limit you to a region of about 100 tiles that need to be drawn on a given frame.

Another (bad option) = super flickery. On every even frame you show a drawn left side, and a blank right side. On every odd frame you show a blank left side and a drawn right side. Not sure how this would look on CRT TV, but not recommend for people with seizures.
(I think that would need 4 screen mode PPU).

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


Top
 Profile  
 
PostPosted: Wed Apr 13, 2016 6:30 pm 
Online

Joined: Sun Apr 13, 2008 11:12 am
Posts: 7380
Location: Seattle
dougeff wrote:
There's also this... MMC5 example..
https://youtu.be/yLiKOePb4bQ
(But I don't know how it works).
MMC5 explicitly supports a left-and-right split screen. Both sides have to use the same fine X scroll (PPU hardware limitation), and all existing PCBs are configured to use the same fine Y scroll (although the MMC5 hardware does support differing fine Y scrolls). This doesn't work on some famiclones; the data for the split screen is stored in on-cart memory, and those famiclones can only use the on-mainboard memory for nametables.

Quote:
CHR-ROM bankswitching, have every tile on the non-scrolling side in 8 different banks, each 1 pixel lower than the last. Every 8 pixels of scroll, you will have to realign the non-scrolling side down 1 tile. This would limit you to a region of about 100 tiles that need to be drawn on a given frame.
If we're just talking about pipe dreams, "all" you need is some spare CHR bank register bits to feed through a Full Adder. Each 1 KiB bank (if you did) could be configured to be a 1x64 / 2x32 / 4x16 / 8x8 / …64x1 tile region with an independent fine Y scroll. (PPUA[0,1,2,4,5,6,7,8] + fine Y offset = ROMA[0,1,2,4,5,6,7,8])

Similarly, if you had a 16-bit-wide ROM for CHR and a barrel shifter, you could get an independent 3 bits of fine X for any given tile. (PPUD[0..7] = bitslice(X offset, ROMD[0..15])

Both of these are basically identical to the standard "use one CHR ROM bank for each possible phase offset of what's onscreen", just taking advantage of a hardware assist to be able to use a lot less memory for tiles.


Top
 Profile  
 
PostPosted: Wed Apr 13, 2016 7:19 pm 
Offline
User avatar

Joined: Sat Feb 12, 2005 9:43 pm
Posts: 10701
Location: Rio de Janeiro - Brazil
dougeff wrote:
There's also this... MMC5 example..
https://youtu.be/yLiKOePb4bQ

A completely unnecessary and unimpressive effect... and it's the only example of MMC5's vertical split mode we have! They could have used any other type of transition for that information other than a vertical scroll and it wouldn't have made any difference.

Also, couldn't they at least have used the split for the static part with the ships and used the 2 regular name tables for the scrolling part to avoid the scrolling glitches at the bottom of the screen?


Top
 Profile  
 
PostPosted: Wed Apr 13, 2016 7:38 pm 
Offline

Joined: Mon Jan 23, 2012 11:27 pm
Posts: 147
crisis force does a thing where a chasm opens up- is that related to what you guys are talking about?
https://youtu.be/C8rBUGqMRfI?t=2m25s


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 18 posts ]  Go to page 1, 2  Next

All times are UTC - 7 hours


Who is online

Users browsing this forum: No registered users and 5 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