Posts

MacIvory FEP File Formats

I've been playing around with the MacIvory FEP (Front-End Processor) to learn more about how the Symbolics Ivory environment gets started. Not everything is yet clear to me, but I wanted to record some information about the "cold load" environments files. The Ivory chip uses 40-bit words, where 32 bits make up the "address" or immediate portion of the word and the upper 8 bits are a combination of type tagging and "cdr code" flags which allow for compact representation of lists and, in code, program counter sequencing flags to allow for half-word instructions to be compacted around full-word instructions in the stream. A lot more information can be learned from a number of sources. The previous generation "3600" machine was disclosed pretty widely in the literature, and ideas like type-tagging and cdr-coding are very similar between the machines. Bitsavers has a few files scanned from internal documentation. Most informative are I-Machine Ar

Further Notes on Open Genera on Linux

The previous notes don't seem to work in all circumstances. In particular, trying to enable a CHAOS networking port in .VLM configuration causes NFS to fail in the writing of the Site file. I have been unable to diagnose this as it appears the VLM stops trying to use NFS to access the file after starting a write, and then times out, not even showing any activity on tcpdump when a restart is attempted. It's possible the presence of a CHAOS interface causes it to expect NFILE or perhaps it decides to prefer FTP over TCP. In principle, it should be possible to invoke the debugger on the VLM to understand what is going on, but all the networking is very flexible and elaborate and I have no idea how to debug Genera at this point. On the Linux side, I can find nothing at all that shows an error or misconfiguration or anything at all once the problem starts. After defining the site and saving an incremental world, adding a CHAOS interface seems OK, but I have been stumped trying to ge

Open Genera VLM on Linux

There are some existing guides to setting up the (unauthorized) Open Genera VLM on x86-64 Linux, but I wanted to tweak them a bit, and came up with a couple of items that diverge from the existing advice. Note that a bunch of URLs on that link should point to https://archives.loomcom.com/  not the static.loomcom.com address. My general goals were to avoid having to run the genera binary as root, and run as a distinct user to have some sense of security (even if the sense is misplaced). I also wanted to change the network addresses, and don't want to use the standard pathnames for the Unix system files and the user directories, and the changes to do so were only in screenshots. My setup Ubuntu 18.04.4 LTS, amd64 My Linux machine is named ubuntu I want all this simulated Genera stuff to happen on  subnet 10.0.10.x  with my Linux host under the name  genera-ubuntu  at 10.0.10.1  and the virtual Lisp machine genera  at 10.0.10.2  (TODO: figure out Chaos network address s

MacIvory FEP diagnostics

A quick note to try to make this information available on the net. Trying to troubleshoot my Symbolics MacIvory, where my Quadra 900 was encountering bus errors from time-to-time and, at least once, Genera spammed me with tens of thousands of notifications about low-level drawing operations gone bad, I wanted to exercise the NuBus memory card (a National Semiconductor NS 8/16 with only 8 MB of RAM). The FEP ("Front End Processor") contains a memory test routine, but it has to be explicitly loaded. FEP Command:  is the prompt that shows you are talking to the "MacIvory FEP"; in the "Ivory" menu of the Genera application, you should be able to "Transfer to the FEP". The FEP prompt responds to the "help" key, by the way, and has commands like " Show Command Tree"  that shows the loaded commands. FEP commands themselves are stored in .FLOD  files . Show Directory FEP0:>*.FLOD.newest will list them. " I328-

FPGA selection for beginners

I'm not particularly expert on FPGAs, but I feel like sharing some of the thought process and research I did in getting into tinkering with FPGAs to help other people contemplating such things. Why FPGAs? FPGAs are the go-to solution for "digital things that can't be done with Raspberry Pi, Arduino, or other microcontroller plus software." If you want more than a handful of discrete digital devices in your project, an FPGA (or its smaller cousin, a CPLD) can be whatever collection of gates you need. From a more industrial perspective, they are a stepping-stone to the kind of large-scale digital design that goes into developing ASICs and high-powered DSP solutions. I'll probably discuss later some of the things that are probably not suited for FPGAs and assume for now you at least understand what they are, what they can do, and you just really, really want to use one. You want to buy an FPGA for good reasons and can't decide which: how to choose? Choo

1213486160 or 1347703880

As a public service, I would like to remind everyone that  1213486160 == 0x48545450 is 'HTTP' as a 32-bit integer  on a big-endian machine using ASCII or UTF-8. 1347703880 = 0x50545448 would be 'HTTP' in little-endian 32-bit format. Neither is likely to be a packet length.

Converting ITS documentation

I've been playing around a bit more with the Incompatible Timesharing System (ITS). I figured out enough networking on my Mac to be able to use the Java Supdup terminal application to interact with KLH-10 simulating the KS10 architecture. As part of my study, I have also been converting some INFO files to Texinfo, starting the with the file (slow link to UP.update.uu.se ITS system) INFO;DDT > which Bjorn Victor converted to an HTML version: DDT Primer ). I like Texinfo because it can (theoretically) print nice looking books for an ebook reader like my new Kindle Paperwhite, as well as Info compatible for Emacs navigation, and HTML. Actually distributing these files is problematic. ITS generally seems to have operated with a pretty free notion of distribution: send a magnetic tape to pretty much anyone with a PDP-10 who asked, without executing any kind of explicit license agreement, or even having copyright notices on the text. Anyone with access to the system could take i