View unanswered posts | View active topics It is currently Mon Sep 23, 2019 11:23 am



Reply to topic  [ 17 posts ] 
isolating background layers with simultaneous display 
Author Message
New Member

Joined: Fri Jan 07, 2011 5:28 am
Posts: 7
Reply with quote
Post isolating background layers with simultaneous display
I'm interested in using zsnes for a 3 tier display running in portrait mode on an lcd monitor.
the top third of the display would display 1 background element of a game, say Super Mario 3. The second third would have 2 background elements, the final third would also have 2; this way when you're playing the game, you see the game elements moving in sync, but at different levels on the monitor. Tell me honestly, how difficult of a task would something like that be? I am not familiar with the language that ZSNES is built on.

Thank you
-Etrigan


Last edited by Etrigan on Thu Sep 11, 2014 8:50 pm, edited 1 time in total.



Fri Jan 07, 2011 5:36 am
Profile
New Member

Joined: Fri Jan 07, 2011 5:28 am
Posts: 7
Reply with quote
Post Re: isolating background layers with simultaneous display
Because I didn't capitalize? That's pretty rude.


Fri Jan 07, 2011 5:40 am
Profile
Zealot
User avatar

Joined: Sat Jul 02, 2005 2:01 am
Posts: 1076
Reply with quote
Post Re: isolating background layers with simultaneous display
It's because you said znes.

_________________
Maybe these people were born without that part of their brain that lets you try different things to see if they work better. --Retsupurae


Fri Jan 07, 2011 7:20 am
Profile WWW
ZSNES Shake Shake Prinny
User avatar

Joined: Wed Jul 28, 2004 4:15 pm
Posts: 5615
Location: PAL50, dood !
Reply with quote
Post Re: isolating background layers with simultaneous display
Etrigan wrote:
the top third of the display would display 1 background element of a game, say Super Mario 3. The second third would have 2 background elements, the final third would also have 2; this way when you're playing the game, you see the game elements moving in sync, but at different levels on the monitor. Now I don't know much about programming, so tell me honestly, how difficult of a task would something like that be?

I don't quite understand what you're aiming for. Split all layers on different part of the screen ?

_________________
皆黙って俺について来い!!
Code:
<jmr> bsnes has the most accurate wiki page but it takes forever to load (or something)

Pantheon: Gideon Zhi | CaitSith2 | Nach | kode54


Fri Jan 07, 2011 8:14 pm
Profile
New Member

Joined: Fri Jan 07, 2011 5:28 am
Posts: 7
Reply with quote
Post Re: isolating background layers with simultaneous display
Oh man. I never got this reply, I apologize.
If anyone is still listening:

I made a mirror box that takes a video screen and splits it into 3 parts, each part is then reflected forward to make it appear that there are 3 2d planes overlapping one another. In theory, you could take a game and by isolating different sprite layers on different planes, make a game look like a hologram while you're playing it.

After this post, through trial and error of turning sprite layers on and off, I found that the sprite layers aren't as Isolated as they'd need to be for this to work. For instance, the blue sky of Mario would need to be removed so that it wouldn't punch out all the colors in front of it, but it seems to be combined with other layers in unexpected ways.
I'm still interested in pursuing my original question, even if the end product isn't quite what I wanted. Any help would be appreciated.


Thu Sep 11, 2014 8:47 pm
Profile
Zealot
User avatar

Joined: Wed Jul 28, 2004 3:31 am
Posts: 1140
Reply with quote
Post Re: isolating background layers with simultaneous display
Theoretically, an emulator could be modified to separate the layers like you want, but it would still look sort of janky in cases where layers blend with each other, or where games change the screen mode mid-screen.


Fri Sep 12, 2014 1:23 am
Profile WWW
ZSNES Shake Shake Prinny
User avatar

Joined: Wed Jul 28, 2004 4:15 pm
Posts: 5615
Location: PAL50, dood !
Reply with quote
Post Re: isolating background layers with simultaneous display
Colour math with mainscreen/subscreen on different layers would also turn into hell.


