home *** CD-ROM | disk | FTP | other *** search
- rpnTABLES
- seq FORMATTED geos FILE v1.0
- sTAR nx-10
- op v2.0 OR HIGHER
- ;"rpnCONST
- blaster's converter v2.5
- GEOSsYM.rpn
- GEOSmAC
- wRITE iMAGE v2.1
- GEOwRITE v1.1
- iNITIALIZATION, iCON DEFINITIONS, KEY HANDLER FOR rpn 64
- ; *****************************************************************
- ;rpn 128
- ;INITIALIZATION ROUTINE, ICON DEFINITIONS
- ; BY rOBERT a kNOP jR.
- ; BASED VERY STRONGLY ON rpn 64
- ;uSING sAMda CODE FROM gEOpROGRAMMER BY bERKELEY sOFTWORKS.
- ; ***************************************************************
- .NOEQIN;DURING ASSEMBLER'S FIRST PASS.
- @.INCLUDEGEOSsYM
- ;GET geos DEFINITIONS
- @.INCLUDEGEOSmAC
- ;GET geos MACRO DEFINITIONS
- @.INCLUDErpnCONST
- CONFIG==$FF00
- ;a COUPLE OF DEFS. FOR THE 128
- GRAPHICSmODE ==$003F
- .EQIN
- ; tHE SOURCE CODE FOR
- @rpn 128
- IS BROKEN INTO 7 FILES:
- ; rpn128.LNKlINKER cOMMAND fILE
- ; rpnhDRhEADER rECORD
- ; rpnTABLESiCON dEFINITION, kEY hANDLER, iNIT. rOUTINE
- ; rpnROUTINESrOUTINES CALLED BY iCONS ET. AL.
- ; rpnSUPPORTmORE ROUTINES, OF A "SUPPORTESEQUE" NATURE
- ; rpnRAM.RAMSECT
- ; rpnCONSTeQUATES INCLUDED INTO SEVERAL OF THE ABOVE
- ;tHIS CODE ALSO INCLUDES THE FILES GEOSsYM AND GEOSmAC, WHICH COME WITH GEOpROGRAMMER
- ; hOPEFULLY, THIS SOURCE WILL SERVE AS AN EXAMPLE OF HOW ONE MAY CALL basic'S FLOATING
- ; POINT ROUTINES FROM geos. aN INDISPENSABLE REFERENCE FOR THE 128 VERSION OF THE
- ; PROGRAM WAS oTIS cOWPER'S BOOK, BELOW. tHANKS ALSO TO jIM cOLLETTE AND dAVE
- ; fERGUSON FOR RANDOM HELP WITH AND SUGGESTIONS ABOUT DEBUGGING PROBLEMS.
- references
- ; aNDREWS, mARK,
- cOMMODORE 128 aSSEMBLY lANGUAGE pROGRAMMING
- . sAMS, 1986.
- ; bERKELEY sOFTWORKS,
- tHE oFFICIAL geos pROGRAMMER'S rEFERENCE gUIDE
- . bANTAM, 1987.
- ; cbm,
- cOMMODORE 64 pROGRAMMER'S rEFERENCE gUIDE
- . cOMMODORE, 1982.
- ; cOWPER, oTIS,
- mAPPING THE cOMMODORE 128
- . compute! bOOKS, 1986.
- ; hEEB, dAN,
- compute!'S vIC-20 AND c-64 tOOL kIT: basic
- . compute! bOOKS, 1984.
- ; lEEMON, sHELDON,
- mAPPING tHE cOMMODORE 64 & 64c
- . compute! bOOKS, 1987.
- ;**********************************************************************; ;
- iNITIALIZATION ROUTINE
- ; sAVE APPLICATION'S FOREGROUND SREEN
- ; dRAW rpn SCREEN
- ; iNITIALIZE ICONS
- ;**********************************************************************
- @.PSECT
- ;bEGINNING OF PROGRAM
- dasTART:
- lOADbDISPbUFFERoN,#(st_wr_fore) ;ALLOW WRITES TO fg ONLY
- lOADwKEYvECTOR,kEYPRESS ;sET UP KEYPRESS HANDLING ROUTINE
- lOADwR0,(daeND-f_entry) ;cLEAR ALL OF .RAMSECT AFTER geosZERO
- lOADwR1,f_entry
- JSRcLEARrAM
- lOADwLEFTmARGIN,#$00
- JSRI_mOVEdATA;sAVE aPPLICATIONS ZERO PAGE SPACE SO i CAN USE IT
- .WORD$0061;(ALSO geos SPACE UNDER THE fac'S)
- .WORDAPPZPAGE
- .WORD$009E
- lOADwR0,#dRAWbOX;POINT TO GRAPHICS STRING TO DRAW rpn SCREEN
- JSRgRAPHICSsTRING
- BITGRAPHICSmODE;cHECK BIT 7 OF GRAPHICSmODE; IF SET, WE ARE IN 80
- BMI20$; COLUMNS, SO DON'T DO COLORS
- lOADwR0,color_matrix+(da_top*40)
- LDAcolor_matrix+$27 ;pICK COLOR FROM UPPER RIGHT CARD
- LDX#$00
- 5$LDY#(da_left);fILL da WITH THIS COLOR
- 10$STA(R0),Y
- CPY#(da_left+da_width)
- BNE10$
- CPX#(da_height)
- BEQ20$
- aDDvw$28,R0
- BRA5$
- 20$lOADwR0,#iCONtABLE;POINT TO ICON DEFINITION TABLE
- JSRdOiCONS
- JSRwELCOME;pRINT OPENING MESSAGE ON SCREEN
- @RTS
- ;jUMP TO geos MAIN LOOP
- @dRAWbOX:
- ;GRAPHICS STRING TABLE TO CLEAR SCREEN
- .BYTEnewpattern,0;SET NEW PATTERN VALUE (WHITE)
- .BYTEmovepento;MOVE PEN TO:
- @dRAWbOX:
- ;GRAPHICS STRING TABLE TO CLEAR SCREEN
- .BYTEnewpattern,0;SET NEW PATTERN VALUE (WHITE)
- .BYTEmovepento;MOVE PEN TO:
- .WORD$8000+da_left*8;TOP LEFT CORNER OF db (IN PIXELS)
- .BYTEda_top*8
- .BYTErectangleto;DRAW FILLED RECTANGLE TO BOTTOM RIGHT CORNER
- .WORD$8000+(da_left+da_width)*8 - 1
- .BYTE(da_top+da_height)*8 - 1
- ;BOTTOM RIGHT CORNER OF db (IN PIXELS)
- .BYTEnewpattern,1;SET NEW PATTERN VALUE (BLACK)
- .BYTEframe_recto;DRAW FRAME TO...
- .WORD$8000+da_left*8;TOP LEFT CORNER OF db (IN PIXELS)
- .BYTEda_top*8
- .BYTEmovepento
- .WORD$8000+(da_left+1)*8
- .BYTE(da_top+2)*8
- .BYTEframe_recto;dATA sCREEN
- .WORD$8000+(da_left+12)*8-1
- .BYTE(da_top+da_height-2)*8
- .BYTElineto
- .WORD$8000+(da_left+12)*8-1
- .BYTEda_top*8
- .BYTEmovepento
- .WORD$8000+(da_left+12)*8-1
- .BYTE(da_top+da_height-2)*8
- .BYTEframe_recto;eNTRY LINE
- .WORD$8000+(da_left+1)*8
- .BYTE(da_top+da_height)*8-1
- .BYTEnull;eND OF GRAPHIC STRING
- @wELCOME:
- lOADwLEFTmARGIN,$8000+data_left*8+4
- lOADwR0,hItHERE
- lOADbR1h,data_top*8+12
- lOADwR11,$8000+data_left*8+4
- JSRpUTsTRING
- 10$cMPbiMOUSEdATA,%10000000 ;wAIT FOR CLICK
- BNE20$
- BRA10$
- 20$lOADwLEFTmARGIN,#$00
- JSRcLEARdATA
- JSRpRINTrEGS
- @RTS
- hItHERE:.BYTE26,"rpn 128",27,13,13,"BY",13,24,"rOBERT kNOP jR.",27
- .BYTE13,13,"fOR USEFUL INFO.,"
- .BYTE13,"HIT inv-eNTER",13,13
- .BYTE"(cLICK TO BEGIN)",0
- kEYPRESS:
- LDAKEYdATA;FIRST, CHECK IF I
- kEYPRESS:
- LDAKEYdATA;FIRST, CHECK IF IT IS A NUMBER
- CMP#'0'
- BCC5$;iF ascii IS < '0', GO TO NORMAL HANDLER
- CMP#('9'+1)
- BCS5$;iF ascii IS > '9', GO TO NORMAL HANDLER
- SUB#$30
- JSRfLASHiCON;fLASH THIS iCON
- STAR0l;sTICK "ICON" NUMBER IN R0l TO SELECT ICON
- @JMPnUMBER
- 5$STATEMP;pUT ascii OF KEYPRESS TO TEMP
- LDY#$00
- 10$LDAKEYTABLE,Y
- CMPTEMP;cOMPARE KEYTABLE ENTRY TO KEY PRESSED
- BEQ20$;iF MATCH, JUMP TO POINTED ROUTINE
- CMP#$00
- BEQ90$;iF ZERO, THERE WAS NO MATCH
- INY;SET Y TO POINT TO NEXT ENTRY
- BRA10$;eND OF lOOP
- 20$INY;nUMBER OF THE ICON THIS KEY CORRESPONDS TO
- LDAKEYTABLE,Y
- STYTEMP
- JSRfLASHiCON;fLASH THIS iCON
- LDYTEMP
- LDAKEYTABLE,Y;PUT ROUTINE VECTOR @ TEMP (LB) & TEMP2 (HB)
- STATEMP
- LDAKEYTABLE,Y
- STATEMP2
- @JMP(TEMP)
- ;jUMP TO APPROPRIATE ROUTINE
- @RTS
- LOOK4KEY:.BYTE"LOOKING FOR KEY",0
- ABT2FLASH:.BYTE"ABOUT TO FLASH",0
- ;DIDfLASH:
- @fLASHiCON:
- STAR0l
- lOADbR0h,$00
- LDX#R0
- LDY#$03
- JSRdsHIFTlEFT;mULTIPLY BY 8
- aDDvw$06,R0
- CLC;aDD iCONtABLE TO R0
- LDA#<iCONtABLE
- ADCR0l
- STAR0l
- LDA#>iCONtABLE
- ADCR0h
- STAR0h;nOW R0 POINTS TO lEFT
- LDY#$00
- LDA(R0),Y;lEFT IN bYTES
- AND#%01111111;(tURN OFF HIGH BIT)
- STAR3l
- lOADbR3h,$00
- LDX#R3
- LDY#$03
- JSRdsHIFTlEFT;mULTIPLY BY 8 TO GET PIXELS
- LDY#$02
- LDA(R0),Y;wIDTH IN bYTES -- MULTIPLTY THIS BY 8 TOO
- AND#%01111111;(aFTER TURNING OFF HIGH BIT)
- STAR4l
- lOADbR4h,$00
- LDX#R4
- LDY#$03
- JSRdsHIFTlEFT
- aDDwR3,R4;aDD LEFT TO WIDTH -> RIGHT
- aDDvw$8000,R3;sET HIGH BIT OF LEFT AND RIGHT
- aDDvw$8000,R4
- LDY#$01
- LDA(R0),Y;tOP IN sCANLINES
- STAR2l
- LDY#$03
- LDA(R0),Y;hEIGHT IN sCANLINES
- ADDR2l
- STAR2h;bOTTOM IN SCANLINES
- JSRiNVERTrECTANGLE
- LDX#$00
- LDY#$00
- 10$INX;cOUNT TO 16*256 AS A PAUSE
- CPX#$00
- BNE10$
- CPY#$10
- BNE10$
- JSRiNVERTrECTANGLE
- @RTS
- ; TABLE OF KEYS (BYTE), ICONS TO FLASH (BYTE), AND ROUTINES WHICH SHOULD BE CALLED WHEN
- ; SAID KEY IS PRESSED (WORD)
- @KEYTABLE:
- .BYTE$0D,17;rETURN
- .WORDeNTER
- .BYTE11,17;enter-- SAME AS RETURN (OR VICA VERSA)
- .WORDeNTER
- .BYTE".",10
- .WORDdECIMALpOINT
- .BYTE"E",11
- .WORDsCINOT
- .BYTEkey_delete,16
- .WORDdELETE
- .BYTE"+",12
- .WORDaDDnUMS
- .BYTE"-",13
- .WORDsUBnUMS
- .BYTE"*",14
- .WORDmULTnUMS
- .BYTE"/",15
- .WORDdIVnUMS
- .BYTE"^",19
- .WORDeXPO
- .BYTE"S",23
- .WORDsIN
- .BYTE"C",24
- .WORDcOS
- .BYTE"T",25
- .WORDtAN
- .BYTE"R",20;rECIPROCAL
- .WORDrECIP
- .BYTE"L",21
- .WORDlN
- .BYTE"M",26
- .WORDmEMIN
- .BYTE"V",18;"V" IS sQUARE rOOT FOR LACK OF ANYTHING BETTER
- .WORDsQRT
- .BYTEkey_f1,29;F1 IS iNVERSE
- .WORDiNVERSE
- .BYTEkey_f3,27;F3 IS sWAP
- .WORDsWAP
- .BYTEkey_f5,28;F5 IS dROP
- .WORDdROP
- .BYTEkey_f7,22;F7 IS +/-
- .WORDsIGNcHANGE
- .BYTE"Q",30
- .WORDqUITrpn
- @.BYTE0
- ;eND OF TABLE
- ;ICON DEFINITION TABLE
- padleft= da_left+12;LEFT EDGE OF KEYPAD
- ;(IN CARDS)
- iCONtABLE:
- .BYTE31;NUMBER OF ICONS
- .WORD$8000+padleft*8;X POSITION TO PLACE MOUSE AT WHEN DONE
- .BYTEda_top*8;Y POSITION TO PLACE MOUSE AT WHEN DONE
- ; ***
- @icon 0 - 0
- .WORDpIC0;POINTER TO COMPACTED BITMAP FOR ICON
- .BYTE$80+padleft+3;X POSITION IN BYTES
- .BYTE(da_top+16)*8;Y POSITION IN SCANLINES
- .BYTE$80+icon0_width;WIDTH OF ICON IN BYTES
- .BYTEicon0_height;HEIGHT OF ICON IN SCANLINES
- .WORDnUMBER;POINTER TO HANDLER ROUTINE
- ; ***
- @icon 1 - 1
- .WORDpIC1
- .BYTE$80+padleft+1
- .BYTE(da_top+14)*8
- .BYTE$80+icon1_width
- .BYTEicon1_height
- .WORDnUMBER
- ; ***
- @icon 2 - 2
- .WORDpIC2
- .BYTE$80+padleft+3
- .BYTE(da_top+14)*8
- .BYTE$80+icon2_width
- .BYTEicon2_height
- .WORDnUMBER
- ; ***
- @icon 3 - 3
- .WORDpIC3
- .BYTE$80+padleft+5
- .BYTE(da_top+14)*8
- .BYTE$80+icon3_width
- .BYTEicon3_height
- .WORDnUMBER
- ; ***
- @icon 4 - 4
- .WORDpIC4
- .BYTE$80+padleft+1
- .BYTE(da_top+12)*8
- .BYTE$80+icon4_width
- .BYTEicon4_height
- .WORDnUMBER
- ; ***
- @icon 5 - 5
- .WORDpIC5
- .BYTE$80+padleft+3
- .BYTE(da_top+12)*8
- .BYTE$80+icon5_width
- .BYTEicon5_height
- .WORDnUMBER
- ; ***
- @icon 6 - 6
- .WORDpIC6
- .BYTE$80+padleft+5
- .BYTE(da_top+12)*8
- .BYTE$80+icon6_width
- .BYTEicon6_height
- .WORDnUMBER
- ; ***
- @icon 7 -7
- .WORDpIC7
- .BYTE$80+padleft+1
- .BYTE(da_top+10)*8
- .BYTE$80+icon7_
- ; ***
- @icon 7 -7
- .WORDpIC7
- .BYTE$80+padleft+1
- .BYTE(da_top+10)*8
- .BYTE$80+icon7_width
- .BYTEicon7_height
- .WORDnUMBER
- ; ***
- @icon 8 - 8
- .WORDpIC8
- .BYTE$80+padleft+3
- .BYTE(da_top+10)*8
- .BYTE$80+icon8_width
- .BYTEicon8_height
- .WORDnUMBER
- ; ***
- @icon 9 - 9
- .WORDpIC9
- .BYTE$80+padleft+5
- .BYTE(da_top+10)*8
- .BYTE$80+icon9_width
- .BYTEicon9_height
- .WORDnUMBER
- ; ***
- @icon 10 - decimal point
- .WORDpICpOINT
- .BYTE$80+padleft+5
- .BYTE(da_top+16)*8
- .BYTE$80+icon10_width
- .BYTEicon10_height
- .WORDdECIMALpOINT
- ; ***
- @icon 11 - scinot
- .WORDpICe
- .BYTE$80+padleft+1
- .BYTE(da_top+16)*8
- .BYTE$80+icon11_width
- .BYTEicon11_height
- .WORDsCINOT
- ; ***
- @icon 12 - plus
- .WORDpICpLUS
- .BYTE$80+padleft+7
- .BYTE(da_top+10)*8
- .BYTE$80+icon12_width
- .BYTEicon12_height
- .WORDaDDnUMS
- ; ***
- @icon 13 - minus
- .WORDpICmINUS
- .BYTE$80+padleft+7
- .BYTE(da_top+12)*8
- .BYTE$80+icon13_width
- .BYTEicon13_height
- .WORDsUBnUMS
- ; ***
- @icon 14 - multiply
- .WORDpICmULT
- .BYTE$80+padleft+7
- .BYTE(da_top+14)*8
- .BYTE$80+icon14_width
- .BYTEicon14_height
- .WORDmULTnUMS
- ; ***
- @icon 15 - divide
- .WORDp
- ; ***
- @icon 15 - divide
- .WORDpICdIV
- .BYTE$80+padleft+7
- .BYTE(da_top+16)*8
- .BYTE$80+icon15_width
- .BYTEicon15_height
- .WORDdIVnUMS
- ; ***
- @icon 16 - delete
- .WORDpICdELETE
- .BYTE$80+padleft+9
- .BYTE(da_top+10)*8
- .BYTE$80+icon16_width
- .BYTEicon16_height
- .WORDdELETE
- ; ***
- @icon 17 - enter
- .WORDpICeNTER
- .BYTE$80+padleft+9
- .BYTE(da_top+12)*8
- .BYTE$80+icon17_width
- .BYTEicon17_height
- .WORDeNTER
- ; ***
- @icon 18 - sqrt
- .WORDpICsQRT
- .BYTE$80+padleft+1
- .BYTE(da_top+7)*8
- .BYTE$80+icon18_width
- .BYTEicon18_height
- .WORDsQRT
- ; ***
- @icon 19 - exponentiation
- .WORDpICeXPO
- .BYTE$80+padleft+3
- .BYTE(da_top+7)*8
- .BYTE$80+icon19_width
- .BYTEicon19_height
- .WORDeXPO
- ; ***
- @icon 20 - reciprocal
- .WORDpICrECIP
- .BYTE$80+padleft+5
- .BYTE(da_top+7)*8
- .BYTE$80+icon20_width
- .BYTEicon20_height
- .WORDrECIP
- ; ***
- @icon 21 - ln
- .WORDpIClN
- .BYTE$80+padleft+7
- .BYTE(da_top+7)*8
- .BYTE$80+icon21_width
- .BYTEicon21_height
- .WORDlN
- ; ***
- @icon 22 - sign change
- .WORDpICsIGNcHANGE
- .BYTE$80+padleft+9
- .BYTE(da_top+7)*8
- .BYTE$80+icon22_width
- .BYTEicon22_height
- .WORDsIGNcHANGE
- ; ***
- @ic
- ; ***
- @icon 23 - sin
- .WORDpICsIN
- .BYTE$80+padleft+1
- .BYTE(da_top+5)*8
- .BYTE$80+icon23_width
- .BYTEicon23_height
- .WORDsIN
- ; ***
- @icon 24 - cos
- .WORDpICcOS
- .BYTE$80+padleft+4
- .BYTE(da_top+5)*8
- .BYTE$80+icon24_width
- .BYTEicon24_height
- .WORDcOS
- ; ***
- @icon 25 - tan
- .WORDpICtAN
- .BYTE$80+padleft+7
- .BYTE(da_top+5)*8
- .BYTE$80+icon25_width
- .BYTEicon25_height
- .WORDtAN
- ; ***
- @icon 26 - memin
- .WORDpICmEMIN
- .BYTE$80+padleft+1
- .BYTE(da_top+3)*8
- .BYTE$80+icon26_width
- .BYTEicon26_height
- .WORDmEMIN
- ; ***
- @icon 27 - swap
- .WORDpICsWAP
- .BYTE$80+padleft+4
- .BYTE(da_top+3)*8
- .BYTE$80+icon27_width
- .BYTEicon27_height
- .WORDsWAP
- ; ***
- @icon 28 - drop
- .WORDpICdROP
- .BYTE$80+padleft+7
- .BYTE(da_top+3)*8
- .BYTE$80+icon28_width
- .BYTEicon28_height
- .WORDdROP
- ; ***
- @icon 29 - inverse
- .WORDpICiNVERSE
- .BYTE$80+padleft+1
- .BYTE(da_top+1)*8
- .BYTE$80+icon29_width
- .BYTEicon29_height
- .WORDiNVERSE
- ; ***
- @icon 30 - quit
- .WORDpICqUIT
- .BYTE$80+padleft+9
- .BYTE(da_top+1)*8
- .BYTE$80+icon30_width
- .BYTEicon30_height
- .WORDqUITrpn
- pIC0:;ASSEMBLER WILL PLACE COMPACTED BITMAP DATA
- pIC0:;ASSEMBLER WILL PLACE COMPACTED BITMAP DATA
- ;HERE FOR THIS PICTURE:
- @icon0_width= PICw;STORE BITMAP SIZE VALUES FOR USE IN ABOVE
- icon0_height= PICh;TABLE ON PASS 2. (PICw AND PICh ARE SET BY
- ;THE ASSEMBLER.)
- pIC1:
- aicon1_width= PICw
- icon1_height= PICh
- pIC2:
- bicon2_width= PICw
- icon2_height= PICh
- pIC3:
- cicon3_width= PICw
- icon3_height= PICh
- pIC4:
- dicon4_width= PICw
- icon4_height= PICh
- pIC5:
- eicon5_width= PICw
- icon5_height= PICh
- pIC6:
- ficon6_width= PICw
- icon6_height= PICh
- pIC7:
- gicon7_width= PICw
- icon7_height= PICh
- pIC8:
- hicon8_width= PICw
- icon8_height= PICh
- pIC9:
- iicon9_width= PICw
- icon9_height= PICh
- pICpOINT:
- ^icon10_width= PICw
- icon10_height= PICh
- pICe:
- {$60}icon11_width= PICw
- icon11_height= PICh
- pICpLUS:
- jicon12_width= PICw
- icon12_height= PICh
- pICmINUS:
- kicon13_width= PICw
- icon13_height= PICh
- pICmULT:
- licon14_width= PICw
- pICpLUS:
- jicon12_width= PICw
- icon12_height= PICh
- pICmINUS:
- kicon13_width= PICw
- icon13_height= PICh
- pICmULT:
- licon14_width= PICw
- icon14_height= PICh
- pICdIV:
- micon15_width= PICw
- icon15_height= PICh
- pICdELETE:
- nicon16_width= PICw
- icon16_height= PICh
- pICeNTER:
- oicon17_width= PICw
- icon17_height= PICh
- pICsQRT:
- picon18_width= PICw
- icon18_height= PICh
- pICeXPO:
- ricon19_width= PICw
- icon19_height= PICh
- pICrECIP:
- sicon20_width= PICw
- icon20_height= PICh
- pIClN:
- ticon21_width= PICw
- icon21_height= PICh
- pICsIGNcHANGE:
- qicon22_width= PICw
- icon22_height= PICh
- pICsIN:
- xicon23_width= PICw
- icon23_height= PICh
- pICcOS:
- pICsIN:
- xicon23_width= PICw
- icon23_height= PICh
- pICcOS:
- yicon24_width= PICw
- icon24_height= PICh
- pICtAN:
- zicon25_width= PICw
- icon25_height= PICh
- pICmEMIN:
- uicon26_width= PICw
- icon26_height= PICh
- pICsWAP:
- \icon27_width= PICw
- icon27_height= PICh
- pICdROP:
- ]icon28_width= PICw
- icon28_height= PICh
- pICiNVERSE:
- vicon29_width= PICw
- icon29_height= PICh
- pICqUIT:
- _icon30_width= PICw
- icon30_height= PICh
- .WORDdIVnUMS
- ; ***
- @icon 16 - delete
- .WORDdIVnUMS
- ; ***
- @icon 16 - delete
- .WORDpICdELETE
- .BYTE$80+padleft+9
- .BYTE(da_top+
- .WORDdIVnUMS
- ; ***
- @icon 16 - delete
- .WORDpICdELETE
- .BYTE$80+padleft+9
- .BYTE(da_top+10)*8
- .BYTE$80+icon16_width
- .BYTEicon16_height
- .WORD
- .WORDdIVnUMS
- ; ***
- @icon 16 - delete
- .WORDpICdELETE
- .BYTE$80+padleft+9
- .BYTE(da_top+10)*8
- .BYTE$80+icon16_width
- .BYTEicon16_height
- .WORDdELETE
- ; ***
- @icon 17 - enter
-