]> git.sur5r.net Git - cc65/commitdiff
Introduced internal gotoxy that pops both parameters.
authorOliver Schmidt <ol.sc@web.de>
Sun, 5 Jun 2016 12:58:38 +0000 (14:58 +0200)
committerOliver Schmidt <ol.sc@web.de>
Sun, 5 Jun 2016 12:58:38 +0000 (14:58 +0200)
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.

50 files changed:
libsrc/apple2/cclear.s
libsrc/apple2/chline.s
libsrc/apple2/cputc.s
libsrc/apple2/cvline.s
libsrc/apple2/gotoxy.s
libsrc/atari/cclear.s
libsrc/atari/chline.s
libsrc/atari/cputc.s
libsrc/atari/cvline.s
libsrc/atari/gotoxy.s
libsrc/atari5200/cputc.s
libsrc/atari5200/gotoxy.s
libsrc/c128/cputc.s
libsrc/c16/cputc.s
libsrc/c64/cputc.s
libsrc/c64/soft80_cputc.s
libsrc/c64/soft80mono_cputc.s
libsrc/cbm/cclear.s
libsrc/cbm/chline.s
libsrc/cbm/cvline.s
libsrc/cbm/gotoxy.s
libsrc/cbm510/cputc.s
libsrc/cbm610/cputc.s
libsrc/conio/cputs.s
libsrc/gamate/chline.s
libsrc/gamate/cputc.s
libsrc/gamate/cvline.s
libsrc/gamate/gotoxy.s
libsrc/geos-common/conio/cclear.s
libsrc/geos-common/conio/chline.s
libsrc/geos-common/conio/cputc.s
libsrc/geos-common/conio/cvline.s
libsrc/geos-common/conio/gotoxy.s
libsrc/nes/cclear.s
libsrc/nes/chline.s
libsrc/nes/cputc.s
libsrc/nes/cvline.s
libsrc/nes/gotoxy.s
libsrc/osic1p/cclear.s
libsrc/osic1p/chline.s
libsrc/osic1p/cvline.s
libsrc/osic1p/gotoxy.s
libsrc/osic1p/osiscreen.inc
libsrc/pce/chline.s
libsrc/pce/cputc.s
libsrc/pce/cvline.s
libsrc/pce/gotoxy.s
libsrc/pet/cputc.s
libsrc/plus4/cputc.s
libsrc/vic20/cputc.s

index c06cb0812f99fa97bbdc82a1fca6a712bd51f11b..4106752ebc92ad33db4c2b92f5c0b293ff5f5403 100644 (file)
@@ -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:
index dba094365f60464093855eb8d4513ca6abd33d24..6cf77de1bbe7f5ed5564610141b59f1e225c3fcf 100644 (file)
@@ -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:
index 2db2962f93224f4622eaebfcd76e4abd0db0ca82..6607c6178acd987ec1b57548dc40c502fe5b004c 100644 (file)
@@ -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
index 1ac3fad748262ac41ade6f1217097c240a81c77b..a26cc706389499ef812708c8648764cbdf13617a 100644 (file)
@@ -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:
index dc96ac75e29ccc6c06c27bd9c2db851c4dca5027..6755af8d8c87c93d9589dfa1ab31f60f7189af7b 100644 (file)
@@ -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
index ceb17aca569a6fc31e56df0a119c4205c5242954..7fe3f0f1bcc84bc0e16b08bd1f2de3d1c85148e0 100644 (file)
@@ -6,13 +6,12 @@
 ;
 
         .export         _cclearxy, _cclear
-        .import         popa, _gotoxy, cputdirect
+        .import         gotoxy, cputdirect
         .importzp       tmp1
 
 _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:
index a096f35a06208b88fd306b3f02d3a9a11da26632..194fe0bb30f95d524218f59b132e4a8662e2161b 100644 (file)
@@ -6,7 +6,7 @@
 ;
 
         .export         _chlinexy, _chline
-        .import         popa, _gotoxy, cputdirect, setcursor
+        .import         gotoxy, cputdirect, setcursor
         .importzp       tmp1
 
 .ifdef __ATARI5200__
@@ -17,8 +17,7 @@ CHRCODE =       $12+64
 
 _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:
