Git Product home page Git Product logo

rcornwell / sims Goto Github PK

View Code? Open in Web Editor NEW
94.0 18.0 20.0 89.87 MB

Burroughs B5500, ICL1900, SEL32, IBM 360/370, IBM 7000 and DEC PDP10 KA10/KI10/KL10/KS10, PDP6 simulators for SimH

Home Page: http://sky-visions.com

C 94.71% Makefile 1.16% Batchfile 0.28% Module Management System 1.26% Shell 0.27% Clean 0.08% Stata 0.01% CMake 1.27% PowerShell 0.23% Python 0.68% NSIS 0.04%
simh b5500 ibm7090 ibm7010 ibm7080 computer-history pdp-10 burroughs emulator simulator

sims's People

Contributors

azbevier avatar bgbaumgart avatar ghfbsd avatar larsbrinkhoff avatar markpizz avatar philbudne avatar rcornwell avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

sims's Issues

KA10: add support for DC10

Systems Concepts disk controller, used on MIT-AI.

This is quite optional. The RP10 controller works well.

KA10: Improper thread context for operation

There's a failure doing the final DUMP in the ITS build. The error message is Improper thread context for operation and then the simulator dies. Full log in https://travis-ci.org/PDP-10/its/jobs/350579354

I'll look into this, but I'm also posting it here in case you have any idea what it can be.

Log excerpt:

LIBMAX
   706 LIBMAX .FILE. (DIR)      0      3/7/2018 23:59:17.5
   707 LIBMAX DEFINE 65         2      3/7/2018 18:28:49
   708 LIBMAX DEFINE FASL       3      3/7/2018 23:55:28
   709 LIBMAX DEFINE UNFASL     3      3/7/2018 23:55:28
   710 LIBMAX DEFOPT 8          2      3/7/2018 18:28:49
   711 LIBMAX DEFOPT FASL       3      3/7/2018 23:54:54.5
   712 LIBMAX DEFOPT UNFASL     3      3/7/2018 23:54:54.5
   713 LIBMAX DISPLM 13         2      3/7/2018 18:28:49
   714 LIBMAX DISPLM 14         2      3/7/2018 18:28:49
   715 LIBMAX DISPLM FASL       3      3/7/2018 23:54:53.5
   716 LIBMAX DISPLM UNFASL     3      3/7/2018 23:54:53.5
   717 LIBMAX EDMAC  FASL       3      3/7/2018 23:54:58.5
   718 LIBMAX EDMAC  UNFASL     3      3/7/2018 23:54:58.5
   719 LIBMAX ERMSGC 210        2      3/7/2018 18:28:49
   720 LIBMAX ERMSGC FASL       3      3/7/2018 23:54:47
   721 LIBMAX ERMSGC UNFASL     3      3/7/2018 23:54:47Improper thread context for operation
expect: spawn id exp9 not open

9AP does not boot

Hi
I'm trying to run 9AP on I7090 but fails on booting.
May be I'm doing something wrong?

Many thanks in advance
Best regards
Roberto

(Image attached)
9AP.zip

Unable to build KI10 simulator

lib paths are: /usr/lib /usr/X11/lib
include paths are: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/8.0.0/include /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/usr/include
using libm: /usr/lib/libm.dylib
using libpthread: /usr/lib/libpthread.dylib /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/usr/include/pthread.h
using regex: /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/usr/include/regex.h
using libdl: /usr/lib/libdl.dylib /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/usr/include/dlfcn.h
using mman: /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/usr/include/sys/mman.h


*** ki10 Simulator being built with:
*** - compiler optimizations and no debugging support. Apple LLVM version 8.0.0.


