home *** CD-ROM | disk | FTP | other *** search
/ CBM Funet Archive / cbm-funet-archive-2003.iso / cbm / geos / programming / source / rpn128-src.sfx / rpntables (.txt) < prev    next >
Encoding:
GEOS ConVerT  |  1990-02-12  |  24.1 KB  |  691 lines

  1. rpnTABLES
  2. seq FORMATTED geos FILE v1.0
  3. sTAR nx-10
  4. op v2.0 OR HIGHER
  5. ;"rpnCONST
  6. blaster's converter v2.5
  7. GEOSsYM.rpn
  8. GEOSmAC
  9. wRITE iMAGE v2.1
  10. GEOwRITE    v1.1
  11. iNITIALIZATION, iCON DEFINITIONS, KEY HANDLER FOR rpn 64
  12. ; *****************************************************************
  13. ;rpn 128
  14. ;INITIALIZATION ROUTINE, ICON DEFINITIONS
  15. ; BY rOBERT a kNOP jR.
  16. ; BASED VERY STRONGLY ON rpn 64
  17. ;uSING sAMda CODE FROM gEOpROGRAMMER BY bERKELEY sOFTWORKS.
  18. ; ***************************************************************
  19. .NOEQIN;DURING ASSEMBLER'S FIRST PASS.
  20.  @.INCLUDEGEOSsYM
  21. ;GET geos DEFINITIONS
  22.  @.INCLUDEGEOSmAC
  23. ;GET geos MACRO DEFINITIONS
  24.  @.INCLUDErpnCONST
  25. CONFIG==$FF00
  26. ;a COUPLE OF DEFS. FOR THE 128
  27. GRAPHICSmODE ==$003F
  28. .EQIN
  29. ; tHE SOURCE CODE FOR 
  30.  @rpn 128
  31.  IS BROKEN INTO 7 FILES:
  32. ; rpn128.LNKlINKER cOMMAND fILE
  33. ; rpnhDRhEADER rECORD
  34. ; rpnTABLESiCON dEFINITION, kEY hANDLER, iNIT. rOUTINE
  35. ; rpnROUTINESrOUTINES CALLED BY iCONS ET. AL.
  36. ; rpnSUPPORTmORE ROUTINES, OF A "SUPPORTESEQUE" NATURE
  37. ; rpnRAM.RAMSECT
  38. ; rpnCONSTeQUATES INCLUDED INTO SEVERAL OF THE ABOVE
  39. ;tHIS CODE ALSO INCLUDES THE FILES GEOSsYM AND GEOSmAC, WHICH COME WITH GEOpROGRAMMER
  40. ; hOPEFULLY, THIS SOURCE WILL SERVE AS AN EXAMPLE OF HOW ONE MAY CALL basic'S FLOATING  
  41. ; POINT ROUTINES FROM geos.  aN INDISPENSABLE REFERENCE FOR THE 128 VERSION OF THE
  42. ; PROGRAM WAS oTIS cOWPER'S BOOK, BELOW.  tHANKS ALSO TO jIM cOLLETTE AND dAVE
  43. ; fERGUSON FOR RANDOM HELP WITH AND SUGGESTIONS ABOUT DEBUGGING PROBLEMS.
  44. references
  45. ; aNDREWS, mARK, 
  46. cOMMODORE 128 aSSEMBLY lANGUAGE pROGRAMMING
  47. .  sAMS, 1986.
  48. ; bERKELEY sOFTWORKS, 
  49. tHE oFFICIAL geos pROGRAMMER'S rEFERENCE gUIDE
  50. .  bANTAM, 1987.
  51. ; cbm, 
  52. cOMMODORE 64 pROGRAMMER'S rEFERENCE gUIDE
  53. .  cOMMODORE, 1982.
  54. ; cOWPER, oTIS, 
  55. mAPPING THE cOMMODORE 128
  56. .  compute! bOOKS, 1986.
  57. ; hEEB, dAN, 
  58. compute!'S vIC-20 AND c-64 tOOL kIT: basic
  59. .  compute! bOOKS, 1984.
  60. ; lEEMON, sHELDON, 
  61. mAPPING tHE cOMMODORE 64 & 64c
  62. .  compute! bOOKS, 1987.
  63. ;**********************************************************************; ; 
  64. iNITIALIZATION ROUTINE
  65. ; sAVE APPLICATION'S FOREGROUND SREEN
  66. ; dRAW rpn SCREEN
  67. ; iNITIALIZE ICONS
  68. ;**********************************************************************
  69.  @.PSECT
  70. ;bEGINNING OF PROGRAM
  71. dasTART:
  72. lOADbDISPbUFFERoN,#(st_wr_fore)       ;ALLOW WRITES TO fg ONLY
  73. lOADwKEYvECTOR,kEYPRESS   ;sET UP KEYPRESS HANDLING ROUTINE
  74. lOADwR0,(daeND-f_entry)   ;cLEAR ALL OF .RAMSECT AFTER geosZERO
  75. lOADwR1,f_entry
  76. JSRcLEARrAM
  77. lOADwLEFTmARGIN,#$00
  78. JSRI_mOVEdATA;sAVE aPPLICATIONS ZERO PAGE SPACE SO i CAN USE IT
  79. .WORD$0061;(ALSO geos SPACE UNDER THE fac'S)
  80. .WORDAPPZPAGE
  81. .WORD$009E
  82. lOADwR0,#dRAWbOX;POINT TO GRAPHICS STRING TO DRAW rpn SCREEN
  83. JSRgRAPHICSsTRING
  84. BITGRAPHICSmODE;cHECK BIT 7 OF GRAPHICSmODE; IF SET, WE ARE IN 80
  85. BMI20$; COLUMNS, SO DON'T DO COLORS
  86. lOADwR0,color_matrix+(da_top*40)
  87. LDAcolor_matrix+$27    ;pICK COLOR FROM UPPER RIGHT CARD
  88. LDX#$00
  89. 5$LDY#(da_left);fILL da WITH THIS COLOR
  90. 10$STA(R0),Y
  91. CPY#(da_left+da_width)
  92. BNE10$
  93. CPX#(da_height)
  94. BEQ20$
  95. aDDvw$28,R0
  96. BRA5$
  97. 20$lOADwR0,#iCONtABLE;POINT TO ICON DEFINITION TABLE
  98. JSRdOiCONS
  99. JSRwELCOME;pRINT OPENING MESSAGE ON SCREEN
  100.  @RTS
  101. ;jUMP TO geos MAIN LOOP
  102.  @dRAWbOX:
  103. ;GRAPHICS STRING TABLE TO CLEAR SCREEN
  104. .BYTEnewpattern,0;SET NEW PATTERN VALUE (WHITE)
  105. .BYTEmovepento;MOVE PEN TO:
  106.  @dRAWbOX:
  107. ;GRAPHICS STRING TABLE TO CLEAR SCREEN
  108. .BYTEnewpattern,0;SET NEW PATTERN VALUE (WHITE)
  109. .BYTEmovepento;MOVE PEN TO:
  110. .WORD$8000+da_left*8;TOP LEFT CORNER OF db (IN PIXELS)
  111. .BYTEda_top*8
  112. .BYTErectangleto;DRAW FILLED RECTANGLE TO BOTTOM RIGHT CORNER
  113. .WORD$8000+(da_left+da_width)*8 - 1
  114. .BYTE(da_top+da_height)*8 - 1
  115. ;BOTTOM RIGHT CORNER OF db (IN PIXELS)
  116. .BYTEnewpattern,1;SET NEW PATTERN VALUE (BLACK)
  117. .BYTEframe_recto;DRAW FRAME TO...
  118. .WORD$8000+da_left*8;TOP LEFT CORNER OF db (IN PIXELS)
  119. .BYTEda_top*8
  120. .BYTEmovepento
  121. .WORD$8000+(da_left+1)*8
  122. .BYTE(da_top+2)*8
  123. .BYTEframe_recto;dATA sCREEN
  124. .WORD$8000+(da_left+12)*8-1
  125. .BYTE(da_top+da_height-2)*8
  126. .BYTElineto
  127. .WORD$8000+(da_left+12)*8-1
  128. .BYTEda_top*8
  129. .BYTEmovepento
  130. .WORD$8000+(da_left+12)*8-1
  131. .BYTE(da_top+da_height-2)*8
  132. .BYTEframe_recto;eNTRY LINE
  133. .WORD$8000+(da_left+1)*8
  134. .BYTE(da_top+da_height)*8-1
  135. .BYTEnull;eND OF GRAPHIC STRING
  136.  @wELCOME:
  137. lOADwLEFTmARGIN,$8000+data_left*8+4
  138. lOADwR0,hItHERE
  139. lOADbR1h,data_top*8+12
  140. lOADwR11,$8000+data_left*8+4
  141. JSRpUTsTRING
  142. 10$cMPbiMOUSEdATA,%10000000    ;wAIT FOR CLICK
  143. BNE20$
  144. BRA10$
  145. 20$lOADwLEFTmARGIN,#$00
  146. JSRcLEARdATA
  147. JSRpRINTrEGS
  148.  @RTS
  149. hItHERE:.BYTE26,"rpn 128",27,13,13,"BY",13,24,"rOBERT kNOP jR.",27
  150. .BYTE13,13,"fOR USEFUL INFO.,"
  151. .BYTE13,"HIT inv-eNTER",13,13
  152. .BYTE"(cLICK TO BEGIN)",0
  153. kEYPRESS:
  154. LDAKEYdATA;FIRST, CHECK IF I
  155. kEYPRESS:
  156. LDAKEYdATA;FIRST, CHECK IF IT IS A NUMBER
  157. CMP#'0'
  158. BCC5$;iF ascii IS < '0', GO TO NORMAL HANDLER
  159. CMP#('9'+1)
  160. BCS5$;iF ascii IS > '9', GO TO NORMAL HANDLER
  161. SUB#$30
  162. JSRfLASHiCON;fLASH THIS iCON
  163. STAR0l;sTICK "ICON" NUMBER IN R0l TO SELECT ICON
  164.  @JMPnUMBER
  165. 5$STATEMP;pUT ascii OF KEYPRESS TO TEMP
  166. LDY#$00
  167. 10$LDAKEYTABLE,Y
  168. CMPTEMP;cOMPARE KEYTABLE ENTRY TO KEY PRESSED
  169. BEQ20$;iF MATCH, JUMP TO POINTED ROUTINE
  170. CMP#$00
  171. BEQ90$;iF ZERO, THERE WAS NO MATCH
  172. INY;SET Y TO POINT TO NEXT ENTRY
  173. BRA10$;eND OF lOOP
  174. 20$INY;nUMBER OF THE ICON THIS KEY CORRESPONDS TO
  175. LDAKEYTABLE,Y
  176. STYTEMP
  177. JSRfLASHiCON;fLASH THIS iCON
  178. LDYTEMP
  179. LDAKEYTABLE,Y;PUT ROUTINE VECTOR @ TEMP (LB) & TEMP2 (HB)
  180. STATEMP
  181. LDAKEYTABLE,Y
  182. STATEMP2
  183.  @JMP(TEMP)
  184. ;jUMP TO APPROPRIATE ROUTINE
  185.  @RTS
  186. LOOK4KEY:.BYTE"LOOKING FOR KEY",0
  187. ABT2FLASH:.BYTE"ABOUT TO FLASH",0
  188. ;DIDfLASH:
  189.  @fLASHiCON:
  190. STAR0l
  191. lOADbR0h,$00
  192. LDX#R0
  193. LDY#$03
  194. JSRdsHIFTlEFT;mULTIPLY BY 8
  195. aDDvw$06,R0
  196. CLC;aDD iCONtABLE TO R0
  197. LDA#<iCONtABLE
  198. ADCR0l
  199. STAR0l
  200. LDA#>iCONtABLE
  201. ADCR0h
  202. STAR0h;nOW R0 POINTS TO lEFT
  203. LDY#$00
  204. LDA(R0),Y;lEFT IN bYTES
  205. AND#%01111111;(tURN OFF HIGH BIT)
  206. STAR3l
  207. lOADbR3h,$00
  208. LDX#R3
  209. LDY#$03
  210. JSRdsHIFTlEFT;mULTIPLY BY 8 TO GET PIXELS
  211. LDY#$02
  212. LDA(R0),Y;wIDTH IN bYTES -- MULTIPLTY THIS BY 8 TOO
  213. AND#%01111111;(aFTER TURNING OFF HIGH BIT)
  214. STAR4l
  215. lOADbR4h,$00
  216. LDX#R4
  217. LDY#$03
  218. JSRdsHIFTlEFT
  219. aDDwR3,R4;aDD LEFT TO WIDTH -> RIGHT
  220. aDDvw$8000,R3;sET HIGH BIT OF LEFT AND RIGHT
  221. aDDvw$8000,R4
  222. LDY#$01
  223. LDA(R0),Y;tOP IN sCANLINES
  224. STAR2l
  225. LDY#$03
  226. LDA(R0),Y;hEIGHT IN sCANLINES
  227. ADDR2l
  228. STAR2h;bOTTOM IN SCANLINES
  229. JSRiNVERTrECTANGLE
  230. LDX#$00
  231. LDY#$00
  232. 10$INX;cOUNT TO 16*256 AS A PAUSE
  233. CPX#$00
  234. BNE10$
  235. CPY#$10
  236. BNE10$
  237. JSRiNVERTrECTANGLE
  238.  @RTS
  239. ; TABLE OF KEYS (BYTE), ICONS TO FLASH (BYTE),  AND ROUTINES WHICH SHOULD BE CALLED WHEN
  240. ; SAID KEY IS PRESSED (WORD)
  241.  @KEYTABLE:
  242. .BYTE$0D,17;rETURN
  243. .WORDeNTER
  244. .BYTE11,17;enter-- SAME AS RETURN (OR VICA VERSA)
  245. .WORDeNTER
  246. .BYTE".",10
  247. .WORDdECIMALpOINT
  248. .BYTE"E",11
  249. .WORDsCINOT
  250. .BYTEkey_delete,16
  251. .WORDdELETE
  252. .BYTE"+",12
  253. .WORDaDDnUMS
  254. .BYTE"-",13
  255. .WORDsUBnUMS
  256. .BYTE"*",14
  257. .WORDmULTnUMS
  258. .BYTE"/",15
  259. .WORDdIVnUMS
  260. .BYTE"^",19
  261. .WORDeXPO
  262. .BYTE"S",23
  263. .WORDsIN
  264. .BYTE"C",24
  265. .WORDcOS
  266. .BYTE"T",25
  267. .WORDtAN
  268. .BYTE"R",20;rECIPROCAL
  269. .WORDrECIP
  270. .BYTE"L",21
  271. .WORDlN
  272. .BYTE"M",26
  273. .WORDmEMIN
  274. .BYTE"V",18;"V" IS sQUARE rOOT FOR LACK OF ANYTHING BETTER
  275. .WORDsQRT
  276. .BYTEkey_f1,29;F1 IS iNVERSE
  277. .WORDiNVERSE
  278. .BYTEkey_f3,27;F3 IS sWAP
  279. .WORDsWAP
  280. .BYTEkey_f5,28;F5 IS dROP
  281. .WORDdROP
  282. .BYTEkey_f7,22;F7 IS +/-
  283. .WORDsIGNcHANGE
  284. .BYTE"Q",30
  285. .WORDqUITrpn
  286.  @.BYTE0
  287. ;eND OF TABLE
  288. ;ICON DEFINITION TABLE
  289. padleft= da_left+12;LEFT EDGE OF KEYPAD
  290. ;(IN CARDS)
  291. iCONtABLE:
  292. .BYTE31;NUMBER OF ICONS
  293. .WORD$8000+padleft*8;X POSITION TO PLACE MOUSE AT WHEN DONE
  294. .BYTEda_top*8;Y POSITION TO PLACE MOUSE AT WHEN DONE
  295. ; *** 
  296.  @icon 0 - 0
  297. .WORDpIC0;POINTER TO COMPACTED BITMAP FOR ICON
  298. .BYTE$80+padleft+3;X POSITION IN BYTES
  299. .BYTE(da_top+16)*8;Y POSITION IN SCANLINES
  300. .BYTE$80+icon0_width;WIDTH OF ICON IN BYTES
  301. .BYTEicon0_height;HEIGHT OF ICON IN SCANLINES
  302. .WORDnUMBER;POINTER TO HANDLER ROUTINE
  303. ; *** 
  304.  @icon 1 - 1
  305. .WORDpIC1
  306. .BYTE$80+padleft+1
  307. .BYTE(da_top+14)*8
  308. .BYTE$80+icon1_width
  309. .BYTEicon1_height
  310. .WORDnUMBER
  311. ; *** 
  312.  @icon 2 - 2
  313. .WORDpIC2
  314. .BYTE$80+padleft+3
  315. .BYTE(da_top+14)*8
  316. .BYTE$80+icon2_width
  317. .BYTEicon2_height
  318. .WORDnUMBER
  319. ; *** 
  320.  @icon 3 - 3
  321. .WORDpIC3
  322. .BYTE$80+padleft+5
  323. .BYTE(da_top+14)*8
  324. .BYTE$80+icon3_width
  325. .BYTEicon3_height
  326. .WORDnUMBER
  327. ; *** 
  328.  @icon 4 - 4
  329. .WORDpIC4
  330. .BYTE$80+padleft+1
  331. .BYTE(da_top+12)*8
  332. .BYTE$80+icon4_width
  333. .BYTEicon4_height
  334. .WORDnUMBER
  335. ; *** 
  336.  @icon 5 - 5
  337. .WORDpIC5
  338. .BYTE$80+padleft+3
  339. .BYTE(da_top+12)*8
  340. .BYTE$80+icon5_width
  341. .BYTEicon5_height
  342. .WORDnUMBER
  343. ; *** 
  344.  @icon 6 - 6
  345. .WORDpIC6
  346. .BYTE$80+padleft+5
  347. .BYTE(da_top+12)*8
  348. .BYTE$80+icon6_width
  349. .BYTEicon6_height
  350. .WORDnUMBER
  351. ; *** 
  352.  @icon 7 -7
  353. .WORDpIC7
  354. .BYTE$80+padleft+1
  355. .BYTE(da_top+10)*8
  356. .BYTE$80+icon7_
  357. ; *** 
  358.  @icon 7 -7
  359. .WORDpIC7
  360. .BYTE$80+padleft+1
  361. .BYTE(da_top+10)*8
  362. .BYTE$80+icon7_width
  363. .BYTEicon7_height
  364. .WORDnUMBER
  365. ; *** 
  366.  @icon 8 - 8
  367. .WORDpIC8
  368. .BYTE$80+padleft+3
  369. .BYTE(da_top+10)*8
  370. .BYTE$80+icon8_width
  371. .BYTEicon8_height
  372. .WORDnUMBER
  373. ; *** 
  374.  @icon 9 - 9
  375. .WORDpIC9
  376. .BYTE$80+padleft+5
  377. .BYTE(da_top+10)*8
  378. .BYTE$80+icon9_width
  379. .BYTEicon9_height
  380. .WORDnUMBER
  381. ; *** 
  382.  @icon 10 - decimal point
  383. .WORDpICpOINT
  384. .BYTE$80+padleft+5
  385. .BYTE(da_top+16)*8
  386. .BYTE$80+icon10_width
  387. .BYTEicon10_height
  388. .WORDdECIMALpOINT
  389. ; *** 
  390.  @icon 11 - scinot
  391. .WORDpICe
  392. .BYTE$80+padleft+1
  393. .BYTE(da_top+16)*8
  394. .BYTE$80+icon11_width
  395. .BYTEicon11_height
  396. .WORDsCINOT
  397. ; *** 
  398.  @icon 12 - plus
  399. .WORDpICpLUS
  400. .BYTE$80+padleft+7
  401. .BYTE(da_top+10)*8
  402. .BYTE$80+icon12_width
  403. .BYTEicon12_height
  404. .WORDaDDnUMS
  405. ; *** 
  406.  @icon 13 - minus
  407. .WORDpICmINUS
  408. .BYTE$80+padleft+7
  409. .BYTE(da_top+12)*8
  410. .BYTE$80+icon13_width
  411. .BYTEicon13_height
  412. .WORDsUBnUMS
  413. ; *** 
  414.  @icon 14 - multiply
  415. .WORDpICmULT
  416. .BYTE$80+padleft+7
  417. .BYTE(da_top+14)*8
  418. .BYTE$80+icon14_width
  419. .BYTEicon14_height
  420. .WORDmULTnUMS
  421. ; *** 
  422.  @icon 15 - divide
  423. .WORDp
  424. ; *** 
  425.  @icon 15 - divide
  426. .WORDpICdIV
  427. .BYTE$80+padleft+7
  428. .BYTE(da_top+16)*8
  429. .BYTE$80+icon15_width
  430. .BYTEicon15_height
  431. .WORDdIVnUMS
  432. ; *** 
  433.  @icon 16 - delete
  434. .WORDpICdELETE
  435. .BYTE$80+padleft+9
  436. .BYTE(da_top+10)*8
  437. .BYTE$80+icon16_width
  438. .BYTEicon16_height
  439. .WORDdELETE
  440. ; *** 
  441.  @icon 17 - enter
  442. .WORDpICeNTER
  443. .BYTE$80+padleft+9
  444. .BYTE(da_top+12)*8
  445. .BYTE$80+icon17_width
  446. .BYTEicon17_height
  447. .WORDeNTER
  448. ; *** 
  449.  @icon 18 - sqrt
  450. .WORDpICsQRT
  451. .BYTE$80+padleft+1
  452. .BYTE(da_top+7)*8
  453. .BYTE$80+icon18_width
  454. .BYTEicon18_height
  455. .WORDsQRT
  456. ; *** 
  457.  @icon 19 - exponentiation
  458. .WORDpICeXPO
  459. .BYTE$80+padleft+3
  460. .BYTE(da_top+7)*8
  461. .BYTE$80+icon19_width
  462. .BYTEicon19_height
  463. .WORDeXPO
  464. ; *** 
  465.  @icon 20 - reciprocal
  466. .WORDpICrECIP
  467. .BYTE$80+padleft+5
  468. .BYTE(da_top+7)*8
  469. .BYTE$80+icon20_width
  470. .BYTEicon20_height
  471. .WORDrECIP
  472. ; *** 
  473.  @icon 21 - ln
  474. .WORDpIClN
  475. .BYTE$80+padleft+7
  476. .BYTE(da_top+7)*8
  477. .BYTE$80+icon21_width
  478. .BYTEicon21_height
  479. .WORDlN
  480. ; *** 
  481.  @icon 22 - sign change
  482. .WORDpICsIGNcHANGE
  483. .BYTE$80+padleft+9
  484. .BYTE(da_top+7)*8
  485. .BYTE$80+icon22_width
  486. .BYTEicon22_height
  487. .WORDsIGNcHANGE
  488. ; *** 
  489.  @ic
  490. ; *** 
  491.  @icon 23 - sin
  492. .WORDpICsIN
  493. .BYTE$80+padleft+1
  494. .BYTE(da_top+5)*8
  495. .BYTE$80+icon23_width
  496. .BYTEicon23_height
  497. .WORDsIN
  498. ; *** 
  499.  @icon 24 - cos
  500. .WORDpICcOS
  501. .BYTE$80+padleft+4
  502. .BYTE(da_top+5)*8
  503. .BYTE$80+icon24_width
  504. .BYTEicon24_height
  505. .WORDcOS
  506. ; *** 
  507.  @icon 25 - tan
  508. .WORDpICtAN
  509. .BYTE$80+padleft+7
  510. .BYTE(da_top+5)*8
  511. .BYTE$80+icon25_width
  512. .BYTEicon25_height
  513. .WORDtAN
  514. ; *** 
  515.  @icon 26 - memin
  516. .WORDpICmEMIN
  517. .BYTE$80+padleft+1
  518. .BYTE(da_top+3)*8
  519. .BYTE$80+icon26_width
  520. .BYTEicon26_height
  521. .WORDmEMIN
  522. ; *** 
  523.  @icon 27 - swap
  524. .WORDpICsWAP
  525. .BYTE$80+padleft+4
  526. .BYTE(da_top+3)*8
  527. .BYTE$80+icon27_width
  528. .BYTEicon27_height
  529. .WORDsWAP
  530. ; *** 
  531.  @icon 28 - drop
  532. .WORDpICdROP
  533. .BYTE$80+padleft+7
  534. .BYTE(da_top+3)*8
  535. .BYTE$80+icon28_width
  536. .BYTEicon28_height
  537. .WORDdROP
  538. ; *** 
  539.  @icon 29 - inverse
  540. .WORDpICiNVERSE
  541. .BYTE$80+padleft+1
  542. .BYTE(da_top+1)*8
  543. .BYTE$80+icon29_width
  544. .BYTEicon29_height
  545. .WORDiNVERSE
  546. ; *** 
  547.  @icon 30 - quit
  548. .WORDpICqUIT
  549. .BYTE$80+padleft+9
  550. .BYTE(da_top+1)*8
  551. .BYTE$80+icon30_width
  552. .BYTEicon30_height
  553. .WORDqUITrpn
  554. pIC0:;ASSEMBLER WILL PLACE COMPACTED BITMAP DATA
  555. pIC0:;ASSEMBLER WILL PLACE COMPACTED BITMAP DATA
  556. ;HERE FOR THIS PICTURE:
  557. @icon0_width= PICw;STORE BITMAP SIZE VALUES FOR USE IN ABOVE
  558. icon0_height= PICh;TABLE ON PASS 2. (PICw AND PICh ARE SET BY
  559. ;THE ASSEMBLER.)
  560. pIC1:
  561. aicon1_width= PICw
  562. icon1_height= PICh
  563. pIC2:
  564. bicon2_width= PICw
  565. icon2_height= PICh
  566. pIC3:
  567. cicon3_width= PICw
  568. icon3_height= PICh
  569. pIC4:
  570. dicon4_width= PICw
  571. icon4_height= PICh
  572. pIC5:
  573. eicon5_width= PICw
  574. icon5_height= PICh
  575. pIC6:
  576. ficon6_width= PICw
  577. icon6_height= PICh
  578. pIC7:
  579. gicon7_width= PICw
  580. icon7_height= PICh
  581. pIC8:
  582. hicon8_width= PICw
  583. icon8_height= PICh
  584. pIC9:
  585. iicon9_width= PICw
  586. icon9_height= PICh
  587. pICpOINT:
  588. ^icon10_width= PICw
  589. icon10_height= PICh
  590. pICe:
  591. {$60}icon11_width= PICw
  592. icon11_height= PICh
  593. pICpLUS:
  594. jicon12_width= PICw
  595. icon12_height= PICh
  596. pICmINUS:
  597. kicon13_width= PICw
  598. icon13_height= PICh
  599. pICmULT:
  600. licon14_width= PICw
  601. pICpLUS:
  602. jicon12_width= PICw
  603. icon12_height= PICh
  604. pICmINUS:
  605. kicon13_width= PICw
  606. icon13_height= PICh
  607. pICmULT:
  608. licon14_width= PICw
  609. icon14_height= PICh
  610. pICdIV:
  611. micon15_width= PICw
  612. icon15_height= PICh
  613. pICdELETE:
  614. nicon16_width= PICw
  615. icon16_height= PICh
  616. pICeNTER:
  617. oicon17_width= PICw
  618. icon17_height= PICh
  619. pICsQRT:
  620. picon18_width= PICw
  621. icon18_height= PICh
  622. pICeXPO:
  623. ricon19_width= PICw
  624. icon19_height= PICh
  625. pICrECIP:
  626. sicon20_width= PICw
  627. icon20_height= PICh
  628. pIClN:
  629. ticon21_width= PICw
  630. icon21_height= PICh
  631. pICsIGNcHANGE:
  632. qicon22_width= PICw
  633. icon22_height= PICh
  634. pICsIN:
  635. xicon23_width= PICw
  636. icon23_height= PICh
  637. pICcOS:
  638. pICsIN:
  639. xicon23_width= PICw
  640. icon23_height= PICh
  641. pICcOS:
  642. yicon24_width= PICw
  643. icon24_height= PICh
  644. pICtAN:
  645. zicon25_width= PICw
  646. icon25_height= PICh
  647. pICmEMIN:
  648. uicon26_width= PICw
  649. icon26_height= PICh
  650. pICsWAP:
  651. \icon27_width= PICw
  652. icon27_height= PICh
  653. pICdROP:
  654. ]icon28_width= PICw
  655. icon28_height= PICh
  656. pICiNVERSE:
  657. vicon29_width= PICw
  658. icon29_height= PICh
  659. pICqUIT:
  660. _icon30_width= PICw
  661. icon30_height= PICh
  662. .WORDdIVnUMS
  663. ; *** 
  664.  @icon 16 - delete
  665. .WORDdIVnUMS
  666. ; *** 
  667.  @icon 16 - delete
  668. .WORDpICdELETE
  669. .BYTE$80+padleft+9
  670. .BYTE(da_top+
  671. .WORDdIVnUMS
  672. ; *** 
  673.  @icon 16 - delete
  674. .WORDpICdELETE
  675. .BYTE$80+padleft+9
  676. .BYTE(da_top+10)*8
  677. .BYTE$80+icon16_width
  678. .BYTEicon16_height
  679. .WORD
  680. .WORDdIVnUMS
  681. ; *** 
  682.  @icon 16 - delete
  683. .WORDpICdELETE
  684. .BYTE$80+padleft+9
  685. .BYTE(da_top+10)*8
  686. .BYTE$80+icon16_width
  687. .BYTEicon16_height
  688. .WORDdELETE
  689. ; *** 
  690.  @icon 17 - enter
  691.