index cd2aefe799315d2f2edac8c2cb1cc51bb5dd703d..a06daa691cc0e27d1d17f73b1647a50c8e79851c 100644 (file)
@@ -7,7 +7,7 @@
 
         .export         _cputcxy, _cputc
         .export         plot, cputdirect, putchar
-        .import         popa, _gotoxy, mul40
+        .import         gotoxy, mul40
         .importzp       tmp4,ptr4
         .import         _revflag,setcursor
 
@@ -15,8 +15,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
 
 _cputc:
index da6c8dca4ba1707ddc6f29d375bedc88ab5d6027..1b4ba0b1b4ce99c3ccd23b1d5c50ec5aaece73f7 100644 (file)
@@ -7,7 +7,7 @@
         .include "atari.inc"
         
         .export         _cvlinexy, _cvline
-        .import         popa, _gotoxy, putchar, setcursor
+        .import         gotoxy, putchar, setcursor
         .importzp       tmp1
 
 .ifdef __ATARI5200__
@@ -18,8 +18,7 @@ CHRCODE =       $7C             ; Vertical bar
 
 _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:
index 1f00c3b23c15447e7bc6f0c124ea212f3892dccc..aeaa732c09629db034e81b15e1bf6433239ede16 100644 (file)
@@ -6,14 +6,17 @@
 
         .include "atari.inc"
 
-        .export         _gotoxy
+        .export         gotoxy, _gotoxy
         .import         popa
         .import         setcursor
 
+gotoxy:
+        jsr     popa            ; Get Y
+
 _gotoxy:                        ; Set the cursor position
         sta     ROWCRS          ; Set Y
         jsr     popa            ; Get X
         sta     COLCRS          ; Set X
         lda     #0
-        sta     COLCRS+1        ;
+        sta     COLCRS+1
         jmp     setcursor
index 4bee0fba2742a46663ec26e438b6b2db7cb541fd..860eea88d253ce9ef9e0ac64a1f47153e8a2c940 100644 (file)
@@ -10,7 +10,7 @@
 
         .export         _cputcxy, _cputc
         .export         plot, cputdirect, putchar
-        .import         popa, _gotoxy, mul20
+        .import         gotoxy, mul20
         .importzp       ptr4
         .import         setcursor
 
@@ -21,8 +21,7 @@ screen_setup    = screen_setup_20x24
 
 _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
 
 _cputc:
index a4b7c61d041df27068f6be31f8fa57d39e4d17ba..24e2c2e35ab0edb40111e2d720f3934b707f708a 100644 (file)
@@ -6,10 +6,13 @@
 
         .include "atari5200.inc"
 
-        .export         _gotoxy
+        .export         gotoxy, _gotoxy
         .import         popa
         .import         setcursor
 
+gotoxy:
+        jsr     popa            ; Get Y
+
 _gotoxy:                        ; Set the cursor position
         sta     ROWCRS_5200     ; Set Y
         jsr     popa            ; Get X
index e906c242aec2c3bd646e8e0b0cf174f6b453e722..9d269a47e1169d16cecb800aa8f32741ae55ad33 100644 (file)
@@ -8,7 +8,7 @@
 
         .export         _cputcxy, _cputc, cputdirect, putchar
         .export         newline, plot
-        .import         popa, _gotoxy
+        .import         gotoxy
         .import         PLOT
 
         .include        "c128.inc"
@@ -21,8 +21,7 @@ newline         = NEWLINE
 
 _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
index a83a9c60beaad68aa2f8ae9c8b0ba3a5be0f578e..49b3a84dd7bab4a5840d67ce4ff24bc5f8a40d41 100644 (file)
@@ -7,7 +7,7 @@
 
         .export         _cputcxy, _cputc, cputdirect, putchar
         .export         newline, plot
-        .import         popa, _gotoxy
+        .import         gotoxy
         .import         PLOT
 
         .include        "plus4.inc"
@@ -15,8 +15,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
index 606d6f596fe2df7e620e940aeac304928dfd96db..d6b49607aa650912a1041063de81906d7762872a 100644 (file)
@@ -7,7 +7,7 @@
 
         .export         _cputcxy, _cputc, cputdirect, putchar
         .export         newline, plot