Also, yeah. You can't magic out depth out of the snes stuff, due to how the games were done with everything squished on a single flat plane in mind. Layers and their priorities don't mesh with sprites and their priorities, you can have per-halfpixel screen attribution, several effects would just turn out horribly, and even if you put the different layers in a simple game properly, the obtained '3d' feels like crap because there is only emptiness between the various vertical planes, no ground or sky inbetween.

Massive efforts for abysmal results sure feels like something to waste time on ! ¬_¬

_________________
皆黙って俺について来い!!
Code:
<jmr> bsnes has the most accurate wiki page but it takes forever to load (or something)

Pantheon: Gideon Zhi | CaitSith2 | Nach | kode54


Fri Sep 12, 2014 7:08 pm
Profile
New Member

Joined: Fri Jan 07, 2011 5:28 am
Posts: 7
Reply with quote
Post Re: isolating background layers with simultaneous display
I understand the challenges involved, but before I can worry about color punch-out, I'd need to get a prototype of 3 isolated sprite layers running on 3 sections of a screen running.
I'm more looking for practical information like in what language is ZSNES written? Is it coded in a text interface or is there a development environment? Would I need considerable knowledge to make this work, etc.


Fri Sep 12, 2014 7:16 pm
Profile
Buzzkill Gil

Joined: Wed Jan 12, 2005 7:14 pm
Posts: 4247
Reply with quote
Post Re: isolating background layers with simultaneous display
Etrigan wrote:
I'm more looking for practical information like in what language is ZSNES written?

It's coded in a mix of C and asse-waitwhat?

Quote:
Is it coded in a text interface or is there a development environment?

That has no bearing on anything. This question's existence suggests you may be out of your depth.

_________________
Squall_Leonhart wrote:
Quote:
You have your 2s, 4s, 8s, 16s, 32s, 64s, and 128s(crash course in binary counting!). But no 1s.
DirectInput represents all bits, not just powers of 2 in an axis.


KHDownloads


Fri Sep 12, 2014 7:57 pm
Profile
New Member

Joined: Fri Jan 07, 2011 5:28 am
Posts: 7
Reply with quote
Post Re: isolating background layers with simultaneous display
... extremely helpful thank you

Often a development environment can help make sense of code for someone who isn't familiar with a project.
Why bother responding to the question?


Fri Sep 12, 2014 8:27 pm
Profile
ZSNES Shake Shake Prinny
User avatar

Joined: Wed Jul 28, 2004 4:15 pm
Posts: 5615
Location: PAL50, dood !
Reply with quote
Post Re: isolating background layers with simultaneous display
Don't take sarcasm too negatively. Joking around is important too.
Anyway, still probably out of your league.

Etrigan wrote:
I understand the challenges involved, but before I can worry about color punch-out, I'd need to get a prototype of 3 isolated sprite layers running on 3 sections of a screen running.

I assume you mean 3 isolated background layers. There's only one sprite layer.

Quote:
I'm more looking for practical information like in what language is ZSNES written?

The source is a mix of x86 assembly, c, c++, and custom stuff for config files.

Quote:
Is it coded in a text interface or is there a development environment?

It was typed manually. No 'project file' or anything you could jam in an IDE to try and see everything. The languages used would also preclude that.

Quote:
Would I need considerable knowledge to make this work, etc.

As I said, massive. If you are able to do it, you could code something much better from scratch in the time needed to do it.

_________________
皆黙って俺について来い!!
Code:
<jmr> bsnes has the most accurate wiki page but it takes forever to load (or something)

Pantheon: Gideon Zhi | CaitSith2 | Nach | kode54


Fri Sep 12, 2014 8:50 pm
Profile
New Member

Joined: Fri Jan 07, 2011 5:28 am
Posts: 7
Reply with quote
Post Re: isolating background layers with simultaneous display
Exactly the info I was looking for. Thank you very much for taking the time to respond, I really appreciate it.


Fri Sep 12, 2014 8:52 pm
Profile
ZSNES Shake Shake Prinny
User avatar

