;======================================================
; SEL32 System Engineering Labs 32 bit computer
; MPX - Ver 1.5F hardware configuration
; CPU - 32/67 4M Sel32 Concept/32
; IOP - 7e00 Model 8001 IOP Processor Controller
; DMA - 0800 2311/2314 Disk Processor II
;            dma0 MH300 Model 8127 300MB MHD
;            dma0 <-> dsk/mpx1xdma0.dsk
; LPR - 7ef8/7ef9 Model 924X High Speed Line Printer
; COM - 7ec0 8512 8-line async communications
; CON - 7efc/7efd Console Terminal
; RTC - 7f06 60 HZ Real-Time clock
; ITM - 7f04 38.4MS Interval timer
; MT  - 1000 8051 Buffered Tape Processor
;            mta0 <- tapes/mpx1xsdt.tap
; EC  - 0e00 Model 8516 Ethernet (not supported)
;======================================================
; Set hostname
set env HOST=sel32
; Set local IP address
; set env IP=192.168.1.5 (N/U)
;======================================================
; Set directory for disk images
mkdir dsk
mkdir tapes
; Set tape image filename
set env FILE=mpx1xsdt.tap
; Set github.com URL for downloading files
set env GITURL=https://github.com/AZBevier/SEL32-installs/raw/main/tapes/
if exist "tapes/%FILE%" goto exists
if not exist "tapes/%FILE%" echof "file %FILE% missing, trying %FILE%.tgz"
cd tapes
if exist "%FILE%.tgz" goto nocurl
echof "fetching %FILE%.tgz file from github.com\n"
;curl -LJO https://raw.githubusercontent.com/AZBevier/sims/master/SEL32/tests/tapes/%FILE%.tgz
curl -LJO %GITURL%/%FILE%.tgz
if not exist "%FILE%.tgz" echof "FAILED - file %FILE% not available"; exit 1
:nocurl
echof "untar %FILE%.tgz file\n"
tar -xzf %FILE%.tgz
cd ..
:exists
echof "file %FILE% present, doing install"
;
; Set debug output
; set debug -n sel.log
;
; CPU type and memory size
set CPU 32/67 4M
;
; RTC realtime clock at 7f06
set RTC 60
set RTC enable
;
; ITM interval timer at 7f04
set ITM 3840
;
; IOP at channel 7e00
set iop enable
set iop0 dev=7e00
;
; COM 8-Line at 7ec0
set coml enable
set coml0 dev=7ec0
set coml0 enable
set coml1 enable
set coml2 enable
set coml3 enable
set coml4 enable
set coml5 enable
set coml6 enable
set coml7 enable
;
; Enable telnet sessions on port 4747
set comc enable
at comc 4747
;
; LPR at 7ef8
set lpr enable
; LPR output file
at lpr lprout
;
; EC ethernet at 0e00
; Support not available yet
;set ec enable
;set ec mode=2
;set ec0 dev=0e00
;at ec tap:tap0
; set mac address to cause ec to be attached
;set ec MAC=08:00:5D:01:01:20
;
; CON Console at 7efc
; enable console
set con enable
set con0 dev=7efc
;
; MTA Buffered tape processor at 1000
set mta enable
set mta0 dev=1000
; Attach install sdt tape file
set mta0 locked
at mta0 tapes/mpx1xsdt.tap
;
; DMA disk processor II/UDP at 800
set dma enable
set dma0 dev=800
set dma0 type=MH300
; Attach diskfile
at dma0 -i dsk/mpx1xdma0.dsk
;
; set console switches
deposit CSW 0
;
; allow cpu idle
set cpu idle
; wait for expected output from simulator, then enter this text
expect "COLD OR WARM START (C OR W)?" send "C\r"; continue
; Set expect script for auto time entry on MPX at OPCOM prompt
expect "??" send " %DATE_MM%/%DATE_DD%/%DATE_YY%,%TIME_HH%:%TIME_MM%:%TIME_SS%\r@@A"; continue
;expect "" after=800000, delay=4000, send "@@A"; continue
expect "??" send "X\r"; continue
expect "TSM>" send "A4 SLO=UT\r"; continue
expect "TSM>" send "A3 IN=M91000,TAP\r"; continue
expect "TSM>" send "PAGE 0\r"; continue
expect "TSM>" send "FILEMGR\r"; continue
; restore all files
expect "FIL>" send "RESTORE\r"; continue
expect "FIL>" send "EXIT\r"; continue
; sysgen new mpx image
expect "TSM>" send "MAKSIMH1\r"; continue
; restart to new image
expect "TSM>" send "RESTART SEL32SY1,DEFAULT\r"; continue
expect " RESTART...DO YOU WANT TO REBOOT(Y/N)?" send "Y\r"; continue
expect "??" send " %DATE_MM%/%DATE_DD%/%DATE_YY%,%TIME_HH%:%TIME_MM%:%TIME_SS%\r@@A"; continue
expect "??" send "X\r"; continue
expect "TSM>" send "WHO\r"; continue
expect "TSM>" send "EXIT\r"; continue
expect "RING IN FOR SERVICE" send "\r^E"
; Boot from mag tape
bo mta0
detach all
quit
