peasant: update word list, make more compact

add 5 more words, also interleave to save chars
in theory we can fit at least one more word
This commit is contained in:
Vince Weaver 2021-11-16 00:37:41 -05:00
parent 7785e05a47
commit 25ed768423
5 changed files with 172 additions and 153 deletions

View File

@ -3,7 +3,7 @@ sector_write =$0c63
requested_sector =$0d17 requested_sector =$0d17
decompress_lzsa2_fast =$0de6 decompress_lzsa2_fast =$0de6
getsrc_smc =$0edc getsrc_smc =$0edc
hgr2 =$1857 hgr2 =$1861
hgr_make_tables =$15da hgr_make_tables =$15da
hgr_put_string =$0ee9 hgr_put_string =$0ee9
save_bg_1x28 =$1421 save_bg_1x28 =$1421
@ -13,7 +13,7 @@ input_buffer =$15b2
hgr_text_box =$1650 hgr_text_box =$1650
hgr_text_box_nosave =$16e2 hgr_text_box_nosave =$16e2
hgr_partial_restore =$1530 hgr_partial_restore =$1530
clear_bottom =$182c clear_bottom =$1836
hgr_input =$1558 hgr_input =$1558
hgr_partial_save =$1501 hgr_partial_save =$1501
draw_box =$126b draw_box =$126b
@ -23,13 +23,13 @@ invert_smc1 =$0f61
disp_put_string_cursor =$1696 disp_put_string_cursor =$1696
hgr_put_char_cursor =$0f15 hgr_put_char_cursor =$0f15
vgi_simple_rectangle =$12ec vgi_simple_rectangle =$12ec
peasant_text =$1eb3 peasant_text =$1ebd
save_menu =$190a save_menu =$1914
load_menu =$18ff load_menu =$1909
location_names_l =$1c36 location_names_l =$1c40
location_names_h =$1c55 location_names_h =$1c5f
wait_until_keypress =$1e75 wait_until_keypress =$1e7f
random16 =$1e7e random16 =$1e88
hposn_high = $BA00 hposn_high = $BA00
hposn_low = $BB00 hposn_low = $BB00
driveoff = $A22 driveoff = $A22

View File

@ -1,12 +1,12 @@
orig lzsa word wordlzsa orig lzsa word wordlzsa
==== ==== ==== ==== ==== ==== ==== ====
common 2422 n/a 1858 n/a common 2422 n/a 1837 n/a
cliff 2836 1801 2209 1656 cliff 2836 1801 2197 1651
inn 3815 2251 2926 2105 inn 3815 2251 2903 2100
inside 7213 4111 5645 3891 inside 7213 4111 5596 3880
peasant1 7758 4313 6564 4286 peasant1 7758 4313 6530 4277
peasant2 7439 4269 5807 4055 peasant2 7439 4269 5752 4040
peasant3 6229 3599 4837 3379 peasant3 6229 3599 4802 3362
peasant4 7112 4023 5991 3997 peasant4 7112 4023 5961 3983

View File

