Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!ucbvax!hplabs!hpfcdc!hpfcdq!vodall From: vodall@hpfcdq.HP.COM (Bill Vodall) Newsgroups: comp.os.os9 Subject: Re: RE: Adapting coco OS9 to other systems Message-ID: <3390004@hpfcdq.HP.COM> Date: 29 Mar 89 17:28:00 GMT References: <386@aucis.UUCP> Organization: Hewlett-Packard - Fort Collins, CO Lines: 91 >In article <386@aucis.UUCP> easton@aucis.UUCP (Jeff Easton) writes: >>Okay, level 2 is out. I could use it later after I build that 2 Meg >>bank switching RAM disk I'm thinking about :> > If all you want the extra memory for is a ramdisk, yes, I agree > with you that level 2 is out. The advantage af level 2 is that > you can have more than one process running in its own 64K process > space. > >Here's my guess at a scenario for porting it. [Coco OS9 to Jeff's system] >> >> 1> Buy the OS9 level I & the assembler package > > OS9 level 1 comes with the assembler. (No extra charge!) >> 2> Rewrite the 6551 ACIA drivers for the deluxe RS232 pak >> for my 6551 at a different address. sounds easy > No need to rewrite, unless you don't like the driver. With > OS9, all you have to do is change the address in the descriptor. >> 3> Rewrite the disk drivers for my WD 1793 disk controller >> what chip does the coco use? a WD 17xx I think > I'm not sure, but I do know it is a WD 179x. (1797 maybe???) >> 4> Write a boot strap loader for OS9 >> 5> At this point I should be able to boot OS9 with a >> terminal connected to my serial port. I then >> can write the drivers for my video (MC6845 based) and >> keyboard (7 bit ASCII w/strobe). > If you can find someone with the OS9 drivers for a Coco > WORDPAK or WORDPAK II, this addon board for the coco uses > a 6845. I beleive it was manufactured by PBJ. >> >>Does OS9 require a timer for switching processes? I have a 6522 VIA >>with 2 8 bit timers. Is this sufficent? > > The coco uses a 60 Hz timer interrupt. It only has one timer. > >Lee Newman >lnewman@emdeng.dayton.NCR.com >---------- I'm in the midst of a multi year GCP (Great Computer Project) doing a port of Radio Shack Coco OS9 L1 to a Smoke Signal Chieftain computer. This was the best way I could think of to learn about a multi-user/multi-tasking operating system. (This was back in the days before Minix.) And boy have I learned. The number one lesson was that I should have purchased it from Smoke Signal. Other than that it's been a really great project. There have been weeks of frustration trying to find some bug in the code followed by the exhilaration of seeing the OS9 logon message. Here's some hints. (Taken from memory so there may be some inaccuracies.) The OS9 kernel comes in two pieces. The first is the core which is loaded from Track 34(35?) by the Rom loader. The rest comes from the OS9Boot file which is loaded by the boot routine in the first part. The modules loaded by the rom loader are: OS9, OS9p2, Boot and SysInit. The OS9 core code is in OS9 and OS9p2. Boot is a simple read-only disk driver to read the OS9Boot file. SysInit contains some system configuration parameters such as the name of the disk to boot from and the terminal port to use for the console. Boot has to be rewritten for different hardware. You can get away without changing SysInit if you use the same names for your drivers and descriptors. OS9p2 is solid - no changes are needed here. Most of OS9 doesn't need to be changed but there is some implementation specific code at the start to set up the interrupt vectors. It also has some hardcoded addresses where it searches the kernel space for modules to put in the module directory. For the rest of the kernel (OS9Boot) you'll need customized drivers for your disk drive, serial port and an interrupt timer. The best source of info for my project was the Guide to OS9 book published by Rainbow Distributing and sold at Radio Shack stores. It has source code for sample disk and acia drivers in addition to a wealth of general information on OS9 and useful programs. This is a major project. It's taken hundreds of hours and is just now becoming useable (I still need to get the format program working and to get the disk driver running double sided). From a practical standpoint - don't do it. Educationally speaking - it's better to purchase a clone (argh - I can't believe I said that) or better yet, a ST and play with Minix. But if you love a challenge, have lots more time than money and are a little sadistic - go for it. The thrill of seeing the signon message and doing the first "dir" is about as good as it gets. Bill Vodall ps. All I've got left on the GCP is: wirewrap rom card, wirewrap 8 port acia card, add write-track to disk driver, fix os9gen and a write ram disk driver. Then I can start on a packet radio TCP/IP driver and porting Small C to OS9 (MicroWare - please fix your C compiler- It's wonderful and I'd love to be using it - But it doesn't fit in the memory left after a few drivers are installed).