BETA VERSION 6 (December 24, 2020) NOTES:
Note that everything in the notes for Alpha's 1 to 3, and Beta's 1-5, still apply. These will
eventually all be merged into one document. If you have installed previous betas, you can
skip ahead to the “CHANGES FROM BETA 5:“ section.
NOTE: IF YOU ARE A USER BRAND NEW TO NITROS-9/EOU, PLEASE READ THE ”NitrOS9
Ease of Use - Beginners documentation.rtf”, WHICH HAS THE BASIC INSTRUCTIONS FOR
GETTING EOU (Ease of Use) RUNNING, AND SOME TIPS ON USING IT.
Please report any problems, bugs found, questions, etc. in the Discord NitrOS9EOU group,
or via email to me @ curtisboyle at sasktel dot net.
ALSO - PLEASE SCAN THROUGH THE BEGINNERS DOCUMENTATION FILE, AS IT
CONTAINS SOME UPDATED INFORMATION PERTAINING TO BETA 6.
QUICK NOTE ON STARTUP FILE:
The current startup file loads al system fonts, and a couple of batches of smal , commonly used
utilities (which makes the system seem faster once it is booted). However, if you would rather start
with the bare minimum (just the one 40 column window, no utilities/fonts, etc. pre-loaded) you can
simply hold down a SHIFT key while it is booting, and it wil bring you to the shel much more
quickly.
QUICK NOTE ABOUT GSHELL:
For programs that do not require ful screen windows: For apps ran from the main GUI window,
their icons are set up to run on a specific window type (ex. 320x200x4, 320x200x16, 640x200x4),
that you can then resize to the minimum that application wil al ow. For the ones running from the
Tandy menu, they also have minimum sizes, but they wil always be created with the window type
you are running GShel in, AT THE TIME OF LAUNCHING THEM. This means that you can
change types while running, and then launch such apps, so that you can run them beside other,
regular GUI apps, of the same type. This can help you if you want to run, say, Rogue next to a
shel on the same screen. Rogue defaults to 640x200x4; launch it, and make it's size smal
enough to leave enough room for another app. Then, if you set your GShel resolution (in the pul
down VIEW menu) to the same resolution/color, any of resizable Tandy apps (shel , control panel,
calculator, clock) that can fit it's minimum size on the screen, wil let you place it beside it.
QUICK NOTE ABOUT VCC/OVCC:
Since RUNB and BASIC09 are starting to get ful y 6309 optimized, and VCC has incomplete
support for the 6309, you may start hitting glitches (the hardware divided instructions in
particular). This does not affect the 6809 versions. The 6309 versions wil run fine on real
hardware, or on MAME. UPDATE: OVCC (a cross platform version), and VCC 2.0.1e now
have full 6309 support, and should work fine. But you must have VCC 2.0.1e or higher for
that support. There is also some work being done on getting OVCC to support a second
hard drive. The original VCC stil currently only supports a single hard drive, although that
is also getting an update very soon.
On the 6309 image, I have made pre-merged special RUNB (/dd/cmds/runb_alpha3) that
contains the older version from Alpha 3 that shouldn't use those instructions, but it does include
the new GFX2 (See below), for those of you using older versions of VCC. If you are going to go
that route, do a LOAD /dd/cmds/runb_alpha3 after booting, to make sure that you have the older,
more VCC compatible version loaded, and you hopeful y won't hit any issues.
QUICK NOTE ON FUTURE UPDATES:
Since we are doing public Betas now, one thing we need to worry about is people making
changes/additions/customizations to the images themselves. Since we are sending out hard drive
images “pre-built”, this would wipe out any said changes you may have done. So, this is a
warning to back these up
before getting the new image(s), and copy them back over afterwards.
NEW TO BETA 5: WE ARE INCLUDING A BLANK HARD DRIVE IMAGE, CALLED
EOU_USER.VHD, THAT IS MEANT FOR YOU TO PUT YOUR OWN PROJECTS ON. THIS
WILL WORK ON BOTH THE COCOSDC (IF MOUNTED AS DRIVE 1), OR IN MAME.
CURRENTLY, VCC & OVCC DO NOT SUPPORT A 2ND HARD DRIVE MOUNTED.
If you stil need to keep things on the main image:
It might be easier if you create your own directory and keep al of your new stuff in it (easier to
back it up). You can then either back these up to a new floppy or floppy image, or copy them to a
Windows/Mac/Linux box using the varying utilities that are around for that purpose (like Toolshed,
etc.). On a real Coco or MAME, you could even have a 2nd hard drive image for al of your local
stuff (VCC, at this time, only supports 1 hard drive image mounted at a time).
If you go the floppy/floppy image route, and you have made your own directory of your additions,
you should be able to do a CD <your directory name>, and then do MSCOPY -alm * <your
backup floppy name, like /d1) #56k. This wil copy al files and sub-directories (like DSAVE, but
*much* faster) as long as you have enough disk space.
If you find your stuff is too big, you can try compressing them first with one of two archive
compression programs (please note that both add their own extension automatical y - .ar or .lzh):
AR (AR -u <archive filename> <filenames to compress>). This is faster than the other method but
doesn't compress quite as wel . It also only does subdirectories if you manual y specify them, and
can only handle a certain number of files at a time (you can do it several chunks; the -u means
“update archive”, which means you can create an archive with some files, and then run AR -u
again with different files and it wil combine them into the same archive. Extracting preserves
attributes, and wil create directories as needed automatical y, and doesn't have a limit to the
number of files you are extracting, unlike when it is compressing.
The other option is LHA. It compresses better (but slower), and has a ton more options, but is
more complicated to use. I don't believe it has a (reasonable) limit to the number of files to
compress. Recommended usage for our situation here is:
LHA a -xpr <archive filename> *
Again, run from your new directory, and this wil automatical y do al sub-directories as wel . The
options used are: 'a' (add to archive - wil create a new one if your archive filename doesn't exist,
or add any new files to an existing one). The '-xpr' is actual y 3 options: x means al ow extended
filenames, p means to keep ful paths, and r means recurse through sub-directories.
To restore, CD to the directory you want to restore into, and then LHA x -l <archive filename>.
This wil extract the entire archive, with paths, and show the paths on screen while it is extracting.
Quick note on Snakebyte game: I had some oddities where some get/put buffers (or fonts)
appear corrupt, or it returns “buffer size too smal ” errors, when you run another program after
running Snakebyte and quitting that game. From what I am able to determine, it is because
Snakebyte doesn't clean up it's own get/put buffers after itself, and if the next program doesn't kil
it's own buffer group before sizing/reloading them, it may experience these errors. Most programs
do perform get/put buffer cleanup on exit. For programmers, probably the safest way to deal with
situations like this, is to have your program send a KilBuf for your get/put buffer group, for the
whole group (usual y, you are using your own process # for the group #, so that you know it is
unique, so you would send a 1b 2a <process#> 0), and then size, load/get the buffers needed for
your game. This way, you clean up after any misbehaving program that didn't do this yourself, and
you can make sure your get/put buffers are the size you actual y want.
In the meantime, if you quit the 2nd game (which wil then usual y clean that group up itself), and
then relaunch it, it wil be fine.
FIRST, A BIG THANK YOU TO THE FOLLOWING PEOPLE FOR CONTRIBUTING TO BETA 6
RELEASE, FROM BOTH BILL NOBEL AND L. CURTIS BOYLE:
Todd Wallace - new DOSDIR command, which formats the DIR like MSDOS, and reports
both file sizes and free space left on the current drive (floppy or hard drive) in decimal
instead of hex. Also for his IBMCGA font, which includes 224 characters from the ANSI
character set (CHR$(32)-CHR$(255)), which is in Group $C8, Font $42.
Jay Searle - for helping get the major project of redoing/updating the entire OS-9 Level II
manual off the ground. Thanks to him, we now have both the Windowing and Technical
Reference reference sections complete, available at:
http://www.lcurtisboyle.com/nitros9/nitros9_docs.html
Work on the next parts of the manual have started as well.
Jeff Teunissen - For giving us permission to included his new, more modernized C
compiler 'DCC' (and related parts) to be included as of EOU Beta 6. He also supplied the
new HELP command system that you can try out.
All of the original authors of various programs that we now have set up to run from GShell,
of whom there are too many to mention.
Also thanks to our testers:
Aaron Doughty, Michael Furman, Rob Inman, Ron Klein, David Ladd, Grant Leighty, Nick
Marentes, Nick Marotta, Mark Overholser, Floyd Resler, John Shawler, Terry Steege, Steve
Strowbridge, Tim Lindner, Ed Snider, David Lightman, Bill Pierce, and Todd Wallace.
NOTES ON RTC (REAL TIME CLOCK) SUPPORT
EOU Beta 6 now has some support “official y” for real time clocks. On the real Coco hardware
side, support for reading the real time clock from your DriveWire (or pyDriveWire) server is
supported, if you select the correct boot (and have the server running). This seems stable from
multiple people testing.
If you have an actual real time clock hardware chip in your Coco, you wil have to modify the
OS9Boot file and replace the Clock2 driver with the appropriate one from the NitrOS-9 repository.
Let us which ones from there work, and which don't. If you have a Smartwatch instal ed, then
replacing the 'SETIME <»>/1' line in the /dd/startup file with 'GETCLK' (or just typing it at a Shel
prompt) should update your time.
In the emulators, it seems to be a mixed bag, with no real predicability. This is where we need
your feedback; please try the fol owing suggestions, and let us now what the results are on your
emulated system. Please include the fol owing information:
1) What emulator you are running, at it's version number (ex. VCC 2.1.0b, MAME 64 bit
0.224, etc.):
2) What settings you used for the real time clock in the emulator (for example, MAME has
options for Disto, and Cloud9):
3) Whether you are running the 6809 or 6309 version of NitrOS-9 Beta 6:
4) What host OS are you running your emulator under, and it's version information (like
Windows 7 32 bit, Windows 10 64 bit, OSX Catalina, etc.)
This way we hope to narrow down why it seems to be inconsistent. From what we have seen, one
of the fol owing is most likely to happen:
1) It works fine.
2) It wil work on the initial boot (your SHELL wil report the proper date/time when NitrOS-9
boots), but it wil return the incorrect time/date (either al 0's or “random” date/time) after about 1
minute.
3) It wil always return 0/0/0 00:00:00.
In general, here are some things that seem to work more often than not:
1) VCC - Set slot 3 to be Hard drive + Cloud 9 RTC. Try the latest version (2.1.0b at the time of
this writing).
2) MAME - Bring up the MAME “GUI”, select Machine Configuration → Real Time Clock. Try
DISTO first. If that does not work, switch it to CLOUD9. If that doesn't work, use SWAPBOOT to
switch to the Emulator software clock instead.
CHANGES FROM BETA 5:
DEFAULT SETTINGS: EOU Beta 6 now has some different defaults, depending on whether you
are running from real Coco 3 hardware, or a GIME-X test system, or an emulator. These are
based on the minimum capabilities of each, but you can change them (what and how to change is
found in the separate “sysgo_documentation.rtf” file).:
A) Real Coco 3 (6809 or 6309) - defaults to Composite video mode, and 40 column /TERM
window and 40 column GShel . This makes it readable on al systems, but if you have RGB or
VGA output (or good eyes!), you can change this (See separate documentation file
“sysgo_documentation.rtf” for details).
B) Real Coco 3 with GIME-X (6809 or 6309) - defaults to RGB video mode, and 80 column
/TERM and GShel .
C) MAME, VCC or OVCC Emulators (6809 or 6309) - defaults to RGB video mode, 80 column /
TERM and GShel , and software clock. You can switch to a hardware clock, if you are lucky (see
page 4 above for notes and details).
For A) (real Coco 3, regular GIME), you can also boot with DriveWire, rather than just the SDC.
See SWAPBOOT instructions in the separate documentation file
“EOU_Beta6_Drivewire_updates.pdf” for details.
PLEASE BE AWARE: IF YOU SWITCH BETWEEN A REAL COCO AND AN EMULATOR, THE
STARTUP AND ENV.FILE FILES WILL BE LEFT IN THE LAST SWAPBOOT STATE. This
means that you should run SWAPBOOT after you switch, and select the appropriate boot set, to
make sure that it's settings take over (if you change them to match, of course, then you don't need
to unless you are changing between hardware configurations within either the real hardware or
the emulator; the OS9Boot files for each are on separate drives (/d0 for the emulators, and /dd for
the real Coco 3/SDC).
1) Smal bugfix in VTIO that wil cause it not to work with CoGrf instead of CoWin (doesn't apply
to EOU at al , since it requires CoWin, but would cause an issue with the Repository version of
NitrOS9). Also slightly optimized keyboard read routine. Also the SetStat SS.ComSt (when using
with VTIO/CoVDG combination devices) is fixed.
2) Fixed the attributes on the VEd..Defs file (in /dd/CMDS) so that you can save your own system
wide settings.
3) Fixed some sound files (with embedded Coco defined speed settings) on the 6809 image.
These were correct in Beta 4, but when the new directory structure was made for Beta 5, I
inadvertently copied the 6309 versions to the 6809 image (so they played at the wrong speed).
4) Fixed the AIF file for Color Computer Artist to default to 320x192x16 color mode (instead of
just 4 color mode).
5) Fixed Cyrus Chess to not switch system wide mouse settings on exit.
6) KwikGen now defaults to a 48K buffer (rather than 32K), which should handle al EOU boot
files, so you won't need to remember to add the '#48k' every time.
7) DISPLAY had an unreported (until July 4th) bug when processing decimal values - it would
produce incorrect results for any '0' digits in the decimal number. This is now fixed. Thanks to
John Federico for finding this and reporting it on Discord.
8) Todd Wallace's new DOSDIR (MS-DOS style DIR command - looks real y good with Todd's
IBM CGA font!) has been added, including sourcecode in /dd/sourcecode/asm.
9) KeyDrv (the keyboard driver) has been merged back into VTIO. This wil be (very slightly)
faster, but it also makes the combined module more than 50 bytes smal er, and releases some
VTIO system RAM as wel , which I plan on using shortly.
10) The beginnings of the new SS.GIP2 SetStat cal is instal ed. More features wil be added in
the future, so any undefined bits in X, and registers Y and U, should be set to 0 on entering this
cal so as not to cause unexpected results when the cal is gradual y updated with more features.
SS.GIP2 (Global Input Parameters 2)
Entry: A=current path
B=$99
Y=$0000 (reserved for future use)
U=$0000 (reserved for future use)
For the following, each flag is handled by 2 bits:
X=MSB: 0xxxxxxx = Leave 2nd mouse button function unchanged
10xxxxxx = Disable 2nd mouse button as CLEAR key
11xxxxxx = Enable 2nd mouse button as CLEAR key
xx0xxxxx = Leave current key click setting alone
xx10xxxx = Disable key click on current window
xx11xxxx = Enable key click on current window
Key click is a local window setting (based on current path), and works on both CoWin and CoVDG
windows. 2nd mouse button function is system wide, affecting al CoVDG and CoWin windows. It
should be noted how the 2nd mouse button as window select works:
1) Click and release 2nd button by itself - go to next window (same as CLEAR key)
2) Click and release 2nd mouse button while 1st button is held down - It wil go to the previous
window when you release the 2nd button (same as SHIFT-CLEAR keys). If you keep holding
button 1 down, you can keep click/releasing the 2nd button to keep going backwards through your
windows.
One other note on the 2nd mouse button functionality - previous versions of NitrOS-9 3.xx.xx had
this hard coded to the right joystick port only. It now uses the system setting that you specify, so
you can make it left or right, as you prefer.
A note on Key click - if you create another window, the key click status is carried over from the
parent window. (ie if you have Key click enabled in /TERM, and you do a SHELL i=/w4& from
/term, then /w4 wil also have keyclick on).
⁃
11) MVCanvas is instal ed, in the GFX_APPS folder. The manual is available on the Color
⁃
Computer archive. This is a ful featured graphics screen editor, like Colormax 3 or CocoMax III,
⁃
and even al ows editing at 4 different screen/color resolutions.
⁃
12) Pierre Serrazin's Color8 game (level 1 graphical card game based on Crazy 8's) in
GAMES/LEVEL1/CARD_GAMES. As with most level 1 graphics games, it takes a lot of system
RAM, so don't run it with a lot of other windows, and make sure to close it when you are done
playing.
13) Screen scrol ing (especial y on ful width text and graphics screens with no borders) is about
14-15% faster on the 6809 (ex. listing a text file 287,298 bytes long went from 237 seconds to 204
seconds on an 80×25 hardware text screen, and went from 1535 seconds to 1251 seconds on a
640x200x4 graphics screen). GPLoad's should be a little faster too, as wel as large width Get/Put
buffers.
14) DIR has been updated to edition 9. This shrinks the code slightly (and should be marginal y
faster) and fixes a longstanding bug when filenames >15 characters are present while running in
a window with <48 character width.
15) Much thanks to Paul Shoemaker, we now how have his nicely draw 16 color card sets (55
get/put buffers in al ). They are in reserved get/put buffer group #207 ($CF), but they are NOT
loaded by default, as they are fairly large. The buffers themselves are in /dd/sys/carddeck; sample
BASIC09 code is in /dd/sourcecode/basic09/cardbase.b09. It has 3 subroutines you can use
(please read the comments), and a smal test program. The graphics speed, even on the 6809, is
quite decent, so it would be quite possible to make a card game in BASIC09 where one could
drag and move the entire card around.
16) An updated version of GPMAP is included that is both faster, and now knows about two more
special get/put buffer groups: Stdwnd (group $CE; Gshel /MultiVue extended graphics) and
StdCd16 (group $CF, the new playing card 16 color graphics mentioned above). Source code is in
/dd/sourcecode/basic09/gpmap.b09
17) 6 pixel wide and proportional fonts are sped up a few percent on both 6809 and 6309.
18) Ultimuse III's latest release (G) is now instal ed, and should work properly.
19) Bil has added a early alpha version of a new SDC2 utility which is an easier to use/remember
commands version of Barry Nelson's earlier SDC utilities (which are also stil present in case you
have scripts set up).
NOTE: AS OF DECEMBER 2020, THIS STILL HAS SOME BUGS BEING WORKED ON.
20) ASM is now up to Edition #11, Revision 1. This contains two bug fixes:
A) Modules that contain bytes that should be generated before the MOD statement (like REL
uses, for example), were erroneously including those bytes in the CRC calculation for the module.
That has been fixed. Thanks to Bil Nobel for finding this one.
B) For the “G” option (generate al bytes on program listings when the “L” listing option is
selected), ASM was erroneously throwing part of the original source line (and shifted to a weird
position) on the last line of any block that was >4 bytes, and that did not end up being an even 4
bytes. That should be fixed. Thanks to David C. Wiens for reporting this error.
21) 6809 versions now have the slightly smal er/faster edition #3 of KrnP3 (previously had edition
#2)
22) REL wil now show whether you are running the 6809 or 6309 versions of the kernel on boot.
23) REL wil also now show if you are running a GIME-X at 2.86 MHz or not on boot. This is the
first of our GIME-X support, which is to run the entire OS at 2.86 MHz (except when accessing
the SDC; it has to drop back to 1.78 Mhz for that). Thanks to Bill Nobel for getting the 2.86 Mhz
working across multiple modules! Please note: You have to use the specific 68GIMEX.VHD or
63GIMEX.VHD in order to get the increased speed, and you must have a static RAM based
memory upgrade (Triad, Triad+, Boomerang/Boomerang E2 (latter needs latest updated version),
and Zippster's 2MB RAM upgrade).
24) The RAM disk driver RAMMER is slightly faster on reads on the 6809 now. The 6309 version
is a tad smal er.
25) The “use the 2nd mouse button to switch windows” has been fixed now to use what ever
mouse port you have active (previously, it was hardcoded for the right port only).
26) A BASIC09 test program (/dd/sourcecode/basic09/test-ssgip2.b09) al ows you to test the
SS.GIP2 system cal , and al ows you to turn key click on/off in the window you run it from, and
whether to enable the 2nd mouse button for changing the active window or not. It is currently
defaulted to OFF on boot (it actual y made some programs that required a 2 button mouse not
work properly), but you can turn it on again with this utility. It is also already packed, so you can it
from the shel with TEST_SSGIP2.
27) A BASIC09 test program (/dd/sourcecode/basic09/testjoymouse.b09) is also included (and
packed already), that al ows you to test the Joystick and Mouse GetStat cal s in conjunction with
changing the SS.GIP2 2nd mouse button function. This wil monitor the 2 buttons (depending on
your SS.GIP2 setting) and the position of joystick (0-63 x 0-63) or mouse (scaled to 0-639 x 0-
198).
28) I have tried patching the FFil (flood fill) with patterns enabled (in Grfdrv) as best as I can, to
prevent it occasional y getting stuck in an infinite loop with certain patterns and with certain
backgrounds it is painting over. However, this may cause it to exit with a stack overflow error on
occasion (even the original from Tandy/Microware did - hugely complex paint areas can cause
this error). So, when filling (painting), try to make sure that you are doing smal er, enclosed areas
to prevent such an error from happening.
29) Fixed a bug in the Memory dump option in the DEBUG utility (Thanks to Paul Barton for
pointing out this bug!)
30) Floyd Resler's Gem Quest game is now instal ed. It has been patched a bit to slow it down
to a playable speed, by adding some extra sound tickets for walking and climbing ladders. Some
other minor patches to the original is to return the memory for it's Get/Put buffers back to the
system on exit, and fixing a bug where the pods would occasional y disappear before being
destroyed. The manual is viewable in /dd/docs/gemquest.txt. You can view that on an 80 column
hardware text screen with 'VU /DD/DOCS/GEMQUEST.TXT', or through GShel by single clicking
the .txt file, and then selecting File→List from the GShel menu.
31) MODBUSTER (a utility to split a file of merged memory modules into each separate file
within) has been updated to report errors a bit better, and also to display the name of each
module being split out, as they are created.
32) GFX has been updated to include the FILL function (no parameters) which wil paint the
current foreground color at the current graphics cursor location. This is for medium resolution
screens (Coco 1/2 style graphics screens). There is a smal test program demonstrating it in
/dd/sourcecode/asm/basic09/test_programs/gfxtest.bas. This must be run from a 32 column VDG
window. It also includes sample code for the GLOC function, which is mentioned but not ful y
explained in the BASIC09 manual (it wil be in the new version of the manual). This al ows you to
get the address of the graphics screen, where you can POKE and PEEK around to your hearts
content.
33) PIPEMAN as been very slightly optimized.
34) DISASM has had a minor bug fixed (PSHU/PULU used U for the register to push onto itself).
Fixed so that is S. It has also been updated to properly disassemble the new I$ModDsc system
cal .
35) 6 new programs have been instal ed in the EMULATORS/CPM folder, for those who want to
run some old 8080 based CP/M programs. Added is Supercalc, Turbo Pascal, Wordstar, and
Zork I/Zork II/Zork II . They do run slow (but we are emulating another CPU running another OS,
after al ), but they do run. They run better on the upcoming GIME-X at 2.86 MHz, of course.
36) MShell (by Bil Pierce) has been reinstal ed with version 1.03. I have not “initialized” it, so if
you type MSHELL from a text screen, and then hit ENTER after the screen clears and a cursor
comes up, you can set the defaults for it to your own tastes. There is some documentation for it in
/dd/docs as wel , but ful documentation in PDF format can be gotten from Bil Pierce's website.
37) The new DCC (newer C compiler suite) by Jeff Teunissen has been instal ed (in such a way
that the older version is stil there, just in case). See the separate documentation that comes with
EOU Beta 6 for details on what has been updated and improved. Currently it does 6809 code
only.
38) 7 more Sierra AGI engine based games have been added: Mixed-Up Mother Goose (Sierra
game) and 6 Homebrews: AGI Quest I, Caitlyn's Destiny, Enclosure, Time Quest, V and
Voodoo Girl. These can al be found in /dd/games/level2/adventure/graphical.
39) An *adult* Strip Poker game has been added in the games/level2/Card_Games folder. If this
is offensive to you, feel free to delete the directory, or rename the AIF file to something else so
that it doesn't shows up as double clickable in GShel . The game is exclusively keyboard, and is
based on an original for the IBM PC from way back, using the left/right arrow keys and space bar.
This was another that I had de-compile, and I think it is ful y working, but if you find a bug, let me
what you did to get it. The sourcecode is in /dd/sourcecode/basic09/games/spoker.
40) We have made new special merged versions of BASIC09, with some common
BASIC09/RUNB subroutine modules merged, and with slightly different names. Currently, this is
only the Tandy ones (although updated): SYSCALL, INKEY and GFX are merged and name
BYSCALL,BNKEY and BFX, respectively. GFX2 now has a matching standalone version cal ed
BFX2. These are functional y identical to the regularly named versions, and are meant for use in
debugging programs in BASIC09's pre-packed and debugging modes. Using the originals meant
that they need to get mapped into BASIC09's 64K process space along with BASIC09 itself
(which takes 3 MMU blocks itself, and 1 more for it's internal variables and the start of your
programs). There were two ways this happened; loading each one separately as they were cal ed
(which means they take 8K *EACH*), or the pre-merged versions in RUNB (which meant that al
of them combined take 16K, since RUNB itself tags along). Using this new method, if your
program uses the cal s Inkey, Syscal or Gfx, it takes NO extra RAM at al . Adding GFX2 to the
mix is only 8K RAM extra. This way, you can test your larger BASIC09 programs by simply doing
a wildcard replace of those RUN modulename's with changing the first letter to a 'b'. Once you
have finished debugging your program and are ready to PACK it, simply use the wildcard name
replace to rename them back to normal (so that they wil work with RUNB). You can do these
renames in several of the included text editors (VED stil being my favorite), or within BASIC09's
built in editor, which supports this with it's 'c*' command. (You wil need to do these for each of the
4 modules your program uses; and example for syscal would be: 'c*/RUN syscal /RUN byscal ' to
make it ready for BASIC09, and 'c*/RUN byscal /RUN syscal ' to change it back before PACKing
and making it ready for RUNB). This also means that other RUNB programs you may be running
other windows won't be adversely affected while you are working on larger BASIC09 projects in
your main window.
41) New KeyClick command added. You can use this to turn Key clicking on or off on the window
(or VDG screen) that run it on. Usage is 'KEYCLICK ON' to turn it on, and KEYCLICK OFF to turn
it off. NOTE: If you want to run it from a batch file (like STARTUP, for example), you wil need to
used 'KEYCLICK ON <»>/1' so that it wil keep the setting after the batch file is done running.
42) A new setting in /dd/sys/env.file, cal ed MSECLR, has been added. If this setting is not
present in the environment file, then GSHELL leaves the current 2nd mouse button setting alone.
If it is present, and is set to 0 (MSECLR=0), then the 2nd mouse button is just the normal 2nd
mouse button. If it is set to 1 (MSECLR=1), then the 2nd mouse button is used to switch between
windows (see item #10 above to see how use this feature, including window switching direction).
A forewarning - we do plan on adding some extra functionality to the 2nd mouse button that would
need the window switching shut off, but wil try to do it in such a way that you can do both without
having to switch modes.
43) The LIB and DEFS directories have been updated to newer versions, including stuff new to
Beta 6 (this is used by C, for example), thanks to Bil Nobel (and some assembly defs from Curtis,
too, and a new cstart.r from Jeff Teunissen).
44) RSB (in /dd/emulators/rsb) has been upgraded to version 1.3, which fixes some (but not al )
the bugs, and also al ows the Window (non-VDG) version to use up to 32K of RAM for you
programs, vs. the original limit of ~24K. It also includes more demo programs, including several
that show how to cal NitrOS-9 functions from within RSB (including windowing!)
45) The Sierra Xmas Demo (which even lets you customize a couple of lines of text it shows),
which shows animated Christmas scenes along with Christmas music, is instal ed in
/dd/demos/SIERRA_XMAS.
46) Home Publisher is instal ed in /dd/GFX_APPS, and includes a fair amount of bonus artwork
compared to the original (including a lot of fantasy themed graphics).
47) Phantomgraph is instal ed in /dd/APPS. We have it defaulting to 640x192x4, but you can edit
the AIF file and change the type to a different graphics mode if you wish.
48) A new Help system that al ows for subtopics is instal ed, which has much complete help vs.
the regular one. It al ows sub-topics, has page pausing built in (even if not running from MultiVue),
and thanks to Jeff Teunissen doing some last minute patches for us, it al ows clicking the mouse
button to continue a longer Help listing (just like the original, which was designed to do this for
MultiVue). Jeff also had much more extensive Help files available, so there is now extensive
BASIC09 help (including several levels of subtopics), which have been updated for the new GFX
and GFX2, etc. Since GShell, HELP and the help files themselves have al been updated, there
is bound to be some errors, so please let us know if you find any.
49) Ultimuse 3 is now instal ed and launchable from the /dd/APPS folder. This is a 16 voice MIDI
sheet music editor, and wil play to MIDI synthesizers via the bit banger (with cable) or a MIDI
Maestro or compatible MIDI pak. It is in a “fresh instal ” state, so that you can configure it the way
you want.
50) MShell 1.03 is now instal ed, and can be ran from /dd/APPS. This is the mouse operated file
manager written by Bil Pierce, and supports Drivewire, over the net updates, and many other
features. It is in a “fresh instal ” state, so that you can configure it the way you want.
51) Sysgo has been replaced by a new version that reports your basic hardware when it boots
(RAM instal ed, CPU instal ed, SDC and GIME-X detection), has a much fancier presentation, and
also sets some system settings from the /dd/sys/env.file (like MultiVue and other system programs
do as wel ) which are easily editable with any text editor. Previously, some of these settings had to
be changed by re-assembling the INIT module, which is beyond the casual user. Thanks to Bil
Nobel for the new version, which auto-sizes between 40 and 80 column windows. EOU stil
defaults to 40 columns on the /term screen, to make at least one window easily readable for those
with composite monitors or TV's. There are new keywords in env.file that are currently exclusive
to Sysgo, and are in a separate documentation file cal ed 'sysgo_documentation.rtf', if you
wish to explore these new features. One in particular you may want to change is MSECLR. It is
currently set to 0 (2nd mouse button runs normal y); if you set it to 1, then the second mouse
button switch windows functionality is enabled (NOTE: Some two button programs wil not
function correctly with this enabled). Sysgo also now includes some error checking, and wil
report some things that are out of bounds from the env.file, pausing so that you can read about
the error (for example, trying to make /term 80 columns wide, when you set it to type 1… which is
40 column screen type).
52) MTSMON (Thanks, Bil !) is now instal ed. This is a multi-terminal version of TSMON (which
stands for Time Sharing Monitor). It is basical y a program to let you set up terminal ports (or
virtual windows with Drivewire) that can be logged into, with passwords, permissions, etc. (see
the Developers package manual on the Color Computer Archive to find out how to set up the
password file, LOGIN, etc.). But since this has 1 program that sets up multiple ports, it takes less
memory than running multiple TSMON's like in the old days. You make a list of ports (devices) in
the file /dd/sys/stdports. So you could have something like:
/z1
/z2
/t2
Which means virtual windows /z1 and /z2 for Drivewire, and the /t2 for a real RS-232 port. NOTE:
No default /dd/stdports file is premade, since those that wil use it wil al have unique setups.
Source code is also included in /dd/sourcecode/asm/mtmson.
53) DriveWire/pyDriveWire support is now an option for real Coco 3's. As distributed, EOU Beta
6 defaults to SDC only (it is the most compatible with al programs, including Level 1 OS-9
graphic programs). However, by running the new SWAPBOOT utility, you can switch to a boot that
also supports the DriveWire protocol. See the SWAPBOOT instructions below for details.
54) SWAPBOOT added.
SwapBoot is a utility that lets you swap between not only
OS9Boot (which is the main operating system, including al hardware drivers) file itself,
but also your boot environment (which includes the startup file script, and the your
env.file (environment file), including the new enhancements to the environment added in
EOU Beta 6. There are no command line parameters in SwapBoot; it is presented by
menus, making it easier to use. It also checks to make sure that al 3 parts of a “set” are
present before it lets you select them, thus cutting down on issues of incomplete sets.
SwapBoot does this by checking for complete sets of 3 files (each with the same matching extension
& not case sensitive):
OS9Boot.<boot set name>
startup.<boot set name>
SYS/env.file.<boot set name>
If any of these are missing, it wil not let you select them. If it finds a complete set, it wil add it to the
interactive menu of boot sets that you can choose from (maximum of 20 at any given time). You can
then pick one to be your next active boot, and it wil set up the hard drive image for booting to the
selected set. It wil then reboot the Coco to DECB, where you can type DOS to boot NitrOS-9 with your
new settings. By default, EOU Beta 6 contains four sets:
Standard SDC (.sdc)
SDC with DriveWire (.dw)
Emulator with software clock (.emusoftclock)
Emulator with hardware clock (.emuhwareclock)
You can add your own, which can be special hardware drivers, or slimmed down boot files with less
windows for a memory hungry program. It could be the same OS9Boot (just copied over) but with a
custom startup file with less fonts, different windows launched, and/or custom env.file with different
boot screen settings, colors, mice and keyboard settings, etc. Please note that any sets that contain
‘emu’ in it’s extension wil be interpreted as being for the emulators (VCC or MAME), and the OS9Boot
files in those cases apply to the d0 floppy drive (68EMU.DSK or 63EMU.DSK). Al others are assumed
to be for the SDC, and wil apply to the dd hard drive (68SDC.VHD or 63SDC.VHD). Startup files and
env.file’s are always done on the hard drive image (dd).
This is stil considered somewhat experimental, but seems to be working across multiple beta
testers. Please report any bugs you find to: curtisboyle at sasktel dot net.
It should be mentioned here that you must have a DriveWire server running before you boot with the
DriveWire set; the DriveWire set wil not only let you access DriveWire virtual drives, but also get the
date and time from the DriveWire server (so you don’t have to type it in by hand anymore).
55) VIEWGIF version 2.0 has been added as an option to view GIF pictures. This program has a
*lot* of options to fine tune how it displays pictures, and even uses a combination of dithering and
flipping between 2 screens with different palettes to get quite good results, even on 256 color GIF
pictures. It wil let you save as 2 screen VEF pictures too, which load a lot faster (because the
program is using advanced color mixing algorithms, it is fairly slow to display). For now, you wil
have to run it from the command line, as we want to patch it up to use the ful 200 line vertical
resolution, and this version currently only does 192 line.
56) CORNERCLOCK has been added. This can be used on any hardware text window, graphics
window, or VDG text window, by typing 'cornerclock&'. This wil display the current time every
second, but using almost no CPU time at al , and you can keep running other commands in that
same screen. Please note that if you start typing a command in the SHELL, it wil stop updating
the clock until you finish typing in your command and hit ENTER, and then it wil start updating
again. You can run this multiple times on multiple windows too, if you wish. It also 3 options that
you can set:
- : A minus sign means an inverse video clock, which is higher contrast/easier to see, but
possibly more distracting.
h(xx) : Where xx is a 1 or 2 digit decimal number giving the Left X Coordinate to print the time at.
v(yy) : Where yy is a 1 or 2 digit decimal number giving the Y Coordinate to print the time at.
Do not use parenthesis on the X,Y start positions. If you wanted the clock at 20,5, you would do:
cornerclock h20 v5&
Also note that these coordinates are 1 based, not 0 based. Default is the upper right corner of the
screen. It should also be noted that putting the clock on lines further down than the top of screen
wil scrol up as you print things at the bottom of the screen, leaving a trail of times. The 'v'ertical
option is mainly for incorporating the clock into a program, so that it can control when the screen
scrol s or not. 'h'orizontal you can place as you wish, as long as you al ow for 9 characters to the
right of your coordinate.
NOTE: CORNERCLOCK IS NOT FULLY FUNCTIONING ON 6809 BOOTS (it starts fine, then
sometimes disappears from the screen, even though it is still running). Will try and fix for
6.1 release.
57) Updated Sys.l libraries are now in /dd/LIB (the original is there as wel , in case their are any
compatibility problems. These include cocosdc, rfm, DriveWire, update scf, rbf and os9 related
updates. There is also a 6809 and 6309 version; the difference is the register stack offsets (like
adding R$W and shifting registers for the 6309 stack frame). The new ones are cal ed sys.l_6809
and sys.l_6309, and you can use RLINK (in your makefile, or manual y) to choose which one you
are using.
58) The /dd and /h1 descriptors have been updated to more closely match the equivalent CHS
drive geometry, for some older utilities. (The VHD 'drives' actual y use LBA mode and ignore the
CHS settings for most functions).
SOME KNOWN BUGS/GOTCHAS/SPECIAL NOTES:
To get people to try the keyclick feature, Keyclick is enabled on /TERM only by default (you can
change this in the /dd/sys/env.file). You can also manual y disable it by typing KEYCLICK OFF.
You can turn it on in other windows by type KEYCLICK ON.
There are also some programs that are partial y instal ed, but known not to work (and wil crash).
If you go into a games folder, but there is no actual game icon to click on, it's probably one of
those. Please don't try to run them until the next release. I have left them on the VHD's for Bil and
I to debug/work on.
I am sure others wil be found. Please email me the details (what program, what specifical y it is
doing wrong, whether you are running on real hardware or an emulator (which emulator, and
which version of the emulator, if the latter). Also mention if on the 6809 or 6309 version, and what
RAM you have instal ed (and brand). Email bug reports to curtisboyle at sasktel dot net, or post
them in the #nitros9eou channel (under 'OPERATING SYSTEMS' on the CocoTalk! Discord), and
we wil try and find/fix them.
Return to Top or NitrOS9EOU