clean up text draw, fix offset by one
This commit is contained in:
parent
d182d33b35
commit
25da81c64b
1 changed files with 32 additions and 28 deletions
60
mandel.s
60
mandel.s
|
@ -142,26 +142,32 @@ KEY_0 = 50
|
|||
|
||||
strings:
|
||||
str_self:
|
||||
.byte "MANDEL-6502", 0
|
||||
.byte "MANDEL-6502"
|
||||
str_self_end:
|
||||
.byte 0
|
||||
str_speed:
|
||||
.byte "us/iter: ", 0
|
||||
.byte "us/iter: "
|
||||
str_speed_end:
|
||||
.byte 0
|
||||
str_run:
|
||||
.byte " RUN", 0
|
||||
.byte " RUN"
|
||||
str_run_end:
|
||||
.byte 0
|
||||
str_done:
|
||||
.byte "DONE", 0
|
||||
.byte "DONE"
|
||||
str_done_end:
|
||||
.byte 0
|
||||
str_padding:
|
||||
.byte " "
|
||||
str_padding_end:
|
||||
.byte 0
|
||||
|
||||
str_self_len = str_self_end - str_self
|
||||
str_speed_len = str_speed_end - str_speed
|
||||
str_run_len = str_run_end - str_run
|
||||
str_done_len = str_done_end - str_done
|
||||
speed_precision = 6
|
||||
str_padding_len = str_padding_end - str_padding
|
||||
|
||||
speed_start = 40 - str_done_len - str_speed_len - speed_precision - 1
|
||||
speed_len = 14 + str_speed_len
|
||||
speed_start = 40 - str_done_len - str_speed_len - str_padding_len - 1
|
||||
|
||||
|
||||
char_map:
|
||||
|
@ -1288,6 +1294,14 @@ done:
|
|||
rts
|
||||
.endproc
|
||||
|
||||
.macro draw_string_const str
|
||||
lda #.lobyte(str)
|
||||
sta INBUFF
|
||||
lda #.hibyte(str)
|
||||
sta INBUFF + 1
|
||||
jsr draw_string
|
||||
.endmacro
|
||||
|
||||
.proc vblank_handler
|
||||
inc count_frames
|
||||
|
||||
|
@ -1506,19 +1520,11 @@ zero_byte_loop:
|
|||
sta text_col
|
||||
lda #0
|
||||
sta text_row
|
||||
lda #.lobyte(str_self)
|
||||
sta INBUFF
|
||||
lda #.hibyte(str_self)
|
||||
sta INBUFF + 1
|
||||
jsr draw_string
|
||||
draw_string_const str_self
|
||||
|
||||
lda #(40 - str_run_len)
|
||||
sta text_col
|
||||
lda #.lobyte(str_run)
|
||||
sta INBUFF
|
||||
lda #.hibyte(str_run)
|
||||
sta INBUFF + 1
|
||||
jsr draw_string
|
||||
draw_string_const str_run
|
||||
|
||||
rts
|
||||
.endproc
|
||||
|
@ -1773,11 +1779,13 @@ update_status:
|
|||
sta text_col
|
||||
lda #0
|
||||
sta text_row
|
||||
lda #.lobyte(str_speed)
|
||||
sta INBUFF
|
||||
lda #.hibyte(str_speed)
|
||||
sta INBUFF + 1
|
||||
jsr draw_string
|
||||
draw_string_const str_speed
|
||||
|
||||
lda text_col
|
||||
pha
|
||||
draw_string_const str_padding
|
||||
pla
|
||||
sta text_col
|
||||
|
||||
; convert to ASCII in INBUFF and print
|
||||
jsr FASC
|
||||
|
@ -1834,11 +1842,7 @@ loop:
|
|||
sta text_col
|
||||
lda #0
|
||||
sta text_row
|
||||
lda #.lobyte(str_done)
|
||||
sta INBUFF
|
||||
lda #.hibyte(str_done)
|
||||
sta INBUFF + 1
|
||||
jsr draw_string
|
||||
draw_string_const str_done
|
||||
|
||||
jsr keycheck
|
||||
beq loop
|
||||
|
|
Loading…
Reference in a new issue