removed DIRECT_SCREEN define
git-svn-id: svn://svn.cc65.org/cc65/trunk@176 b7a2c559-68d2-44c3-8de9-860c34a00d81
This commit is contained in:
@@ -2,7 +2,7 @@
|
|||||||
# makefile for CC65 Atari runtime library
|
# makefile for CC65 Atari runtime library
|
||||||
#
|
#
|
||||||
|
|
||||||
ATARIDEFS = -DDIRECT_SCREEN
|
ATARIDEFS =
|
||||||
|
|
||||||
.SUFFIXES: .o .s .c
|
.SUFFIXES: .o .s .c
|
||||||
|
|
||||||
|
|||||||
@@ -19,11 +19,7 @@ _cclear:
|
|||||||
cmp #0 ; Is the length zero?
|
cmp #0 ; Is the length zero?
|
||||||
beq L9 ; Jump if done
|
beq L9 ; Jump if done
|
||||||
sta tmp1
|
sta tmp1
|
||||||
.ifdef DIRECT_SCREEN
|
|
||||||
L1: lda #0 ; Blank - screen code
|
L1: lda #0 ; Blank - screen code
|
||||||
.else
|
|
||||||
L1: lda #$20 ; Blank
|
|
||||||
.endif
|
|
||||||
jsr cputdirect ; Direct output
|
jsr cputdirect ; Direct output
|
||||||
dec tmp1
|
dec tmp1
|
||||||
bne L1
|
bne L1
|
||||||
|
|||||||
@@ -19,11 +19,7 @@ _chline:
|
|||||||
cmp #0 ; Is the length zero?
|
cmp #0 ; Is the length zero?
|
||||||
beq L9 ; Jump if done
|
beq L9 ; Jump if done
|
||||||
sta tmp1
|
sta tmp1
|
||||||
.ifdef DIRECT_SCREEN
|
|
||||||
L1: lda #$12+64 ; Horizontal line, screen code
|
L1: lda #$12+64 ; Horizontal line, screen code
|
||||||
.else
|
|
||||||
L1: lda #$12 ; Horizontal line
|
|
||||||
.endif
|
|
||||||
jsr cputdirect ; Direct output
|
jsr cputdirect ; Direct output
|
||||||
dec tmp1
|
dec tmp1
|
||||||
bne L1
|
bne L1
|
||||||
|
|||||||
@@ -5,11 +5,7 @@
|
|||||||
;
|
;
|
||||||
|
|
||||||
.export _clrscr
|
.export _clrscr
|
||||||
|
|
||||||
.include "atari.inc"
|
.include "atari.inc"
|
||||||
|
|
||||||
.ifdef DIRECT_SCREEN
|
|
||||||
|
|
||||||
.importzp ptr1
|
.importzp ptr1
|
||||||
|
|
||||||
_clrscr:lda SAVMSC ; screen memory
|
_clrscr:lda SAVMSC ; screen memory
|
||||||
@@ -37,11 +33,3 @@ done: sta COLCRS
|
|||||||
sta ROWCRS
|
sta ROWCRS
|
||||||
rts
|
rts
|
||||||
|
|
||||||
.else
|
|
||||||
|
|
||||||
.import putchar
|
|
||||||
_clrscr:
|
|
||||||
lda #ATCLR
|
|
||||||
jmp putchar
|
|
||||||
|
|
||||||
.endif
|
|
||||||
|
|||||||
@@ -8,6 +8,8 @@
|
|||||||
.export _cputcxy, _cputc
|
.export _cputcxy, _cputc
|
||||||
.export plot, cputdirect, putchar
|
.export plot, cputdirect, putchar
|
||||||
.import popa, _gotoxy, mul40
|
.import popa, _gotoxy, mul40
|
||||||
|
.importzp tmp4,ptr4
|
||||||
|
.import _revflag
|
||||||
|
|
||||||
.include "atari.inc"
|
.include "atari.inc"
|
||||||
|
|
||||||
@@ -17,11 +19,6 @@ _cputcxy:
|
|||||||
jsr _gotoxy ; Set cursor, drop x
|
jsr _gotoxy ; Set cursor, drop x
|
||||||
pla ; Restore C
|
pla ; Restore C
|
||||||
|
|
||||||
.ifdef DIRECT_SCREEN
|
|
||||||
|
|
||||||
.importzp tmp4,ptr4
|
|
||||||
.import _revflag
|
|
||||||
|
|
||||||
_cputc:
|
_cputc:
|
||||||
cmp #$0D ; CR
|
cmp #$0D ; CR
|
||||||
bne L4
|
bne L4
|
||||||
@@ -87,91 +84,3 @@ L3: clc
|
|||||||
.rodata
|
.rodata
|
||||||
ataint: .byte 64,0,32,96
|
ataint: .byte 64,0,32,96
|
||||||
|
|
||||||
;****************************************************************
|
|
||||||
.else ;***** above DIRECT_SCREEN, below thru OS ***************
|
|
||||||
;****************************************************************
|
|
||||||
|
|
||||||
.import __do_oserror,cursor,__oserror
|
|
||||||
|
|
||||||
|
|
||||||
; Plot a character - also used as internal function
|
|
||||||
|
|
||||||
_cputc: cmp #$0D ; CR?
|
|
||||||
bne L1
|
|
||||||
lda #0
|
|
||||||
sta COLCRS
|
|
||||||
beq plot ; Recalculate pointers
|
|
||||||
|
|
||||||
; don't know whether this is needed. the compiler generates
|
|
||||||
; already ATEOL chars for \n
|
|
||||||
|
|
||||||
L1: cmp #$0A ; LF?
|
|
||||||
bne L2
|
|
||||||
lda #ATEOL
|
|
||||||
|
|
||||||
; Printable char of some sort
|
|
||||||
|
|
||||||
L2:
|
|
||||||
cputdirect:
|
|
||||||
pha
|
|
||||||
and #$7f
|
|
||||||
cmp #32 ; control char?
|
|
||||||
bcs goon
|
|
||||||
lda #$1b
|
|
||||||
jsr putchar
|
|
||||||
goon: pla
|
|
||||||
jsr putchar ; Write the character to the screen
|
|
||||||
|
|
||||||
plot: ldy COLCRS
|
|
||||||
ldx ROWCRS
|
|
||||||
rts
|
|
||||||
|
|
||||||
; Write one character to the screen without doing anything else, return X
|
|
||||||
; position in Y
|
|
||||||
|
|
||||||
putchar:
|
|
||||||
.if 0
|
|
||||||
tax
|
|
||||||
lda #>(retr-1)
|
|
||||||
pha
|
|
||||||
lda #<(retr-1)
|
|
||||||
pha
|
|
||||||
lda ICPTH
|
|
||||||
pha
|
|
||||||
lda ICPTL
|
|
||||||
pha
|
|
||||||
lda #0
|
|
||||||
sta LOGCOL
|
|
||||||
txa
|
|
||||||
rts
|
|
||||||
retr:
|
|
||||||
.endif
|
|
||||||
.if 1
|
|
||||||
pha
|
|
||||||
ldx #0 ; iocb #0 (screen editor)
|
|
||||||
txa
|
|
||||||
sta ICBLL,x
|
|
||||||
sta ICBLH,x
|
|
||||||
sta ICBAL,x
|
|
||||||
sta ICBAH,x
|
|
||||||
lda #PUTCHR
|
|
||||||
sta ICCOM,x
|
|
||||||
lda cursor
|
|
||||||
beq putc7
|
|
||||||
lda #0
|
|
||||||
beq putc8
|
|
||||||
putc7: lda #1
|
|
||||||
putc8: sta CRSINH
|
|
||||||
pla
|
|
||||||
jsr CIOV
|
|
||||||
bpl putc9
|
|
||||||
jmp __do_oserror ; update system specific error code
|
|
||||||
|
|
||||||
putc9: tya
|
|
||||||
ldx #0
|
|
||||||
stx __oserror
|
|
||||||
ldy COLCRS
|
|
||||||
.endif
|
|
||||||
rts
|
|
||||||
|
|
||||||
.endif ; not defined DIRECT_SCREEN
|
|
||||||
|
|||||||
Reference in New Issue
Block a user