Проект пролежал около 14 лет, готовый, но рамки не выведены
CODE:lorom
;=====================================
; varwin.asm
; Возможность самому менять значение
; длины и ширины тектового окна
;-------------------------------------
;Copyright MopoZ (c) 2012
;=====================================
org $00FE8b
jml $a0a100
org $20a100
lda $08
cmp #$0400
beq if_04
cmp #$0800
beq if_08
jmp $80FE98
if_04:
phx
pha
jsl variable_box
pla
plx
lda #$001e
sta $021e
jml $80FE98
if_08:
phx
pha
jsl variable_box
pla
plx
jml $80FE98
variable_box:
lda $0a
asl
tax
lda $80d980,x
sta $d4
lda #$9dff
sta $d0
lda $d4
bpl pos
inc $d0
pos:
ora #$8000
sta $cf
lda [$cf]
and #$0fff
pha
asl
adc $01,s
tax ; у меня просто хаффман убран был и текст открыто лежал вместе
pla ; с новой таблицей пойнтеров
lda $a08100,x ;пойнтер на указатель текста OFFSET
sta $cf
sep #$20
lda $a08102,x ; BANK
sta $d1
rep #$20
lda [$cf]
and #$00ff
cmp #$00ff
bne not_variable
inc $cf
lda [$cf]
and #$00ff
beq not_lengthy
sta $04
not_lengthy:
inc $cf
lda [$cf]
and #$00ff
beq not_variable
sta $06
not_variable:
rtl
В крупторе в начале диалога ставить /FF/XX/YY
Если вместо XX или YY оставлять 00, то остается оригинальный размер.
Только уже точно не помню, что за первое или вторая за ширину отвечает или за высоту, больше 10 лет прошло
Цитата:/FF/09/00А-А-А-А-А!/00
{END}
ОН ЖИВОЙ!/00
{END}
/FF/16/00Мозг прострелен. Его прикончила какая-та банда./00
{END}
/FF/10/04Да? Он не похож на мертвого./00
{END}
/FF/10/04Эх-х, он какой-то сплющенный./00
{END}
/FF/00/03Мы позаботимся о нём... утром./00
{END}
Да, Сэм./00
{END}
/FF/12/00Оо-й моя голова./00
{END}