view 3rdparty/packages/os9l2bbs/cmds/Menu.asm @ 2402:04755ee002ba

Updated
author boisy
date Sun, 24 Jan 2010 17:32:49 +0000
parents 75ba2a80a4e3
children 64aa4d9a3bbf
line wrap: on
line source

         nam   menu
         ttl   program module       

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

         ifp1
         use   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   2
u0007    rmb   2
u0009    rmb   2
u000B    rmb   1
u000C    rmb   1
u000D    rmb   2
u000F    rmb   2
u0011    rmb   2
u0013    rmb   2
u0015    rmb   4
u0019    rmb   4
u001D    rmb   1
u001E    rmb   1
u001F    rmb   1
u0020    rmb   1
u0021    rmb   16
u0031    rmb   8
u0039    rmb   3
u003C    rmb   3
u003F    rmb   3
u0042    rmb   3
u0045    rmb   9
u004E    rmb   23
u0065    rmb   32
u0085    rmb   206
u0153    rmb   40
u017B    rmb   120
u01F3    rmb   3200
u0E73    rmb   2
u0E75    rmb   80
u0EC5    rmb   4450
size     equ   .
name     equ   *
         fcs   /menu/
         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
L007C    fcb   $73 s
         fcb   $68 h
         fcb   $65 e
         fcb   $6C l
         fcb   $6C l
         fcb   $0D 
L0082    fcb   $55 U
         fcb   $73 s
         fcb   $61 a
         fcb   $67 g
         fcb   $65 e
         fcb   $20 
         fcb   $69 i
         fcb   $73 s
         fcb   $3A :
         fcb   $0A 
         fcb   $4D M
         fcb   $45 E
         fcb   $4E N
         fcb   $55 U
         fcb   $20 
         fcb   $3C <
         fcb   $6D m
         fcb   $65 e
         fcb   $6E n
         fcb   $75 u
         fcb   $6E n
         fcb   $61 a
         fcb   $6D m
         fcb   $65 e
         fcb   $3E >
         fcb   $20 
         fcb   $3C <
         fcb   $63 c
         fcb   $6D m
         fcb   $64 d
         fcb   $6E n
         fcb   $61 a
         fcb   $6D m
         fcb   $65 e
         fcb   $3E >
         fcb   $0A 
         fcb   $0D 
L00A7    fcb   $0A 
         fcb   $0A 
         fcb   $0D 
L00AA    fcb   $53 S
         fcb   $6F o
         fcb   $72 r
         fcb   $72 r
         fcb   $79 y
         fcb   $2C ,
         fcb   $20 
         fcb   $79 y
         fcb   $6F o
         fcb   $75 u
         fcb   $20 
         fcb   $64 d
         fcb   $6F o
         fcb   $20 
         fcb   $6E n
         fcb   $6F o
         fcb   $74 t
         fcb   $20 
         fcb   $68 h
         fcb   $61 a
         fcb   $76 v
         fcb   $65 e
         fcb   $20 
         fcb   $61 a
         fcb   $63 c
         fcb   $63 c
         fcb   $65 e
         fcb   $73 s
         fcb   $73 s
         fcb   $20 
         fcb   $74 t
         fcb   $6F o
         fcb   $20 
         fcb   $74 t
         fcb   $68 h
         fcb   $61 a
         fcb   $74 t
         fcb   $20 
         fcb   $6F o
         fcb   $70 p
         fcb   $74 t
         fcb   $69 i
         fcb   $6F o
         fcb   $6E n
         fcb   $0D 
