i must not be showing it well , the data seq of the font is the only thing that matters - not how it stored , only how it is read back in sequance i need ,

it has been split over a lot of posts so ill try re show it in one post
data was orginally poke /peek
this uses 2x the space than the data alone in flash

depeding on the font , data is read back as 3 or 2 bytes for each x scan line accross so cant be out of sequance

Code:
pokecode   $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,_    
           $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$3F,$FC,$00,$3F,$FC,$00,$3F,$FC,_   
           $00,$3F,$FC,$00,$3F,$FC,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,_
           $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
tryed changeing to @ db command using the font data bytes ,
@ db 0x00 , 0x3F, 0x10, 0xFF..............

this stores in flash as address - 3F00 , FF10 is NOT stored at same sequance address as font DB command as it is entered

readcode gives address = $3f , address + 1 = $00 - no good cos the data is not in the font seq required


tryied

@ dw 0x003F , 0x10FF

this stores in flash as address = 003F , 10FF - excellent follows the same data seq as the font bytes and is correct in flash so reading sequantial address should get each byte in sequance

readcode address 0 , byte = $3F - wrong - it recovers address +1 or low byte
readcode address +1 , byte = $00 - wrong - it recovers address -1 or high byte


hope i am showing this better for the issue at hand

to confirm if the problem is solved by swapping low/ high byte of the font data resolve - it does , but this is alot of work as well