mirror of
https://github.com/rfivet/BCG101.git
synced 2024-12-29 13:36:33 -05:00
55 lines
1.3 KiB
Plaintext
55 lines
1.3 KiB
Plaintext
#!/usr/bin/expect --
|
|
# tss8-basic -- start a BASIC session on tss8 by uploading a file
|
|
# Copyright (c) 2021-2024 Renaud Fivet
|
|
|
|
if { $argv == "" } exit
|
|
if [catch { set file [open $argv "r"]}] { puts $input ; exit }
|
|
close $file
|
|
|
|
#spawn telnet 192.168.1.6 4000
|
|
spawn env vintage=tss8 ssh -o SendEnv=vintage menu@tty.sdf.org
|
|
#log_file session.log
|
|
set timeout 10
|
|
expect "TTIX device, line " { sleep 1 ; send "\002s\r" }
|
|
while 1 {
|
|
expect {
|
|
"LOGIN PLEASE\r\n." { send "login 2003 tss8\r" ; break }
|
|
"\r\n." { send "KJ\r" }
|
|
timeout { send "\002s\r" }
|
|
}
|
|
}
|
|
|
|
expect "\r\n\r\n."
|
|
send "r basic\r"
|
|
expect "NEW OR OLD--" { send "new\r"}
|
|
expect "NEW PROGRAM NAME--" { send "upload\r"}
|
|
expect "READY\r\n\r\n" {
|
|
set file [open $argv]
|
|
while 1 {
|
|
if {[gets $file line] == -1} break
|
|
set line [string trimleft $line]
|
|
set line [string toupper $line]
|
|
set len [string length $line]
|
|
while {$len > 40} {
|
|
set outs [string range $line 0 39]
|
|
set line [string range $line 40 end]
|
|
incr len -40
|
|
send -- $outs
|
|
expect -ex $outs
|
|
}
|
|
|
|
if {$len > 0} {
|
|
send -- $line
|
|
expect -ex $line
|
|
}
|
|
|
|
send "\r"
|
|
expect "\r\r\n"
|
|
}
|
|
|
|
close $file
|
|
}
|
|
|
|
puts ">>>"
|
|
interact
|