OS9 - The First Step for CoCo3 The main problem with OS9 as issued by Tandy is their stupid insistance on adhering to the CoCo 'standard' of 35 track, single sided drives and VDG (very dumb green) 32 column video. Fixing it is a little bit of a pain; you'll need 3 blank disks and an hour of work. At least it only has to be done once! After enduring this procedure, your CoCo should boot to 2 80 column windows in RGB mode, with 2 (or 3) 40 track double sided drives @ 6ms step rate, with your choice of serial port and printer baud rates. Make a copy of the basic09 disk using backup (you can even do this from DECB [Disk Extended Color Basic] if you want), then put the new disk in drive 1, and the system master in drive 0. Type: chx /d0/cmds;chd /d1/modules;edit bootlist [when you see "type:", you always press "ENTER" at the end of a line.] Bootlist is just that, a list of the modules to be used when making a custom version of OS9Boot. Since the version Tandy included is pretty lame, we are going to change it with edit to use 40 track drives and the windowing system. Since you entered "edit bootlist" you should now be seeing E:, the edit prompt. Type: c*/35s.dd/40d.dd/ [c* = change all occurances] c/vdg.dt/win.dt/ q Q saves the changes and returns to OS9: prompt. Now to load some stuff into RAM to free up the drive the system disk is in, type: load format;load os9gen Remove the system disk from drive 0 and insert a blank one in it's place. Type: format /d0 When the formatting is done, type: os9gen /d0 </d1/modules/bootlist [makes OS9Boot using bootlist] Now, remove the BASIC09 backup disk from drive 1 and replace it with the System Disk! Type: chd /d1; chx /d1/cmds; dsave /d1 /d0 ! shell [copies rest of disk] We have to use dsave here because backup would clobber the new boot just made. This is a good time to take a coffee break. Dsave will take something like 5 minutes to copy the entire system disk file by file. That's version 1 - a 40 track capable boot stuck on a 35 track disk. -1- Press reset once to reboot the system. It should come up in a 40 column term screen. Now there are a few more things to change before making version 2 - the true 40 track boot disk. First to change term to 80 columns and set the 6ms stepping rate for the disk drives. To do this, we'll use modpatch. Modpatch uses a file that lists the changes to be made. To create this file, we'll use edit again. Type the following - (Note each line between edit and q starts with a space). edit patch l term c 002c 28 50 c 0030 01 02 v l d0 c 14 00 03 v l d1 c 14 00 03 v q Now type: modpatch patch There are a few last changes - permanently setting printer and modem baud rates. In the following lines, replace # with 3 for 1200, 4 for 2400, 5 for 4800, 6 for 9600, or 7 for 19.2K baud. xmode /t2 baud=# [makes changes xmode /p baud=# in memory] Now everything is set up in RAM. All thats left is to save the final version to disk. Format one last blank disk in drive 1. This time it should verify all they way to 4F and probably show $5A0 sectors, signifying a 40 track double sided disk. cobbler /d1 [transfers OS9Boot from memory] chd /d0 dsave /d0 /d1 ! shell [rest of disk] When dsave gets done, reboot with the new disk. This disk has more than twice the room the old one did; so the Basic09 stuff will fit on it. Copy it over as follows. Assuming new Master in /d0, Basic09 in /d1, type: chd /d1/cmds copy Basic09 /d0/cmds/Basic09 copy Runb /d0/cmds/Runb -2- copy gfx2 /d0/cmds/gfx2 copy inkey /d0/cmds/inkey copy syscall /d0/cmds/syscall You'll note I didn't include gfx- it's only for CoCo1/2 compatable Basic programs. One last thing you'll like is a second window started automatically. (And I guess RGB mode would be nice [assuming you are using an RGB monitor]). Once again, time to edit! (Assumes Master in /d0) Type: chd /d0 edit startup +* montype r iniz /w7 shell i=/w7& q (Finally) Done! P.S. No attempt was made to explain what every line given above does, since a reasonable explanation would swell this file to unmanageable size. The idea was to just get the job done, and figure it out later. This last section is a selection of common problems: OS9 has the equivalent of two DRIVE(x) commands- chd and chx. The first points to current data directory and the second to current execution dir (usually a CMDS dir). They are a little more complex than DRIVE(x), due to the directory tree system used by OS9. Not only do you have to repoint to use a different drive, but also when using a different disk in the same drive, since its directories may be in a different place on the disk. A 216 or 214 often means you forgotten to do a chx or chd. To avoid the need to chx or chd all the time, you can use a full pathlist to get a file. Say you're pointed to a disk in drive 1, and need to run something off of the system disk in drive 0. /d0/CMDS/something will find it. Another reason for a 214 error is that the file execution attributes are not set- you'll notice practically everything in the os9 sig is an .ar file. When you burst these files with Ar, it doesn't always set the execute attributes, so the file won't run. Use "attr filename e pe" to make it runable. OS9 doesn't have an llist command, instead you have to redirect to the printer. list file >/p will do that. Most commands may be redirected. To get a printed directory dir >/p. And so on. If you have -3- a long file to print, you can do it in the background by adding an ampersand: list file >/p& One other neat redirection - if you are in conference and want to show somebody your module directory (or whatever), clear key to another window and redirect to /t2, as in: mdir >/t2. It will look a little goofy on your end, but everyone else sees a pretty formatted mdir. Something apparently missing is CLS. It's not really missing, just hidden. Use display c. Many of the 3rd-party utilities contain a built in help file. To see it, type: utilityname -? Printing these help files often stumps folks, since they are output on the error path. Use utilityname -? >>/p if the normal method doesn't work. Starting another window isn't that difficult. To form a full screen 80 column window with a shell in it, type: iniz /w# display 1b 20 02 0 0 50 18 1 0 0 >/w# shell i=/w#& Where # is the window you want to start (notice we've already used 7), and the last 3 numbers in the display command(1 0 0) are foreground,background,border color. These are hex numbers, so 50 18 is 80x24. There is a utility (wcreate) that uses decimal numbers, but display is faster, since it's always in ram. Best of luck:-) -Ricku
Amiga7878