Mercurial > hg > Members > kono > os9 > sbc09
comparison CoCoOS9/level2v3/CMDS/login.asm @ 31:bd2b07db8917 cocoos9lv2v3
CoCoOS9 version
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Sat, 14 Jul 2018 15:16:13 +0900 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
30:7b1b25ff010a | 31:bd2b07db8917 |
---|---|
1 ******************************************************************** | |
2 * Login - Allow remote shell access | |
3 * | |
4 * $Id: login.asm,v 1.1.1.1 2001/02/21 23:30:54 boisy Exp $ | |
5 * | |
6 * Ed. Comments Who YY/MM/DD | |
7 * ------------------------------------------------------------------ | |
8 * 16 Original Tandy distribution version | |
9 * 17 Changed Icpt routine's rts to rti BGP 98/10/15 | |
10 | |
11 nam Login | |
12 ttl Allow remote shell access | |
13 | |
14 * Disassembled 98/09/14 23:54:24 by Disasm v1.6 (C) 1988 by RML | |
15 | |
16 ifp1 | |
17 use defsfile | |
18 endc | |
19 | |
20 tylg set Prgrm+Objct | |
21 atrv set ReEnt+rev | |
22 rev set $01 | |
23 edition set 17 | |
24 | |
25 mod eom,name,tylg,atrv,start,size | |
26 | |
27 u0000 rmb 1 | |
28 u0001 rmb 1 | |
29 u0002 rmb 1 | |
30 u0003 rmb 1 | |
31 u0004 rmb 1 | |
32 u0005 rmb 1 | |
33 u0006 rmb 2 | |
34 u0008 rmb 2 | |
35 u000A rmb 2 | |
36 u000C rmb 1 | |
37 u000D rmb 256 | |
38 u010D rmb 128 | |
39 u018D rmb 80 | |
40 u01DD rmb 80 | |
41 u022D rmb 32 | |
42 size equ . | |
43 | |
44 name fcs /Login/ | |
45 fcb edition | |
46 | |
47 L0013 fcc "SYS/PASSWORD" | |
48 fcb C$CR | |
49 fcc ",,,,,,,,,,,,,,," | |
50 L002F fcb C$LF | |
51 fcb C$LF | |
52 fcc "OS-9 Timesharing system" | |
53 fcb C$LF | |
54 fcc "Level II RS VR. 0" | |
55 fcb 48+OS9Vrsn | |
56 fcc ".0" | |
57 fcb 48+OS9Major | |
58 fcc ".0" | |
59 fcb 48+OS9Minor | |
60 fcb C$LF | |
61 L0063 fcb C$LF | |
62 fcb C$LF | |
63 fcc "OS-9 Level II RS Vr0" | |
64 fcb 48+OS9Vrsn | |
65 fcc ".0" | |
66 fcb 48+OS9Major | |
67 fcc ".0" | |
68 fcb 48+OS9Minor | |
69 fcb C$LF | |
70 L0082 fcb C$LF | |
71 fcc "User name?: " | |
72 L008F fcc "Who?" | |
73 fcb C$CR | |
74 L0094 fcc "Password: " | |
75 L009E fcc "Invalid password." | |
76 fcb C$CR | |
77 L00B0 fcb C$LF | |
78 fcc "Process #" | |
79 L00BA fcc " logged on " | |
80 L00C5 fcc " logged on " | |
81 fcb C$LF | |
82 L00D1 fcc "Welcome!" | |
83 fcb C$CR | |
84 L00DA fcc "Directory not found." | |
85 fcb C$CR | |
86 L00EF fcb C$LF | |
87 fcc "Syntax Error in password file" | |
88 L010D fcb C$LF | |
89 fcc "It's been nice communicating with you." | |
90 fcb C$LF | |
91 fcc "Better luck next time." | |
92 fcb C$CR | |
93 L014C fcc "SYS/MOTD" | |
94 fcb C$CR | |
95 L0155 fcc "...... " | |
96 | |
97 IcptRtn rti changed from rts ++BGP | |
98 | |
99 start leas >u010D,u | |
100 pshs y,x | |
101 leax <IcptRtn,pcr | |
102 os9 F$Icpt | |
103 bcs L0172 | |
104 ldy #$0000 | |
105 os9 F$SUser | |
106 L0172 puls y,x | |
107 lbcs L02F4 | |
108 clr <u0000 | |
109 leay >u01DD,u | |
110 sty <u000A | |
111 leay >u018D,u | |
112 sty <u0008 | |
113 std ,--s | |
114 beq L0194 | |
115 L018C lda ,x+ | |
116 sta ,y+ | |
117 cmpa #$0D | |
118 bne L018C | |
119 L0194 lda #$01 | |
120 ldb #SS.ScSiz | |
121 os9 I$GetStt | |
122 bcc L01A4 | |
123 cmpb #$D0 | |
124 beq L01AB | |
125 lbra L0280 | |
126 L01A4 cmpx #$0046 | |
127 bcc L01AB | |
128 inc <u0000 | |
129 L01AB lda #$01 | |
130 leax >L0155,pcr | |
131 os9 I$ChgDir | |
132 lda #$01 | |
133 leax >L0013,pcr | |
134 os9 I$Open | |
135 lbcs L02F4 | |
136 sta <u0001 | |
137 lda #$03 | |
138 sta <u0003 | |
139 ldd ,s++ | |
140 beq L01D3 | |
141 ldx <u0008 | |
142 lda ,x | |
143 cmpa #$0D | |
144 bne L0209 | |
145 L01D3 tst <u0000 | |
146 beq L01E1 | |
147 leax >L0063,pcr | |
148 ldy #$001F | |
149 bra L01E9 | |
150 L01E1 leax >L002F,pcr | |
151 ldy #$0034 | |
152 L01E9 lbsr L032F | |
153 L01EC dec <u0003 | |
154 leax >L010D,pcr | |
155 lbmi L031F | |
156 leax >u018D,u | |
157 stx <u0008 | |
158 leax >L0082,pcr | |
159 ldy #$000D | |
160 lbsr L0347 | |
161 bcs L020E | |
162 L0209 lbsr L0393 | |
163 bcc L0217 | |
164 L020E leax >L008F,pcr | |
165 L0212 lbsr L0325 | |
166 bra L01EC | |
167 L0217 lbsr L03B9 | |
168 bcc L0253 | |
169 ldx <u0008 | |
170 lda ,x | |
171 cmpa #$0D | |
172 bne L0242 | |
173 lda #$2C | |
174 sta ,x+ | |
175 stx <u0008 | |
176 lbsr L0357 | |
177 leax >L0094,pcr | |
178 ldy #$000A | |
179 lbsr L0347 | |
180 lbsr L037F | |
181 bcs L020E | |
182 lbsr L03B9 | |
183 bcc L0253 | |
184 L0242 leax >u018D,u | |
185 stx <u0008 | |
186 lbsr L03A1 | |
187 bcc L0217 | |
188 leax >L009E,pcr | |
189 bra L0212 | |
190 L0253 lda <u0001 | |
191 os9 I$Close | |
192 lbsr L0408 | |
193 tfr d,y | |
194 os9 F$SUser | |
195 lbsr L0408 | |
196 tsta | |
197 lbne L031B | |
198 tstb | |
199 lbeq L031B | |
200 stb <u0005 | |
201 os9 F$ID | |
202 sta <u0004 | |
203 lda #$01 | |
204 leax >L014C,pcr | |
205 os9 I$Open | |
206 bcc L0280 | |
207 clra | |
208 L0280 sta <u0002 | |
209 lda #$04 | |
210 bsr L02F7 | |
211 lda #$03 | |
212 bsr L02F7 | |
213 leax >L00B0,pcr | |
214 ldy #$000A | |
215 lbsr L033D | |
216 leax u0004,u | |
217 lbsr L0471 | |
218 tst <u0000 | |
219 beq L02A8 | |
220 leax >L00C5,pcr | |
221 ldy #$000C | |
222 bra L02B0 | |
223 L02A8 leax >L00BA,pcr | |
224 ldy #$000B | |
225 L02B0 bsr L032F | |
226 leax >L00D1,pcr | |
227 bsr L0325 | |
228 lbsr L03F0 | |
229 clrb | |
230 ldx <u0006 | |
231 leau ,x | |
232 L02C0 lda ,u+ | |
233 cmpa #$30 | |
234 bcc L02C0 | |
235 cmpa #$2C | |
236 beq L02CC | |
237 leau -u0001,u | |
238 L02CC lda ,u+ | |
239 cmpa #$20 | |
240 beq L02CC | |
241 leau -u0001,u | |
242 pshs u | |
243 ldy #$0000 | |
244 L02DA lda ,u+ | |
245 leay $01,y | |
246 cmpa #$0D | |
247 bne L02DA | |
248 puls u | |
249 lda <u0004 | |
250 ldb <u0005 | |
251 os9 F$SPrior | |
252 ldd #$0100 | |
253 os9 F$Chain | |
254 os9 F$PErr | |
255 L02F4 os9 F$Exit | |
256 L02F7 ldx <u0006 | |
257 os9 I$ChgDir | |
258 bcs L0315 | |
259 ldx <u0006 | |
260 L0300 lda ,x+ | |
261 cmpa #$0D | |
262 beq L031B | |
263 cmpa #$2C | |
264 bne L0300 | |
265 lda #$20 | |
266 L030C cmpa ,x+ | |
267 beq L030C | |
268 leax ,-x | |
269 stx <u0006 | |
270 rts | |
271 L0315 leax >L00DA,pcr | |
272 bra L031F | |
273 L031B leax >L00EF,pcr | |
274 L031F bsr L0325 | |
275 clrb | |
276 os9 F$Exit | |
277 L0325 ldy #$0100 | |
278 lda #$01 | |
279 os9 I$WritLn | |
280 rts | |
281 L032F bsr L033D | |
282 lbsr L0498 | |
283 lbsr L0498 | |
284 lbsr L0498 | |
285 lbra L0454 | |
286 L033D lda ,x+ | |
287 lbsr L049A | |
288 leay -$01,y | |
289 bne L033D | |
290 rts | |
291 L0347 bsr L033D | |
292 lbsr L04AC | |
293 ldx <u0008 | |
294 ldy #$0050 | |
295 clra | |
296 os9 I$ReadLn | |
297 rts | |
298 L0357 pshs x,b,a | |
299 leax >u022D,u | |
300 ldb #$00 | |
301 clra | |
302 os9 I$GetStt | |
303 bcs L0379 | |
304 lda ,x | |
305 cmpa #$00 | |
306 bne L0379 | |
307 lda $04,x | |
308 pshs a | |
309 clr $04,x | |
310 bsr L037F | |
311 puls a | |
312 sta $04,x | |
313 puls pc,x,b,a | |
314 L0379 lda #$FF | |
315 sta ,x | |
316 puls pc,x,b,a | |
317 L037F pshs x,b,a,cc | |
318 leax >u022D,u | |
319 lda ,x | |
320 cmpa #$00 | |
321 bne L0391 | |
322 ldb #$00 | |
323 clra | |
324 os9 I$SetStt | |
325 L0391 puls pc,x,b,a,cc | |
326 L0393 pshs u | |
327 lda <u0001 | |
328 ldx #$0000 | |
329 leau ,x | |
330 os9 I$Seek | |
331 puls u | |
332 L03A1 lda <u0001 | |
333 leax >u010D,u | |
334 ldy #$0080 | |
335 os9 I$ReadLn | |
336 bcs L03B8 | |
337 stx <u0006 | |
338 bsr L03B9 | |
339 bcs L03A1 | |
340 stx <u0006 | |
341 L03B8 rts | |
342 L03B9 ldx <u0006 | |
343 ldy <u0008 | |
344 L03BE lda ,x+ | |
345 cmpa #$2C | |
346 beq L03D2 | |
347 cmpa #$0D | |
348 beq L03D0 | |
349 eora ,y+ | |
350 anda #$DF | |
351 beq L03BE | |
352 L03CE comb | |
353 rts | |
354 L03D0 leax -$01,x | |
355 L03D2 lda ,y+ | |
356 cmpa #$2C | |
357 beq L03DE | |
358 cmpa #$30 | |
359 bcc L03CE | |
360 leay -$01,y | |
361 L03DE lda ,y+ | |
362 cmpa #$20 | |
363 beq L03DE | |
364 leay -$01,y | |
365 sty <u0008 | |
366 stx <u0006 | |
367 clrb | |
368 rts | |
369 L03ED lbsr L0325 | |
370 L03F0 lda <u0002 | |
371 beq L0406 | |
372 leax >u018D,u | |
373 ldy #$0050 | |
374 os9 I$ReadLn | |
375 bcc L03ED | |
376 lda <u0002 | |
377 os9 I$Close | |
378 L0406 clrb | |
379 rts | |
380 L0408 ldx <u0006 | |
381 clra | |
382 clrb | |
383 pshs y,x,b,a | |
384 pshs b | |
385 L0410 ldb ,x+ | |
386 cmpb #$2E | |
387 bne L0423 | |
388 tsta | |
389 lbne L031B | |
390 ldb $02,s | |
391 stb ,s | |
392 clr $02,s | |
393 bra L0410 | |
394 L0423 subb #$30 | |
395 cmpb #$09 | |
396 bhi L043C | |
397 clra | |
398 ldy #$000A | |
399 L042E addd $01,s | |
400 lbcs L031B | |
401 leay -$01,y | |
402 bne L042E | |
403 std $01,s | |
404 bra L0410 | |
405 L043C lda -$01,x | |
406 cmpa #$2C | |
407 lbne L031B | |
408 stx <u0006 | |
409 lda ,s+ | |
410 beq L0452 | |
411 tst ,s | |
412 lbne L031B | |
413 sta ,s | |
414 L0452 puls pc,y,x,b,a | |
415 L0454 leax u000D,u | |
416 os9 F$Time | |
417 bsr L0469 | |
418 bsr L0498 | |
419 bsr L0461 | |
420 bra L04A4 | |
421 L0461 bsr L0471 | |
422 bsr L0465 | |
423 L0465 lda #$3A | |
424 bra L046F | |
425 L0469 bsr L0471 | |
426 bsr L046D | |
427 L046D lda #$2F | |
428 L046F bsr L049A | |
429 L0471 ldb ,x+ | |
430 lda #$2F | |
431 clr <u000C | |
432 L0477 inca | |
433 subb #$64 | |
434 bcc L0477 | |
435 bsr L048D | |
436 lda #$3A | |
437 L0480 deca | |
438 addb #$0A | |
439 bcc L0480 | |
440 bsr L049A | |
441 tfr b,a | |
442 adda #$30 | |
443 bra L049A | |
444 L048D inc <u000C | |
445 cmpa #$30 | |
446 bne L049A | |
447 dec <u000C | |
448 bne L049A | |
449 rts | |
450 L0498 lda #$20 | |
451 L049A pshs x | |
452 ldx <u000A | |
453 sta ,x+ | |
454 stx <u000A | |
455 puls pc,x | |
456 L04A4 pshs a | |
457 lda #$0D | |
458 bsr L049A | |
459 puls a | |
460 L04AC pshs y,x,b,a | |
461 leax >u01DD,u | |
462 ldd <u000A | |
463 stx <u000A | |
464 subd <u000A | |
465 tfr d,y | |
466 lda #$01 | |
467 os9 I$WritLn | |
468 puls pc,y,x,b,a | |
469 | |
470 emod | |
471 eom equ * | |
472 end |