annotate level1/modules/kernel/krn.asm @ 2006:31ca1a8e9a3a

Added comments
author boisy
date Fri, 03 Mar 2006 19:01:54 +0000
parents e0208af7e616
children 775551ca320f
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1453
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1 ********************************************************************
1587
5f18094d961d kernel modules renamed to krn, updated makefiles, clock2_tc3 now clock2_cloud9...
boisy
parents: 1460
diff changeset
2 * Krn - NitrOS-9 Level 1 Kernel
1453
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
3 *
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
4 * $Id$
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
5 *
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
6 * This is how the memory map looks after the kernel has initialized:
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
7 *
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
8 * $0000----> ==================================
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
9 * | |
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
10 * | |
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
11 * $0020-$0111 | System Globals (D.FMBM-D.XNMI) |
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
12 * | |
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
13 * | |
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
14 * $0200---->|==================================|
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
15 * | Free Memory Bitmap |
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
16 * $0200-$021F | (1 bit = 256 byte page) |
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
17 * |----------------------------------|
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
18 * | System Dispatch Table |
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
19 * $0222-$0291 | (Room for 56 addresses) |
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
20 * |----------------------------------|
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
21 * $0292-$02FF | User Dispatch Table |
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
22 * | (Room for 56 addresses) |
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
23 * $0300---->|==================================|
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
24 * | |
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
25 * | |
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
26 * $0300-$03FF | Module Directory Entries |
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
27 * | (Room for 64 entries) |
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
28 * | |
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
29 * $0400---->|==================================|
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
30 * | |
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
31 * $0400-$04FF | System Stack |
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
32 * | |
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
33 * $0500---->|==================================|
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
34 *
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
35 * Edt/Rev YYYY/MM/DD Modified by
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
36 * Comment
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
37 * ------------------------------------------------------------------
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
38 * 14 1985/??/??
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
39 * From Tandy OS-9 Level One VR 02.00.00
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
40 *
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
41 * 15 2002/07/21 Boisy G. Pitre
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
42 * Module validation consists only of module header parity check.
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
43 * CRC check is not done unless D.CRC is set to 1, which is NOT the
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
44 * default case. By default, D.CRC is set to 0, thus there is no
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
45 * CRC checking. Speeds up module loads quite a bit. The Init module
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
46 * has a bit in a compatibility byte that can turn on/off CRC checking
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
47 *
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
48 * 15r1 2003/12/09 Boisy G. Pitre
1460
2078e274b963 Start of addition of 6309 code in kernel
boisy
parents: 1458
diff changeset
49 * Kernel no longer scans for modules in I/O space. Also, F$PrsNam now
2078e274b963 Start of addition of 6309 code in kernel
boisy
parents: 1458
diff changeset
50 * allows _ and 0-9 as first chars of a filename.
1587
5f18094d961d kernel modules renamed to krn, updated makefiles, clock2_tc3 now clock2_cloud9...
boisy
parents: 1460
diff changeset
51 *
5f18094d961d kernel modules renamed to krn, updated makefiles, clock2_tc3 now clock2_cloud9...
boisy
parents: 1460
diff changeset
52 * 15r1 2004/05/23 Boisy G. Pitre
5f18094d961d kernel modules renamed to krn, updated makefiles, clock2_tc3 now clock2_cloud9...
boisy
parents: 1460
diff changeset
53 * Renamed to 'krn'
1453
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
54
1587
5f18094d961d kernel modules renamed to krn, updated makefiles, clock2_tc3 now clock2_cloud9...
boisy
parents: 1460
diff changeset
55 nam krn
1453
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
56 ttl NitrOS-9 Level 1 Kernel
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
57
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
58 ifp1
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
59 use defsfile
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
60 use scfdefs
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
61 endc
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
62
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
63 tylg set Systm+Objct
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
64 atrv set ReEnt+rev
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
65 rev set $01
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
66 edition set 15
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
67
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
68 L0000 mod eom,name,tylg,atrv,OS9Cold,size
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
69
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
70 size equ .
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
71
1663
e0208af7e616 Capitalized first letter in Krn
boisy
parents: 1622
diff changeset
72 name fcs /Krn/
1453
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
73 fcb edition
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
74
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
75 InitNam fcs /Init/
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
76
1622
7b23df54c208 Updates
boisy
parents: 1587
diff changeset
77 P2Nam fcs /krnp2/
1453
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
78
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
79 VectCode bra SWI3Jmp $0100
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
80 nop
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
81 bra SWI2Jmp $0103
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
82 nop
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
83 bra SWIJmp $0106
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
84 nop
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
85 bra NMIJmp $0109
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
86 nop
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
87 bra IRQJmp $010C
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
88 nop
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
89 bra FIRQJmp $010F
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
90
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
91 SWI3Jmp jmp [>D.SWI3]
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
92 SWI2Jmp jmp [>D.SWI2]
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
93 SWIJmp jmp [>D.SWI]
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
94 NMIJmp jmp [>D.NMI]
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
95 IRQJmp jmp [>D.IRQ]
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
96 FIRQJmp jmp [>D.FIRQ]
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
97 VectCSz equ *-VectCode
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
98
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
99
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
100 SysTbl fcb F$Link
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
101 fdb FLink-*-2
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
102
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
103 fcb F$Fork
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
104 fdb FFork-*-2
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
105
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
106 fcb F$Chain
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
107 fdb FChain-*-2
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
108
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
109 fcb F$Chain+$80
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
110 fdb SFChain-*-2
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
111
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
112 fcb F$PrsNam
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
113 fdb FPrsNam-*-2
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
114
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
115 fcb F$CmpNam
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
116 fdb FCmpNam-*-2
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
117
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
118 fcb F$SchBit
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
119 fdb FSchBit-*-2
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
120
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
121 fcb F$AllBit
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
122 fdb FAllBit-*-2
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
123
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
124 fcb F$DelBit
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
125 fdb FDelBit-*-2
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
126
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
127 fcb F$CRC
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
128 fdb FCRC-*-2
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
129
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
130 fcb F$SRqMem+$80
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
131 fdb FSRqMem-*-2
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
132
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
133 fcb F$SRtMem+$80
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
134 fdb FSRtMem-*-2
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
135
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
136 fcb F$AProc+$80
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
137 fdb FAProc-*-2
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
138
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
139 fcb F$NProc+$80
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
140 fdb FNProc-*-2
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
141
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
142 fcb F$VModul+$80
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
143 fdb FVModul-*-2
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
144
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
145 fcb F$SSvc
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
146 fdb FSSvc-*-2
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
147
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
148 fcb $80
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
149
1460
2078e274b963 Start of addition of 6309 code in kernel
boisy
parents: 1458
diff changeset
150 IFNE H6309
2078e274b963 Start of addition of 6309 code in kernel
boisy
parents: 1458
diff changeset
151 Zoro fcb $00
2078e274b963 Start of addition of 6309 code in kernel
boisy
parents: 1458
diff changeset
152 ENDC
2078e274b963 Start of addition of 6309 code in kernel
boisy
parents: 1458
diff changeset
153
1453
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
154 *
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
155 * OS-9 Genesis!
1460
2078e274b963 Start of addition of 6309 code in kernel
boisy
parents: 1458
diff changeset
156
1453
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
157 OS9Cold equ *
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
158 * clear out system globals from $0020-$0400
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
159 ldx #D.FMBM
1460
2078e274b963 Start of addition of 6309 code in kernel
boisy
parents: 1458
diff changeset
160 IFNE H6309
2078e274b963 Start of addition of 6309 code in kernel
boisy
parents: 1458
diff changeset
161 ldw #$400-D.FMBM
2078e274b963 Start of addition of 6309 code in kernel
boisy
parents: 1458
diff changeset
162 leay Zoro,pc
2078e274b963 Start of addition of 6309 code in kernel
boisy
parents: 1458
diff changeset
163 tfm y,x+
2078e274b963 Start of addition of 6309 code in kernel
boisy
parents: 1458
diff changeset
164 ELSE
1453
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
165 ldy #$400-D.FMBM
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
166 clra
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
167 clrb
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
168 L007F std ,x++
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
169 leay -2,y
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
170 bne L007F
1460
2078e274b963 Start of addition of 6309 code in kernel
boisy
parents: 1458
diff changeset
171 ENDC
2078e274b963 Start of addition of 6309 code in kernel
boisy
parents: 1458
diff changeset
172
1453
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
173 * set up system globals
1460
2078e274b963 Start of addition of 6309 code in kernel
boisy
parents: 1458
diff changeset
174 IFNE H6309
2078e274b963 Start of addition of 6309 code in kernel
boisy
parents: 1458
diff changeset
175 ldd #$200
2078e274b963 Start of addition of 6309 code in kernel
boisy
parents: 1458
diff changeset
176 ELSE
1453
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
177 inca
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
178 inca D = $200
1460
2078e274b963 Start of addition of 6309 code in kernel
boisy
parents: 1458
diff changeset
179 ENDC
1453
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
180 std <D.FMBM $200 = start of free memory bitmap
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
181 addb #$20
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
182 std <D.FMBM+2 $220 = end of free memory bitmap
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
183 addb #$02
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
184 std <D.SysDis $222 = addr of sys dispatch tbl
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
185 addb #$70
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
186 std <D.UsrDis $292 = addr of usr dispatch tbl
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
187 clrb
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
188 inca D = $300
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
189 std <D.ModDir $300 = mod dir start
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
190 stx <D.ModDir+2 X = $400 = mod dir end
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
191 leas >$0100,x S = $500 (system stack?)
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
192
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
193 * Check for valid RAM starting at $400
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
194 ChkRAM leay ,x
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
195 ldd ,y store org contents in D
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
196 ldx #$00FF
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
197 stx ,y write pattern to ,Y
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
198 cmpx ,y same as what we wrote?
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
199 bne L00C2 nope, not RAM here!
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
200 ldx #$FF00 try different pattern
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
201 stx ,y write it to ,Y
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
202 cmpx ,y same as what we wrote?
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
203 bne L00C2 nope, not RAM here!
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
204 std ,y else restore org contents
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
205 leax >$0100,y check top of next 256 block
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
206 cmpx #Bt.Start stop short of boot track mem
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
207 bcs ChkRAM
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
208 leay ,x
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
209 * Here, Y = end of RAM
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
210 L00C2 leax ,y X = end of RAM
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
211 stx <D.MLIM save off memory limit
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
212
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
213 * Copy vector code over to address $100
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
214 pshs y,x
1460
2078e274b963 Start of addition of 6309 code in kernel
boisy
parents: 1458
diff changeset
215 IFNE H6309
2078e274b963 Start of addition of 6309 code in kernel
boisy
parents: 1458
diff changeset
216 leax >VectCode,pcr
2078e274b963 Start of addition of 6309 code in kernel
boisy
parents: 1458
diff changeset
217 ldy #D.XSWI3
2078e274b963 Start of addition of 6309 code in kernel
boisy
parents: 1458
diff changeset
218 ldw #VectCSz
2078e274b963 Start of addition of 6309 code in kernel
boisy
parents: 1458
diff changeset
219 tfm x+,y+
2078e274b963 Start of addition of 6309 code in kernel
boisy
parents: 1458
diff changeset
220 ELSE
1453
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
221 leax >VectCode,pcr
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
222 ldy #D.XSWI3
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
223 ldb #VectCSz
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
224 L00D2 lda ,x+
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
225 sta ,y+
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
226 decb
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
227 bne L00D2
1460
2078e274b963 Start of addition of 6309 code in kernel
boisy
parents: 1458
diff changeset
228 ENDC
1453
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
229 puls y,x
1460
2078e274b963 Start of addition of 6309 code in kernel
boisy
parents: 1458
diff changeset
230
2078e274b963 Start of addition of 6309 code in kernel
boisy
parents: 1458
diff changeset
231 * Validate modules at top of RAM (kernel, etc.)
1453
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
232 L00DB lbsr ValMod
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
233 bcs L00E6
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
234 ldd M$Size,x
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
235 leax d,x go past module
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
236 bra L00EC
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
237 L00E6 cmpb #E$KwnMod
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
238 beq L00EE
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
239 leax 1,x
1460
2078e274b963 Start of addition of 6309 code in kernel
boisy
parents: 1458
diff changeset
240 * Modification to stop scan into I/O space -- Added by BGP
1453
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
241 L00EC cmpx #Bt.Start+Bt.Size
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
242 bcs L00DB
1460
2078e274b963 Start of addition of 6309 code in kernel
boisy
parents: 1458
diff changeset
243 * Copy vectors to system globals
1453
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
244 L00EE leay >Vectors,pcr
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
245 leax >L0000,pcr
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
246 pshs x
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
247 ldx #D.SWI3
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
248 L00FB ldd ,y++
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
249 addd ,s
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
250 std ,x++
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
251 cmpx #$0036
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
252 bls L00FB
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
253 leas 2,s restore stack
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
254
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
255 * fill in more system globals
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
256 leax >URtoSs,pcr
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
257 stx <D.URtoSs
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
258 leax >UsrIRQ,pcr
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
259 stx <D.UsrIRQ
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
260 leax >UsrSvc,pcr
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
261 stx <D.UsrSvc
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
262 leax >SysIRQ,pcr
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
263 stx <D.SysIRQ
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
264 stx <D.SvcIRQ
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
265 leax >SysSvc,pcr
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
266 stx <D.SysSvc
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
267 stx <D.SWI2
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
268 leax >Poll,pcr
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
269 stx <D.Poll
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
270 leax >Clock,pcr
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
271 stx <D.Clock
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
272 stx <D.AltIRQ
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
273
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
274 * install system calls
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
275 leay >SysTbl,pcr
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
276 lbsr InstSSvc
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
277
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
278 * link to init module
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
279 lda #Systm+0
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
280 leax >InitNam,pcr
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
281 os9 F$Link
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
282 lbcs OS9Cold
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
283 stu <D.Init
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
284 lda Feature1,u get feature byte 1
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
285 bita #CRCOn CRC on?
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
286 beq GetMem branch if not (already cleared earlier)
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
287 inc <D.CRC else turn on CRC checking
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
288 GetMem ldd MaxMem+1,u
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
289 clrb
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
290 cmpd <D.MLIM
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
291 bcc L0158
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
292 std <D.MLIM
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
293 L0158 ldx <D.FMBM
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
294 ldb #$F8
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
295 stb ,x
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
296 clra
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
297 ldb <D.MLIM
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
298 negb
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
299 tfr d,y
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
300 negb
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
301 lbsr L065A
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
302
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
303 * jump into OS9p2 here
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
304 leax >P2Nam,pcr
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
305 lda #Systm+Objct
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
306 os9 F$Link
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
307 lbcs OS9Cold
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
308 jmp ,y
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
309 SWI3 pshs pc,x,b
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
310 ldb #P$SWI3
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
311 bra L018C
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
312 SWI2 pshs pc,x,b
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
313 ldb #P$SWI2
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
314 bra L018C
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
315 DUMMY rti
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
316 SVCIRQ jmp [>D.SvcIRQ]
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
317 SWI pshs pc,x,b
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
318 ldb #P$SWI
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
319 L018C ldx >D.Proc
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
320 ldx b,x get SWI entry
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
321 stx 3,s put in PC on stack
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
322 puls pc,x,b
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
323
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
324 UsrIRQ leay <L01B1,pcr
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
325 * transition from user to system state
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
326 URtoSs clra
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
327 tfr a,dp clear direct page
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
328 ldx <D.Proc
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
329 ldd <D.SysSvc
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
330 std <D.SWI2
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
331 ldd <D.SysIRQ
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
332 std <D.SvcIRQ
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
333 leau ,s
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
334 stu P$SP,x
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
335 lda P$State,x
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
336 ora #SysState
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
337 sta P$State,x
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
338 jmp ,y
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
339
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
340 L01B1 jsr [>D.Poll]
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
341 bcc L01BD
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
342 ldb ,s
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
343 orb #$10
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
344 stb ,s
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
345 L01BD lbra L0255
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
346
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
347 SysIRQ clra
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
348 tfr a,dp
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
349 jsr [>D.Poll]
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
350 bcc L01CF
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
351 ldb ,s
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
352 orb #$10
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
353 stb ,s
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
354 L01CF rti
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
355 Poll comb
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
356 rts
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
357
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
358 Clock ldx <D.SProcQ
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
359 beq L01FD
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
360 lda P$State,x
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
361 bita #TimSleep
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
362 beq L01FD
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
363 ldu P$SP,x
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
364 ldd P$SP,u
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
365 subd #$0001
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
366 std P$SP,u
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
367 bne L01FD
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
368 L01E7 ldu P$Queue,x
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
369 bsr L021A
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
370 leax ,u
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
371 beq L01FB
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
372 lda P$State,x
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
373 bita #TimSleep
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
374 beq L01FB
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
375 ldu P$SP,x
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
376 ldd P$SP,u
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
377 beq L01E7
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
378 L01FB stx <D.SProcQ
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
379 L01FD dec <D.Slice
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
380 bne ClockRTI
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
381 lda <D.TSlice
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
382 sta <D.Slice
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
383 ldx <D.Proc
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
384 beq ClockRTI
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
385 lda P$State,x
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
386 ora #TimOut
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
387 sta P$State,x
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
388 bpl L0212 branch if not system state
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
389 ClockRTI rti
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
390
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
391 L0212 leay >L0255,pcr
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
392 bra URtoSs
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
393
2006
31ca1a8e9a3a Added comments
boisy
parents: 1663
diff changeset
394
31ca1a8e9a3a Added comments
boisy
parents: 1663
diff changeset
395 *FAProc ldx R$X,u Get ptr to process to activate
31ca1a8e9a3a Added comments
boisy
parents: 1663
diff changeset
396 *L0D11 clrb
31ca1a8e9a3a Added comments
boisy
parents: 1663
diff changeset
397 * pshs cc,b,x,y,u
31ca1a8e9a3a Added comments
boisy
parents: 1663
diff changeset
398 * lda P$Prior,x Get process priority
31ca1a8e9a3a Added comments
boisy
parents: 1663
diff changeset
399 * sta P$Age,x Save it as age (How long it's been around)
31ca1a8e9a3a Added comments
boisy
parents: 1663
diff changeset
400 * orcc #IntMasks Shut down IRQ's
31ca1a8e9a3a Added comments
boisy
parents: 1663
diff changeset
401 * ldu #(D.AProcQ-P$Queue) Get ptr to active process queue
31ca1a8e9a3a Added comments
boisy
parents: 1663
diff changeset
402 * bra L0D29 Go through the chain
31ca1a8e9a3a Added comments
boisy
parents: 1663
diff changeset
403 ** Update active process queue
31ca1a8e9a3a Added comments
boisy
parents: 1663
diff changeset
404 ** X=Process to activate
31ca1a8e9a3a Added comments
boisy
parents: 1663
diff changeset
405 ** U=Current process in queue links
31ca1a8e9a3a Added comments
boisy
parents: 1663
diff changeset
406 *L0D1F inc P$Age,u update current process age
31ca1a8e9a3a Added comments
boisy
parents: 1663
diff changeset
407 * bne L0D25 wrap?
31ca1a8e9a3a Added comments
boisy
parents: 1663
diff changeset
408 * dec P$Age,u yes, reset it to max.
31ca1a8e9a3a Added comments
boisy
parents: 1663
diff changeset
409 *L0D25 cmpa P$Age,u match process ages??
31ca1a8e9a3a Added comments
boisy
parents: 1663
diff changeset
410 * bhi L0D2B no, skip update
31ca1a8e9a3a Added comments
boisy
parents: 1663
diff changeset
411 *L0D29 leay ,u point Y to current process
31ca1a8e9a3a Added comments
boisy
parents: 1663
diff changeset
412 *L0D2B ldu P$Queue,u get pointer to next process in chain
31ca1a8e9a3a Added comments
boisy
parents: 1663
diff changeset
413 * bne L0D1F Still more in chain, keep going
31ca1a8e9a3a Added comments
boisy
parents: 1663
diff changeset
414 * ldd P$Queue,y
31ca1a8e9a3a Added comments
boisy
parents: 1663
diff changeset
415 * stx P$Queue,y save new process to chain
31ca1a8e9a3a Added comments
boisy
parents: 1663
diff changeset
416 * std P$Queue,x
31ca1a8e9a3a Added comments
boisy
parents: 1663
diff changeset
417 * puls cc,b,x,y,u,pc
31ca1a8e9a3a Added comments
boisy
parents: 1663
diff changeset
418
31ca1a8e9a3a Added comments
boisy
parents: 1663
diff changeset
419
31ca1a8e9a3a Added comments
boisy
parents: 1663
diff changeset
420 **************************************************
31ca1a8e9a3a Added comments
boisy
parents: 1663
diff changeset
421 * System Call: F$AProc
31ca1a8e9a3a Added comments
boisy
parents: 1663
diff changeset
422 *
31ca1a8e9a3a Added comments
boisy
parents: 1663
diff changeset
423 * Function: Insert process into active process queue
31ca1a8e9a3a Added comments
boisy
parents: 1663
diff changeset
424 *
31ca1a8e9a3a Added comments
boisy
parents: 1663
diff changeset
425 * Input: X = Address of process descriptor
31ca1a8e9a3a Added comments
boisy
parents: 1663
diff changeset
426 *
31ca1a8e9a3a Added comments
boisy
parents: 1663
diff changeset
427 * Output: None (U and Y are preserved)
31ca1a8e9a3a Added comments
boisy
parents: 1663
diff changeset
428 *
31ca1a8e9a3a Added comments
boisy
parents: 1663
diff changeset
429 * Error: CC = C bit set; B = error code
31ca1a8e9a3a Added comments
boisy
parents: 1663
diff changeset
430 *
31ca1a8e9a3a Added comments
boisy
parents: 1663
diff changeset
431 * "An Ode to Dr. Lee"
31ca1a8e9a3a Added comments
boisy
parents: 1663
diff changeset
432 * (1:27PM, Feb 23, 2006)
31ca1a8e9a3a Added comments
boisy
parents: 1663
diff changeset
433 *
31ca1a8e9a3a Added comments
boisy
parents: 1663
diff changeset
434 * Sitting in CMPS 455, I listen to Dr. Lee,
31ca1a8e9a3a Added comments
boisy
parents: 1663
diff changeset
435 * His teaching style is as awful as any can be.
31ca1a8e9a3a Added comments
boisy
parents: 1663
diff changeset
436 * Operating System Principles I have seen many times before,
31ca1a8e9a3a Added comments
boisy
parents: 1663
diff changeset
437 * And as a result, this class is a major bore.
31ca1a8e9a3a Added comments
boisy
parents: 1663
diff changeset
438 * As he talks about file systems, I work on NitrOS-9,
31ca1a8e9a3a Added comments
boisy
parents: 1663
diff changeset
439 * even though I pay no attention, I do not fall behind.
31ca1a8e9a3a Added comments
boisy
parents: 1663
diff changeset
440 *
31ca1a8e9a3a Added comments
boisy
parents: 1663
diff changeset
441 * - Anonymous Student who returned
31ca1a8e9a3a Added comments
boisy
parents: 1663
diff changeset
442 * to university to complete his
31ca1a8e9a3a Added comments
boisy
parents: 1663
diff changeset
443 * computer science degree while working
31ca1a8e9a3a Added comments
boisy
parents: 1663
diff changeset
444 * on The NitrOS-9 Project.
31ca1a8e9a3a Added comments
boisy
parents: 1663
diff changeset
445 *
31ca1a8e9a3a Added comments
boisy
parents: 1663
diff changeset
446 FAProc ldx R$X,u get ptr to process to activate
31ca1a8e9a3a Added comments
boisy
parents: 1663
diff changeset
447 L021A pshs u,y save U/Y on stack
31ca1a8e9a3a Added comments
boisy
parents: 1663
diff changeset
448 ldu #(D.AProcQ-P$Queue)
1453
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
449 bra L0228
2006
31ca1a8e9a3a Added comments
boisy
parents: 1663
diff changeset
450 L0221 ldb P$Age,u get process age
31ca1a8e9a3a Added comments
boisy
parents: 1663
diff changeset
451 incb update it
31ca1a8e9a3a Added comments
boisy
parents: 1663
diff changeset
452 beq L0228 branch if wrap
31ca1a8e9a3a Added comments
boisy
parents: 1663
diff changeset
453 stb P$Age,u save it back to proc desc
31ca1a8e9a3a Added comments
boisy
parents: 1663
diff changeset
454 L0228 ldu P$Queue,u get pointer to queue this process queue
31ca1a8e9a3a Added comments
boisy
parents: 1663
diff changeset
455 bne L0221 branch if process is in active queue
31ca1a8e9a3a Added comments
boisy
parents: 1663
diff changeset
456 ldu #(D.AProcQ-P$Queue)
31ca1a8e9a3a Added comments
boisy
parents: 1663
diff changeset
457 lda P$Prior,x get process priority
31ca1a8e9a3a Added comments
boisy
parents: 1663
diff changeset
458 sta P$Age,x save it as age (How long its been around)
31ca1a8e9a3a Added comments
boisy
parents: 1663
diff changeset
459 orcc #IntMasks mask interrupts
31ca1a8e9a3a Added comments
boisy
parents: 1663
diff changeset
460 L0235 leay ,u point Y to current process
31ca1a8e9a3a Added comments
boisy
parents: 1663
diff changeset
461 ldu P$Queue,u get pointer to queue
1453
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
462 beq L023F
2006
31ca1a8e9a3a Added comments
boisy
parents: 1663
diff changeset
463 cmpa P$Age,u match process ages?
31ca1a8e9a3a Added comments
boisy
parents: 1663
diff changeset
464 bls L0235 no, skip update
1453
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
465 L023F stu P$Queue,x
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
466 stx P$Queue,y
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
467 clrb
2006
31ca1a8e9a3a Added comments
boisy
parents: 1663
diff changeset
468 puls pc,u,y restore U/Y and return
31ca1a8e9a3a Added comments
boisy
parents: 1663
diff changeset
469
1453
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
470
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
471 UsrSvc leay <L024E,pcr
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
472 orcc #IntMasks
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
473 lbra URtoSs
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
474
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
475 L024E andcc #^IntMasks
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
476 ldy <D.UsrDis
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
477 bsr L0278
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
478 L0255 ldx <D.Proc get current proc desc
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
479 beq FNProc branch to FNProc if none
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
480 orcc #IntMasks
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
481 ldb P$State,x
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
482 andb #^SysState
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
483 stb P$State,x
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
484 bitb #TimOut
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
485 beq L02D1
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
486 andb #^TimOut
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
487 stb P$State,x
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
488 bsr L021A
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
489 bra FNProc
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
490
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
491 * system call entry
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
492 SysSvc clra
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
493 tfr a,dp set direct page to 0
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
494 leau ,s
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
495 ldy <D.SysDis
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
496 bsr L0278
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
497 rti
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
498
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
499 L0278 pshs u
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
500 ldx R$PC,u point X to PC
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
501 ldb ,x+ get func code at X
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
502 stx R$PC,u restore updated PC
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
503 lslb multiply by 2
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
504 bcc L0288 branch if user call
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
505 rorb
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
506 ldx -2,y
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
507 bra L0290
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
508 L0288 cmpb #$6E
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
509 bcc L02A7
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
510 ldx b,y X = addr of system call
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
511 beq L02A7
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
512 L0290 jsr ,x jsr into system call
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
513 L0292 puls u
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
514 tfr cc,a
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
515 bcc FixCC branch if no error
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
516 stb R$B,u store error code
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
517 FixCC ldb R$CC,u get caller's CC
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
518 andb #^(Negative+Zero+TwosOvfl+Carry)
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
519 stb R$CC,u
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
520 anda #Negative+Zero+TwosOvfl+Carry
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
521 ora R$CC,u
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
522 sta R$CC,u
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
523 rts
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
524 L02A7 comb
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
525 ldb #E$UnkSvc
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
526 bra L0292
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
527
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
528 * no signal handler, exit with signal value as exit code
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
529 L02AC ldb P$State,x
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
530 orb #SysState
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
531 stb P$State,x
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
532 ldb <P$Signal,x
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
533 andcc #^(IntMasks)
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
534 os9 F$Exit
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
535
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
536 FNProc clra
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
537 clrb
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
538 std <D.Proc
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
539 bra L02C2
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
540 * execution goes here when there are no active processes
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
541 L02C0 cwai #^(IntMasks)
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
542 L02C2 orcc #IntMasks
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
543 ldx <D.AProcQ get next active process
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
544 beq L02C0 CWAI if none
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
545 ldd P$Queue,x get queue ptr
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
546 std <D.AProcQ store in Active Q
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
547 stx <D.Proc store in current process
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
548 lds P$SP,x get process' stack ptr
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
549 L02D1 ldb P$State,x get state
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
550 bmi L0308 branch if system state
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
551 bitb #Condem process condemned?
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
552 bne L02AC branch if so...
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
553 ldb <P$Signal,x get signal no
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
554 beq L02FF branch if none
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
555 decb decrement
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
556 beq L02FC branch if wake up
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
557 ldu <P$SigVec,x get signal handler addr
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
558 beq L02AC branch if none
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
559 ldy <P$SigDat,x get data addr
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
560 ldd $06,s
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
561 pshs u,y,b,a
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
562 ldu $0A,s
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
563 lda <P$Signal,x
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
564 ldb $09,s
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
565 tfr d,y
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
566 ldd $06,s
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
567 pshs u,y,b,a
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
568 clrb
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
569 L02FC stb <P$Signal,x
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
570 L02FF ldd <P$SWI2,x
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
571 std <D.SWI2
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
572 ldd <D.UsrIRQ
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
573 std <D.SvcIRQ
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
574 L0308 rti
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
575
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
576 FLink pshs u save caller regs
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
577 ldd R$A,u
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
578 ldx R$X,u
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
579 lbsr L0443
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
580 bcc FLinkOK
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
581 ldb #E$MNF
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
582 bra L033D
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
583 * U = module dir entry
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
584 FLinkOK ldy ,u get module ptr
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
585 ldb M$Revs,y
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
586 bitb #ReEnt reentrant?
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
587 bne L032A branch if so
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
588 tst $02,u link count zero?
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
589 beq L032A yep, ok to link to nonreent
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
590 comb else module is busy
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
591 ldb #E$ModBsy
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
592 bra L033D
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
593 L032A inc $02,u increment link count
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
594 ldu ,s get caller regs from stack
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
595 stx R$X,u
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
596 sty R$U,u
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
597 ldd M$Type,y
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
598 std R$D,u
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
599 ldd M$IDSize,y
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
600 leax d,y
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
601 stx R$Y,u
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
602 L033D puls pc,u
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
603
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
604 FVModul pshs u
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
605 ldx R$X,u
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
606 bsr ValMod
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
607 puls y
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
608 stu R$U,y
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
609 rts
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
610 * X = address of module to validate
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
611 ValMod bsr ChkMHCRC
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
612 bcs L039A
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
613 lda M$Type,x
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
614 pshs x,a
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
615 ldd M$Name,x
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
616 leax d,x X = addr of name in mod
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
617 puls a
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
618 lbsr L0443
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
619 puls x
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
620 bcs L039B
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
621 ldb #E$KwnMod
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
622 cmpx ,u
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
623 beq L03A1
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
624 lda M$Revs,x
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
625 anda #RevsMask
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
626 pshs a
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
627 ldy ,u
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
628 lda M$Revs,y
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
629 anda #RevsMask
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
630 cmpa ,s+ same revision as other mod?
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
631 bcc L03A1
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
632 pshs y,x
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
633 ldb M$Size,u
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
634 bne L0395
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
635 ldx ,u
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
636 cmpx <D.BTLO
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
637 bcc L0395
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
638 ldd $02,x
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
639 addd #$00FF
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
640 tfr a,b
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
641 clra
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
642 tfr d,y
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
643 ldb ,u
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
644 ldx <D.FMBM
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
645 os9 F$DelBit
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
646 clr $02,u
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
647 L0395 puls y,x
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
648 L0397 stx ,u
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
649 clrb
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
650 L039A rts
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
651 L039B leay ,u
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
652 bne L0397
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
653 ldb #E$DirFul
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
654 L03A1 coma
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
655 rts
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
656
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
657 * check module header and CRC
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
658 * X = address of potential module
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
659 ChkMHCRC ldd ,x
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
660 cmpd #M$ID12 sync bytes?
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
661 bne L03B1 nope, not a module here
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
662 leay M$Parity,x
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
663 bsr ChkMHPar check header parity
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
664 bcc L03B5 branch if ok
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
665 L03B1 comb
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
666 ldb #E$BMID
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
667 rts
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
668
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
669 L03B5
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
670 * Following 4 lines added to support no CRC checks - 2002/07/21
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
671 lda <D.CRC is CRC checking on?
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
672 bne DoCRCCk branch if so
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
673 clrb
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
674 rts
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
675
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
676 DoCRCCk pshs x
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
677 ldy M$Size,x
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
678 bsr ChkMCRC checkm module CRC
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
679 puls pc,x
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
680 * check module header parity
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
681 * Y = pointer to parity byte
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
682 ChkMHPar pshs y,x
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
683 clra
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
684 ChkM010 eora ,x+
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
685 cmpx 2,s compare to addr of M$Parity
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
686 bls ChkM010
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
687 cmpa #$FF
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
688 puls pc,y,x
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
689 * X = address of potential module
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
690 * Y = size of module
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
691 ChkMCRC ldd #$FFFF
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
692 pshs b,a
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
693 pshs b,a
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
694 leau 1,s
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
695 L03D4 lda ,x+
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
696 bsr CRCAlgo
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
697 leay -1,y dec Y (size of module)
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
698 bne L03D4 continue
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
699 clr -1,u
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
700 lda ,u
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
701 cmpa #CRCCon1
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
702 bne L03EC
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
703 ldd 1,u
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
704 cmpd #CRCCon23
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
705 beq L03EF
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
706 L03EC comb
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
707 ldb #E$BMCRC
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
708 L03EF puls pc,y,x
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
709
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
710 * F$CRC
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
711 FCRC ldx R$X,u
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
712 ldy R$Y,u
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
713 beq L0402
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
714 ldu R$U,u
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
715 L03FA lda ,x+
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
716 bsr CRCAlgo
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
717 leay -1,y
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
718 bne L03FA
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
719 L0402 clrb
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
720 rts
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
721
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
722 CRCAlgo eora ,u
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
723 pshs a
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
724 ldd $01,u
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
725 std ,u
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
726 clra
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
727 ldb ,s
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
728 lslb
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
729 rola
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
730 eora 1,u
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
731 std 1,u
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
732 clrb
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
733 lda ,s
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
734 lsra
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
735 rorb
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
736 lsra
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
737 rorb
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
738 eora 1,u
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
739 eorb 2,u
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
740 std 1,u
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
741 lda ,s
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
742 lsla
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
743 eora ,s
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
744 sta ,s
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
745 lsla
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
746 lsla
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
747 eora ,s
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
748 sta ,s
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
749 lsla
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
750 lsla
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
751 lsla
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
752 lsla
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
753 eora ,s+
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
754 bpl L0442
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
755 ldd #$8021
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
756 eora ,u
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
757 sta ,u
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
758 eorb 2,u
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
759 stb 2,u
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
760 L0442 rts
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
761
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
762 L0443 ldu #$0000
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
763 tfr a,b
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
764 anda #TypeMask
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
765 andb #LangMask
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
766 pshs u,y,x,b,a
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
767 bsr EatSpace
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
768 cmpa #PDELIM pathlist char?
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
769 beq L049C branch if so
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
770 lbsr ParseNam parse name
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
771 bcs L049D return if error
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
772 ldu <D.ModDir
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
773 L045B pshs u,y,b
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
774 ldu ,u
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
775 beq L048B
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
776 ldd $04,u
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
777 leay d,u
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
778 ldb ,s
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
779 lbsr L07AB
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
780 bcs L0493
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
781 lda $05,s
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
782 beq L0476
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
783 eora $06,u
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
784 anda #$F0
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
785 bne L0493
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
786 L0476 lda $06,s
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
787 beq L0480
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
788 eora $06,u
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
789 anda #$0F
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
790 bne L0493
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
791 L0480 puls u,x,b
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
792 stu $06,s
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
793 bsr EatSpace
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
794 stx $02,s
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
795 clra
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
796 bra L049D
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
797 L048B ldd $0B,s
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
798 bne L0493
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
799 ldd $03,s
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
800 std $0B,s
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
801 L0493 puls u,y,b
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
802 leau $04,u
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
803 cmpu <D.ModDir+2
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
804 bcs L045B
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
805 L049C comb
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
806 L049D puls pc,u,y,x,b,a
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
807
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
808 EatSpace lda #C$SPAC
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
809 EatSpc10 cmpa ,x+
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
810 beq EatSpc10
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
811 lda ,-x
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
812 rts
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
813
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
814 FFork ldx <D.PrcDBT
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
815 os9 F$All64
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
816 bcs L0517
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
817 ldx <D.Proc
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
818 pshs x save calling proc desc on stack
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
819 ldd P$User,x
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
820 std P$User,y
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
821 lda P$Prior,x
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
822 clrb
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
823 std P$Prior,y
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
824 ldb #SysState
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
825 stb P$State,y
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
826 sty <D.Proc
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
827 ldd <P$NIO,x
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
828 std <P$NIO,y
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
829 ldd <P$NIO+2,x
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
830 std <P$NIO+2,y
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
831 leax <P$DIO,x
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
832 leay <P$DIO,y
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
833 ldb #DefIOSiz
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
834 * copy I/O stuff from parent to child
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
835 L04D7 lda ,x+
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
836 sta ,y+
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
837 decb
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
838 bne L04D7
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
839 * X/Y = address of path table in respective proc desc
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
840 * Dup stdin/stdout/stderr
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
841 ldb #$03
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
842 L04E0 lda ,x+
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
843 os9 I$Dup
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
844 bcc L04E8
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
845 clra
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
846 L04E8 sta ,y+
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
847 decb
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
848 bne L04E0
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
849 bsr L0553
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
850 bcs L050C
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
851 puls y get parent proc desc
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
852 sty <D.Proc
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
853 lda P$ID,x get ID of new process
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
854 sta R$A,u store in caller's A
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
855 ldb P$CID,y get child id of parent
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
856 sta P$CID,y store new proc in parent's CID
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
857 lda P$ID,y get ID of parent
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
858 std P$PID,x store in child proc desc
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
859 ldb P$State,x update state of child
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
860 andb #^SysState
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
861 stb P$State,x
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
862 os9 F$AProc insert child in active Q
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
863 rts
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
864 L050C pshs b
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
865 os9 F$Exit
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
866 comb
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
867 puls x,b
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
868 stx <D.Proc
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
869 rts
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
870 L0517 comb
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
871 ldb #E$PrcFul
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
872 rts
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
873
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
874 FChain bsr L0543
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
875 bcs L0531
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
876 orcc #IntMasks
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
877 ldb $0D,x
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
878 andb #$7F
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
879 stb $0D,x
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
880 L0527 os9 F$AProc
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
881 os9 F$NProc
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
882
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
883 SFChain bsr L0543
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
884 bcc L0527
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
885 L0531 pshs b
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
886 stb <P$Signal,x
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
887 ldb P$State,x
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
888 orb #Condem
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
889 stb P$State,x
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
890 ldb #$FF
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
891 stb P$Prior,x
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
892 comb
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
893 puls pc,b
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
894 L0543 pshs u
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
895 ldx <D.Proc
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
896 ldu <P$PModul,x
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
897 os9 F$UnLink
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
898 ldu ,s
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
899 bsr L0553
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
900 puls pc,u
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
901 L0553 ldx <D.Proc
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
902 pshs u,x
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
903 ldd <D.UsrSvc
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
904 std <P$SWI,x
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
905 std <P$SWI2,x
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
906 std <P$SWI3,x
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
907 clra
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
908 clrb
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
909 sta <P$Signal,x
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
910 std <P$SigVec,x
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
911 lda R$A,u
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
912 ldx R$X,u
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
913 os9 F$Link
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
914 bcc L0578
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
915 os9 F$Load
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
916 bcs L05E7
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
917 L0578 ldy <D.Proc
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
918 stu <P$PModul,y
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
919 cmpa #Prgrm+Objct
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
920 beq L058B
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
921 cmpa #Systm+Objct
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
922 beq L058B
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
923 comb
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
924 ldb #E$NEMod
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
925 bra L05E7
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
926 L058B leay ,u Y = addr of module
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
927 ldu 2,s get U off stack (caller regs)
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
928 stx R$X,u
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
929 lda R$B,u
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
930 clrb
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
931 cmpd M$Mem,y compare passed mem to module's
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
932 bcc L059B branch if less than
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
933 ldd M$Mem,y
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
934 L059B addd #$0000
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
935 bne L05A0
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
936 L05A0 os9 F$Mem
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
937 bcs L05E7
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
938 subd #R$Size subtract registers
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
939 subd R$Y,u subtract parameter area
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
940 bcs L05E5
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
941 ldx R$U,u get parameter area
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
942 ldd R$Y,u get parameter size
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
943 pshs b,a
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
944 beq L05BE
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
945 leax d,x point to end of param area
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
946 L05B6 lda ,-x get byte, dec X
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
947 sta ,-y save byte in data area, dec X
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
948 cmpx R$U,u at top of param area?
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
949 bhi L05B6
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
950 * set up registers for return of F$Fork/F$Chain
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
951 L05BE ldx <D.Proc
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
952 sty -$08,y put in X on caller stack
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
953 leay -R$Size,y back up register size
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
954 sty P$SP,x
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
955 lda P$ADDR,x
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
956 clrb
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
957 std R$U,y lowest address
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
958 sta R$DP,y set direct page
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
959 adda P$PagCnt,x
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
960 std R$Y,y
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
961 puls b,a
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
962 std R$D,y size of param area
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
963 ldb #Entire
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
964 stb R$CC,y
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
965 ldu <P$PModul,x get addr of prim. mod
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
966 ldd M$Exec,u
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
967 leau d,u
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
968 stu R$PC,y put in PC on caller reg
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
969 clrb
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
970 L05E5 ldb #E$IForkP
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
971 L05E7 puls pc,u,x
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
972
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
973 FSRqMem ldd R$D,u
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
974 addd #$00FF
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
975 clrb
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
976 std R$D,u
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
977 ldx <D.FMBM+2
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
978 ldd #$01FF
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
979 pshs b,a
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
980 bra L0604
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
981 L05FA dec $01,s
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
982 ldb $01,s
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
983 L05FE lsl ,s
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
984 bcc L060A
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
985 rol ,s
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
986 L0604 leax -1,x
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
987 cmpx <D.FMBM
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
988 bcs L0620
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
989 L060A lda ,x
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
990 anda ,s
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
991 bne L05FA
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
992 dec 1,s
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
993 subb 1,s
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
994 cmpb 1,u
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
995 rora
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
996 addb 1,s
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
997 rola
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
998 bcs L05FE
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
999 ldb 1,s
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1000 clra
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1001 incb
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1002 L0620 leas 2,s
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1003 bcs L0635
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1004 ldx <D.FMBM
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1005 tfr d,y
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1006 ldb 1,u
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1007 clra
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1008 exg d,y
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1009 bsr L065A
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1010 exg a,b
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1011 std 8,u
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1012 L0633 clra
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1013 rts
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1014 L0635 comb
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1015 ldb #E$MemFul
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1016 rts
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1017
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1018 FSRtMem ldd R$D,u
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1019 addd #$00FF
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1020 tfr a,b
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1021 clra
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1022 tfr d,y
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1023 ldd R$U,u
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1024 beq L0633
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1025 tstb
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1026 beq L064E
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1027 comb
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1028 ldb #E$BPAddr
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1029 rts
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1030 L064E exg a,b
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1031 ldx <D.FMBM
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1032 bra L06AD
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1033
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1034 FAllBit ldd R$D,u
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1035 leau R$X,u
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1036 pulu y,x
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1037 L065A pshs y,x,b,a
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1038 bsr L0690
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1039 tsta
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1040 pshs a
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1041 bmi L0671
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1042 lda ,x
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1043 L0665 ora ,s
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1044 leay -1,y
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1045 beq L0689
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1046 lsr ,s
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1047 bcc L0665
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1048 sta ,x+
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1049 L0671 tfr y,d
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1050 sta ,s
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1051 lda #$FF
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1052 bra L067B
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1053 L0679 sta ,x+
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1054 L067B subb #$08
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1055 bcc L0679
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1056 dec ,s
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1057 bpl L0679
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1058 L0683 lsla
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1059 incb
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1060 bne L0683
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1061 ora ,x
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1062 L0689 sta ,x
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1063 clra
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1064 leas 1,s
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1065 puls pc,y,x,b,a
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1066 L0690 pshs b
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1067 lsra
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1068 rorb
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1069 lsra
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1070 rorb
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1071 lsra
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1072 rorb
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1073 leax d,x
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1074 puls b
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1075 lda #$80
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1076 andb #$07
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1077 beq L06A6
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1078 L06A2 lsra
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1079 decb
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1080 bne L06A2
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1081 L06A6 rts
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1082
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1083 FDelBit ldd R$D,u
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1084 leau R$X,u
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1085 pulu y,x
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1086 L06AD pshs y,x,b,a
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1087 bsr L0690
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1088 coma
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1089 pshs a
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1090 bpl L06C4
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1091 lda ,x
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1092 L06B8 anda ,s
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1093 leay -1,y
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1094 beq L06D8
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1095 asr ,s
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1096 bcs L06B8
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1097 sta ,x+
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1098 L06C4 tfr y,d
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1099 bra L06CA
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1100 L06C8 clr ,x+
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1101 L06CA subd #$0008
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1102 bhi L06C8
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1103 beq L06D8
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1104 L06D1 lsla
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1105 incb
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1106 bne L06D1
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1107 coma
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1108 anda ,x
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1109 L06D8 sta ,x
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1110 clr ,s+
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1111 puls pc,y,x,b,a
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1112
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1113 FSchBit pshs u
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1114 ldd R$D,u
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1115 ldx R$X,u
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1116 ldy R$Y,u
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1117 ldu R$U,u
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1118 bsr L06F3
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1119 puls u
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1120 std R$D,u
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1121 sty R$Y,u
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1122 rts
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1123 L06F3 pshs u,y,x,b,a
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1124 pshs y,b,a
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1125 clr 8,s
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1126 clr 9,s
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1127 tfr d,y
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1128 bsr L0690
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1129 pshs a
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1130 bra L0710
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1131 L0703 leay $01,y
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1132 sty $05,s
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1133 L0708 lsr ,s
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1134 bcc L0714
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1135 ror ,s
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1136 leax $01,x
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1137 L0710 cmpx $0B,s
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1138 bcc L0732
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1139 L0714 lda ,x
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1140 anda ,s
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1141 bne L0703
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1142 leay $01,y
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1143 tfr y,d
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1144 subd $05,s
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1145 cmpd $03,s
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1146 bcc L0739
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1147 cmpd $09,s
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1148 bls L0708
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1149 std $09,s
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1150 ldd $05,s
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1151 std $01,s
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1152 bra L0708
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1153 L0732 ldd $01,s
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1154 std $05,s
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1155 coma
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1156 bra L073B
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1157 L0739 std $09,s
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1158 L073B leas $05,s
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1159 puls pc,u,y,x,b,a
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1160
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1161
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1162 use fprsnam.asm
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1163
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1164 use fcmpnam.asm
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1165
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1166 *FCmpNam ldb R$B,u
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1167 * leau R$X,u
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1168 * pulu y,x
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1169 *L07AB pshs y,x,b,a
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1170 *L07AD lda ,y+
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1171 * bmi L07BE
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1172 * decb
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1173 * beq L07BA
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1174 * eora ,x+
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1175 * anda #$DF
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1176 * beq L07AD
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1177 *L07BA orcc #Carry
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1178 * puls pc,y,x,b,a
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1179 *L07BE decb
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1180 * bne L07BA
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1181 * eora ,x
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1182 * anda #$5F
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1183 * bne L07BA
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1184 * puls y,x,b,a
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1185 *L07C9 andcc #^Carry
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1186 * rts
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1187
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1188 FSSvc ldy R$Y,u
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1189 bra InstSSvc
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1190 SSvcLoop tfr b,a put syscall code in A
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1191 anda #$7F kill hi bit
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1192 cmpa #$7F is code $7F?
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1193 beq SSvcOK
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1194 cmpa #$37 compare against highest call allowed
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1195 bcs SSvcOK branch if A less than highest call
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1196 comb
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1197 ldb #E$ISWI
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1198 rts
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1199 SSvcOK lslb
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1200 ldu <D.SysDis
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1201 leau b,u U points to entry in table
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1202 ldd ,y++ get addr of func
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1203 leax d,y get absolute addr
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1204 stx ,u store in system table
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1205 bcs InstSSvc branch if system only
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1206 stx <$70,u else store in user table too
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1207 InstSSvc ldb ,y+ get system call code in B
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1208 cmpb #$80 end of table?
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1209 bne SSvcLoop branch if not
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1210 rts
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1211
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1212 emod
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1213 eom equ *
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1214
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1215 fdb Clock
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1216 Vectors fdb SWI3 SWI3
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1217 fdb SWI2 SWI2
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1218 fdb DUMMY FIRQ
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1219 fdb SVCIRQ IRQ
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1220 fdb SWI SWI
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1221 fdb DUMMY NMI
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1222
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1223 end
5dbf908c1483 Kernel and KernelP2 moved to krnl/
boisy
parents:
diff changeset
1224