1633
|
1 *******************************************************************
|
965
|
2 * SMap - Show System Memory Map
|
|
3 *
|
|
4 * $Id$
|
|
5 *
|
1255
|
6 * Edt/Rev YYYY/MM/DD Modified by
|
|
7 * Comment
|
965
|
8 * ------------------------------------------------------------------
|
1255
|
9 * 1 ????/??/??
|
|
10 * Original version.
|
965
|
11
|
|
12 nam SMap
|
|
13 ttl Show System Memory Map
|
|
14
|
|
15 * Disassembled 02/05/12 22:05:11 by Disasm v1.6 (C) 1988 by RML
|
|
16
|
|
17 ifp1
|
|
18 use defsfile
|
|
19 endc
|
|
20
|
|
21 tylg set Prgrm+Objct
|
|
22 atrv set ReEnt+rev
|
1255
|
23 rev set $00
|
965
|
24 edition set 1
|
|
25
|
|
26 mod eom,name,tylg,atrv,start,size
|
|
27
|
|
28 u0000 rmb 1
|
1633
|
29 decbuff rmb 3 decimal buffer (100, 10, 1s place)
|
|
30 free rmb 1 number of free 256 byte pages in system memory
|
965
|
31 u0005 rmb 1
|
|
32 u0006 rmb 1
|
1633
|
33 wrbuf rmb 1
|
965
|
34 u0008 rmb 6
|
|
35 u000E rmb 1
|
1633
|
36 memmap rmb 256
|
|
37 rmb 200
|
965
|
38 size equ .
|
|
39
|
|
40 name fcs /SMap/
|
|
41 fcb edition
|
|
42
|
|
43 H1 fcc " 0 1 2 3 4 5 6 7 8 9 A B C D E F"
|
1633
|
44 CrRt fcb C$CR
|
965
|
45 H1L equ *-H1
|
|
46 H2 fcc " # = = = = = = = = = = = = = = = ="
|
1633
|
47 * fcb C$CR
|
965
|
48 H2L equ *-H2
|
1633
|
49 SysDat fcb $00,$00,$00,$00
|
965
|
50
|
1633
|
51 start lbsr WriteCR Write a carriage return to standard out
|
|
52 leax <H1,pcr point to header 1
|
965
|
53 lda #$01
|
|
54 ldy #H1L
|
1633
|
55 os9 I$WritLn and write it to standard out
|
|
56 leax <H2,pcr same with header 2
|
965
|
57 ldy #H2L
|
|
58 os9 I$Write
|
1633
|
59 leax <SysDat,pcr
|
965
|
60 tfr x,d
|
1633
|
61 ldx #D.SysMem point to System Memory global
|
|
62 ldy #$0002 get 2 byte pointer into system RAM
|
|
63 pshs u save statics
|
|
64 leau memmap,u point to destination
|
|
65 os9 F$CpyMem get it
|
|
66 puls u restore statics
|
|
67 lbcs L013F branch if error
|
|
68 ldx memmap,u get pointer into system memory table in system space
|
|
69 ldy #256 all 256 bytes
|
|
70 pshs u save statics
|
|
71 leau memmap,u point to destination
|
|
72 os9 F$CpyMem copy memory
|
|
73 puls u restore statics
|
|
74 lbcs L013F branch if error
|
965
|
75 clr <u000E
|
1633
|
76 clr <free clear free counter
|
|
77 leax memmap,u
|
965
|
78 lda #$30
|
|
79 sta <u0005
|
|
80 clr ,-s
|
|
81 L00B2 lda ,s
|
|
82 bita #$0F
|
|
83 bne L00DF
|
|
84 pshs x
|
1633
|
85 lbsr WriteCR
|
965
|
86 leax u0006,u
|
|
87 ldy #$0004
|
|
88 lda <u0005
|
1633
|
89 cmpa #':
|
965
|
90 bne L00CD
|
1633
|
91 lda #'A
|
965
|
92 sta <u0005
|
1633
|
93 L00CD sta <wrbuf
|
965
|
94 inc <u0005
|
1633
|
95 ldd #C$SPAC*256+C$SPAC
|
965
|
96 sta <u0006
|
|
97 std <u0008
|
|
98 lda #$01
|
|
99 os9 I$Write
|
|
100 puls x
|
|
101 L00DF ldb ,x+
|
|
102 beq L00ED
|
|
103 bmi L00E9
|
1633
|
104 ldb #'U
|
965
|
105 bra L00F1
|
1633
|
106 L00E9 ldb #'.
|
965
|
107 bra L00F1
|
1633
|
108 L00ED ldb #'_
|
|
109 inc <free increment free page counter
|
|
110 L00F1 stb <wrbuf
|
|
111 ldb #C$SPAC
|
965
|
112 stb <u0008
|
|
113 pshs x
|
1633
|
114 leax wrbuf,u
|
965
|
115 ldy #$0002
|
|
116 lda #$01
|
|
117 os9 I$Write
|
|
118 puls x
|
|
119 dec ,s
|
|
120 lbhi L00B2
|
|
121 puls a
|
1633
|
122 bsr WriteCR
|
|
123 bsr WriteCR
|
965
|
124 leax >FreePgs,pcr
|
|
125 ldy #FreePgsL
|
|
126 lda #$01
|
|
127 os9 I$Write
|
1633
|
128 ldb <free
|
965
|
129 clra
|
|
130 lbsr L0194
|
1633
|
131 bsr WriteCR
|
965
|
132 leax >FreeRAM,pcr
|
|
133 ldy #FreeRAML
|
|
134 lda #$01
|
|
135 os9 I$Write
|
1633
|
136 ldb <free
|
965
|
137 clra
|
|
138 lsrb
|
|
139 lsrb
|
|
140 lbsr L0194
|
1633
|
141 bsr WriteCR
|
965
|
142 clrb
|
|
143 L013F os9 F$Exit
|
|
144
|
|
145 FreePgs fcc " Number of Free Pages: "
|
|
146 FreePgsL equ *-FreePgs
|
1385
|
147 FreeRAM fcc " RAM Free in KBytes: "
|
965
|
148 FreeRAML equ *-FreeRAM
|
|
149
|
1633
|
150 WriteCR pshs x,a
|
|
151 * lda #C$CR
|
|
152 * sta <wrbuf
|
|
153 leax CrRt,pcr
|
965
|
154 ldy #$0001
|
|
155 lda #$01
|
|
156 os9 I$WritLn
|
|
157 puls pc,x,a
|
1633
|
158
|
|
159 L0183 sta <wrbuf
|
965
|
160 pshs x
|
1633
|
161 leax wrbuf,u
|
965
|
162 ldy #$0001
|
|
163 lda #$01
|
|
164 os9 I$Write
|
1633
|
165 puls pc,x
|
|
166
|
|
167 L0194 leax decbuff,u
|
965
|
168 clr <u0000
|
|
169 clr ,x
|
|
170 clr $01,x
|
|
171 clr $02,x
|
|
172 L019E inc ,x
|
1633
|
173 subd #100
|
965
|
174 bcc L019E
|
1633
|
175 addd #100
|
965
|
176 L01A8 inc $01,x
|
1633
|
177 subd #10
|
965
|
178 bcc L01A8
|
1633
|
179 L01AF addd #10
|
965
|
180 incb
|
|
181 stb $02,x
|
|
182 bsr L01BF
|
|
183 bsr L01BF
|
|
184 L01B9 lda ,x+
|
|
185 adda #$2F
|
|
186 bra L0183
|
|
187 L01BF tst <u0000
|
|
188 bne L01B9
|
|
189 ldb ,x
|
|
190 inc <u0000
|
|
191 decb
|
|
192 bne L01B9
|
|
193 clr <u0000
|
|
194 lda #C$SPAC
|
|
195 leax 1,x
|
|
196 bra L0183
|
|
197
|
|
198 emod
|
|
199 eom equ *
|
1633
|
200 end
|
965
|
201
|