L00D7    fcb   $41 A
         fcb   $20 
         fcb   $75 u
         fcb   $73 s
         fcb   $65 e
         fcb   $72 r
         fcb   $20 
         fcb   $70 p
         fcb   $72 r
         fcb   $69 i
         fcb   $6F o
         fcb   $72 r
         fcb   $69 i
         fcb   $74 t
         fcb   $79 y
         fcb   $20 
         fcb   $6C l
         fcb   $65 e
         fcb   $76 v
         fcb   $65 e
         fcb   $6C l
         fcb   $20 
         fcb   $68 h
         fcb   $61 a
         fcb   $73 s
         fcb   $20 
         fcb   $62 b
         fcb   $65 e
         fcb   $65 e
         fcb   $6E n
         fcb   $20 
         fcb   $73 s
         fcb   $70 p
         fcb   $65 e
         fcb   $63 c
         fcb   $69 i
         fcb   $66 f
         fcb   $69 i
         fcb   $65 e
         fcb   $64 d
         fcb   $20 
         fcb   $69 i
         fcb   $6E n
         fcb   $63 c
         fcb   $6F o
         fcb   $72 r
         fcb   $72 r
         fcb   $65 e
         fcb   $63 c
         fcb   $74 t
         fcb   $6C l
         fcb   $79 y
         fcb   $21 !
         fcb   $0D 
L010D    fcb   $2F /
         fcb   $64 d
         fcb   $64 d
         fcb   $2F /
         fcb   $62 b
         fcb   $62 b
         fcb   $73 s
         fcb   $2F /
         fcb   $42 B
         fcb   $42 B
         fcb   $53 S
         fcb   $2E .
         fcb   $75 u
         fcb   $73 s
         fcb   $65 e
         fcb   $72 r
         fcb   $73 s
         fcb   $74 t
         fcb   $61 a
         fcb   $74 t
         fcb   $73 s
         fcb   $0D 
L0123    fcb   $49 I
         fcb   $27 '
         fcb   $6D m
         fcb   $20 
         fcb   $73 s
         fcb   $6F o
         fcb   $72 r
         fcb   $72 r
         fcb   $79 y
         fcb   $2C ,
         fcb   $20 
         fcb   $62 b
         fcb   $75 u
         fcb   $74 t
         fcb   $20 
         fcb   $79 y
         fcb   $6F o
         fcb   $75 u
         fcb   $72 r
         fcb   $20 
         fcb   $74 t
         fcb   $69 i
         fcb   $6D m
         fcb   $65 e
         fcb   $20 
         fcb   $68 h
         fcb   $61 a
         fcb   $73 s
         fcb   $20 
         fcb   $65 e
         fcb   $78 x
         fcb   $70 p
         fcb   $69 i
         fcb   $72 r
         fcb   $65 e
         fcb   $64 d
         fcb   $21 !
         fcb   $0D 
L0149    fcb   $57 W
         fcb   $41 A
         fcb   $52 R
         fcb   $4E N
         fcb   $49 I
         fcb   $4E N
         fcb   $47 G
         fcb   $21 !
         fcb   $21 !
         fcb   $20 
         fcb   $20 
         fcb   $59 Y
         fcb   $6F o
         fcb   $75 u
         fcb   $20 
         fcb   $68 h
         fcb   $61 a
         fcb   $76 v
         fcb   $65 e
         fcb   $20 
         fcb   $6F o
         fcb   $6E n
         fcb   $6C l
         fcb   $79 y
         fcb   $20 
         fcb   $61 a
         fcb   $20 
         fcb   $66 f
         fcb   $65 e
         fcb   $77 w
         fcb   $20 
         fcb   $6D m
         fcb   $69 i
         fcb   $6E n
         fcb   $75 u
         fcb   $74 t
         fcb   $65 e
         fcb   $73 s
         fcb   $20 
         fcb   $6C l
         fcb   $65 e
         fcb   $66 f
         fcb   $74 t
         fcb   $20 
         fcb   $6F o
         fcb   $6E n
         fcb   $6C l
         fcb   $69 i
         fcb   $6E n
         fcb   $65 e
         fcb   $21 !
         fcb   $0D 
L017D    fcb   $1F 
         fcb   $1C 
         fcb   $1F 
         fcb   $1E 
         fcb   $1F 
         fcb   $1E 
         fcb   $1F 
         fcb   $1F 
         fcb   $1E 
         fcb   $1F 
         fcb   $1E 
         fcb   $1F 
start    equ   *
         pshs  u,y,x,b,a
         os9   F$ID     
         sty   <u0013,u
         puls  u,y,x,b,a
         ldd   #$0A0D
         std   >u0E73,u
         sty   u000B,u
         leay  <u0045,u
