view 3rdparty/packages/os9l2bbs/cmds/BBS.scan.asm @ 2400:75ba2a80a4e3

OS-9 L2 BBS Commands disassembled
author boisy
date Sun, 24 Jan 2010 17:20:05 +0000
parents
children 04755ee002ba
line wrap: on
line source

         nam   BBS.scan
         ttl   program module       

* Disassembled 2010/01/24 10:37:51 by Disasm v1.5 (C) 1988 by RML

         ifp1
         use   /dd/defs/defsfile
         endc
tylg     set   Prgrm+Objct   
atrv     set   ReEnt+rev
rev      set   $01
         mod   eom,name,tylg,atrv,start,size
u0000    rmb   1
u0001    rmb   1
u0002    rmb   1
u0003    rmb   1
u0004    rmb   1
u0005    rmb   1
u0006    rmb   1
u0007    rmb   2
u0009    rmb   6
u000F    rmb   3
u0012    rmb   1
u0013    rmb   2
u0015    rmb   1
u0016    rmb   6
u001C    rmb   1
u001D    rmb   1
u001E    rmb   2
u0020    rmb   1
u0021    rmb   1
u0022    rmb   1
u0023    rmb   1
u0024    rmb   1
u0025    rmb   1
u0026    rmb   1
u0027    rmb   1
u0028    rmb   1
u0029    rmb   64
u0069    rmb   4
u006D    rmb   20
u0081    rmb   30
u009F    rmb   1
u00A0    rmb   1
u00A1    rmb   206
size     equ   .
name     equ   *
         fcs   /BBS.scan/
         fcb   $43 C
         fcb   $6F o
         fcb   $70 p
         fcb   $79 y
         fcb   $72 r
         fcb   $69 i
         fcb   $67 g
         fcb   $68 h
         fcb   $74 t
         fcb   $20 
         fcb   $28 (
         fcb   $43 C
         fcb   $29 )
         fcb   $20 
         fcb   $31 1
         fcb   $39 9
         fcb   $38 8
         fcb   $38 8
         fcb   $42 B
         fcb   $79 y
         fcb   $20 
         fcb   $4B K
         fcb   $65 e
         fcb   $69 i
         fcb   $74 t
         fcb   $68 h
         fcb   $20 
         fcb   $41 A
         fcb   $6C l
         fcb   $70 p
         fcb   $68 h
         fcb   $6F o
         fcb   $6E n
         fcb   $73 s
         fcb   $6F o
         fcb   $4C L
         fcb   $69 i
         fcb   $63 c
         fcb   $65 e
         fcb   $6E n
         fcb   $63 c
         fcb   $65 e
         fcb   $64 d
         fcb   $20 
         fcb   $74 t
         fcb   $6F o
         fcb   $20 
         fcb   $41 A
         fcb   $6C l
         fcb   $70 p
         fcb   $68 h
         fcb   $61 a
         fcb   $20 
         fcb   $53 S
         fcb   $6F o
         fcb   $66 f
         fcb   $74 t
         fcb   $77 w
         fcb   $61 a
         fcb   $72 r
         fcb   $65 e
         fcb   $20 
         fcb   $54 T
         fcb   $65 e
         fcb   $63 c
         fcb   $68 h
         fcb   $6E n
         fcb   $6F o
         fcb   $6C l
         fcb   $6F o
         fcb   $67 g
         fcb   $69 i
         fcb   $65 e
         fcb   $73 s
         fcb   $41 A
         fcb   $6C l
         fcb   $6C l
         fcb   $20 
         fcb   $72 r
         fcb   $69 i
         fcb   $67 g
         fcb   $68 h
         fcb   $74 t
         fcb   $73 s
         fcb   $20 
         fcb   $72 r
         fcb   $65 e
         fcb   $73 s
         fcb   $65 e
         fcb   $72 r
         fcb   $76 v
         fcb   $65 e
         fcb   $64 d
         fcb   $EC l
         fcb   $E6 f
         fcb   $EA j
         fcb   $F5 u
         fcb   $E9 i
         fcb   $A0 
         fcb   $E2 b
         fcb   $ED m
         fcb   $F1 q
         fcb   $E9 i
         fcb   $F0 p
         fcb   $EF o
         fcb   $F4 t
         fcb   $F0 p
