furrykefx
04-27-2005, 09:13 PM
OK, I started working on Mindseeker again (for the first time in ages), and my old text compression scheme has become pretty unsatisfactory. My old scheme was an ordinary MTE scheme in which a byte can represent up to seven characters, but it became such that every time I tried to insert a new dump, I need to fiddle with the table again, which was becoming pretty impractical since it was pretty much full.
Here's the deal: Mindseeker has no pointer table. The "pointers" are hard-coded assembly. That means every translated block must fit in a new block of the same size or less (unless I want to go through the trouble of finding the pointer in assembly and changing it, and I REALLY don't). That's why I'm having so much trouble getting the text to fit, because I'll often get a good compression ratio and then some text comes along that doesn't fit into some 10-byte space or something and I have to use up a whole MTE table slot for it.
What do you guys suggest? I need something that can realistically be done with NES hardware (6502, etc.) and work with the constraints described above.
- Kef
<P ID="signature"></P>
Here's the deal: Mindseeker has no pointer table. The "pointers" are hard-coded assembly. That means every translated block must fit in a new block of the same size or less (unless I want to go through the trouble of finding the pointer in assembly and changing it, and I REALLY don't). That's why I'm having so much trouble getting the text to fit, because I'll often get a good compression ratio and then some text comes along that doesn't fit into some 10-byte space or something and I have to use up a whole MTE table slot for it.
What do you guys suggest? I need something that can realistically be done with NES hardware (6502, etc.) and work with the constraints described above.
- Kef
<P ID="signature"></P>