1345
|
1 **************************************************
|
|
2 * System Call: F$ClrBlk
|
|
3 *
|
|
4 * Function: Clear RAM blocks
|
|
5 *
|
|
6 * Input: B = Number of blocks
|
|
7 * U = Address of first block
|
|
8 *
|
|
9 * Output: None
|
|
10 *
|
|
11 * Error: CC = C bit set; B = error code
|
|
12 *
|
1145
|
13 FClrBlk ldb R$B,u
|
|
14 beq L0BE9
|
|
15 ldd R$U,u
|
|
16 tstb
|
|
17 bne L0BAA
|
|
18 bita #$1F
|
|
19 bne L0BAA
|
|
20 ldx <D.Proc
|
|
21 lda P$SP,x
|
|
22 anda #$E0
|
|
23 suba R$U,u
|
|
24 bcs L0BCE
|
|
25 lsra
|
|
26 lsra
|
|
27 lsra
|
|
28 lsra
|
|
29 lsra
|
|
30 cmpa R$B,u
|
|
31 bcs L0BAA
|
|
32 L0BCE
|
|
33 IFNE H6309
|
|
34 oim #ImgChg,P$State,x
|
|
35 ELSE
|
|
36 lda P$State,x
|
|
37 ora #ImgChg
|
|
38 sta P$State,x
|
|
39 ENDC
|
|
40 lda R$U,u
|
|
41 lsra
|
|
42 lsra
|
|
43 lsra
|
|
44 lsra
|
|
45 leay P$DATImg,x
|
|
46 leay a,y
|
|
47 ldb R$B,u
|
|
48 ldx #DAT.Free
|
|
49 L0BE4 stx ,y++
|
|
50 decb
|
|
51 bne L0BE4
|
|
52 L0BE9 clrb
|
|
53 rts
|