L01A1    lda   ,x+
         cmpx  u000B,u
         lbhi  L0586
         sta   ,y+
         cmpa  #$20
         bne   L01A1
         lda   #$0D
         sta   -$01,y
         leay  <u0065,u
L01B6    lda   ,x+
         cmpx  u000B,u
         lbhi  L0586
         sta   ,y+
         cmpa  #$0D
         bne   L01B6
         leax  >L010D,pcr
         lda   #$01
         os9   I$Open   
         lbcs  L027C
         sta   ,u
L01D3    leax  <u0019,u
         ldy   #$0020
         lda   ,u
         os9   I$Read   
         bcs   L01EC
         ldd   <u0013,u
         cmpd  <u0019,u
         bne   L01D3
         bra   L01F4
L01EC    lda   ,u
         os9   I$Close  
         lbra  L027C
L01F4    ldd   <u0031,u
         cmpd  #$0000
         lbeq  L0277
         ldb   <u0021,u
         clra  
         addd  <u0031,u
         cmpd  #$003C
         bcs   L0263
L020C    subd  #$003C
         pshs  b,a
         lda   <u0020,u
         inca  
         cmpa  #$18
         bcs   L0258
         clr   <u0020,u
         lda   <u001F,u
         inca  
         leax  >L017D,pcr
         ldb   <u001E,u
         decb  
         leax  b,x
         cmpa  ,x
         bcs   L0253
         lda   #$01
         sta   <u001F,u
         lda   <u001E,u
         inca  
         cmpa  #$0C
         blt   L024E
         lda   #$01
         sta   <u001E,u
         lda   <u001D,u
         inca  
         cmpa  #$64
         bcs   L0249
         clra  
L0249    sta   <u001D,u
         bra   L025B
L024E    sta   <u001E,u
         bra   L025B
L0253    sta   <u001F,u
         bra   L025B
L0258    sta   <u0020,u
L025B    puls  b,a
         cmpd  #$003C
         bcc   L020C
L0263    stb   <u0021,u
         lda   #$06
         leax  <u001D,u
         leay  <u003F,u
L026E    ldb   ,x+
         stb   ,y+
         deca  
         bne   L026E
         bra   L027C
L0277    lda   #$65
         sta   <u003F,u
L027C    leax  >u0153,u
         stx   u0005,u
         leax  >u01F3,u
         stx   u0007,u
         leax  >u017B,u
         stx   u0009,u
         leax  <u0065,u
         lda   #$01
         os9   I$Open   
         lbcs  L0594
         sta   u0002,u
L029C    ldx   u0005,u
         ldy   #$0001
         os9   I$Read   
         ldb   ,x
         cmpb  #$2F
         beq   L02F4
         cmpb  #$3E
         lbeq  L03AB
         cmpb  #$3C
         lbeq  L03AB
         cmpb  #$3D
         lbeq  L03AB
         ldy   u0009,u
         pshs  b,a
         lda   #$2D
         sta   ,y+
         ldd   #$FFFF
         std   ,y++
         puls  b,a
         sty   u0009,u
L02D0    cmpb  #$61
         bcs   L02D8
         andb  #$DF
         stb   ,x
L02D8    leax  $01,x
         stx   u0005,u
         ldx   u0007,u
         ldy   #$0050
         os9   I$ReadLn 
         lbcs  L0594
         sty   <$4E,x
         leax  <$50,x
         stx   u0007,u
         bra   L029C
L02F4    leax  >u0E75,u
         ldy   #$0050
         os9   I$ReadLn 
         lbcs  L0594
         sty   <u0011,u
         ldx   u0005,u
         lda   #$FF
         sta   ,x
         lda   u0002,u
         os9   I$Close  
         lbcs  L0594
         leax  <u0045,u
         lda   #$01
         os9   I$Open   
         lbcs  L0594
         sta   u0001,u
         leax  >u0EC5,u
         ldy   #$0FA0
         lda   u0001,u
         os9   I$Read   
         sty   <u0015,u
         lbcs  L0594
         os9   I$Close  
         stx   u000B,u
         tfr   y,d
         leax  d,x
         stx   u000F,u
         ldx   u000B,u
         ldy   #$0001
