3 ms·
https://en.wikipedia.org/wiki/TRIPOS https://en.wikipedia.org/wiki/TRIPOS was written in BCPL (in 1978) at the University of Cambridge. TRIPOS was ported to th
by amiga386 2y ago
https://en.wikipedia.org/wiki/TRIPOS https://en.wikipedia.org/wiki/TRIPOS was written in BCPL (in 1978) at the University of Cambridge.
TRIPOS was ported to the 68000 in 1981 by Dr Tim King. In 1984, he joined the company MetaComCo, and they bought the commercial rights to his 68000 port.
The Amiga OS was well behind schedule in 1984. MetaComCo were contracted in March 1985 to integrate TRIPOS into the Amiga's existing OS code (mainly Exec and Intuition), and the Amiga launched in July 1985. That's a pretty fast turnaround time!
TRIPOS is most evident in the AmigaDOS portions of AmigaOS, specifically dos.library, the CLI, the directory structure (C, L, S are TRIPOS standard directories for commands, libraries, scripts, hence the odd mix of LIBS for Amiga libraries but L for AmigaDOS handlers and filesystems), the standard disk filesystem, and all filesystem handlers.
For AmigaOS 2.0 (released 1990-1991), it wasn't quite "[TRIPOS] ported to C"... AmigaDOS was rewritten entirely. There was no BCPL or TRIPOS left, except deliberate structures/functions (written in C!) to support backward-compatibility with BCPL software.
AmigaDOS's API was greatly extended to provide official OS calls for what were previously BCPL globvec internals, and most of the command-line programs were rewritten in C. This work had already been advocated for and done in 1987-1989 by the third-party "AmigaDOS Replacement Project" https://aminet.net/package/misc/antiq/ARP_13 https://aminet.net/package/misc/antiq/ARP_13
- icedchai 2y agoHeh. I love reading stuff like this. I still remember the time I booted up a soft-kicked version of AmigaOS 2.0 on my A500. It was like night and day compared to 1.3.
- MarkusWandel 2y agoThe BCPL runtime environment was completely alien compared to C's and a fair bit of glue was needed to get the DOS portion to talk to the rest of the system. I reverse-engineered the "echo" command - the simplest of them all - to see what was actually involved. https://wandel.ca/homepage/execdis/echo_disassembly.txt https://wandel.ca/homepage/execdis/echo_disassembly.txt