Page 1 of 1
Dual 8-way scrolling
Posted: Tue Jun 21, 2016 11:07 am
by Broke Studio
I don't know if it has been done before, or if a licensed game already uses such a thing, but here's my attempt at coding a dual 8-way scrolling.
It basically is a split screen with upper half for player 1 and bottom half for player 2.
Same map but each player is free to go wherever he wants.
I also added an NPC which is wandering on the map to see if the CPU was going crazy or not (seems like there's still room to add stuff ! ).
It's not perfect and occasionally glitchy but hey ... it's working !
Also it may not be perfectly split in the middle of the screen but it should be easy to fix.
What is possible so far :
- move around with controller 1 and 2
- press START (controller 1) to pause music
- press SELECT (controller 1) to show the "CPU-charge-line" (may add glitches when CPU gets busy)
- no interaction for now with the NPC or whatever.
- PAL/NTSC compatible (tested on real hardware with an Everdrive cartridge)
ROM is attached, and here's a
link to a preview video.
Let me know what you think about it and feel free to throw games ideas that could use this system.
Re: Dual 8-way scrolling
Posted: Tue Jun 21, 2016 11:29 am
by Alp
glutock wrote:I don't know if it has been done before, or if a licensed game already uses such a thing, but here's my attempt at coding a dual 8-way scrolling.
To my knowledge, the only licensed game that had split-screen was "Mappy Kids" on the Famicom.
This demo is pretty neat, yo!
Re: Dual 8-way scrolling
Posted: Tue Jun 21, 2016 11:36 am
by rainwarrior
Re: Dual 8-way scrolling
Posted: Tue Jun 21, 2016 2:51 pm
by ccovell
Quite impressive! Are you trying to recreate the game Feud with this?
Re: Dual 8-way scrolling
Posted: Tue Jun 21, 2016 3:19 pm
by pubby
This is neat!
toejam_and_earl.nes when?
Re: Dual 8-way scrolling
Posted: Tue Jun 21, 2016 5:51 pm
by thefox
Pretty nice, I've also thought about doing this for the longest time. Why is the empty area in the middle so large though?
BTW, a heads up (from NDX):
"Warning: Writing to CHR area even though the ROM doesn't have CHR-RAM (PC = $CD2C) (further messages suppressed)"
(Seems to happen during some of the init code.)
Re: Dual 8-way scrolling
Posted: Wed Jun 22, 2016 2:21 am
by Broke Studio
Alp wrote:To my knowledge, the only licensed game that had split-screen was "Mappy Kids" on the Famicom.
Mappy kids and Bigfoot seems to do only horizontal nametable updates, but I like the large middle status bar in Bigfoot !
pubby wrote:This is neat!
toejam_and_earl.nes when?
Toejam and Earl looks funny ! A port could be challenging though.
ccovell wrote:Quite impressive! Are you trying to recreate the game Feud with this?
Feud ? Family Feud ? Sorry I don't get it.
thefox wrote:Pretty nice, I've also thought about doing this for the longest time. Why is the empty area in the middle so large though?
BTW, a heads up (from NDX):
"Warning: Writing to CHR area even though the ROM doesn't have CHR-RAM (PC = $CD2C) (further messages suppressed)"
(Seems to happen during some of the init code.)
It's large because I thought about using sprites to make a status bar here but it could be thinner and use sprites in the corners of each screen.
Where / how do you get this message in NDX ? In the status window ? I can't find ...
Maybe I'm not using the right version.
Re: Dual 8-way scrolling
Posted: Wed Jun 22, 2016 2:42 am
by thefox
glutock wrote:Where / how do you get this message in NDX ? In the status window ? I can't find ...
Maybe I'm not using the right version.
Hmm, I guess I didn't yet release the version that has that diagnostic.
Anyway, set a breakpoint at $CD2C and Run a couple of times. Eventually you'll see that the VRAM address is $0000 while it's writing to $2007.
Re: Dual 8-way scrolling
Posted: Wed Jun 22, 2016 5:18 am
by darryl.revok
glutock wrote:Mappy kids and Bigfoot seems to do only horizontal nametable updates, but I like the large middle status bar in Bigfoot !
I've heard that the method for setting vertical scroll mid-screen was not used in any commercial NES games and theoretically had not yet been discovered, which would explain why it was never done.
One thing I noticed, is that the second player will scroll into the bottom of the first player's window very abruptly. He doesn't even have to been all of the way into player 1's window to show up, but he has to be all of the way into in player 1's windows x2.
I thought it was strange that it didn't effect the NPC, then I moved around some more and found that the effect happened in player 1's and player 2's windows, and the distance from the player required to appear on their window varied based on where I moved. At some points, I can even scroll a player in, then out, then back in.
Re: Dual 8-way scrolling
Posted: Wed Jun 22, 2016 5:35 am
by thefox
darryl.revok wrote:glutock wrote:Mappy kids and Bigfoot seems to do only horizontal nametable updates, but I like the large middle status bar in Bigfoot !
I've heard that the method for setting vertical scroll mid-screen was not used in any commercial NES games and theoretically had not yet been discovered, which would explain why it was never done.
That's not true, there are games which manage arbitrary midscreen scroll settings, Battletoads being one example. (Well, to be exact, in their case they didn't have to worry about setting the nametable bits because it uses single screen mirroring.)
That said, it undoubtedly wasn't common knowledge.
Re: Dual 8-way scrolling
Posted: Wed Jun 22, 2016 8:39 am
by tokumaru
darryl.revok wrote:I've heard that the method for setting vertical scroll mid-screen was not used in any commercial NES games and theoretically had not yet been discovered, which would explain why it was never done.
I don't know if any developers back then knew about the $2006/5/5/6 trick, but I've seen other tricks. Many certainly knew they could change the scroll to multiples of 8 (because of status bars on the bottom and such), so one trick I've seen (can't remember the game) was setting the scroll to a multiple of 8, but only after waiting a variable amount of time (0 to 7 scanlines) to take care of the fine scroll. The top was masked by disabling background rendering until the first scanline that should be visible.