JPARR@UREGINA1.BITNET (John Parr) (11/05/87)
As part of the requirements for a graduate level computer science class, I am seriously considering porting MINIX to the A1000. Before I jump into this with both feet, I am going to need some very specific information on the internals of the A1000. Specifically, could anyone out there provide me with a memory map of the Amiga internals? A detailed map would be peachy keen, but I'd settle for anything. Also, I am considering building the MINIX kernel into the WCS of the 1000. If I have any thoughts of being so ambitious, I need to know just what makes a kickstart disk tick. Anybody out there in net land know the kickstart format? Another possibility is running MINIX as a task under AmigaDOS. This would be really neat, but I forsee mega problems with MINIX bumping into AmigaDOS. (i.e. which memory manager really controls the memory, etc.) What it all boils down to is that I am relatively inexperienced with AmigaDOS and I am looking for any information, hints, or suggestions that you more experienced people can offer. Oh yeah, before someone says, "buy the Amiga Technical Reference manual" or "wonder book X" allow me to say that I'd love to. Thing is there ain't nobody around who'll sell 'em to me and I don't just have oodles of time to waste in a mail order situation. Thanx in advance for any help you might offer, John Parr userid: JPARR@UREGINA1.BITNET
bryce@hoser.berkeley.edu (Bryce Nesbitt) (11/05/87)
In article <8711050534.AA25885@jade.berkeley.edu> JPARR@UREGINA1.BITNET (John Parr) writes: > > As part of the requirements for a graduate level computer science class, >I am seriously considering porting MINIX to the A1000... > Also, I am considering building the MINIX kernel into the WCS of the >1000. If I have any thoughts of being so ambitious, I need to know just >what makes a kickstart disk tick. Anybody out there in net land know the >kickstart format? First sector on the disk contains "KICK" ($4b49434b), the rest is zero. The next 256K worth of sectors contain the Kickstart data, 512 bytes to a sector. The "ROM" image must have a correct 32 bit additive checkum (with extend) or the system will re-kick on reset. The first word of the "ROM" must be $1111. Next word $4EF9 (A JMP instruction in 68000). Next long is the address to jump to. Your "ROM" goes from $FC0000 to $FFFFFF. > Another possibility is running MINIX as a task under AmigaDOS. This >would be really neat, but I forsee mega problems with MINIX bumping into >AmigaDOS. (i.e. which memory manager really controls the memory, etc.) You could also hijack the Amiga after Kickstart. Exec (the executive) even has a nice way to do this. As long as MINIX obeys exec's allocated memory there should be enough low level hardware arbitration built in to the Amiga to deal with the rest. Any comments from the world on two operating systems running as equal partners on one machine? (Shades of Janus or better yet Symetrix) The only problem here is that descriptions of resources (the hardware arbitration mechanism) are almost totally absent from any of the technical manuals. > Specifically, could anyone out there provide me with a memory map of >the Amiga internals? A detailed map would be peachy keen, but I'd settle >for anything.... > ...Oh yeah, before someone says, "buy the Amiga Technical Reference >manual" or "wonder book X" allow me to say that I'd love to. Thing is >there ain't nobody around who'll sell 'em to me and I don't just have >oodles of time to waste in a mail order situation. If you are going the scratch route you want the "Amiga Hardware Reference Manual". Available from Addison Wesley Publishing, Reading MA 01867 617-944-3700. $24.95. Or, better yet, I'll post a complete memory map of all absolute ram address used by the Amiga right here: ------- start ------- _AbsExecBase EQU 4 -------- end -------- Exhausting, eh? You just can't work with the Amiga without some references, sorry! (The Rom Kernel also uses $100-$3ff, but other than the first two longs I'm not quite sure what for, and user programs never see it) The supervisor stack is $1800 bytes from the top of local memory down. (local chip top or local $C0000 top. Again, this is transparanet to any user program.) >userid: JPARR@UREGINA1.BITNET |\ /| . Ack! (NAK, SOH, EOT) {o O} . bryce@hoser.berkeley.EDU -or- ucbvax!hoser!bryce (") U "[The Amiga 1000 can display] up to 50 overlapping windows simultaneously." -Amiga Advertising, Spring 1987 (Yeah, thats it... *understate* the machine's capability :-( )
dillon@CORY.BERKELEY.EDU (Matt Dillon) (11/05/87)
> Also, I am considering building the MINIX kernel into the WCS of the >1000. If I have any thoughts of being so ambitious, I need to know just >what makes a kickstart disk tick. Anybody out there in net land know the >kickstart format? > Another possibility is running MINIX as a task under AmigaDOS. This >would be really neat, but I forsee mega problems with MINIX bumping into >AmigaDOS. (i.e. which memory manager really controls the memory, etc.) > What it all boils down to is that I am relatively inexperienced with AmigaDOS? The best way to go is to run MINIX on top of the Amiga's OS. Specifically, EXEC tasks. You do not have to bother with DOS or memory allocation. In fact, if you are porting the filesystem interface you'd want to talk directly to the trackdisk.device (i.e. result= incompatible floppy formats). There are ways to get around all the "limitations" of the EXEC in a tightly controlled enviroment such as an overlayed operating system. Memory? If you can't integrate allocation with the Amiga's allocation, simply allocate a whole bunch and say that's the memory MINIX has to play with. What you need to do this is the entire manual set, excluding the hardware manual.... you really need to know how to program on an Amiga. For instance, do you know how software interrupts (task exceptions, signal generated exceptions, etc) work? -Matt
klm@munsell.UUCP (Kevin (Being Weird Isn't Enough) McBride) (11/05/87)
In article <21608@ucbvax.BERKELEY.EDU> bryce@hoser.berkeley.edu.UUCP (Bryce Nesbitt) writes: > >[discussion on having MINIX co-exist with Amiga EXEC...] > >Any comments from the world on two operating systems running as >equal partners on one machine? (Shades of Janus or better yet >Symetrix) Works for Apollo! They currently have three OS co-existing on the machine under one common kernel. A fourth one is on the way. I haven't been around Apollo equipment lately, but I understand that you can be doing stuff in Aegis (Apollo's proprietary OS) in one window, 4.X BSD in another, and AT&T SYS V in yet another. Add Ultrix to that list RSN, although I don't know why anyone would want to. Well, maybe some DEC people who have, too late, discovered the errors of their ways and don't want to lose a considerable investment in software when they dump their inferior hardware. :-) :-) -- Kevin McBride, the guy in the brace // | Your mind is totally controlled Condition improved, but still // | It has been stuffed into my mold no skiing in sight. (:^[) \\ // Amiga | And you will do as you are told {encore,adelie}!munsell!klm \X/ Rules! | until the rights to you are sold
rminnich@udel.EDU (Ron Minnich) (11/05/87)
In article <8711050534.AA25885@jade.berkeley.edu> JPARR@UREGINA1.BITNET (John Parr) writes: > > As part of the requirements for a graduate level computer science class, >I am seriously considering porting MINIX to the A1000. Before I jump into >this with both feet, I am going to need some very specific information on >the internals of the A1000. (and so on ... some neat ideas) before you get too far, why not think about building a minix-compatible shared-library that runs under ADOS? In other words, use Matt's shared library example to build a minix support library, then go from there to a complete Minix environment. Best of both worlds. If you wanted to do us all a big favor you could somehow wedge in support for having programs run in 68K user mode so that they do not trash the kernel. (IS THIS even possible? How much smoke am i blowing now?) Another thought ... For a practical project, would your course accept doing an X-windows port? (hint, hint, hint) ron -- ron (rminnich@udel.edu)