Quote
When the code runs through the DTE path (flag2), read the byte. Check if the value is $FF - do not return byte and go 'normal' path if so.
The bigger problem is how to index your dictionary - it isn't fixed size of 2 anymore.
(1) Count the # of <$FF> strings. This is slow.
ex.
50=ab<$FF>
51=a<$FF>
52=this<$FF>
$52-$50 = $02.
- Read 'ab' <FF>.
- Read 'a' <FF>.
- Set your dictionary cursor here.
(2) Use a table of 8/16-bit index positions.
50 = [00]
51 = [03]
52 = [05]
Dictionary + $05 = text cursor.
This uses MORE space. Which is less practical on the NES (can be space unfriendly).
The bigger problem is how to index your dictionary - it isn't fixed size of 2 anymore.
(1) Count the # of <$FF> strings. This is slow.
ex.
50=ab<$FF>
51=a<$FF>
52=this<$FF>
$52-$50 = $02.
- Read 'ab' <FF>.
- Read 'a' <FF>.
- Set your dictionary cursor here.
(2) Use a table of 8/16-bit index positions.
50 = [00]
51 = [03]
52 = [05]
Dictionary + $05 = text cursor.
This uses MORE space. Which is less practical on the NES (can be space unfriendly).
Well I guess it's a matter of understanding how I go about coding which ever method I choose. I don't really understand them except for the first part. So can anyone provide some insight on this stuff? Even source code/sample code would probably do and space is not an issue as there is a ton of free space in RAM and the PRG ROM.