From news.columbia.edu!sol.ctr.columbia.edu!spool.mu.edu!uunet!decwrl!pa.dec.com!sousa.tay.dec.com!human.enet.dec.com!supnik Mon Jun 7 10:02:26 EDT 1993 Article: 281 of alt.sys.pdp8 Path: news.columbia.edu!sol.ctr.columbia.edu!spool.mu.edu!uunet!decwrl!pa.dec.com!sousa.tay.dec.com!human.enet.dec.com!supnik From: supnik@human.enet.dec.com (Bob Supnik) Newsgroups: alt.sys.pdp8 Subject: Looking for info: PDP-8/e EAE Date: 6 Jun 1993 16:33:25 -0400 Organization: Digital Equipment Corporation Lines: 18 Sender: newsa@sousa.tay.dec.com Message-ID: <1utkal$iee@sousa.tay.dec.com> NNTP-Posting-Host: sousa.tay.dec.com Summary: What did Normalize of 0000 0000 do? Keywords: Normalize, EAE I'm looking for detailed information on the PDP-8E (-8A) EAE unit. The description of normalize says: "The step counter is cleared; then the contents of the L, AC and MQ are shifted left, as described above under Left Shift, until AC0 and AC1 are different, or until the 24 bits contained in AC and MQ contain the number 6000 0000". Clearly, this describes a terminating sequence of operation for every 24 bit number EXCEPT 0000 0000, for which neither completion condition is ever met. Does any one know/remember what happens in that case? (The extent PDP-8 simulators on the net don't include EAE support.) Bob Supnik >Supnik@human.enet.dec.com >All opinions expressed are those of a hardline microcoder >and do not reflect those of Digital Equipment Corporation From news.columbia.edu!watsun.cc.columbia.edu!lasner Mon Jun 7 10:03:46 EDT 1993 Article: 282 of alt.sys.pdp8 Newsgroups: alt.sys.pdp8 Path: news.columbia.edu!watsun.cc.columbia.edu!lasner From: lasner@watsun.cc.columbia.edu (Charles Lasner) Subject: Re: Looking for info: PDP-8/e EAE Message-ID: <1993Jun7.134423.11086@news.columbia.edu> Keywords: Normalize, EAE Sender: usenet@news.columbia.edu (The Network News) Nntp-Posting-Host: watsun.cc.columbia.edu Reply-To: lasner@watsun.cc.columbia.edu (Charles Lasner) Organization: Columbia University References: <1utkal$iee@sousa.tay.dec.com> Date: Mon, 7 Jun 1993 13:44:23 GMT In article <1utkal$iee@sousa.tay.dec.com> supnik@human.enet.dec.com (Bob Supnik) writes: >I'm looking for detailed information on the PDP-8E (-8A) EAE unit. > >The description of normalize says: > >"The step counter is cleared; then the contents of the L, AC and MQ are >shifted left, as described above under Left Shift, until AC0 and AC1 are >different, or until the 24 bits contained in AC and MQ contain the number >6000 0000". > >Clearly, this describes a terminating sequence of operation for every >24 bit number EXCEPT 0000 0000, for which neither completion condition >is ever met. Does any one know/remember what happens in that case? > >(The extent PDP-8 simulators on the net don't include EAE support.) > >Bob Supnik >Supnik@human.enet.dec.com > >All opinions expressed are those of a hardline microcoder > >and do not reflect those of Digital Equipment Corporation AH! Ye old EAE bug! Pre-8/e EAE has a bug here: The hardware checks for the special case of AC and MQ all zero and takes a fast exit if so. The problem is that EAE, like other OPR instructions allows micro-coded instructions such as CLA MQL NMI So, the test is done too early since the CLA and possibly MQL happen after the test for all-zeroes. The fix *could* have been to test later or at any time but neither was the case. (I suspect the test for all zeroes was already done the way it was for the benefit of MUY/DVI, so it was just appropriated for NMI as well; but this hole in the logic cost them.) So, any CLA NMI thwarts any test for AC=0, and any MQL NMI thwarts any test for MQ=0 if the AC already is zero, and CLA MQL NMI thwarts any test for both zero regardless of prior (non-zero) case, etc. The 8/e handily solves the problem: The instruction NMI is indeed normalize, but adding on the troublesome bits causes a special-case decode which cancels the potential infinite loop problem. Indeed, you can no longer micro-code NMI at all! The instructions are now used as the mode "a" and mode "b" switch operations. It's pretty contrived to find a case for "incompatibility" here unless someone had used something like CLA NMI to normalize the low-order 12 bits of a quantity only or something, etc. More importantly it prevents the hardware from cycling forever until stopped manually as on the 8, LINC-8, 8/i, and -12. Hope this helps you emulate 8/e EAE so that we can sooner see PDP-8 ZORK! cj "Was just playing the TOPS-20 MDL version a few minutes ago, seriously!" l From news.columbia.edu!sol.ctr.columbia.edu!howland.reston.ans.net!wupost!decwrl!pa.dec.com!sousa.tay.dec.com!human.enet.dec.com!supnik Mon Jun 7 22:08:01 EDT 1993 Article: 283 of alt.sys.pdp8 Path: news.columbia.edu!sol.ctr.columbia.edu!howland.reston.ans.net!wupost!decwrl!pa.dec.com!sousa.tay.dec.com!human.enet.dec.com!supnik From: supnik@human.enet.dec.com (Bob Supnik) Newsgroups: alt.sys.pdp8 Subject: Re: Looking for info: PDP-8/e EAE Date: 7 Jun 1993 18:35:59 -0400 Organization: Digital Equipment Corporation Lines: 18 Sender: newsa@sousa.tay.dec.com Message-ID: <1v0fsf$5la@sousa.tay.dec.com> References: <1utkal$iee@sousa.tay.dec.com> <1993Jun7.134423.11086@news.columbia.edu> NNTP-Posting-Host: sousa.tay.dec.com In article <1993Jun7.134423.11086@news.columbia.edu>, lasner@watsun.cc.columbia.edu (Charles Lasner) writes... >In article <1utkal$iee@sousa.tay.dec.com> supnik@human.enet.dec.com (Bob Supnik) writes: >>I'm looking for detailed information on the PDP-8E (-8A) EAE unit. >> [text deleted] >AH! Ye old EAE bug! > >Pre-8/e EAE has a bug here: > [text deleted] My thanks to the old PDP-8 hackers who helped with this one. According to the 1973 and later editions of the Small Computer Handbook (but not the 72 edition, which I was using), any number with AC2:11 = MQ0:11 = 0 is considered "prenormalized"; no shift is done; the instruction terminates immediately. Bob Supnik >Supnik@human.enet.dec.com >All opinions expressed are those of a hardline microcoder >and do not reflect those of Digital Equipment Corporation From news.columbia.edu!watsun.cc.columbia.edu!lasner Mon Jun 7 22:13:03 EDT 1993 Article: 284 of alt.sys.pdp8 Newsgroups: alt.sys.pdp8 Path: news.columbia.edu!watsun.cc.columbia.edu!lasner From: lasner@watsun.cc.columbia.edu (Charles Lasner) Subject: Re: Looking for info: PDP-8/e EAE Message-ID: <1993Jun8.021216.21434@news.columbia.edu> Sender: usenet@news.columbia.edu (The Network News) Nntp-Posting-Host: watsun.cc.columbia.edu Reply-To: lasner@watsun.cc.columbia.edu (Charles Lasner) Organization: Columbia University References: <1utkal$iee@sousa.tay.dec.com> <1993Jun7.134423.11086@news.columbia.edu> <1v0fsf$5la@sousa.tay.dec.com> Date: Tue, 8 Jun 1993 02:12:16 GMT In article <1v0fsf$5la@sousa.tay.dec.com> supnik@human.enet.dec.com (Bob Supnik) writes: > >In article <1993Jun7.134423.11086@news.columbia.edu>, lasner@watsun.cc.columbia.edu (Charles Lasner) writes... >>In article <1utkal$iee@sousa.tay.dec.com> supnik@human.enet.dec.com (Bob Supnik) writes: >>>I'm looking for detailed information on the PDP-8E (-8A) EAE unit. >>> [text deleted] >>AH! Ye old EAE bug! >> >>Pre-8/e EAE has a bug here: >> [text deleted] > >My thanks to the old PDP-8 hackers who helped with this one. According to >the 1973 and later editions of the Small Computer Handbook (but not the 72 >edition, which I was using), any number with AC2:11 = MQ0:11 = 0 is considered >"prenormalized"; no shift is done; the instruction terminates immediately. That's the way all EAE always did it. The problem was with the decoding as I described, etc. BTW, did you notice the earlier "paper" EAE implementation that was described in the first SCH that included the NMU instruction? (This was to mean "unsigned normalize" but all of that description was vapo-ware.) Note that for compatibility, 8/e programs have to do a SWBA;NOP to ensure the program starts in mode A or runs on pre-8/e EAE machines. So, how soon after the Alpha -8 simulator is done do we see PDP-8 Zork? cjl From news.columbia.edu!sol.ctr.columbia.edu!howland.reston.ans.net!wupost!decwrl!pa.dec.com!sousa.tay.dec.com!human.enet.dec.com!supnik Wed Jun 9 02:44:32 EDT 1993 Article: 285 of alt.sys.pdp8 Path: news.columbia.edu!sol.ctr.columbia.edu!howland.reston.ans.net!wupost!decwrl!pa.dec.com!sousa.tay.dec.com!human.enet.dec.com!supnik From: supnik@human.enet.dec.com (Bob Supnik) Newsgroups: alt.sys.pdp8 Subject: Re: Looking for info: PDP-8/e EAE Date: 8 Jun 1993 17:53:36 -0400 Organization: Digital Equipment Corporation Lines: 15 Sender: newsa@sousa.tay.dec.com Message-ID: <1v31p0$hkg@sousa.tay.dec.com> References: <1utkal$iee@sousa.tay.dec.com> <1993Jun7.134423.11086@news.columbia.edu> <1v0fsf$5la@sousa.tay.dec.com> <1993Jun8.021216.21434@news.columbia.edu> NNTP-Posting-Host: sousa.tay.dec.com In article <1993Jun8.021216.21434@news.columbia.edu>, lasner@watsun.cc.columbia.edu (Charles Lasner) writes... > [text deleted] >So, how soon after the Alpha -8 simulator is done do we see PDP-8 Zork? > >cjl I didn't know there WAS a PDP-8 version of ZORK. Seems like rather a lot of text strings to get into 4KW - 32KW of memory... :-) Seriously, I am looking for test programs, any kind. Bob Supnik >Supnik@human.enet.dec.com >All opinions expressed are those of a hardline microcoder >and do not reflect those of Digital Equipment Corporation From news.columbia.edu!watsun.cc.columbia.edu!lasner Wed Jun 9 02:47:23 EDT 1993 Article: 286 of alt.sys.pdp8 Newsgroups: alt.sys.pdp8 Path: news.columbia.edu!watsun.cc.columbia.edu!lasner From: lasner@watsun.cc.columbia.edu (Charles Lasner) Subject: Re: Looking for info: PDP-8/e EAE Message-ID: <1993Jun9.064704.14394@news.columbia.edu> Sender: usenet@news.columbia.edu (The Network News) Nntp-Posting-Host: watsun.cc.columbia.edu Reply-To: lasner@watsun.cc.columbia.edu (Charles Lasner) Organization: Columbia University References: <1v0fsf$5la@sousa.tay.dec.com> <1993Jun8.021216.21434@news.columbia.edu> <1v31p0$hkg@sousa.tay.dec.com> Date: Wed, 9 Jun 1993 06:47:04 GMT In article <1v31p0$hkg@sousa.tay.dec.com> supnik@human.enet.dec.com (Bob Supnik) writes: > >In article <1993Jun8.021216.21434@news.columbia.edu>, lasner@watsun.cc.columbia.edu (Charles Lasner) writes... >> [text deleted] >>So, how soon after the Alpha -8 simulator is done do we see PDP-8 Zork? >> >>cjl > >I didn't know there WAS a PDP-8 version of ZORK. Seems like rather a lot >of text strings to get into 4KW - 32KW of memory... :-) So who puts text data in memory? That's what disks are for! I would think that the code should fit easily. cj "You are in a maze of 12-bit computers, all alike" l From news.columbia.edu!sol.ctr.columbia.edu!math.ohio-state.edu!hobbes.physics.uiowa.edu!news.uiowa.edu!news Wed Jun 9 19:16:12 EDT 1993 Article: 287 of alt.sys.pdp8 Newsgroups: alt.sys.pdp8 Path: news.columbia.edu!sol.ctr.columbia.edu!math.ohio-state.edu!hobbes.physics.uiowa.edu!news.uiowa.edu!news From: jones@cs.uiowa.edu (Douglas W. Jones) Subject: PAL assembler in C? Sender: news@news.uiowa.edu (News) Message-ID: <1993Jun9.171440.27093@news.uiowa.edu> Date: Wed, 9 Jun 1993 17:14:40 GMT Nntp-Posting-Host: pyrite.cs.uiowa.edu Organization: University of Iowa, Iowa City, IA, USA Lines: 27 In order to simplify fooling with my -8, I cobbled together an approximation of the PAL assembler, written in C. My intended use for the thing is to use it to assemble diagnostic code snippets and then download them from my laptop to the -8, with the RIM loader on the receiving end of the download. By default, the assembler outputs in BIN format (untested), but it has a UNIX style -r command line switch to make it generate RIM format and a -d switch to make it dump the symbol table. If I can get source for the BIN loader over the net, of course, I'll download BIN into my 8 using RIM, then make more use of BIN format. If I can get source for the RX01 diagnostic programs, I'll assemble them and use them to test my RX01, then give up on using this toy assembler and use the real thing. My assembler provides at least partial support for the DECIMAL, OCTAL, ZBLOCK, PAGE, TEXT, EJECT and FIELD pseudo ops (EJECT just puts out ----), and it can handle [] and () notations for constants assembled onto page zero or the current page -- it even puts them in the same place DEC's assembler does for a few examples I tested. It hasn't been very well tested, I don't guarantee much in the way of compatability with DEC software, and in addition, I make all the other usual disclaimers, but if anyone wants it, they're welcome to it. Doug Jones jones@cs.uiowa.edu From news.columbia.edu!sol.ctr.columbia.edu!howland.reston.ans.net!ux1.cso.uiuc.edu!moe.ksu.ksu.edu!hobbes.physics.uiowa.edu!news.uiowa.edu!news Wed Jun 9 19:59:35 EDT 1993 Article: 288 of alt.sys.pdp8 Xref: news.columbia.edu alt.sys.pdp8:288 alt.answers:396 news.answers:9281 Newsgroups: alt.sys.pdp8,alt.answers,news.answers Path: news.columbia.edu!sol.ctr.columbia.edu!howland.reston.ans.net!ux1.cso.uiuc.edu!moe.ksu.ksu.edu!hobbes.physics.uiowa.edu!news.uiowa.edu!news From: jones@cs.uiowa.edu (Douglas W. Jones) Subject: PDP-8 Frequently Asked Questions (posted every other month) Summary: Answers to common questions about antique DEC PDP-8 computers. Those posting to alt.sys.pdp8 should read this. Sender: news@news.uiowa.edu (News) Message-ID: <1993Jun9.173754.27638@news.uiowa.edu> Approved: news-answers-request@MIT.Edu Date: Wed, 9 Jun 1993 17:37:54 GMT Expires: Sat, 8 Aug 1992 08:08:08 GMT Nntp-Posting-Host: pyrite.cs.uiowa.edu Organization: Computer Science, University of Iowa, Iowa City, Iowa, USA Keywords: FAQ DEC PDP 8 Followup-To: alt.sys.pdp8 Lines: 808 Archive-name: dec-faq/pdp8 Last-modified: May. 12, 1993 Frequently Asked Questions about the DEC PDP-8 computer. By Douglas Jones, jones@cs.uiowa.edu (with help from many folks) Contents What is a PDP? What is a PDP-8? What is the PDP-8 instruction set? What does PDP-8 assembly language look like? What different PDP-8 models were made? What about the LINC-8 and PDP-12? Where can I get a PDP-8 today? Where can I get PDP-8 documentation? What operating systems were written for the PDP-8? What programming languages were supported on the PDP-8? Where can I get PDP-8 software? Where can I get additional information? What use is a PDP-8 today? Who's Who? What is a PDP? For over a decade, all programmable digital computers sold by Digital Equipment Corporation were sold as Programmed Data Processors (PDPs) instead of computers. I have DEC documentation that actually calls them "PDPs", so this is not improper usage. DEC's first computer, the PDP-1, had a selling price of only $120,000 at a time when competing machines were selling for over $1,000,000. Everyone (the government and DEC's stockholders included) knew that computers were big and expensive and needed a computer center and a large staff; DEC chose to avoid dealing with these stereotypes by entirely avoiding the term "computer". DEC built a number of different computers under the PDP label, with a huge range of price and performance. The largest of these are fully worthy of large computer centers with big support staffs. Many early DEC computers were not really built by DEC. With the PDP-3 and LINC, for example, customers built the machines using DEC parts and facilities; the PDP-5 may also have been built on this basis. Here is the list of PDP computers: MODEL DATE PRICE BITS COMMENTS ===== ==== ======== ==== ===== PDP-1 1960 $120,000 18 DEC's first computer PDP-2 NA 24 Never built? PDP-3 36 One was built by a customer, not by DEC. PDP-4 1962 18 Predecessor of the PDP-7. PDP-5 1963 $27,000 12 The ancestor of the PDP-8. PDP-6 1964 36 A big computer; 23 built, most for MIT. PDP-7 1965 ~$60,000 18 Widely used for real-time control. PDP-8 1965 $18,500 12 The smallest and least expensive PDP. PDP-9 1966 $35,000 18 An upgrade of the PDP-7. PDP-10 1967 36 A PDP-6 successor, great for timesharing. PDP-11 1970 $10,800 16 DEC's first and only 16 bit computer. PDP-12 1969 $27,900 12 A PDP-8 relative. PDP-13 NA Bad luck, there was no such machine. PDP-14 A ROM-based programmable controller. PDP-15 1970 $16,500 18 A TTL upgrade of the PDP-9. PDP-16 1972 NA 8/16 A register-transfer module system. Corrections and additions to this list are welcome! The prices given above are the prices for minimal systems in the year the machine was first introduced. The bits column indicates the word size. It's worth noting that the DEC PDP-10 became the DECSYSTEM-20 as a result of marketing considerations, and DEC's VAX series of computers began as the Virtual Address eXtension of the never-produced PDP-11/78. It is worth mentioning that there are persistant rumors that the the Data General Nova was originally developed as the PDP-X, a 16-bit multi-register version of the PDP-8. A prototype PDP-X was apparently built at DEC before the design was rejected. This and a competing 16-bit design were apparently submitted to Harold McFarland at Carnegie-Mellon University for evaluation; McFarland (and possibly also Gordon Bell, who was at C-MU at the time) evaluated the competing designs and rejected both in favor of the design now known as the PDP-11. (A less common variant on this story is that the reason that DEC never produced a PDP-13 was because this number was assigned to what became the Nova; this is unlikely because the PDP-X prototype predated the PDP-11.) Both DEC and Data General don't talk publically about these stories. Today, all of the PDP machines are in DEC's corporate past, with the exception of the PDP-11 family of minicomputers and microprocessors. What is a PDP-8? The PDP-8 family of minicomputers were built by Digital Equipment corporation between 1965 and 1990 (if you include the PDP-5, the starting date should be 1963). These machines were characterized by a 12 bit word, with no hardware byte structure, a 4K minimum memory configuration, and a simple but powerful instruction set. By 1970, the PDP-8 was the best selling computer in the world, and many models of the PDP-8 set new records as the least expensive computer on the market. The PDP-8 has been described as the model-T of the computer industry because it was the first computer to be mass produced at a cost that just about anyone could afford. C. Gordon Bell (who later was chief architect of the PDP-11 and who, as Vice President, oversaw the development of the VAX) says that the basic idea of the PDP-8 was not really original with him. He gives credit to Seymour Cray (of CDC and later Cray) for the idea of a single-accumulator 12 bit minicomputer. Cray's CDC 160 family, sold starting around 1959, certainly was a very similar 12 bit architecture, and the peripheral processors of Cray's first supercomputer, the CDC 6600, are also familiar to PDP-8 programmers. Note that the CDC 160 and CDC 6600 peripheral processors had 6 basic addressing modes, with variable length instruction words and other features that were far from the simple elegance of the PDP-8. Despite its many modes, the CDC architecture lacked the notion of current page addressing, and the result is that for examples that don't involve indexing, PDP-8 code is frequently just as effective as the code on the more complex CDC 12-bit minicomputers. What is the PDP-8 instruction set? The PDP-8 word size is 12 bits, and the basic memory is 4K words. The minimal CPU contained the following registers: PC - the program counter, 12 bits. AC - the accumulator, 12 bits. L - the link, 1 bit, commonly prefixed to AC as . It is worth noting that many operations such as procedure linkage and indexing, which are usually thought of as involving registers, are done with memory on the PDP-8 family. Instruction words are organized as follows: _ _ _ _ _ _ _ _ _ _ _ _ |_|_|_|_|_|_|_|_|_|_|_|_| | | | | | | op |i|z| addr | op - the opcode. i - the indirect bit (0 = direct, 1 = indirect). z - the page bit (0 = page zero, 1 = current page). addr - the word in page. The top 5 bits of the 12 bit program counter give the current page, and memory addressing is also complicated by the fact that absolute memory locations 8 through 15 are incremented prior to use when used for indirect addressing. These locations are called the auto-index registers (despite the fact that they are in memory), and they allow the formulation of very tightly coded array operations. The basic instructions are: 000 - AND - and operand with AC. 001 - TAD - add operand to (a 13 bit value). 010 - ISZ - increment operand and skip if result is zero. 011 - DCA - deposit AC in memory and clear AC. 100 - JMS - jump to subroutine. 101 - JMP - jump. 110 - IOT - input/output transfer. 111 - OPR - microcoded operations. The ISZ and other skip instructions conditionally skip the next instruction in sequence. The ISZ is commonly used to increment a loop counter and skip if done, and it is also used as an general increment instruction, either followed by a no-op or in contexts where it is known that the result will never be zero. The subroutine calling sequence involves putting the return address in relative word zero of the subroutine, with execution starting with relative word one. Return from subroutine is done with an indirect jump through the return address. Subroutines frequently increment their return addresses to index through inline parameter lists or to provide return codes by conditionally skipping the next instruction. The IOT instruction has the following form: _ _ _ _ _ _ _ _ _ _ _ _ |1|1|0|_|_|_|_|_|_|t|c|s| | | | | | | device | op | The IOT instruction specifies one of up to 8 operations on one of 64 devices. Typically (but not universally), each bit of the op field evokes an operation as follows: If the s bit is set, the instruction causes a skip if the device is ready, if the c bit is set, the device ready status is reset and, for some devices, AC is also cleared, and if the t bit is set, data is either ored with AC or output from AC to the device. Prior to the PDP-8/E, there were severe restrictions on the interpretation of the t, c and s bits. IOT instructions may be used to initiate data break transfers from block devices such as disk or tape. The term "data break" was, for years, DEC's preferred term for cycle-stealing direct-memory- access data transfers. Some CPU functions are accessed only by IOT instructions. For example, interrupt enable and disable are IOT instructions, as are instructions controlling the optional memory management unit that is needed to address more than 4K words. A wide variety of operations are available through the OPR microcoded instructions: _ _ _ _ _ _ _ _ _ _ _ _ Group 1 |1|1|1|0|_|_|_|_|_|_|_|_| 1 - CLA - clear AC 1 - CLL - clear the L bit 1 - CMA - ones complement AC 1 - CML - complement L bit 1 - IAC - increment 1 0 0 - RAR - rotate right 0 1 0 - RAL - rotate left 1 0 1 - RTR - rotate right twice 0 1 1 - RTL - rotate left twice In general, the above operations can be combined by oring the bit patterns for the desired operations into a single instruction. If none of the bits are set, the result is the NOP instruction. When these operations are combined, they operate top to bottom in the order shown above. The exception to this is that IAC cannot be combined with the rotate operations on some models, and attempts to combine rotate operations have different effects from one model to another (for example, on the PDP-8/E, the rotate code 001 means swap 6 bit bytes in the accumulator, while previous models took this to mean something like "shift neither left nor right 2 bits"). _ _ _ _ _ _ _ _ _ _ _ _ Group 2 |1|1|1|1|_|_|_|_|_|_|_|0| 1 0 - SMA - skip on AC < 0 \ 1 0 - SZA - skip on AC = 0 > or 1 0 - SNL - skip on L /= 0 / 0 0 0 1 - SKP - skip unconditionally 1 1 - SPA - skip on AC >= 0 \ 1 1 - SNA - skip on AC /= 0 > and 1 1 - SZL - skip on L = 0 / 1 - CLA - clear AC 1 - OSR - or switches with AC 1 - HLT - halt The above operations may be combined by oring them together, except that there are two distinct incompatible groups of skip instructions. When combined, SMA, SZA and SNL, skip if one or the other of the indicated conditions are true, while SPA, SNA and SZL skip if all of the indicated conditions are true (logical and). When combined, these operate top to bottom in the order shown; thus, the accumulator may be tested and then cleared. Setting the halt bit in a skip instruction is a crude but useful way to set a breakpoint for front-panel debugging. If none of the bits are set, the result is an alternative form of no-op. A third group of operate microinstructions (with a 1 in the least significant bit) deals with the optional extended arithmetic element to allow such things as hardware multiply and divide, 24 bit shift operations, and normalize. These operations involve an additional data register, MQ or multiplier quotient, and a small step count register. On the PDP-8/E and successors, MQ and the instructions for loading and storing it were always present, even when the EAE was absent, and the EAE was extended to provide a useful variety of 24 bit arithmetic operations. What does PDP-8 assembly language look like? Here is an example: START, CLA CLL / Clear everything TAD X / Load X AND I Y / And with the value pointed to by Y DCA X / Store in X HLT / Halt X, 1 / A variable Y, 7 / A pointer Note that labels are terminated by a comma, and comments are separated from the code by a slash. There are no fixed fields or column restrictions. The "CLA CLL" instruction on the first line is an example of the microcoding of two of the Group 1 operate instructions. CLA alone has the code 7200 (octal), while CLL has the code 7100; combining these as "CLA CLL" produces 7300, the instruction to clear both AC and the link bit. As a general rule, except when memory reference instructions are involved, the assembler simply ors together the values of all blank separated fields between the label and comment. Indirection is indicated by the special symbol I in the operand field, as in the third line of the example. The typical PDP-8 assembler has no explicit notation to distinguish between page zero and current page addresses. Instead, the assembler is expected to note the page holding the operand and automatically generate the appropriate mode. If the operand is neither in the current page nor page zero, some assemblers will raise an error, others will automatically generate an indirect pointer to the off-page operand (This feature should be avoided!). Note, in the final two lines of the example, that there is no "define constant" pseudo-operation. Instead, where a constant is to be assembled into memory, the constant takes the place of the op-code field. The PDP-8 has no immediate addressing mode, but some assemblers provide an optional mechanism to allow the programmer to ignore this lack: TAD (3) / add 3, from memory on the current page. TAD [5] / add 5, from memory on page zero. JMP I (LAB) / jump indirect through the address of LAB. Assemblers that support this automatically fill the end of each page with constants defined in this way that have been accumulated during the assembly of that page. Arithmetic is allowed in operand fields and constant definitions, but expressions are evaluated in strict left-to-right order, as shown below: TAD X+1 / add the contents of the location after X. TAD (X-1) / add the address of the location before X. Other operators allowed included and (&), or (!), multiply (^) and divide (%), as well as a unary sign (+ or -). Unfortunately, one of the most widely used assemblers, PAL 8, has trouble when unary operators are mixed with multiplication or division. Generally, identifiers are not limited in length, but only the first 6 characters are significant. All numeric constants are in octal, unless a DECIMAL pseudo-op has been used to change number base (change back with the OCTAL pseudo-op). Other assembly language features are illustrated below: / Comments may stand on lines by themselves / Blank lines are allowed *200 / Set the assembly origin to 200 (octal) NL0002= CLA CLL CML RTL / Define new opcode NL0002. NL0002 / Use new opcode (load 0002 in AC) JMP .-1 / Jump to the previous instruction X1= 10 / Define X1 (an auto-index register address) TAD I X1 / Use autoindex register 1 IAC; RAL / Multiple instructions on one line $ / End of assembly The assembly file ends with a line containing a $ (dollar sign) not in a comment field. What different PDP-8 models were made? The total sales figure for the PDP-8 family is estimated at over 300,000 machines. Over 8500 of these were sold prior to 1970. During the PDP-8 production run, a number of models were made, as listed in the following table. Of these, the PDP-8/E is generally considered to be the definitive machine. If the PDP-8 is considered to be the Model T of the computer industry, perhaps the PDP-8/E should be considered to be the industry's Model A. MODEL DATES SALES COST TECHNOLOGY REMARKS PDP-5 63-65 Transistor Limited compatibility PDP-8 65-68 >1000 $18,500 Transistor Table-top or rack LINC-8 66-69 153 $38,500 Transistor Rack only PDP-8/S 66-70? >1000? $10,000 Transistor Incompatable, slow! PDP-8/I 68-70? >2000? $12,800 TTL Pedistal or rack PDP-8/L 68-70? >2000? $8,500 TTL Scaled down 8/I (1) PDP-12 69-71 3500 $27,900 TTL Followup to LINC-8 PDP-8/E 70-78 >10K? $7,390 TTL MSI Omnibus Table-top or rack PDP-8/F 72-78? >10K? <$7K TTL MSI Omnibus Based on 8/E CPU PDP-8/M 72-78? >10K? <$7K TTL MSI Omnibus OEM version of 8/F PDP-8/A 75-84? >10K? <$7K TTL LSI Omnibus New CPU or 8/E CPU VT78 (2)78-80 > ? Microprocessor Intersil IM6100 Dm I (3)80-84 Microprocessor Harris 6120 Dm II 82-86 $1,435 Microprocessor Harris 6120 Dm III 84-90 $2,695 Microprocessor Dm III+ 85-90 Microprocessor Notes (1) Memory upgrade to 32K words was eventually sold. (2) The VT78 was also known as the DECstation 78. (3) Dm stands for DECmate. When possible, the costs given in the above table are for a minimal system in the first year of production; for most PDP-8 systems, such a system would have 4K of main memory, a console teletype, and the minimal software needed to use the machine (FOCAL, BASIC, or a paper-tape based assembler). Additional information on costs and production is needed! The above list does not include many PDP-8 variants sold by DEC to meet the needs of various special users. For example, the Industrial-8 was really just a PDP-8/E with a different nameplate and color scheme. Burger King had thousands of PDP-8/M based point-of-sale systems with no standard peripherals. In addition, DEC made many peripheral controllers for the PDP-11 and PDP-15 that used IM6100 and 6120 microprocessors from Intersil and Harris. The last years of the PDP-8 family were dominated by the DECmate machines. DEC sold these primarily as word processing systems, and in the end, they chose to obscure the ability of the DECmate systems to run any software other than WPS, DEC's word processing system. The following PDP-8 compatible or semi-compatible machines were made and sold by others; very little is known about many of these: MODEL DATE MAKER, NOTES MP-12 6? Fabritek TPA 68? Hungarian, possibly a DEC PDP-8/L in drag DCC-112 70-71 Digital Computer Controls DCC-112H 71 Digital Computer Controls 6100 Sampler 7? Intersil, their IM6100 promotional kit Intercept 7? Intersil, based on IM6100 Intercept Jr 7? Intersil, based on IM6100 PCM-12 7? Pacific CyberMetrix, based on Intercept bus SBC-8 84-88 CESI, Based on IM6120, SCSI bus What about the LINC/8 and PDP-12? Wesley Clark, then at Lincoln Labs, developed the LINC, or Laboratory INstrumentation Computer, as a personal laboratory computer in the early 1960's. He developed it in response to the needs of Mary Brazier, a neurophysiologist at MIT who needed better laboratory tools. When Lincoln Labs decided that the LINC did not fit their mission, a group at the the National Institute of Health funded an experiment to see if the LINC would be a productive tool in the life sciences. As a result of this project, 12 LINCs were built and debugged, each by its eventual user. The LINC was built using DEC's first family of logic modules, and along with the CDC 160, it paved the way for the PDP-5 and PDP-8. When compared with the PDP-8, the LINC instruction set was not as well suited for general purpose computation, but the common peripherals needed for lab work such as analog to digital and digital to analog converters were all bundled into the LINC system. Users judged it to be a superb laboratory instrument. One of the major innovations introduced with the LINC was the LINCtape. These tapes could be carelessly pocketed or dropped on the floor without fear of data loss, and they allowed random access to data blocks. DEC improved on this idea slightly to make their DECtape format, and DECtape was widely used with all DEC computers made in the late 1960's and early 1970's. Within a year of the introduction of the PDP-8, DEC released the LINC-8, a machine that combined a PDP-8 with a LINC in one package. This was not a general purpose dual processor, in the sense of allowing both machines to execute in parallel, but rather, a machine with the hardware of both but restrictions that effectively prevented more than one from running at a time. The sales success of the LINC-8 led DEC to re-engineer the machine using TTL logic in the late 1960's; the new version was originally developed as the LINC-8/I, but it was sold as the PDP-12; thousands were sold. Both the LINC-8 and the PDP-12 had impressive consoles, with full sets of lights and switches for the registers of each processor. These machines could run essentially any PDP-8 or LINC software, but because they included instructions for switching between modes, a third body of software was developed that required both instruction sets. One feature of LINC and LINC-8 software is the common use of the graphic display for input-output. These machines were some of the first to include such a display as a standard component, and many programs used the knobs on the analog to digital converter to move a cursor on the display in the way we now use a mouse. LAP, the Linc Assembly Program, was the dominant assembler used on the LINC. WISAL (WISconson Assembly Language) or LAP6-W was the version of this assembler that survived to run on the PDP-12. Curiously, this includes a PDP-8 assembler written in LINC code. LAP-6 DIAL (Display Interactive Assembly Language) evolved from this on the PDP-12 to became the dominant operating system for the PDP-12. The 8K version of this is DIAL MS (Mass Storage), even if it has only two LINCtape drives. These were eventually displaced by the OS/8 variant known as OS/12. Where can I get a PDP-8 today? The CESI machine may still be on the market, for a high price, but generally, you can't buy a new PDP-8 anymore. There are quite a few PDP-8 machines to be found in odd places on the used equipment market. They were widely incorporated into products such as computer controlled machine tools, X-ray diffraction machines, and other industrial and lab equipment. Many of them were sold under the EduSystem marketing program to public schools and universities, and others were used to control laboratory instrumentation. Reuters bought the tail end of the Omnibus based production run. If you can't get real hardware, you can get emulators. Over the years, many PDP-8 emulators have been written; the best of these are indistinguishable from the real machine from a software prespective, and on a modern high-speed RISC platform, these frequently outperform the hardware they are emulating. It is worth noting that the PDP-8, when it was introduced in 1965, was about as fast as was practical with the logic technology used at the time; only by using tricks like memory interleaving or pipelining could the machine have been made much faster. Finally, you can always build your own. The textbook "The Art of Digital Design," second edition, by Franklin Prosser and David Winkel (Prentice-Hall, 1987, ISBN 0-13-046780-4) uses the design of a PDP-8 as a running example. Many students who have used this book were required to build working PDP-8 systems as lab projects. Where can I get PDP-8 documentation? The 1973 Introduction to Programming was probably DEC's definitive manual for this family, but it is out of print, and DEC was in the habit of printing much of their documentation on newsprint with paperback bindings, which is to say, surviving copies tend to be yellow and brittle. DEC distributed huge numbers of catalogs and programming handbooks in this inexpensive paperback format, and these circulate widely on the second-hand market. When research laboratories and electronics shops are being cleaned out, it is still common to find a few dusty, yellowed copies of these books being thrown in the trash. Maintenance manuals are harder to find, but more valuable. Generally, you'll need to find someone who's willing to photocopy one of the few surviving copies. Fortunately, DEC has been friendly to collectors, granting fairly broad letters of permission to reprint obsolete documentation, and the network makes if fairly easy to find someone who has the documentation you need and can get copies. What operating systems were written for the PDP-8? A punched paper-tape library of stand-alone programs was commonly used with the smallest (diskless and tapeless) configurations from the beginning up through the mid 1970's. Many paper tapes from this library survive to the present at various sites! The minimum configuration expected by these tapes is a CPU with 4K memory, and a teletype ASR 33 with paper tape reader and punch. The DECtape Library System was an early DECtape oriented save and restore system that allowed a reel of tape to hold a directory of named files that could be loaded and run on a 4K system. Eventually, this supported a very limited tape-based text editor for on-line program development. This did not use the DECtape's block addressable character; the software was based on minimal ports of the paper-tape based software described above. The 4K Disk Monitor System provided slightly better facilities. This supported on-line program development and it worked with any device that supported 129 word blocks (DECtape, the DF32 disk, or the RF08 disk). MS/8 or the R-L Monitor System, developed starting in 1966 and submitted to DECUS in 1970. This was a disk oriented system, faster than the above, with tricks to make it run quickly on DECtape based systems. POLY BASIC, a BASIC only system submitted to DECUS and later sold by DEC as part of its EduSystem marketing program. P?S/8, developed starting in 1971 from an MS/8 foundation. Runs on minimal PDP-8 configurations, supports device semi-independant I/O and a file system on a random-access device, including DECtape. P?S/8 runs compatably on most PDP-8 machines including DECmates, excepting only the PDP-8/S and PDP-5. P?S/8 is still being developed! OS/8, developed in parallel with P?S/8, became the main PDP-8 programming environment sold by DEC. The minimum configuration required was 8K words and a random-access device to hold the system. For some devices, OS/8 requires 12K. There are a large number of OS/8 versions that are not quite portable across various subsets of the PDP-8 family. OS8 (no slash) may still be viable. It requires 8K of main memory, an extended arithmetic unit, and DECtape hardware. Unlike most PDP-8 operating systems, it uses a directory structure on DECtape compatable with that used on the PDP-10. TSS/8 was developed in 1968 as a timesharing system. It required a minimum of 12K words of memory and a swapping device. It was the standard operating system on the EduSystem 50 which was sold to many small colleges and large public school systems. Each user gets a virtual 4K PDP-8; many of the utilities users ran on these virtual machines were only slightly modified versions of utilities from the Disk Monitor System or paper-tape environments. Other timesharing systems developed for the PDP-8 include MULTI-8, ETOS, MULTOS, and OMNI-8; some of these required nonstandard memory management hardware. By the mid 1970's, some of these were true virtual machine operating systems in the same spirit as IBM's VM-370; they could support some version of OS/8 running on a 32K virtual PDP-8 assigned to each user. Some could support different user operating systems on each virtual machine, others required OS/8 as the user system and only allowed code to execute from virtual field zero of a process's virtual memory. CAPS-8 was a cassette based operating system supporting PAL and BASIC. There are OS/8 utilities to manipulate CAPS-8 cassettes, and the file format on cassette is compatible with a PDP-11 based system called CAPS-11. WPS was DEC's word processing system that was widely used on the 1980's vintage machines with a special WPS keycaps replacing the standard keycaps on the keyboard. This was written in the 1970's, and was the primary system used on the DECmate systems. COS-310, DEC's commercial operating system for the PDP-8, supported the DIBOL language. COS-310 was a derivative of MS/8 and OS/8, but with a new text file format. The file system is OS/8 compatable, and a few applications can run under either COS or OS/8. What programming languages are supported on the PDP-8 The PAL family of assembly languages are as close to a standard assembly language as can be found for the PDP-8. These produce absolute object code and versions of PAL will run on minimally configured machines (but with a small symbol table). Assembly of large programs frequently requires far more memory for symbol table management. MACRO-8 was DEC's first macro assembly language for the PDP-8, but it was never used outside the paper-tape environment except under the OS8 operating system. MACREL and SABR are assembly languages that produce relocatable output. SABR is the final pass for the ALICS II FORTRAN compiler, and MACREL was developed in (unfulfilled) anticipation of similar use. MACREL was heavily used by the DECmate group at DEC. There was also RALF, the relocatable assembler supporting RTPS FORTRAN, and FLAP, an absolute assembler derived from RALF. Both SABR and RALF/FALP are assemblers that handle their intended applications but have quirky and incompatible syntax. A subset of FORTRAN was supported on both the PDP-5 and the original PDP-8. Surviving documentation describes a DEC compiler from 1964 and a compiler written by Information Control Systems from 1968. The latter, ALICS II FORTRAN, was originally a paper tape based compiler, but it forms the basis of the OS/8 8K FORTRAN compiler, and was also adapted to the Disk Monitor System. RTPS FORTRAN required 8K and a floating point processor; it had real-time extensions and was a full implementation of FORTRAN IV (also known as ANSI FORTRAN 66). OS/8 F4 is RTPS FORTRAN stripped of the requirement for hardware floating point (if the hardware is missing, it uses software emulation). FOCAL, an interpretive language comparable to BASIC was available on all models of the family, including the PDP-5 and PDP-8/S. Varsions of FOCAL run under PS/8, P?S/8 and other systems. BASIC was also available, and was widely used on PDP-8 systems sold under the EduSystem marketing program. A paper-tape version was available that ran in 4K, there were versions that ran under OS/8 and TSS/8, there was an 8K stand-alone time-sharing version, and there were many others. DIBOL was DEC's attempt at competing with COBOL in the commercial arena. It was originally implemented under MS/8 but most versions were sold to run under the COS operating system. Algol was available from a fairly early date. At least two Pascal compilers were developed for the PDP-8. One was a Pascal-S interpreter, written in assembler, the other was a Pascal-P compiler with a P-code interpreter written in assembler. At least two LISP interpreters were written for the PDP-8; one runs in 4K, the other can use up to 16K. TECO, the text editor, is available, and is also a general purpose language, and someone is working on a PDP-8 C. The story of TECO on the PDP-8 is convoluted. Russ Ham implemented TECO under his OS8 (without a slash) system. This version of TECO was pirated by the Oregon Museum of Science and Industry (OMSI), where the system was ported to PS/8. Richard Lary and Stan Rabinowitz made it more compatible with other versions of TECO, and the result of work is the version distributed by DECUS. RT-11 TECO for the PDP-11 is a port of this code. Where can I get PDP-8 software? DECUS, the DEC User Society, is still alive and well, and their submission form still lists PAL-8 and FOCAL as languages in which they accept submissions! The DECUS library is available on-line by anonymous FTP at acfcluster.nyu.edu in subdirectory DECUS. To quote the README file from the current on-line catalog, "Items from older DECUS Library catalogs are still also available (provided their media can still be read), but machine readable catalog information is not available for these." Direct questions by E-mail to INFORMATION@DECUS.ORG. There is a young but growing FTPable archive of PDP-8 software at ftp.telebit.com in directory /pub/pdp8. Another archive that contains considerable PDP-8 related material, along with material related to other DEC computers, is at sunsite.unc.edu in directory /pub/academic/computer-science/history/. Where can I get additional information? The file WHAT-IS-A-PDP8, by Charles Lasner contains considerable additional information; this file is included in the FTPable archive cited above. This file gives details of every model of the PDP-8, including the small quirks and incompatabilities that (to be generous) allow software to determine which model it is running on. These quirks also make it all too easy for careless programmers to write almost portable software with very obscure bugs. The mailing list pdp8-lovers@ai.mit.edu reaches a number of PDP-8 owners and users, not all of whom have USENET feeds. The USENET newsgroup alt.sys.pdp8 is fairly new, but someday, the newsgroup and mailing list should be gatewayed to each other. Many "archival" books have included fairly complete descriptions of the PDP-8; among them, "Computer Architecture, Readings and Examples" by Gordon Bell and Allen Newell is among the most complete (and difficult to read). Considering Bell's role in the design of the PDP-8 and the history of DEC, the description in this book should be accurate! What use is a PDP-8 today? What use is a Model T today? Collectors of both come in the same basic classes. First, there are antiquarians who keep an old one in the garage, polished and restored to new condition but hardly ever used. Once a year, they warm it up and use it, just to prove that it still works, but they don't have much practical use. PDP-8 systems maintained by antiquarians are frequently in beautiful shape. Antiquarians worry about dust, chipped paint, and missing switches, and they establish newsgroups and mailing lists to help them locate parts and the advice needed to fix their machines. In the second class are those who find old machines and soup them up, replacing major parts to make a hotrod that only looks like the original from the outside, or keeping the old mechanism and putting it to uses that were never intended. Some PDP-8 owners, for example, are building PDP-8 systems with modern SCSI disk interfaces! There is serious interest in some quarters in constructing an omnibus board that would support an IDE disk of the variety that was mass-produced for the IBM PC/AT. Last, there are the old folks who still use their old machines for their intended purposes long after any sane economic analysis would recommend such use. If it ain't broke, don't fix it, and if it can be fixed, why bother replacing it? Both Model T Fords and the classic PDP-8 machines are simple enough that end users can maintain and repair them indefinitely. All you need to keep a vintage -8 running are a stock of inexpensive silicon diodes and a stock of 2N3639B or better, 2N3640 transistors. Unlike most modern personal computers, PDP-8 systems were routinely sold with complete maintenance manuals; these included schematic diagrams, explanations of not only how to use the devices, but how they are built, and suggestions to those considering building their own peripherals. Compared with many so-called "open systems" of today, the PDP-8 seems to have been far better documented and far more open. Finally, the PDP-8 is such a minimal machine that it is an excellent introduction to how computers really work. Over the years, many students have built complete working PDP-8 systems from scratch as lab projects, and the I/O environment on a PDP-8 is simple enough that it is a very appropriate environment for learning operating system programming techniques. Who's Who? C. Gordon Bell is generally credited with the original design of the PDP-8. He also recommended what became the PDP-11 when that design was competing with the design that probably became the NOVA, and as vice president of research, he oversaw the development of the DEC VAX family. Ben Gurley designed most of the big DEC machines, starting with the PDP-1. Ken Olson ran DEC from the beginning. Wesley Clark developed the LINC while working at Lincoln Labs; this was the first 12 bit minicomputer built with DEC parts. From news.columbia.edu!sol.ctr.columbia.edu!math.ohio-state.edu!hobbes.physics.uiowa.edu!news.uiowa.edu!news Wed Jun 9 20:00:26 EDT 1993 Article: 289 of alt.sys.pdp8 Newsgroups: alt.sys.pdp8 Path: news.columbia.edu!sol.ctr.columbia.edu!math.ohio-state.edu!hobbes.physics.uiowa.edu!news.uiowa.edu!news From: jones@cs.uiowa.edu (Douglas W. Jones) Subject: Self starting PAL loader? Sender: news@news.uiowa.edu (News) Message-ID: <1993Jun9.173227.27458@news.uiowa.edu> Date: Wed, 9 Jun 1993 17:32:27 GMT Nntp-Posting-Host: pyrite.cs.uiowa.edu Organization: University of Iowa, Iowa City, IA, USA Lines: 32 Does anyone ever do this routinely with code intended to be loaded by the RIM loader? ----- begin example code ----- *20 TOPAD, TOP ... ... / other page zero stuff ... PAGE TOP, CLA / the following code fixes the damage to RIM TAD (5356) DCA I (7775) ... ... / your program here ... JMP I (7756) / exit to RIM when done *7775 / patch the RIM loader to start this program JMP I TOPAD $ ----- end example code ----- This kind of trick works fine with the standard RIM (no matter what asynch or paper-tape-like device is used), and it saves playing with the toggle switches so long as your program is bug-free. Doug Jones jones@cs.uiowa.edu From news.columbia.edu!sol.ctr.columbia.edu!howland.reston.ans.net!ux1.cso.uiuc.edu!moe.ksu.ksu.edu!hobbes.physics.uiowa.edu!news.uiowa.edu!news Wed Jun 9 20:09:41 EDT 1993 Article: 290 of alt.sys.pdp8 Xref: news.columbia.edu alt.sys.pdp8:290 comp.sys.dec.micro:2251 comp.sys.dec:14654 Newsgroups: alt.sys.pdp8,comp.sys.dec.micro,comp.sys.dec Path: news.columbia.edu!sol.ctr.columbia.edu!howland.reston.ans.net!ux1.cso.uiuc.edu!moe.ksu.ksu.edu!hobbes.physics.uiowa.edu!news.uiowa.edu!news From: jones@cs.uiowa.edu (Douglas W. Jones) Subject: Cost of DECmate? Sender: news@news.uiowa.edu (News) Message-ID: <1993Jun9.210043.1941@news.uiowa.edu> Date: Wed, 9 Jun 1993 21:00:43 GMT Nntp-Posting-Host: pyrite.cs.uiowa.edu Organization: University of Iowa, Iowa City, IA, USA Lines: 21 If anyone can remember what they paid for their VT78 or DECmate system, I'd greatly appreciate it. Ideally, I'm after the list price of a minimum configuration in the year the system hit the market, so if I can get it, I'll take VT78 list price in 1978 DecMate I price in 1980 DecMate III+ in 1985 (I have prices for the DecMate II and III, but if I can get additional data points, it would be helpful). Also, any estimates of the number of each kind of DECmate systems sold would be a great help! Reply by E-mail, please. If you're curious, I'm after this information in an attempt to fill in holes in the alt.sys.pdp8 faq. Doug Jones jones@cs.uiowa.edu From news.columbia.edu!watsun.cc.columbia.edu!lasner Wed Jun 9 20:09:49 EDT 1993 Article: 291 of alt.sys.pdp8 Newsgroups: alt.sys.pdp8 Path: news.columbia.edu!watsun.cc.columbia.edu!lasner From: lasner@watsun.cc.columbia.edu (Charles Lasner) Subject: Re: PAL assembler in C? Message-ID: <1993Jun9.235854.14157@news.columbia.edu> Sender: usenet@news.columbia.edu (The Network News) Nntp-Posting-Host: watsun.cc.columbia.edu Reply-To: lasner@watsun.cc.columbia.edu (Charles Lasner) Organization: Columbia University References: <1993Jun9.171440.27093@news.uiowa.edu> Date: Wed, 9 Jun 1993 23:58:54 GMT In article <1993Jun9.171440.27093@news.uiowa.edu> jones@cs.uiowa.edu (Douglas W. Jones) writes: >In order to simplify fooling with my -8, I cobbled together an approximation >of the PAL assembler, written in C. My intended use for the thing is to use >it to assemble diagnostic code snippets and then download them from my laptop >to the -8, with the RIM loader on the receiving end of the download. For some people, it would be nice to have a truly compatible assembler. I can provide some of the compatibility points on the "sticky" issues. Note that if a complete -8 emulator is used, then the *real* -8 assemblers themselves can be used which avoids the problem. Note that an MS-DOS file or any other byte-stream file can represent either BIN or RIM files currently. Assuming a serial connection between the -8 (whether simulated or not) and a PC, you can send the contents down the serial line at a RIM or BIN loader as required, etc. This format file can be derived from OS/8 binary format using the PDP-8 ENBOO/DEBOO programs I wrote that are distributed with Kermit-12, etc. On the PC side, run the MSBPCT (MSBMKB to go the other way) utility to recover this format, which is good for any of the 8-bit-representable OS/8 formats, including BIN and ASCII including TECO macroes, etc. PDP-8 assemblers do not output RIM format per se (except for P?S/8 which has an explicit RIM format option switch). However, it is possible to output a file that can be loaded as both RIM *and* BIN. This convention has been used in some DEC programs such as the self-starting binary loader (a slightly buggy program itself, but the format is what's interesting), etc. Consider a short program: *200 CLA TAD L3 HLT L3, 3 If changes are made to the file, it can be both RIM and BIN compatible: *200 CLA *. TAD L3 *. HLT *. L3, 3 *. This outputs the requisite origin settings for RIM's benefit, and also outputs the checksum at the end for BIN's benefit. The reason for the trailing "extra" origin setting is to prevent the last program word from being destroyed. Note that this last origin must be to an innocuous memory location into which the checksum data will be loaded when using RIM! (Thus, the last origin shouldn't be to something like 7756 assuming the program is loading just in front of the RIM loader, etc. Use some other origin such as 0010, etc.) I will dig up the sources to the space-optimized P?S/8 BIN loader which is totally DEC compatible save one unimportant feature: The "real" BIN loader reads the console switch register[0] to dynamically determine whether to use the low or high-speed reader. In theory this means that you could switch devices in the midst of a multi-tape read. This is of no importance to a loader that in turn is loaded from a disk/tape-based O/S! Note also that the RIM loader already has this restriction, i.e., there are actually two RIM loaders, one for low and one for high-speed. So, the P?S/8 version must already be assembled for either reader, but not both. In the actual load by P?S/8, the user passes option switches to the overall utility that are used to patch together the appropriate BIN and RIM device codes since the instructions, while not identical, take up the same exact code length and absolute addresses, etc. [Note: I will have to provide enough equates to make this code assemble without being imbedded within the larger space of the overall system program. This is merely a code fragment that is assembled with relocation and is meant to be "massaged" and patched and ultimately be placed into memory by the utility itself, and not necessarily (at all times) at the intended addresses. This is a common technique used in writing utilities of this type, especially since the usage of BIN and RIM "displaces" the O/S itself. Once BIN and/or RIM are in control of the machine, P?S/8 is no longer in memory. Restarting the machine at 07600 executes a device-dependent warm boot routine that reloads P?S/8 from the device the BIN and RIM loaders were residing on in the first place, etc., but literally no other aspect of P?S/8 is left in memory at the point that BIN and RIM are loaded. During the time that BIN or RIM is in control, all locations can be freely loaded except the locations where BIN and RIM are, and also 07600-07642 if it is desired to have the ability to reload P?S/8 merely by restarting at 07600. BIN and RIM occupy 07643-07777 which is somewhat smaller than the original DEC BIN and RIM loaders. (Actually RIM for P?S/8 is 100% identical to DEC's BIN; the differences are purely in the BIN code. RIM occupies 07756-07776; 07777 is reserved as a JMP instruction to where the normal restart address of BIN actually is, so that it's unnecessary to know the starting address other than 07777, etc. Also, the variable locations within RIM are used by BIN, so while it is correct to say that RIM occupies 07756-07776, it must be said that BIN occupies all of 07643-07777 which includes RIM.) Certain DEC diagnostics are known to destroy locations such as 07615-07617. The P?S/8 version of BIN is more than compatible with this convention, however the P?S/8 reload function will be destroyed by loading such code; only complete manual restart can get P?S/8 back up. (Perhaps using a P?S/8 bootstrap in BIN or RIM format!)] cjl From news.columbia.edu!watsun.cc.columbia.edu!lasner Wed Jun 9 20:09:57 EDT 1993 Article: 292 of alt.sys.pdp8 Newsgroups: alt.sys.pdp8 Path: news.columbia.edu!watsun.cc.columbia.edu!lasner From: lasner@watsun.cc.columbia.edu (Charles Lasner) Subject: Re: Self starting PAL loader? Message-ID: <1993Jun10.000911.14727@news.columbia.edu> Sender: usenet@news.columbia.edu (The Network News) Nntp-Posting-Host: watsun.cc.columbia.edu Reply-To: lasner@watsun.cc.columbia.edu (Charles Lasner) Organization: Columbia University References: <1993Jun9.173227.27458@news.uiowa.edu> Date: Thu, 10 Jun 1993 00:09:11 GMT In article <1993Jun9.173227.27458@news.uiowa.edu> jones@cs.uiowa.edu (Douglas W. Jones) writes: >Does anyone ever do this routinely with code intended to be loaded by >the RIM loader? [code deleted] > >This kind of trick works fine with the standard RIM (no matter what >asynch or paper-tape-like device is used), and it saves playing with >the toggle switches so long as your program is bug-free. Yes, this kind of thing is used by such as 8K BASIC and LAB-8/E BASIC. But they do a more "dangerous" patch: They patch the loader to come back to them after the load is over, then look at the checksum. If it's OK, they start up, else restart the loader displaying the checksum error at the HLT. The problem is of course, what if the load itself is so far off that this code never regains control? The self-starting binary loader was invented to handle this situation. You end the file with an origin setting which becomes the starting address. This is the only loader that obeys that convention, and it's so sloppily written that it can't easily be modified, already takes up too much space (meaning requires instructions and/or data in places where some programs would load over, etc.), and has a genuine bug: If you use extended memory in your binary file, the last word before the field-change will erroneously be loaded into the new field following, not the intended old field! The workaround is to always end one field of code with a dummy origin setting which will setup a "sacrificial" loading into the wrong field, but won't actually load any incorrect data, etc. Not every program is meant to be used with the self-starting binary loader, or even the trick Doug mentions, or even the 8K BASIC hack. The program must have intimate knowledge of the intended loader before attempting this trick. If the RIM loader is definitely what's being used, Doug's trick is totally valid as he claims. But if BIN is used instead, then his trick merely destroys the in-memory RIM loader, or worse, it destroys the corresponding location within the P?S/8 loader possibly! cjl From news.columbia.edu!sol.ctr.columbia.edu!news.kei.com!ssd.intel.com!prp Thu Jun 10 22:50:47 EDT 1993 Article: 293 of alt.sys.pdp8 Newsgroups: alt.sys.pdp8 Path: news.columbia.edu!sol.ctr.columbia.edu!news.kei.com!ssd.intel.com!prp From: prp@ssd.intel.com (Paul Pierce) Subject: Re: Looking for info: PDP-8/e EAE Message-ID: Sender: usenet@SSD.intel.com Nntp-Posting-Host: ernie Organization: Intel References: <1utkal$iee@sousa.tay.dec.com> <1993Jun7.134423.11086@news.columbia.edu> <1v0fsf$5la@sousa.tay.dec.com> <1993Jun8.021216.21434@news.columbia.edu> <1v31p0$hkg@sousa.tay.dec.com> Date: Thu, 10 Jun 1993 23:18:21 GMT Lines: 9 In article <1v31p0$hkg@sousa.tay.dec.com>, supnik@human.enet.dec.com (Bob Supnik) writes: |> Seriously, I am looking for test programs, any kind. What about running the DEC diagnostics? -- Paul Pierce prp@ssd.intel.com Intel From news.columbia.edu!sol.ctr.columbia.edu!math.ohio-state.edu!hobbes.physics.uiowa.edu!news.uiowa.edu!news Wed Jun 16 16:10:06 EDT 1993 Article: 294 of alt.sys.pdp8 Newsgroups: alt.sys.pdp8 Path: news.columbia.edu!sol.ctr.columbia.edu!math.ohio-state.edu!hobbes.physics.uiowa.edu!news.uiowa.edu!news From: jones@pyrite (Douglas W. Jones,201H MLH,3193350740,3193382879) Subject: Re: DecMate II for sale Sender: news@news.uiowa.edu (News) Message-ID: <1993Jun16.183254.25169@news.uiowa.edu> Date: Wed, 16 Jun 1993 18:32:54 GMT References: <1993Jun16.163042.5587@mlb.semi.harris.com> Nntp-Posting-Host: pyrite.cs.uiowa.edu Organization: University of Iowa, Iowa City, IA, USA Lines: 16 I'm reposting this from comp.sys.dec.micro Don't reply to me! Reply to Ralph Spangler! >From article <1993Jun16.163042.5587@mlb.semi.harris.com>, by rspangle@ZOO.ess.harris.com (Ralph Spangler): ) For sale ) ) 1 DecMate II with Z80 APU card ) Dual floppies, VR201 monitor, WP keyboard ) a few disks, including OS278 and CPM ) ) Price is $300 including shipping or $200 if you pay for shipping. ) ) Would like it gone by June 30, 1993. ) ) Reply if serious, to rspangle@su19bb.ess.harris.com From news.columbia.edu!sol.ctr.columbia.edu!math.ohio-state.edu!hobbes.physics.uiowa.edu!news.uiowa.edu!news Thu Jun 17 14:51:43 EDT 1993 Article: 295 of alt.sys.pdp8 Newsgroups: alt.sys.pdp8 Path: news.columbia.edu!sol.ctr.columbia.edu!math.ohio-state.edu!hobbes.physics.uiowa.edu!news.uiowa.edu!news From: jones@cs.uiowa.edu (Douglas W. Jones) Subject: PDP-8/E available in Cleveland Sender: news@news.uiowa.edu (News) Message-ID: <1993Jun17.140041.4425@news.uiowa.edu> Date: Thu, 17 Jun 1993 14:00:41 GMT Nntp-Posting-Host: pyrite.cs.uiowa.edu Organization: University of Iowa, Iowa City, IA, USA Lines: 22 I got the following E-mail that I'm reposting to the net because I have no need to run off to Cleveland for another 8/E or two. Please reply to George Roettger, not to me. ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- To: jones@herky.cs.uiowa.edu Subject: PDP-8 From: george.roettger@pcohio.com (George Roettger) Organization: PC-OHIO PCBOARD - Cleveland, OH - 216-381-3320 Dear Mr. Jones, I read a file about PDP-8's that you posted which included a section about where to find them. I have (2)PDP-8e's along with with a rack and (3) Decpak RK05 and boxes of boards for the above. I paid $200.00 for the lot from SUN Newspapers and would be willing to sell them for that amount to a good home. If you know of someone who would be interested please give them my number. George Roettger (216) 632-5382 Internet:george.roettger@pcohio.com From news.columbia.edu!sol.ctr.columbia.edu!howland.reston.ans.net!math.ohio-state.edu!uwm.edu!caen!batcomputer!munnari.oz.au!ariel.ucs.unimelb.EDU.AU!ucsvc.ucs.unimelb.edu.au!decus!geremin Thu Jun 17 17:18:51 EDT 1993 Article: 296 of alt.sys.pdp8 Xref: news.columbia.edu comp.org.decus:2242 vmsnet.pdp-11:1153 alt.sys.pdp8:296 Path: news.columbia.edu!sol.ctr.columbia.edu!howland.reston.ans.net!math.ohio-state.edu!uwm.edu!caen!batcomputer!munnari.oz.au!ariel.ucs.unimelb.EDU.AU!ucsvc.ucs.unimelb.edu.au!decus!geremin Newsgroups: decus.nop,decus.general,comp.org.decus,vmsnet.pdp-11,alt.sys.pdp8 Subject: June meeting of NOP SIG in OZ. Message-ID: <1993Jun17.231528.14601@decus.com.au> From: geremin@decus.com.au Date: 17 Jun 93 23:15:28 AEST Organization: DECUS, South Pacific Chapter Lines: 38 Hello Folks, NOP SIG Meeting for June, 1993. ____________________________________ Sorry about the short notice but I have been tied up with other things, like VAXen, VMSen, BACKUPem, etc, etc. The next meeting will be held at the NEW 'Digital Centre' at 106 Old Pittwater Road, Brookvale, NSW 2100 from 5pm onwards, next Wednesday, 23rd June, 1993. Australia. Our host this month will be Walter Faets, (the young one of the Werner and Walter Show...) and he would appreciate it if you would RSVP to Lisa on 02-905 3122 so that he can organise a few light refreshments. Also on e-mail at IN%"faets@decus.com.au" Walter will attempt to explain his promotion from NOP SIG Librarian to his new position (as of DECUSnews Vol 14 No 2) as Chairman of the HARDWARE SIG. (How many of you even knew that there was a hardware SIG {other than PDP-11s that is} and how many of you knew about the election - these and other mysteries will be revealed in time - endless time.) Walter may even answer the question about the light-bulb. There may even be the odd special left over from their moving sale. Be early or else! PLEASE tell your friends about this meeting as there will not be any printed notices sent out - the only notice will be this e-mail and the 'decus.general' and 'decus.nop' etc, posting on Internet and of course the messages that YOU pass on verbally. Publicised on behalf of Chester Wilson, NOP SIG Chairman. (J.Geremin, Megatonics Consulting, c/- 02-540 5734, Mon-Thurs.) -^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- Help prevent brain cell deterioration - avoid using computers that contain excessive 'PLENTIUM-32' and 'PLENTIUM-64' - 8-} From news.columbia.edu!sol.ctr.columbia.edu!math.ohio-state.edu!hobbes.physics.uiowa.edu!news.uiowa.edu!news Mon Jun 21 20:41:19 EDT 1993 Article: 297 of alt.sys.pdp8 Newsgroups: alt.sys.pdp8 Path: news.columbia.edu!sol.ctr.columbia.edu!math.ohio-state.edu!hobbes.physics.uiowa.edu!news.uiowa.edu!news From: jones@cs.uiowa.edu (Douglas W. Jones) Subject: PDP-8/E systems available Sender: news@news.uiowa.edu (News) Message-ID: <1993Jun21.175512.27118@news.uiowa.edu> Date: Mon, 21 Jun 1993 17:55:12 GMT Nntp-Posting-Host: pyrite.cs.uiowa.edu Organization: University of Iowa, Iowa City, IA, USA Lines: 86 George Roettger in Cleveland has sent me a list of the parts he has, and going over it, I've concluded that he has something like the following available PDP-8/E systems and parts: He has 2 PDP-8/E systems with the following approximate configurations (approximate because his list of board numbers appears to have been in error in a few places, and because some boards are un-numbered): M8300 -- CPU registers M8310 -- CPU register control M8330 -- CPU timing control M8655 -- console terminal interface M8655 -- printer interface M8655 -- modem interface M7104 \ M7105 > 3 board set for RK8E disk interface (for RK0x disk drives). M7106 / M837 -- memory management unit M860 -- RFI shield G111 \ G645 > 3 board set for 8K of core memory G233 / (the G111 is the only one with it's name on the handle) G111 \ G645 > 3 board set for 8K of core memory G233 / (the G111 is the only one with it's name on the handle) M8320 -- Bus Loads I have recommended to him that he try to dispose of the above as systems, and not break them up. In addition, he appears to have the following OMNIBUS boards which I have recommended that he make available separately from the systems from which they were taken: G104 \ G619 > 4K memory, 2 spare sets. G227 / G111 \ G645 > 8K memory, 2 spare sets. (I made an offer on one set!) G233 / M518 \ Programmable realtime clock, 3 spare sets. M860 / M8340 \ Extended Arithmetic Element (multiply/divide hardware) M8341 / 2 spare sets. (I made an offer on one set!) M8350 - External I/O bus interface, 2 spares. M841 -- Line printer control, 1 spare. M847 -- Bootstrap loader, 1 spare, programmed for RK8E? M8655 -- Serial port, 14 spares. In addition, he has two VT05 terminals, a TTY, some RK04 drives, and a boatload of FlipChip logic cards. I suspect that the cards were pulled from whatever the M8350 was interfaced to, but it's apparently a bit late to figure out what was there. Here is his list of flip-chip boards: G180 G380 G381A G736 G890 G936 G938 M101 M103 M105 M111 M112 M113 M115 M116 M117 M119 M121 M133 M135 M137 M139 M155 M155 M162 M169 M205 M216 M238 M243 M302 M306 M405 M523 M597 M606 M611 M623 M697 M783 M784 M796 M798 M908-YB M910 M921 M983 M984 In addition, he has some boards I don't recognize. Has an old PDP-11 system been mixed into the pile of surplus he bought? Here are the odd ones: M1103 M1713 M7000 M7001 M7002 M7004 M7007 M7286 M7700 M7700J M7701 M7702 M7710 M7712 M7713 M7715 M7716 M7717 M7721 M7724 M7760-P3 REV F M7761 M7821 M7821 If you can use any of this stuff, please contact George Roettger at (216) 632-5382 after 6:00 PM or send him E-mail at george.roettger@pcohio.com My advice to him was that it would be fair to ask about $5 per omnibus circuit board to cover shipping of individual boards. I didn't suggest any prices to him for the other stuff. My guess is that if you showed up on his doorstep, he'd be perfectly willing to give you a complete PDP-8 system configured as listed above for under $100, including a vintage VT05 or Teletype as part of the deal. Doug Jones jones@cs.uiowa.edu From news.columbia.edu!watsun.cc.columbia.edu!lasner Mon Jun 21 20:50:46 EDT 1993 Article: 298 of alt.sys.pdp8 Newsgroups: alt.sys.pdp8 Path: news.columbia.edu!watsun.cc.columbia.edu!lasner From: lasner@watsun.cc.columbia.edu (Charles Lasner) Subject: Re: PDP-8/E systems available Message-ID: <1993Jun22.004911.17856@news.columbia.edu> Sender: usenet@news.columbia.edu (The Network News) Nntp-Posting-Host: watsun.cc.columbia.edu Reply-To: lasner@watsun.cc.columbia.edu (Charles Lasner) Organization: Columbia University References: <1993Jun21.175512.27118@news.uiowa.edu> Date: Tue, 22 Jun 1993 00:49:11 GMT In article <1993Jun21.175512.27118@news.uiowa.edu> jones@cs.uiowa.edu (Douglas W. Jones) writes: >George Roettger in Cleveland has sent me a list of the parts he has, >and going over it, I've concluded that he has something like the >following available PDP-8/E systems and parts: > >He has 2 PDP-8/E systems with the following approximate configurations >(approximate because his list of board numbers appears to have been in >error in a few places, and because some boards are un-numbered): > > M8300 -- CPU registers > M8310 -- CPU register control > M8330 -- CPU timing control > M8655 -- console terminal interface > M8655 -- printer interface > M8655 -- modem interface > M7104 \ > M7105 > 3 board set for RK8E disk interface (for RK0x disk drives). > M7106 / For RK05's (AA,F,J) > M837 -- memory management unit > M860 -- RFI shield M869? > G111 \ > G645 > 3 board set for 8K of core memory > G233 / (the G111 is the only one with it's name on the handle) > G111 \ > G645 > 3 board set for 8K of core memory > G233 / (the G111 is the only one with it's name on the handle) I think middle boards of core stack sets are Hxxx? In any case, don't ever break up sets of tweaked/tuned cards. > M8320 -- Bus Loads > >I have recommended to him that he try to dispose of the above as systems, >and not break them up. In addition, he appears to have the following >OMNIBUS boards which I have recommended that he make available separately >from the systems from which they were taken: > > G104 \ > G619 > 4K memory, 2 spare sets. > G227 / See above comments about 8K stacks. > > G111 \ > G645 > 8K memory, 2 spare sets. (I made an offer on one set!) > G233 / ditto. > > M518 \ Programmable realtime clock, 3 spare sets. > M860 / > > M8340 \ Extended Arithmetic Element (multiply/divide hardware) > M8341 / 2 spare sets. (I made an offer on one set!) > > M8350 - External I/O bus interface, 2 spares. > > M841 -- Line printer control, 1 spare. Note: data products LPT: only! also known as "LE8" curiously, not LE8E as would be expected. Perhaps because there never was a specific LE8/I before, just the LP08. > > M847 -- Bootstrap loader, 1 spare, programmed for RK8E? If from DEC, then could be. If from DECUS, could be my code as submitted in DECUS 8-7xx, etc. > > M8655 -- Serial port, 14 spares. > >In addition, he has two VT05 terminals, a TTY, some RK04 drives, and a RK05? >boatload of FlipChip logic cards. I suspect that the cards were pulled >from whatever the M8350 was interfaced to, but it's apparently a bit late >to figure out what was there. Here is his list of flip-chip boards: > > G180 G380 G381A G736 G890 G936 G938 M101 M103 M105 M111 > M112 M113 M115 M116 M117 M119 M121 M133 M135 M137 M139 > M155 M155 M162 M169 M205 M216 M238 M243 M302 M306 M405 > M523 M597 M606 M611 M623 M697 M783 M784 M796 M798 M908-YB > M910 M921 M983 M984 Sounds like a positive bus peripheral of some sort, perhaps a TR05-type magtape controller; would explain all the funny G modules. > >In addition, he has some boards I don't recognize. Has an old PDP-11 >system been mixed into the pile of surplus he bought? Here are the >odd ones: > > M1103 M1713 M7000 M7001 M7002 M7004 M7007 M7286 M7700 M7700J > M7701 M7702 M7710 M7712 M7713 M7715 M7716 M7717 M7721 M7724 > M7760-P3 REV F M7761 M7821 M7821 M7000-7004 are VT05 spares. M7821 is an -11 Unibus interrupt module. > >If you can use any of this stuff, please contact George >Roettger at (216) 632-5382 after 6:00 PM or send him E-mail >at george.roettger@pcohio.com > >My advice to him was that it would be fair to ask about $5 per omnibus >circuit board to cover shipping of individual boards. I didn't suggest >any prices to him for the other stuff. My guess is that if you showed >up on his doorstep, he'd be perfectly willing to give you a complete >PDP-8 system configured as listed above for under $100, including a >vintage VT05 or Teletype as part of the deal. > > Doug Jones > jones@cs.uiowa.edu Perhaps a little high. Maybe OK price for smaller "orders". cjl From news.columbia.edu!sol.ctr.columbia.edu!math.ohio-state.edu!hobbes.physics.uiowa.edu!news.uiowa.edu!news Tue Jun 22 16:50:46 EDT 1993 Article: 299 of alt.sys.pdp8 Newsgroups: alt.sys.pdp8 Path: news.columbia.edu!sol.ctr.columbia.edu!math.ohio-state.edu!hobbes.physics.uiowa.edu!news.uiowa.edu!news From: jones@pyrite (Douglas W. Jones,201H MLH,3193350740,3193382879) Subject: Re: PDP-8/E systems available Sender: news@news.uiowa.edu (News) Message-ID: <1993Jun22.140615.14449@news.uiowa.edu> Date: Tue, 22 Jun 1993 14:06:15 GMT References: <1993Jun22.004911.17856@news.columbia.edu> Nntp-Posting-Host: pyrite.cs.uiowa.edu Organization: University of Iowa, Iowa City, IA, USA Lines: 29 >From article <1993Jun22.004911.17856@news.columbia.edu>, by lasner@watsun.cc.columbia.edu (Charles Lasner): > In article <1993Jun21.175512.27118@news.uiowa.edu> > jones@cs.uiowa.edu (Douglas W. Jones) writes: >>George Roettger in Cleveland has sent me a list of the parts he has ... >>In addition, he has two VT05 terminals, a TTY, some RK04 drives, ... > RK05? No, he said RK04. My understanding is that the rack-mounted PDP-8 systems have RK05 drives in the racks, and that these RK04 drives are in addition to the other stuff. As I said, the auxiliary pile George Roettger mentioned appears to have come not only from the PDP-8 systems he has, but from other systems as well, such as the PDP-11 that gave up it's M7821 to his pile. My advice to him was that it would be fair to ask about $5 per omnibus circuit board to cover shipping of individual boards. > > Perhaps a little high. Maybe OK price for smaller "orders". I told him that parts for junk computer systems are priced like parts for old cars. To get one part, you pay a premium. To get the whole car, you may be paid to haul it away. He bought the pile of old hardware for $200 (a bit high!) from someone who was about to break it up as recyclable scrap. They'd already ripped apart most of the disk packs to split out the aluminum parts for recycling. Doug Jones jones@cs.uiowa.edu From news.columbia.edu!watsun.cc.columbia.edu!lasner Tue Jun 22 16:56:29 EDT 1993 Article: 300 of alt.sys.pdp8 Newsgroups: alt.sys.pdp8 Path: news.columbia.edu!watsun.cc.columbia.edu!lasner From: lasner@watsun.cc.columbia.edu (Charles Lasner) Subject: Re: PDP-8/E systems available Message-ID: <1993Jun22.205617.16760@news.columbia.edu> Sender: usenet@news.columbia.edu (The Network News) Nntp-Posting-Host: watsun.cc.columbia.edu Reply-To: lasner@watsun.cc.columbia.edu (Charles Lasner) Organization: Columbia University References: <1993Jun22.004911.17856@news.columbia.edu> <1993Jun22.140615.14449@news.uiowa.edu> Date: Tue, 22 Jun 1993 20:56:17 GMT In article <1993Jun22.140615.14449@news.uiowa.edu> jones@pyrite (Douglas W. Jones,201H MLH,3193350740,3193382879) writes: > >No, he said RK04. My understanding is that the rack-mounted PDP-8 systems >have RK05 drives in the racks, and that these RK04 drives are in addition >to the other stuff. As I said, the auxiliary pile George Roettger mentioned >appears to have come not only from the PDP-8 systems he has, but from other >systems as well, such as the PDP-11 that gave up it's M7821 to his pile. The RK04 is one of those obscure drives used on the RK11 controllers predating the RK11D. At first they even used the RK01 (which was also used on the PDP-8 as a posibus peripheral called the RK08, an immense collection of small M-series cards, etc.). Later drives were mostly made by Diablo. I never got straight which were RK02,3,4, just that one of them was essentially compatible with the RK05 at the media level and presumably nearly so at the programming level. (The RK11D supports 8 drives; the RK11C is 4 drives maximum. The RK05 has a compatibility signal within it so that it can work with either the RK11D and RKS8E and RK8L OR the RK11C and RK8E. In any case, if the above is true, this helps to confirm where the modules came from, likely an early RK11 controller (RK11C or earlier). Other than the RK01 for the RK08, the -8 never ran any of these drives, since the next PDP-8 generation of disks was the RK8E and RK05. cjl From news.columbia.edu!sol.ctr.columbia.edu!howland.reston.ans.net!spool.mu.edu!uunet!pipex!warwick!bsmail!siva.bris.ac.uk!ard Wed Jun 23 12:36:35 EDT 1993 Article: 301 of alt.sys.pdp8 Newsgroups: alt.sys.pdp8 Path: news.columbia.edu!sol.ctr.columbia.edu!howland.reston.ans.net!spool.mu.edu!uunet!pipex!warwick!bsmail!siva.bris.ac.uk!ard From: ard@siva.bris.ac.uk (PDP11 Hacker .....) Subject: Re: PDP-8/E systems available Message-ID: <23JUN199311035070@siva.bris.ac.uk> News-Software: VAX/VMS VNEWS 1.41 Sender: news@bristol.ac.uk (Usenet news owner) Nntp-Posting-Host: siva.bris.ac.uk Organization: University of Bristol Physics Department References: <1993Jun22.004911.17856@news.columbia.edu> <1993Jun22.140615.14449@news.uiowa.edu> <1993Jun22.205617.16760@news.columbia.edu> Date: Wed, 23 Jun 1993 10:03:00 GMT Lines: 49 In article <1993Jun22.205617.16760@news.columbia.edu>, lasner@watsun.cc.columbia.edu (Charles Lasner) writes... >In article <1993Jun22.140615.14449@news.uiowa.edu> jones@pyrite (Douglas W. Jones,201H MLH,3193350740,3193382879) writes: >> >>No, he said RK04. My understanding is that the rack-mounted PDP-8 systems >>have RK05 drives in the racks, and that these RK04 drives are in addition >>to the other stuff. As I said, the auxiliary pile George Roettger mentioned >>appears to have come not only from the PDP-8 systems he has, but from other >>systems as well, such as the PDP-11 that gave up it's M7821 to his pile. > >The RK04 is one of those obscure drives used on the RK11 controllers predating >the RK11D. At first they even used the RK01 (which was also used on the >PDP-8 as a posibus peripheral called the RK08, an immense collection of >small M-series cards, etc.). According to my DEC manuals (PDP11-related, sorry), the RK04 is the low density (1.2Mbyte) version of the RK05. It's electrically and mechanically very similar > >Later drives were mostly made by Diablo. I never got straight which were >RK02,3,4, just that one of them was essentially compatible with the RK05 >at the media level and presumably nearly so at the programming level. (The >RK11D supports 8 drives; the RK11C is 4 drives maximum. The RK05 has a >compatibility signal within it so that it can work with either the RK11D and >RKS8E and RK8L OR the RK11C and RK8E. The RK02 and RK03 were diablo model 30's. The RK02 was low density, and the RK03 was high density. Each of these used the 1of4 select lines used by the RK11-C. The RK11-D used a 3 wire binary select system, and as you say, there was a select line in the RK05. However, the RK11-C had 2 drive connectors, and supported 4 drives on each, for a total of 8 drives (I'm still running one). High and low density drives were not media compatable. > >In any case, if the above is true, this helps to confirm where the modules >came from, likely an early RK11 controller (RK11C or earlier). Possible. The RK11-C is a great load of flip-chips. > >Other than the RK01 for the RK08, the -8 never ran any of these drives, since >the next PDP-8 generation of disks was the RK8E and RK05. > >cjl I've never seen an RK04 on a PDP11 either. I have run Diablo model 30's with a home-made cable off my RK11-C. -tony From news.columbia.edu!sol.ctr.columbia.edu!math.ohio-state.edu!hobbes.physics.uiowa.edu!news.uiowa.edu!news Wed Jun 23 12:37:03 EDT 1993 Article: 302 of alt.sys.pdp8 Newsgroups: alt.sys.pdp8 Path: news.columbia.edu!sol.ctr.columbia.edu!math.ohio-state.edu!hobbes.physics.uiowa.edu!news.uiowa.edu!news From: jones@cs.uiowa.edu (Douglas W. Jones) Subject: Re: PDP-8 Sender: news@news.uiowa.edu (News) Message-ID: <1993Jun23.142333.7454@news.uiowa.edu> Date: Wed, 23 Jun 1993 14:23:33 GMT References: <1993Jun23.041102.18480@mnemosyne.cs.du.edu> Nntp-Posting-Host: pyrite.cs.uiowa.edu Organization: University of Iowa, Iowa City, IA, USA Lines: 12 Forwarded from alt.folklore.computers; if you can figure out which MSU he is referring to (Montana State? Michigan State? Missouri State?), you might be able to get yourself a system. >From article <1993Jun23.041102.18480@mnemosyne.cs.du.edu>, by psthomas@nyx.cs.du.edu (Patrick Thomas): > I had to really struggle to hold myself back from buying a PDP-8 from MSU > this past weekend... $35 for the PDP-8, two disk drives, and the power > supply and related hardware. ... > > -- Patrick (<-- collector of worthless, but cool, old equipment) From news.columbia.edu!sol.ctr.columbia.edu!howland.reston.ans.net!noc.near.net!uunet!mnemosyne.cs.du.edu!nyx!psthomas Wed Jun 23 12:37:26 EDT 1993 Article: 303 of alt.sys.pdp8 Newsgroups: alt.sys.pdp8 Path: news.columbia.edu!sol.ctr.columbia.edu!howland.reston.ans.net!noc.near.net!uunet!mnemosyne.cs.du.edu!nyx!psthomas From: psthomas@nyx.cs.du.edu (Patrick Thomas) Subject: How "good" is a pdp-8? Message-ID: <1993Jun23.145017.24395@mnemosyne.cs.du.edu> Sender: usenet@mnemosyne.cs.du.edu (netnews admin account) Organization: University of Denver, Dept. of Math & Comp. Sci. Date: Wed, 23 Jun 93 14:50:17 GMT Lines: 13 Michigan State University was selling a PDP-8 with two disk drives and all the necessary hardware for $35. Since the price is right (cheap), I was thinking of picking it up. I've heard a bunch about the pdp-8 and pdp-11, but I don't really know what they're capable of. A bit of reading (the Small Computer Handbook published by DEC in 1970) didn't really offer much insight, either :-(. Can anybody offer any suggestions as to how powerful this machine really is? Thanks a lot! -- Patrick From news.columbia.edu!sol.ctr.columbia.edu!math.ohio-state.edu!hobbes.physics.uiowa.edu!news.uiowa.edu!news Wed Jun 23 12:38:36 EDT 1993 Article: 304 of alt.sys.pdp8 Newsgroups: alt.sys.pdp8 Path: news.columbia.edu!sol.ctr.columbia.edu!math.ohio-state.edu!hobbes.physics.uiowa.edu!news.uiowa.edu!news From: jones@pyrite (Douglas W. Jones,201H MLH,3193350740,3193382879) Subject: Re: How "good" is a pdp-8? Sender: news@news.uiowa.edu (News) Message-ID: <1993Jun23.154728.9689@news.uiowa.edu> Date: Wed, 23 Jun 1993 15:47:28 GMT References: <1993Jun23.145017.24395@mnemosyne.cs.du.edu> Nntp-Posting-Host: pyrite.cs.uiowa.edu Organization: University of Iowa, Iowa City, IA, USA Lines: 32 >From article <1993Jun23.145017.24395@mnemosyne.cs.du.edu>, by psthomas@nyx.cs.du.edu (Patrick Thomas): > Can anybody offer any suggestions as to > how powerful this machine really is? How do you measure power? 32K 12 bit words of main memory is one good measure of power that makes it not too different from early model PDP-11 systems which had 48K 8 bit bytes. A 1.2 to 1.4 microsecond memory cycle time is another good measure. By the standards of a modern PC, this is close to nothing, but it's enough to handle quite a bit of work. Applications? The guy from cleveland who's trying to dispose of a pair of -8/E systems once owned by the Cleveland Sun Newspaper has hardware configurations that suggest that the machines began life as 10 user timesharing systems. I'd assume, being at a newspaper, that the users were doing word-processing or newspaper-style text formatting. Similar timesharing systems were widely used in public schools and small colleges for instructional computing until they were displaced, mostly by Apple II systems. FORTRAN was widely used on the -8, and DECUS lists a LISP interpreter in their catalog. The immense (and unwarranted) popularity of BASIC today is largely the result of its widespread use on PDP-8 systems. The huge popularity of the PDP-8 is due to one major factor. Starting in 1965 and ending in the early to mid 1970s, the PDP-8 was the least expensive general purpose computer system on the market. DEC offered a wide range of peripherals, from fast disk systems to process control interface hardware. Doug Jones jones@cs.uiowa.edu From news.columbia.edu!watsun.cc.columbia.edu!lasner Wed Jun 23 17:13:13 EDT 1993 Article: 305 of alt.sys.pdp8 Newsgroups: alt.sys.pdp8 Path: news.columbia.edu!watsun.cc.columbia.edu!lasner From: lasner@watsun.cc.columbia.edu (Charles Lasner) Subject: Re: How "good" is a pdp-8? Message-ID: <1993Jun23.210645.27427@news.columbia.edu> Sender: usenet@news.columbia.edu (The Network News) Nntp-Posting-Host: watsun.cc.columbia.edu Reply-To: lasner@watsun.cc.columbia.edu (Charles Lasner) Organization: Columbia University References: <1993Jun23.145017.24395@mnemosyne.cs.du.edu> <1993Jun23.154728.9689@news.uiowa.edu> Date: Wed, 23 Jun 1993 21:06:45 GMT In article <1993Jun23.154728.9689@news.uiowa.edu> jones@pyrite (Douglas W. Jones,201H MLH,3193350740,3193382879) writes: >Applications? The guy from cleveland who's trying to dispose of a pair >of -8/E systems once owned by the Cleveland Sun Newspaper has hardware >configurations that suggest that the machines began life as 10 user >timesharing systems. I'd assume, being at a newspaper, that the users >were doing word-processing or newspaper-style text formatting. Similar >timesharing systems were widely used in public schools and small colleges >for instructional computing until they were displaced, mostly by Apple II >systems. I wrote a 40-user system for the newswire industry on the following hardware: PDP-8/e with EAE 32K paper-tape reader/punch VT8E console TTY: LPT: several KL8-type interfaces RK8E with 2-4 RK05's up to 4 8-channel Telcon serial multiplexors. Each task is logically attached to either a port on a Telcon, a KL8, the reader/punch, console, etc. (40 tasks maximum not counting the "system" essentially meaning the disk queues, etc. Telcon ports can be defined to be either an "editing" terminal (a buffered terminal that can execute commands, or send a file to the -8) or a "console" terminal (can't send a file, but has access to all of the other commands including commands privileged to operators only; the protocol is different to a console terminal because it's what most of us are familiar with while the editing terminal protocol is quite different. The design reason was so that the editors didn't have to do anything special to communicate with the -8. Commands from an editing terminal essentially look like ^E{command}^D while file transmission essentially looks like ^A{body of file}^D and no commands should be echoed. Consoles are the normal full-duplex with BS-SP-BS editing and echoing, etc., and have a command prompt. As a hack to help the editors, when viewing a file from the -8, it came into the editing terminal a page at a time (if requested) and ended the page with a blank line containing "MORE?" on it. They could hit the command-send key and the MORE command would be returned to the -8. The MORE command was defined to output the next page, but only if in the midst of a paged file send, and then only to an editing terminal. This allowed the editors to page through their files and hit a key to goto the next page, etc. The next page did a line-up-erase function to obliterate the MORE? and allow the end result of a clean copy of the file as if it had been loaded without the paging, etc. Each file contained a complex header of routing and other filing info. The system maintained a flat file directory of all files in a sorting order that favored right-justification of names instead of the normal left-justification. This allows names such as FILE1 FILE2 FILE3 ... FILE8 FILE9 FILE10 to be held in that order without resorting to making it FILE01, etc. The innards of the directory itself are a balanced B-tree with the root block cached. For a system of up to about 100,000 files, this means that it takes at most two disk reads to get to the leaf entry for any particular file. The purpose of this system is to collect files created by editors and output them in an 8-tiered priority queue with complex routing, etc. Each file contains the particular routing for itself which can include selective output routing to any system port, all ports, all printers, all "live" lines (meaning the active output to the wire-service ports, etc.) and any and all forms of individualized priorities for any lines including the ability to schedule deferred output. In strict accordance with SEC guidelines, the system supports guaranteed delays between selected lines (no brokers can receive info until 15 minutes after at least one news service has received it, etc.). One VT8E is supported on the system emulating a VT05. All of this *barely* fits in 32K including a field set aside for reusable disk buffers. The support code for all of the system fits in 4K and the reentrant serially reusable code exists in another 12K to support each of the possible task types. All configuration consists of off-line customization of the relevant device tabled, so once a system is up, it stays fixed, etc. All output queues of a selected type are saved in a linked audit trail to allow for selective retransmission, and also to allow for off-line customer billing after the fact. The entire system, complete with utilities, comes to just under 32K of code which can be simultaneously loaded into memory as the result of assembling the whole thing together (about 60,000 lines of code, a lot of which are definitions, etc.) or it can be assembled separately as modules. The whole assembly is far beyond the capabilities of OS/8 CREF.SV, and this was one of the factors that led to modularizing the sources, etc. The complete binary includes a stand-alone sysgen utility to write our selected areas of memory to designated RK8E disk blocks. When it's all written out, the result is a bootable disk that runs a menu of utilites, including putting up the real-time system, and an off-line crash recovery utility that can recover from any form of directory devistation. (The files self-identify in their own data records and are also doubly-linked. Should the directory be wiped, all you have to do is a linear search through all blocks looking for file chains and you can rebuild the directory. When all blocks have been traversed, you have recreated the complete directory except for any trashed files. If duplicates are found, the operator can either trash them or rename them for investigation later when the system is up again. One cute feature is automatic file creation from timed-out ASCII text input. A bunch of remote users of this system needed to dump raw ASCII files into the system from remote machines. The files were then to be called up by the editors for reprocessing, etc. So, we added timed-out serial ports that then created files with automatic names, such as TTY00001, TTY00002, TTY00003, etc. Also, some of the ports were occasionally hooked to paper-tape readers because parts of some of the older networks used paper-tape as recently as 1989. Somehow I don't see anyone doing this on an Apple II :-). cjl From news.columbia.edu!sol.ctr.columbia.edu!howland.reston.ans.net!agate!ames!decwrl!decwrl!rtech!ingres!jpk Thu Jun 24 01:19:46 EDT 1993 Article: 306 of alt.sys.pdp8 Newsgroups: alt.sys.pdp8 Path: news.columbia.edu!sol.ctr.columbia.edu!howland.reston.ans.net!agate!ames!decwrl!decwrl!rtech!ingres!jpk From: jpk@Ingres.COM (Jon Krueger) Subject: Re: How "good" is a pdp-8? Message-ID: <1993Jun24.010751.28005@pony.Ingres.COM> Lines: 20 Reply-To: jpk@Ingres.COM (Jon Krueger) Organization: Ingres Corporation, a subsidiary of The ASK Group, Inc. References: <1993Jun23.145017.24395@mnemosyne.cs.du.edu> <1993Jun23.154728.9689@news.uiowa.edu> Date: 24 Jun 93 01:07:51 GMT Douglas W. Jones writes: > How do you measure power? [some suggestions, such as how much > work it could do, e.g.] 10 user timesharing systems Another task a single 8/a or 8/e with 32K of 12 bit words did was real-time data acquisition and process control for up to 6 concurrent stations, each executing up to 64 parallel state sets, all at 10 millisecond resolution, while at the same time in the foreground running a monitor that could interrogate any variable in any station at any time, or editing, compiling, running data analysis, graphics, transferring files to other machines, formatting documents. And doing it all reliably. If it crashed, the behavior of those 6 rats in those six stations all started to extinguish -- weeks, months, or even years of training could be lost. It didn't crash. -- Jon -- Jon Krueger jpk@ingres.com From news.columbia.edu!sol.ctr.columbia.edu!math.ohio-state.edu!cs.utexas.edu!uunet!cybvax0!pbm Fri Jun 25 16:32:35 EDT 1993 Article: 307 of alt.sys.pdp8 Xref: news.columbia.edu comp.sys.dec.micro:2284 comp.sys.dec:14951 alt.sys.pdp8:307 Newsgroups: comp.sys.dec.micro,comp.sys.dec,alt.sys.pdp8 Path: news.columbia.edu!sol.ctr.columbia.edu!math.ohio-state.edu!cs.utexas.edu!uunet!cybvax0!pbm From: pbm@cybvax0.uucp (Paul B. McBride) Subject: PDP11 Emulator written in C? Message-ID: <1993Jun25.191541.26507@cybvax0.uucp> Summary: Does anyone know of a PDP11 Emulator written in C? Keywords: pdp11 emulator Reply-To: pbm@cybvax0.UUCP (Paul B. McBride) Organization: Cybermation, Inc., Medford, MA References: <208p9h$lo2@agate.berkeley.edu> Date: Fri, 25 Jun 93 19:15:41 GMT Lines: 10 Does anyone know where I could get a PDP11 Emulator written in C? I would like to run it under UNIX on a PC. Please respond via E-mail. -- Paul B. McBride (uunet!cybvax0!pbm) Cybermation, Inc. (617) 396-6500 200 Boston Ave., Medford MA 02155 From news.columbia.edu!sol.ctr.columbia.edu!howland.reston.ans.net!noc.near.net!uunet!mnemosyne.cs.du.edu!nyx!psthomas Sat Jun 26 02:00:39 EDT 1993 Article: 308 of alt.sys.pdp8 Newsgroups: alt.sys.pdp8 Path: news.columbia.edu!sol.ctr.columbia.edu!howland.reston.ans.net!noc.near.net!uunet!mnemosyne.cs.du.edu!nyx!psthomas From: psthomas@nyx.cs.du.edu (Patrick Thomas) Subject: Re: How "good" is a pdp-8? Message-ID: <1993Jun25.213201.12479@mnemosyne.cs.du.edu> Sender: usenet@mnemosyne.cs.du.edu (netnews admin account) Organization: University of Denver, Dept. of Math & Comp. Sci. References: <1993Jun23.145017.24395@mnemosyne.cs.du.edu> <1993Jun23.154728.9689@news.uiowa.edu> <1993Jun24.010751.28005@pony.Ingres.COM> Date: Fri, 25 Jun 93 21:32:01 GMT Lines: 9 Well, unfortunately, the PDP-8 that Michigan SU had for $35 is gone. It was picked up later on the day of my original post (last friday). Oh well... On the other hand, I heard PDP-8 emulators are available out there. Anybody have info they'd care to share or mail on that subject? Thanks, --- Patrick From news.columbia.edu!sol.ctr.columbia.edu!howland.reston.ans.net!agate!dog.ee.lbl.gov!network.ucsd.edu!news.cerf.net!crash!jeff Mon Jun 28 02:01:19 EDT 1993 Article: 309 of alt.sys.pdp8 Newsgroups: alt.sys.pdp8 Path: news.columbia.edu!sol.ctr.columbia.edu!howland.reston.ans.net!agate!dog.ee.lbl.gov!network.ucsd.edu!news.cerf.net!crash!jeff From: jeff@crash.cts.com (Jeff Makey) Subject: PDP-8 emulators Organization: Future Procrastinators of America Date: 27 Jun 93 15:26:54 PDT Message-ID: <1993Jun27.152654.25750@crash> References: <1993Jun25.213201.12479@mnemosyne.cs.du.edu> Lines: 14 In article <1993Jun25.213201.12479@mnemosyne.cs.du.edu> psthomas@nyx.cs.du.edu (Patrick Thomas) writes: >I heard PDP-8 emulators are available out there. I once wrote a PDP-8/L emulator in BASIC+, DEC's (very nice) version of BASIC for the RSTS/E operating system on the PDP-11. It worked, but with all of the software layers it was *very* slow: with PDP-8 BASIC loaded it took several seconds to parse a blank line. However, I have no doubt that an emulated PDP-8 running on a modern RISC machine would be faster than the original. :: Jeff Makey Department of Tautological Pleonasms and Superfluous Redundancies Department Domain: jeff@crash.cts.com UUCP: nosc!crash!jeff From news.columbia.edu!sol.ctr.columbia.edu!math.ohio-state.edu!hobbes.physics.uiowa.edu!news.uiowa.edu!news Wed Jun 30 05:17:43 EDT 1993 Article: 310 of alt.sys.pdp8 Newsgroups: alt.sys.pdp8 Path: news.columbia.edu!sol.ctr.columbia.edu!math.ohio-state.edu!hobbes.physics.uiowa.edu!news.uiowa.edu!news From: jones@pyrite (Douglas W. Jones,201H MLH,3193350740,3193382879) Subject: Re: PDP-8 emulators Sender: news@news.uiowa.edu (News) Message-ID: <1993Jun28.205004.1684@news.uiowa.edu> Date: Mon, 28 Jun 1993 20:50:04 GMT References: <1993Jun27.152654.25750@crash> Nntp-Posting-Host: pyrite.cs.uiowa.edu Organization: University of Iowa, Iowa City, IA, USA Lines: 22 I have an emulator for the PDP-8/E written in C. It currently is fully up to running FOCAL-1969, and I'm almost done with the KM8E (that's the memory management unit) emulation, which reminds me, does anyone have something in the way of code to exercise the KM8E? My emulator has extremely accurate emulation of I/O timing, so that a program using the high-speed paper-tape-reader will be unable, by way of timing loops or other software tricks, to tell that it isn't being run on the real thing. Of course, this means that TTY output comes at a speed determined by the emulated baud-rate times the speed-up or slow-down of the emulator. Running at an emulated 1200 baud on my IBM RT, the emulator looks like it's running at 110 baud from the keyboard's point of view. It runs about 3 times faster on my SPARCbook (a laptop SPARCstation). On the other hand, FOCAL was a nice enough little language that your average throw-away FOCAL code runs fast enough that you don't mind the cost of emulation. When I get the KM8E tested (soon, I hope) I'll release the code to the community. Doug Jones jones@cs.uiowa.edu From news.columbia.edu!sol.ctr.columbia.edu!math.ohio-state.edu!hobbes.physics.uiowa.edu!news.uiowa.edu!news Wed Jun 30 05:17:55 EDT 1993 Article: 311 of alt.sys.pdp8 Newsgroups: alt.sys.pdp8 Path: news.columbia.edu!sol.ctr.columbia.edu!math.ohio-state.edu!hobbes.physics.uiowa.edu!news.uiowa.edu!news From: jones@cs.uiowa.edu Subject: Re: DECMATE III - for sale Sender: news@news.uiowa.edu (News) Message-ID: <1993Jun28.205610.1863@news.uiowa.edu> Date: Mon, 28 Jun 1993 20:56:10 GMT References: Nntp-Posting-Host: pyrite.cs.uiowa.edu Organization: University of Iowa, Iowa City, IA, USA Lines: 14 Forwarded from comp.sys.dec.micro. Please respond to Cees Labrie, not to me! (and note that this machine is in Holland, not North America). >From article , by meccl@Skferc.NL (Cees Labrie): | For sale: | | 1 DecMate III with dual floppies, VR201 monitor - Dec keyboard. | including Dec wordprocessor with handbooks. | | Fixed price: dfl. 100.- not including shipping. I only want to make a | hundred guilders just before holiday. Thats a good reason to sell since | I don't use the DecMate. | | Reply to: meccl@skferc.nl or phone to 3473 70564 (The Netherlands) From news.columbia.edu!sol.ctr.columbia.edu!howland.reston.ans.net!noc.near.net!uunet!decwrl!pa.dec.com!sousa.ako.dec.com!human.enet.dec.com!supnik Wed Jun 30 05:18:40 EDT 1993 Article: 312 of alt.sys.pdp8 Path: news.columbia.edu!sol.ctr.columbia.edu!howland.reston.ans.net!noc.near.net!uunet!decwrl!pa.dec.com!sousa.ako.dec.com!human.enet.dec.com!supnik From: supnik@human.enet.dec.com (Bob Supnik) Newsgroups: alt.sys.pdp8 Subject: Re: PDP-8 emulators Date: 29 Jun 1993 18:35:34 -0400 Organization: Digital Equipment Corporation Lines: 29 Sender: newsa@sousa.ako.dec.com Message-ID: <20qg3m$44f@sousa.ako.dec.com> References: <1993Jun27.152654.25750@crash> <1993Jun28.205004.1684@news.uiowa.edu> NNTP-Posting-Host: sousa.ako.dec.com Summary: Also C based Keywords: PDP8, emulator In article <1993Jun28.205004.1684@news.uiowa.edu>, jones@pyrite (Douglas W. Jones,201H MLH,3193350740,3193382879) writes... >I have an emulator for the PDP-8/E written in C. It currently is fully >up to running FOCAL-1969, and I'm almost done with the KM8E (that's the >memory management unit) emulation, which reminds me, does anyone have >something in the way of code to exercise the KM8E? > [text deleted] Yeah, mine is also about 3/4 done. CPU, MMU, EAE, reader, punch, keyboard, terminal, clock. Timing is approximate and adjustable: the emphasis is on raw performance. I've got and run the core instruction diagnostics, and I've also got something that purports to be an MMU test, but without listings or instructions these things are difficult to work with. The key problems I have are: 1) How to do asynchronous I/O from the keyboard in a reasonably O/S independent way? 2) How to sync the simulated clock with the REAL clock, with the same restriction. There are solutions to both under both VMS and UNIX, but they are very different. Now, on to the RK8E... Bob Supnik >Supnik@human.enet.dec.com >All opinions expressed are those of a hardline microcoder >and do not reflect those of Digital Equipment Corporation From news.columbia.edu!watsun.cc.columbia.edu!lasner Wed Jun 30 05:39:42 EDT 1993 Article: 313 of alt.sys.pdp8 Newsgroups: alt.sys.pdp8 Path: news.columbia.edu!watsun.cc.columbia.edu!lasner From: lasner@watsun.cc.columbia.edu (Charles Lasner) Subject: Re: PDP-8 emulators Message-ID: <1993Jun30.093255.1772@news.columbia.edu> Keywords: PDP8, emulator Sender: usenet@news.columbia.edu (The Network News) Nntp-Posting-Host: watsun.cc.columbia.edu Reply-To: lasner@watsun.cc.columbia.edu (Charles Lasner) Organization: Columbia University References: <1993Jun27.152654.25750@crash> <1993Jun28.205004.1684@news.uiowa.edu> <20qg3m$44f@sousa.ako.dec.com> Date: Wed, 30 Jun 1993 09:32:55 GMT In article <20qg3m$44f@sousa.ako.dec.com> supnik@human.enet.dec.com (Bob Supnik) writes: >Yeah, mine is also about 3/4 done. CPU, MMU, EAE, reader, punch, keyboard, >terminal, clock. Timing is approximate and adjustable: the emphasis is >on raw performance. I've got and run the core instruction diagnostics, >and I've also got something that purports to be an MMU test, but without >listings or instructions these things are difficult to work with. > >Now, on to the RK8E... Not really a good choice for an emulator, since it's a fair amount of PDP-8 overhead-ridden device. Of course, the grandaddy worst case of all is the RX family, but there is a lot of RK kludges in the handler as well, and the performance of the thing is predicated on some sublte real-time considerations as well. There are two much better choices for an emulator: The most obvious is the fully extended RF08 (minus the DV08, please!). This is the standard RF08 with 4 platters with an extra unit bit to address 8 platters. The DV08 was usually bundled with it. This was an option that did a verify after write and could interrupt on verify error. Thus, it was totally software compatible with standard RF software because you could ignore it except in an interrupt handler similar in scope to a parity memory handler, etc. The extra bit of platter addressibility is obvious. In many machines, an 8 platter RF could fit in the machine's memory. Transfers are initiated by setting the 3-cycle data break locations and then waiting for the DMA to finish. The DF32 did use tricks like the DECtape to monitor the WC and CA addresses and update them during the transfer, but the RF is too fast, and can thus be emulated by faking the results after the fact. Practical handlers can either wait for a done flag or an interrupt, but they assume the hardware accomplished the transfers once started, ideal for an emulator. The other alternative is to emulate the CESI SCSI host adaptor for the -8 because this device controls industry standard SCSI devices which can be totally open-ended as to what you want to support, thus you can have huge disks on the -8. My machines sports one or two 80 Meg MFM disks on an OMTI 5400 controller with HD floppies and a SyQuest removable cartridge disk drive. Emulating this would be rather nice. The instruction set is merely a point and go IOT set. The commands are passed via DMA to the onboard micro-based controller, and are essentially SCSI commands as would be sent to an SCSI device, slightly augmented with -8-specific info such as address and field, etc. IF the command is a read or write or a few others, then there is also an implied DMA operation after the fact, and the done flag is set when the two-stage DMA process is finished. Of course, this all means that an emulator can just look at what's being attempted and deal with the SCSI command itself rather than do a PDP-8 instruction-by-instruction emulation. Thus, this is the polar opposite to a handler for an RX. cjl From news.columbia.edu!sol.ctr.columbia.edu!howland.reston.ans.net!agate!darkstar.UCSC.EDU!darkstar.UCSC.EDU!usenet Wed Jun 30 14:58:09 EDT 1993 Article: 314 of alt.sys.pdp8 Path: news.columbia.edu!sol.ctr.columbia.edu!howland.reston.ans.net!agate!darkstar.UCSC.EDU!darkstar.UCSC.EDU!usenet From: ted@helios.ucsc.edu (Sync) Newsgroups: alt.sys.pdp8 Subject: --==DECmate system==-- Date: 30 Jun 1993 15:29:42 GMT Organization: UCO/Lick Observatory Lines: 28 Distribution: ba Message-ID: <20sbh6INN2ps@darkstar.UCSC.EDU> NNTP-Posting-Host: helios.ucsc.edu I don't know if this system is worth $50 or $500. It was in working condition when removed from service. The main unit is a cabinet on casters about 3' high, 1' wide and 30" or so deep. (Measurements are from memory that lacks a parity check.) - DECmate RX02-PA and VT100-like terminal - Printer, daisy wheel, LQP02 and manual Tractor feed and manual 4 extra print whhels 5 new & 3 used ribbons - 5 boxes of 8" disks includeing wordprocessor, accounting and tax software - 4 different DEC "operators manuals" - DECmate owners guide - DECmate word processing users notebook - DECmate word processing: the Basics V2 cassettes/Workbook 1 - DECmate word processing: the Basics V2 cassettes/Workbook 2 - DECmate word processing: the Basics V2 administrator guide & disk - DECmate system overview V2 & tapes - DIBOL-8 language reference manual - COS-310 system reference manual (the cassettes mentioned are audio training stuff) -ted- ----------------------------Univ Calif @ Santa Cruz---------------------------- ted@lick.ucsc.edu |"He has showed you, O man, what is good; and what does the W (408)459-2110 |Lord require of you but to do justice and to love kindness H (408)423-2444 |and to walk humbly with your God?" Micah 6:8 (RSV)