home *** CD-ROM | disk | FTP | other *** search
- sAMPLEmAIN
- prg FORMATTED geos FILE v1.0
- cope sOURCE v1.1
- GEOcope v1.00
- cope eDITOR v1.1
- uNTITLED
- sAMPLEmAIN
- @)@:@?@e@r@_@N@Z@
- /; ===
- ; menu structure OF GEOcope eDITOR
- ; by bill sharp
- start
- jsr nEWdISK
- jsr mOUSEuP
- jsr CLRsCREEN
- ldx #<icons
- stx r0
- ldx #>icons
- stx r0+1
- jsr dOiCONS ; setup icons
- ldx #<menus
- stx r0
- ldx #>menus
- stx r0+1
- lda #1 ; menu pos/mouse
- jsr dOmENU
- ; icon execution routine
- icons
- .byte 1 ; ONE iCON
- .word 160 ; x POSITION TO PLACE MOUSE
- .byte 0 ; y POSITION TO PLACE MOUS
- .word iCONdATA ; POINTER TO ICON bITmAP
- .byte 38 ; x POSITION IN BYTES TO PLACE iCON
- .byte 0 ; y POSITION IN SCANLINES TO PLACE iCON
- .byte 2,15 ; wIDTH IN BYTES, hEIGHT IN PIXELS
- .word quit2 ; cODE TO CALL
- ; THE ICON DATA IS STORED IN bITmAPuP FORMAT
- iCONdATA
- .byte 158
- .byte 255,255,0,0,255,255,128,01,128,1,128,1
- .byte 135,225,135,225,135,225
- .byte 128,01,128,01,128,01
- .byte 255,255
- .byte 0,0
- .byte 255,255
- menus
- .byte mENUtOPpOS
- .byte mENUbOTpOS
- .word mENUlEFT
- .word mENUrIGHT
- .byte horiz {$7c} 5 ; hORIZONTAL or'ED WITH 5 (FOR 5 ITEMS)
- .word memtx1 ; pOINTER TO tEXT FOR FIRST MENU POSITION
- .byte $80 ; sub-menu STRUCTURE
- .word memsb1 ; pOINTER TO sUB-mENU
- ; tHE PATTERN FOR MENUS ARE THE SAME BELOW
- .word memtx2
- .byte $80
- .word memsb2
- .word memtx3
- .byte $80 ; sub-menu
- .word memsb3 ; sub-mem
- .word memtx4
- .byte $80 ; sub-menu
- .word memsb4
- .word memtx5
- .byte $80
- .word memsb5
- memtx1 .byte plain,128,0
- memtx2 .byte 'fILE',0
- memtx3 .byte 'eDIT',0
- memtx4 .byte 'sEARCH',0
- memtx5 .byte 'tOOLBOX',0
- ;== end of main menu structure
- ;== start of sub-menus
- memsb1
- ;-----
- memsb1x
- .byte mENUbOTpOS
- .byte mENUbOTpOS+15
- .word mENUlEFT
- .word mENUlEFT+81
- .byte vert+1
- .word subm1
- .byte 0
- .word nocode ; pERFORM THIS ROUTINE WHEN MENU IS SELECTED
- ;-----
- subm1 .byte 'cope INFO',0
- ;end submenu1
- ;start submenu2
- memsb2
- .byte mENUbOTpOS
- .byte mENUbOTpOS+5*14+1
- .word mENUlEFT+20
- .word mENUlEFT+86
- .byte vert {$7c} 5
- .word subm21
- .byte 0
- .word load
- .word subm22
- .byte 0
- .word save
- .word subm23
- .byte 0
- .word print
- .word subm24
- .byte 0
- .word quit
- .word subm25
- .byte 0
- .word sAVEaS
- subm21 .byte 'lOAD',20,64,0,128,'l',0
- subm22 .byte 'sAVE',20,64,0,128,'s',0
- subm23 .byte 'pRINT',0
- subm24 .byte 'qUIT',20,64,0,128,'q',0
- subm25 .byte 'sAVE aS...',0
- ; end submenu 2
- ; start submenu 3
- memsb3
- .byte mENUbOTpOS
- .byte mENUbOTpOS+4*14+1
- .word mENUlEFT+41
- .word mENUlEFT+105
- .byte vert+4
- .word subm31
- .byte 0
- .word cut
- .word subm32
- .byte 0
- .word copy
- .word subm33
- .byte 0
- .word paste
- .word subm34
- .byte 0
- .word clear
- subm31 .byte 'cUT',20,83,0,128,'x',0
- subm32 .byte 'cOPY',20,83,0,128,'c',0
- subm33 .byte 'pASTE',20,83,0,128,'t',0
- subm34 .byte 'cLEAR',0
- memsb4
- .byte mENUbOTpOS
- .byte mENUbOTpOS+43
- .word mENUlEFT+63
- .word mENUlEFT+132
- .byte vert+3
- .word subm41
- .byte 0
- .word find
- .word subm42
- .byte 0
- .word rptstr
- .word subm44
- .byte $80
- .word gOmENU
- subm41 .byte 'fIND...',20,110,0,128,'f',0
- subm42 .byte 'rEPLACE...',20,110,0,128,'r',0
- subm44 .byte 'gO tO...',0
- memsb5
- .byte mENUbOTpOS
- .byte mENUbOTpOS+15
- .word mENUlEFT+99
- .word mENUlEFT+142
- .byte vert+1
- .word subm51
- .byte 0
- .word import
- subm51 .byte 'iMPORT',0
- gOmENU
- .bYTE mENUbOTpOS
- .byTE mENUbOTpOS+4*14+1
- .wORD mENUlEFT+133
- .wORD mENUlEFT+214
- .bYTE vert {$7c} 4
- .wORD gom11
- .bYTE 0
- .wORD dopgup
- .wORD gom12
- .bYTE 0
- .wORD dopgdown
- .wORD gom13
- .bYTE 0
- .wORD dotop
- .wORD gom14
- .bYTE 0
- .wORD dobottom
- gom11 .bYTE 'pAGE-uP',20,198,0,bold,'f5',plain,0
- gom12 .bYTE 'pAGE-dOWN',20,198,0,bold,'f7',plain,0
- gom13 .bYTE 'tOP',20,198,0,bold,'f6',plain,0
- gom14 .bYTE 'bOTTOM',20,198,0,bold,'f8',plain,0
- ;== end of menu tables
- jsr gOTOfIRSTmENU
- quit2
- jmp eNTERdESKtOP
- ;====
- ; dialog boxes
- db1 .byte 128+2
- .byte 11
- .byte 10
- .byte 30
- .word ncstr
- .byte 11,10,50
- .word ncstr2
- .bYTE 11,10,70
- .wORD ncstr3
- .byte 14
- .byte 0
- ncstr .byte 'tHIS IS A SAMPLE PROGRAM TO',0
- ncstr2 .byte 'DEMONSTRATE THE CODING METHODS TO USE',0
- ncstr3 .bYTE 'IN WRITING PROGRAMS WITH GEOcope',0
- ;application code/menus and icons.
- ; cURRENTLY, ALL OF THE ROUTINES IN THE mENUsYSTEM POINTS
- ;TO THE nocode ROUTINE BELOW.
- ; sEE HOW ALL THE lABLES ARE CURRENTLY USING THE SAME ROUTINE.
- load save print sAVEaS cut copy paste clear find replace
- import rptstr dopgup dopgdown dotop dobottom
- nocode
- jsr $c1bd ;goto first menu
- ldx #<db1
- stx r0
- ldx #>db1
- stx r0+1
- jsr $c256; do dialog box
- ;------
- CLRsCREEN
- lda #0
- jsr sETpATTERN
- JSR I_rECTANGLE
- .bYTE 0
- .bYTE 199
- .wORD 0
- .wORD 319
-