Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.2 9/18/84; site ucla-cs.ARPA Path: utzoo!watmath!clyde!burl!ulysses!mhuxr!mhuxn!ihnp4!qantel!hplabs!sdcrdcf!ucla-cs!scw From: scw@ucla-cs.UUCP Newsgroups: net.bizarre Subject: Re: Bizarre Code Message-ID: <6814@ucla-cs.ARPA> Date: Tue, 10-Sep-85 15:53:15 EDT Article-I.D.: ucla-cs.6814 Posted: Tue Sep 10 15:53:15 1985 Date-Received: Sun, 15-Sep-85 12:10:22 EDT References: <462@moncol.UUCP> <29712@lanl.ARPA> <1582@peora.UUCP> Reply-To: scw@ucla-cs.UUCP (Stephen C. Woods) Organization: UCLA Computer Science Department Lines: 48 Summary: In article <1582@peora.UUCP> jer@peora.UUCP (J. Eric Roskos) writes: >> The most bizarre code I ever had to program follows (in FORTRAN) >> >> 100 IF (IREQ.EQ.0) GO TO 100 > >That's not so bizarre... reminds me of some code in the DEC OS/8 boot loader >(I think it was for the RK8/E): > > jmp . > >The way it worked was that the jmp was at the starting address for the code >being loaded; the program would initiate the I/O operation, then sit there >looping. When the I/O completed, some new code would appear there, and >it would start off running again... >-- Actually it was sort of neat.: Boot program real boot address code meaning code meaning 20 6733 read block (0) 6734 skip on I/o done 21 5021 jump . 5020 jump .-1 6732 get status ... What you did was toggle in the 2 instruction bootstrap then start 20. The I/O actually started at 0 when 21 was read in the hard jmp . turned into a wait for I/O loop. When the I/O finally did compleat the program just skiped the jmp .-1 and ran along (really very nifty). Stranger still was the bootstrap for the PDP-12 , Linc-8 and Linc. There were 2 sets of 12 switches on the front panel (left and right) to boot the machine you put a Read Linc Tape block in the left switches and a block number and count in the right switches, there was another switch on the front panel marked DO, when you pressed the DO switch the instruction in the switches was executed (as I recall to boot os/8 you read block 0 (0701 0000) and to boot Dial you read 7 blocks from the middle of the tape (0700 7300)). Dial was as bizzare an operating system as you'd never want to see, you used the A-D knobs to control the cursor (you were ALWAYS either in the editor or running an application program). They did however have some interesting instructions on the machine (display 1/2 a character [put the 12 bits in the ACC on the screen as either the right or left half of character]). Another oddity that just came to mind. The LINC (DEC's first product) didn't have any serial output devices, what they did was to use 2 of the relays (6 of them altogether as I recall) to toggle a current loop line to drive a TTY-33 for a printer. Brought to you by Super Global Mega Corp .com