-        .import         popa, _gotoxy
+        .import         gotoxy
         .import         PLOT
 
         .include        "c64.inc"
@@ -15,8 +15,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
index acbe5b5600e2886c5e5cee3ab365b7735dbef76e..f00f7792f0684171e14d45bb310dc0f7e94447f1 100644 (file)
@@ -12,7 +12,7 @@
         .export         soft80_newline, soft80_plot
         .export         soft80_checkchar
 
-        .import         popa, _gotoxy
+        .import         gotoxy
 
         .import         soft80_kplot
         .import         soft80_internal_bgcolor, soft80_internal_cellcolor
@@ -25,8 +25,7 @@
 
 soft80_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
index c89362cb5dba1d7c65f665c5bda4d57c80695a07..252de031970411be771b8a7087a68e8de598d6a5 100644 (file)
@@ -11,7 +11,7 @@
         .export         soft80mono_cputdirect, soft80mono_putchar
         .export         soft80mono_newline, soft80mono_plot
 
-        .import         popa, _gotoxy
+        .import         gotoxy
 
         .import         soft80mono_kplot
         .import         soft80mono_internal_bgcolor, soft80mono_internal_cellcolor
@@ -24,8 +24,7 @@
 
 soft80mono_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
index 233c112c6cf7df619e1ab38950f32ad451e41cb0..14b9d0e8be15737b213ec9c7de15a3cb0a05f64a 100644 (file)
@@ -6,13 +6,12 @@
 ;
 
         .export         _cclearxy, _cclear
-        .import         popa, _gotoxy, cputdirect
+        .import         gotoxy, cputdirect
         .importzp       tmp1
 
 _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:
@@ -24,7 +23,3 @@ L1:     lda     #$20            ; Blank - screen code
         dec     tmp1
         bne     L1
 L9:     rts
-
-
-
-
index fe7e7255d7ce2c272a5be2f513fa2a563990fa66..73782f344ec283fe3401bebc1b2ac2c818251ccf 100644 (file)
@@ -6,13 +6,12 @@
 ;
 
         .export         _chlinexy, _chline
-        .import         popa, _gotoxy, cputdirect
+        .import         gotoxy, cputdirect
         .importzp       tmp1, chlinechar
 
 _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:
@@ -24,7 +23,3 @@ L1:     lda     #chlinechar     ; Horizontal line, screen code
         dec     tmp1
         bne     L1
 L9:     rts
-
-
-
-
index 2cf231e982d714b38b3c5c3feba9040783151239..b6d2d86e6b863a9d72d4f51044edb6cef496919b 100644 (file)
@@ -6,13 +6,12 @@
 ;
 
         .export         _cvlinexy, _cvline
-        .import         popa, _gotoxy, putchar, newline
+        .import         gotoxy, putchar, newline
         .importzp       tmp1, cvlinechar
 
 _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:
@@ -25,6 +24,3 @@ L1:     lda     #cvlinechar     ; Vertical bar
         dec     tmp1
         bne     L1
 L9:     rts
-
-
-
index 64c6bd21d1639d9f26e07d940273ab77fce1180a..afc9c4d45eceaff2053ff9bea843f3d16a696e39 100644 (file)
@@ -4,10 +4,13 @@
 ; void gotoxy (unsigned char x, unsigned char y);
 ;
 
-        .export         _gotoxy
+        .export         gotoxy, _gotoxy
         .import         popa, plot
         .importzp       CURS_X, CURS_Y
 
+gotoxy:
+        jsr     popa            ; Get Y
+
 _gotoxy:
         sta     CURS_Y          ; Set Y
         jsr     popa            ; Get X
index bd8c364e880d092b03e06b8ca4cf141277c1f47d..73d45b422c7d9ee3d1d95eeaf03538f4790154f7 100644 (file)
@@ -8,7 +8,7 @@
         .export         _cputcxy, _cputc, cputdirect, putchar
         .export         newline, plot
 
-        .import         popa, _gotoxy
+        .import         gotoxy
         .import         __VIDRAM_START__
         .import         CURS_X: zp, CURS_Y: zp, CHARCOLOR: zp, RVS: zp
         .import         SCREEN_PTR: zp, CRAM_PTR: zp
