Post by Don BaccusPost by Johnny BillquistPost by Don BaccusPost by ***@gmail.comSo,
I've got a spankin' brand new PDP-8/E (simulator) - thanks Bernhard for a masterpiece... Now, I want to learn all that I can about the machine and how it is programmed. I dug around all over the place and as far as I can tell, the best available book on programming the thing is 1975's Introduction to Programming (DEC-08-XINPA-A-D) 5th Edition. But, I'd like to hear other's opinions on this. I've also seen the PDP 8/E/F/M handbook and a few earlier handbooks, a 1969 PAL III Programming Manual and such. What other sources do folks remember from back in the day?
Will
Intro to Programming was the first book I read to learn to program on a pdp-8 in high school. From there you will be able to write small programs and move up to bigger programs.
Bernhard's emulator is very nice indeed.
I recommend adding an additional 4K (or just fill it to 32K) to your emulated 8/e then run OS/8 for your programming environment. Just mount the provided disk image and boot it.
I'd definitely throw in 32K. No reason not to.
Post by Don BaccusOS/8 includes an editor, PAL8, the linker and ODT ("Octal Debugging Technique" - a simple debugger) is built-in which allows for easier debugging. That's all you need to write simple assembly code.
OS/8 have several editors (including TECO), lots of different languages,
and utilities.
Post by Don BaccusYou can "get" rather than "run" programs you assemble and link and then run it or single step it using the emulator's console if you want the low-level experience, and OS/8 doesn't interfere with your use of the peripherals on the machine, so you can still write your own code to read and write the emulated ASR33. The nice thing about the simple 'ole PDP-8 is that simple I/O for simple devices is, well, dead simple if interrupts are turned off ...
Which they normally are. OS/8 do not use the interrupt system at all.
You usually want to use the OS/8 device drivers to get device
independence in normal programs. But for playing around, you can just
ignore OS/8 and just go ahead and handle the machine just like if you
ran on bare metal.
Nothing special is needed to be done. Once your program starts, OS/8 is
basically no more, unless you explicitly call for it.
Post by Don BaccusOS/8 provided by far the best development environment for the PDP-8.
Possibly true. Depends on how you look at it. But it does provide you
with everything you'd normally want to do.
Johnny
Yes, plenty of languages available, didn't mention that because he specifically discussed writing assembly code.
Fair enough. But even with assembler, you have several...
PAL8, MACREL, SABR, RALF...
Not that I'd recommend any of the last two... ;-)
Post by Don BaccusWhile the device drivers did provide some level of device independent programming capability, the console was usually driven directly using IOT instructions in a program in OS/8.
Yeah. Much simpler than using the device driver, and allow for better
control. There were very few occasions where I used the TTY driver if I
just wanted to talk to the terminal.
Post by Don BaccusTECO is a very good editor, after all I was one of the two people who originally ported it to (then) PS/8 (later OS/8). And in the process sped up Russ Hamm's original implementation by a factor of three by rewriting the memory management part of the code. But the standard editor might be more approachable for those not familiar with TECO. I dunno ...
As far as I can remember, the standard editor wasn't much fun. But I
know what you mean with TECO. :-)
But there are other alternatives as well. VISTA is a very nice screen
oriented editor, if someone is more into that.
I wrote an Emacs implementation in TECO-8 as well. Pretty easy, actually.
And thanks for all the improvements to TECO-8. :-)
Post by Don BaccusAfter OS/8 was out and established, I don't really know of any serious development that was done under the old Disk Monitor. There were the time sharing systems mostly for educational use (TSS/8 and EduComp), speciality systems like Dibol, etc, but for people writing code for embedded applications or to write more generalized stuff OS/8 was where it was at. And Educomp's software was developed under OS/8 though it was its own enclosed world (IIRC) when running.
I don't think I ever even saw the disk monitor. Really looks like a
primitive grandfather of OS/8.
I used MULTOS-8 some as well, which was pretty cool. Multiuser PDP-8
system, where each user got his own virtual PDP-8 running OS/8. Require
no special hardware either (apart from the timeshare option and a
realtime clock).
And I know of Etos8, but I never used it.
Johnny