====== BETA 6.1.0 UPDATE NOTES ====== Beta 6.1.0 (May 9, 2021 updates): The new programs, updated programs, and bug fixes that have been done since Beta 6.0.1 are listed below: Quick note: If you have customized your boot (any of the following: startup file, OS9Boot, env.file) in any way, and wish to keep those settings, please copy those files either to a floppy (or floppy image) or to a second hard drive, and then copy them back after you boot up 6.1.0. There are no new system modules between 6.0.1 and 6.1.0. Also, 6.1 is basically an "applications update", where we are including a lot of updated / new software from the wider NitrOS-9 (both EOU and regular) communities. A few system things that Bill and I had been working on aren't quite ready for primetime (I had one that was running, but found out it in testing it greatly slowed down a couple of programs, so it was pulled for now). 1) We had missed moving some of the newer system modules into /DD/MODULES (they were in their original ASM directories only); that has been fixed to make updating boot files easier. 2) A missing /dd/SYS/HRS_Data file (needed for full functionality with MShell) has been added. 3) The last of the Sierra homebrews (Operation:Recon), which is more of an animated demo at this point in it's development, has been installed in GAMES->LEVEL2->ADVENTURES->GRAPHICAL->OPERATION_RECON. 4) The MUSIC folder has been split by type, to make it more manageable. It also now has an icon for playing MUSICA files right from MultiVue/GShell. NOTE: While EOU defaults Musica files to the standard Coco 3 sound output (6 bit DAC), you can edit the /dd/music/musica/AIF.mus file, and change the second line to change the output device (assuming you have the proper hardware). You have 3 options: -d (Coco DAC output - the default) -s Speech Systems Stereo Sound Pak -o Orchestra-90 Stereo sound Pak 5) The MUSIC folder now also has two new formats (in their own folders) - CCT (Coco Chip Tune) and VGM (Video Game Music). These are specifically for the OPL3 chip in Ed Snider's Mega-Mini MultiPak Interface (MPI), and use Todd Wallace's new CCTPLAY command. Thanks, Todd! NOTE: These will NOT play if do not have the Mega-Mini MPI. Todd has many more songs that you can play; you can download a hard drive image with hundreds from his site here (and mount it as /H1):     https://tektodd.com/wp-content/CoCo-Downloads/chiptune.zip He has multiple other Coco projects as well, if you want to check them out:     https://tektodd.com/category/color-computer/ 6) Robert Gault's small footprint Icon Editor ICONGEN is installed in the APPS folder. This is a barebones editor, and does not show your current GShell palette settings (unlike SuperIke), but takes far less memory to run, and can handle large ICONS directories. 7) A new version of GCAL has been installed (originally written by Darren J. Kindberg in 1992), with quite a few changes/additions. It is highly recommended that you read the documentation (using 'VU /dd/docs/gcal.txt" is probably the easiest way) to learn how to use the new features. If you find that you do not like it, you can re-enable the original version by doing the following from any SHELL window: cd /dd/cmds rename gcal gcal.new rename gcal.org gcal 8) A new version of the Control panel program has been installed (mostly bug fixes and some tweaks from the versions in 6.0.0 & 6.0.1). The docs are also now in /dd/docs/control.readme, which explains how the presets and Gshell vs. regular palettes work, etc. 9) A port of the Unix utility AWK by Walter Zambotti has been added, along with with a HELP entry for it (type HELP AWK). There is also a /dd/AWK folder which has some sample files that help show how it works. 10) Shawn Driscoll's 1992 text adventure game (but presented on a graphics screen with 3 windowed areas) "Stranded... And Out of Gas!" has been added, as a good example of how one can use some windowing techniques to make a very nice presentation. At some point in the future I will see if I can patch it to speed it up; it currently does some windowing functions by SHELLing to the DISPLAY command, rather than using either the GFX2 module or direct escape sequences to the screen, slowing it down more than it needs to be. Some instructions are available in /dd/docs/strand1.doc. 11) O9GIF has been added. It's a fairly quick (by Coco standards) GIF viewing program, but with a much smaller memory footprint than VIEW or VIEWGIF, although it doesn't do extended color ranges as well. 12) Thanks to Jeff Teunissen, who has done updates to his DCC C compiler and it's libraries. He has also ported some other Unix utilities over using the compiler, to give a nice suite of tools. The new C compiler supports unsigned longs now, and some other enhancements. Details and source can be found on Jeff's Git Hub site:     https://github.com/Deek/CoCoC Some very brief descriptions of the new and updated programs follows:     DCC - newest C compiler executive. A little faster than before and uses less memory. Has the same effect on your programs, too. Also modified to be able to use new options for other parts of the compiler.     DCPP - Added ISO C "stringizing" and token pasting to the #define directive.     DCC68 - updated Compiler (6809)     DCO68 - updated optimizer (6809)     C.OPT - Now supports configurable pattern files, rather than hardcoded assembly recognition patterns. This will allow for special optimizations for Level 2 NitrOS-9, or 6309, etc.     CHOWN - Change the owner (user #) of files or directories. If you are the Superuser, you can change them to any user number.     GREP / EGREP / FGREP - Search for a pattern of characters in files. GREP is the regular version, EGREP is Extended GREP, and FGREP is Fixed GREP.     LEX - generates lexical analyzers. Commonly used with YACC (See below).     SED - Stream editor - edits input files to output files using scripts.     TR - Translate characters     YACC - "Yet Another Compiler-Compiler". A Look Ahead Left-to-Right (LALR) parser generator. There also updated Library and Defs files for the C compiler and RMA as well. 13) Help for the FILES command has been added. Beta 6.0.1 (January 23, 2021 updates): The bug fixes (and some updates) that have been done since Beta 6.0.0 are listed below: 1) Much thanks to Ed Jaquay, who solved a long standing bug in the EMUDSK driver that caused problems when copying from /h1 to /dd. This is now fixed (and it is slightly optimized). It also should boot properly from hard drive 0 if you reboot after last using hard drive 1. 2) Grfdrv has had an obscure bug fixed in it's PUTBLK routine (for get/put buffers) - if you were PUTing a graphics buffer on the screen where the last line of the get/put buffer coincided with the last line of the window you were drawing it on, it would draw an extra line of garbage. This has been fixed. Also, LSET's using XOR or AND logic on wide areas of at least 2 bytes are a little faster on the 6809. 3) Thanks to Bill Pierce, various new documentation files are now added to /dd/docs. 4) Thanks to JoAnn Donaldson, a missing carriage return in /dd/defs/stdlib.h has been fixed. 5) Thanks to Rob Inman, a GSHPAL setting bug in SuperIke has been fixed, and it will now display your chosen 4 GShell colors properly when showing icons. 6) A new version of the DWIO driver is installed on both the 6809 and 6309 Drivewire boots. This now preserves the DriveWire server version #, making it available for future use. 7) A new version of SysGo is installed on all images, which adds in DriveWire detection. This has several levels:     "Not Detected" - this means the Coco has booted up without the DWIO module loaded.     "Installed" - this means that the Coco has at least the DWIO low level DriveWire driver module loaded.     "Active" - this means that both the Coco has DriveWire drives loaded, and that the DriveWire server responded. It will also reveal the type or version of Drivewire that it found.     "(Inactive) - Checking" - this should only show up briefly if it finds the DriveWire server, but no device has been connected yet (it will try to open a path to any one of /X0, /X1 and /X2; if it can't it will ask you to check your DriveWire server). 8) Thanks to Jeff Teunissen, his new DCC C compiler has had two modules updated:       dcpp - should be much harder to crash     dcc68 - should also be harder to crash. Both modules should allow larger, more complicated projects to properly compile, by allowing dynamic allocation of memory between the symbol table and the stack, instead of more fixed sizes to each. 9) GShell - The Disk -> Set Devices pop-up menu now warns of its 5 (storage) device limit. EOU recommends specifying less than 5 default devices in the SYS/env.file (RBFDEV=/dd, h1, etc). Since default devices cannot be changed within GShell, the above guidance ensures that that lesser-used /devicenames (i.e. /d2 /x2, /r0) can be continuously swapped in or out. It has also had some minor patches to work with the new CONTROL program (see below). 10) FORMAT is now up to edition #26 (thanks, David Ladd!), which now can format both regular floppies (18 sectors per track) and the special 20 sector/track format that gives you more storage space on regular floppy drives. It works as per normal, except it now has an extra option 'e' (upper or lowercase is fine), which lets it use the 'e'hanced track format that gives you 2 extra sectors per track. This works on all physical floppy drives, irregardless of # of tracks or sides. 11) Owing to the newly discovered feature in GShell above, we have reduced the default drives for all configurations to leave at least one slot free for swapping. Of course, if you need a specific set of 5 drive devices all the time, you can change this by editing the SYS/env.file's. 12) Due to popular demand, the SDC only and EMU images now have the printer driver installed for the bitbanger. In the case of the emulators, you must make sure that they are set up for the bitbanger printer, and how they react to that (saving the printer output to a file, etc.). 13) Added CALL program by Scott Griepentrog, thanks to William Carlin, include docs in /dd/docs, and sourcecode in /dd/sourcecode/c/call. This allows performing a command on multiple files with a single command line. 14) SDC2 has been updated with some bug fixes when used with a multi-pak, and makes sure that it only runs on drives that are SDC related. Please let us know if you still find some issues with the new version. 15) SwapBoot has been updated to version 1.01. This version moves all 3 files of a set (OS9Boot, startup, env.file) into /dd/BOOTS, to help clean up the root directory, and make it easier for one to organize. 16) There is an additional DriveWire boot set that supports DriveWire through the RS-232 pak instead of the bit banger. 17) Guillaume Major's update to the MNLN module that is used by all of the Coco 3 Sierra games in now included. This allows playing music, but you can abort the music by pressing the BREAK KEY. This will work on 512K Coco 3's/emulators, and later 2 MB RAM machines/emulators that allow reading all 8 bits of the MMU (the latest Boomerang E2, Cloud 9 and Zippsterzone 2 MB RAM upgrades). The previous version is still available (in case problems are discovered). In /dd/cmds, 'MnLn' defaults to this new version. 'MnLn.org' is the previous version, and 'MnLn.new' is the new version. To change the version, simply do 'CP -o MnLn.*** MnLn', where *** is either 'org' (for the older version), or 'new' for the new version. 18) Many thanks to Fred Provoncha for his great work in re-writing the CONTROL program from scratch, so that it has a better presentation, has a new presets feature (which includes not only the 4 alternate color sets we showed in 6.0.0 release documentation, but many other color sets as well!), and will no longer corrupt the SYS/env.file if it is too large. NOTE: Any changes you make with CONTROL are saved to the ACTIVE SYS/env.file. If you want to make those changes permanent between SWAPBOOT's, you will need to do: CD /dd/sys CP -ov env.file env.file.     where is the current bootset you are running. This way, when you SWAPBOOT to something else, and the SWAPBOOT back to this set, your changes will stay. It should also be noted that GShell will keep the last colors you edited in control, so make sure you have the GSHELL button (under the Palette: column) pushed down on exit, otherwise it will use the "main" first 4 colors when you exit. BETA VERSION 6.0.0 (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 all system fonts, and a couple of batches of small, 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 will bring you to the shell much more quickly. QUICK NOTE ABOUT GSHELL: For programs that do not require full 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 will allow. For the ones running from the Tandy menu, they also have minimum sizes, but they will always be created with the window type you are running GShell 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 shell on the same screen. Rogue defaults to 640x200x4; launch it, and make it's size small enough to leave enough room for another app. Then, if you set your GShell resolution (in the pull down VIEW menu) to the same resolution/color, any of resizable Tandy apps (shell, control panel, calculator, clock) that can fit it's minimum size on the screen, will let you place it beside it. QUICK NOTE ABOUT VCC/OVCC: Since RUNB and BASIC09 are starting to get fully 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 will 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 still 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 hopefully 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 still need to keep things on the main image: It might be easier if you create your own directory and keep all 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 all 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 , and then do MSCOPY -alm * ). This is faster than the other method but doesn't compress quite as well. It also only does subdirectories if you manually 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 will combine them into the same archive. Extracting preserves attributes, and will create directories as needed automatically, 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 * Again, run from your new directory, and this will automatically do all sub-directories as well. The options used are: 'a' (add to archive - will create a new one if your archive filename doesn't exist, or add any new files to an existing one). The '-xpr' is actually 3 options: x means allow extended filenames, p means to keep full paths, and r means recurse through sub-directories. To restore, CD to the directory you want to restore into, and then LHA x -l . This will 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 small" 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 kill 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 (usually, you are using your own process # for the group #, so that you know it is unique, so you would send a 1b 2a 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 actually want. In the meantime, if you quit the 2nd game (which will then usually clean that group up itself), and then relaunch it, it will 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. Ed Jacquay, who fixed a long standing bug in the EMUDSK driver for the emulators, that caused some fatal problems when copying files from /h1 to /dd. 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 "officially" 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 will 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 installed, then replacing the 'SETIME <>>>/1' line in the /dd/startup file with 'GETCLK'    (or just typing it at a Shell 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 following suggestions, and let us now what the results are on your emulated system. Please include the following 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 following is most likely to happen: 1) It works fine. 2) It will work on the initial boot (your SHELL will report the proper date/time when NitrOS-9 boots), but it will return the incorrect time/date (either all 0's or "random" date/time) after about 1 minute. 3) It will 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 "env_file_documentation.rtf" file).: A) Real Coco 3 (6809 or 6309) - defaults to Composite video mode, and 40 column /TERM window and 40 column GShell. This makes it readable on all systems, but if you have RGB or VGA output (or good eyes!), you can change this (See separate documentation file "env_file_documentation.rtf" for details). B) Real Coco 3 with GIME-X (6809 or 6309) - defaults to RGB video mode, and 80 column /TERM and GShell. C) MAME, VCC or OVCC Emulators (6809 or 6309) - defaults to RGB video mode, 80 column /TERM and GShell, 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) Small bugfix in VTIO that will cause it not to work with CoGrf instead of CoWin (doesn't apply to EOU at all, 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 all 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 really 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 will be (very slightly) faster, but it also makes the combined module more than 50 bytes smaller, and releases some VTIO system RAM as well, which I plan on using shortly. :-) 10) The beginnings of the new SS.GIP2 SetStat call is installed. More features will be added in the future, so any undefined bits in X, and registers Y and U, should be set to 0 on entering this call so as not to cause unexpected results when the call is gradually 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 all 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 will 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 will also have keyclick on). • 11) MVCanvas is installed, in the GFX_APPS folder. The manual is available on the Color • Computer archive. This is a full featured graphics screen editor, like Colormax 3 or CocoMax III, • and even allows 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 scrolling (especially on full 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 80x25 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 well as large width Get/Put buffers. 14) DIR has been updated to edition 9. This shrinks the code slightly (and should be marginally 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 all). 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 small 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; Gshell/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 installed, and should work properly. 19) Bill 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 still 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 Bill Nobel for finding this one.     B) For the "G" option (generate all 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 smaller/faster edition #3 of KrnP3 (previously had edition #2) 22) REL will now show whether you are running the 6809 or 6309 versions of the kernel on boot. 23) REL will 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 smaller. 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) allows you to test the SS.GIP2 system call, and allows 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 actually 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 shell with TEST_SSGIP2. 27) A BASIC09 test program (/dd/sourcecode/basic09/testjoymouse.b09) is also included (and packed already), that allows you to test the Joystick and Mouse GetStat calls in conjunction with changing the SS.GIP2 2nd mouse button function. This will 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 FFill (flood fill) with patterns enabled (in Grfdrv) as best as I can, to prevent it occasionally 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 smaller, 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 installed. 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 occasionally 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 GShell by single clicking the .txt file, and then selecting File->List from the GShell 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 will 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 small 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 fully explained in the BASIC09 manual (it will be in the new version of the manual). This allows 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 call. 35) 6 new programs have been installed 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 III. They do run slow (but we are emulating another CPU running another OS, after all), but they do run. They run better on the upcoming GIME-X at 2.86 MHz, of course. ;-) 36) MShell (by Bill Pierce) has been reinstalled 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 well, but full documentation in PDF format can be gotten from Bill Pierce's website. 37) The new DCC (newer C compiler suite) by Jeff Teunissen has been installed (in such a way that the older version is still 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 all 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 GShell. 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 fully 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 called BFX2. These are functionally 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 called (which means they take 8K *EACH*), or the pre-merged versions in RUNB (which meant that all of them combined take 16K, since RUNB itself tags along). Using this new method, if your program uses    the calls Inkey, Syscall or Gfx, it takes NO extra RAM at all. 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 will work with RUNB). You can do these renames in several of the included text editors (VED still being my favorite), or within BASIC09's built in editor, which supports this with it's 'c*' command. (You will need to do these for each of the 4 modules your program uses; and example for syscall would be: 'c*/RUN syscall/RUN byscall' to make it ready for BASIC09, and 'c*/RUN byscall/RUN syscall' 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 will need to used 'KEYCLICK ON <>>>/1' so that it will keep the setting after the batch file is done running. 42) A new setting in /dd/sys/env.file, called 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 will 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 Bill 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 all) the bugs, and also allows 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 call 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 installed in /dd/demos/SIERRA_XMAS. 46) Home Publisher is installed 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 installed 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 allows for subtopics is installed, which has much complete help vs. the regular one. It allows 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 allows 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 all been updated, there is bound to be some errors, so please let us know if you find any. 49) Ultimuse 3 is now installed and launchable from the /dd/APPS folder. This is a 16 voice MIDI sheet music editor, and will play to MIDI synthesizers via the bit banger (with cable) or a MIDI Maestro or compatible MIDI pak. It is in a "fresh install" state, so that you can configure it the way you want. 50) MShell 1.03 is now installed, and can be ran from /dd/APPS. This is the mouse operated file manager written by Bill Pierce, and supports Drivewire, over the net updates, and many other features. It is in a "fresh install" 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 installed, CPU installed, 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 well) 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 Bill Nobel for the new version, which auto-sizes between 40 and 80 column windows. EOU still 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 called 'env_file_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 normally); if you set it to 1, then the second mouse button switch windows functionality is enabled (NOTE: Some two button programs will not function correctly with this enabled). Sysgo also now includes some error checking, and will 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, Bill!) is now installed. This is a multi-terminal version of TSMON (which stands for Time Sharing Monitor). It is basically 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 will use it will all 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 all 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 all 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 all 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. startup. SYS/env.file.       If any of these are missing, it will not let you select them. If it finds a complete set, it will 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 will set up the hard drive image for booting to the selected set. It will 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 will 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). All others are assumed to be for the SDC, and will 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 still 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 will 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 will 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 will have to run it from the command line, as we want to patch it up to use the full 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 will display the current time every second, but using almost no CPU time at all, and you can keep running other commands in that same screen. Please note that if you start typing a command in the SHELL, it will stop updating the clock until you finish typing in your command and hit ENTER, and then it will 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 will scroll 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 scrolls or not. 'h'orizontal you can place as you wish, as long as you allow 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 well, 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 called sys.l_6809 and sys.l_6309, and you can use RLINK (in your makefile, or manually) 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' actually 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 manually 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 partially installed, but known not to work (and will 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 Bill and I to debug/work on. I am sure others will be found. Please email me the details (what program, what specifically 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 installed (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 will try and find/fix them. ===== RTS ===== Return to [[:Top:]] or [[:NitrOS9EOU:]]