L0080    fcb   $48 H
         fcb   $69 i
         fcb   $67 g
         fcb   $68 h
         fcb   $20 
         fcb   $6D m
         fcb   $65 e
         fcb   $73 s
         fcb   $73 s
         fcb   $61 a
         fcb   $67 g
         fcb   $65 e
         fcb   $20 
         fcb   $69 i
         fcb   $73 s
         fcb   $20 
         fcb   $23 #
L0091    fcb   $00 
         fcb   $11 
L0093    fcb   $45 E
         fcb   $6E n
         fcb   $74 t
         fcb   $65 e
         fcb   $72 r
         fcb   $20 
         fcb   $73 s
         fcb   $74 t
         fcb   $61 a
         fcb   $72 r
         fcb   $74 t
         fcb   $69 i
         fcb   $6E n
         fcb   $67 g
         fcb   $20 
         fcb   $6D m
         fcb   $65 e
         fcb   $73 s
         fcb   $73 s
         fcb   $61 a
         fcb   $67 g
         fcb   $65 e
         fcb   $20 
         fcb   $23 #
         fcb   $0D 
L00AC    fcb   $3E >
L00AD    fcb   $4D M
         fcb   $73 s
         fcb   $67 g
         fcb   $20 
         fcb   $23 #
         fcb   $20 
         fcb   $20 
         fcb   $20 
         fcb   $20 
         fcb   $55 U
         fcb   $73 s
         fcb   $65 e
         fcb   $72 r
         fcb   $20 
         fcb   $6E n
         fcb   $61 a
         fcb   $6D m
         fcb   $65 e
         fcb   $20 
         fcb   $20 
         fcb   $20 
         fcb   $20 
         fcb   $20 
         fcb   $20 
         fcb   $20 
         fcb   $20 
         fcb   $20 
         fcb   $20 
         fcb   $20 
         fcb   $20 
         fcb   $20 
         fcb   $20 
         fcb   $44 D
         fcb   $61 a
         fcb   $74 t
         fcb   $65 e
         fcb   $20 
         fcb   $20 
         fcb   $20 
         fcb   $20 
         fcb   $20 
         fcb   $20 
         fcb   $20 
         fcb   $20 
         fcb   $53 S
         fcb   $75 u
         fcb   $62 b
         fcb   $6A j
         fcb   $65 e
         fcb   $63 c
         fcb   $74 t
         fcb   $0D 
L00E1    fcb   $2D -
         fcb   $2D -
         fcb   $2D -
         fcb   $2D -
         fcb   $2D -
         fcb   $2D -
         fcb   $2D -
         fcb   $2D -
         fcb   $2D -
         fcb   $2D -
         fcb   $2D -
         fcb   $2D -
         fcb   $2D -
         fcb   $2D -
         fcb   $2D -
         fcb   $2D -
         fcb   $2D -
         fcb   $2D -
         fcb   $2D -
         fcb   $2D -
         fcb   $2D -
         fcb   $2D -
         fcb   $2D -
         fcb   $2D -
         fcb   $2D -
         fcb   $2D -
         fcb   $2D -
         fcb   $2D -
         fcb   $2D -
         fcb   $2D -
         fcb   $2D -
         fcb   $2D -
         fcb   $2D -
         fcb   $2D -
         fcb   $2D -
         fcb   $2D -
         fcb   $2D -
         fcb   $2D -
         fcb   $2D -
         fcb   $2D -
         fcb   $2D -
         fcb   $2D -
         fcb   $2D -
         fcb   $2D -
         fcb   $2D -
         fcb   $2D -
         fcb   $2D -
         fcb   $2D -
         fcb   $2D -
         fcb   $2D -
         fcb   $2D -
         fcb   $2D -
         fcb   $2D -
         fcb   $2D -
         fcb   $2D -
         fcb   $2D -
         fcb   $2D -
         fcb   $2D -
         fcb   $2D -
         fcb   $2D -
         fcb   $2D -
         fcb   $2D -
         fcb   $2D -
         fcb   $2D -
         fcb   $0D 
L0122    fcb   $42 B
         fcb   $42 B
         fcb   $53 S
         fcb   $2E .
         fcb   $6D m
         fcb   $73 s
         fcb   $67 g
         fcb   $2E .
         fcb   $69 i
         fcb   $6E n
         fcb   $78 x
         fcb   $0D 