@ -11,68 +11,73 @@ DIALOG_CAPITAL_YOURE = $87
DIALOG_ABOUT = $88 DIALOG_ABOUT = $88
DIALOG_CANT = $89 DIALOG_CANT = $89
DIALOG_DONT = $8A DIALOG_DONT = $8A
DIALOG_THERE = $8B DIALOG_LOOKS = $8B
DIALOG_CAPITAL_THERE = $8C DIALOG_THERE = $8C
DIALOG_THOSE = $8D
DIALOG_CAPITAL_THERE = $8E
DIALOG_BABY = $8D DIALOG_BABY = $8F
DIALOG_DEAD = $8E DIALOG_DEAD = $90
DIALOG_FROM = $8F DIALOG_FROM = $91
DIALOG_HAVE = $90 DIALOG_GAME = $92
DIALOG_HERE = $91 DIALOG_GOOD = $93
DIALOG_INTO = $92 DIALOG_HAVE = $94
DIALOG_ITS = $93 DIALOG_HERE = $95
DIALOG_CAPITAL_ITS = $94 DIALOG_INTO = $96
DIALOG_JUST = $95 DIALOG_ITS = $97
DIALOG_LIKE = $96 DIALOG_CAPITAL_ITS = $98
DIALOG_SAYS = $97 DIALOG_JUST = $99
DIALOG_SOME = $98 DIALOG_LIKE = $9A
DIALOG_THAT = $99 DIALOG_OVER = $9B
DIALOG_CAPITAL_THAT = $9A DIALOG_SAYS = $9C
DIALOG_THIS = $9B DIALOG_SOME = $9D
DIALOG_WITH = $9C DIALOG_THAT = $9E
DIALOG_YOUR = $9D DIALOG_CAPITAL_THAT = $9F
DIALOG_THIS = $A0
DIALOG_WITH = $A1
DIALOG_YOUR = $A2
DIALOG_ALL = $9E DIALOG_ALL = $A3
DIALOG_AND = $9F DIALOG_AND = $A4
DIALOG_ARE = $A0 DIALOG_ARE = $A5
DIALOG_BUT = $A1 DIALOG_BUT = $A6
DIALOG_FOR = $A2 DIALOG_FOR = $A7
DIALOG_GET = $A3 DIALOG_GET = $A8
DIALOG_GOT = $A4 DIALOG_GOT = $A9
DIALOG_HIM = $A5 DIALOG_HIM = $AA
DIALOG_HIS = $A6 DIALOG_HIS = $AB
DIALOG_NOT = $A7 DIALOG_NOT = $AC
DIALOG_NOW = $A8 DIALOG_NOW = $AD
DIALOG_OLD = $A9 DIALOG_OLD = $AE
DIALOG_ONE = $AA DIALOG_ONE = $AF
DIALOG_OUT = $AB DIALOG_OUT = $B0
DIALOG_SEE = $AC DIALOG_SEE = $B1
DIALOG_THE = $AD DIALOG_THE = $B2
DIALOG_CAPITAL_THE = $AE DIALOG_CAPITAL_THE = $B3
DIALOG_WAS = $AF DIALOG_WAS = $B4
DIALOG_YOU = $B0 DIALOG_YOU = $B5
DIALOG_CAPITAL_YOU = $B1 DIALOG_CAPITAL_YOU = $B6
DIALOG_AN = $B2 DIALOG_AN = $B7
DIALOG_AT = $B3 DIALOG_AT = $B8
DIALOG_BE = $B4 DIALOG_BE = $B9
DIALOG_DO = $B5 DIALOG_DO = $BA
DIALOG_GO = $B6 DIALOG_GO = $BB
DIALOG_HE = $B7 DIALOG_HE = $BC
DIALOG_CAPITAL_HE = $B8 DIALOG_CAPITAL_HE = $BD
DIALOG_IN = $B9 DIALOG_IN = $BE
DIALOG_IS = $BA DIALOG_IS = $BF
DIALOG_IT = $BB DIALOG_IT = $C0
DIALOG_CAPITAL_IT = $BC DIALOG_CAPITAL_IT = $C1
DIALOG_MY = $BD DIALOG_MY = $C2
DIALOG_NO = $BE DIALOG_NO = $C3
DIALOG_CAPITAL_NO = $BF DIALOG_CAPITAL_NO = $C4
DIALOG_OF = $C0 DIALOG_OF = $C5
DIALOG_ON = $C1 DIALOG_ON = $C6
DIALOG_OR = $C2 DIALOG_OR = $C7
DIALOG_SO = $C3 DIALOG_SO = $C8
DIALOG_TO = $C4 DIALOG_TO = $C9
DIALOG_UP = $C5 DIALOG_UP = $CA
;.byte "already","cottage","peasant","There's","Trogdor" ;.byte "already","cottage","peasant","There's","Trogdor"
;.byte "little","you're","You're" ;.byte "little","you're","You're"

View File

