]> git.sur5r.net Git - cc65/commitdiff
Merge remote-tracking branch 'upstream/master'
authorMarco van den Heuvel <blackystardust68@yahoo.com>
Fri, 16 Mar 2018 19:33:01 +0000 (12:33 -0700)
committerMarco van den Heuvel <blackystardust68@yahoo.com>
Fri, 16 Mar 2018 19:33:01 +0000 (12:33 -0700)
README.md
libsrc/pce/cclear.s [new file with mode: 0644]
libsrc/pce/color.s
libsrc/pce/wherex.s [new file with mode: 0644]
libsrc/pce/wherey.s [new file with mode: 0644]
libsrc/runtime/ldec.s
src/da65/opc65c02.c

index fa8c4df606186118b29f13ba2e0658a08e6e63f4..6704eec9b9d9cff5f6a8e39291a0dfbab26b753e 100644 (file)
--- a/README.md
+++ b/README.md
@@ -23,6 +23,7 @@ including
   - newer PET machines (not 2001).
 - the Apple ]\[+ and successors.
 - the Atari 8 bit machines.
+- the Atari 2600 console.
 - the Atari 5200 console.
 - GEOS for the C64, C128 and Apple //e.
 - the Bit Corporation Gamate console.
diff --git a/libsrc/pce/cclear.s b/libsrc/pce/cclear.s
new file mode 100644 (file)
index 0000000..14b9d0e
--- /dev/null
@@ -0,0 +1,25 @@
+;
+; Ullrich von Bassewitz, 08.08.1998
+;
+; void cclearxy (unsigned char x, unsigned char y, unsigned char length);
+; void cclear (unsigned char length);
+;
+
+        .export         _cclearxy, _cclear
+        .import         gotoxy, cputdirect
+        .importzp       tmp1
+
+_cclearxy:
+        pha                     ; Save the length
+        jsr     gotoxy          ; Call this one, will pop params
+        pla                     ; Restore the length and run into _cclear
+
+_cclear:
+        cmp     #0              ; Is the length zero?
+        beq     L9              ; Jump if done
+        sta     tmp1                                 
+L1:     lda     #$20            ; Blank - screen code
+        jsr     cputdirect      ; Direct output
+        dec     tmp1
+        bne     L1
+L9:     rts
index 0ff991a2e38519d240ac95d179070a0a1a45fb40..1223d2936e8f45308fe5f2380755f325badae8a3 100644 (file)
@@ -5,11 +5,14 @@
 ;
 
 
-        .export     _textcolor, _bgcolor, _bordercolor
+        .export         _textcolor, _bgcolor, _bordercolor
+        .import         return0
 
         .include        "pce.inc"
         .include        "extzp.inc"
 
+_bordercolor    = return0
+
 _textcolor:
         ldx     CHARCOLOR       ; get old value
         sta     CHARCOLOR       ; set new value
@@ -32,11 +35,6 @@ _bgcolor:
         txa
         rts
 
-_bordercolor:
-        lda     #0
-        tax
-        rts
-
         .rodata
         .export colors
 
diff --git a/libsrc/pce/wherex.s b/libsrc/pce/wherex.s
new file mode 100644 (file)
index 0000000..3abe49c
--- /dev/null
@@ -0,0 +1,24 @@
+;
+; Ullrich von Bassewitz, 2003-05-02
+;
+; unsigned char wherex (void);
+;
+
+        .export         _wherex
+
+        .include        "pce.inc"
+        .include        "extzp.inc"
+
+.proc   _wherex
+
+        lda     CURS_X
+        ldx     #$00
+        rts
+
+.endproc
+
+;-------------------------------------------------------------------------------
+; force the init constructor to be imported
+
+        .import initconio
+conio_init      = initconio
diff --git a/libsrc/pce/wherey.s b/libsrc/pce/wherey.s
new file mode 100644 (file)
index 0000000..7061790
--- /dev/null
@@ -0,0 +1,24 @@
+;
+; Ullrich von Bassewitz, 2003-05-02
+;
+; unsigned char wherey (void);
+;
+
+        .export         _wherey
+
+        .include        "pce.inc"
+        .include        "extzp.inc"
+
+.proc   _wherey
+
+        lda     CURS_Y
+        ldx     #$00
+        rts
+
+.endproc
+
+;-------------------------------------------------------------------------------
+; force the init constructor to be imported
+
+        .import initconio
+conio_init      = initconio
index 53b60095daa4f37fd4bddccd5fd1ee48a6de9c80..f8e59d5c09356affaf08edadfc9bf9b55722f08f 100644 (file)
@@ -1,5 +1,6 @@
 ;
-; Ullrich von Bassewitz, 29.12.1999
+; Piotr Fusik, 09.03.2018
+; originally by Ullrich von Bassewitz
 ;
 ; CC65 runtime: Decrement eax by value in Y
 ;
@@ -11,16 +12,25 @@ deceaxy:
         sty     tmp1
         sec
         sbc     tmp1
-        sta     tmp1
-        txa
-        sbc     #0
-        tax
-        lda     sreg
-        sbc     #0
-        sta     sreg
-        lda     sreg+1
-        sbc     #0
-        sta     sreg+1
-        lda     tmp1
-        rts
+        bcs     @L9
+
+; Borrow from X.
+
+        dex
+        cpx     #$FF
+        bne     @L9
+
+; X wrapped from zero to $FF, borrow from sreg.
+
+        dec     sreg
+        cpx     sreg
+        bne     @L9
+
+; sreg wrapped from zero to $FF, borrow from sreg+1.
+
+        dec     sreg+1
+
+; Done.
+
+@L9:    rts
 
index 1351f5eeee2d7ad92a716d2288debd5913d7147a..8133bccae1ab0f60c261cf33ba23f783eff9472d 100644 (file)
@@ -157,7 +157,7 @@ const OpcDesc OpcTable_65C02[256] = {
     {   "",     1,  flIllegal,                OH_Illegal,              }, /* $6b */
     {   "jmp",  3,  flLabel,                  OH_JmpAbsoluteIndirect   }, /* $6c */
     {   "adc",  3,  flUseLabel|flAbsOverride, OH_Absolute              }, /* $6d */
-    {   "ror",  3,  flUseLabel,               OH_Absolute              }, /* $6e */
+    {   "ror",  3,  flUseLabel|flAbsOverride, OH_Absolute              }, /* $6e */
     {   "bbr6", 3,  flUseLabel,               OH_BitBranch             }, /* $6f */
     {   "bvs",  2,  flLabel,                  OH_Relative              }, /* $70 */
     {   "adc",  2,  flUseLabel,               OH_DirectIndirectY       }, /* $71 */