Index of /pub/pdp11/rt11
Name Last modified Size Description
Parent Directory 20-Apr-2005 14:20 -
algol.zip 01-Jun-1999 15:06 253k
copflp.mac 28-Jan-1997 00:00 14k
crock.mac 01-Oct-1995 00:00 11k
decout.mac 04-Nov-1990 00:00 1k
disasm.alg 12-Apr-1986 19:35 1k
disasm.mac 27-Jan-1986 18:53 27k
disasm.sav 27-Jan-1986 18:55 17k RT-11 executable
disasm.txt 21-May-1999 04:30 4k
dissav.mac 03-Jan-2008 00:00 51k
dissav.sav 03-Jan-2008 00:00 28k RT-11 executable
dupe.mac 01-Oct-1999 23:52 29k
dutest.mac 10-May-1998 18:35 31k
em.mac 29-Aug-1997 00:00 2k
em.sys 29-Aug-1997 00:00 1k
emx.sys 29-Aug-1997 00:00 1k
games/ 22-Jun-2000 16:51 -
ibb.mac 14-Sep-1991 00:00 23k
km.sys 06-Oct-1995 00:00 2k
kmx.sys 06-Oct-1995 00:00 2k
kserve.mac 20-May-1995 00:00 57k
lzw.txt 27-Dec-1995 16:41 16k
palx.mac 25-Sep-1991 00:00 60k
putr.mac 29-Jan-1997 00:00 17k File insert/extract
r50out.mac 13-Apr-1991 00:00 1k
raid.mac 04-Dec-1984 00:00 33k
rdtoy.mac 21-Oct-1998 00:00 3k
rdtoy.sav 21-Oct-1998 00:00 1k RT-11 executable
uncomp.mac 20-Nov-1995 00:00 30k
This dir contains various programs and subroutines for RT-11, by John Wilson
unless otherwise stated. Programs are contained in one source file each, so
for example to build CROCK, all you have to type is "MACRO CROCK" and "LINK
CROCK"; or simply type "EXECUTE CROCK". Files containing only subroutines
need to be attached to something to be useful, obviously.
algol DECUS ALGOL. I'm lazy so currently this is a ZIPped RL01 image in
RT-11 format (mostly empty so the ZIPfile is small), with the files
on it and a built ALGOL.SAV. Everything with a date in 1980 is
original, the stuff from 1997 was from me playing with it (so there's
a built ALGOL.SAV). I think I included a copy of the listing file
(which was the only source distributed in the DECUS kit) with the
listing crap stripped off, I forget whether it compiled OK though.
copflp Copy between 8" floppy disks (DX:/DY:/PD:) and image files. Uses
.SPFUN to access raw sectors so non-PDP11 SSSD disks may be copied too
(such as common CP/M 8" disks), or any RX01 or RX02 disk with a
non-standard file structure. Image files are in raw sector order
starting with track 0 sector 1 and are compatible with several
PDP-8 and PDP-11 emulators including Ersatz-11.
crock Full-screen analog clock program for VT52 or VT100 terminals.
Translated from the PDP-10 program of the same name (originally by
Guy Steele of Common Lisp fame). I haven't done DCROCK yet.
decout Subroutine to convert a number to decimal w/o division in very few
iterations. Extremely cute algorithm stolen from TSS/8.24 System
Interpreter, treats numbers as BCD, sort of.
disasm PDP-11 disassembler written as an undergrad long ago. Performs
execution trace to distinguish code from data and assigns labels
to jump targets. I'm sure the source is in an embarrassing state.
dissav Upgraded version of DISASM, which allows disassembled .MAC file to be
edited and fed back through to disassemble newly discovered code
blocks and insert them in the proper place. New /B switch allows
extremely crude access to overlays. EIS/SOB instructions removed so it
should run on any PDP-11 model. Documentation is in a large comment
block at the beginning of dissav.mac.
dupe Stand-alone program to run a diskette duplicating machine (I have a
Victory V3000, but it should work with any autoloader that uses the
"Mountain" serial protocol). The input and output diskette drives
must be connected to an MSCP controller, and the PDP-11 must have
enough physical memory to hold the program plus the entire disk.
I use this with E11, but it should work just as well with real
PDP-11s. You'll need an aftermarket controller that supports RX23s
to be able to do 1.44 MB disks.
dutest Stand-alone program to allow user to fiddle with MSCP controllers,
handy for reverse-engineering all those undocumented/semi-documented
doodads. Type "MSCP" or "TMSCP" to select protocol and CSR addr,
then "INIT" to do the four-step init sequence. After that you can
build a command packet by first typing "OP xxx" to init the packet
and set the opcode ("xxx" is the rest of the "OP.xxx" opcode symbol
name from the UDA50 manual, you definitely want to use OP SCC first
to set up the controller). Other commands like "UNIT n" of "FLAGS nnn"
or "BA nnnnnn" (in this case the nnnnnn can be omitted to use an
internal 512-byte buffer by default) set the other fields of the
packet, and "GO" sends it to the controller. DUTEST checks for
response packets before each prompt, so just hit RETURN a few times
until the response pops up. SHOW [RESPONSE] shows the current command
(or response) packet, OSHOW is the same but shows it as raw octal
instead of labeling the fields.
em.mac
em.sys
emx.sys FIS emulator for machines with FP11, written by Sergey L. Ovchinnikov
of GelioSoft, Ltd. (Moscow, Russia). Works as a device driver;
SET EM: ON and SET EM: OFF enable/disable emulation.
ibb Itsy Bitsy BASIC interpreter. Almost useless, integer only, no
strings (except in PRINT), no INPUT, but it does work. Written mostly
in one night, just for fun (FOR/NEXT and GOSUB/RETURN were added
later). Does not require EIS. Rewrite it for the 8080A and become
ruler of an evil software empire in just 10 short years!
km.sys
kmx.sys Kermit serial drivers, pre-assembled for users who are missing MACRO
and/or LINK (these are from the Kermit distribution, and are NOT
written by John Wilson, they're just here because the Kermit archive
doesn't include the .SYS files).
kserve Server-only Kermit for RT-11. Written entirely from scratch (well,
based partly on another RT-11 Kermit I *did* write from scratch), it
has nothing to do with K11. It has no long packet or sliding window
support (although my mostly-finished development version has both, if
you would have a use for that nag me to finish it, at wilson@dbit.com),
but on the bright side it can be assembled under V4 and is FAR smaller
than K11 (which for some reason is written in the style of compiler
output). Use "REM K SET FILE TYPE BINARY" to set binary mode (as
opposed to just "REM SET FILE TYPE BINARY", the protocol for this
command is not in the on-line Kermit spec and I didn't find out how
to do it until after I'd written the REM K version -- again, the
mostly-finished next version supports the new way though). It uses
double-buffered file I/O and maintains 9600 baud w/o pauses even
with DECtape. There's no prompt or anything since it's just a server,
just type "RUN KSERVE" and escape back to your local Kermit.
palx PDP-8 cross-assembler. Sneered at as a "pet" project by Charles Lasner
because it's not PAL-8 compatible. Well who said it was! The syntax
is not far from PAL-D (which is what I had been using, TSS/8 never had
PAL-8), only the pseudo-ops have been changed to protect the innocent.
Also it has local labels, with names like ".10". As in PAL-D, there
are no macros or conditional assembly. Output is suitable for feeding
to the BIN loader over a serial line (which BIN thinks is a paper tape
reader). Written as a freshman long ago, please don't laugh at my code!
It stores complex expressions for evaluation between passes, which is
messy and now I find out most assemblers don't do it (I did it to mimic
an RCA CDP1802 cross-assembler I wrote in BASIC where storing strings
is easy), but it means you can say "A=B", "B=C", "C=1" in that order
w/o getting an "undefined variable" error for the "A=B" statement on
pass 2, which can be puzzling if you don't know how assemblers work.
putr Unfinished program which was supposed to read TSS/8 DECtapes on a
TC11/TU56 setup. That part doesn't work, but what does work is the
READ command, which takes a snapshot of the 12-bit tape on DT0: into
1474-block RT-11 file. Each block contains 129 12-bit data words,
in PDP-11 byte order, followed by 127 zero words. Which is probably
not what you want, so write a small program to pick out the parts
you want. Anyway the code does searches properly (even on tapes
written with junk in the high bits of the block #, which I've come
across occasionally with 12-bit tapes), and figures the checksum OK.
Currently it requires a CPU with EIS and the MTPS instruction, you'll
need to tweak it if yours is missing either.
r50out Subroutine to convert a .RAD50 number to ASCII in only 12 iterations
w/o division, using the same cute algorithm (from TSS/8) as DECOUT.MAC.
raid A Really Awesome Interactive Debugger, formerly DECUS #11-772.
Kills bugs dead. I wrote it in high school, I can't even bring myself
to look at the code now since it would be so embarrassing. But it does
work. Breakpoints, disassembly, single stepping...
rdtoy A program which I hope will read the 11/94 time of year clock, it
works with Ersatz-11 but I don't have access to a real 11/94. Well
OK I do now, but I haven't gotten around to testing RDTOY.
uncomp Uncompressor for UNIX ".Z" files, as created by the "compress" program.
Uses a swap file if necessary to handle up to the full 16-bit code
sizes, instead of the 12-bit limit imposed by the standard UNIX
version when running on 16-bit CPUs. This program's time has passed,
but I still haven't picked through the gzip/gunzip code enough to
be able to write a MACRO-11 version of that (which would definitely
come in handy). The file "lzw.txt" contains a nice writeup of
Lempel-Ziv Welch compression by Steve Blackstock.