Joined: Wed Jul 28, 2004 4:15 pm
Posts: 5615
Location: PAL50, dood !
Reply with quote
Post Re: isolating background layers with simultaneous display
Oh yeah, you may also be interested in the fact that there aren't always 5 layers active. Could be down to 2 in modes 6 & 7 w/o extbg. This can change per line, although games don't typically change mode more than once a frame. Maybe twice for some crazy stuff.

_________________
皆黙って俺について来い!!
Code:
<jmr> bsnes has the most accurate wiki page but it takes forever to load (or something)

Pantheon: Gideon Zhi | CaitSith2 | Nach | kode54


Fri Sep 12, 2014 8:56 pm
Profile
New Member

Joined: Fri Jan 07, 2011 5:28 am
Posts: 7
Reply with quote
Post Re: isolating background layers with simultaneous display
Thank you. If I ever got this working, which you convinced me I likely never will, it would definitely only be for a game, maybe 2 If I was lucky. Getting it to work for a whole library even in my uninformed theory, never seemed possible. Mario Kart, the mode 7 parts of Castlevania or Super Star Wars... yeah, those definitely would never fly.


Fri Sep 12, 2014 9:08 pm
Profile
Regular
User avatar

Joined: Wed Sep 22, 2004 3:46 am
Posts: 280
Location: Tromaville
Reply with quote
Post Re: isolating background layers with simultaneous display
Look I'm not a coder. I've tried learning a number of different computer languages over the years but I've never had the patience to stick with any of them.
But I've got a half brother who is a games programmer and I frequently talk to him about programming(he likes to talk a lot, and in great detail, about the projects he's working on). What I've gathered from him, and reading threads on this board over the years, is that zsnes is written in a language that is not for amateurs.

You need to have a decent amount of coding experience before you even start looking at doing anything with zsnes.

Now you could spend the next five or so years learning how to take zsnes apart and get it to do what you want, only to have the end result not be all that good after all.

Or you you could spend the next five years learning a computer language, so that you can program your own games which are specifically designed for what you have in mind. Hell you could even learn something like C++ and then port snes games and set up the layers the way you need them to be.

You could start off with doing a level from a game, let's say Super Mario World, and use that as a tech demo to see if everything is working the way you had in mind.


Fri Sep 12, 2014 11:16 pm
Profile
Buzzkill Gil

Joined: Wed Jan 12, 2005 7:14 pm
Posts: 4247
Reply with quote
Post Re: isolating background layers with simultaneous display
grinvader wrote:
Oh yeah, you may also be interested in the fact that there aren't always 5 layers active. Could be down to 2 in modes 6 & 7 w/o extbg. This can change per line, although games don't typically change mode more than once a frame. Maybe twice for some crazy stuff.

Does HyperZone change modes repeatedly, like it looks? Or are they just setting all the mode 7 registers to basically do nothing for the central "horizon" strip?

Image
For reference.

_________________
Squall_Leonhart wrote:
Quote:
You have your 2s, 4s, 8s, 16s, 32s, 64s, and 128s(crash course in binary counting!). But no 1s.
DirectInput represents all bits, not just powers of 2 in an axis.


KHDownloads


Sat Sep 13, 2014 8:02 am
Profile
ZSNES Shake Shake Prinny
User avatar

Joined: Wed Jul 28, 2004 4:15 pm
Posts: 5615
Location: PAL50, dood !
Reply with quote
Post Re: isolating background layers with simultaneous display
That can be done with a couple updates to projection matrix regs instead of switching out of mode7 altogether, but you'd have to trace the game to be sure.

The example I'm aware of is Battletoads in Battlemaniacs's intro, when the chopper zooms in (and also when silas volkmire shows up iirc).

_________________
皆黙って俺について来い!!
Code:
<jmr> bsnes has the most accurate wiki page but it takes forever to load (or something)

Pantheon: Gideon Zhi | CaitSith2 | Nach | kode54


Sun Sep 14, 2014 12:41 am
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 17 posts ] 

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

Search for:
Jump to:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software.