FWIW: http://www.sparetimegizmos.com/wdoc/index.php?title=S6100_Design_Notes
"PDP-8 IOT mapping to S-100 I/O transfers" On Thu, Aug 14, 2014 at 5:03 AM, Rob Doyle <[email protected]> wrote: > On 7/30/2014 10:49 AM, Andrew Bingham wrote: > >> I actually have one of Bob Anderson's excellent SBC6120 boards. Getting >> OS/8 up and running was no problem at all. However the way the PDP-8 >> handles IOTs almost requires some GALs to interface it with the bus (the >> GALs take the PDP-8 IOTs and generate the actual addresses of the >> devices on the bus). You can communicate with 8-bit data IO devices by >> leaving off 4 bits of the 12-bit PDP8 word. >> >> There is a *lot* of PDP-8 assembly programming that goes into making a >> working system where the use of "modern" peripherals is "transparent" to >> OS/8 so that vintage software will run properly. Bob wrote all this >> for the SBC6120, with the BTS6120 monitor. The HD6120 supports two >> types of RAM - 32 Kwords of main memory, and 32 Kwords of "panel" memory >> (which was intended to be used for programs that simulate the front >> panel operation in embedded sysyetems). The "panel memory" is mapped to >> a ROM on the SBC6120 which has the monitor code and the handler routines >> for all the "modern" hardware. >> >> So if we wanted to put a board on the S-100 bus, I would see two >> options. (All of Bob's schematics and the BTS6120 software & source coe >> are GPL licensed): >> -Recreate the SBC6120 on 1 S-100 board with the RAM, ROM, parallel/IDE >> and serial interface chips built in so that we could use the BTS6120 >> monitor unmodified, and make using our other S-100 boards a "secondary" >> feature that we could add at our leisure. (I think this would be >> relatively easy, but it kind of "goes against" the way the >> S100Computers.com CPU boards are done) >> -Build a board with just the HD6120 and EEPROMS and use 16-bit RAM >> transfers and 8-bit I/O transfers to access our regular RAM, Parallel >> I/O, Serial I/O, CF Card, etc boards. Use BTS6120 as an example but >> modify the sections of code called to interface with the S-100 hardware. >> (I think this would be harder, one of us would have to get pretty deep >> into the PDP-8 assembly to make it work). >> >> There were, I believe, 3 different versions of the PDP-11 in ICs, one >> with multiple ICs for the CPU and 2 with single-package solutions. The >> big difference is since the HD6120 was a product offered to everyone, >> there is a complete datasheet for it. The PDP-11 ICs were special made >> for DEC so while there are DEC "specification" documents, you'd need >> BOTH details on the CPU chip and the PDP-11 design details to build a >> board that would run vintage software like old Unix "out of the box". >> >> Andrew >> > > I designed a PDP-8/E FPGA once-upon-a-time. See > http://opencores.org/project,pdp8 > > Obviously connecting a 12-bit computer to a 8-bit (or better 16-bit) bus > would do-able. > > None of the PDP8 peripherals look anything like S100 peripherals so you > could probably forget strict software compatibility. You could probably > patch OS/8 but anything software that touched the bare hardware just > wouldn't work. This SBC6120 did a proper implementation of the TTY IOTS - > which is probably mandatory. > > The big issue is how IOT instruction work. Many IOT instructions have > 'skip on peripheral status bit set' semantics. The HD6120 has a SKIP > input pin on it's bus for that purpose. I just don't see how you could > implement an IOT instruction across an S100 bus. > > Rob. > > > -- > You received this message because you are subscribed to the Google Groups > "N8VEM-S100" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "N8VEM-S100" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
