[mod.os.os9] OS-9 Discussions, V2 #8

os9@cbosgd.att.com (12/20/86)

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,<ea>" 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,<ea>" 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 <wjboyd%dartmouth.edu@RELAY.CS.NET>
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 <ihnp4!datacube!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
*********************