mirror of
https://github.com/cc65/cc65.git
synced 2026-04-25 22:18:27 +00:00
Introduced internal gotoxy that pops both parameters.
About all CONIO functions offering a <...>xy variant call popa _gotoxy By providing an internal gotoxy variant that starts with a popa all those CONIO function can be shortened by 3 bytes. As soon as program calls more than one CONIO function this means an overall code size reduction.
This commit is contained in:
@@ -6,12 +6,11 @@
|
||||
;
|
||||
|
||||
.export _cclearxy, _cclear
|
||||
.import popa, _gotoxy, chlinedirect
|
||||
.import gotoxy, chlinedirect
|
||||
|
||||
_cclearxy:
|
||||
pha ; Save the length
|
||||
jsr popa ; Get y
|
||||
jsr _gotoxy ; Call this one, will pop params
|
||||
jsr gotoxy ; Call this one, will pop params
|
||||
pla ; Restore the length and run into _cclear
|
||||
|
||||
_cclear:
|
||||
|
||||
@@ -6,15 +6,14 @@
|
||||
;
|
||||
|
||||
.export _chlinexy, _chline, chlinedirect
|
||||
.import popa, _gotoxy, cputdirect
|
||||
.import gotoxy, cputdirect
|
||||
|
||||
.include "zeropage.inc"
|
||||
.include "apple2.inc"
|
||||
|
||||
_chlinexy:
|
||||
pha ; Save the length
|
||||
jsr popa ; Get y
|
||||
jsr _gotoxy ; Call this one, will pop params
|
||||
jsr gotoxy ; Call this one, will pop params
|
||||
pla ; Restore the length and run into _chline
|
||||
|
||||
_chline:
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
.endif
|
||||
.export _cputcxy, _cputc
|
||||
.export cputdirect, newline, putchar
|
||||
.import popa, _gotoxy, VTABZ
|
||||
.import gotoxy, VTABZ
|
||||
|
||||
.include "apple2.inc"
|
||||
|
||||
@@ -29,9 +29,8 @@ initconio:
|
||||
|
||||
_cputcxy:
|
||||
pha ; Save C
|
||||
jsr popa ; Get Y
|
||||
jsr _gotoxy
|
||||
pla ; Restore C
|
||||
jsr gotoxy ; Call this one, will pop params
|
||||
pla ; Restore C and run into _cputc
|
||||
|
||||
_cputc:
|
||||
cmp #$0D ; Test for \r = carrage return
|
||||
|
||||
@@ -6,14 +6,13 @@
|
||||
;
|
||||
|
||||
.export _cvlinexy, _cvline, cvlinedirect
|
||||
.import popa, _gotoxy, putchar, newline
|
||||
.import gotoxy, putchar, newline
|
||||
|
||||
.include "zeropage.inc"
|
||||
|
||||
_cvlinexy:
|
||||
pha ; Save the length
|
||||
jsr popa ; Get y
|
||||
jsr _gotoxy ; Call this one, will pop params
|
||||
jsr gotoxy ; Call this one, will pop params
|
||||
pla ; Restore the length and run into _cvline
|
||||
|
||||
_cvline:
|
||||
|
||||
@@ -5,11 +5,14 @@
|
||||
; void __fastcall__ gotox (unsigned char x);
|
||||
;
|
||||
|
||||
.export _gotoxy, _gotox
|
||||
.export gotoxy, _gotoxy, _gotox
|
||||
.import popa, VTABZ
|
||||
|
||||
.include "apple2.inc"
|
||||
|
||||
gotoxy:
|
||||
jsr popa ; Get Y
|
||||
|
||||
_gotoxy:
|
||||
clc
|
||||
adc WNDTOP
|
||||
|
||||
Reference in New Issue
Block a user