Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!seismo!rutgers!cbmvax!phillip From: phillip@cbmvax.cbm.UUCP (Phillip Lindsay) Newsgroups: net.micro.amiga Subject: Re: Re: Some remarks to AmigaDos. Message-ID: <943@cbmvax.cbmvax.cbm.UUCP> Date: Wed, 29-Oct-86 14:31:05 EST Article-I.D.: cbmvax.943 Posted: Wed Oct 29 14:31:05 1986 Date-Received: Wed, 29-Oct-86 22:21:37 EST References: <545@husc6.HARVARD.EDU> Organization: Commodore Technology, West Chester, PA Lines: 51 > Summary: There is one use for BCPL on the Amiga > > In <148600179@uiucuxc> Wayne Hamilton writes: >> now that i've said all that, you can probably just forget most of it. >>BCPL doesn't provide any compelling advantage over C and assembler, so >>there's not much reason to want to write programs with it. buying the >>book might be a good idea, if you're interested in hacking on the internals >>of AmigaDos. > > Yes, if you want to write an AmigaDOS device driver (not > just an Exec device but an AmigaDOS device) you have to write the > interface code in either BCPL or Assembler that looks like BCPL. > Either way you have to learn about BCPL and its calling conventions, > etc. So, for example, if someone wanted to write an AmigaDOS device > driver for the clipboard.device (HINT HINT) you would need to write > the glue code in BCPL so you could access it through the filesystem > (i.e., as in fopen("CLP:","r");) in the same manner as a regular file. > This, of course, is a VERY useful thing to do, since almost all programs > access files and so on through AmigaDOS devices rather than directly > through Exec. (It is unfortunate that we have two levels of devices, > and that you cannot write AmigaDOS drivers in a completely compatible > fashion in C. This is the design legacy of Tripos.) > > -Mitsu > > > wayne hamilton > U of Il and US Army Corps of Engineers CERL > UUCP: {ihnp4,pur-ee,convex}!uiucdcs!uiucuxc!hamilton > ARPA: hamilton%uiucuxc@a.cs.uiuc.edu USMail: Box 476, Urbana, IL 61801 > CSNET: hamilton%uiucuxc@uiuc.csnet Phone: (217)333-8703 > CIS: [73047,544] PLink: w hamilton I think you better look at an earlier posting I made "my-handler". A AmigaDos handler written *totally* in C. Under release 1.2 you can specify a GlobVec of -1 in the device node and when AmigaDos loads (creates) you he won't try and start you up like a BCPL program... BTW, the initial packet is sent to you...you don't find it in D1. (if your GlobVec == -1 ) -phil ============================================================================== Phillip Lindsay - Commodore Business Machines - Amiga Technical Support Dirt: 1200 Wilson Drive, West Chester PA 19380 uucp: {ihnp4|seismo|caip}!cbmvax!phillip arpa: cbmvax!phillip@seismo -or- phillip@cbmvax.UUCP@{seismo | harvard} Tel.: (215) 431-9180 Disclaimer: [someone said I needed this] No warranty is implied or otherwise given in the form of suggestion or example. Any opinions found here are of my making. [unless Fred pops up (my other self)] ==============================================================================