It makes perfect sense if you look at what those data lines are doing. There are only room for 8 "bits" in a data byte. The first data line stores all 5 bits for the first letter, and two bits for the second letter. The other three bits for the second letter are stored on the next data line with the 3rd letter's 5 bits. That leaves one bit left over...the high bit from the first data line remains unused. This 2-byte pattern is used throughout the game:
.byte -1111122
.byte 22233333
BTW I only used a lowercase "e" (for "end") to keep the data lines looking nice. Using a full word like "end", "space", or "delimiter" makes the tables look too crooked IMO...
;HOOK
.byte <(H<<2|O>>3)
.byte <(O<<5|O)
.byte <(K<<2|end>>3)
.byte <(end<<5|end)
What is important is the value attached to that lowercase "e"...bit value %11010...which generates a blank space in this program.
But then I noticed after RAISE, the words changed to X's?
I said that it was unfinished Those lines with the X's are Distella-generated...the data values are not yet seperated into values for the 2 letters. I never got around to editing them (which must be done by hand). The next line would have looked like this:
;READY
.byte <(R<<2|E>>3) ; $FB54
.byte <(E<<5|A) ; $FB55
.byte <(D<<2|Y>>3) ; $FB56
.byte <(Y<<5|e) ; $FB57
Just copy/paste data lines that have the << >> breakdown over those. You are planning on using your own word list anyway, right?
So what yew are saying is I can IGNORE those lines? I was curious if I had to had have EXACTLY 510 words or if there was a way around it? Right now I have 117 words. Can I just fill the top part with the words and delete the rest? That seems too easy?