1145
|
1 * F$AllImg entry point
|
|
2 * Entry: U=Register stack pointer
|
|
3 FAllImg ldd R$D,u get starting block # & # of blocks
|
|
4 ldx R$X,u get process descriptor pointer
|
|
5 * Entry point from F$SRqMem
|
|
6 *
|
|
7 * 6309 NOTE: IF W IS USED HERE, TRY TO PRESERVE IT AS F$SRQMEM WILL
|
|
8 * PROBABLY END UP USING IT
|
|
9 L09BE pshs d,x,y,u
|
|
10 lsla
|
|
11 leay P$DATImg,x
|
|
12 leay a,y
|
|
13 clra
|
|
14 tfr d,x
|
|
15 ldu <D.BlkMap
|
|
16 pshs d,x,y,u
|
|
17 L09CD ldd ,y++
|
|
18 cmpd #DAT.Free
|
|
19 beq L09E2
|
|
20 lda d,u
|
|
21 cmpa #RAMinUse
|
|
22 puls d
|
|
23 bne L09F7
|
|
24 IFNE H6309
|
|
25 decd
|
|
26 ELSE
|
|
27 subd #$0001
|
|
28 ENDC
|
|
29 pshs d
|
|
30 L09E2 leax -1,x
|
|
31 bne L09CD
|
|
32 ldx ,s++
|
|
33 beq L0A00
|
|
34 L09EA lda ,u+
|
|
35 bne L09F2
|
|
36 leax -1,x
|
|
37 beq L0A00
|
|
38 L09F2 cmpu <D.BlkMap+2
|
|
39 bcs L09EA
|
|
40 L09F7 ldb #E$MemFul
|
|
41 leas 6,s
|
|
42 stb 1,s
|
|
43 comb
|
|
44 puls d,x,y,u,pc
|
|
45
|
|
46 L0A00 puls x,y,u
|
|
47 L0A02 ldd ,y++
|
|
48 cmpd #DAT.Free
|
|
49 bne L0A16
|
|
50 L0A0A lda ,u+
|
|
51 bne L0A0A
|
|
52 inc ,-u
|
|
53 tfr u,d
|
|
54 subd <D.BlkMap
|
|
55 std -2,y
|
|
56 L0A16 leax -1,x
|
|
57 bne L0A02
|
|
58 ldx 2,s
|
|
59 IFNE H6309
|
|
60 oim #ImgChg,P$State,x
|
|
61 ELSE
|
|
62 lda P$State,x
|
|
63 ora #ImgChg
|
|
64 sta P$State,x
|
|
65 ENDC
|
|
66 clrb
|
|
67 puls d,x,y,u,pc
|