@@ -22,8 +22,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
index 831ead6d63df864df7670ca10cd04c47b0e8e433..5888580ac813ee1028eecd84d05f3852b58836e0 100644 (file)
@@ -9,8 +9,7 @@
         .export         newline, plot
         .destructor     setsyscursor
 
-        .import         _gotoxy
-        .import         popa
+        .import         gotoxy
         .import         PLOT
 
         .import         ktmp: zp, crtc: zp, CURS_X: zp, CURS_Y: zp, RVS: zp
@@ -21,8 +20,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
index 13cf847890f12b8917db372c3dc8e7b16ec7c63c..c9ca5df7645b7f3f48a2713c89d6cef7590577e2 100644 (file)
@@ -6,14 +6,13 @@
 ;
 
         .export         _cputsxy, _cputs
-        .import         popa, _gotoxy, _cputc
+        .import         gotoxy, _cputc
         .importzp       ptr1, tmp1
                  
 _cputsxy:
         sta     ptr1            ; Save s for later
         stx     ptr1+1
-        jsr     popa            ; Get Y
-        jsr     _gotoxy         ; Set cursor, pop x
+        jsr     gotoxy          ; Set cursor, pop x and y
         jmp     L0              ; Same as cputs...
 
 _cputs: sta     ptr1            ; Save s
index 2d96c9d2f704cad948cacaeaa9a9438e19b02a7c..4d4ebe2dc2432317dc46db9220a82e96356876c2 100644 (file)
@@ -6,15 +6,14 @@
 ;
 
         .export         _chlinexy, _chline
-        .import         popa, _gotoxy, cputdirect
+        .import         gotoxy, cputdirect
         .importzp       tmp1
 
         .include        "gamate.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
 
 _chline:
index c7b11c8c9e8fe1c49cb6290c6d3baefbadfb263f..84742cb9d7b39341445548efa372ad8d2a83f4dd 100644 (file)
@@ -5,7 +5,7 @@
 
         .export         _cputcxy, _cputc, cputdirect, putchar
         .export         newline, plot
-        .import         popa, _gotoxy
+        .import         gotoxy
         .import         PLOT
         .import         xsize
         .import         fontdata
@@ -19,8 +19,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
index b22890815f60749975dd1c85e53009b2960ff0c4..89f49219a8289f3b0cb429a6cdf4ca28fcdb0c88 100644 (file)
@@ -6,15 +6,14 @@
 ;
 
         .export         _cvlinexy, _cvline
-        .import         popa, _gotoxy, putchar, newline
+        .import         gotoxy, putchar, newline
         .importzp       tmp1
 
         .include        "gamate.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:
index 407da1f2f5e272b6006b10f04a13cf65c6bd6c22..4a4871444d934a5fd815f1fc47c32861ad40b962 100644 (file)
@@ -2,12 +2,15 @@
 ; void gotoxy (unsigned char x, unsigned char y);
 ;
 
-        .export         _gotoxy
+        .export         gotoxy, _gotoxy
         .import         popa, plot
 
         .include        "gamate.inc"
         .include        "extzp.inc"
 
+gotoxy:
+        jsr     popa            ; Get X
+
 _gotoxy:
         sta     CURS_Y          ; Set Y
         jsr     popa            ; Get X