L012E    fcb   $20 
         fcb   $20 
         fcb   $20 
         fcb   $20 
         fcb   $20 
         fcb   $20 
         fcb   $20 
         fcb   $20 
         fcb   $20 
         fcb   $20 
         fcb   $20 
         fcb   $20 
         fcb   $20 
         fcb   $20 
         fcb   $20 
         fcb   $20 
         fcb   $20 
         fcb   $20 
         fcb   $20 
         fcb   $20 
         fcb   $20 
         fcb   $20 
         fcb   $20 
         fcb   $20 
         fcb   $20 
         fcb   $20 
         fcb   $20 
         fcb   $20 
         fcb   $20 
         fcb   $20 
         fcb   $20 
         fcb   $20 
         fcb   $20 
         fcb   $20 
         fcb   $20 
         fcb   $20 
         fcb   $20 
         fcb   $20 
         fcb   $20 
L0155    fcb   $20 
         fcb   $20 
         fcb   $20 
         fcb   $20 
         fcb   $20 
         fcb   $20 
         fcb   $20 
         fcb   $20 
         fcb   $20 
         fcb   $20 
         fcb   $2A *
         fcb   $2A *
         fcb   $2A *
         fcb   $2A *
         fcb   $2A *
         fcb   $2A *
         fcb   $20 
         fcb   $20 
         fcb   $20 
         fcb   $44 D
         fcb   $45 E
         fcb   $4C L
         fcb   $45 E
         fcb   $54 T
         fcb   $45 E
         fcb   $44 D
         fcb   $20 
         fcb   $20 
         fcb   $20 
         fcb   $2A *
         fcb   $2A *
         fcb   $2A *
         fcb   $2A *
         fcb   $2A *
         fcb   $2A *
         fcb   $0D 
start    equ   *
         leax  >L0122,pcr
         lda   #$01
         os9   I$Open   
         lbcs  L0369
         sta   ,u
         leax  <u0029,u
         ldy   #$0040
         lda   ,u
         os9   I$Read   
         lbcs  L0369
         ldd   <u0029,u
         leax  u0009,u
         lbsr  L03D3
         leax  >L0080,pcr
         ldy   >L0091,pcr
         lda   #$01
         os9   I$Write  
         lbcs  L0369
         leax  u0009,u
         ldy   #$0006
         os9   I$WritLn 
         lbcs  L0369
         leax  >L0093,pcr
         ldy   #$00C8
         lda   #$01
         os9   I$WritLn 
         lbcs  L0369
         leax  >L00AC,pcr
         ldy   #$0001
         os9   I$Write  
         lbcs  L0369
         leax  <u0016,u
         ldy   #$0006
         clra  
         os9   I$ReadLn 
         lbcs  L0369
         clr   <u0015,u
         leax  <u0016,u
         lbsr  L036C
         cmpd  #$0001
         lbcs  L0368
         cmpd  <u0029,u
         lbhi  L0368
         std   u0009,u
         clr   <u001C,u
         clr   <u001D,u
         lda   #$06
         sta   u0001,u
         ldd   u0009,u
L0215    lslb  
         rola  
         rol   <u001D,u
         dec   u0001,u
         bne   L0215
         std   <u001E,u
         ldx   <u001C,u
         lda   ,u
         pshs  u
         ldu   <u001E,u
         os9   I$Seek   
         lbcs  L0369
         puls  u
         leax  >L00AD,pcr
         ldy   #$0050
         lda   #$01
         os9   I$WritLn 
         lbcs  L0369
         leax  >L00E1,pcr
         ldy   #$0050
         os9   I$WritLn 
         lbcs  L0369
L0254    lda   ,u
         ldy   #$0040
         leax  <u0069,u
         os9   I$Read   
         lbcs  L0368
         ldd   <u0069,u
         cmpd  #$FFFF
         lbeq  L0351
         ldd   u0009,u
         leax  u000F,u
         lbsr  L03D3
         ldd   u0009,u
         addd  #$0001
         std   u0009,u
         leax  u000F,u
         ldy   #$0005
         lda   #$01
         os9   I$Write  
         lbcs  L0369
         leax  >L012E,pcr
         ldy   #$0004
         os9   I$Write  
         lbcs  L0369
         leax  <u006D,u
         clr   u0003,u
         clr   u0004,u
L02A2    lda   ,x+
         cmpa  #$0D
         beq   L02AC
         inc   u0004,u
         bra   L02A2
