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:
@@ -7,7 +7,7 @@
|
||||
; void cclear (unsigned char length);
|
||||
|
||||
.export _cclearxy, _cclear
|
||||
.import popa, _gotoxy, fixcursor
|
||||
.import gotoxy, fixcursor
|
||||
.importzp cursor_x, cursor_y, cursor_c
|
||||
|
||||
.include "jumptab.inc"
|
||||
@@ -15,8 +15,7 @@
|
||||
|
||||
_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
|
||||
|
||||
_cclear:
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
; void chline (unsigned char length);
|
||||
|
||||
.export _chlinexy, _chline
|
||||
.import popa, _gotoxy, fixcursor
|
||||
.import gotoxy, fixcursor
|
||||
.importzp cursor_x, cursor_y, cursor_c
|
||||
|
||||
.include "jumptab.inc"
|
||||
@@ -15,8 +15,7 @@
|
||||
|
||||
_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
|
||||
|
||||
_chline:
|
||||
|
||||
@@ -23,8 +23,7 @@
|
||||
; UPLINE = ?, KEY_UPARROW = GOTOY, ...
|
||||
|
||||
.export _cputcxy, _cputc
|
||||
.import _gotoxy, fixcursor
|
||||
.import popa
|
||||
.import gotoxy, fixcursor
|
||||
.import xsize,ysize
|
||||
.importzp cursor_x, cursor_y, cursor_c, cursor_r
|
||||
|
||||
@@ -34,8 +33,7 @@
|
||||
|
||||
_cputcxy:
|
||||
pha ; Save C
|
||||
jsr popa ; Get Y
|
||||
jsr _gotoxy ; Set cursor, drop x
|
||||
jsr gotoxy ; Set cursor, drop x and y
|
||||
pla ; Restore C
|
||||
|
||||
; Plot a character - also used as internal function
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
; void cvline (unsigned char length);
|
||||
|
||||
.export _cvlinexy, _cvline
|
||||
.import popa, _gotoxy, fixcursor
|
||||
.import gotoxy, fixcursor
|
||||
.importzp cursor_x, cursor_y, cursor_r
|
||||
|
||||
.include "jumptab.inc"
|
||||
@@ -15,8 +15,7 @@
|
||||
|
||||
_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
|
||||
|
||||
_cvline:
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
; void gotoy (unsigned char y);
|
||||
; void gotoxy (unsigned char x, unsigned char y);
|
||||
|
||||
.export _gotox, _gotoy, _gotoxy, fixcursor
|
||||
.export _gotox, _gotoy, gotoxy, _gotoxy, fixcursor
|
||||
.import popa
|
||||
.importzp cursor_x, cursor_y, cursor_c, cursor_r
|
||||
|
||||
@@ -22,6 +22,9 @@ _gotoy:
|
||||
sta cursor_r
|
||||
jmp fixcursor
|
||||
|
||||
gotoxy:
|
||||
jsr popa
|
||||
|
||||
_gotoxy:
|
||||
sta cursor_r
|
||||
jsr popa
|
||||
|
||||
Reference in New Issue
Block a user