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 / tscinstall < prev    next >
Text File  |  1981-09-01  |  2KB  |  115 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 time,sbuf get current time
  28. inst4 ldd fd get file desc
  29.  sys read,arec,4 get record
  30.  lbes err2 error?
  31.  cmpd #0 end of file?
  32.  lbeq err3
  33.  ldd arec+2 get address of record
  34.  cmpd #RADR is it config block?
  35.  beq inst6
  36.  ldd arec get record size
  37.  std isk2 set count in seek
  38.  ldd fd get file desc
  39.  sys ind,isk seek to next record
  40.  bra inst4 repeat
  41. inst6 ldd fd get file desc
  42.  sys seek,0,40,1 skip configure info
  43.  ldd fd get file desc
  44.  sys read,buf,12 read in junk
  45.  lbes err2 error?
  46.  lda buf+3 get key byte
  47.  lbne err3 if !=0, error!
  48.  lda #0 set key byte *** tsc version only ****
  49.  sta buf+3
  50.  ldd sbuf get date
  51.  std buf+8
  52.  ldd sbuf+2
  53.  std buf+10
  54.  ldd fd get file desc
  55.  sys seek,-1,-12,1 backup file ptr
  56.  ldd fd get file desc
  57.  sys write,buf,12 re-write block
  58.  ldd fd get file desc
  59.  sys close close the file
  60.  sys update
  61.  ldd #0 set status
  62.  sys term exit
  63.  
  64.  
  65. *
  66. * Error routines
  67. *
  68.  
  69. synerr ldd #2 set file desc
  70.  sys write,E0,S0
  71.  ldd #$ff set status
  72.  sys term
  73. err1 pshs d
  74.  ldd #2
  75.  sys write,E1,S1
  76.  puls d
  77.  sys term
  78. err2 pshs d
  79.  ldd #2
  80.  sys write,E2,S2
  81.  puls d
  82.  sys term
  83. err3 ldd #2
  84.  sys write,E3,S3
  85.  ldd #$ff set status
  86.  sys term
  87.  
  88. * messages
  89.  
  90. E0 fcc 'Command syntax error.',$d
  91. S0 equ *-E0
  92. E1 fcc "Can't open the specified file.",$d
  93. S1 equ *-E1
  94. E2 fcc 'File read error.',$d
  95. S2 equ *-E2
  96. E3 fcc 'Bad file!',$d
  97. S3 equ *-E3
  98.  
  99. * storage
  100.  
  101. iopn fcb open open call
  102. iopn2 fdb 0,2
  103.  
  104. isk fcb seek seek call
  105.  fdb 0
  106. isk2 fdb 0,1
  107.  
  108. fd fdb 0
  109. arec fdb 0,0
  110. buf rzb 12 buffer
  111. sbuf rzb 32 status buffer
  112. bhdr rzb 32 header record buffer
  113.  
  114.  end inst
  115.