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:
|
strings:
|
||||||
str_self:
|
str_self:
|
||||||
.byte "MANDEL-6502", 0
|
.byte "MANDEL-6502"
|
||||||
str_self_end:
|
str_self_end:
|
||||||
|
.byte 0
|
||||||
str_speed:
|
str_speed:
|
||||||
.byte "us/iter: ", 0
|
.byte "us/iter: "
|
||||||
str_speed_end:
|
str_speed_end:
|
||||||
|
.byte 0
|
||||||
str_run:
|
str_run:
|
||||||
.byte " RUN", 0
|
.byte " RUN"
|
||||||
str_run_end:
|
str_run_end:
|
||||||
|
.byte 0
|
||||||
str_done:
|
str_done:
|
||||||
.byte "DONE", 0
|
.byte "DONE"
|
||||||
str_done_end:
|
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_speed_len = str_speed_end - str_speed
|
||||||
str_run_len = str_run_end - str_run
|
str_run_len = str_run_end - str_run
|
||||||
str_done_len = str_done_end - str_done
|
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_start = 40 - str_done_len - str_speed_len - str_padding_len - 1
|
||||||
speed_len = 14 + str_speed_len
|
|
||||||
|
|
||||||
|
|
||||||
char_map:
|
char_map:
|
||||||
|
@ -1288,6 +1294,14 @@ done:
|
||||||
rts
|
rts
|
||||||
.endproc
|
.endproc
|
||||||
|
|
||||||
|
.macro draw_string_const str
|
||||||
|
lda #.lobyte(str)
|
||||||
|
sta INBUFF
|
||||||
|
lda #.hibyte(str)
|
||||||
|
sta INBUFF + 1
|
||||||
|
jsr draw_string
|
||||||
|
.endmacro
|
||||||
|
|
||||||
.proc vblank_handler
|
.proc vblank_handler
|
||||||
inc count_frames
|
inc count_frames
|
||||||
|
|
||||||
|
@ -1506,19 +1520,11 @@ zero_byte_loop:
|
||||||
sta text_col
|
sta text_col
|
||||||
lda #0
|
lda #0
|
||||||
sta text_row
|
sta text_row
|
||||||
lda #.lobyte(str_self)
|
draw_string_const str_self
|
||||||
sta INBUFF
|
|
||||||
lda #.hibyte(str_self)
|
|
||||||
sta INBUFF + 1
|
|
||||||
jsr draw_string
|
|
||||||
|
|
||||||
lda #(40 - str_run_len)
|
lda #(40 - str_run_len)
|
||||||
sta text_col
|
sta text_col
|
||||||
lda #.lobyte(str_run)
|
draw_string_const str_run
|
||||||
sta INBUFF
|
|
||||||
lda #.hibyte(str_run)
|
|
||||||
sta INBUFF + 1
|
|
||||||
jsr draw_string
|
|
||||||
|
|
||||||
rts
|
rts
|
||||||
.endproc
|
.endproc
|
||||||
|
@ -1773,11 +1779,13 @@ update_status:
|
||||||
sta text_col
|
sta text_col
|
||||||
lda #0
|
lda #0
|
||||||
sta text_row
|
sta text_row
|
||||||
lda #.lobyte(str_speed)
|
draw_string_const str_speed
|
||||||
sta INBUFF
|
|
||||||
lda #.hibyte(str_speed)
|
lda text_col
|
||||||
sta INBUFF + 1
|
pha
|
||||||
jsr draw_string
|
draw_string_const str_padding
|
||||||
|
pla
|
||||||
|
sta text_col
|
||||||
|
|
||||||
; convert to ASCII in INBUFF and print
|
; convert to ASCII in INBUFF and print
|
||||||
jsr FASC
|
jsr FASC
|
||||||
|
@ -1834,11 +1842,7 @@ loop:
|
||||||
sta text_col
|
sta text_col
|
||||||
lda #0
|
lda #0
|
||||||
sta text_row
|
sta text_row
|
||||||
lda #.lobyte(str_done)
|
draw_string_const str_done
|
||||||
sta INBUFF
|
|
||||||
lda #.hibyte(str_done)
|
|
||||||
sta INBUFF + 1
|
|
||||||
jsr draw_string
|
|
||||||
|
|
||||||
jsr keycheck
|
jsr keycheck
|
||||||
beq loop
|
beq loop
|
||||||
|
|
Loading…
Reference in a new issue