L034A    pshs  x
         lda   #$01
         ldb   #$01
         os9   I$GetStt 
         lbcc  L0440
         ldy   <u0015,u
         ldx   ,s
L035D    lda   ,x+
         cmpa  #$0D
         beq   L0374
         leay  -$01,y
         bne   L035D
         puls  x
         lda   #$01
         ldy   <u0015,u
         os9   I$Write  
         bra   L037F
L0374    puls  x
         lda   #$01
         ldy   <u0015,u
         os9   I$WritLn 
L037F    lbcs  L0594
         pshs  y
         ldd   <u0015,u
         subd  ,s
         std   <u0015,u
         cmpd  #$0000
         ble   L03A8
         puls  b,a
         leax  d,x
         lda   #$01
         ldb   #$01
         os9   I$GetStt 
         lbcc  L0440
         cmpx  u000F,u
         bhi   L03A8
         bra   L034A
L03A8    lbra  L03F9
L03AB    pshs  x,a
         ldy   u0009,u
         stb   ,y+
         leax  >u0085,u
         pshs  y
         ldy   #$0006
         os9   I$Read   
         leax  >u0085,u
         lbsr  L0597
         puls  y
         std   ,y++
         sty   u0009,u
         puls  x,a
         ldy   #$0001
         os9   I$Read   
         ldb   ,x
         lbra  L02D0
L03DB    leax  >L0123,pcr
         ldy   #$00C8
         lda   #$01
         os9   I$WritLn 
         lbra  L0582
L03EB    leax  >L0149,pcr
         ldy   #$00C8
         lda   #$01
         os9   I$WritLn 
         rts   
L03F9    leax  <u0039,u
         os9   F$Time   
         ldb   #$06
         leax  <u0039,u
         leay  <u003F,u
L0407    lda   ,x+
         cmpa  ,y+
         lbhi  L03DB
         bcs   L0414
         decb  
         bne   L0407
L0414    cmpb  #$03
         bgt   L0431
         ldd   <u003C,u
         addb  #$05
         cmpb  #$3C
         bcs   L0429
         subb  #$3C
         inca  
         cmpa  #$18
         bcs   L0429
         clra  
L0429    cmpd  <u0042,u
         bls   L0431
         bsr   L03EB
L0431    leax  >u0E75,u
         ldy   <u0011,u
         leay  -$01,y
         lda   #$01
         os9   I$Write  
L0440    leax  u0003,u
         ldy   #$0001
         clra  
         os9   I$Read   
         ldy   #$0002
         lda   #$01
         pshs  x
         leax  >L00A7,pcr
         os9   I$WritLn 
         puls  x
         lda   ,x
         cmpa  #$3F
         lbeq  L027C
         cmpa  #$61
         bcs   L046B
         anda  #$DF
         sta   ,x
L046B    lda   ,x
         leax  >u0153,u
         clrb  
L0472    tst   ,x
         bmi   L03F9
         cmpa  ,x+
         beq   L0482
         incb  
         cmpb  #$28
         bls   L0472
         lbra  L03F9
L0482    pshs  b
         lda   #$03
         mul   
         leax  >u017B,u
         leax  d,x
         lda   ,x+
         cmpa  #$3C
         beq   L04DF
         cmpa  #$3E
         beq   L04EF
         cmpa  #$3D
         beq   L04FF
L049B    puls  b
         lda   #$50
         mul   
         pshs  u
         leau  >u01F3,u
         leau  d,u
         lda   u0001,u
         anda  #$DF
         cmpa  #$43
         bne   L04CC
         lda   u0002,u
         anda  #$DF
         cmpa  #$48
         bne   L04CC
         lda   u0003,u
         anda  #$DF
         cmpa  #$4D
         lbeq  L0557
         cmpa  #$58
         lbeq  L0549
         cmpa  #$44
         beq   L053B
L04CC    lda   u0001,u
         anda  #$DF
         cmpa  #$45
         bne   L051F
         lda   u0002,u
         anda  #$DF
         cmpa  #$58
         bne   L051F
         lbra  L0582
