#155330 - pawob - Mon Apr 28, 2008 11:52 am
At the moment I'm finishing a full oop library that can scroll parts of two bitmap bgs by software without appreciating delays (moving the clouds without moving the rest of the same bitmap bgs. And a multi layer virtual tile size maps (8,16,32 tile sizes) with their own big maps (at the moment horizontal large maps Im trying with 208x16 tiles with 16x16 pixels per tile = 4tiles of 8x8), and of course with their own palettes.
Now I'm optimizing more scrolling on parts of bitmap, the sprite palettes and writing sprite based text over screen, If you want to know the state of my work take a look at:
http://overrider.blogspot.com
_________________
http://overrider.blogspot.com
#155454 - Fire-WSP - Tue Apr 29, 2008 7:41 pm
That sounds interesting,
do i understand right, you add two softwarelayers to the available 3 hardwarelayers so that you can use 5 Layers in total?
When is it ready? i would like to have a look.
greets
Fire
_________________
FLAME ON!!!
#155667 - pawob - Fri May 02, 2008 8:27 am
No really, what I tried to explain is that in a bitmap BG like BG2 or BG3 you are able to scroll the whole background with the register, but I made a method that makes possible to scroll up to 4 different parts of the same bitmap background without delays, it has only one consideration it can scroll at max 1/10 vblanktime for 4 parts and the parts cant be really big.
If you take a look to my blog http://overrider.blogspot.com think that I did the method to move the clouds at different speeds like in the original game. If you analize the original game with an emulator you can see that the whole cloud and mountain bg is only one BG and I haven't seen that you can modify the bg register to scroll only a part of the bg (if it were possible...:(). So I did it by software.
I'm thinking of creating another method to use regions and scroll them instead the whole different parts of the screen, because it will reduce the consumption, like making sprites via software. it has two improvements: faster scrolling and less consumption of course is more difficult to develop but I'll do it.
NOTE: If someone has scroll only a part of a bg with a register please tell me.
_________________
http://overrider.blogspot.com
#155672 - tepples - Fri May 02, 2008 12:38 pm
pawob wrote: |
NOTE: If someone has scroll only a part of a bg with a register please tell me. |
On the GBA and DS, you can scroll a horizontal strip of a background by using DMA channel 0 to change the X-scroll value at various scanlines. Maybe I need to write an HDMA tutorial.
Wikipedia lists all sorts of parallax scrolling methods.
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.
#155676 - silent_code - Fri May 02, 2008 1:14 pm
man, that would be sweet, if you wrote a dedicated tutorial on the topic! :^D
although i'm mostly doing 3d stuff, it might come in handy some day. :^)
#155683 - Dwedit - Fri May 02, 2008 7:09 pm
There's no restriction about which DMA channel number you use, any of them will work.
_________________
"We are merely sprites that dance at the beck and call of our button pressing overlord."
#155715 - pawob - Sat May 03, 2008 9:38 am
At the moment 25 people have voted, 5 of them told that they can move part of the bg using registers
1.- Does anyone have a snippet to move a part of screen using registers?
and 2 of them told that can move part of the screen:
2.- Does anyone move them using DMA, how to do that?
_________________
http://overrider.blogspot.com