diff --git a/artwork/talk.asm b/artwork/talk.asm index 908b256..6f950d1 100644 --- a/artwork/talk.asm +++ b/artwork/talk.asm @@ -1,4 +1,5 @@ .proc talk +; Maximum text length is 63 characters!!! L0 dta d"IN TIMES OF TROUBLE, GO WITH WHAT YOU KNOW." L1 dta d"DIE!" L2 dta d"EAT MY SHORTS!" diff --git a/scorch.xex b/scorch.xex index 24d27a6..2737c0a 100644 Binary files a/scorch.xex and b/scorch.xex differ diff --git a/textproc.asm b/textproc.asm index 2e988ff..caf52c8 100644 --- a/textproc.asm +++ b/textproc.asm @@ -1419,18 +1419,19 @@ displayloop1 lda xtankstableH,y sta temp+1 ;now we should substract length of the text-1 - + ;temp2 = (fx-1)*2 ldy fx dey tya asl sta temp2 mva #0 temp2+1 - ;here we assume max length of text - ;to display is 127 chars! - ;now we have HALF length in pixels ;stored in temp2 + + ;here we assume max length of text + ;to display is 127 chars, but later it turns out it must be max 63! + sbw temp temp2 ; here begin of the text is in TEMP !!!! ;now we should check overflows ;lda temp+1 ; opty @@ -1460,14 +1461,14 @@ DOTNnotLessThanZero ;so check if not greater than screenwitdth cpw temp2 #screenwidth bcc DOTNnoOverflow + ;if end is greater than screenwidth ;then screenwidth - length is fine - - lda fx asl asl sta temp + mva #0 temp+1 sec lda #<(screenwidth-1)