home *** CD-ROM | disk | FTP | other *** search
/ CBM Funet Archive / cbm-funet-archive-2003.iso / cbm / geos / programming / source / geos128Sym.cvt (.txt) < prev    next >
Encoding:
GEOS ConVerT  |  1998-01-13  |  4.7 KB  |  124 lines

  1. GEOS128sYM
  2. prg FORMATTED geos FILE v1.0
  3. wRITE iMAGE v2.1
  4. GEOwRITE    v1.1
  5. (nEW EQUATES, VARIABLES AND CONSTANTS - SEE tRANSACTOR 9:4
  6. WITH vdc COLOUR VALUES
  7. ; nEW eQUATES, vARIABLES AND cONSTANTS (gEOS128sYM)
  8. aCCESScACHE= $C2EF
  9. cOLORcARD= $C2F8
  10. cOLORrECTANGLE= $C2FB
  11. dOboP= $C2EC
  12. hIDEoNLYmOUSE= $C2F2
  13. jMPiNDx= $9D80
  14. mOVEbdATA= $C2E3
  15. nORMALIZEx= $C2E0
  16. sETcOLORmODE= $C2F5
  17. sETmSEpIC= $C2DA
  18. sETnEWmODE= $C2DD
  19. sWAPbdATA= $C2E6
  20. tEMPhIDEmOUSE= $C2D7
  21. vERIFYbdATA= $C2E9
  22. GRAPHmODE= $003F;BIT 7 SET = 80 COLUMN MODE
  23. SCR80pOLAR= $88BC;COPY OF vdc REG 24
  24. SCR80cOLORS= $88BD;COPY OF vdc REG 26
  25. KEYREG= $D02F
  26. CLKREG= $D030
  27. MMU= $D500
  28. vdc= $D600
  29. mousebase= $FD00
  30. endmouse= $FE80
  31. CONFIG= $FF00
  32. C128FLAG= $C013;BIT 7 SET IF ON 128
  33. add1_w= $2000
  34. add1_b= $20
  35. arrow= 0;PASS THIS TO sETmSEpIC
  36. cioin= $7E
  37. ckrnlbasioin= $40
  38. ckrnlioin= $4E
  39. cram64k= $7F
  40. double_w= $8000
  41. double_b= $80
  42. gr_40= 0;USE THESE TWO TO TEST
  43. gr_80= $80;GRAPHmODE
  44. incompatible= 14;NEW DISK ERROR
  45. input128= 15;NEW INPUT DEVICE
  46. keyhelp= 25
  47. keyalt= 26
  48. keyesc= 27
  49. keynoscrl = 7
  50. keyenter= 11
  51. off128flags= 96;OFFSET INTO HEADER BLOCK
  52. screenbytewidth= 80
  53. screenpixelwidth= 640
  54. ;vdc cOLOURS
  55. VDCbLACK = 0
  56. VDCdKgRAY = 1;LIGHT BLACK
  57. VDCdKbLUE = 2
  58. VDClTbLUE = 3
  59. VDCdKgREEN = 4
  60. VDClTgREEN = 5
  61. VDCdKcYAN = 6
  62. VDClTcYAN = 7
  63. VDCdKrED = 8
  64. VDClTrED = 9
  65. VDCdKpURPLE = 10
  66. VDClTpURPLE = 11
  67. VDCdKyELLOW = 12
  68. VDClTyELLOW = 13
  69. VDClTgRAY = 14;DARK WHITE
  70. VDCwHITE = 15
  71. ; SOME SAMPLE CODE FOLLOWED BY SOME INFO FROM rOB n.  tHANX rOB  : )
  72. .IF pASS1
  73. .INCLUDE GEOSsYM
  74. .INCLUDE GEOS128sYM
  75. .ENDIF
  76. .PSECT
  77. bEGINhERE:  lOADb DISPbUFFERoN,# (st_wr_fore {$7c} st_wr_back)
  78. JSR nEWdISK
  79. JSR mOUSEuP
  80. LDA #2
  81. JSR sETpATTERN
  82. JSR I_rECTANGLE; CLEAR STANDARD SCREEN
  83. .BYTE 0,199
  84. .WORD 0,639
  85. LDA #1
  86. JSR sETcOLORmODE; SET TO 640X176 MODE (16K vdc RAM)
  87. JSR cLRsCREEN
  88. lOADw R0,iCONtABLE
  89. JSR dOiCONS ;SET UP iCONS
  90. lOADw R0,mENUtABLE
  91. LDA #1 ;menu pos/mouse
  92. JSR dOmENU
  93. dOeXIT:  JSR dOpREVIOUSmENU
  94. dOqUIT:  JMP eNTERdESKtOP
  95. cLRsCREEN:  lOADbR2l,0; CLEAR vdc SCREEN MEMORY
  96. lOADb R2h,175; BOTTOM IS 175 FOR 16K vdc, 199 FOR 64K vdc
  97. lOADw R3,0
  98. lOADw R4,639
  99. LDA #VDClTgRAY
  100. JSR cOLORrECTANGLE
  101. iCONtABLE:  .BYTE 1,0,0,0,0,0,0,0,0,0,0,0 ; ONE DUMMY iCON
  102. eNDCODE:
  103. subj: 80 COLUMN COLOUR                 from: rOBERTn4    01/01/91   s#: 824650  
  104. 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:
  105.    a = 0 NO COLOR, 16k BITMAP (THIS IS CALLED DURING BOOTING AND REBOOTING).
  106.    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.
  107.    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.
  108.    a = 3, COLOR, 8X4 CELLS SIZE, 64k vdc.
  109.    a = 4, COLOR, 8X2 CELL SIZE, 64k vdc.
  110.   tHEN TO DRAW, YOU HAVE TWO ROUTINES.  tHE FIRST IS cOLORrECTANGLE ($C2FB).  yOU PASS THE FOLLOWING:
  111.      R2L ($06) = STARTING y
  112.      R2h ($07) = ENDING y
  113.      R3  ($08/9) = STARTING x WORD
  114.      R4  ($0A/B) = ENDING x WORD
  115.      a   = COLOUR
  116.   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). 
  117.   tHIS USES THE OTHER SUBROUTINE, cOLORcARD (AT $C2F8).  yOU PASS THIS THE FOLLOWING:
  118.    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)
  119.    R11l ($18) = Y LOCATION OF CARD
  120.    a  = COLOR TO SET OR COLOR REQUIRED
  121.    c (CARRY BIT).  iF SET, THE PUT COLOR INTO SCREEEN.  iF CLEAR THEN PUT CURRENT SCREEN COLOR IN a.
  122.   i HAVE JUST LOOKED AND IT DOES SEEM THAT DOUBLING BITS ARE TAKEN INTO ACCOUNT.
  123.   rOB nORTON
  124.