ASM Header
From Doors CS
You are here: Developers' SDK >> ASM Header
Contents |
Normal Header
; Program Name: ; Author: ; Version: ; Date: ; Written for Doors CS 7.0 and higher (http://dcs.cemetech.net) .nolist #include "ti83plus.inc" #include "dcs7.inc" .list .org progstart .db $BB,$6D Init: xor d ret jr Start .dw Description ;or .dw $0000 if you don't have a description .db $07,$00 ;always this string .dw Icon ;or .dw $0000 if you don't have an icon .dw ALE ;usually .dw $0000 if you don't have or know what an ALE is Start: ;main routines ;etc etc etc ;ret Description: .db "Description",0 ;can be omitted if .dw Description is .dw 0000 above Icon: ;a 16x16 icon (can be omitted if .dw Icon is .dw 0000 above) .db %11111111,%11111000 .db %10000000,%00001100 .db %10111100,%00001010 .db %10010010,%00001111 .db %10010010,%01010001 .db %10010010,%10101001 .db %10111100,%01010101 .db %10000000,%00000001 .db %10101010,%10101001 .db %10010101,%01010101 .db %10101010,%10101001 .db %10000000,%00000001 .db %10010101,%01010101 .db %10101010,%10101001 .db %10000000,%00000001 .db %11111111,%11111111 ALE: ;must be omitted if .dw ALE is .dw 0000 above .db "ZALE",0,0,0,0 ;always eight bytes, use .db "ZLALE",0,0,0 ;zeros for extra bytes .db $FF ;put after last ALE
Header for AP-Enabled Programs
Main Program
; Program Name: ; Author: ; Version: ; Date: ; Written for Doors CS 7.0 and higher (http://dcs.cemetech.net) .nolist #include "ti83plus.inc" #include "dcs7.inc" .list .org progstart .db $BB,$6D Init: xor d ret jr Start .dw Description .db $07,$00 .dw Icon .dw $0000 .dw Apstart ;the routine to open files. DCS will start you here instead of at $9D95 if an AP file is pending .db $31,$7F ;argh, this be an APMain .db $02 ;number of accepted filetypes MyType1: .db 0,1,1 ;plaintext MyType2: .db 0,1,2 ;DDE6 text START: ;main routines Description: .db "Description",0 ;can be omitted if .dw Description is .dw 0000 above Icon: ;a 16x16 icon (can be omitted if .dw Icon is .dw 0000 above) .db %11111111,%11111000 .db %10000000,%00001100 .db %10111100,%00001010 .db %10010010,%00001111 .db %10010010,%01010001 .db %10010010,%10101001 .db %10111100,%01010101 .db %10000000,%00000001 .db %10101010,%10101001 .db %10010101,%01010101 .db %10101010,%10101001 .db %10000000,%00000001 .db %10010101,%01010101 .db %10101010,%10101001 .db %10000000,%00000001 .db %11111111,%11111111 IconAP: ;a 16x16 icon .db $3F,$F0,$20,$18 .db $E0,$14,$A0,$1E .db $A0,$02,$AF,$C2 .db $A6,$62,$A6,$32 .db $A6,$32,$A6,$32 .db $A6,$62,$AF,$C2 .db $A0,$02,$BF,$FE .db $80,$08,$FF,$F8
Files
; Header for data files meant to be opened with the corresponding viewer .db $BB,$6D ; required ret ; don't let the TI-OS run it .db $31,$80 ; required, identify the program as a data type : .db 0,0,0 ; the file type here ... ; datas here
Header for Shell Expansions (SEs)
.nolist ;defines, includes, and equates #include "ti83plus.inc" #include "dcs7.inc" ;token interpretation SEOffset equ $86ec .list .org 0 .db $BB,$6D ;ASM program header .db $AB,$C9 ;ignore program; ret SEStart: .db $31,$87,$50 ;SE for DCS 5 and higher .dw SEBoot-SEStart ;or .dw 0 if there is no boot section .dw SEMouse-SEStart ;or .dw 0 if there is no mouse section .dw SEUnload-SEStart ;or .dw 0 if there is no unload section SEBoot: ;if there is a boot section... ;...code... ret SEMouse: ;if there is a mouse section... ;...code... ld d,0 ret SEUnload: ;if there is an unload section... ;...code... ret
Header for Associated Library Extensions (ALEs)
"Ignore" Header
If you want Doors CS to ignore a particular ASM program and not list it, then all you need to do is make xor e the first instruction in the program:
; Program Name: ; Author: ; Version: ; Date: ; Written for Doors CS 7.0 and higher (http://dcs.cemetech.net) .nolist #include "ti83plus.inc" #include "dcs7.inc" .list .org progstart .db $BB,$6D Init: xor e