Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!decvax!ucbvax!cbatt!cbdkc1!os9@cbosgd.att.com From: os9@cbosgd.att.com Newsgroups: mod.os.os9 Subject: OS-9 Discussions, V2 #8 Message-ID: <1798@cbdkc1.UUCP> Date: Fri, 19-Dec-86 16:10:26 EST Article-I.D.: cbdkc1.1798 Posted: Fri Dec 19 16:10:26 1986 Date-Received: Sat, 20-Dec-86 00:01:00 EST Sender: daleske@cbdkc1.UUCP Organization: AT&T Bell Laboratories, Columbus Lines: 442 Approved: daleske@cbdkc1.att.com OS-9 Discussions Friday, December 19th 1986 Volume 2 : Issue 8 Today's Topics: V2.0 Release notes OS-9 Re: OS-9 Discussions, V2 #7 Undocumented ERROR 45 in Microware C (Divide by Zero) Position available Mulit-Pak Upgrades for Coco-III: The Facts -------------------------------------------------------------------------- From: mcrware!kim (Kim Kempf) Date: 4 Dec 1986 1118-CST (Thursday) Subject: V2.0 Release notes Here's a long-awaited goodie for you. Attached is a highlight summary of the OS-9/68000 Version 2.0 release notes. The matters addressed are purely technical. The Marketing Department at Microware should be contacted for business-related issues: pricing, packaging, licensing and availability. Enjoy. ============ Highlights of the Microware OS-9/68000 Version 2.0 Release 04-Dec-1986 The following is an overview of changes, enhancements and new products available with the OS-9/68000 Version 2.0 Major release. Kernel: A version of the kernel is available to support the 68020 and/or 68020/68881 combination. This version is tuned specially for the 68020 processor and provides full access and context support for the 68881 Floating Point Coprocessor. The kernel provides debugging and context management facilities for the 68881. A version of the kernel for systems with SPU hardware. An SPU (system protection unit) is a Microware sug- gested hardware design that provides memory protection facilities for systems without full memory management units. The kernel uses the SPU hardware to prevent user-state process from accessing and/or modifying unauthorized memory locations. Device interrupt handling has been improved by requir- ing device drivers to save the registers they modify rather than saving all registers on an interrupt. Memory module access permissions are now validated. A process linking to a memory module must have appropri- ate access permissions or the link will fail. This increases security and reliability of the system by preventing accidental or hostile changing of memory modules. The "move sr," instruction is the only (clean) way to fetch the condition code register on the 68000 pro- cessor. Unfortunately, this instruction is privileged in user-state on the 68010 and 68020. On these proces- sors, the "move ccr," instruction is provided for this purpose. The kernel will now emulate the move from ccr instruction on 68000 processors. This feature eases portability of programs between all 68000 family processors. The kernel F$DExec system call (used by the "debug" utility) now allows full-speed instruction execution. The instruction trace mode is still available to allow debugging programs on secure or ROM-based systems. System-state processes are now supported. Programs can execute in system state thereby gaining complete control of the system (interrupts, exception vectors, system data structures, scheduling, etc.) at the pro- cess level. The INIT module can now specify a parameter string for the initial process. This allows almost any program to be used as the initial system process (rather than just the SYSGO program). RBF: Device drivers are now called (via setstat) when file open, close and setstat operations are performed. This allows drivers to better handle track buffering and/or caching. Pathnames must now be terminated by a NULL, CR or SPACE character. This change was required to resolve ambi- guities in pathnames: 'aaa---' and 'aaa' were accepted as identical file names. The FD segment list of a file is left intact after deleting to ease recovery of files recently acciden- tally deleted. Whenever possible, RBF will now cause I/O to be per- formed directly to the caller's buffer. This increases I/O transfer rates substantially for large block disk transfers. File descriptor sectors (FD) are now cached in memory as long as the file is open. This allows the FD seg- ment list to be read without intervening seek to the file data. The FD is still always written to disk immediately when changed. Multi-sector I/O transfers are now supported for intel- legent disk drivers. A path descriptor setting tells RBF that the driver can accept more than one sector on an I/O request. This feature coupled with the direct I/O transfer provides substantially improved disk per- formance. SCF: Device drivers are now called (via setstat) when file open, close and setstat operations are performed. This allows drivers to better handle track buffering and/or caching. Pathnames must now be terminated by a NULL, CR or SPACE character. This change was required to resolve ambi- guities in pathnames: '/t1---' and '/t1' were accepted as identical file names. Microware-supplied I/O drivers: Portpak drivers have been improved to take advantage of the new features of the file managers. Multi-sector I/O is performed by the rb8500 disk driver. The rb765 driver now uses sector offsets from the device descrip- tor allowing easier handling of non-standard disk for- mats. Utility changes: DCHECK: can now repair the bitmap when misallocated sectors are located. DELDIR: now has a "-f" option to allow deleting files with no write permission. FIXMOD: has new options to: change the owner ID and access permissions of a module. FORMAT: the cluster allocation problem has been fixed. IDENT: now interprets the module access permission field of a module. LOAD: use the PATH shell environment variable to locate executable files. LOGIN: loads the shell environment with useful values such as PORT, HOME, USER, SHELL and PATH. QSORT: now (really) has no hard limit to the number of lines that can be sorted. The sort algorithm has been changed to be faster and non-recursive. SHELL: now uses the following environment variables: PORT, HOME, SHELL, USER, PATH, PROMPT, _sh, and TERM. For a complete discussion of their use, see the "Using Professional OS-9" manual. A new "wait" command is available that waits for *all* child processes to die. The new "logout" command can be used to exit the shell and execute commands in the ".logout" file on the way out. Shell has improved error messages and a "-v" option for verbose error reports. Improved status mes- sages are displayed for both successful and unsuccess- ful process termination. Microware Basic: (formerly Basic09) In addition to many bugs fixed, shell command line han- dling is more C-like. No longer are parenthesis, quoted strings and comma separators required for Basic/Runb parameters passed from the shell. The RUN statement syntax, however, has not been changed. Microware C Compiler: In addition to many bug fixes, the C library now includes support for UNIX-style termcap functions: tgetent(), tgetflag(), tgetnum(), tgetstr(), tgoto() and tputs(). The compiler package includes an example of creating a traphandler module containing C func- tions. New Products: * OS-9/68020: a version of OS-9 specially crafted for the 68020 and 68881. * uMacs: a Microware adaptation of the MicroEmacs 3.6 screen editor. * A print spooler system: allows spooling files to printing devices. Special features allow sharing print devices over a network. * A system-level debugger: this debugger allows debug- ging system state code such as file managers, drivers, kernel and system-state processes. This debugger shares the same symbolic debugging features and com- mands as the user-state debugger with additional features to access exception vectors, privileged pro- cessor registers, coprocessor registers and system data structures while in system-state. * Version 2.0 of Microware Basic (formerly Basic09). * Version 2.1 of Microware C. Additional details on features included in this Major Release as well as detailed lists of bugs fixed appear in the Release Notes for OS-9/68000 Version 2.0. Contact Microware for more information. Microware Systems Corporation 1866 N.W. 114th Street Des Moines, Iowa 50322 Tel: (515)-224-1929 Fax: (515)-224-1352 Telex: 910-520-2535 UUCP: sun!mcrware!mcrware ------------------------------ From: bob#@andrew.cmu.edu (Bob Sidebotham) Date: Thu, 4 Dec 86 16:19:58 est Subject: OS-9 Hi, Can you tell me where I can get information about OS-9? What is it, who makes it, etc? A set of manuals would be a pretty good start. Bob Sidebotham The Information Technology Center Carnegie-Mellon University bob@andrew.cmu.edu [Yes, Microware Systems, Inc. headquartered in Des Moines, Iowa produces OS-9. Read the first part of this digest for some good details! - JDD] ------------------------------ From: William Boyd Date: Wed, 3 Dec 86 16:50:19 est Subject: Re: OS-9 Discussions, V2 #7 Hi! I read with interest recently several articles about OS-9, especially since Sony, etc. are looking at it for CD mass storage devices. I know next to nothing about it, but want to learn more. Can you direct me to some basic sources of information about OS-9? Is there a company that markets it? What machines/architectures does it run on besides 680x0 and 6809, if any, like Z-80 perchance; and mac, amiga, or atari 680x0 machines? What languages are available for it? I know it is basic stuff, and I could ask ten zillion questions given the time, but I sure would appreciate the beginnings of some knowledge on it. Tks. Bill Boyd, Grad Student, MS program Computer and Information Systems Dartmouth College decvax!wanginst!dartvax!linus ------------------------------ From: ihnp4!ihwpt!knudsen Date: Fri, 5 Dec 86 20:18:34 est Subject: Undocumented ERROR 45 in Microware C (Divide by Zero) I'd been puzzled for some time about a Level I Microware C runtime error, #045, on my Coco. The C manual lists only errors 41 thru 43, with 42 being div-by-zero. Since I suspected my program of doing just that, I wrote a quickie to deliberately /0, like: main() { short top, bot, q; /* for future 68K efficiency */ top = 123; bot = 0; q = top / bot; } and guess what, it gives out ERROR #045. So 045 indeed means "divide by zero", in INT at least. Perhaps the documented error 042 refers only to FLOAT /0; someone want to test that (I avoid floats, too sloooooowwwww). I guess the Microware C library writers decided to be more specific in error reporting (good!) after the manual was all typeset*. Now I wonder what 044 was assigned to ... ? mike k *PS: Those of you with the "real" OS9 8.5x11" manuals -- are they typeset as badly as the Radio Shack versions, with the proportional character spacing that hides blanks in command-line examples and where 'small L' == 'number 1'? Actually, the RS C manual is much better in these regards, being printed via a word processor. ------------------------------ From: Bob Berger Date: Thu, 11 Dec 86 12:17:23 est Subject: Position available [What does everybody think about job postings in this digest? I decided to pass it along as it is a service and we haven't decided how to handle it. -- JDD] If its not against the rules, could you post this in mod.os.os9? We'd like to find someone who is familiar with the os9 environment. Also if you happen to know of anyone who approaches this description.... Thanks! Bob ------------------------------------------------------------------- POSITION: - Software Support Engineer - Heavy C code: This position requires a person who is responsible and detail oriented. The primary responsibility will be to "productize" and maintain software developed by other programmers. This person will be responsible for maintenance of software releases as well as answering customer questions on installation of the software on their machines. The successful candidate would also be involved in supporting internal development tools (prom programmer download utilities, distribution copy utilities, etc) as well as supporting our in house unix and OS-9 systems. REQUIREMENTS: * A strong backround in "C" and unix. (1 - 3 years experience) * Experience with Unix Make, shell scripts and awk * Experience maintaining large software distributions * Knowledge of how hardware relates to software. * Experience with Motorola 68000 assembly language PLUSES: * Experience with Microware's OS-9 operating system a BIG plus * Experience with image processing, recognition and graphics. * IBM PC / MS-DOS, VAX VMS experience would be helpful CONTACT: Bob Berger Datacube Inc. 4 Dearborn Rd. Peabody, Ma 01960 617-535-6644 Fax: 617-535-5643 ihnp4!datacube!berger {seismo,cbosgd,cuae2,mit-eddie}!mirror!datacube!berger ABOUT DATACUBE: Datacube, the leading OEM of image processing/recognition and digital signal processing products, is continuting its development of ultra-high performance hardware and software. Datacube is privately held, and growing fast! Datacube is located on the North Shore of Boston, just outside of Route 128, America's Technology Highway. ------------------------------ From: ihnp4!ihwpt!knudsen Date: Mon, 15 Dec 86 16:10:08 est Subject: Mulit-Pak Upgrades for Coco-III: The Facts The latest (Jan 87) RAINBOW has quite a good article on upgrading MultiPak Interfaces (MPIs, toasters) for the Coco III. It shoots down some notions that some of us have had. Points made are: (1) The old gray MPIs, plus some rugged white ones with the same guts, need only a PAL replacement. The later white ones were a cost-reduced design that needs a satellite board to fix. Yes, Jim O., the old ones ARE better! Detailed instructions are given to install the satellite board yourself (t'ain't trivial!). (2a) No matter how well your MPI seems to work with CocoIII, you had better get it upgraded to avoid subtle (?) future problems. Thus saith the gods at Fort Worth. (2b) You need the upgrade even tho you don't install 512K RAM. Rumor had it that 128K operation was OK w/out upgrading the MPI. (3) The upgrade not only busts the ghost at FF9F (of the MPI control reg at FF7F) but also "locks out" addresses FF80 and up (I guess by witholding the E and Q clocks). This is to avoid bus conflicts with the GIME's regs. (WHY lock out FF80~8F? Not used by GIME. Yet.) (4) Due to (3), your upgraded MPI will no longer work with CocoMax, WordPak, etc etc EVEN ON A COCO I or II. So the article tells how to hack a switch into your toaster to disable the upgrade (degrade? retrograde?). What I'd like is to always keep the ghost disabled but select the FF80 mode. Probably not possible with the PAL upgrade. (5) Article gives part numbers for ordering the PAL or satellite board from RS National Parts. Happy hacking, mike k ------------------------------------- The views expressed in OS-9 Discussions are those of the individual authors only. ------ Moderator: John Daleske cbosgd!cbdkc1!daleske daleske@cbdkc1.ATT.COM Submissions should go to cbosgd!os9 os9@cbosgd.ATT.COM Comments to the moderator or to join the mailing cbosgd!os9-request os9-request@cbosgd.ATT.COM list. ********************* End of OS-9 Discussions *********************