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

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

         nam   Uloady
         ttl   program module       

* Disassembled 2010/01/24 10:49:56 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   1
u0006    rmb   2
u0008    rmb   2
u000A    rmb   2
u000C    rmb   2
u000E    rmb   1
u000F    rmb   1
u0010    rmb   2
u0012    rmb   32
u0032    rmb   1
u0033    rmb   1
u0034    rmb   128
u00B4    rmb   896
u0434    rmb   2
u0436    rmb   32
u0456    rmb   432
size     equ   .
name     equ   *
         fcs   /Uloady/
         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
L007E    fcb   $46 F
         fcb   $69 i
         fcb   $6C l
         fcb   $65 e
         fcb   $20 
         fcb   $6F o
         fcb   $70 p
         fcb   $65 e
         fcb   $6E n
         fcb   $2C ,
         fcb   $20 
         fcb   $72 r
         fcb   $65 e
         fcb   $61 a
         fcb   $64 d
         fcb   $79 y
         fcb   $20 
         fcb   $74 t
         fcb   $6F o
         fcb   $20 
         fcb   $72 r
         fcb   $65 e
         fcb   $63 c
         fcb   $69 i
         fcb   $65 e
         fcb   $76 v
         fcb   $65 e
         fcb   $2E .
         fcb   $2E .
         fcb   $2E .
         fcb   $0D 
L009D    fcb   $45 E
         fcb   $6E n
         fcb   $74 t
         fcb   $65 e
         fcb   $72 r
         fcb   $20 
         fcb   $66 f
         fcb   $69 i
         fcb   $6C l
         fcb   $65 e
         fcb   $6E n
         fcb   $61 a
         fcb   $6D m
         fcb   $65 e
         fcb   $20 
         fcb   $74 t
         fcb   $6F o
         fcb   $20 
         fcb   $75 u
         fcb   $70 p
         fcb   $6C l
         fcb   $6F o
         fcb   $61 a
         fcb   $64 d
         fcb   $3A :
         fcb   $20 
L00B7    fcb   $55 U
         fcb   $70 p
         fcb   $6C l
         fcb   $6F o
         fcb   $61 a
         fcb   $64 d
         fcb   $20 
         fcb   $61 a
         fcb   $62 b
         fcb   $6F o
         fcb   $72 r
         fcb   $74 t
         fcb   $65 e
         fcb   $64 d
         fcb   $21 !
         fcb   $0D 
L00C7    fcb   $55 U
         fcb   $70 p
         fcb   $6C l
         fcb   $6F o
         fcb   $61 a
         fcb   $64 d
         fcb   $20 
         fcb   $73 s
         fcb   $75 u
         fcb   $63 c
         fcb   $63 c
         fcb   $65 e
         fcb   $73 s
         fcb   $73 s
         fcb   $66 f
         fcb   $75 u
         fcb   $6C l
         fcb   $21 !
         fcb   $0D 
start    equ   *
         pshs  x
         os9   F$ID     
         ldb   #$FF
         os9   F$SPrior 
         lda   ,x
         cmpa  #$0D
         bne   L0102
         leax  >L009D,pcr
         ldy   #$0019
         lda   #$01
         os9   I$Write  
         leax  <u0012,u
         ldy   #$0020
         clra  
         os9   I$ReadLn 
L0102    stx   <u0010,u
         lda   #$02
         ldb   #$1B
         os9   I$Create 
         lbcs  L03ED
         sta   u0001,u
         clr   u0003,u
         clr   u0002,u
         clr   >u00B4,u
         dec   >u00B4,u
         leax  >L007E,pcr
         ldy   #$00C8
         lda   #$01
         os9   I$WritLn 
         lda   #$06
         sta   u0008,u
         leax  >u0436,u
         clra  
         clrb  
         os9   I$GetStt 
         lbcs  L03ED
         leax  >u0456,u
         clra  
         clrb  
         os9   I$GetStt 
         lbcs  L03ED
         leax  >u0456,u
         leax  <-$20,x
         clr   <$2B,x
         clr   <$2C,x
         clr   <$2E,x
         clr   <$2F,x
         clr   <$30,x
         clr   <$31,x
         clr   <$38,x
         clr   <$39,x
         clr   <$24,x
         clr   <$2D,x
         clr   <$27,x
         clr   <$28,x
         clr   <$29,x
         clra  
         clrb  
         leax  >u0456,u
         os9   I$SetStt 
L0180    tst   u0008,u
         beq   L018C
         dec   u0008,u
         lda   #$43
         sta   ,u
         bra   L0190
L018C    lda   #$15
         sta   ,u
L0190    leax  ,u
         lda   #$01
         ldy   #$0001
         os9   I$Write  
         clr   u0004,u
         clr   u0005,u
         lda   u0003,u
         inca  
         sta   u0003,u
         cmpa  #$0A
         bcs   L01AD
         ldb   #$01
         lbra  L03E6
L01AD    clra  
         ldb   #$01
         os9   I$GetStt 
         bcc   L01C5
         ldy   u0004,u
         leay  $01,y
         sty   u0004,u
         cmpy  #$1500
         bcc   L0180
         bra   L01AD
L01C5    leax  ,u
         ldy   #$0001
         clra  
         os9   I$Read   
         lda   ,u
         cmpa  #$01
         beq   L020A
         cmpa  #$02
         beq   L01E7
         cmpa  #$04
         lbeq  L03C1
         cmpa  #$18
         lbeq  L03F0
         bra   L01AD
L01E7    leax  <u0032,u
         tst   u0008,u
         beq   L01F4
         ldy   #$0404
         bra   L01F8
