source: buchla-68k/orig/GEMDOS/APPSTART.S

Last change on this file was 3ae31e9, checked in by Thomas Lopatic <thomas@…>, 7 years ago

Imported original source code.

  • Property mode set to 100755
File size: 5.2 KB
Line 
1* APPSTART.S
2* 4/30/85 MIKE SCHMAL
3*
4* APPLICATION STARTUP PROGRAM
5*
6* This version only contains what is necessary for a application to run
7* All other garbage has been removed as not to waste memory.
8*
9* Sample application startup code. This must be the first object file in
10* the link statement so that the base page address can be accessed.
11* When a program is executed, GEMDOS gives all available memory to it.
12* If this program needs to do any memory management, then one must first
13* free unused memory by a setblock call. All "segment" lengths in the base
14* page are totaled and 0x100 is added for the base page length for the setblock
15* call.
16*
17
18 .text
19 .globl _main
20 .globl _crystal
21 .globl _ctrl_cnts
22*
23* Must be first object file in link statement
24*
25 move.l a7,a5 * save a7 so we can get the base page address
26 move.l #ustk,a7 * set local stack
27 move.l 4(a5),a5 * basepage address
28 move.l $c(a5),d0
29 add.l $14(a5),d0
30 add.l $1c(a5),d0
31 add.l #$100,d0 * skip los pageos baseos
32 move.l d0,-(sp)
33 move.l a5,-(sp)
34 move d0,-(sp) * junk word
35 move #$4a,-(sp)
36 trap #1
37 add.l #12,sp
38*
39 jsr _main * go to program
40 move.l #0,-(a7) * back to gemdos
41 trap #1
42*
43* For GEMAES calls from AESBIND.ARC or cryslib.o
44*
45_crystal:
46 move.l 4(a7),d1
47 move.w #200,d0
48 trap #2
49 rts
50*
51*
52 .bss
53 .even
54 .ds.l 256
55ustk: .ds.l 1
56*
57 .data
58 .even
59_ctrl_cnts: * Application Manager
60 .dc.b 0, 1, 0 * func 010
61 .dc.b 2, 1, 1 * func 011
62 .dc.b 2, 1, 1 * func 012
63 .dc.b 0, 1, 1 * func 013
64 .dc.b 2, 1, 1 * func 014
65 .dc.b 1, 1, 1 * func 015
66 .dc.b 0, 0, 0 * func 016
67 .dc.b 0, 0, 0 * func 017
68 .dc.b 0, 0, 0 * func 008
69 .dc.b 0, 1, 0 * func 019
70* Event Manager
71 .dc.b 0, 1, 0 * func 020
72 .dc.b 3, 5, 0 * func 021
73 .dc.b 5, 5, 0 * func 022
74 .dc.b 0, 1, 1 * func 023
75 .dc.b 2, 1, 0 * func 024
76 .dc.b 16, 7, 1 * func 025
77 .dc.b 2, 1, 0 * func 026
78 .dc.b 0, 0, 0 * func 027
79 .dc.b 0, 0, 0 * func 028
80 .dc.b 0, 0, 0 * func 009
81* Menu Manager
82 .dc.b 1, 1, 1 * func 030
83 .dc.b 2, 1, 1 * func 031
84 .dc.b 2, 1, 1 * func 032
85 .dc.b 2, 1, 1 * func 033
86 .dc.b 1, 1, 2 * func 034
87 .dc.b 1, 1, 1 * func 005
88 .dc.b 0, 0, 0 * func 006
89 .dc.b 0, 0, 0 * func 007
90 .dc.b 0, 0, 0 * func 008
91 .dc.b 0, 0, 0 * func 009
92* Object Manager
93 .dc.b 2, 1, 1 * func 040
94 .dc.b 1, 1, 1 * func 041
95 .dc.b 6, 1, 1 * func 042
96 .dc.b 4, 1, 1 * func 043
97 .dc.b 1, 3, 1 * func 044
98 .dc.b 2, 1, 1 * func 045
99 .dc.b 4, 2, 1 * func 046
100 .dc.b 8, 1, 1 * func 047
101 .dc.b 0, 0, 0 * func 048
102 .dc.b 0, 0, 0 * func 049
103* Form Manager
104 .dc.b 1, 1, 1 * func 050
105 .dc.b 9, 1, 1 * func 051
106 .dc.b 1, 1, 1 * func 002
107 .dc.b 1, 1, 0 * func 003
108 .dc.b 0, 5, 1 * func 004
109 .dc.b 0, 0, 0 * func 005
110 .dc.b 0, 0, 0 * func 006
111 .dc.b 0, 0, 0 * func 007
112 .dc.b 0, 0, 0 * func 008
113 .dc.b 0, 0, 0 * func 009
114* Dialog Manager
115 .dc.b 0, 0, 0 * func 060
116 .dc.b 0, 0, 0 * func 061
117 .dc.b 0, 0, 0 * func 062
118 .dc.b 0, 0, 0 * func 003
119 .dc.b 0, 0, 0 * func 004
120 .dc.b 0, 0, 0 * func 005
121 .dc.b 0, 0, 0 * func 006
122 .dc.b 0, 0, 0 * func 007
123 .dc.b 0, 0, 0 * func 008
124 .dc.b 0, 0, 0 * func 009
125* Graphics Manager
126 .dc.b 4, 3, 0 * func 070
127 .dc.b 8, 3, 0 * func 071
128 .dc.b 6, 1, 0 * func 072
129 .dc.b 8, 1, 0 * func 073
130 .dc.b 8, 1, 0 * func 074
131 .dc.b 4, 1, 1 * func 075
132 .dc.b 3, 1, 1 * func 076
133 .dc.b 0, 5, 0 * func 077
134 .dc.b 1, 1, 1 * func 078
135 .dc.b 0, 5, 0 * func 009
136* Scrap Manager
137 .dc.b 0, 1, 1 * func 080
138 .dc.b 0, 1, 1 * func 081
139 .dc.b 0, 0, 0 * func 082
140 .dc.b 0, 0, 0 * func 083
141 .dc.b 0, 0, 0 * func 084
142 .dc.b 0, 0, 0 * func 005
143 .dc.b 0, 0, 0 * func 006
144 .dc.b 0, 0, 0 * func 007
145 .dc.b 0, 0, 0 * func 008
146 .dc.b 0, 0, 0 * func 009
147* fseler Manager
148 .dc.b 0, 2, 2 * func 090
149 .dc.b 0, 0, 0 * func 091
150 .dc.b 0, 0, 0 * func 092
151 .dc.b 0, 0, 0 * func 003
152 .dc.b 0, 0, 0 * func 004
153 .dc.b 0, 0, 0 * func 005
154 .dc.b 0, 0, 0 * func 006
155 .dc.b 0, 0, 0 * func 007
156 .dc.b 0, 0, 0 * func 008
157 .dc.b 0, 0, 0 * func 009
158* Window Manager
159 .dc.b 5, 1, 0 * func 100
160 .dc.b 5, 1, 0 * func 101
161 .dc.b 1, 1, 0 * func 102
162 .dc.b 1, 1, 0 * func 103
163 .dc.b 2, 5, 0 * func 104
164 .dc.b 6, 1, 0 * func 105
165 .dc.b 2, 1, 0 * func 106
166 .dc.b 1, 1, 0 * func 107
167 .dc.b 6, 5, 0 * func 108
168 .dc.b 0, 0, 0 * func 009
169* Resource Manger
170 .dc.b 0, 1, 1 * func 110
171 .dc.b 0, 1, 0 * func 111
172 .dc.b 2, 1, 0 * func 112
173 .dc.b 2, 1, 1 * func 113
174 .dc.b 1, 1, 1 * func 114
175 .dc.b 0, 0, 0 * func 115
176 .dc.b 0, 0, 0 * func 006
177 .dc.b 0, 0, 0 * func 007
178 .dc.b 0, 0, 0 * func 008
179 .dc.b 0, 0, 0 * func 009
180* Shell Manager
181 .dc.b 0, 1, 2 * func 120
182 .dc.b 3, 1, 2 * func 121
183 .dc.b 1, 1, 1 * func 122
184 .dc.b 1, 1, 1 * func 123
185 .dc.b 0, 1, 1 * func 124
186 .dc.b 0, 1, 2 * func 125
187 .end
Note: See TracBrowser for help on using the repository browser.