Deleted
Deleted Member
Posts: 0
|
Post by Deleted on Jun 26, 2011 19:46:41 GMT -5
Is there any way to make the tile buffer so the when the screen scrolls it wraps around at the 63x63 tile mark instead of the full 64x64?
Would it involve somehow telling the Genesis its tile buffer is 504x504?
|
|
Deleted
Deleted Member
Posts: 0
|
Post by Deleted on Jun 26, 2011 22:25:12 GMT -5
Didn't I warn you about this ( when you mentioned going for 21x21 chunks )? The name tables of background layers can only be set to a power of 2, so 63x63 is not possible. Do yourself a favor and ditch the 21x21 idea.
|
|
Deleted
Deleted Member
Posts: 0
|
Post by Deleted on Jun 27, 2011 5:39:51 GMT -5
Didn't I warn you about this ( when you mentioned going for 21x21 chunks )? The name tables of background layers can only be set to a power of 2, so 63x63 is not possible. Do yourself a favor and ditch the 21x21 idea. From the Charles MacDonald VPD Guide: So they can be changed to, say, 60x60?
|
|
Deleted
Deleted Member
Posts: 0
|
Post by Deleted on Jun 27, 2011 6:55:21 GMT -5
Sorry to bump my own topic so soon but I thought I'd provide proof that such large drawtiles commands can work in a scrolling engine P.S. Yes, if I can't work out the kinks in 21x21 chunks I'll go 16x16. I just want the fewest drawtiles commands per map data load. I haven't noticed any slowdown so far. If I could just resize the tile buffer it'd be even better! Attachments:
|
|
Deleted
Deleted Member
Posts: 0
|
Post by Deleted on Jun 27, 2011 9:16:06 GMT -5
Did you even read my reply? So no, 60x60 isn't possible either. Go with blocks of 32x32, or 64x64 or 128x128 .. as long as it's a power of 2. And your rom seems to run at 30 fps? Is this deliberate?
|
|
Deleted
Deleted Member
Posts: 0
|
Post by Deleted on Jun 27, 2011 9:43:01 GMT -5
oops! Sorry, as I'm programming I'm also relearning math Thanks for your patience! Is 30fps bad? I added extra sleep commands to keep it looking smooth.
|
|
Deleted
Deleted Member
Posts: 0
|
Post by Deleted on Jun 27, 2011 9:49:28 GMT -5
Personally I always aim for the full 60 / 50 Hertz.
If you had to drop to 30 at this point already ( without collision / enemies / audio etc. ), it's a pretty bad sign.
|
|
|
Post by sega16 on Jun 27, 2011 10:07:24 GMT -5
don't feel bad I hate math too (your not the only one) try REMOVING the sleep command (it will make it run faster)
|
|
Deleted
Deleted Member
Posts: 0
|
Post by Deleted on Jun 27, 2011 10:28:21 GMT -5
It's stays at high 40's fps average for me in Fusion regardless of sleep commands. What emulators are you guys using for basic testing?
|
|
Deleted
Deleted Member
Posts: 0
|
Post by Deleted on Jun 27, 2011 10:40:42 GMT -5
The framerate of your emulator doesn't have much to do with the framerate of your game. If your emulator isn't running at a constant 60fps ( NTSC ) or 50fps ( PAL ), you probably have a old / slow computer.
Try the program below to see the Mega Drive struggle ( it isn't fast enough to do this within a frame ) ..
do for y=0 to 27 for x=0 to 39 p = rnd(3)+1 drawtile rnd(256)+palette(p),x,y next next sleep 1 loop
|
|
Deleted
Deleted Member
Posts: 0
|
Post by Deleted on Jun 27, 2011 11:13:10 GMT -5
Wow. I tried my engine, soliel.bex and gelda.bex. All have pretty much the same framerates. Soliel being slightly better and Gelda being slightly worse.
My EverDrive *just* stopped working on my Genesis clone. I guess it's time to break out a real Genesis and Sega CD.
Are there any methods to calculate the real framerate on real hardware?
|
|
Deleted
Deleted Member
Posts: 0
|
Post by Deleted on Jun 27, 2011 13:01:34 GMT -5
Framerate on real hardware is always 60 ( NTSC ) or 50 ( PAL ) Hertz, but some games don't update the screen every frame. For example ..
Games either run at 60, 30, 20, 15, 12, 10 etc ( on NTSC ) and 50, 25, 16.67, 12.5, 10, 8.33 etc ( on PAL ). So you don't have to test this ( you do want to test whether your code finishes before it should though ), you know / define this as developer.
|
|