index 9857f70e81277b15a5b25c94b9179b968a12fba0..903b9fe9278d26c8afa4128d1fca2d6daa123e94 100644 (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:
index 328d01a0195e6a30a45605b07efcc7a380e6f37c..1cf7a41f00d1d8088d31a067f4a6aa41d408d009 100644 (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:
index 55674d58388ae34e0e1aea3a70486bff7a998569..014c2ed0bf9a182baa4db6db96a37ebf800ca372 100644 (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
index ade7f34c98f038f012b6782fd3689a7838476996..c12b8764b6e5a1a64dfcf0192040c4d4cf559949 100644 (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:    
index 48b413d5fb80abf4eaae23aa98e44feac7cc3e4a..0519a7d59f78d1fc3c87432df4bbe796e2b6da3b 100644 (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
index 233c112c6cf7df619e1ab38950f32ad451e41cb0..7a24138264e596914588e981a17289aa379ec059 100644 (file)
@@ -6,13 +6,12 @@
 ;
 
         .export         _cclearxy, _cclear
-        .import         popa, _gotoxy, cputdirect
+        .import         gotoxy, cputdirect
         .importzp       tmp1
 
 _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:
index 5f6e67c8f3a07a223e2d276080106cc110ee383b..d68a77df90f90362c36579f45297258e36251d03 100644 (file)
@@ -6,15 +6,14 @@
 ;
 
         .export         _chlinexy, _chline
-        .import         popa, _gotoxy, cputdirect
+        .import         gotoxy, cputdirect
         .importzp       tmp1
 
         .include        "nes.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
 
 _chline:
index 5bcdc79941cd2da991ae8ebc8f7d354bbf3dafd8..209d22db2a4eceb3ed2acdf3aa0db5d08177037b 100644 (file)
@@ -9,7 +9,7 @@
         .export         _cputcxy, _cputc, cputdirect, putchar
         .export         newline
         .constructor    initconio
-        .import         popa, _gotoxy
+        .import         gotoxy
         .import         ppuinit, paletteinit, ppubuf_put
         .import         setcursor
 
@@ -23,8 +23,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
index 3ab93f34ab9d7c9d2c931bd38c84e878bdd806d9..d564a25cbbca0052422d5054645b5506ff8631f5 100644 (file)
@@ -6,15 +6,14 @@
 ;
 
         .export         _cvlinexy, _cvline
-        .import         popa, _gotoxy, putchar, newline
+        .import         gotoxy, putchar, newline
         .importzp       tmp1
 
         .include        "nes.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:
index a670962fc2aad9860f296acec8bff029d1abc06f..3460aad1966e85d7d5aa0c197b3e58a30879920d 100644 (file)
@@ -4,21 +4,19 @@
 ; void gotoxy (unsigned char x, unsigned char y);
 ;
 
-        .export         _gotoxy
+        .export         gotoxy, _gotoxy
         .import         setcursor
         .import         popa
 
         .include        "nes.inc"
 
-.proc   _gotoxy
+gotoxy:
+        jsr     popa            ; Get Y
 
+_gotoxy:
         sta     CURS_Y          ; Set Y
         jsr     popa            ; Get X
         sta     CURS_X          ; Set X
         tay
         ldx     CURS_Y
         jmp     setcursor       ; Set the cursor position
-
-.endproc
-
-
index 2036c38e091ee90437144a0039c80e5d8434c96b..f7e9b2984ad3aa76cea4a18789b27a768cf95d13 100644 (file)
@@ -9,13 +9,12 @@
 ;
 
         .export         _cclearxy, _cclear
-        .import         popa, _gotoxy, cputdirect
+        .import         gotoxy, cputdirect
         .importzp       tmp1
 
 _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:
index be40d40af6bdfdbd7ec6e3333b2faf12445e17f5..ae2df50149867b757837b0a778b7fa82e63c2964 100644 (file)
@@ -9,13 +9,12 @@
 ;
 
         .export         _chlinexy, _chline
-        .import         popa, _gotoxy, cputdirect
+        .import         gotoxy, cputdirect
         .importzp       tmp1
 
 _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:
index 84e5a45bf10692b42292ef53b38bba0a19184363..7a393bdc8250d18ab2c1b3d0df0b127f2308d5a8 100644 (file)
@@ -8,13 +8,12 @@
 ;
 
         .export         _cvlinexy, _cvline
-        .import         popa, _gotoxy, putchar, newline
+        .import         gotoxy, putchar, newline
         .importzp       tmp1
 
 _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:
index f76537349d16266ba9565b4120b2abcbd5975b85..b9666a722b05cac93e44a39d97d2b99b2d00a122 100644 (file)
@@ -6,10 +6,13 @@
 ;
 ; void gotoxy (unsigned char x, unsigned char y);
 ;
-        .export         _gotoxy
+        .export         gotoxy, _gotoxy
         .import         popa, plot
         .include        "extzp.inc"
 
+gotoxy:
+        jsr     popa            ; Get Y
+
 _gotoxy:
         sta     CURS_Y          ; Set Y
         jsr     popa            ; Get X
index 66c5e9fb026e064312acc3b414342eb8b054f009..fc832478199a2fd821dd42562c65a7f0ba647fb4 100644 (file)
@@ -73,8 +73,7 @@ ScrollLength    = (ScrHeight - 1) * ScrollDist
 \r
 _cputcxy:\r
         pha                     ; Save C\r
-        jsr     popa            ; Get Y\r
-        jsr     _gotoxy         ; Set cursor, drop x\r
+        jsr     gotoxy          ; Set cursor, drop x and y\r
         pla                     ; Restore C\r
 \r
 ; Plot a character - also used as internal function\r
@@ -157,7 +156,7 @@ putchar:
 .macro osi_screen_funcs ScrBase, ScrRamSize, ScrFirstChar, \\r
                         ScrWidth, ScrHeight, ScrollDist\r
 \r
-        .import         popa, _gotoxy\r
+        .import         gotoxy\r
         .import         _memmove, _memset, pushax\r
         .importzp       ptr1\r
 \r
index 8bf8f1626b1458b1a6299064f4de040be31599ca..3c6589375da76b37f3a870fd7437dc138f2cb13a 100644 (file)
@@ -6,15 +6,14 @@
 ;
 
         .export         _chlinexy, _chline
-        .import         popa, _gotoxy, cputdirect
+        .import         gotoxy, cputdirect
         .importzp       tmp1
 
         .include        "pce.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
 
 _chline:
index 8d1cec8eb501a592e3c159dddf058102fcff2ece..cfe6a1a279be6cc1b458d59964e7102d5278ad40 100644 (file)
@@ -5,7 +5,7 @@
 
         .export         _cputcxy, _cputc, cputdirect, putchar
         .export         newline, plot
-        .import         popa, _gotoxy
+        .import         gotoxy
         .import         PLOT
         .import         xsize
 
@@ -16,8 +16,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
index abd74a5c75e32fcbcf8b18d9e1a273b2000da224..279c691a9666a12cf8deeb188afd5ac2506b9631 100644 (file)
@@ -6,15 +6,14 @@
 ;
 
         .export         _cvlinexy, _cvline
-        .import         popa, _gotoxy, putchar, newline
+        .import         gotoxy, putchar, newline
         .importzp       tmp1
 
         .include        "pce.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:
index fb61646d1bf084033fd8dc053690c6de1c74e3cb..dae9e6e438958f3908feffe1f9b23f3f9cfd2162 100644 (file)
@@ -2,12 +2,15 @@
 ; void gotoxy (unsigned char x, unsigned char y);
 ;
 
-        .export         _gotoxy
+        .export         gotoxy, _gotoxy
         .import         popa, plot
 
         .include        "pce.inc"
         .include        "extzp.inc"
 
+gotoxy:
+        jsr     popa            ; Get Y
+
 _gotoxy:
         sta     CURS_Y          ; Set Y
         jsr     popa            ; Get X
index f38d2759ae614df6190932098a553d62ca258ddb..9b2c22323d2120aa05e183f47ab37844a578005d 100644 (file)
@@ -7,14 +7,13 @@
 
         .export         _cputcxy, _cputc, cputdirect, putchar
         .export         newline, plot
-        .import         popa, _gotoxy
+        .import         gotoxy
 
         .include        "pet.inc"
 
 _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
index a83a9c60beaad68aa2f8ae9c8b0ba3a5be0f578e..49b3a84dd7bab4a5840d67ce4ff24bc5f8a40d41 100644 (file)
@@ -7,7 +7,7 @@
 
         .export         _cputcxy, _cputc, cputdirect, putchar
         .export         newline, plot
-        .import         popa, _gotoxy
+        .import         gotoxy
         .import         PLOT
 
         .include        "plus4.inc"
@@ -15,8 +15,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
index 7a1014c1c29dcf2428a1b3d5051d8defa4faee12..43aacdae34e6ba8cd48bd768e09f7335fca9727d 100644 (file)
@@ -7,7 +7,7 @@
 
         .export         _cputcxy, _cputc, cputdirect, putchar
         .export         newline, plot
-        .import         popa, _gotoxy
+        .import         gotoxy
         .import         PLOT
 
         .include        "vic20.inc"
@@ -15,8 +15,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