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:
Oliver Schmidt
2016-06-05 14:58:38 +02:00
parent d670998814
commit 13482984ca
50 changed files with 120 additions and 152 deletions

View File

@@ -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:

View File

@@ -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:

View File

@@ -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

View File

@@ -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:

View File

@@ -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