{"id":193,"date":"2009-05-19T03:31:46","date_gmt":"2009-05-19T11:31:46","guid":{"rendered":"http:\/\/www.pagetable.com\/?p=193"},"modified":"2009-05-19T03:31:46","modified_gmt":"2009-05-19T11:31:46","slug":"tripos-the-roots-of-amigados","status":"publish","type":"post","link":"https:\/\/www.pagetable.com\/?p=193","title":{"rendered":"Tripos, the Roots of AmigaDOS"},"content":{"rendered":"<p>The core of the Amiga Operating systems consists of the three major components Exec (scheduling, memory management, IPC), Intuition (GUI library) and AmigaDOS (process and file management). AmigaDOS is based on the Tripos operating system which Commodore bought because development of their own DOS subsystem failed to meet deadlines. In this article, I am presenting searchable PDFs of the very rare Tripos manuals (638 pages) as well as the AmigaDOS manual (304 pages). Comparing the two documents will share some insight in the relationship between Tripos and Amiga OS.<\/p>\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tr>\n<td><a href=\"docs\/amigados_tripos\/tripos_manuals.pdf\"><img decoding=\"async\" src=\"docs\/amigados_tripos\/tripos_manuals.png\"><br \/>Tripos Manuals<br \/><\/a>(PDF, 638 p., 20MB)<\/td>\n<td><a href=\"docs\/amigados_tripos\/amigados_manual.pdf\"><img decoding=\"async\" src=\"docs\/amigados_tripos\/amigados_manual.jpg\"><br \/>The AmigaDOS Manual<br \/><\/a>(PDF, 304 p., 14MB)<\/td>\n<\/tr>\n<table>\n<p>These are the tables of contents of the two documents:<\/p>\n<table border=\"1\">\n<tr>\n<td bgcolor=\"#000000\"><font color=\"#ffffff\"><b>Introduction to Tripos<\/b><\/font><\/td>\n<td bgcolor=\"#000000\"><font color=\"#ffffff\"><b>AmigaDOS User&#8217;s Manual<\/b><\/font><\/td>\n<\/tr>\n<tr>\n<td bgcolor=\"#eeeeee\">1. Simple Use of Tripos<\/td>\n<td bgcolor=\"#eeeeee\">1. Introducing AmigaDOS<\/td>\n<\/tr>\n<tr>\n<td bgcolor=\"#ffdddd\">2. Editing Files<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td bgcolor=\"#ffdddd\">3. Further Use of Tripos<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td bgcolor=\"#000000\"><font color=\"#ffffff\"><b>Tripos User&#8217;s Reference Manual<\/b><\/font><\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td bgcolor=\"#eeeeee\">1. Tripos Commands<\/td>\n<td bgcolor=\"#eeeeee\">2. AmigaDOS Commands<\/td>\n<\/tr>\n<tr>\n<td bgcolor=\"#eeeeee\">2. ED &#8211; The Screen Editor<\/td>\n<td bgcolor=\"#eeeeee\">3. ED &#8211; The Screen Editor<\/td>\n<\/tr>\n<tr>\n<td bgcolor=\"#eeeeee\">3. EDIT &#8211; The Line Editor<\/td>\n<td bgcolor=\"#eeeeee\">4. EDIT &#8211; The Line Editor<\/td>\n<\/tr>\n<tr>\n<td bgcolor=\"#eeeeee\"> Appendix A: Error Codes and Messages<\/td>\n<td bgcolor=\"#eeeeee\"> Appendix: Error Codes and Messages<\/td>\n<\/tr>\n<tr>\n<td bgcolor=\"#000000\"><font color=\"#ffffff\"><b>Tripos Programmer&#8217;s Reference Manual<\/b><\/font><\/td>\n<td bgcolor=\"#000000\"><font color=\"#ffffff\"><b>AmigaDOS Developer&#8217;s Manual<\/b><\/font><\/td>\n<\/tr>\n<tr>\n<td bgcolor=\"#eeeeee\">1. Introduction to Programming<\/td>\n<td bgcolor=\"#eeeeee\">1. Programming on the Amiga<\/td>\n<\/tr>\n<tr>\n<td bgcolor=\"#ffdddd\">2. Calling the Kernel<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td bgcolor=\"#eeeeee\">3. Calling the DOS<\/td>\n<td bgcolor=\"#eeeeee\">2. Calling AmigaDOS<\/td>\n<\/tr>\n<tr>\n<td bgcolor=\"#eeeeee\">4. The Macro Assembler<\/td>\n<td bgcolor=\"#eeeeee\">3. The Macro Assembler<\/td>\n<\/tr>\n<tr>\n<td bgcolor=\"#eeeeee\">5. The Linker<\/td>\n<td bgcolor=\"#eeeeee\">4. The Linker<\/td>\n<\/tr>\n<tr>\n<td bgcolor=\"#ffdddd\">6. The System Debugger &#8211; DEBUG<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td bgcolor=\"#ffdddd\">7. Full Screen Support<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td bgcolor=\"#ffdddd\">8. Floating Point<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td bgcolor=\"#ddffdd\"> Appendix: Console Input and Output on the Amiga<\/td>\n<\/tr>\n<tr>\n<td bgcolor=\"#000000\"><font color=\"#ffffff\"><b>Tripos Technical Reference Manual<\/b><\/font><\/td>\n<td bgcolor=\"#000000\"><font color=\"#ffffff\"><b>AmigaDOS Technical Reference Manual<\/b><\/font><\/td>\n<\/tr>\n<tr>\n<td bgcolor=\"#eeeeee\">1. The Filing System<\/td>\n<td bgcolor=\"#eeeeee\">1. The Filing System<\/td>\n<\/tr>\n<tr>\n<td bgcolor=\"#eeeeee\">2. Binary File Structure<\/td>\n<td bgcolor=\"#eeeeee\">2. Amiga Binary File Structure<\/td>\n<\/tr>\n<tr>\n<td bgcolor=\"#eeeeee\">3. Tripos Data Structures<\/td>\n<td bgcolor=\"#eeeeee\">3. AmigaDOS Data Structures<\/td>\n<\/tr>\n<tr>\n<td bgcolor=\"#ffdddd\">4. Installation<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td bgcolor=\"#ddffdd\">4. AmigaDOS Additional Information for the Advanced Developer\n<\/td>\n<\/tr>\n<\/table>\n<h3>The Original DOS Module of AmigaOS<\/h3>\n<p>AmigaOS was architected in a very modular way. &#8220;Exec&#8221;, the operating system kernel, was responsible for tasks (and therefore scheduling), memory management and the messaging infrastructure. It knew nothing about filesystems or user I\/O. The graphics library &#8220;Intuition&#8221; built on Exec, just like the DOS module, but they were independent of each other. But the <a href=\"http:\/\/www.thule.no\/haynie\/caos.html\">DOS module <a href=\"http:\/\/www.amigahistory.co.uk\/caos.html\">fell behind schedule<\/a>, so Commodore <a href=\"http:\/\/web.archive.org\/web\/20030711160927\/http:\/\/os.amiga.com\/cam\/index.php?i=5&#038;p=4\">decided to license<\/a> &#8220;<a href=\"http:\/\/www.cl.cam.ac.uk\/~mr10\/Cintpos.html\">Tripos<\/a>&#8220;.<\/p>\n<p><h3>Tripos<\/h3>\n<p>Tripos is, according to &#8220;Introduction to Tripos&#8221;, &#8220;<cite>a multi-processing operating system designed for 68000 computers. Although you can use it as a multi-user system, you normally run Tripos for a single user. The multi-processing facility lets many jobs take place simultaneously. You can also use the multi-processing facility to suspend one job while you run another.<\/cite>&#8220;<\/p>\n<p>Tripos was very similar to the Amiga OS design and therefore fit well. Tripos consisted of a kernel, a DOS library and a collection of user mode tools. Since the &#8220;Exec&#8221; was already working well, and Intuition depended on it, there was no sense in replacing it with the Tripos kernel. Instead, only the DOS part of Tripos (including the tools) was integrated into AmigaOS.<\/p>\n<p>So the DOS API, the command line interface with its commands, the executable format (&#8220;hunk&#8221;) as well as the <a href=\"http:\/\/www.pagetable.com\/?p=34\">original Amiga filesystem<\/a> were all basically identical to Tripos.<\/p>\n<h3>Comparing the Manuals<\/h3>\n<p>Commodore published a number of reference manuals about the Amiga operating system:<\/p>\n<ul>\n<li>AMIGA ROM Kernel Reference Manual: Exec<\/li>\n<li>Amiga ROM Kernel Reference Manual: Libraries and Devices<\/li>\n<li>Amiga ROM Kernel Reference Manual: Includes and Autodocs<\/li>\n<li>Amiga Intuition Reference Manual<\/li>\n<li>The AmigaDOS Manual<\/li>\n<\/ul>\n<p>While the former four books were all written from stratch describing new Amiga technology, the AmigaDOS Manual was basically just the Tripos manual set with &#8220;Tripos&#8221; replaced with &#8220;AmigaDOS&#8221; and all references to technologies that didn&#8217;t make it into the Amiga removed.<\/p>\n<p>You can see from the tables of contents of the two books that The AmigaDOS User&#8217;s Manual omitted the chapters about the Tripos kernel (AmigaOS used &#8220;Exec&#8221;), the debugger (AmigaOS had &#8220;ROMWack&#8221;), full screen support (everything above simple character I\/O was done by Intuition), floating point (Amiga OS contained Motorola&#8217;s &#8220;<a href=\"http:\/\/www.programmersheaven.com\/download\/3650\/download.aspx\">MC68343 FLOATING POINT FIRMWARE<\/a>&#8221; instead) and Installation.<\/p>\n<p>What is interesting about the AmigaDOS Manual is that very limited adaption to the Amiga has been performed. The previously quoted definition of Tripos can be found in the AmigaDOS manual as well: &#8220;<cite>AmigaDOS a multi-processing operating system designed for 68000 computers. [&#8230;]<\/cite>&#8221; While this would be true for Amiga<b>OS<\/b>, Amiga<b>DOS<\/b> was only a library and in no way a &#8220;multi-processing operating system&#8221;.<\/p>\n<p>There are not many real differences between the two documents: The AmigaDOS Manual replaced references to &#8220;screen&#8221; with &#8220;current window&#8221; and mentions the new logical devices &#8220;LIBS:&#8221;, &#8220;DEVS:&#8221; and &#8220;FONTS:&#8221; when talking about the filesystem layout. There are also some smaller differences on the command line: There is no MOUNT command (AmigaOS detects disks and automounts), the &#8220;C&#8221; command has been renamed to &#8220;EXECUTE&#8221; as well as the &#8220;PAR:&#8221; device to &#8220;PRT:&#8221;. The AmigaDOS Manual also contains a section about cross-development on a Sun or MS-DOS machine.<\/p>\n<p><i>Now I am looking forward to your comments: Did you any other interesting differences? In what way were Exec and the Tripos kernel different? Any other input? Thanks!<i><\/p>\n","protected":false},"excerpt":{"rendered":"<p>The core of the Amiga Operating systems consists of the three major components Exec (scheduling, memory management, IPC), Intuition (GUI library) and AmigaDOS (process and file management). AmigaDOS is based on the Tripos operating system which Commodore bought because development of their own DOS subsystem failed to meet deadlines. In this article, I am presenting &#8230; <a title=\"Tripos, the Roots of AmigaDOS\" class=\"read-more\" href=\"https:\/\/www.pagetable.com\/?p=193\" aria-label=\"Read more about Tripos, the Roots of AmigaDOS\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3,5,20],"tags":[],"class_list":["post-193","post","type-post","status-publish","format-standard","hentry","category-amiga","category-archeology","category-literature"],"_links":{"self":[{"href":"https:\/\/www.pagetable.com\/index.php?rest_route=\/wp\/v2\/posts\/193","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.pagetable.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.pagetable.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.pagetable.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.pagetable.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=193"}],"version-history":[{"count":0,"href":"https:\/\/www.pagetable.com\/index.php?rest_route=\/wp\/v2\/posts\/193\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.pagetable.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=193"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.pagetable.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=193"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.pagetable.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=193"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}