diff --git a/SEL32/README.md b/SEL32/README.md index ac791f2..b8dddd3 100644 --- a/SEL32/README.md +++ b/SEL32/README.md @@ -10,7 +10,8 @@ added in the future. # SEL Concept/32 This simulator is capable of running UTX2.1A, UTX2.1B, MPX 1.5F, MPX 3.4, -MPX 3.5, and MPX 3.6. It is capable of creating a disk image for the +MPX 3.5, MPX 3.6, and SEL diagnostics. Actually any software using the SEL +instruction set should work. It is capable of creating a disk image for the O/S from a UTX or MPX SDT tape. The disk image can be booted, initialized, and can run many of the UTX and MPX utilities and programs. Ethernet is supported on UTX and will be added to MPX in the future. Eight terminals @@ -20,54 +21,177 @@ support for excess 64 floating point arithmetic and passes the 32/27 and ported to the V6 and V9 processors. UTX utilizes the basemode instruction set and a virtual memory system supported by the V6 & V9 CPUs. The system needs further testing to solidify the SEL32 simulator code in all of the -supported environmenets. +supported environmenets and hardware configurations. -The sim32disk.gz file is a prebuilt MPX 1.5F system disk. It can be -uncompressed and booted with the sel32.27.sim32.disk.ini initialization -file. The sim32sdt.tap.gz file can also be uncompressed and started with -the sel32.27.sim32.tape.ini initialization file to do a sdt install to -disk from tape. There are three test versions of UTX. Utxtest1a.ini, -utxtest1b.ini, utxtest1c.ini are three initialization files to build a -UTX 2.1A system. Utxtest1a.ini builds and loads the root filesystem on -/dev/dk0a. Utxtest1b.ini boots the new root file system from disk and -builds the usr file system on /dev/dk0d. Utxtest1c.ini boots the UTX -system from disk and enters multi-user mode. Utxtest2[a-c].ini files -do the same thing for UTX 2.1B. Utxscsi[a-c].ini builds a MFP SCSI disk -UTX 2.1B system. There is also auto installation command files to do -an MPX/UTX installation from tape to disk without intervention. For -UTX21a use load21a.ini to install. Use run21a.ini to run the installed -system. For UTX21b use load21b.ini to install. Use run21b.ini to run -the installed system. For MPX1X use load1x67 to install MPX 1.5F. Use -run1x67.ini to run the installed system. For MPX3X use load3x67.ini to -install MPX 3.4. Use run3x67.ini to run the installed system. Another -MPX install file is user36esdtp2.ini which will install an MPX 3.6 -system along with the current development NBC software. Use the file -user36erunp2.ini to run the system. These files are located in the -tests directory in the https://github.com/AZBevier/sims archive. The -install tapes are in the tests/tapes directory. +Note: Not all of the command files described below may be in the tests +directory for the github.com/AZBevier/SEL32-rcsim repository. All will +be in the github.com/AZBevier/sims repository along with any new versions +that are being tested. Feel free to copy them to your local tests +directory. They may be added to the SEL32-rcsim repositary at some +later date. + +In the tests directory there are multiple auto installation command files +that do MPX/UTX installs from user distribution tapes. This replaces the +prebuilt disks from previous releases. This allows more versions to be +supplied in the minimum amount of storage space. Minimal or no user input +is required to create the bootable system. The command files are in pairs, +one to do the install and one to execute the installed system. Some MPX +systems also contain some of the NBC software environment. See the NBC +project at github.com/AZBevier/nbc for all of the NBC software. + +# SEL32 installation configuration files in the tests directory: + +#sel32_test.ini - diag.tap; type "../sel32_test.ini" or run from makefile. +Auto run by sel32 makefile to validate build or can be run at any time +to validate system functionality. + +#diag.ini - diag.tap; type "../sel32 diag.ini" to run. +This is the SEL32 memory diagnostic that validates the SEL32 instruction +set and memory management sumulated hardware. Any errors are reported +to the terminal. Different cpu models can be configured to test various +cpu model features. + +-------------------- + +The rest of the command files are zipped to reduce project storage space. +The software distribution tape files are also zipped in the tapes +directory. All zipped files must be unzipped to be useable. See the +MPX manuals at bitsavers.org/pdf/sel/sel32_mpx for using MPX 1X or 3X. + +-------------------- + +#sel32load1x.ini - sel32sdt.tap; type "../sel32 sel32load1x.ini +This is a minimal MPX 1.5F installation to a UDP/DPII 300 MB disk. It +will initialize the disk and install MPX bootable software. The disk +image is in the dsk directory named sel32disk. + +#sel32run1x.ini - dsk/sel32disk; type "../sel32 sel32run1x.ini" to run. +The disk is booted up to the TSM> prompt logged in as "SYSTEM". Use +@@A to log in to the system console. + +-------------------- + +#loaddma1x67.ini - mpx1xsdt.tap; type "../sel32 loaddma1x67.ini +This is an MPX 1.5F installation to a UDP/DPII 300 MB disk. It will +initialize the disk and install MPX bootable software. The disk +image is in the dsk directory named mpx1xdma0. Once the MPX software +is loaded an MPX command file is executed that runs the SYSGEN program +to create a new MPX O/S image. That system is then restarted to +install the new image to the disk as the new bootable image. The +system reboots to the new image, logs in as SYSTEM and exits TSM. +Use @@A to relogin to the console. + +#rundma1x67.ini - dsk/mpx1xdma0; type "../sel32 rundma1x67.ini" to run. +The disk is booted up to the TSM> prompt and logged in as "SYSTEM". +MPX can be accessed from a second Linux screen by using the command +"telnet locallhost 4747". This will bring up the "ENTER OWNERNAME +AND KEY:". Any name is valid, but SYSTEM should be used. At the +"TSM>" prompt, type "EXIT" to exit TSM. Use ^G to get the login +prompt when the "RING IN FOR SERVICE" message is displayed. + +-------------------- + +#loaddma21b.ini - utx21b1.tap, utx21b2.tap, utx21b3.tap; +type "../sel32 loaddma21b.ini" to install UTX 21b to UDP/DPII disk. +This is an automated installation of UTX 21b to disk. Two disks, +21bdisk0.dma and 21bdisk1.dma are initialized and then the file +systems are created and loaded. Tape 1 loads "/" and tape 2 and 3 +loads "/usr.POWERNODE" filesystems. The system boots from tape and +installs the root filesystem. The system restarts and boots from +the new root filesystem where the 2nd & 3rd tapes are then loaded to +/usr.POWERNODE. A third empty file system is created and mounted +as /usr/POWERNODE/src. The second disk is one large filesystem and is +mounted under /home. Several files are modified during installation +to allow the system to be booted into multiuser mode. Only the user +"root" is created and is the only allowable user login. + +#rundma21b.ini - dsk/21bdisk0.dma & dsk/21bdisk1.dma; +type "../sel32 rundma21b.ini" to run the installed UTX system. +The disk is booted up to the "login:" prompt for the user to login +as "root" in multi-user mode. + +-------------------- + +#loadscsi21b.ini - utx21b1.tap, utx21b2.tap, utx21b3.tap; +type "../sel32 loadscsi21b.ini" to install UTX 21b to MFP SCSI disks. +This is an automated installation of UTX 21b to disk. Two disks, +scsidiska0 and scsidiska1 are initialized and then the file systems +are created and loaded. Tape 1 loads root "/" and tapes 2 and 3 +loads "/usr.POWERNODE" filesystem. The system boots from tape and +installs the root filesystem. The system restarts and boots from +the new root filesystem where the 2nd & 3rd tapes are then loaded to +/usr.POWERNODE. A third empty file system is created and mounted +as /usr/POWERNODE/src. The second disk is one large filesystem and is +mounted under /home. Several files are modified during installation +to allow the system to be booted into multiuser mode. Only the user +"root" is created and is the only allowable user login. + +#rundscsi21b.ini - dsk/scsidiska0 & dsk/scsidiska1; +type "../sel32 rundscsi21b.ini" to run the installed UTX system. +The disk is booted up to the "login:" prompt for the user to login +as "root" in multi-user mode. + +-------------------- + +#loadscsi3x.ini - mpxsdt69.tap; +type "../sel32 loadscsi3x.ini" to install MPX 3.4 to MFP SCSI disks. +This is an automated installation of MPX 3.4 to disk. Two 300MB disks, +mpx3xsba0.dsk and mpx3xsbb0.dsk are initialized and then the file +systems are created and loaded. The user sdt tape contains system +and user files that are loaded to multiple directories. The second +disk is initialized and formatted and only a system directory defined. +The install is exited and @@A is used to login into MPX. The username +SYSTEM is used to login into TSM without a password. + +#runscsi3x.ini - dsk/mpx3xsba0.dsk & dsk/mpx3csbb0.dsk; +# - dsk/scsi35m1disk0 & dsk/scsi35m2disk0; +type "../sel32 rundscsi3x.ini" to run the installed MPX system. +The disk is booted up to the MPX message "Press Attention for TSM". +Use @@A to get login prompt. Login as SYSTEM. The WORK volume will +be mounted along with the SYSTEM volume and the system is ready for +use. MPX can be accessed from a second Linux screen by using the +command "telnet locallhost 4747". This will bring up the "Connected +to the SEL-32 simulator COMC device, line 0". Use ^G as the wakeup +character to get the "ENTER YOUR OWNERNAME:" login prompt. Any name +is valid, but SYSTEM should be used. At the "TSM>" prompt, type +"EXIT" to exit TSM. Use ^G to get the login prompt when the "RING +IN FOR SERVICE" message is displayed. + +-------------------- + +#user36esdtp2.ini - user36esdtp2.tap; +type "../sel32 user36esdtp2.ini" to install MPX 3.6 to HSDP disks. +This is an automated installation of MPX 3.6 to disk. A 300MB system +disk volume (user36p2udp0) and a 600MB work disk volume (user36s1udp1) +are initialized and then the file systems are created and loaded using +the volumgr. The user sdt tape contains system and user files that +are loaded to multiple directories. The second disk is initialized +and formatted and only a system directory defined. The disk is mounted +as the volume "work" as the 2nd disk drive. The installed MPX system +also has 2 scsi disks configured into the system. Two 700MB SCSI disks +are created, but they are not initialized and no directories are +created. The usage of these disks is left as an exercise for the user. +A third HSDP 600MD disk is also configured in MPX, but not used. The +user can provide other data volumes that can be mounted for use on the +system. The install is exited and @@A can be used to login into MPX. +The username SYSTEM is used to login into TSM without a password. Any +username is valid until an m.key file is created for valid user login. + +#user36erunp2.ini - dsk/user36p2udp0 & dsk/user36s1udp1; +type "../sel32 user36erunp2.ini" to run the installed MPX 3.6 system. +The disk is booted up to the MPX message "Press Attention for TSM". +@@A is used to get the login prompt and the user is logged in as SYSTEM. +The WORK volume will be mounted along with the SYSTEM volume and the +system is ready for use at the TSM> prompt. The install tape also has +some of the NBC development system. A complete installation tape is +available at github.com/azbevier/nbc. + +-------------------- Available tap tools in taptools directory: ./taptools - set of tools to work with .tap formatted tapes. Also tools to convert between MPX and UNIX file formats. See README - file and source for descriptions. - -Available disk images: -sim32disk.gz - bootable 300mb disk with MPX1.5F installed. Unzip before - any attempt to use it. Use sel32.27.sim32.disk.ini command - file to start MPX 1.5. Type "./sel32 sel32.27.sim32.disk.ini" - -Available configuration SDT tapes: -sim32sdt.tap - MPX 1.5f user SDT install tape. Uses 300mb disk, IOP 8-line - serial terminals via telnet port 4747. Line printer, 4 mag - tapes and console terminal. Terminal wakeup chan is ^G and - console wakeup chars are @@A. Install using TSM from console - after exiting opcom. Use filemgr to restore files from tape. - - TSM> A3 IN=M91000,TAP - TSM> A4 SLO=UT - TSM> FILEMGR - FIL> RESTORE - FIL> X + file in the taptools directory and source for descriptions. Available Level One Diagnostic boot tape in tests directory: diag.ini - command file to start diags. Type "./sel32 tests/diag.ini" @@ -101,16 +225,6 @@ diag.tap - bootable level one diagnostic tape w/auto testing. Testing is extremely difficult without any source for the diagnostics. Updates to follow as tests are corrected. -Available UTX-21a install tape for testing: -utxtest1a.ini command file to start UTX install tape. "./sel32 utxtest1a.ini" -utx21a1.tap bootable UTX install tape for testing basemode. The current - V6 & V9 will boot UTX into single/multi user mode. You can run - the full set of the commands that are on the installation tapes. - Prep, the disk preparation UTX program, can format a disk - drive. Other file systems can be created and saves restored. - All basemode instructions have been tested with the CV.BRD diag. - The virtual memory has been fully tested with the VM.MMM diag. - Other MPX verions support: I have recently received some old MPX 3.X save tapes. Using these I have been able to hand build a MPX3.6 SDT tape that can be used @@ -118,8 +232,11 @@ Other MPX verions support: a new user SDT tape and install it elsewhere. Both based and non- based O/S images can be created. More images for installation will be made available in the future as I work my way through the save - tapes. + tapes. I still do not have a master SDT tape for any of the MPX 1.X + or MPX 3.X systems. I have a 1600/6250 BPI tape drive that can read + 9 track tapes and convert them to .tap files. If you have a master + SDT, I would be very thankfull. Please keep looking. James C. Bevier -08/25/2021 +12/29/2021 diff --git a/SEL32/sel32_chan.c b/SEL32/sel32_chan.c index 40fc293..38a5073 100644 --- a/SEL32/sel32_chan.c +++ b/SEL32/sel32_chan.c @@ -1744,7 +1744,8 @@ t_stat testxio(uint16 lchsa, uint32 *status) { /* test XIO */ WMW(chan_icb+20, 0x80000000); /* post CC1 & sw addr 0 in ICB+5w & reset CCs */ *status = CC4BIT; /* FIX FOR DIAG */ /* request accepted, not busy, so CC4 */ #else -/// WMW(chan_icb+20, 0x80000001); /* post sw addr 0 in ICB+5w & reset CCs */ + /* MPX 1X requires CC1 to be returned instead of CC2 or CC4 */ + /* MPX 1X will hang on boot if set to CC2 */ WMW(chan_icb+20, 0x80000000); /* post sw addr 0 in ICB+5w & reset CCs */ *status = CC1BIT; /* request accepted, no status, so CC1 */ #endif diff --git a/SEL32/sel32_disk.c b/SEL32/sel32_disk.c index 52e1fdd..3d23236 100644 --- a/SEL32/sel32_disk.c +++ b/SEL32/sel32_disk.c @@ -1042,6 +1042,11 @@ t_stat disk_startcmd(UNIT *uptr, uint16 chan, uint8 cmd) /* when value was 30, UTX would get a spontainous interrupt */ /* when starting cron */ /* changed to 25 from 30 121420 */ +//utx21asim_activate(uptr, 20); /* start things off */ + /* changed to 15 from 20 12/17/2021 to fix utx21a getting */ + /* "panic: ioi: tis_busy - bad cc" during root fsck on boot */ + /* changed back to 20 from 15 12/18/2021 to refix utx21a getting */ + /* "panic: ioi: tis_busy - bad cc" during root fsck on boot */ sim_activate(uptr, 20); /* start things off */ /* when using 500, UTX gets "ioi: sio at 801 failed, cc3, retry=0" */ #else @@ -1658,7 +1663,7 @@ iha_error: "disk_srv seeking unit=%02x to %04x/%02x/%02x from cyl %04x (%04x)\n", unit, cyl, trk, buf[3], tcyl, diff); #ifdef FAST_FOR_UTX - sim_activate(uptr, 15); /* start things off */ + sim_activate(uptr, 15); /* start us off */ #else sim_activate(uptr, 400+diff); /* start us off */ #endif @@ -2042,7 +2047,7 @@ if ((chp->ccw_addr == 0x3cde0) && (buf[0] == 0x4a)) { "DISK sector read complete, %x bytes to go from diskfile %04x/%02x/%02x\n", chp->ccw_count, STAR2CYL(uptr->CHS), ((uptr->CHS) >> 8)&0xff, (uptr->CHS&0xff)); #ifdef FAST_FOR_UTX - sim_activate(uptr, 10); /* start things off */ + sim_activate(uptr, 10); /* wait to read next sector */ #else sim_activate(uptr, 300); /* wait to read next sector */ #endif @@ -2255,7 +2260,7 @@ if ((chp->ccw_addr == 0x3cde0) && (buf[0] == 0x4a)) { } #ifdef FAST_FOR_UTX - sim_activate(uptr, 15); /* start things off */ + sim_activate(uptr, 15); /* wait to read next sector */ #else sim_activate(uptr, 300); /* wait to read next sector */ #endif diff --git a/SEL32/sel32_doc.doc b/SEL32/sel32_doc.doc new file mode 100644 index 0000000..b3d4c44 Binary files /dev/null and b/SEL32/sel32_doc.doc differ diff --git a/SEL32/sel32_scsi.c b/SEL32/sel32_scsi.c index 49c8e22..48a1b08 100644 --- a/SEL32/sel32_scsi.c +++ b/SEL32/sel32_scsi.c @@ -1054,6 +1054,15 @@ doread: "SCSI READ reading CMD %08x chsa %04x tstart %04x buffer %06x count %04x\n", uptr->CMD, chsa, tstart, chp->ccw_addr, chp->ccw_count); + /* just seek to the location where we will r/w data */ + if ((sim_fseek(uptr->fileref, tstart*SSB(type), SEEK_SET)) != 0) { /* seek r/w sec */ + sim_debug(DEBUG_DETAIL, dptr, + "scsi_srv READ, Error on seek to %08x\n", tstart*SSB(type)); + uptr->CMD &= LMASK; /* remove old status bits & cmd */ + chan_end(chsa, SNS_CHNEND|SNS_DEVEND|SNS_UNITCHK); + return SCPE_OK; + } + /* read in a sector of data from disk */ if ((len=sim_fread(buf, 1, ssize, uptr->fileref)) != ssize) { sim_debug(DEBUG_CMD, dptr, @@ -1250,6 +1259,16 @@ dowrite: } if (uptr->CMD & DSK_WRITING) { /* see if we are writing data */ tstart = uptr->CHS; /* get sector offset */ + + /* just seek to the location where we will r/w data */ + if ((sim_fseek(uptr->fileref, tstart*SSB(type), SEEK_SET)) != 0) { /* seek r/w sec */ + sim_debug(DEBUG_EXP, dptr, + "scsi_srv WRITE, Error on seek to %08x\n", tstart*SSB(type)); + uptr->CMD &= LMASK; /* remove old status bits & cmd */ + chan_end(chsa, SNS_CHNEND|SNS_DEVEND|SNS_UNITCHK); + return SCPE_OK; + } + /* process the next sector of data */ len = 0; /* used here as a flag for short read */ for (i=0; iunits; + uint16 chsa = GET_UADDR(uptr->CMD); + /* add reset code here */ + sim_debug(DEBUG_EXP, dptr, + "scsi_reset chsa %04x\n", chsa); return SCPE_OK; } @@ -1974,6 +1998,11 @@ t_stat scsi_boot(int32 unit_num, DEVICE *dptr) { return SCPE_UNATT; /* attached? */ } + /* seek to sector 0 */ + if ((sim_fseek(uptr->fileref, 0, SEEK_SET)) != 0) { /* seek home */ + printf("SCSI Disk Boot Error on seek to 0\n"); + } + SPAD[0xf4] = GET_UADDR(uptr->CMD); /* put boot device chan/sa into spad */ SPAD[0xf8] = 0xF000; /* show as F class device */ return chan_boot(GET_UADDR(uptr->CMD), dptr); /* boot the ch/sa */ diff --git a/SEL32/tests/diag.ini b/SEL32/tests/diag.ini index 6edc213..6a3ce00 100644 --- a/SEL32/tests/diag.ini +++ b/SEL32/tests/diag.ini @@ -1,5 +1,27 @@ +;====================================================== +; SEL32 System Engineering Labs 32 bit computer +; MPX/UTX CPU diagnostic hardware configuration +; CPU - 32/67 4M Sel32 Concept/32 +; IOP - 7e00 Model 8001 IOP Processor Controller +; DMA - 0800 2311/2314 Disk Processor II (N/U) +; dma0 - N/U +; dma0 <-> detached +; LPR - 7ef8/7ef9 Model 924X High Speed Line Printer +; COM - 7ec0 8512 8-line async communications (N/U) +; 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 <- diag.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 debug output -set debug -n sel.log +;set debug -n sel.log ;set debug stderr ; ; CPU type and memory diff --git a/SEL32/tests/loaddma1x67.ini.gz b/SEL32/tests/loaddma1x67.ini.gz new file mode 100644 index 0000000..589b0eb Binary files /dev/null and b/SEL32/tests/loaddma1x67.ini.gz differ diff --git a/SEL32/tests/loaddma21b.ini.gz b/SEL32/tests/loaddma21b.ini.gz new file mode 100644 index 0000000..b8bac7c Binary files /dev/null and b/SEL32/tests/loaddma21b.ini.gz differ diff --git a/SEL32/tests/loadscsi21b.ini.gz b/SEL32/tests/loadscsi21b.ini.gz new file mode 100644 index 0000000..1b0586d Binary files /dev/null and b/SEL32/tests/loadscsi21b.ini.gz differ diff --git a/SEL32/tests/loadscsi3x.ini.gz b/SEL32/tests/loadscsi3x.ini.gz new file mode 100644 index 0000000..d7e23f4 Binary files /dev/null and b/SEL32/tests/loadscsi3x.ini.gz differ diff --git a/SEL32/tests/rundma1x67.ini.gz b/SEL32/tests/rundma1x67.ini.gz new file mode 100644 index 0000000..06bf0a7 Binary files /dev/null and b/SEL32/tests/rundma1x67.ini.gz differ diff --git a/SEL32/tests/rundma21b.ini.gz b/SEL32/tests/rundma21b.ini.gz new file mode 100644 index 0000000..e15d967 Binary files /dev/null and b/SEL32/tests/rundma21b.ini.gz differ diff --git a/SEL32/tests/runscsi21b.ini.gz b/SEL32/tests/runscsi21b.ini.gz new file mode 100644 index 0000000..8e9a291 Binary files /dev/null and b/SEL32/tests/runscsi21b.ini.gz differ diff --git a/SEL32/tests/runscsi3x.ini.gz b/SEL32/tests/runscsi3x.ini.gz new file mode 100644 index 0000000..ae3bffc Binary files /dev/null and b/SEL32/tests/runscsi3x.ini.gz differ diff --git a/SEL32/tests/sel32_test.ini b/SEL32/tests/sel32_test.ini index 5f95f50..2899d39 100644 --- a/SEL32/tests/sel32_test.ini +++ b/SEL32/tests/sel32_test.ini @@ -1,6 +1,28 @@ cd %~p0 +;====================================================== +; SEL32 System Engineering Labs 32 bit computer +; MPX/UTX CPU Diagnostic hardware configuration +; CPU - 32/67 4M Sel32 Concept/32 +; IOP - 7e00 Model 8001 IOP Processor Controller +; DMA - 0800 2311/2314 Disk Processor II +; dma0 (N/U) +; dma0 (Not Assigned) +; LPR - 7ef8/7ef9 Model 924X High Speed Line Printer +; COM - 7ec0 8512 8-line async communications (N/U) +; 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 <- diag.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 debug output -set debug -n sel.log +;set debug -n sel.log ;set debug stderr ; ; CPU type and memory @@ -75,7 +97,7 @@ at comc 4747 ;set lpr debug=cmd;detail set lpr enable ; LPR output file -at lpr lprout +;at lpr lprout ; ; CON Console ;set con debug=cmd;exp;detail @@ -105,8 +127,8 @@ set mta0 dev=1000 ;at mta0 sim32sdt.tap at mta0 diag.tap set mta0 locked -at mta1 temptape.tap -at mta2 output.tap +;at mta1 temptape.tap +;at mta2 output.tap ; ; DMA disk processor II/UDP ; enable DMA to change channel diff --git a/SEL32/tests/sel32load1x.ini.gz b/SEL32/tests/sel32load1x.ini.gz new file mode 100644 index 0000000..53ec58b Binary files /dev/null and b/SEL32/tests/sel32load1x.ini.gz differ diff --git a/SEL32/tests/sel32run1x.ini.gz b/SEL32/tests/sel32run1x.ini.gz new file mode 100644 index 0000000..8e2a0f6 Binary files /dev/null and b/SEL32/tests/sel32run1x.ini.gz differ diff --git a/SEL32/tests/tapes/mpx1xsdt.tap.gz b/SEL32/tests/tapes/mpx1xsdt.tap.gz new file mode 100644 index 0000000..e5ed2f1 Binary files /dev/null and b/SEL32/tests/tapes/mpx1xsdt.tap.gz differ diff --git a/SEL32/tests/tapes/mpx3xsdt.tap.gz b/SEL32/tests/tapes/mpx3xsdt.tap.gz new file mode 100644 index 0000000..2575abb Binary files /dev/null and b/SEL32/tests/tapes/mpx3xsdt.tap.gz differ diff --git a/SEL32/tests/tapes/mpxsdt69.tap.gz b/SEL32/tests/tapes/mpxsdt69.tap.gz new file mode 100644 index 0000000..360a2fc Binary files /dev/null and b/SEL32/tests/tapes/mpxsdt69.tap.gz differ diff --git a/SEL32/tests/tapes/nbctape3x.tap.gz b/SEL32/tests/tapes/nbctape3x.tap.gz new file mode 100644 index 0000000..17a2419 Binary files /dev/null and b/SEL32/tests/tapes/nbctape3x.tap.gz differ diff --git a/SEL32/tests/tapes/user36esdtp2.tap.gz b/SEL32/tests/tapes/user36esdtp2.tap.gz new file mode 100644 index 0000000..9b75d78 Binary files /dev/null and b/SEL32/tests/tapes/user36esdtp2.tap.gz differ diff --git a/SEL32/tests/tapes/utx21b1.tap.gz b/SEL32/tests/tapes/utx21b1.tap.gz new file mode 100644 index 0000000..a16dc7b Binary files /dev/null and b/SEL32/tests/tapes/utx21b1.tap.gz differ diff --git a/SEL32/tests/tapes/utx21b2.tap.gz b/SEL32/tests/tapes/utx21b2.tap.gz new file mode 100644 index 0000000..722f566 Binary files /dev/null and b/SEL32/tests/tapes/utx21b2.tap.gz differ diff --git a/SEL32/tests/tapes/utx21b3.tap.gz b/SEL32/tests/tapes/utx21b3.tap.gz new file mode 100644 index 0000000..aba4e99 Binary files /dev/null and b/SEL32/tests/tapes/utx21b3.tap.gz differ diff --git a/SEL32/tests/user36erunp2.ini.gz b/SEL32/tests/user36erunp2.ini.gz new file mode 100644 index 0000000..222150f Binary files /dev/null and b/SEL32/tests/user36erunp2.ini.gz differ diff --git a/SEL32/tests/user36esdtp2.ini.gz b/SEL32/tests/user36esdtp2.ini.gz new file mode 100644 index 0000000..59b0723 Binary files /dev/null and b/SEL32/tests/user36esdtp2.ini.gz differ