diff options
-rw-r--r-- | textdecomp.s | 25 |
1 files changed, 19 insertions, 6 deletions
diff --git a/textdecomp.s b/textdecomp.s index 0a0c684..fa82d7e 100644 --- a/textdecomp.s +++ b/textdecomp.s @@ -29,9 +29,10 @@ ; is only good if it's used pretty often. ; In messages.c, dict01 to dict26 will show up as Za thru Zz, and dict27 -; and up are ZA, ZB, etc. In theory, a dict entry could reference another -; dict entry (the decoder can handle it), but in practice it's not real -; useful to do. +; and up are ZA, ZB, etc. A dict entry could reference another +; dict entry, the decoder can handle it, but it has to be done manually +; here. Examples are dict02, "Elder Brother", which is really "Elder BroZNr", +; and dict12, " the", which is really " ZN". ; Entry 0 is a dummy! The encoder gets confused by "Z\0". This may ; get fixed. @@ -61,7 +62,8 @@ dict00: dict01: .byte $98, $9d, $73, $54, $53, $80 ; "Li Yuen", 4 occurrences -dict02: .byte $7c, $c1, $05, $4b, $57, $12, $3d, $42, $05, $48, $00 ; "Elder Brother", 3 +;dict02: .byte $7c, $c1, $05, $4b, $57, $12, $3d, $42, $05, $48, $00 ; "Elder Brother", 3 +dict02: .byte $7c, $c1, $05, $4b, $57, $12, $3f, $4a, $12, $00 ; "Elder Brother" dict03: .byte $64, $f5, $40 ; "you", 30 dict04: .byte $d7, $c1, $4d, $00 ; " 'em", 8 dict05: .byte $cc, $f5, $40 ; "You", 16 @@ -71,7 +73,8 @@ dict08: .byte $fb, $5c, $49, $50, $8d, $40 ; ") With ", 2 dict09: .byte $05, $21, $cf, $00 ; "argo", 6 dict10: .byte $4c, $82, $50, $00 ; "ship", 10 dict11: .byte $d5, $70, $52, $14, $83, $d5, $4c, $50, $00 ; " warehouse", 4 -dict12: .byte $d5, $42, $05, $00 ; " the" 17 +;dict12: .byte $d5, $42, $05, $00 ; " the" 17 +dict12: .byte $d7, $4a, $00 ; " the" dict13: .byte $d4, $f1, $80 ; " of", 14 dict14: .byte $5c, $93, $0c, $00 ; "will", 8 dict15: .byte $d4, $21, $45, $3b, $50, $00 ; " been ", 6 @@ -83,7 +86,7 @@ dict20: .byte $04, $e1, $00 ; "and", 10 dict21: .byte $d4, $30, $53, $20, $00 ; " cash", 8 dict22: .byte $04, $41, $09, $50, $93, $ce, $04, $cd, $40 ; "additional ", 3 dict23: .byte $b8, $12, $50, $04, $e0, $00 ; "Taipan", 3 (but really many more!) -dict24: .byte $d4, $f3, $8c, $67, $50 ; " only ", 3 +dict24: .byte $d4, $f3, $8c, $67, $50, $00; " only ", 3 dict25: .byte $d4, $25, $47, $1c, $54, $93, $00 ; " buggers", 3 dict26: .byte $5c, $95, $08, $d4, $00 ; "with ", 4 dict27: .byte $d4, $64, $8f, $37, $50, $00 ; " from ", 3 @@ -99,6 +102,12 @@ dict36: .byte $40, $94, $81, $50, $50, $00 ; "pirate" dict37: .byte $d4, $e3, $c0 ; " no" dict38: .byte $d5, $72, $53, $20, $00 ; " wish" dict39: .byte $10, $50, $94, $00 ; "debt" +dict40: .byte $50, $81, $40 ; "the" +dict41: .byte $78, $fd, $74, $0c, $00 ; "Do you" +dict42: .byte $84, $53, $85, $48, $13, $00 ; "General" +dict43: .byte $d0, $34, $b5, $00 ; "your " + + .out .sprintf("dictionary is %d bytes", * - dict00) dict_offsets: .byte dict00 - dict00 @@ -141,6 +150,10 @@ dict_offsets: .byte dict37 - dict00 .byte dict38 - dict00 .byte dict39 - dict00 + .byte dict40 - dict00 + .byte dict41 - dict00 + .byte dict42 - dict00 + .byte dict43 - dict00 ; rough estimate of how many bytes are saved by the dictionary ; stuff: the dictionary + extra decoder stuff costs 221 bytes (vs. |