Steve gives us a place to start …needs edit see also Books and Papers
The bundled documentation that is relevant to us is in the files described below in what is more or less a plain text format. (In fact it is a non-standard encoding of text and I would explain this spectacular own goal but I would get too annoyed if I did.)
poplog_base/pop/ref/* - reference documentation - these are the files we need most of all
poplog_base/pop/doc/* - some longer articles - my memory tells me there are a couple of useful items here
poplog_base/pop/help/* - how-to files mostly aimed at beginners but some are useful
poplog_base/pop/teach/* - tutorial files, can be ignored
I am not 100% sure as to where the build process is documented - it seems like something that was never fully covered. But I think these two files are pretty important:
And I might as well note that the syspop11 files live in poplog_base/pop/src/... by the way. Note that files with the '-' suffix are backup files from Poplog's built-in editor VED VED.
a. Is the current pop build process documented? If there is enough I will ask Michael to see if he can look at moving it to Git. It can be tested on an older kernel so the 5.8 issue should not be a blocker.
There are bits of documentation floating around - its not as well integrated as most of the Poplog docs. I will try to have a search around and see what I can dredge up in addition to the two Popc files. Whatever I come up with I will pop into a wiki page on the repo.
b. The essential structure of the code with the purpose for each major component?
Alternatively, perhaps we can record your knowledge?
I am fairly confident that the compiler itself is not well-documented. There will be material but it hasn't been collated as far as I know.
c. Syspop language guide
I believe there is some documentation. Most of it is pretty self-explanatory to a Pop-11 coder though.
d. how memory is managed - low level
No docs as far as I know. But the knowledge is fairly widely shared by people who worked on the system and a few application programmers like myself.
e. how GC works at least at the conceptual level you described.
There's a lot of hints in the system docs. I read these completely about 30(?) years ago so it would take me a little time to put my fingers on it all. But https://github.com/sfkleach/unpacked_poplog_base_v16/blob/master/pop/ref/system is a good place to start - section 9.
f. how to build a new Base11
Yes - I would need to go looking. I'll put it on a wiki page if I come up with anything.
g. how to build a new image
Yes - that's super easy. See:
pop/ref/system
pop/ref/popc
pop/ref/subsystem
h. is there a comprehensive test suite to demonstrate that it is all working?
Definitely not. But all is not lost.