From 7198329ce387ed43b2d98bc986628d7542c28bda Mon Sep 17 00:00:00 2001 From: cpg Date: Thu, 22 Jun 2000 00:42:26 +0000 Subject: [PATCH] setcolor, getcolor and setcolor_low functions git-svn-id: svn://svn.cc65.org/cc65/trunk@93 b7a2c559-68d2-44c3-8de9-860c34a00d81 --- libsrc/atari/setcolor.s | 51 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 libsrc/atari/setcolor.s diff --git a/libsrc/atari/setcolor.s b/libsrc/atari/setcolor.s new file mode 100644 index 000000000..4d8e1a4e8 --- /dev/null +++ b/libsrc/atari/setcolor.s @@ -0,0 +1,51 @@ +; +; Christian Groessler, June 2000 +; +; this file provides a setcolor() function similar to BASIC SETCOLOR +; +; void __fastcall__ setcolor (unsigned char color_reg, unsigned char hue, unsigned char luminace); +; void __fastcall__ setcolor_low (unsigned char color_reg, unsigned char color_value); +; unsigned char __fastcall__ getcolor (unsigned char color_reg); +; + + + .export _setcolor, _setcolor_low, _getcolor + .import popa + .include "atari.inc" + +.proc _getcolor + + tax + lda COLOR0,x ; get current value + ldx #0 + rts + +.endproc + +.proc _setcolor + +; asl a ; not -> BASIC compatible + sta lum ; remember luminance + jsr popa ; get hue + asl a + asl a + asl a + asl a + ora lum +; jmp _setcolor_low + +.endproc + +.proc _setcolor_low + + pha + jsr popa + tax + pla + sta COLOR0,x + rts + +.endproc + + .bss +lum: .res 1 -- 2.39.5