@ -1,13 +1,13 @@
#include <stdio.h> #include <stdio.h>
#include <string.h> #include <string.h>
#define NUM_WORDS 70 #define NUM_WORDS 75
static char word_list[NUM_WORDS][20]={ static char word_list[NUM_WORDS][20]={
"already","cottage","peasant","There's","Trogdor", "already","cottage","peasant","There's","Trogdor",
"little","you're","You're", "little","you're","You're",
"about","can't","don't","there","There", "about","can't","don't","looks","there","There","those",
"baby","dead","from","have","here","into","it's","It's","just","like","says","some","that","That","this","with","your", "baby","dead","from","game","good","have","here","into","it's","It's","just","like","over","says","some","that","That","this","with","your",
"all","and","are","but","for","get","got","him","his","not","now","old","one","out","see","the","The","was","you","You", "all","and","are","but","for","get","got","him","his","not","now","old","one","out","see","the","The","was","you","You",
"an","at","be","do","go","he","He","in","is","it","It","my","no","No","of","on","or","so","to","up", "an","at","be","do","go","he","He","in","is","it","It","my","no","No","of","on","or","so","to","up",
}; };
@ -26,12 +26,16 @@ static char replacement_list[NUM_WORDS][32]={
"DIALOG_ABOUT", "DIALOG_ABOUT",
"DIALOG_CANT", "DIALOG_CANT",
"DIALOG_DONT", "DIALOG_DONT",
"DIALOG_LOOKS",
"DIALOG_THERE", "DIALOG_THERE",
"DIALOG_CAPITAL_THERE", "DIALOG_CAPITAL_THERE",
"DIALOG_THOSE",
"DIALOG_BABY", "DIALOG_BABY",
"DIALOG_DEAD", "DIALOG_DEAD",
"DIALOG_FROM", "DIALOG_FROM",
"DIALOG_GAME",
"DIALOG_GOOD",
"DIALOG_HAVE", "DIALOG_HAVE",
"DIALOG_HERE", "DIALOG_HERE",
"DIALOG_INTO", "DIALOG_INTO",
@ -39,6 +43,7 @@ static char replacement_list[NUM_WORDS][32]={
"DIALOG_CAPITAL_ITS", "DIALOG_CAPITAL_ITS",
"DIALOG_JUST", "DIALOG_JUST",
"DIALOG_LIKE", "DIALOG_LIKE",
"DIALOG_OVER",
"DIALOG_SAYS", "DIALOG_SAYS",
"DIALOG_SOME", "DIALOG_SOME",
"DIALOG_THAT", "DIALOG_THAT",

View File

@ -12,69 +12,73 @@ text_offset_table:
.byte word_about-word_table ;DIALOG_ABOUT = $88 .byte word_about-word_table ;DIALOG_ABOUT = $88
.byte word_cant-word_table ;DIALOG_CANT = $89 .byte word_cant-word_table ;DIALOG_CANT = $89
.byte word_dont-word_table ;DIALOG_DONT = $8A .byte word_dont-word_table ;DIALOG_DONT = $8A
.byte word_there-word_table ;DIALOG_THERE = $8B .byte word_looks-word_table ;DIALOG_LOOKS = $8B
.byte word_There-word_table ;DIALOG_CAPITAL_THERE = $8C .byte word_there-word_table ;DIALOG_THERE = $8C
.byte word_those-word_table ;DIALOG_THOSE = $8D
.byte word_There-word_table ;DIALOG_CAPITAL_THERE = $8E
.byte word_baby-word_table ;DIALOG_BABY = $8D .byte word_baby-word_table ;DIALOG_BABY = $8F
.byte word_dead-word_table ;DIALOG_DEAD = $8E .byte word_dead-word_table ;DIALOG_DEAD = $90
.byte word_from-word_table ;DIALOG_FROM = $8F .byte word_from-word_table ;DIALOG_FROM = $91
.byte word_have-word_table ;DIALOG_HAVE = $90 .byte word_game-word_table ;DIALOG_GAME = $92
.byte word_here-word_table ;DIALOG_HERE = $91 .byte word_good-word_table ;DIALOG_GOOD = $93
.byte word_into-word_table ;DIALOG_INTO = $92 .byte word_have-word_table ;DIALOG_HAVE = $94
.byte word_its-word_table ;DIALOG_ITS = $93 .byte word_here-word_table ;DIALOG_HERE = $95
.byte word_Its-word_table ;DIALOG_CAPITAL_ITS = $94 .byte word_into-word_table ;DIALOG_INTO = $96
.byte word_just-word_table ;DIALOG_JUST = $95 .byte word_its-word_table ;DIALOG_ITS = $97
.byte word_like-word_table ;DIALOG_LIKE = $96 .byte word_Its-word_table ;DIALOG_CAPITAL_ITS = $98
.byte word_says-word_table ;DIALOG_SAYS = $97 .byte word_just-word_table ;DIALOG_JUST = $99
.byte word_some-word_table ;DIALOG_SOME = $98 .byte word_like-word_table ;DIALOG_LIKE = $9A
.byte word_that-word_table ;DIALOG_THAT = $99 .byte word_over-word_table ;DIALOG_OVER = $9B
.byte word_That-word_table ;DIALOG_CAPITAL_THAT = $9A .byte word_says-word_table ;DIALOG_SAYS = $9C
.byte word_this-word_table ;DIALOG_THIS = $9B .byte word_some-word_table ;DIALOG_SOME = $9D
.byte word_with-word_table ;DIALOG_WITH = $9C .byte word_that-word_table ;DIALOG_THAT = $9E
.byte word_your-word_table ;DIALOG_YOUR = $9D .byte word_That-word_table ;DIALOG_CAPITAL_THAT = $9F
.byte word_this-word_table ;DIALOG_THIS = $A0
.byte word_with-word_table ;DIALOG_WITH = $A1
.byte word_your-word_table ;DIALOG_YOUR = $A2
.byte word_all-word_table ;DIALOG_ALL = $9E .byte word_all-word_table ;DIALOG_ALL = $A3
.byte word_and-word_table ;DIALOG_AND = $9F .byte word_and-word_table ;DIALOG_AND = $A4
.byte word_are-word_table ;DIALOG_ARE = $A0 .byte word_are-word_table ;DIALOG_ARE = $A5
.byte word_but-word_table ;DIALOG_BUT = $A1 .byte word_but-word_table ;DIALOG_BUT = $A6
.byte word_for-word_table ;DIALOG_FOR = $A2 .byte word_for-word_table ;DIALOG_FOR = $A7
.byte word_get-word_table ;DIALOG_GET = $A3 .byte word_get-word_table ;DIALOG_GET = $A8
.byte word_got-word_table ;DIALOG_GOT = $A4 .byte word_got-word_table ;DIALOG_GOT = $A9
.byte word_him-word_table ;DIALOG_HIM = $A5 .byte word_him-word_table ;DIALOG_HIM = $AA
.byte word_his-word_table ;DIALOG_HIS = $A6 .byte word_his-word_table ;DIALOG_HIS = $AB
.byte word_not-word_table ;DIALOG_NOT = $A7 .byte word_not-word_table ;DIALOG_NOT = $AC
.byte word_now-word_table ;DIALOG_NOW = $A8 .byte word_now-word_table ;DIALOG_NOW = $AD
.byte word_old-word_table ;DIALOG_OLD = $A9 .byte word_old-word_table ;DIALOG_OLD = $AE
.byte word_one-word_table ;DIALOG_ONE = $AA .byte word_one-word_table ;DIALOG_ONE = $AF
.byte word_out-word_table ;DIALOG_OUT = $AB .byte word_out-word_table ;DIALOG_OUT = $B0
.byte word_see-word_table ;DIALOG_SEE = $AC .byte word_see-word_table ;DIALOG_SEE = $B1
.byte word_the-word_table ;DIALOG_THE = $AD .byte word_the-word_table ;DIALOG_THE = $B2
.byte word_The-word_table ;DIALOG_CAPITAL_THE = $AE .byte word_The-word_table ;DIALOG_CAPITAL_THE = $B3
.byte word_was-word_table ;DIALOG_WAS = $AF .byte word_was-word_table ;DIALOG_WAS = $B4
.byte word_you-word_table ;DIALOG_YOU = $B0 .byte word_you-word_table ;DIALOG_YOU = $B5
.byte word_You-word_table ;DIALOG_CAPITAL_YOU = $B1 .byte word_You-word_table ;DIALOG_CAPITAL_YOU = $B6
.byte word_an-word_table ;DIALOG_AN = $B2
.byte word_at-word_table ;DIALOG_AT = $B3
.byte word_be-word_table ;DIALOG_BE = $B4
.byte word_do-word_table ;DIALOG_DO = $B5
.byte word_go-word_table ;DIALOG_GO = $B6
.byte word_he-word_table ;DIALOG_HE = $B7
.byte word_He-word_table ;DIALOG_CAPITAL_HE = $B8
.byte word_in-word_table ;DIALOG_IN = $B9
.byte word_is-word_table ;DIALOG_IS = $BA
.byte word_it-word_table ;DIALOG_IT = $BB
.byte word_It-word_table ;DIALOG_CAPITAL_IT = $BC
.byte word_my-word_table ;DIALOG_MY = $BD
.byte word_no-word_table ;DIALOG_NO = $BE
.byte word_No-word_table ;DIALOG_CAPITAL_NO = $BF
.byte word_of-word_table ;DIALOG_OF = $C0
.byte word_on-word_table ;DIALOG_ON = $C1
.byte word_or-word_table ;DIALOG_OR = $C2
.byte word_so-word_table ;DIALOG_SO = $C3
.byte word_to-word_table ;DIALOG_TO = $C4
.byte word_up-word_table ;DIALOG_UP = $C5
.byte word_an-word_table ;DIALOG_AN = $B7
.byte word_at-word_table ;DIALOG_AT = $B8
.byte word_be-word_table ;DIALOG_BE = $B9
.byte word_do-word_table ;DIALOG_DO = $BA
.byte word_go-word_table ;DIALOG_GO = $BB
.byte word_he-word_table ;DIALOG_HE = $BC
.byte word_He-word_table ;DIALOG_CAPITAL_HE = $BD
.byte word_in-word_table ;DIALOG_IN = $BE
.byte word_is-word_table ;DIALOG_IS = $BF
.byte word_it-word_table ;DIALOG_IT = $C0
.byte word_It-word_table ;DIALOG_CAPITAL_IT = $C1
.byte word_my-word_table ;DIALOG_MY = $C2
.byte word_no-word_table ;DIALOG_NO = $C3
.byte word_No-word_table ;DIALOG_CAPITAL_NO = $C4
.byte word_of-word_table ;DIALOG_OF = $C5
.byte word_on-word_table ;DIALOG_ON = $C6
.byte word_or-word_table ;DIALOG_OR = $C7
.byte word_so-word_table ;DIALOG_SO = $C8
.byte word_to-word_table ;DIALOG_TO = $C9
.byte word_up-word_table ;DIALOG_UP = $CA
word_table: word_table:
word_already: .byte "alread",'y'|$80 word_already: .byte "alread",'y'|$80
@ -85,33 +89,43 @@ word_trogdor: .byte "Trogdo",'r'|$80
word_little: .byte "littl",'e'|$80 word_little: .byte "littl",'e'|$80
word_youre: .byte "you'r",'e'|$80 word_youre: .byte "you'r",'e'|$80
word_Youre: .byte "You'r",'e'|$80 word_Youre: .byte "You'r",'e'|$80
word_about: .byte "abou",'t'|$80 word_about: .byte "ab"
word_out: .byte "ou",'t'|$80
word_cant: .byte "can'",'t'|$80 word_cant: .byte "can'",'t'|$80
word_dont: .byte "don'",'t'|$80 word_dont: .byte "don'",'t'|$80
word_there: .byte "ther",'e'|$80 word_looks: .byte "look",'s'|$80
word_there: .byte "t"
word_here: .byte "her",'e'|$80
word_There: .byte "Ther",'e'|$80 word_There: .byte "Ther",'e'|$80
word_those: .byte "thos",'e'|$80
word_baby: .byte "bab",'y'|$80 word_baby: .byte "bab",'y'|$80
word_dead: .byte "dea",'d'|$80 word_dead: .byte "dea",'d'|$80
word_from: .byte "fro",'m'|$80 word_from: .byte "fro",'m'|$80
word_game: .byte "gam",'e'|$80
word_good: .byte "goo",'d'|$80
word_have: .byte "hav",'e'|$80 word_have: .byte "hav",'e'|$80
word_here: .byte "her",'e'|$80 word_into: .byte "in"
word_into: .byte "int",'o'|$80 word_to: .byte "t",'o'|$80
word_its: .byte "it'",'s'|$80 word_its: .byte "it'",'s'|$80
word_Its: .byte "It'",'s'|$80 word_Its: .byte "It'",'s'|$80
word_just: .byte "jus",'t'|$80 word_just: .byte "jus",'t'|$80
word_like: .byte "lik",'e'|$80 word_like: .byte "lik",'e'|$80
word_over: .byte "ove",'r'|$80
word_says: .byte "say",'s'|$80 word_says: .byte "say",'s'|$80
word_some: .byte "som",'e'|$80 word_some: .byte "som",'e'|$80
word_that: .byte "tha",'t'|$80 word_that: .byte "th"
word_at: .byte "a",'t'|$80
word_That: .byte "Tha",'t'|$80 word_That: .byte "Tha",'t'|$80
word_this: .byte "thi",'s'|$80 word_this: .byte "th"
word_is: .byte "i",'s'|$80
word_with: .byte "wit",'h'|$80 word_with: .byte "wit",'h'|$80
word_your: .byte "you",'r'|$80 word_your: .byte "you",'r'|$80
word_all: .byte "al",'l'|$80 word_all: .byte "al",'l'|$80
word_and: .byte "an",'d'|$80 word_and: .byte "an",'d'|$80
word_are: .byte "ar",'e'|$80 word_are: .byte "ar",'e'|$80
word_but: .byte "bu",'t'|$80 word_but: .byte "bu",'t'|$80
word_for: .byte "fo",'r'|$80 word_for: .byte "f"
word_or: .byte "o",'r'|$80
word_get: .byte "ge",'t'|$80 word_get: .byte "ge",'t'|$80
word_got: .byte "go",'t'|$80 word_got: .byte "go",'t'|$80
word_him: .byte "hi",'m'|$80 word_him: .byte "hi",'m'|$80
@ -120,22 +134,19 @@ word_not: .byte "no",'t'|$80
word_now: .byte "no",'w'|$80 word_now: .byte "no",'w'|$80
word_old: .byte "ol",'d'|$80 word_old: .byte "ol",'d'|$80
word_one: .byte "on",'e'|$80 word_one: .byte "on",'e'|$80
word_out: .byte "ou",'t'|$80
word_see: .byte "se",'e'|$80 word_see: .byte "se",'e'|$80
word_the: .byte "th",'e'|$80 word_the: .byte "t"
word_he: .byte "h",'e'|$80
word_The: .byte "Th",'e'|$80 word_The: .byte "Th",'e'|$80
word_was: .byte "wa",'s'|$80 word_was: .byte "wa",'s'|$80
word_you: .byte "yo",'u'|$80 word_you: .byte "yo",'u'|$80
word_You: .byte "Yo",'u'|$80 word_You: .byte "Yo",'u'|$80
word_an: .byte "a",'n'|$80 word_an: .byte "a",'n'|$80
word_at: .byte "a",'t'|$80
word_be: .byte "b",'e'|$80 word_be: .byte "b",'e'|$80
word_do: .byte "d",'o'|$80 word_do: .byte "d",'o'|$80
word_go: .byte "g",'o'|$80 word_go: .byte "g",'o'|$80
word_he: .byte "h",'e'|$80
word_He: .byte "H",'e'|$80 word_He: .byte "H",'e'|$80
word_in: .byte "i",'n'|$80 word_in: .byte "i",'n'|$80
word_is: .byte "i",'s'|$80
word_it: .byte "i",'t'|$80 word_it: .byte "i",'t'|$80
word_It: .byte "I",'t'|$80 word_It: .byte "I",'t'|$80
word_my: .byte "m",'y'|$80 word_my: .byte "m",'y'|$80
@ -143,8 +154,6 @@ word_no: .byte "n",'o'|$80
word_No: .byte "N",'o'|$80 word_No: .byte "N",'o'|$80
word_of: .byte "o",'f'|$80 word_of: .byte "o",'f'|$80
word_on: .byte "o",'n'|$80 word_on: .byte "o",'n'|$80
word_or: .byte "o",'r'|$80
word_so: .byte "s",'o'|$80 word_so: .byte "s",'o'|$80
word_to: .byte "t",'o'|$80
word_up: .byte "u",'p'|$80 word_up: .byte "u",'p'|$80