See also the companion file http://www.andrews.edu/~calkins/sigma/sigma6.htm on the partially developed Java-based emulator. SIGGY.EXE is a fully functional Sigma 5/6/7 Computer emulator with some enhancements for BIG and some work was done on Sigma 9 support. Various compile/load options allow you to rip out the floating point or decimal unit, even the map if need be. With its blazing speed a fully configured Sigma 7 emulator is all you really need/want probably. It will boot CP-V in 16 seconds on a 2003 vintage NT notebook, something a real Sigma 9 took 6 minutes to perform---those bits don't have to travel nearly so far from drive to memory! Run it with no options and it will display the following command line options. Usage: c:/bin/siggy.exe option description b Unit Address - boot device address (hex) default = 3 s Sense switch settings (hex) default = 0 n No clock interrupts (for debugging) c File name with Sigma Configuration default sigma.cfg a Address stop enabled at address (hex) default off w Watchdog timer override on default off h Halt on traps default off i Idle at startup m Memory size (hex) default 20000 d Debug without pcp display v Verbosity level (hex), bits turn on debugging messages: 1: device 2: controllers 4:iop 8:cpu 16:config f File to read command line options The important boot parameter is -b which tells it the boot address and -i which is idle at startup. If MTA80 is set to AUDIAG.MT then SIGGY -b80 will boot it. SIGGY locks onto hardware interrupts so has some code which has to do that in such a manner that it can unlock it when done. This allows it to have faithful representation of hardware interrupts and is what locks us into the PC/DOS environment for now. The emulator interface is much like the front panel of a Sigma Computer. Most every switch there is setable and the commands tend to follow the nomenclature there. Chapter 5 of a Sigma 5/7/9 CPU Reference Manual will provide the details of what each switch or button does and the rest of the manual fills in details. A scanned version of the Sigma 9 reference manual should be online in this (http://www.andrews.edu/~calkins/sigma) directory. At the idle prompt SIGGY has commands it will list with HELP/? as listed below. Some of the most useful are s for step. and quit to exit. Control C generally interrupts things, but only if on the emulator screen (ALT F1). In run mode (ALT F3) will get you the console or TYA01 (hardware address .001) input/output, although on output it will go there for you by default. Incidentally this is what makes the virtual terminals a pain under CP-V C00 where time is output every minute to the TY. Under TCP-V I00 it is only output after other activity. When in console mode F1 simulates an console interrupt--this button was generally wired to the front-panel console interrupt and genearally the running program may give you a prompt. Input and output are forced uppercase since real Teletype 33's (ASR/KSR) only had uppercase. The ALT F2 screen is the emulator interaction page. I'm sure FUNC BREAK on my other PC sent a BREAK on the virtual terminals (ALT F4-F12). Note that line number, terminal type, and such are settable in SIGMA.CFG. SIGGY -B1f0 (for CPCP) Give it a date after 1/1/70 and before 12/31/99 and a time Answer N or cr to DELTA/HGP. Hit F1 while on the Alt F3 screen to get a ! after DAY ghost spews (Ignore the 9DIAG error---it apparently hasn't been restored.) Enter !107 cr Hit control C on the Alt F1 screen to get a - -store 114a,0 -run That break issue means that since the lines are "hardwired" that location in memory needs to be zeroed to get a logon message. COD:HWL=114A I got that by crashing the system---it did a tape dump I then rebooted the system ran GJOB ANLZ TA SLP,I GJOB SPLIST GJOB LP SLP,L Got the output from file LPOUT.LP Now I have a logon message. now do GJOB PCL/COPY :USERS ON :USERSSV/DEL :USERS/END now log in with :SYS LBE now I have a command prompt DELTA/.8C43/esc esc/Q verifies I have .C0 privilege COPY :USERSSV OVER :USERS restores the old file SUPER/LI CALKINS//MO CALKINS,KEITH/PA=????///END/OFF I logged back on under CALKINS,KEITH,???? (have .F8 privilege?) ANLZ/DELTA/;S/esc esc gave me a 79-00 oops? (loopus) I did it again on a different line (probably with C0) and it happened again. Now it crashed after HP 0 logged on; stored 80000000 instead. Important Information about the SIGMA.CFG file will be given below. ? Display a list of commands. ac Display the access codes starting with page arg1, for arg2 pages. addstop Toggle the address stop address and display the results. audio Toggle the audio switch on/off. b Set address stop to 1 and select address to arg1 (hex). boot Set boot address to arg1 (hex). branch Display branch stack (somewhat like a 550/560). clock Turn clocks on. coc Display information on COCs? cpu Display CPU (ALT F2) screen? cpureset Do a cpu reset. dev Gives status for device arg1 (hex) device See dev. devices Gives information about all devices. d See dump. dump Dump memory starting at word address arg1 and going arg2 words. arg1 and arg2 are hex dumpba Dump memory starting at byte address arg1 and going arg2 round(bytes+8)? dumpda Dump memory starting at doubleword address arg1 and going arg2 doublewords. dv Toggle verbosity for device arg1. end See quit. event Display event information. fpos Display? file position for device arg1. iai Increment instruction address. iexist Uses arg1 and arg2 to set interrupt existance? interrupts Display the complete interrupt table. ioreset Do an I/O reset. iostop Stop all I/O? help See ?. load Put the bootstrap load sequence into locations .20-.29 map Display the map starting with page arg1 and going arg2 pages. memclear Clear memory. moun Allows the mounting of a DOS file to a device. (Document syntax)--this was powerful, useful, but frustrating). n Execute the next instruction. noclock Turn off clock interrupts? nopcp Change back to default display mode. pcp Display system information using mode. power Turn off the power to the emulator?? psd Display the current program status double word. psw1 Set word 0 of the psd to arg1 (hex). psw2 Set word 1 of the psd to arg1 (hex). quit Exit emulation. q See quit. regs Display the current register block (and identify which). r See run. reboot Rewind the boot address; clear memory; ioreset; cpureset load; run. rew Rewind address arg1. rewind Rewind device unit arg1 (like mtA80, 9ta80, bta80). run Start emulation. s Step the emulator one instruction. The current instruction will be highlighted and context around it given. scroll Set scroll mode to 1. search Search memory and registers for arg1 subject to mask arg2. seladd Set the select address to arg1 (address stop). sense Set the sense switches to arg1? show Display the PSD, register block, and current instruction in context. s Single step the emulator and display the results. ss Smart step (stop at branch?/psd?/inhibit interrupts?). step Single step the emulator arg1 times (integer) and display the results. store Store arg2 in word address arg1, both hex. sysreset Do a system reset (io & cpu reset). tics Display tic information. (meaning what?) user Display screen for virtual user arg1 (decimal!) verbose Set the verbosity level. See command line options. watchdog Toggle the watchdog timer switch. wl Display writelocks starting with page arg1 and going arg2 pages. While running, the emulator displays three pieces of information on the bottom of the screen: column 35 run lamp; column 40 wait lamp; and in column 75 the console interrupt/read pending lamp. ALT QWER can be used to clear the sense switches, and ALT 123 used to set them, but only from non-terminal screeens. Sense switch 4 might cause check-reads (SS2?) under CP-V and was unimplemented as near as I can tell. Normally SS3 was set while CP-V was running so it would start the card reader symbiont (hot carder) automatically without !SS. SIGMA.CFG tells the emulator what files to associate with which I/O address. It defaults to this the file name in the current directory but that can be overridden with a command line option. You may need to change some of these since they point to drives and directories which will not necessarily be convenient. Extra tape drives especially were used since they were so cheap and convenient. If you don't use a drive it is no big deal. The read only bit is checked on files for tapes and corresponds with the lack of a write ring on tapes. The Telefile diagnostics check that and loop outputting REMOVE WRITE RING. To remove a write ring use the DOS command: attrib +r diag.mt Supported terminal types are: NONE, DTMD, WYSE, VT100, and Z-29. You will probably find that DTMD uses the Datamedia 15x0 series of screen addressing and not the later Datamedia 30x5 series since we reprogrammed our Datamedias for backward compatibility. SIGHCP is the sigma hardcore diagnostic "deck". It was originally cards or card images but in "recent" years was put as the first thing on diagnostic tapes. I fear there were/are two versions kicking around and that orignally Madhu's couldn't handle the fact that the first read is 88 bytes of the 120 byte card. Since there are 108 cards, and 108 was a common length of data for a card (see AP), that can be confusing. Just be aware. Files with extension CR can be read as card reader input by George's emulator. Files with extension MT can be read as tape drive input by George's emulator. Files with extension DP are disk drives and are treated as a contiguous string of bytes. There is more control information for an MT than for a CR since you have to be able to read a tape backwards and skip files and records both directions. Tape marks have to be emulated. AUDIAG.MT is a stand-along tape-based diagnostic utility developed at Andrews University. It evolved as a repository for various card based diagnostics some of which were "crawl-unders" developed at AU, for others it replaced useful card decks. The main driver thus only reads in one card image at a time and it was able to skip to another program on tape and read it in. Tape content is as follows: SIGHCP - the Sigma hard-core CPU diagnostic. It hangs in a run loop I think on hardware problems. CORESV - write core to tape with a bootable rewriter. Was useful so one could later restore core after a hardware problem was resolved and do an "operator recovery." MEMFLT - for finding core memory faults -- those intermittent gremblins of days gone by. ALGN - a disk utility which was used to select heads during alignment, an almost daily occurrance when we were running 30 100 Mb drives (CDC BR3B8, Xerox 7277) with a MTBF of 30 days. COCD - Our homegrown COCs were DIO only and this developed during debugging. TABLE - Our IBM 1403 line printers had a table in the controller which needed to be loaded, sometimes when the operating system was down. Eventually we replaced the volitile memories with EPROMs. RADE - Rad Editor. Useful for doing dasterdly deeds to the operating system before booting. Amazingly useful in times of need. TAPE - a simple tape utility VOLINIT - used to initialize the 100 Mb disk packs. This replaced a 6" deck of cards which was at best problematic. When we bought 100 used disk packs from Warner, having it on tape quickly redeemed any efforts required to do so. This was crude but crude things were useful when the computer was down for unknown reasons and especially useful as we bootstrapped the emulator project. CPCU.MT is the local U build of the CP-V C00 release of the operating system. We will outline the actual boot process elsewhere. CPCP.MT and CPCP.ZIP an annotated boot from this PO tape is in file CPCPDOC.TXT. CPCPDOC.TXT information for booting the CPCP.MT PO tape. MTLU00.MT and MTLU00.ZIP the Xerox diagnostic tape. CPCU.PAT is just a list of my current "patches" to the CPCU po boot tape. I kept the original as we created it and made such changes to make running it easier. I think at the time the date/time thing worked so we didn't have to enter it at boot time. Maybe if I boot my PC with a pre-Y2K date I could verify that. XeroxSigma9Ref.pdf sorry about the long mixed case name which thus violates two of my naming conventions but I preserved the name as given me by the fellow who scanned it in after I mailed it too him. It should be what it says. I had some problems with it and didn't zip it since that only saved about 10%. Regarding files in subdirectory DIAGS: Files ending with .ABS were for the Java-based editor and have no record control information. Files ending with .CL are ASCII expansions of the EBCDIC compressed listings for various diagnostics. The selection is skewed toward those which had various problems, usually I/O related, under the JAVA-based emulator. Although they have a Telefile copyright, they are actually public domain dating back many years earlier. We are indebted to Telefile for there preservation in electronic form---I'd hate to have to scan in those old listings! Information about the Java-based Sigma emulator is documented in SIGMA6.HTM To have a fully functional CP-V system you must first boot from PO tape. I will have to try to put information thereto here. Basically, you must boot from a tape drive >siggy -b80 and answer some questions properly. There are several boot tapes CPCP and CPCU as discussed above. CPCUDOC.TXT gives screen shots. Once you have a functional CP-V system you can boot it from "disk." >siggy -b1f0 is what I used for PO tape CPCP.