BETA 6 UPDATE NOTES

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 SETTINGSEOU 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.

RTS

Return to Top or NitrOS9EOU