home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
8bitfiles.net/archives
/
archives.tar
/
archives
/
genie-commodore-file-library
/
GEOSApps
/
COPEASSEMBLR.ARC
/
SAMPLEMAIN
(
.txt
)
< prev
next >
Wrap
GEOS ConVerT
|
2019-04-13
|
5KB
|
237 lines
SampleMain
PRG formatted GEOS file V1.0
Okimate 10
LADS2COPE
BLASTER'S CONVERTER V2.5
QV_MAIN
QV_LOAD
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 | 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 | 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 | 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