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 >
Wrap
Text File
|
1982-07-20
|
2KB
|
142 lines
opt pag,nol
lib sysdef
ttl Install Utility
opt lis
pag
* Install Utility
* Equates
RADR equ $9000 address of configure block
inst ldd 0,s get arg count
cmpd #2
lbne synerr error?
ldd 4,s get file name
std iopn2 set up open call
sys ind,iopn open uniflex file
lbes err1 error?
std fd save file descriptor
sys read,bhdr,24 read in header record
lbes err2 error?
ldd bhdr get 1st 2 bytes
cmpd #$212 is it binary file?
lbne err3
sys cpint,12,catch funny here!
ldx #$5555
aslb
rora
* ldd 0,x
ldu #$100
tfr u,y
pshs y
ldy $10
puls y
sys gtid get task id
sys spint,12 send interrupt
swi
fcb 3,44,11,199,33,233,11,9,76,88,55,29,86,146,222,76
fcb 44,76,82,34,125,167,23,251,222,76,33,22,11,23,100
cont sys time,sbuf get current time
inst4 ldd fd get file desc
sys read,arec,4 get record
lbes err2 error?
cmpd #0 end of file?
lbeq err3
ldd arec+2 get address of record
cmpd #RADR is it config block?
beq inst6
ldd arec get record size
std isk2 set count in seek
ldd fd get file desc
sys ind,isk seek to next record
bra inst4 repeat
inst6 ldd fd get file desc
sys seek,0,40,1 skip configure info
ldd fd get file desc
sys read,buf,12 read in junk
lbes err2 error?
lda buf+3 get key byte
lbne err3 if !=0, error!
lda #123 set key byte
sta buf+3
ldd sbuf get date
std buf+8
ldd sbuf+2
std buf+10
ldd fd get file desc
sys seek,-1,-12,1 backup file ptr
ldd fd get file desc
sys write,buf,12 re-write block
ldd fd get file desc
sys close close the file
sys update
ldd #0 set status
sys term exit
* more junk
fcb 11,22,65,77,55,34,99,87,23,44,56,77,123,43
fcb 44,33,65,77,21,76,87,34,23,87,65,87,123,11
catch ldd #cont
std 10,s reset pc
rti return
fcb 1,33,55,66,88,97,65,123,234,251,218,23,87,108
*
* Error routines
*
synerr ldd #2 set file desc
sys write,E0,S0
ldd #$ff set status
sys term
err1 pshs d
ldd #2
sys write,E1,S1
puls d
sys term
err2 pshs d
ldd #2
sys write,E2,S2
puls d
sys term
err3 ldd #2
sys write,E3,S3
ldd #$ff set status
sys term
* messages
E0 fcc 'Command syntax error.',$d
S0 equ *-E0
E1 fcc "Can't open the specified file.",$d
S1 equ *-E1
E2 fcc 'File read error.',$d
S2 equ *-E2
E3 fcc 'Bad file!',$d
S3 equ *-E3
* storage
iopn fcb open open call
iopn2 fdb 0,2
isk fcb seek seek call
fdb 0
isk2 fdb 0,1
fd fdb 0
arec fdb 0,0
buf rzb 12 buffer
sbuf rzb 32 status buffer
bhdr rzb 32 header record buffer
end inst