Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support for the PDP-8 Family of 8 #377

Open
poetnerd opened this issue May 20, 2024 · 0 comments
Open

Support for the PDP-8 Family of 8 #377

poetnerd opened this issue May 20, 2024 · 0 comments

Comments

@poetnerd
Copy link

I'm opening this issue to begin discussion about how receptive Open SIMH would be to receiving updates to support more members of the "Family of 8" PDP-8 variations.

  • Context

The PiDP-8/i hardware kit is a 2/3 scale model front panel of the PDP-8/i accommodating a Raspberry Pi running the PDP-8 emulator in SIMH. It's become rather popular, giving rise to follow-on projects that deliver kits for the PDP-11 and PDP-10 platforms as well. (See: https://obsolescence.wixsite.com/obsolescence/pidp-8 ).

This kit has kindled new interest in the PDP-8. Old software has been found and curated.

During the evolution of the PiDP-8/i Software efforts (See: https://tangentsoft.com/pidp8i/wiki?name=Home ) various ideas for amending the emulation of the PDP-8 have been explored:

Since the PiDP-8/i hardware looks like a PDP-8/i, an emulation that is closer to cycle-accurate, showing action on the Fetch/Defer/Execure cycles has been protptyped. This enables the Major States to be visible during Single Step mode.

The current PDP-8 emulation is for the 8e family member. It's always struck me as dissonant that I have a PDP-8/i front panel, but inside the CPU is an 8e with that Byte Swap instruction. We have prototype code that adds "MODEL" as a sub-command of SET, enabling specifying other members of the Family of 8 to be more faithfully emulated. That code has extended the existing PDP8 testing to include family member specific maindecs.

For the rest of this submission, because I'm proposing an enhancement, rather than reporting a problem, I'm going to skip over most of the fill-ins. Suffice to say, that we're building against the latest Open SIMH, and we've successfully built on several platforms, including MacOS and Raspberry Pi OS.

  • the output of "sim> SHOW VERSION" while running the simulator which is having the issue

PDP-8 simulator Open SIMH V4.1-0 Current
Simulator Framework Capabilities:
32b data
32b addresses
no Ethernet
Idle/Throttling support is available
Virtual Hard Disk (VHD) support
RAW disk and CD/DVD ROM support
Asynchronous I/O support (Lock free asynchronous event queue)
Asynchronous Clock support
FrontPanel API Version 12
Host Platform:
Compiler: GCC Apple LLVM 15.0.0 (clang-1500.1.0.2.5)
Simulator Compiled as C (Release Build) on May 19 2024 at 13:01:35
Build Tool: autosetup+gmake
Memory Access: Little Endian
Memory Pointer Size: 64 bits
Large File (>2GB) support
SDL Video support: No Video Support
No RegEx support for EXPECT commands
OS clock resolution: 1ms
Time taken by msleep(1): 1ms
OS: Darwin Mac-mini.lan 22.6.0 Darwin Kernel Version 22.6.0: Mon Feb 19 19:43:13 PST 2024; root:xnu-8796.141.3.704.6~1/RELEASE_ARM64_T6020 arm64
Processor Name: Apple M2 Pro
tar tool: bsdtar 3.5.3 - libarchive 3.5.3 zlib/1.2.11 liblzma/5.0.5 bz2lib/1.0.8
curl tool: curl 8.5.0 (aarch64-apple-darwin22.6.0) libcurl/8.5.0 OpenSSL/3.2.1 zlib/1.3.1 brotli/1.1.0 zstd/1.5.5 libidn2/2.3.7 libpsl/0.21.2 (+libidn2/2.3.4) nghttp2/1.58.0
git commit id: ffe537a
git commit time: 2024-02-20T18:20:13-08:00

  • how you built the simulator or that you're using prebuilt binaries

We successfully build from source cloned from https://github.com/open-simh/simh.git

  • the simulator configuration file (or commands) which were used when the problem occurred.

No problems encountered.

  • the expected behavior and the actual behavior

Were propose to add "SET MODEL PDP8I" as an initial framework and to include additional family members over time.

I expect that the Family of 8 submissions are probably of interest, and would foster greater bug-compatibility in future.

  • you may also need to provide specific pointers to data files that may be necessary to demonstrate the problem

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant