1
0
mirror of https://github.com/cc65/cc65.git synced 2025-01-03 01:31:55 +00:00

Fixed newline bug in cvline

git-svn-id: svn://svn.cc65.org/cc65/trunk@523 b7a2c559-68d2-44c3-8de9-860c34a00d81
This commit is contained in:
cuz 2000-12-02 14:59:14 +00:00
parent d0e2ffcf57
commit e906d07cc1
5 changed files with 66 additions and 66 deletions

View File

@ -28,48 +28,48 @@ _cputc: cmp #$0A ; CR?
beq plot ; Recalculate pointers
L1: cmp #$0D ; LF?
bne L2
ldy CURS_Y
iny
bne newline ; Recalculate pointers
beq newline ; Recalculate pointers
; Printable char of some sort
L2: cmp #' '
cmp #' '
bcc cputdirect ; Other control char
tay
bmi L10
cmp #$60
bcc L3
bcc L2
and #$DF
bne cputdirect ; Branch always
L3: and #$3F
L2: and #$3F
cputdirect:
jsr putchar ; Write the character to the screen
jsr putchar ; Write the character to the screen
; Advance cursor position
advance:
iny
cpy xsize
bne L9
iny
cpy xsize
bne L3
jsr newline ; new line
ldy #0 ; + cr
L3: sty CURS_X
rts
newline:
ldy #0 ; new line
clc
lda xsize
adc SCREEN_PTR
sta SCREEN_PTR
bcc L4
inc SCREEN_PTR+1
clc
clc
L4: lda xsize
adc CRAM_PTR
sta CRAM_PTR
bcc L5
inc CRAM_PTR+1
L5: inc CURS_Y
L9: sty CURS_X
rts
; Handle character if high bit set

View File

@ -28,48 +28,48 @@ _cputc: cmp #$0A ; CR?
beq plot ; Recalculate pointers
L1: cmp #$0D ; LF?
bne L2
ldy CURS_Y
iny
bne newline ; Recalculate pointers
beq newline ; Recalculate pointers
; Printable char of some sort
L2: cmp #' '
cmp #' '
bcc cputdirect ; Other control char
tay
bmi L10
cmp #$60
bcc L3
bcc L2
and #$DF
bne cputdirect ; Branch always
L3: and #$3F
L2: and #$3F
cputdirect:
jsr putchar ; Write the character to the screen
jsr putchar ; Write the character to the screen
; Advance cursor position
advance:
iny
cpy xsize
bne L9
bne L3
jsr newline ; new line
ldy #0 ; + cr
L3: sty CURS_X
rts
newline:
ldy #0 ; new line
clc
lda xsize
adc SCREEN_PTR
sta SCREEN_PTR
bcc L4
inc SCREEN_PTR+1
clc
clc
L4: lda xsize
adc CRAM_PTR
sta CRAM_PTR
bcc L5
inc CRAM_PTR+1
L5: inc CURS_Y
L9: sty CURS_X
rts
; Handle character if high bit set

View File

@ -31,34 +31,35 @@ _cputc: cmp #$0A ; CR?
beq plot ; Recalculate pointers
L1: cmp #$0D ; LF?
bne L2
ldy CURS_Y
iny
bne newline ; Recalculate pointers
beq newline ; Recalculate pointers
; Printable char of some sort
L2: cmp #' '
cmp #' '
bcc cputdirect ; Other control char
tay
bmi L10
cmp #$60
bcc L3
bcc L2
and #$DF
bne cputdirect ; Branch always
L3: and #$3F
L2: and #$3F
cputdirect:
jsr putchar ; Write the character to the screen
jsr putchar ; Write the character to the screen
; Advance cursor position
advance:
iny
cpy xsize
bne L9
iny
cpy xsize
bne L3
jsr newline ; new line
ldy #0 ; + cr
L3: sty CURS_X
rts
newline:
ldy #0 ; new line
clc
lda xsize
adc CharPtr
@ -66,12 +67,11 @@ newline:
bcc L4
inc CharPtr+1
L4: inc CURS_Y
L9: sty CURS_X
rts
; Handle character if high bit set
L10: and #$7F
L10: and #$7F
cmp #$7E ; PI?
bne L11
lda #$5E ; Load screen code for PI

View File

@ -28,34 +28,35 @@ _cputc: cmp #$0A ; CR?
beq plot ; Recalculate pointers
L1: cmp #$0D ; LF?
bne L2
ldy CURS_Y
iny
bne newline ; Recalculate pointers
beq newline ; Recalculate pointers
; Printable char of some sort
L2: cmp #' '
cmp #' '
bcc cputdirect ; Other control char
tay
bmi L10
cmp #$60
bcc L3
bcc L2
and #$DF
bne cputdirect ; Branch always
L3: and #$3F
L2: and #$3F
cputdirect:
jsr putchar ; Write the character to the screen
jsr putchar ; Write the character to the screen
; Advance cursor position
advance:
iny
cpy xsize
bne L9
iny
cpy xsize
bne L3
jsr newline ; new line
ldy #0 ; + cr
L3: sty CURS_X
rts
newline:
ldy #0 ; new line
clc
lda xsize
adc SCREEN_PTR
@ -63,7 +64,6 @@ newline:
bcc L4
inc SCREEN_PTR+1
L4: inc CURS_Y
L9: sty CURS_X
rts
; Handle character if high bit set

View File

@ -28,34 +28,35 @@ _cputc: cmp #$0A ; CR?
beq plot ; Recalculate pointers
L1: cmp #$0D ; LF?
bne L2
ldy CURS_Y
iny
bne newline ; Recalculate pointers
beq newline ; Recalculate pointers
; Printable char of some sort
L2: cmp #' '
cmp #' '
bcc cputdirect ; Other control char
tay
bmi L10
cmp #$60
bcc L3
bcc L2
and #$DF
bne cputdirect ; Branch always
L3: and #$3F
L2: and #$3F
cputdirect:
jsr putchar ; Write the character to the screen
jsr putchar ; Write the character to the screen
; Advance cursor position
advance:
iny
cpy xsize
bne L9
iny
cpy xsize
bne L3
jsr newline ; new line
ldy #0 ; + cr
L3: sty CURS_X
rts
newline:
ldy #0 ; new line
clc
lda xsize
adc SCREEN_PTR
@ -69,7 +70,6 @@ L4: lda xsize
bcc L5
inc CRAM_PTR+1
L5: inc CURS_Y
L9: sty CURS_X
rts
; Handle character if high bit set