rust11 / xxdp
Licence: other
XXDP was, and remains, the PDP-11 diagnostic operating system. This project attempts to recover XXDP sources and documents.
Stars: ✭ 22
Projects that are alternatives of or similar to xxdp
RSTS-E
Updates, Information and Software for the PDP-11 RSTS/E V10.1 Operating System
Stars: ✭ 12 (-45.45%)
Mutual labels: pdp11, pdp-11
ukncbtl
UKNCBTL is emulator of Elektronika MS 0511 (UKNC), soviet computer based on two PDP-11 compatible processors.
Stars: ✭ 39 (+77.27%)
Mutual labels: pdp11, pdp-11
WacOS
A Linux distribution that mimics MacOS (modern and classic) iOS, and other Apple operating systems, but is open, customizable, and free to use on non-apple hardware.
Stars: ✭ 18 (-18.18%)
Mutual labels: operating-system
apex
Apex RTOS - A (somewhat) Linux compatible real time operating system
Stars: ✭ 15 (-31.82%)
Mutual labels: operating-system
hermit-playground
A playground to build C/C++/Go/Fortran applications on top of RustyHermit
Stars: ✭ 13 (-40.91%)
Mutual labels: operating-system
KnutOS
An x86_64 hobbyist OS written in C and Assembly
Stars: ✭ 16 (-27.27%)
Mutual labels: operating-system
web-desktop-environment
a web-based cross-platform desktop environment
Stars: ✭ 167 (+659.09%)
Mutual labels: operating-system
utero
The Operating System (for x86_64) written in Crystal as much as possible
Stars: ✭ 55 (+150%)
Mutual labels: operating-system
rCore-Tutorial-v3
Let's write an OS which can run on RISC-V in Rust from scratch!
Stars: ✭ 470 (+2036.36%)
Mutual labels: operating-system
VisualOS
x86-64 UEFI operating system with the goal of eliminating command lines
Stars: ✭ 20 (-9.09%)
Mutual labels: operating-system
WindowsIoTEverywhere
Images & drivers to get WIndows 10 IoT running on off-the-shelf tablets, mini-pcs, and various computers.
Stars: ✭ 23 (+4.55%)
Mutual labels: operating-system
nightingale
A small operating system where I experiment and learn osdev.
Stars: ✭ 86 (+290.91%)
Mutual labels: operating-system
NightOS
A highly secure, performant and robust operating system for the future 🌔 🚀
Stars: ✭ 15 (-31.82%)
Mutual labels: operating-system
This project is an attempt to restore XXDP+ sources. XXDPP.MAC - The restored source of the XXDP+ monitor XXDPP.LST - The listing file XXDPP.PDF - Listing file PDF XXDP V2 Driver Guide - Transcription, minus the appendices XXDP V2 User Guide - Original XXDP+ File Structure - Transcription XXDP+ Programming Card - Original XXDP+ Help File - Orginal Source introduction: XXDP was/is the diagnostic operating system for PDP-11 computers. This source file was created by reverse assembling the binary image of the XXDP+ HMDLD0 monitor found on XXDP23 distribution. XXDP constitutes the de facto definition of the PDP-11, as anyone who writes an emulator soon finds out. It's the toughest the PDP-11 systems, case-hardened by its use on only partially functioning systems. XXDP's architecture is based on a simple, near-boolean level state machine. There is rarely any analytic vagueness regarding system state. XXDP has a remarkably flat structure. Registers rarely need to be saved/restored across routines (less than 10 instances). All parameters and results are passed in registers, obeying a strict usage protocol. Because of the fixed space restrictions placed on the monitor, code compression was always required to find space for new functionality. XXDP uses many software techniques to achieve that goal. The code is heavily compressed. One overarching simplification is the almost complete absence of sanity testing. It will accept any disk volume as an XXDP volume, no matter how crazy the directory structure might appear. It tests only for conditions that make it impossible to continue. The original XXDP+ would of course have had separate source modules for the monitor and the various drivers. For this stage of the recovery process I've thought it best to have everything in a single source module with no external dependencies. The monitor source code translation is complete with this release. However, the documentation requires a programmer's guide and a system logic manual, at some distant point in time. For clarity I have not used macro definitions for system EMT calls in this, preferring to see all the binary code instructions. A later release should employ macros for system calls. The comments can also be improved. The XXDP monitor itself is restricted to read-only support for system media. The other half of the system, that creates and writes files, is buried in a DRVCOM package that are embedded in the UPD1, UPD2, PATCH and XTECO utilities and the stand-alone drivers. I began looking at XXDP around year 2000 when I used it to test a PDP-11 emulator I'd written. I got curious and wrote a simple disassembler and began annotating it (which I came back to in 2010 and 2015). At first I approached the project as an act of diligence: I thought the source was important for the history of the PDP-11. However, it turned out to be a fascinating task and it was a real joy to see the operating system as a whole slowly emerge. There were so many subtleties to be discovered. There's some horrible HELLO WORLD coding here and there, but most of it is tight and the state machine design is highly disciplined. Some grateful acknowledgements: I spent so much time in Al Kossow's amazing bitsavers.org that I thought I should start paying rent. I crawled endlessly through diagnostics, looking for tiny clues. Joerg Hoppe's extensive XXDP microfiche contributions to bitsavers included some critical sources. A sometime DEC diagnostic programmer, Michael Moroney, who visited alt.sys.pdp11 some years ago, was kind enough to dig up and send me a copy of MACROM.MAC, the XXDP+ system macro module, which was truly invaluable: I had "names" for the system services. There have been quite a few valuable websites that have dedicated time and space to XXDP over the years from which I have gleaned information.
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].