home *** CD-ROM | disk | FTP | other *** search
/ rtsi.com / 2014.01.www.rtsi.com.tar / www.rtsi.com / UNIFLEX / UNIFLEX / UniFLEX_Std.Utils1.tar.Z / UniFLEX_Std.Utils1.tar / utils1 / install < prev    next >
Text File  |  1982-07-20  |  2KB  |  142 lines

  1.  opt pag,nol
  2.  lib sysdef
  3.  ttl Install Utility
  4.  opt lis
  5.  pag
  6.  
  7. * Install Utility
  8.  
  9. * Equates
  10.  
  11. RADR equ $9000 address of configure block
  12.  
  13.  
  14. inst ldd 0,s get arg count
  15.  cmpd #2
  16.  lbne synerr error?
  17.  ldd 4,s get file name
  18.  std iopn2 set up open call
  19.  sys ind,iopn open uniflex file
  20.  lbes err1 error?
  21.  std fd save file descriptor
  22.  sys read,bhdr,24 read in header record
  23.  lbes err2 error?
  24.  ldd bhdr get 1st 2 bytes
  25.  cmpd #$212 is it binary file?
  26.  lbne err3
  27.  sys cpint,12,catch funny here!
  28.  ldx #$5555
  29.  aslb
  30.  rora
  31. * ldd 0,x
  32.  ldu #$100
  33.  tfr u,y
  34.  pshs y
  35.  ldy $10
  36.  puls y
  37.  sys gtid get task id
  38.  sys spint,12 send interrupt
  39.  swi
  40.  fcb 3,44,11,199,33,233,11,9,76,88,55,29,86,146,222,76
  41.  fcb 44,76,82,34,125,167,23,251,222,76,33,22,11,23,100
  42. cont sys time,sbuf get current time
  43. inst4 ldd fd get file desc
  44.  sys read,arec,4 get record
  45.  lbes err2 error?
  46.  cmpd #0 end of file?
  47.  lbeq err3
  48.  ldd arec+2 get address of record
  49.  cmpd #RADR is it config block?
  50.  beq inst6
  51.  ldd arec get record size
  52.  std isk2 set count in seek
  53.  ldd fd get file desc
  54.  sys ind,isk seek to next record
  55.  bra inst4 repeat
  56. inst6 ldd fd get file desc
  57.  sys seek,0,40,1 skip configure info
  58.  ldd fd get file desc
  59.  sys read,buf,12 read in junk
  60.  lbes err2 error?
  61.  lda buf+3 get key byte
  62.  lbne err3 if !=0, error!
  63.  lda #123 set key byte
  64.  sta buf+3
  65.  ldd sbuf get date
  66.  std buf+8
  67.  ldd sbuf+2
  68.  std buf+10
  69.  ldd fd get file desc
  70.  sys seek,-1,-12,1 backup file ptr
  71.  ldd fd get file desc
  72.  sys write,buf,12 re-write block
  73.  ldd fd get file desc
  74.  sys close close the file
  75.  sys update
  76.  ldd #0 set status
  77.  sys term exit
  78.  
  79. * more junk
  80.  
  81.  fcb 11,22,65,77,55,34,99,87,23,44,56,77,123,43
  82.  fcb 44,33,65,77,21,76,87,34,23,87,65,87,123,11
  83.  
  84. catch ldd #cont
  85.  std 10,s reset pc
  86.  rti return
  87.  
  88.  fcb 1,33,55,66,88,97,65,123,234,251,218,23,87,108
  89.  
  90.  
  91.  
  92. *
  93. * Error routines
  94. *
  95.  
  96. synerr ldd #2 set file desc
  97.  sys write,E0,S0
  98.  ldd #$ff set status
  99.  sys term
  100. err1 pshs d
  101.  ldd #2
  102.  sys write,E1,S1
  103.  puls d
  104.  sys term
  105. err2 pshs d
  106.  ldd #2
  107.  sys write,E2,S2
  108.  puls d
  109.  sys term
  110. err3 ldd #2
  111.  sys write,E3,S3
  112.  ldd #$ff set status
  113.  sys term
  114.  
  115. * messages
  116.  
  117. E0 fcc 'Command syntax error.',$d
  118. S0 equ *-E0
  119. E1 fcc "Can't open the specified file.",$d
  120. S1 equ *-E1
  121. E2 fcc 'File read error.',$d
  122. S2 equ *-E2
  123. E3 fcc 'Bad file!',$d
  124. S3 equ *-E3
  125.  
  126. * storage
  127.  
  128. iopn fcb open open call
  129. iopn2 fdb 0,2
  130.  
  131. isk fcb seek seek call
  132.  fdb 0
  133. isk2 fdb 0,1
  134.  
  135. fd fdb 0
  136. arec fdb 0,0
  137. buf rzb 12 buffer
  138. sbuf rzb 32 status buffer
  139. bhdr rzb 32 header record buffer
  140.  
  141.  end inst
  142.