00000000: 00 20 54 4F 20 43 4F 44 45 0D 20 5B 4D 41 4B 45 |. TO CODE. [MAKE|
00000010: 20 22 43 4F 4C 4F 52 53 20 24 20 22 30 38 30 30 | "COLORS $ "0800|
00000020: 5D 0D 20 5B 4D 41 4B 45 20 22 50 54 52 45 4E 44 |]. [MAKE "PTREND|
00000030: 20 3A 43 4F 4C 4F 52 53 2B 31 30 30 30 5D 0D 20 | :COLORS+1000]. |
00000040: 5B 4D 41 4B 45 20 22 4F 43 4F 4C 4F 52 20 3A 4E |[MAKE "OCOLOR :N|
00000050: 41 52 47 32 5D 0D 20 5B 4D 41 4B 45 20 22 4E 43 |ARG2]. [MAKE "NC|
00000060: 4F 4C 4F 52 20 3A 4E 41 52 47 32 2B 31 5D 0D 20 |OLOR :NARG2+1]. |
00000070: 5B 4D 41 4B 45 20 22 4F 43 4F 4C 4F 52 2E 48 20 |[MAKE "OCOLOR.H |
00000080: 3A 4E 41 52 47 32 2B 32 5D 0D 20 5B 4D 41 4B 45 |:NARG2+2]. [MAKE|
00000090: 20 22 4E 43 4F 4C 4F 52 2E 48 20 3A 4E 41 52 47 | "NCOLOR.H :NARG|
000000A0: 32 2B 33 5D 0D 20 5B 4D 41 4B 45 20 22 50 54 52 |2+3]. [MAKE "PTR|
000000B0: 20 3A 46 52 45 45 50 5A 5D 0D 20 43 43 48 41 4E | :FREEPZ]. CCHAN|
000000C0: 47 45 3A 20 4C 44 41 20 23 20 5B 4C 4F 38 20 3A |GE: LDA # [LO8 :|
000000D0: 43 4F 4C 4F 52 53 5D 0D 20 53 54 41 20 21 20 50 |COLORS]. STA ! P|
000000E0: 54 52 0D 20 4C 44 41 20 23 20 5B 48 49 38 20 3A |TR. LDA # [HI8 :|
000000F0: 43 4F 4C 4F 52 53 5D 0D 20 53 54 41 20 21 20 5B |COLORS]. STA ! [|
00000100: 3A 50 54 52 2B 31 5D 0D 20 4C 44 41 20 21 20 4F |:PTR+1]. LDA ! O|
00000110: 43 4F 4C 4F 52 0D 20 41 53 4C 20 41 0D 20 41 53 |COLOR. ASL A. AS|
00000120: 4C 20 41 0D 20 41 53 4C 20 41 0D 20 41 53 4C 20 |L A. ASL A. ASL |
00000130: 41 0D 20 53 54 41 20 21 20 4F 43 4F 4C 4F 52 2E |A. STA ! OCOLOR.|
00000140: 48 0D 20 4C 44 41 20 21 20 4E 43 4F 4C 4F 52 0D |H. LDA ! NCOLOR.|
00000150: 20 41 53 4C 20 41 0D 20 41 53 4C 20 41 0D 20 41 | ASL A. ASL A. A|
00000160: 53 4C 20 41 0D 20 41 53 4C 20 41 0D 20 53 54 41 |SL A. ASL A. STA|
00000170: 20 21 20 4E 43 4F 4C 4F 52 2E 48 0D 20 4C 4F 4F | ! NCOLOR.H. LOO|
00000180: 50 3A 20 4C 44 59 20 23 20 30 0D 20 4C 44 41 20 |P: LDY # 0. LDA |
00000190: 28 20 50 54 52 20 29 20 2C 59 0D 20 41 4E 44 20 |( PTR ) ,Y. AND |
000001A0: 23 20 5B 24 20 22 30 46 5D 0D 20 43 4D 50 20 21 |# [$ "0F]. CMP !|
000001B0: 20 4F 43 4F 4C 4F 52 0D 20 42 4E 45 20 43 48 4B | OCOLOR. BNE CHK|
000001C0: 48 49 0D 20 4A 53 52 20 44 4F 4C 4F 57 0D 20 43 |HI. JSR DOLOW. C|
000001D0: 48 4B 48 49 3A 20 4C 44 41 20 28 20 50 54 52 20 |HKHI: LDA ( PTR |
000001E0: 29 20 2C 59 0D 20 41 4E 44 20 23 20 5B 24 20 22 |) ,Y. AND # [$ "|
000001F0: 46 30 5D 0D 20 43 4D 50 20 21 20 4F 43 4F 4C 4F |F0]. CMP ! OCOLO|
00000200: 52 2E 48 0D 20 42 4E 45 20 4E 58 4C 4F 4F 50 0D |R.H. BNE NXLOOP.|
00000210: 20 4A 53 52 20 44 4F 48 49 0D 20 4E 58 4C 4F 4F | JSR DOHI. NXLOO|
00000220: 50 3A 20 49 4E 43 20 21 20 50 54 52 0D 20 42 4E |P: INC ! PTR. BN|
00000230: 45 20 4E 58 4C 31 0D 20 49 4E 43 20 5B 3A 50 54 |E NXL1. INC [:PT|
00000240: 52 2B 31 5D 0D 20 4E 58 4C 31 3A 20 4C 44 41 20 |R+1]. NXL1: LDA |
00000250: 5B 3A 50 54 52 2B 31 5D 0D 20 43 4D 50 20 23 20 |[:PTR+1]. CMP # |
00000260: 5B 48 49 38 20 3A 50 54 52 45 4E 44 5D 0D 20 42 |[HI8 :PTREND]. B|
00000270: 4E 45 20 4C 4F 4F 50 0D 20 4C 44 41 20 50 54 52 |NE LOOP. LDA PTR|
00000280: 0D 20 43 4D 50 20 23 20 5B 4C 4F 38 20 3A 50 54 |. CMP # [LO8 :PT|
00000290: 52 45 4E 44 5D 0D 20 42 4E 45 20 4C 4F 4F 50 0D |REND]. BNE LOOP.|
000002A0: 20 52 54 53 0D 20 44 4F 48 49 3A 20 4C 44 41 20 | RTS. DOHI: LDA |
000002B0: 28 20 50 54 52 20 29 20 2C 59 0D 20 41 4E 44 20 |( PTR ) ,Y. AND |
000002C0: 23 20 5B 24 20 22 30 46 5D 0D 20 4F 52 41 20 21 |# [$ "0F]. ORA !|
000002D0: 20 4E 43 4F 4C 4F 52 2E 48 0D 20 53 54 41 20 28 | NCOLOR.H. STA (|
000002E0: 20 50 54 52 20 29 20 2C 59 0D 20 52 54 53 0D 20 | PTR ) ,Y. RTS. |
000002F0: 44 4F 4C 4F 57 3A 20 4C 44 41 20 43 4F 4C 4D 4F |DOLOW: LDA COLMO|
00000300: 44 0D 20 42 45 51 20 44 52 54 53 0D 20 4C 44 41 |D. BEQ DRTS. LDA|
00000310: 20 28 20 50 54 52 20 29 20 2C 59 0D 20 41 4E 44 | ( PTR ) ,Y. AND|
00000320: 20 23 20 5B 24 20 22 46 30 5D 0D 20 4F 52 41 20 | # [$ "F0]. ORA |
00000330: 21 20 4E 43 4F 4C 4F 52 0D 20 53 54 41 20 28 20 |! NCOLOR. STA ( |
00000340: 50 54 52 20 29 20 2C 59 0D 20 44 52 54 53 3A 20 |PTR ) ,Y. DRTS: |
00000350: 52 54 53 0D 45 4E 44 0D 0D |RTS.END.. |
. TO CODE. [MAKE "COLORS $ "0800]. [MAKE
"PTREND :COLORS+1000]. [MAKE "OCOLOR :N
ARG2]. [MAKE "NCOLOR :NARG2+1]. [MAKE "O
COLOR.H :NARG2+2]. [MAKE "NCOLOR.H :NARG
2+3]. [MAKE "PTR :FREEPZ]. CCHANGE: LDA
# [LO8 :COLORS]. STA ! PTR. LDA # [HI8 :
COLORS]. STA ! [:PTR+1]. LDA ! OCOLOR. A
SL A. ASL A. ASL A. ASL A. STA ! OCOLOR.
H. LDA ! NCOLOR. ASL A. ASL A. ASL A. AS
L A. STA ! NCOLOR.H. LOOP: LDY # 0. LDA
( PTR ) ,Y. AND # [$ "0F]. CMP ! OCOLOR.
BNE CHKHI. JSR DOLOW. CHKHI: LDA ( PTR
) ,Y. AND # [$ "F0]. CMP ! OCOLOR.H. BNE
NXLOOP. JSR DOHI. NXLOOP: INC ! PTR. BN
E NXL1. INC [:PTR+1]. NXL1: LDA [:PTR+1]
. CMP # [HI8 :PTREND]. BNE LOOP. LDA PTR
. CMP # [LO8 :PTREND]. BNE LOOP. RTS. DO
HI: LDA ( PTR ) ,Y. AND # [$ "0F]. ORA !
NCOLOR.H. STA ( PTR ) ,Y. RTS. DOLOW: L
DA COLMOD. BEQ DRTS. LDA ( PTR ) ,Y. AND
# [$ "F0]. ORA ! NCOLOR. STA ( PTR ) ,Y
. DRTS: RTS.END..
×
C64 Image
> CLICK IMAGE PREVIEW FOR FULL MODAL