gcc -std=c99 -U__STRICT_ANSI__ -O2 -DSIM_COMPILER="Apple LLVM version 8.0.0" -I . -D_GNU_SOURCE -DUSE_READER_THREAD -DSIM_ASYNCH_IO -DHAVE_REGEX_H -DHAVE_DLOPEN=dylib -DHAVE_GLOB -DHAVE_SHM_OPEN PDP10/ka10_cpu.c PDP10/ka10_sys.c PDP10/ka10_df.c PDP10/ka10_dp.c PDP10/ka10_mt.c PDP10/ka10_cty.c PDP10/ka10_lp.c PDP10/ka10_pt.c PDP10/ka10_dc.c PDP10/ka10_rp.c PDP10/ka10_rc.c PDP10/ka10_dt.c PDP10/ka10_dk.c PDP10/ka10_cr.c PDP10/ka10_cp.c scp.c sim_console.c sim_fio.c sim_timer.c sim_sock.c sim_tmxr.c sim_ether.c sim_tape.c sim_disk.c sim_serial.c sim_video.c sim_imd.c sim_card.c -DKI=1 -DUSE_INT64 -I PDP10 -DUSE_SIM_CARD -o BIN/pdp10-ki -L/usr/X11/lib -lm -lpthread -ldl
PDP10/ka10_cpu.c:3523:65: warning: '&&' within '||' [-Wlogical-op-parentheses]
if (!pi_cycle && ((FLAGS & (USER|USERIO)) == USER &&
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
PDP10/ka10_cpu.c:3523:65: note: place parentheses around the '&&' expression to silence this warning
if (!pi_cycle && ((FLAGS & (USER|USERIO)) == USER &&
^
PDP10/ka10_cpu.c:1787:20: error: use of undeclared label 'unasign'
goto unasign;
^
1 warning and 1 error generated.

Building GCC to see if it behaves the same.

ITS: System clobbered

Occasionally, I see the SYSTEM CLOBBERED message.

I'd like to understand exactly what it means. And then, how to detect what is doing the clobbering.

Dual CPU B5500 loops after Ctrl/E.

Pressing Ctrl/E in CANDE sometimes causes the B5500 to go into a busy loop.

The problem can reliably be reproduced as follows:

  • Add SET CPU1 ENABLED to xiii.ini.
  • Start B5500 simulator, TSS/MCP XIII.
  • Enter DT and TR at SPO.
  • Enter CE to start CANDE.
  • Telnet to port 2000, login as USER1.
  • Enter LIST LOG/DISK command.
  • While QUIKLST is running, press Ctrl/E. Repeat Ctrl/E a few times if necessary.
  • Eventually MCP stops responding and CPU goes to 100%.
  • killall -QUIT b5500 to produce core dump (copy attached).

This does not occur when CPU1 is disabled.

I am running latest B5500 on Slackware 14.2 on Intel Core i7 laptop.

core.zip

KA10: Interrupt problem

Running FED using the 340 display will cause ITS to crash.

During the course of running FED, where will be an interrupt from the 340. PIH is set to 10 (level 4).

When the interrupt service routine returns through LPBKRT, PIH has changed to 12. When LPBKRT+1 executes a JEN, PIH is set to 2. But check_irq_level will not trigger a new interrupt request on level 1 because PIH is already 2, and it remains at 2 when ITS returns to user mode. The next time user mode calls a UUO, ITS notices PIH is 2, and throws the message "UUO WITH PI IN PROGRESS".

KL10: DTE20

I know KL10 and DTE isn't in the plan. I'll just post this here, and when you've seen it you can close it.

;;; Here is how a DTE works, as far as I can tell.  Each processor has an area
;;; which only it is theoretically allowed to write in.  This area is refered
;;; to as the OWNER'S area.  This area is composed of an section which is for
;;; the owner's use only.  This contains the keepalive count, among other
;;; things.  Next comes various sections in which the OWNER writes to SEND
;;; INFORMATION TO other processors.  These other processors must know to look
;;; at it.  When an 11 does an DTE EXAMINE operation, it is relative to his
;;; header word in the entire communications region.  So to examine the header
;;; word, location 0 is examined.  When an 11 does a DTE DEPOSIT operation, it
;;; is relative to the base of the area that it OWNs, NOT the base of the
;;; communications region.

;;; Well folks, that is correct.  The code now works following the above
;;; guidlines.  I wish it were documented in some DEC manual...

https://github.com/PDP-10/minits/blob/master/mits_s/dte.12

Older MIDAS

Some old software, include MIDAS itself, won't assemble with the latest ITS MIDAS 458.

I'd like to have a set of old MIDAS versions all the way to 108 which is the oldest known version.

TYPE340 display doesn't build under OS X

1 warning generated.
display/x11.c:51:10: fatal error: 'X11/X.h' file not found
#include <X11/X.h>
^~~~~~~~~
1 error generated.

X11/X.h is found in /opt/X11, not /usr/X11 or similar

KA10: 340 display

Maybe work with @philbudne on this.

ITS applications:

  • Exec DDT
  • Spacewar!
  • PEEK
  • MAGDMP
  • FED (font editor)
  • DECUUO (to run SUDS?)
  • 11SIM
  • LD10
  • PDSET
  • SHRDLU (unclear if what we have has display support)

KA10: TECO crash

I built and dumped a new TECO. However, there's a problem when I start it. This message is printed over and over:

ERROR WHILE ENTERING ERROR HANDLER! POPPING TO TOP LEVEL.

To reproduce:

  • :midas sysbin;_.teco.; teco >
  • :job teco
  • :load sysbin; teco bin
  • purify$g
  • press Enter to save in .TECO.; TECPUR 1212
  • :kill
  • :link sys; ts teco, .teco.; tecpur >
  • :teco

KA10: one-proceed problem

I tried to ^N over a system call, but the job didn't stop.

I'll prepare a test case with regular instructions, skips, jumps, calls, and system calls. I'll run it on both KS and KA and compare the results.

KA10: DF10

This info might be necessary to handle ITS DF10 correctly:

MIT-ML and MIT-DM (also KA's) had 18-bit DF10's with a special kludge modification (disabled with a toggle switch for running DEC diagnostics) to take extra address bits from the complement of some high-order bits of the count. The complementation is so that with a small count (which is negative) you address the low-order memory, for compatibility.

KA10: Boot MAGDMP off magtape

Last time I tried this, it didn't work.

Steps to reproduce:

  1. Start simulator with the usual configuration for ITS
  2. Attach magdmp.tap to mta0.
  3. b mta0

KA10: EMACS won't load libraries

When building EMACS, some essential libraries are first generated from TECO sources. This is done with the EINIT library. It should be run from EMACS with M-X Run Library$EINIT$? Generate. However, this elicits the message

LIB     FILE NOT IN LIBRARY FORMAT?

This message comes from EMACS1; USRCOM 514 file; Load Library function. Of course, it's TECO code, so it's nearly impossible to decipher.

I dumped out the EMACS; EINIT :EJ file from ITS, and confirmed that it's identical to the one in the its repository. So there's no corruption.

KA10: crash when run without X11

This should be an issue with @philbudne's 340 emulator.

If I boot DSKDMP and start e.g. the standalone @ TECO available in the ITS . directory, the simulator crashes with a segfault. Gdb says this happens in XkbSetDetectableAutoRepeat.

If I set dpy disable, this doesn't happen.

KA10: Performance

As the ITS build times keep increasing, I'm starting to eye simulator performance. Is it appropriate to look for optimizations?

KA10: Strange return to user mode?

This isn't with a version from your repository, so feel free to ignore this until you have incorporated @philbudne's 340 CONI fix and I have tested against that.

There's a crash using the FED program in ITS. FED calls .DSTART to display some graphics in the 340 display. But there's a monitor crash.

My test goes like this:

  • Load ITS (one with 340 support)
  • SRECYC$B (340 interrupt handler)
  • $G to start ITS.
  • Login and start FED.
  • Give it a font file name. (I have fonts.)
  • The SRECYC breakpoint triggers.
  • UEXIT$B (exit to user mode)
  • $P
  • The UEXIT breakpoint triggers.
  • UEXIT wants to JRST 2,@XUUOH. XUUOH is 310000,,001125.
  • UUOH0$B, which is the instruction right after UEXIT.
  • $P
  • The UUOH0 breakpoint triggers.

KA ITS: Can't set breakpoint in MIDAS

Attempting to set a breakpoint in a MIDAS pure page doesn't work. No error message. DDT doesn't make the page impure. Starting MIDAS doesn't trigger the breakpoint.

m$j!
*$l sys; ts midas
*:corprt
Page # 0, Impure, Swapped OUT
Page # 1, Impure, Swapped OUT
Page # 2, Impure, Swapped OUT
Page # 3, Impure, Swapped OUT
Page # 17, Impure, Swapped OUT
Page # 20, Impure, Swapped OUT
Page # 200, Pure, Swapped OUT
Page # 201, Pure, Swapped OUT
Page # 202, Pure, Swapped OUT
Page # 203, Pure, Swapped OUT
Page # 204, Pure, Swapped OUT
Page # 205, Pure, Swapped OUT
Page # 206, Pure, Swapped OUT
Page # 207, Pure, Swapped OUT
Page # 210, Pure, Swapped OUT
Page # 211, Pure, Swapped OUT
Page # 212, Pure, Swapped OUT
*beg=420112   beg$b
:corprt
Page # 0, Impure, Swapped OUT
Page # 1, Impure, Swapped OUT
Page # 2, Impure, Swapped OUT
Page # 3, Impure, Swapped OUT
Page # 17, Impure, Swapped OUT
Page # 20, Impure, Swapped OUT
Page # 200, Pure, Swapped OUT
Page # 201, Pure, Swapped OUT
Page # 202, Pure, Swapped OUT
Page # 203, Pure, Swapped OUT
Page # 204, Pure, Swapped OUT
Page # 205, Pure, Swapped OUT
Page # 206, Pure, Swapped OUT
Page # 207, Pure, Swapped OUT
Page # 210, Pure, Swapped OUT
Page # 211, Pure, Swapped OUT
Page # 212, Pure, Swapped OUT

KA10: Fresh ITS job has junk in 20-22?

Steps to reproduce:

  1. Create new job: x$j
  2. Set SIMH breakpoint at 0.
  3. Run: 0$g
  4. Breakpoint hits. In SIMH: ex 0-30. Output is:
0:      000000000000
1:      000000000000
2:      000000000000
3:      000000000000
4:      000000000000
5:      000000000000
6:      000000000000
7:      000000000000
10:     000000000000
11:     000000000000
12:     000000000000
13:     000000000000
14:     000000000000
15:     000000000000
16:     000000000000
17:     000000000000
20:     000000000022
21:     000023247777
22:     776000245777
23:     000000000000
24:     000000000000
25:     000000000000
26:     000000000000
27:     000000000000
30:     000000000000

KA10/PDP-6: Mictotape

If you want to implement PDP-6 devices. ITS can use the old PDP-6 DECtape device.

There's DC 200, and UTC/UTS 210, 214.

CC @aap

KA10: DeCoriolis clock

I think this is a real-time clock. Without it, ITS will complain it doesn't know that time it is during boot.

KA10: COMPLR doesn't work

When I start COMPLR, there's no _ prompt:

*:complr

LISP COMPILER 2155 [in LISP 2154]

If I press Enter, there's an error message and the prompt is displayed:

INCORRECT COMMAND SYNTAX - MAKLAP
_

Now I should be able to compile Lisp files, but the program doesn't seem to be doing anything after entering the command line:

_liblsp;_libdoc;tty

It's still possible to enter text.

KA10: Light pen Y coordinate off?

PEEK works with the light pen, but the Y coordinate seems slightly off. To test this, start PEEK and type D to get the directory view. Then use the light pen to select a directory to list. When I do this, the wrong directory is viewed.

CC @philbudne

KA10: Testing DECtape in ITS

Opening an issue to log my attempts to use DECtape in ITS.

Since microtapes are hardwarily and softwarily unreliable on the ITS systems, their use is discouraged.

.INFO.; DDT 33

KA10: 0/ PUSH

Here's a riddle. What happens if you put PUSH in location 0 and then execute it?

The answer is that it writes a new PUSH 0,0 instruction to location 1, and then executes that. Now it's more interesting, because it writes PUSH 0,1(1) to location 2.

And so on, but when it hits location 20, it breaks. If I single step this in timesharing DDT, location 20 gets 0. If I single step in SIMH, it gets 000000000022. The correct value ought to be PUSH 0,17(17).

KA10: ITS hangs after purifying programs

I have started on an automated build of KA ITS and all programs.

I have encountered a problem shortly after purification. The first two programs built are MIDAS and DDT. They are first assembled with MIDAS, and then loaded into DDT for running the PURIFY routine. Shortly after this, ITS starts to act weirdly. It hangs; sometimes it's possible to get its attention by typing ^G, sometimes not.

KA10: ESC to console output as 377 character

I set :tctyp vt52 expecting a nice EMACS experience (also set xterm to VT52 mode).

But ESC characters come out as 377. Here's a session hexdump:

00000bb0  0a 20 2e 20 20 20 20 20  0d 0a 3a 65 6d 61 63 73  |. .     ..:emacs|
00000bc0  0d 0a ff 4b 53 59 53 3a  20 53 59 53 33 3b 20 54  |...KSYS: SYS3; T|
00000bd0  53 20 45 4d 41 43 53 20  2d 20 4e 4f 4e 2d 45 58  |S EMACS - NON-EX|
00000be0  49 53 54 45 4e 54 20 44  49 52 45 43 54 4f 52 59  |ISTENT DIRECTORY|
00000bf0  0d 0a ff 4b 0d 0a ff 4b  3a 6c 69 6e 6b 20 73 79  |...K...K:link sy|
00000c00  73 3b 20 74 73 20 65 6d  61 63 73 2c 20 65 6d 61  |s; ts emacs, ema|
00000c10  63 73 3b 20 74 73 20 3e  0d 0a ff 4b ff 4b 2a 0d  |cs; ts >...K.K*.|
00000c20  0a ff 4b 5f 5f 5f 30 30  32 20 48 41 43 54 52 4e  |..K___002 HACTRN|
00000c30  20 53 59 53 20 20 20 20  54 53 20 20 20 20 20 45  | SYS    TS     E|
00000c40  4d 41 43 53 20 20 4c 49  4e 4b 20 20 20 0d 0a ff  |MACS  LINK   ...|
00000c50  4b 3a 65 6d 61 63 73 0d  0a ff 4b 28 50 6c 65 61  |K:emacs...K(Plea|
00000c60  73 65 20 4c 6f 67 20 49  6e 29 0d 0a ff 4b ff 59  |se Log In)...K.Y|
00000c70  35 20 ff 48 ff 4a ff 4b  45 4d 41 43 53 20 45 64  |5 .H.J.KEMACS Ed|
00000c80  69 74 6f 72 2c 20 76 65  72 73 69 6f 6e 20 31 36  |itor, version 16|
00000c90  32 20 2d 20 74 79 70 65  20 48 65 6c 70 28 5e 5f  |2 - type Help(^_|
00000ca0  48 29 20 66 6f 72 20 68  65 6c 70 2e 0d 0a ff 4b  |H) for help....K|

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.