L04DF    ldd   <u0013,u
         lbeq  L049B
         cmpd  ,x
         lbcs  L049B
         bra   L050D
L04EF    ldd   <u0013,u
         lbeq  L049B
         cmpd  ,x
         lbhi  L049B
         bra   L050D
L04FF    ldd   <u0013,u
         lbeq  L049B
         cmpd  ,x
         lbeq  L049B
L050D    leax  >L00AA,pcr
         ldy   #$00C8
         lda   #$01
         os9   I$WritLn 
         puls  b
         lbra  L03F9
L051F    ldy   <u004E,u
         leax  >L007C,pcr
         ldb   #$03
         lda   #$11
         os9   F$Fork   
         puls  u
         bcc   L0535
         os9   F$PErr   
L0535    os9   F$Wait   
         lbra  L03F9
L053B    tfr   u,x
         puls  u
         leax  $04,x
         lda   #$01
         os9   I$ChgDir 
         lbra  L027C
L0549    tfr   u,x
         puls  u
         leax  $04,x
         lda   #$04
         os9   I$ChgDir 
         lbra  L027C
L0557    tfr   u,x
         puls  u
         leay  <u0045,u
         leax  $04,x
L0560    lda   ,x+
         cmpa  #$20
         beq   L0560
         leax  -$01,x
L0568    lda   ,x+
         sta   ,y+
         cmpa  #$20
         bne   L0568
         lda   #$0D
         sta   -$01,y
         leay  <u0065,u
L0577    lda   ,x+
         sta   ,y+
         cmpa  #$0D
         bne   L0577
         lbra  L027C
L0582    clrb  
         os9   F$Exit   
L0586    leax  >L0082,pcr
         ldy   #$00C8
         lda   #$01
         os9   I$WritLn 
         clrb  
L0594    os9   F$Exit   
L0597    pshs  y
L0599    lda   ,x+
         cmpa  #$0D
         lbeq  L064E
         cmpa  #$30
         bcs   L0599
         cmpa  #$39
         bhi   L0599
         leax  -$01,x
L05AB    lda   ,x+
         cmpa  #$30
         bcs   L05B7
         cmpa  #$39
         bhi   L05B7
         bra   L05AB
L05B7    pshs  x
         leax  -$01,x
         clr   u000B,u
         clr   u000C,u
         ldd   #$0001
         std   u000D,u
L05C4    lda   ,-x
         cmpa  #$30
         bcs   L05F8
         cmpa  #$39
         bhi   L05F8
         suba  #$30
         sta   u0004,u
         ldd   #$0000
L05D5    tst   u0004,u
         beq   L05DF
         addd  u000D,u
         dec   u0004,u
         bra   L05D5
L05DF    addd  u000B,u
         std   u000B,u
         lda   #$0A
         sta   u0004,u
         ldd   #$0000
L05EA    tst   u0004,u
         beq   L05F4
         addd  u000D,u
         dec   u0004,u
         bra   L05EA
L05F4    std   u000D,u
         bra   L05C4
L05F8    ldd   u000B,u
         puls  x
         puls  pc,y
         std   u000B,u
         lda   #$30
         sta   ,x
         sta   $01,x
         sta   $02,x
         sta   $03,x
         sta   $04,x
         ldd   #$2710
         std   u000D,u
         ldd   u000B,u
         lbsr  L063F
         ldd   #$03E8
         std   u000D,u
         ldd   u000B,u
         bsr   L063F
         ldd   #$0064
         std   u000D,u
         ldd   u000B,u
         bsr   L063F
         ldd   #$000A
         std   u000D,u
         ldd   u000B,u
         bsr   L063F
         ldd   #$0001
         std   u000D,u
         ldd   u000B,u
         bsr   L063F
         lda   #$0D
         sta   ,x
         rts   
L063F    subd  u000D,u
         bcs   L0647
         inc   ,x
         bra   L063F
L0647    addd  u000D,u
         std   u000B,u
         leax  $01,x
         rts   
L064E    leax  >L00D7,pcr
         ldy   #$00C8
         lda   #$01
         os9   I$WritLn 
         lda   #$01
         lbra  L0594
         emod
eom      equ   *
         end