CP/M Source Code
cpm.z80.de
cpm.z80.de
The source code I'd really like to see is Turbo Pascal 1.x or its CP/M predecessor, but I don't think that was ever released.
I never actually used TP myself but it sounded great. These two articles made me interested in it:
And here is a disassembly for the versions 1,2,3 apparently: https://www.memotech.franken.de/CPM80/
Added: the comments in those files are better than nothing but they don't really say what the program is doing the way the original source code hopefully would. The labels are still the ones generated by the disassembler, so not very informative. Still, it's nice that someone did this and it's a good starting point for further study by anyone sufficiently motivated.
If of any interest, the source code to the BDS C compiler of the same era was released here: https://www.bdsoft.com/resources/bdsc.html
It discusses TP 3.0's operation, supposedly based on a disassembly. It's less interesting than it sounds (it's mostly a high level overview of how a small compiler works, rather than a real study of TP internals), but it helps.
Long TP discussion thread with dead link here: https://news.ycombinator.com/item?id=10202299
I hope /s means "sarcastic".
It has subscripted variables with LENGTH() to check its size (aka arrays), and an array of bytes is a string.
You can even create structures of subscripted variables.
PL/M manuals have a couple of examples with string utility functions by the way.
Its annoying to see the comment about 'string safety' .. how about you do what you want with your own computer, which is not logged, watched, billed or updated without your consent. This code relates to a machine that you, as an individual, own. An individual person can do what they want with it, without a spy-OS within the CPU itself, for example.
Its clear (to me) that there has to be a serious fork in CPU development, which will need OS software, maybe back to Z80'ish 8 bits even.. This setup wont display JPG at multiple images per second rate from some centralized media servers, but you know, maybe that is a feature.
"free" as in "freedom"
Sure? AFAIK something can only be considered public domain in one of the following conditions:
- author explicitly uses public domain as a license,
- 120 after publication,
- 120 after registration,
- 95 years after publication if it is corporate work or
- 75 years after the death of the author; whatever comes first.one thing I remember reading On The Internet a while back was a theory (from a lawyer I believe?) that stated that you can't just say you put something in the public domain, and have it then be in the public domain.
Like, you can choose to explicitly grant rights of usage, but simply writing "I am putting this work in the public domain" doesn't actually do anything, and is functionally very close to being the same as "all rights reserved".
I don't know if it's true though. I suppose we're fortunate that "nobody around to care" helps in practice for these kinds of conservation efforts that are victimless crimes at best.
It's one of the reasons why SQLite sells licenses even though it's released as Public Domain.
As it happens, there already are a number of z80 micro computers out there. Most of which will already have a CP/M port.