L02AC    leax  <u006D,u
         ldy   u0003,u
         lda   #$01
         os9   I$Write  
         lbcs  L0369
         ldd   #$0016
         subd  u0003,u
         tfr   d,y
         leax  >L012E,pcr
         lda   #$01
         os9   I$Write  
         lbcs  L0369
         leax  u000F,u
         ldb   >u00A0,u
         clra  
         lbsr  L03D3
         lda   <u0012,u
         sta   <u0020,u
         lda   <u0013,u
         sta   <u0021,u
         lda   #$2F
         sta   <u0022,u
         ldb   >u00A1,u
         clra  
         leax  u000F,u
         lbsr  L03D3
         lda   <u0012,u
         sta   <u0023,u
         lda   <u0013,u
         sta   <u0024,u
         lda   #$2F
         sta   <u0025,u
         ldb   >u009F,u
         clra  
         leax  u000F,u
         lbsr  L03D3
         lda   <u0012,u
         sta   <u0026,u
         lda   <u0013,u
         sta   <u0027,u
         lda   #$0D
         sta   <u0028,u
         leax  <u0020,u
         ldy   #$0008
         lda   #$01
         os9   I$Write  
         lbcs  L0369
         ldy   #$0005
         leax  >L012E,pcr
         os9   I$Write  
         lbcs  L0369
         leax  >u0081,u
         ldy   #$001E
         os9   I$WritLn 
         lbcs  L0369
         lbra  L0254
L0351    ldd   u0009,u
         addd  #$0001
         std   u0009,u
         leax  >L0155,pcr
         ldy   #$00C8
         lda   #$01
         os9   I$WritLn 
         lbra  L0254
L0368    clrb  
L0369    os9   F$Exit   
L036C    pshs  y
L036E    lda   ,x+
         cmpa  #$0D
         lbeq  L0441
         cmpa  #$30
         bcs   L036E
         cmpa  #$39
         bhi   L036E
         leax  -$01,x
L0380    lda   ,x+
         cmpa  #$30
         bcs   L038C
         cmpa  #$39
         bhi   L038C
         bra   L0380
L038C    pshs  x
         leax  -$01,x
         clr   u0005,u
         clr   u0006,u
         ldd   #$0001
         std   u0007,u
L0399    lda   ,-x
         cmpa  #$30
         bcs   L03CD
         cmpa  #$39
         bhi   L03CD
         suba  #$30
         sta   u0002,u
         ldd   #$0000
L03AA    tst   u0002,u
         beq   L03B4
         addd  u0007,u
         dec   u0002,u
         bra   L03AA
L03B4    addd  u0005,u
         std   u0005,u
         lda   #$0A
         sta   u0002,u
         ldd   #$0000
L03BF    tst   u0002,u
         beq   L03C9
         addd  u0007,u
         dec   u0002,u
         bra   L03BF
L03C9    std   u0007,u
         bra   L0399
L03CD    ldd   u0005,u
         puls  x
         puls  pc,y
L03D3    pshs  x
         std   u0005,u
         lda   #$30
         sta   ,x
         sta   $01,x
         sta   $02,x
         sta   $03,x
         sta   $04,x
         ldd   #$2710
         std   u0007,u
         ldd   u0005,u
         lbsr  L0432
         ldd   #$03E8
         std   u0007,u
         ldd   u0005,u
         bsr   L0432
         ldd   #$0064
         std   u0007,u
         ldd   u0005,u
         bsr   L0432
         ldd   #$000A
         std   u0007,u
         ldd   u0005,u
         bsr   L0432
         ldd   #$0001
         std   u0007,u
         ldd   u0005,u
         bsr   L0432
         lda   #$0D
         sta   ,x
         puls  x
         ldb   #$20
L0419    lda   ,x
         cmpa  #$30
         bne   L0423
         stb   ,x+
         bra   L0419
L0423    lda   ,x+
         cmpa  #$30
         bcs   L042F
         cmpa  #$39
         bhi   L042F
         bra   L0423
L042F    leax  -$01,x
         rts   
L0432    subd  u0007,u
         bcs   L043A
         inc   ,x
         bra   L0432
L043A    addd  u0007,u
         std   u0005,u
         leax  $01,x
         rts   
L0441    ldd   #$FFFF
         puls  pc,y
         emod
eom      equ   *
         end