tHERE ARE THREE ROUTINES OF INTEREST. tHE FIRST IS sETcOLORmODE AT $C2F5. tHIS IS USED TO SETUP THE COLOR CARD SIZE (I.E. 8X8, 8X4 ETC PIXELS). yOU PASS THE OPTION IN REGISTER a. OPTIONS ARE:
a = 0 NO COLOR, 16k BITMAP (THIS IS CALLED DURING BOOTING AND REBOOTING).
a = 1 COLOR, 16k vdc, REDUCED SCREEN SIZE. tHIS CHANGES THE SCREEN TO 17 CHARACTER LINES TO SQUEEZE THE ATTRIBUTE DATA INTO THE LAST BIT OF THE 16k.
a = 2 COLOR, 8X8 CELL SIZE, 64k vdc. bACK TO A 20 CHARACTER LINE SCREEN, BUT NEEDS A 64k vdc SINCE THE ATTRIBUTE DATA IS STORED AT $4000.
a = 3, COLOR, 8X4 CELLS SIZE, 64k vdc.
a = 4, COLOR, 8X2 CELL SIZE, 64k vdc.
tHEN TO DRAW, YOU HAVE TWO ROUTINES. tHE FIRST IS cOLORrECTANGLE ($C2FB). yOU PASS THE FOLLOWING:
R2L ($06) = STARTING y
R2h ($07) = ENDING y
R3 ($08/9) = STARTING x WORD
R4 ($0A/B) = ENDING x WORD
a = COLOUR
tHIS WILL FILL A RECTANGLE WITH THE REQUIRED COLOR. tHIS ROUTINE WORKS BOTH IN 40 AND 80 COLUMNS, BUT i HAVE NOT CHECKED WHETHER OR NOT DOUBLING BITS WORK ON THE x VALUES (i ASSUME THEY DO LIKE ALL 40/80 COLUMN ROUTINES).
tHIS USES THE OTHER SUBROUTINE, cOLORcARD (AT $C2F8). yOU PASS THIS THE FOLLOWING:
R3 ($08/9) = X LOCATION OF CARD START (THE ROUTINE ADJUSTS TO THE CLOSEST 8 BIT LOCATION, SO YOU DON'T HAVE TO BE EXACTLY ON THE START OF A CARD)
R11l ($18) = Y LOCATION OF CARD
a = COLOR TO SET OR COLOR REQUIRED
c (CARRY BIT). iF SET, THE PUT COLOR INTO SCREEEN. iF CLEAR THEN PUT CURRENT SCREEN COLOR IN a.
i HAVE JUST LOOKED AND IT DOES SEEM THAT DOUBLING BITS ARE TAKEN INTO ACCOUNT.