Index of /pub/pdp11/rt11

      Name                    Last modified       Size  Description

[DIR] Parent Directory 20-Apr-2005 14:20 - [   ] algol.zip 01-Jun-1999 15:06 253k [TXT] copflp.mac 28-Jan-1997 00:00 14k [TXT] crock.mac 01-Oct-1995 00:00 11k [TXT] decout.mac 04-Nov-1990 00:00 1k [TXT] disasm.alg 12-Apr-1986 19:35 1k [TXT] disasm.mac 27-Jan-1986 18:53 27k [   ] disasm.sav 27-Jan-1986 18:55 17k RT-11 executable [TXT] disasm.txt 21-May-1999 04:30 4k [TXT] dissav.mac 03-Jan-2008 00:00 51k [   ] dissav.sav 03-Jan-2008 00:00 28k RT-11 executable [TXT] dupe.mac 01-Oct-1999 23:52 29k [TXT] dutest.mac 10-May-1998 18:35 31k [TXT] em.mac 29-Aug-1997 00:00 2k [   ] em.sys 29-Aug-1997 00:00 1k [   ] emx.sys 29-Aug-1997 00:00 1k [DIR] games/ 22-Jun-2000 16:51 - [TXT] ibb.mac 14-Sep-1991 00:00 23k [   ] km.sys 06-Oct-1995 00:00 2k [   ] kmx.sys 06-Oct-1995 00:00 2k [TXT] kserve.mac 20-May-1995 00:00 57k [TXT] lzw.txt 27-Dec-1995 16:41 16k [TXT] palx.mac 25-Sep-1991 00:00 60k [TXT] putr.mac 29-Jan-1997 00:00 17k File insert/extract [TXT] r50out.mac 13-Apr-1991 00:00 1k [TXT] raid.mac 04-Dec-1984 00:00 33k [TXT] rdtoy.mac 21-Oct-1998 00:00 3k [   ] rdtoy.sav 21-Oct-1998 00:00 1k RT-11 executable [TXT] 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.