We're also working on what I'm calling "particular" bits. This is a bit hard to explain, but...for instance, in the collision data, there are only 4 bits used for each collision, which allows us to represent a full page of collision in a small space. However, they're all loaded into RAM as full bytes, meaning the first four bits of each collision byte is ALWAYS empty. What I'd like to do is use these to establish specificity in a user defined way. So, for instance, you could use them to determine which exit an exit tile is. As the game loads a screen, it starts with exitNum = 0. When it loads an exit tile, it puts exitNum in the first four bits, and then increases exitNum. So when it gets to the next one, it would be writing one in that extra bit space.
Then, when your player runs into an exit door, it reads the higher bits to know which exit door that is, and then that combined with your custom code (explained in previous post) would let it know which screen data byte to use for what screen it should jump to.
Otherwise, you'd have to use multiple collision types just for exist...Door0 Door1 and Door2, for instance, which seems wasteful, though a LOT easier.
So these are the sorts of concepts we're kicking around.