L01F4    ldy   #$0403
L01F8    sty   u0006,u
         clr   u0004,u
         clr   u0005,u
         bsr   L022D
         lbcs  L018C
         inc   u0002,u
         lbra  L0311
L020A    leax  <u0032,u
         tst   u0008,u
         beq   L0217
         ldy   #$0084
         bra   L021B
L0217    ldy   #$0083
L021B    sty   u0006,u
         clr   u0004,u
         clr   u0005,u
         bsr   L022D
         lbcs  L018C
         inc   u0002,u
         lbra  L027F
L022D    clra  
         ldb   #$01
         os9   I$GetStt 
         bcc   L0245
         ldy   u0004,u
         leay  $01,y
         sty   u0004,u
         cmpy  #$1000
         bhi   L0261
         bra   L022D
L0245    clr   u0004,u
         clr   u0005,u
         clra  
         tfr   d,y
         os9   I$Read   
         bcs   L0265
         tfr   y,d
         leax  d,x
         ldd   u0006,u
         sty   u0006,u
         subd  u0006,u
         std   u0006,u
         bne   L022D
         rts   
L0261    lda   #$FF
         rola  
         rts   
L0265    pshs  x
         ldx   #$003C
         os9   F$Sleep  
         puls  x
         clra  
         ldb   #$01
         os9   I$GetStt 
         clra  
         tfr   d,y
         os9   I$Read   
         lda   #$FF
         rola  
         rts   
L027F    lda   <u0032,u
         inca  
         cmpa  u0002,u
         lbeq  L03A5
         deca  
         cmpa  u0002,u
         beq   L0293
         dec   u0002,u
         lbra  L018C
L0293    coma  
         cmpa  <u0033,u
         beq   L029E
         dec   u0002,u
         lbra  L018C
L029E    leax  <u0034,u
         tst   u0008,u
         bne   L02BA
         ldb   #$80
         clra  
L02A8    adda  ,x+
         decb  
         bne   L02A8
         cmpa  >u00B4,u
         lbeq  L0302
         dec   u0002,u
         lbra  L018C
L02BA    ldy   #$0080
         sty   u000A,u
         clra  
         clrb  
         std   u000E,u
L02C5    lda   ,x+
         clrb  
         eora  u000E,u
         eorb  u000F,u
         std   u000E,u
         lda   #$08
         sta   u000C,u
L02D2    ldd   u000E,u
         bita  #$80
         beq   L02E2
         lslb  
         rola  
         eora  #$10
         eorb  #$21
         std   u000E,u
         bra   L02E6
L02E2    lslb  
         rola  
         std   u000E,u
L02E6    dec   u000C,u
         bne   L02D2
         ldy   u000A,u
         leay  -$01,y
         sty   u000A,u
         bne   L02C5
         ldd   u000E,u
         cmpd  >u00B4,u
         beq   L0302
         dec   u0002,u
         lbra  L018C
L0302    lda   u0001,u
         leax  <u0034,u
         ldy   #$0080
         os9   I$Write  
         lbra  L03A7
L0311    lda   <u0032,u
         inca  
         cmpa  u0002,u
         lbeq  L03A5
         deca  
         cmpa  u0002,u
         beq   L0325
         dec   u0002,u
         lbra  L018C
L0325    coma  
         cmpa  <u0033,u
         beq   L0330
         dec   u0002,u
         lbra  L018C
L0330    leax  <u0034,u
         tst   u0008,u
         bne   L034F
         ldy   #$0400
         clra  
L033C    adda  ,x+
         leay  -$01,y
         bne   L033C
         cmpa  >u0434,u
         lbeq  L0302
         dec   u0002,u
         lbra  L018C
L034F    ldy   #$0400
         sty   u000A,u
         clra  
         clrb  
         std   u000E,u
L035A    lda   ,x+
         clrb  
         eora  u000E,u
         eorb  u000F,u
         std   u000E,u
         lda   #$08
         sta   u000C,u
L0367    ldd   u000E,u
         bita  #$80
         beq   L0377
         lslb  
         rola  
         eora  #$10
         eorb  #$21
         std   u000E,u
         bra   L037B
L0377    lslb  
         rola  
         std   u000E,u
L037B    dec   u000C,u
         bne   L0367
         ldy   u000A,u
         leay  -$01,y
         sty   u000A,u
         bne   L035A
         ldd   u000E,u
         cmpd  >u0434,u
         beq   L0397
         dec   u0002,u
         lbra  L018C
L0397    lda   u0001,u
         leax  <u0034,u
         ldy   #$0400
         os9   I$Write  
         bra   L03A7
L03A5    dec   u0002,u
L03A7    ldx   #$000A
         os9   F$Sleep  
         lda   #$06
         sta   ,u
         lda   #$01
         leax  ,u
         ldy   #$0001
         os9   I$Write  
         clr   u0003,u
         lbra  L01AD
L03C1    lda   #$06
         sta   ,u
         lda   #$01
         leax  ,u
         ldy   #$0001
         os9   I$Write  
         lda   u0001,u
         os9   I$Close  
         lbsr  L0412
         leax  >L00C7,pcr
         ldy   #$00C8
         lda   #$01
         os9   I$WritLn 
         clrb  
L03E6    pshs  b
         lbsr  L0412
         puls  b
L03ED    os9   F$Exit   
L03F0    bsr   L0412
         leax  >L00B7,pcr
         ldy   #$00C8
         lda   #$01
         os9   I$WritLn 
         lda   u0001,u
         os9   I$Close  
         ldx   <u0010,u
         os9   I$Delete 
         lbcs  L03E6
         ldb   #$01
         bra   L03E6
L0412    leax  >u0436,u
         clra  
         clrb  
         os9   I$SetStt 
         rts   
         emod
eom      equ   *
         end