[TI-ASM] Looking for a tilemap (smoothscrolling)
Moderator: MaxCoderz Staff
-
- Calc Master
- Posts: 1064
- Joined: Fri 17 Dec, 2004 3:22 pm
- Location: Probably playing DDR
- Contact:
[TI-ASM] Looking for a tilemap (smoothscrolling)
I'm trying to make gravlab work with tilemaps too, so that i'm not restricted to the screen size for games. However, my smoothscrolling tilemap from desrealm will not work with it.. The kind of tilemap I'm looking for has to be able to output from any pixel position, like I call the tilemap with certain coordinates as input, and it'll draw the image from there. (as opposed to just scroll to a side). I hope you understand what i mean..
I could make this myself, but if one of you guys already made something similar I would consider it a waste of time (why invent the wheel twice aye?). Also, I really suck at that sort of thing, so it would most likely take ages, and be way too slow and ram consuming.
I really hope you can help me..
I could make this myself, but if one of you guys already made something similar I would consider it a waste of time (why invent the wheel twice aye?). Also, I really suck at that sort of thing, so it would most likely take ages, and be way too slow and ram consuming.
I really hope you can help me..
-
- Calc King
- Posts: 2195
- Joined: Sun 27 Mar, 2005 4:06 am
- Location: sleeping
- Contact:
-
- Calc Master
- Posts: 1064
- Joined: Fri 17 Dec, 2004 3:22 pm
- Location: Probably playing DDR
- Contact:
I'm using Misster's tilemap now, it works exactly like i'd want it to, and it's definitely fast enough.
Crashman's is by far the fastest, but it is the least developer friendly one out there.
* Ridiculously fast!
* You must use a VERTICAL graphmem layout, not compatible with romcalls or existing sprite routines
* You must use vertical tilemaps, not so much a big deal, since you can easily rotate them
* It needs XX00 aligned memory for the tile graphics and graphmem.
* 32 Tiles max, since tile numbers are multiplied by 8 before being added to the map. (this saves the routine from having to do that multiplication)
* Heavily unrolled, it's optimized for speed and not size.
* Routine is less flexible about the size of the tilemap, it must be defined at compile time. You can still set rows or columns of a tilemap as the player moves around, just like on a nes
Now, I know how to fulfill those requirements to use the routine, and could help anyone out who wants to use that one.
I'll guess that crashman's is at least twice as fast as misster's routine, since it takes misster's routine 23 instructions to set up drawing a tile, while crashman's takes 2 instructions, the tile rendering inner loop is also 101 tstates, vs 55 for crashman's. But that speed didn't come from nowhere.
* Ridiculously fast!
* You must use a VERTICAL graphmem layout, not compatible with romcalls or existing sprite routines
* You must use vertical tilemaps, not so much a big deal, since you can easily rotate them
* It needs XX00 aligned memory for the tile graphics and graphmem.
* 32 Tiles max, since tile numbers are multiplied by 8 before being added to the map. (this saves the routine from having to do that multiplication)
* Heavily unrolled, it's optimized for speed and not size.
* Routine is less flexible about the size of the tilemap, it must be defined at compile time. You can still set rows or columns of a tilemap as the player moves around, just like on a nes
Now, I know how to fulfill those requirements to use the routine, and could help anyone out who wants to use that one.
I'll guess that crashman's is at least twice as fast as misster's routine, since it takes misster's routine 23 instructions to set up drawing a tile, while crashman's takes 2 instructions, the tile rendering inner loop is also 101 tstates, vs 55 for crashman's. But that speed didn't come from nowhere.
You know your hexadecimal output routine is broken when it displays the character 'G'.
I that. It's also worth addign it comes in size-optimized and speed-optimized flavors to suit your eyecandy demands. If you need more than 32x32 dimensions or more than 32 tiles, I'd go with the Jim e mapper. I haven't used it yet, but it got its share of praises in the Sonic thread. Something for everybody.
My diet consists of nails, code-stealers, and HP fans.
Projects:
Robot War [TI-82, TI Flash App]
Sonic the Hedgehog [Multiplatform]
Projects:
Robot War [TI-82, TI Flash App]
Sonic the Hedgehog [Multiplatform]