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
*********************