It is currently Thu Oct 19, 2017 9:41 am

All times are UTC - 7 hours





Post new topic Reply to topic  [ 200 posts ]  Go to page Previous  1, 2, 3, 4, 5 ... 14  Next
Author Message
PostPosted: Thu Aug 07, 2014 12:08 pm 
Offline
User avatar

Joined: Sat Nov 26, 2011 8:31 am
Posts: 107
Location: Brazil
Pretty cool stuff here! Please post more mockups!


Top
 Profile  
 
PostPosted: Thu Aug 07, 2014 1:04 pm 
Offline
User avatar

Joined: Mon Apr 25, 2005 12:28 pm
Posts: 73
Location: Umeå, Sweden
Macbee wrote:
Pretty cool stuff here! Please post more mockups!


As you command! Continuing on the Master System path, here's Wonderboy III: The Dragon's Trap.

Image

Didn't make any player-sprite this time, and the Statusbar turned monochrome since I had used all the palettes. The window on the upper door would have to have sprites overlayed to be that color, but since there are no other sprites than the player in the village, that seemed feasable.

_________________
-----
slightly bored and severly confused...


Top
 Profile  
 
PostPosted: Thu Aug 07, 2014 1:38 pm 
Online
User avatar

Joined: Sat Feb 12, 2005 9:43 pm
Posts: 10058
Location: Rio de Janeiro - Brazil
Pretty cool mockups, jayminer. Wish I had time to contribute to the thread, but for now I'll just keep enjoying your work! =)


Top
 Profile  
 
PostPosted: Thu Aug 07, 2014 2:40 pm 
Offline
User avatar

Joined: Mon Apr 25, 2005 12:28 pm
Posts: 73
Location: Umeå, Sweden
I was thinking, how hard is it to change the palette midscreen on the NES. Is this done by any games? For the Wonderboy III mockup it would be enough to just change two colors in the palette after the statusbar to make a big difference (the dark gray to a slightly lighter gray, and the red to an even lighter gray), and with two more color changes for the sprite palettes the "potion" could be colorized aswell with two sprites - without having to sacrifice an entire palette that could be used for the player and enemies and all that stuff.

Here's how it would look with those features:

Image

_________________
-----
slightly bored and severly confused...


Top
 Profile  
 
PostPosted: Thu Aug 07, 2014 3:04 pm 
Offline

Joined: Sun Apr 13, 2008 11:12 am
Posts: 6280
Location: Seattle
jayminer wrote:
I was thinking, how hard is it to change the palette midscreen on the NES.
It is straightforward to change palette midscreen, but as far as we know, these are the constraints-
1- You have to have at least one scanline with rendering disabled
2- Six palette entries can be changed on a scanline without any visible artifacts
3- Up to 18 palette entries can be change on a scanline if you're willing to accept a smear of colors, but that can partially be masked by using the NES's greyscale bit. This thread goes into much too much detail.
4- Sprite memory will be damaged by disabling and re-enabling rendering. This basically means it can only be used for bottom status bars.
It's conceivable that there are specific (mid-scanline) times when you could disable and re-enable rendering such that it would not damage sprites (during the time that OAMADDR is 0), but it would produce an irregular edges on the relevant scanline.


Top
 Profile  
 
PostPosted: Thu Aug 07, 2014 4:43 pm 
Online
User avatar

Joined: Sat Feb 12, 2005 9:43 pm
Posts: 10058
Location: Rio de Janeiro - Brazil
There's a small window during HBlank when the PPU is not using PPUADDR (between dots 258 and 320 according to this diagram), so it should be safe to update 2 bytes during this time and then disable only the background rendering, in order to blank the following scaline without corrupting sprites. At the end of this blank scanline, fix the scroll using $2005/6 magic and enable background rendering. Based on this I believe you need 1 blank scanline for every 2 colors you need to change.

The above is wrong, sorry. That HBlank window can be used to set the internal PPU address (for scrolling purposes), but you can't write data to the PPU because it's using the data bus to fetch sprite patterns. I guess my NESDEV skills are starting to get a little rusty! :lol:


Last edited by tokumaru on Fri Aug 08, 2014 8:23 am, edited 2 times in total.

Top
 Profile  
 
PostPosted: Thu Aug 07, 2014 4:50 pm 
Offline

Joined: Sun Apr 13, 2008 11:12 am
Posts: 6280
Location: Seattle
I'm pretty certain you can't write to PPUADDR and PPUDATA to update palette RAM during sprite fetch.


Top
 Profile  
 
