- 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.
--- /dev/null
+;
+; 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
;
- .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
txa
rts
-_bordercolor:
- lda #0
- tax
- rts
-
.rodata
.export colors
--- /dev/null
+;
+; 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
--- /dev/null
+;
+; 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
;
-; Ullrich von Bassewitz, 29.12.1999
+; Piotr Fusik, 09.03.2018
+; originally by Ullrich von Bassewitz
;
; CC65 runtime: Decrement eax by value in Y
;
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
{ "", 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 */