9 ms·
Re copyright contamination: that's pretty doubtful, actually. While it's not a clean room reimplementation it does work quite differently, with a whole set of d
by david-given 7y ago
Re copyright contamination: that's pretty doubtful, actually. While it's not a clean room reimplementation it does work quite differently, with a whole set of different bugs, syntactic wibbles and semantic quirks, as well as being in a completely different language. I am actually _right now_ working on the .prn file output, and duplicating the behaviour of the original is essentially impossible as it's very much dependent on how the original parsed the input and mine parses differently. (Try assembling 'foo equ 1 ! mov a, foo' and try and predict what the DR assembler's prn file output is! You'll be surprised.)
Also, the IP's not owned by Caldera any more. It got spun off into Lineo, which then folded. Some assets went to Embedix which then got folded into Metrowerks, and the rest reverted to the investor, Canopy Group (he says reading Wikipedia), but I don't know which.
It's probably worth approaching them to try and get the license fixed --- the existing one is painfully vague and the CP/M community bickers endlessly about what it actually means, and the encumbrance requiring everything to be distributed through one site is just stupid. Whether they still contain anyone who's heard of CP/M, I don't know.
- kragen 7y agoGlad to hear all of that!
- david-given 7y agoOh, yeah --- I'm not complaining about Z80 being obsolete. I'm complaining that it's too new! CP/M proper uses 8080 machine code, which Z80 code is almost (but not quite) backwards compatible with. So Z80 machines can run classic CP/M binaries but classic CP/M machines can't run Z80 code. sdcc only generates Z80 code, not 8080, so my assembler can't be used on a Tandy Model 100, for example. I have another compiled lined up which will generate 8080 code, though. Less buggy, too.
- kragen 7y agoYeah, I didn't think you thought the Z80 was obsolete. (It kind of is, just less than people think.) I meant that other people reading about it in the context of CP/M might think it was purely a retrocomputing exercise. (And the classic CP/M machines I had used Z80s, so they could run Z80 code.)