PostPosted: Thu Aug 07, 2014 10:01 pm 
Offline
User avatar

Joined: Fri Aug 23, 2013 2:14 am
Posts: 264
Oh man, I've been waiting for a thread like this to show some NES-conversions. Though some of the games I would use (GBC) would be cheating, since it has specs similar enough to (but also much better than) the NES. I might contribute some time in the future, but these screens are gorgeous.


Top
 Profile  
 
PostPosted: Thu Aug 07, 2014 11:24 pm 
Offline
User avatar

Joined: Mon Jan 03, 2005 10:36 am
Posts: 2962
Location: Tampere, Finland
jayminer wrote:
Here's how it would look with those features:

I know these are just mockups (and they look great!), but in an actual conversion you'd want to also make sure that there's no important information in the very borders of the screen. For example SMB's status bar has 16 pixels of padding on top and 24 pixels on left and right.

_________________
Download STREEMERZ for NES from fauxgame.com! — Some other stuff I've done: kkfos.aspekt.fi


Top
 Profile  
 
PostPosted: Fri Aug 08, 2014 1:19 am 
Offline

Joined: Mon Sep 27, 2004 2:57 pm
Posts: 1248
lidnariq wrote:
4- Sprite memory will be damaged by disabling and re-enabling rendering. This basically means it can only be used for bottom status bars.

IIRC, it only affects the first four sprites, and only if a sprite is intersecting the point where rendering is switched off.
According to my notes from a long-ass time ago, it's only if one if the first 6 sprites intersects where rendering is off.

Also, I'd say you want a 16-pixel margin (or at least no text or anything important) on the top and bottom of the screen; my TV cuts off the bottom row and the top two rows of tiles. I don't remember what happens on the sides.


Top
 Profile  
 
PostPosted: Fri Aug 08, 2014 5:43 am 
Offline

Joined: Sun Sep 19, 2004 11:12 pm
Posts: 19101
Location: NE Indiana, USA (NTSC)
Relevant wiki page
Rule of thumb: 16 on top, 11 on bottom, 8 on sides


Top
 Profile  
 
PostPosted: Fri Aug 08, 2014 7:00 am 
Offline
User avatar

Joined: Mon Apr 25, 2005 12:28 pm
Posts: 73
Location: Umeå, Sweden
I know about the overscan, haven't really thought about it when doing any of my mockups though, but I'm gonna try and think about it for any future ones (because I want them to be as believable as possible, sort of how the game actually might have looked, had it been ported to the NES). Since most of the systems I'm using as inspiration has a lower vertical resolution than the NES, it never should be a problem really.

Does anyone have any idea if the Master System cuts off more or less of the picture than the NES horizontally? I was just thinking because Wonderboy III on the Master System has the hearts all the way to the left on it's statusbar, like I did it in the mockup. Then again, I think it's the leftmost column that get's hidden for scrolling so perhaps there actually is 8 pixels on both sides that are unused but didn't show in the picture I looked at.

_________________
-----
slightly bored and severly confused...


Top
 Profile  
 
PostPosted: Fri Aug 08, 2014 8:03 am 
Offline

Joined: Sun Sep 19, 2004 11:12 pm
Posts: 19101
Location: NE Indiana, USA (NTSC)
I've compiled a list of other platforms' dot clock rates. Both the SMS VDP and the NES PPU use the TMS9918 dot clock rate, which is 3/2 of the NTSC colorburst rate. This means the width of active picture is the same for both platforms, but the side-to-side positioning may differ slightly for a couple trivial reasons.


Top
 Profile  
 
PostPosted: Fri Aug 08, 2014 8:19 am 
Online
User avatar

Joined: Sat Feb 12, 2005 9:43 pm
Posts: 10058
Location: Rio de Janeiro - Brazil
lidnariq wrote:
I'm pretty certain you can't write to PPUADDR and PPUDATA to update palette RAM during sprite fetch.

Oh crap, I forgot about sprite pattern fetches! Sorry about that.


Top
 Profile  
 
PostPosted: Fri Aug 08, 2014 10:49 am 
Offline

Joined: Thu Aug 12, 2010 3:43 am
Posts: 1589
Practically all Master System games that scroll horizontally mask the leftmost column (8 pixels) so take that into account. Note that the NES can do exactly the same though, so really just do the same thing and forget about it =P

Also I was under the impression that the leftmost and rightmost two columns (i.e. 16 pixels each) were not safe. Then again, I'm going by Sega docs, but since the NES screen has the same width and resolution I assume it'd be the same.


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

All times are UTC - 7 hours


Who is online

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