Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

A Bit of CP/M History

661 views
Skip to first unread message

Murray Moffatt

unread,
May 30, 2000, 3:00:00 AM5/30/00
to
As those of you who have programmed in assembler under CP/M will know,
the Print String (function 9) OS call uses the "$" (dollar) sign to
signal the end of the string you want to output to the console.

Years ago I remember reading an article somewhere that was talking about
how QDOS (the forerunner to MS-DOS) was designed to be a clone of CP/M
and use the same function calls for compatibility reasons (i.e. to make
it easy to port CP/M programs to QDOS). Microsoft was mentioned as
denying this, and in response Gary Kidall was quoted as saying that one
way to prove it was to ask Bill Gates why MS-DOS used the "$" sign to
terminate string output when using MS-DOS's Print String function. I
think his words were something like: "Only I know why I decided to use
the dollar sign as the terminator. If MS-DOS wasn't a clone of CP/M
then ask Bill why he also used a dollar sign as a terminator."

My question: Does anyone know why Gary would have used a dollar sign?

I would have thought it would have made sense to use a character that
wasn't likely to be output, perhaps a null character. Unless he wanted
something that could easily be typed in (although setting up a null is
easy enough in assembler). How did programmers typically get around the
problem that they couldn't output a "$" using the Print String
function? Output it separately using Console Output (function 2)?

Tom Lake

unread,
May 30, 2000, 3:00:00 AM5/30/00
to
ask Bill Gates why MS-DOS used the "$" sign to
> terminate string output when using MS-DOS's Print String function. I
> think his words were something like: "Only I know why I decided to use
> the dollar sign as the terminator. If MS-DOS wasn't a clone of CP/M
> then ask Bill why he also used a dollar sign as a terminator."

Since Gates didn't write the first version of PC-DOS (it was purchased and
only slightly modified) he may not have known why the original programmer
used a dollar sign.

Tom Lake

anon...@bogus_address.con

unread,
May 30, 2000, 3:00:00 AM5/30/00
to

On 2000-05-30 mode...@ihug.co.nz said:

>As those of you who have programmed in assembler under CP/M will
>know, the Print String (function 9) OS call uses the "$" (dollar)
>sign to signal the end of the string you want to output to the
>console.
>
>Years ago I remember reading an article somewhere that was talking
>about how QDOS (the forerunner to MS-DOS) was designed to be a
>clone of CP/M and use the same function calls for compatibility
>reasons (i.e. to make it easy to port CP/M programs to QDOS).
>Microsoft was mentioned as denying this, and in response Gary

>Kidall was quoted as saying that one way to prove it was to ask


>Bill Gates why MS-DOS used the "$" sign to terminate string output
>when using MS-DOS's Print String function. I think his words were
>something like: "Only I know why I decided to use the dollar sign
>as the terminator. If MS-DOS wasn't a clone of CP/M then ask Bill
>why he also used a dollar sign as a terminator."
>

>My question: Does anyone know why Gary would have used a dollar
>sign?

Don't know...but it's an interesting question.

>I would have thought it would have made sense to use a character
>that wasn't likely to be output, perhaps a null character. Unless
>he wanted something that could easily be typed in (although setting
>up a null is easy enough in assembler). How did programmers
>typically get around the problem that they couldn't output a "$"
>using the Print String function? Output it separately using
>Console Output (function 2)?

Output the =entire string= using Function 2. My 8080/Z80 programming
skills are questionable, but here's how the routine would look in 8086
assembly language for CP/M-86:

------
cseg ;start of code segment
org 100h ;leave room for base page
jmp start ;go do the good stuff
;
msg db 'Thi$ i$ a te$t to di$play $$$ dollar sign$.',0
;
start:
mov si,offset msg ;point SI to beginning of the screen message
again:
lodsb ;load a byte of the screen message (in AL)
cmp al,0 ;is it zero (our string terminator)?
je done ;yes, so go exit this little experiment
mov dl,al ;move the byte into DL (prepare for func. 2)
mov cl,2 ;function 2 - console output
int 224 ;call BDOS services
jmp again ;go get another byte
done:
xor cx,cx ;function 0 - reset system
int 224 ;call BDOS services
end
------

The LODSB instruction is nice because it auto-increments the memory pointer.
But if that capability weren't available, one could set up a LOOP (which
auto-decrements the count in CX), and manually increment the memory pointer:

------
cseg ;start of code segment
org 100h ;leave room for base page
jmp start ;go do the good stuff
;
msg db 'Thi$ i$ a te$t to di$play $$$ dollar sign$.'
;
start:
mov bx,offset msg ;point BX to beginning of the screen message
mov cx,43 ;set counter CX to nmbr. of bytes in message
again:
mov dl,[bx] ;load a message byte into DL (prep for func. 2)
push cx ;preserve our count in CX
push bx ;preserve our memory pointer
mov cl,2 ;function 2 - console output
int 224 ;call BDOS services
pop bx ;restore our memory pointer
pop cx ;restore our count in CX
inc bx ;increment the memory pointer
loop again ;go get another byte if CX isn't zero
;
xor cx,cx ;function 0 - reset system
int 224 ;call BDOS services
end
------

Hope this helps.

William J. Leary Jr.

unread,
May 30, 2000, 3:00:00 AM5/30/00
to
"Murray Moffatt" <mode...@ihug.co.nz> wrote in message
news:39336F89...@ihug.co.nz...

> How did programmers typically get around the problem that they
> couldn't output a "$" using the Print String function? Output it
> separately using Console Output (function 2)?

As far as I can recall, I never used Print String. One of the first things
in each of my programs was my own print string function that either used a
NUL as a terminator or used a string length in the first byte, depending on
how the overall program was handling strings.

- Bill

Andrew Owen

unread,
May 30, 2000, 3:00:00 AM5/30/00
to
on 30/5/00 10:22 am, Tom Lake wrote:

> ask Bill Gates why MS-DOS used the "$" sign to
>> terminate string output when using MS-DOS's Print String function. I
>> think his words were something like: "Only I know why I decided to use
>> the dollar sign as the terminator. If MS-DOS wasn't a clone of CP/M
>> then ask Bill why he also used a dollar sign as a terminator."
>

> Since Gates didn't write the first version of PC-DOS (it was purchased and
> only slightly modified) he may not have known why the original programmer
> used a dollar sign.

The way I heard it, PC-DOS was QDOS, only renamed. QDOS stood for Quick and
Dirty Operating System and was so named because they stole some code direct
from CP/M, hence the "$" comment from Kildal.

--
Andrew Owen
ZX Spectrum SE Technical Reference: http://www.brandnewco.org/se/


Willard Goosey

unread,
May 30, 2000, 3:00:00 AM5/30/00
to
anonymous@bogus_address.con writes:

> On 2000-05-30 mode...@ihug.co.nz said:
>
> >As those of you who have programmed in assembler under CP/M will
> >know, the Print String (function 9) OS call uses the "$" (dollar)
> >sign to signal the end of the string you want to output to the
> >console.

[...]


> >My question: Does anyone know why Gary would have used a dollar
> >sign?
>
> Don't know...but it's an interesting question.

Maybe because early DEC OSes used '$' for a terminator? I don't have
my RT-11 docs with me right now, so I'm just guessing...

I've never even seen a running PDP, but at the user level, CP/M and
RT-11 look a lot alike. I've never read through the RT-11 programming
docs, though, so I don't know what kind of string handling it did.

Willard

--
Willard Goosey goo...@mailhost.nmt.edu
New Mexico Tech Socorro NM USA
"Why jack off when you can jack in?"
-- Plughead

Tim Shoppa

unread,
May 30, 2000, 3:00:00 AM5/30/00
to
Murray Moffatt wrote:
> Thanks for your answer, Bill. I'm just trying to figure out why Gary
> used a "$" as the terminator; there seems to be more logical choices!

"$" was commonly used as a string terminator by many other
software packages (mini and mainframe) in the early 70's. One
place where it is still used today in the same way is in CERNLIB's
HBOOK, for example.

Tim.

Tim Shoppa

unread,
May 30, 2000, 3:00:00 AM5/30/00
to
Willard Goosey wrote:
>
> anonymous@bogus_address.con writes:
>
> > On 2000-05-30 mode...@ihug.co.nz said:
> >
> > >As those of you who have programmed in assembler under CP/M will
> > >know, the Print String (function 9) OS call uses the "$" (dollar)
> > >sign to signal the end of the string you want to output to the
> > >console.
> [...]
> > >My question: Does anyone know why Gary would have used a dollar
> > >sign?
> >
> > Don't know...but it's an interesting question.
>
> Maybe because early DEC OSes used '$' for a terminator? I don't have
> my RT-11 docs with me right now, so I'm just guessing...
>
> I've never even seen a running PDP, but at the user level, CP/M and
> RT-11 look a lot alike. I've never read through the RT-11 programming
> docs, though, so I don't know what kind of string handling it did.

Both CP/M and RT-11 are evolved from earlier DEC OS's, most notably
OS/8 (on the PDP-8) and DOS-11 (on the PDP-11). The most obvious
feature of all of these OS's is the presence of "PIP".

RT-11's "Print String" function - the .PRINT EMT - uses a terminator of
0 for strings that are to be printed with a CR/LF pair at the end, and a
terminator of 200 if you don't want a CR/LF pair.

Do note, though, that of the legal characters in the DEC RAD50 character
set, the only punctuation marks are "." and "$". The DEC RAD50
character set is widely used in the DEC 16-bit OS's for file names and
symbol names, and the "$" is generally a legal character in such
names.

In DEC TECO documentation, "$" is often used as the printed character
that represents <ALTMODE> or <ESCAPE> being hit on the keyboard.

Tim.

Murray Moffatt

unread,
May 31, 2000, 3:00:00 AM5/31/00
to
Tom Lake wrote:
>
> ask Bill Gates why MS-DOS used the "$" sign to
> > terminate string output when using MS-DOS's Print String function. I
> > think his words were something like: "Only I know why I decided to use
> > the dollar sign as the terminator. If MS-DOS wasn't a clone of CP/M
> > then ask Bill why he also used a dollar sign as a terminator."
>
> Since Gates didn't write the first version of PC-DOS (it was purchased and
> only slightly modified) he may not have known why the original programmer
> used a dollar sign.

I think Gary made the comment to show that his code was the genuine
thing (i.e. he coded it himself and therefore knew why things were done
a certain way); whereas MS-DOS was a mutated clone of QDOS, itself a
clone of CP/M, and therefore a derivative work. He was probably trying
to put MS-DOS / Microsoft / Gates down by implying it wasn't all their
own work, and to prove it they didn't even know why a "$" sign was used
as the string terminator.

Murray Moffatt

unread,
May 31, 2000, 3:00:00 AM5/31/00
to
anonymous@bogus_address.con wrote:

>
> On 2000-05-30 mode...@ihug.co.nz said:
>
> >My question: Does anyone know why Gary would have used a dollar
> >sign?
>
> Don't know...but it's an interesting question.

Yeah, and one I've searched long and hard for an answer! My guess is he
wanted something that was easy and quick to type, but it obviously
couldn't be something that was output a lot (i.e. there wouldn't have
been much point in using "A" as the terminator!) I would have thought
that "$" was a little bit too commonly used though, why not a tilde or
backslash or something? I'm not too familiar with the keyboards he
would have been using back then, maybe they were severly limited in
their character set. Comments anyone?



> Output the =entire string= using Function 2. My 8080/Z80 programming
> skills are questionable, but here's how the routine would look in 8086
> assembly language for CP/M-86:

I've never looked at the source of any of the CP/M versions, but I can
imagine that your snippet of code probably looks very similiar to what
is actually used (with the exception of looking for a "$" rather than a
null). After all, it's a fairly common routine for assembly
programmers! :-)

Which makes it all the much harder to understand why Gary used a "$".
You've proven that it's just as easy to use a null for the terminator.

Perhaps there's some personal significance attached to it, like he was
hoping to make lots of money from CP/M? But from what I've heard he
wasn't all that interested in money...

Murray Moffatt

unread,
May 31, 2000, 3:00:00 AM5/31/00
to
"William J. Leary Jr." wrote:
>
> As far as I can recall, I never used Print String. One of the first things
> in each of my programs was my own print string function that either used a
> NUL as a terminator or used a string length in the first byte, depending on
> how the overall program was handling strings.

Yeah, I've thought of the string length way of doing things, Pascal
stores its strings that way if I remember correctly. One argument
against using that method is that if you use a byte for the string
length then you're limited to strings of 255 characters. If you use two
bytes then you can use many more characters, but it's also wasteful
since most strings you want to output would probably be less than 255
chars and memory wasn't all that plentiful on most early boxes that CP/M
would be running on.

Alex Plantema

unread,
May 31, 2000, 3:00:00 AM5/31/00
to
Murray Moffatt wrote in message <39336F89...@ihug.co.nz>...

>As those of you who have programmed in assembler under CP/M will know,
>the Print String (function 9) OS call uses the "$" (dollar) sign to
>signal the end of the string you want to output to the console.
...
>My question: Does anyone know why Gary would have used a dollar sign?

I can only guess, but probably because a non-printable character cannot be
used in some high level languages.

Alex.


Steve

unread,
May 31, 2000, 3:00:00 AM5/31/00
to
Murray Moffatt wrote:
>
> As those of you who have programmed in assembler under CP/M will know,
> the Print String (function 9) OS call uses the "$" (dollar) sign to
> signal the end of the string you want to output to the console.
>
> Years ago I remember reading an article somewhere that was talking about
> how QDOS (the forerunner to MS-DOS) was designed to be a clone of CP/M
> and use the same function calls for compatibility reasons (i.e. to make
> it easy to port CP/M programs to QDOS). Microsoft was mentioned as
> denying this, and in response Gary Kidall was quoted as saying that one
> way to prove it was to ask Bill Gates why MS-DOS used the "$" sign to

> terminate string output when using MS-DOS's Print String function. I
> think his words were something like: "Only I know why I decided to use
> the dollar sign as the terminator. If MS-DOS wasn't a clone of CP/M
> then ask Bill why he also used a dollar sign as a terminator."
>
> My question: Does anyone know why Gary would have used a dollar sign?
>
> I would have thought it would have made sense to use a character that
> wasn't likely to be output, perhaps a null character. Unless he wanted
> something that could easily be typed in (although setting up a null is
> easy enough in assembler). How did programmers typically get around the

> problem that they couldn't output a "$" using the Print String
> function? Output it separately using Console Output (function 2)?
---------------------
The HUGE "killer apps" prior to MS-DOS were CP/M using WordStar, DBase,
and SuperCalc. To make a simple cross-assembler-translator that
converted executable directly from 8080/8085/Z80 to 8088 code required
that these BIOS calls be duplicated. THAT'S why he did it and why it
makes sense, even if he DID pirate the code, that was WHY he pirated the
code.
Steve

Andrew Owen

unread,
May 31, 2000, 3:00:00 AM5/31/00
to
on 31/5/00 12:00 pm, Steve wrote:

[PC-DOS and the '$' terminator]


> The HUGE "killer apps" prior to MS-DOS were CP/M using WordStar, DBase,
> and SuperCalc. To make a simple cross-assembler-translator that
> converted executable directly from 8080/8085/Z80 to 8088 code required

> that these BIOS calls be duplicated. THAT'S why he [Bill Gates] did it and why


> it makes sense, even if he DID pirate the code, that was WHY he pirated the
> code.

Yes, but it still doesn't excuse the fact that the code *was* stolen and I
wonder if the bit that was nicked is still there in the current version of
Windows (not the NT derivatives).

Murray Moffatt

unread,
Jun 1, 2000, 3:00:00 AM6/1/00
to
Steve wrote:

>
> Murray Moffatt wrote:
> >
> > My question: Does anyone know why Gary would have used a dollar sign?
> >
> > I would have thought it would have made sense to use a character that
> > wasn't likely to be output, perhaps a null character. Unless he wanted
> > something that could easily be typed in (although setting up a null is
> > easy enough in assembler). How did programmers typically get around the
> > problem that they couldn't output a "$" using the Print String
> > function? Output it separately using Console Output (function 2)?
> ---------------------
> The HUGE "killer apps" prior to MS-DOS were CP/M using WordStar, DBase,
> and SuperCalc. To make a simple cross-assembler-translator that
> converted executable directly from 8080/8085/Z80 to 8088 code required
> that these BIOS calls be duplicated. THAT'S why he did it and why it

> makes sense, even if he DID pirate the code, that was WHY he pirated the
> code.

Hi Steve,

Thanks for your reply. You've answered why Tim Paterson copied the CP/M
functions for his QDOS, but I'm more interested in why CP/M used a "$"
terminator in the first place.

William J. Leary Jr.

unread,
Jun 1, 2000, 3:00:00 AM6/1/00
to
"Murray Moffatt" <mode...@ihug.co.nz> wrote in message
news:3934298A...@ihug.co.nz...

> Yeah, I've thought of the string length way of doing things, Pascal
> stores its strings that way if I remember correctly. One argument
> against using that method is that if you use a byte for the string
> length then you're limited to strings of 255 characters. If you use two
> bytes then you can use many more characters, but it's also wasteful
> since most strings you want to output would probably be less than 255
> chars and memory wasn't all that plentiful on most early boxes that CP/M
> would be running on.

I generally preferred the NUL terminator. As I recall, I used the length
version on a few programs I worked on which actually, had TWO length bytes
preceding the string. The first was it's maximum length, and the next was
the current length. The pointer passed to the print string function started
at the current length value. The other was was used for string cats and so
forth to make sure I didn't go past the maximum allocated space. As I
recall I used this when I had to handle NULs as characters in the strings
themselves. After all this time it escapes my memory WHY I needed to do
this.

- Bill

Amig...@bigpond.nospam.com

unread,
Jun 1, 2000, 3:00:00 AM6/1/00
to
I noticed this from Alex Plantema, and it made me think:

"I can only guess, but probably because a non-printable character cannot be
"used in some high level languages.

"Alex.

I dont think it really matters what a string delimiter is, becuase
all you do is have a delimiter that delimites all other sequences
as well as the "EOF" delimiter.

Say the delimiter is "/".

To represent a dollar sign I do "/$".

To to end the file I do "$".

And to bold the next line, "/B".

Starting to look like anything familiar?

No? (hint: look at any other programming language you like).

Chris.
(I haven't addressed why gary used $ though, sorry...)
--
***
Christopher John Harrison
3rd Yr Computer Science
RMIT University Australia
char...@cs.rmit.edu.au
*****************************
Want to program computers like the experts?
Of course you do!
Download your free Forth interpreter now!
http://yallara.cs.rmit.edu.au/~charriso/
***

William J. Leary Jr.

unread,
Jun 1, 2000, 3:00:00 AM6/1/00
to
"Willard Goosey" <goo...@mailhost.nmt.edu> wrote in message
news:fawvkbv...@underdog.nmt.edu...

> Maybe because early DEC OSes used '$' for a terminator? I don't have
> my RT-11 docs with me right now, so I'm just guessing...

Now that you mention it, you've just caused me to recall that some editors
(ED and VI come to mind) use $ in various ways to mean "end of line."
Perhaps a connection?

I also seem to recall some card based interface I used (the old 80 column
Hollerith ones) that used $ as a string or command terminator of some kind.

- Bill

Steve

unread,
Jun 1, 2000, 3:00:00 AM6/1/00
to
Andrew Owen wrote:
>
> on 31/5/00 12:00 pm, Steve wrote:
>
> [PC-DOS and the '$' terminator]
> > The HUGE "killer apps" prior to MS-DOS were CP/M using WordStar, DBase,
> > and SuperCalc. To make a simple cross-assembler-translator that
> > converted executable directly from 8080/8085/Z80 to 8088 code required
> > that these BIOS calls be duplicated. THAT'S why he [Bill Gates] did it and why

> > it makes sense, even if he DID pirate the code, that was WHY he pirated the
> > code.
>
> Yes, but it still doesn't excuse the fact that the code *was* stolen and I
> wonder if the bit that was nicked is still there in the current version of
> Windows (not the NT derivatives).
>
> --
> Andrew Owen
---------------
Yes, all the MS-DOS/Windows95/98 BIOS system calls are the same and do
the same things, after all they had to be backward compatible to run
legacy DOS software!! But it wasn't nicked out of laziness,
particularly, it was nicked very affirmatively and checked over and over
for back compatibility.
Steve

Steve

unread,
Jun 1, 2000, 3:00:00 AM6/1/00
to
Murray Moffatt wrote:
>
> Steve wrote:
> >
> > Murray Moffatt wrote:
> > >
> > > My question: Does anyone know why Gary would have used a dollar sign?
> > >
> > > I would have thought it would have made sense to use a character that
> > > wasn't likely to be output, perhaps a null character. Unless he wanted
> > > something that could easily be typed in (although setting up a null is
> > > easy enough in assembler). How did programmers typically get around the
> > > problem that they couldn't output a "$" using the Print String
> > > function? Output it separately using Console Output (function 2)?
> > ---------------------
> > The HUGE "killer apps" prior to MS-DOS were CP/M using WordStar, DBase,
> > and SuperCalc. To make a simple cross-assembler-translator that
> > converted executable directly from 8080/8085/Z80 to 8088 code required
> > that these BIOS calls be duplicated. THAT'S why he did it and why it

> > makes sense, even if he DID pirate the code, that was WHY he pirated the
> > code.
>
> Hi Steve,
>
> Thanks for your reply. You've answered why Tim Paterson copied the CP/M
> functions for his QDOS, but I'm more interested in why CP/M used a "$"
> terminator in the first place.
-----------------
Probably because the $ dolar sign is used in MS-BASICs of all kinds to
mean a String ! So it was handy, and for monetary databases it would be
dummied in NOT as part of the numeric string or variable value. Remember
that MicroSoft got big selling Altair BASIC on tape which directly
preceded their MBASIC interpreter for CP/M and BASCOM-80 that compiled
it. So I think it came originally from Dartmouth - Kemeny BASIC!!
Steve

A R Ogden

unread,
Jun 1, 2000, 3:00:00 AM6/1/00
to
Murry,

_As_I_Understand_It....

Prof Kildall [dang, however Gary's name is spelled] was with the Navy's
Post Grad or some such school at Monteray when it began 'hacking' at
an operating system for the new Intel 8080. [He might have even started
thinking about it with the 4040.] At that point in time, he had lots of
hours with DEC systems, proly RT-11 and RSX-11. As a cite on point, there
is "DDT" the DynamicDebugingTool which I saw my first referance to in a
DEC softare manual in the mid-sixties. While all of my docs for DEC
software are piled into boxes [Lord only knows Which Boxes...] I'm
quite sure that the "$" convention was borrowed from those operating
systems.

As to CP/m and MS-Dos...

The best report that I've had is that Seattle Computing had a license
to the source of CP/m-80. It ran that source past a mnonic converter
to generate Intel 8086 mnonics, cleaned things up a bit, and called
it first "Q-Dos" and then "Seattle-Dos." BG, learning of the 'interest'
of IBM in an alternate to CP/m-86 for it's "PC" hardware, "aquired"
the rights to Seattle-Dos without understanding that it was a blatant
theft of the copyrighted code of Digital Research. That was 'dos 1.x'.
When IBM became 'aware' of this, a "Clean-Room" re-engineering project
was done to generate 'dos-2.x'. This was the core of the Caldera vs
Microsoft civil antitrust action. Caldera having obtained 'all rights'
from Novell who had purchased the entirity of Digital Research a
couple of years before.

[The above is based on a combination of sundry reports, emails, and
observations over years.]

A R Ogden

Murray Moffatt wrote:
>
> Steve wrote:
> >
> > Murray Moffatt wrote:
> > >
> > > My question: Does anyone know why Gary would have used a dollar sign?
> > >
> > > I would have thought it would have made sense to use a character that
> > > wasn't likely to be output, perhaps a null character. Unless he wanted
> > > something that could easily be typed in (although setting up a null is
> > > easy enough in assembler). How did programmers typically get around the
> > > problem that they couldn't output a "$" using the Print String
> > > function? Output it separately using Console Output (function 2)?
> > ---------------------
> > The HUGE "killer apps" prior to MS-DOS were CP/M using WordStar, DBase,
> > and SuperCalc. To make a simple cross-assembler-translator that
> > converted executable directly from 8080/8085/Z80 to 8088 code required
> > that these BIOS calls be duplicated. THAT'S why he did it and why it
> > makes sense, even if he DID pirate the code, that was WHY he pirated the
> > code.
>
> Hi Steve,
>
> Thanks for your reply. You've answered why Tim Paterson copied the CP/M
> functions for his QDOS, but I'm more interested in why CP/M used a "$"
> terminator in the first place.

--
Government, n. When unfettered, the implementation of totalitarianism.

Red Tape, n. The chain that binds Government to Democracy.


Dave Tweed

unread,
Jun 1, 2000, 3:00:00 AM6/1/00
to
A R Ogden wrote:
> Prof Kildall [dang, however Gary's name is spelled] was with the Navy's
> Post Grad or some such school at Monteray when it began 'hacking' at
> an operating system for the new Intel 8080. [He might have even started
> thinking about it with the 4040.] At that point in time, he had lots of
> hours with DEC systems, proly RT-11 and RSX-11. As a cite on point, there
> is "DDT" the DynamicDebugingTool which I saw my first referance to in a
> DEC softare manual in the mid-sixties. While all of my docs for DEC
> software are piled into boxes [Lord only knows Which Boxes...] I'm
> quite sure that the "$" convention was borrowed from those operating
> systems.

One point that may or may not be relevant is that those early DEC O/Ss,
and the development tools that came with them, used a character encoding
called "Radix-50" in several key areas, including assembler/linker symbols
and filenames. Radix-50 encodes the letters 'A'-'Z', the digits '0'-'9',
along with <space>, '.', and '$' in such a way that three characters can
be packed into a 16-bit word. I wonder if Gary was using Radix-50 in his
early development, and picked '$' because '.' was too commonly needed in
the output string, or if the early DEC developers had made that choice
and he just followed the convention.

-- Dave Tweed

jsw

unread,
Jun 1, 2000, 3:00:00 AM6/1/00
to
Murray Moffatt <mode...@ihug.co.nz> writes:

>> >My question: Does anyone know why Gary would have used a dollar
>> >sign?

[chomp]

>Yeah, and one I've searched long and hard for an answer! My guess is he
>wanted something that was easy and quick to type, but it obviously
>couldn't be something that was output a lot (i.e. there wouldn't have
>been much point in using "A" as the terminator!) I would have thought
>that "$" was a little bit too commonly used though, why not a tilde or
>backslash or something? I'm not too familiar with the keyboards he
>would have been using back then, maybe they were severly limited in
>their character set. Comments anyone?

I've wondered about this since the early 80's when I first had to do
ASM programming under CP/M. Seems like other methods of the day included
ending a string with a null byte, or, with HDOS, setting the high bit on
the last char in the string.

I remember it was a MESS to use that with any text that might have a $
in it, especially user-submitted text. I had my own TYPTX routine I
used instead which would end on null or high bit. IMAO, it would have
been nice to have something more sane for that system call.

That and the one-char type-ahead that sometimes worked were my only
major gripes about programming under CP/M.

Good day JSW

Paul Schlyter

unread,
Jun 2, 2000, 3:00:00 AM6/2/00
to
In article <3936ACBA...@acm.org>, Dave Tweed <dtw...@acm.org> wrote:

> One point that may or may not be relevant is that those early DEC O/Ss,
> and the development tools that came with them, used a character encoding
> called "Radix-50" in several key areas, including assembler/linker symbols
> and filenames. Radix-50 encodes the letters 'A'-'Z', the digits '0'-'9',
> along with <space>, '.', and '$' in such a way that three characters can
> be packed into a 16-bit word. I wonder if Gary was using Radix-50 in his
> early development, and picked '$' because '.' was too commonly needed in
> the output string, or if the early DEC developers had made that choice
> and he just followed the convention.

Shouldn't that be Radix-40 instead ?

50^3 = 125000 -- you cannot store that big numbers in 16 bits

40^3 = 64000 -- fits nicely within 16 bits


Also:

A-Z 26 symbols
0-9 10 symbols
space 1 symbol
. 1 symbol
$ 1 symbol
-------------------
Total: 39 symbols

Radix-40 ought to be enough for this.

--
----------------------------------------------------------------
Paul Schlyter, Swedish Amateur Astronomer's Society (SAAF)
Grev Turegatan 40, S-114 38 Stockholm, SWEDEN
e-mail: pausch at saaf dot se or paul.schlyter at ausys dot se
WWW: http://hotel04.ausys.se/pausch http://welcome.to/pausch

Paul Schlyter

unread,
Jun 2, 2000, 3:00:00 AM6/2/00
to
In article <3936B8...@azstarnet.com>, bill_h <bil...@azstarnet.com> wrote:

> What a load of crap.
>
> Paterson's translator took Z-80 ASSEMBLER and translated it to 8086
> code.
> Seattle Computer Products didn't USE the 8088. And there IS no 8088
> code.

What a load of crap.

8086 code and 8088 code are precisely the same! They are so very
much alike that it's quite hard to write code which is able to figure
out whether it runs on an 8086 or an 8088.

Thus if there is 8086 code, there is also 8088 code: they are the same.

Tom Lake

unread,
Jun 2, 2000, 3:00:00 AM6/2/00
to
> M$ bloatware is strictly for amateurs, anyway; only for the shallow,
> unsophisticated masses who are taken in by glitz and paid advertising,
> and follow the broad road to perdition: who don't know a megabyte from
> a megaHertz; who think that hard drive space is 'memory;' who believe
> that Internet is 'high tech.' <g>

Actually it's for professionals who like to be able to get a job! Actually,
I *AM* shallow and unsophisticated but I make a hell of a lot of money
writing crap for a crap OS! As long as people keep paying me ridiculous
sums to keep their machines running, I'll keep programming using whatever
software they want. (OK, so I'm a techno-whore so sue me!) As for hard
drive space being 'memory' - ever heard of Virtual Memory? These days HD
space *IS* memory! 8-)

Tom L


Tim Shoppa

unread,
Jun 2, 2000, 3:00:00 AM6/2/00
to
Paul Schlyter wrote:
>
> In article <3936ACBA...@acm.org>, Dave Tweed <dtw...@acm.org> wrote:
>
> > One point that may or may not be relevant is that those early DEC O/Ss,
> > and the development tools that came with them, used a character encoding
> > called "Radix-50" in several key areas, including assembler/linker symbols
> > and filenames. Radix-50 encodes the letters 'A'-'Z', the digits '0'-'9',
> > along with <space>, '.', and '$' in such a way that three characters can
> > be packed into a 16-bit word. I wonder if Gary was using Radix-50 in his
> > early development, and picked '$' because '.' was too commonly needed in
> > the output string, or if the early DEC developers had made that choice
> > and he just followed the convention.
>
> Shouldn't that be Radix-40 instead ?

It's 50 *octal*.

Tim.

Andrew Owen

unread,
Jun 2, 2000, 3:00:00 AM6/2/00
to
on 2/6/00 9:32 am, Paul Schlyter wrote:

> In article <3936B8...@azstarnet.com>, bill_h <bil...@azstarnet.com>
> wrote:
>
>> What a load of crap.
>>
>> Paterson's translator took Z-80 ASSEMBLER and translated it to 8086
>> code.
>> Seattle Computer Products didn't USE the 8088. And there IS no 8088
>> code.
>
> What a load of crap.
>
> 8086 code and 8088 code are precisely the same! They are so very
> much alike that it's quite hard to write code which is able to figure
> out whether it runs on an 8086 or an 8088.
>
> Thus if there is 8086 code, there is also 8088 code: they are the same.
>

What a... on second thoughts.

How come we're talking about 8088 code here? CP/M-80 was written for the
8080. The Z80 (and its clones) include the complete 8080 instruction set and
add new instructions to it. The 8088 was basically the same chip as the
8086, and they are both 16-bit internal. The differnce is that the 8088 had
8-bit external addressing while the 8086 had 16-bit external addressing. At
least that's the way I remember it but I don't use PCs if I can help it, I
program in Z80 code for fun and use all the undocumented op-codes because I
like them, my home computer is a Macintosh and I spend an unhealthy amount
of time mucking about with ZX Spectrums.

Barry

unread,
Jun 2, 2000, 3:00:00 AM6/2/00
to
<anonymous@bogus_address.con> wrote in message
news:8h7s7k$poi$1...@q.seanet.com...

>
> M$ bloatware is strictly for amateurs, anyway; only for the
shallow,
> unsophisticated masses who are taken in by glitz and paid
advertising,
> and follow the broad road to perdition: who don't know a megabyte
from
> a megaHertz; who think that hard drive space is 'memory;' who
believe
> that Internet is 'high tech.' <g>

Speaking as a member of the shallow unsophisticated masses who's
been taken in by the glitz and paid advertising and who follows the
broad road to perdition and who uses and enjoys MS products, I do
know a megabyte from a megahertz and I know a hard drive is not
memory. Nor am I an amateur, having retired from a 35 year
programming career.

I know bloatware when I see it and MS is surely the master of
bloatware. But most of their stuff works fairly well most of the
time and since most everybody uses it, it is the standard.

And who really cares about bloatware when I have 40 gig of hard
drive and 256 meg of memory on a computer that is now mostly used
to do email and read newsgroups and play a few games. Or was that
40 gig of memory and 256 meg of hard drive? Hmmm. I wish I could
remember which is which.....:)

Barry (who refuses to take all this very seriously)


Paul Schlyter

unread,
Jun 2, 2000, 3:00:00 AM6/2/00
to
In article <B55D9128.19B0%ao...@brandnewco.org>,

Andrew Owen <ao...@brandnewco.org> wrote:

> on 2/6/00 9:32 am, Paul Schlyter wrote:
>
>> In article <3936B8...@azstarnet.com>, bill_h <bil...@azstarnet.com>
>> wrote:
>>
>>> What a load of crap.
>>>
>>> Paterson's translator took Z-80 ASSEMBLER and translated it to 8086
>>> code.
>>> Seattle Computer Products didn't USE the 8088. And there IS no 8088
>>> code.
>>
>> What a load of crap.
>>
>> 8086 code and 8088 code are precisely the same! They are so very
>> much alike that it's quite hard to write code which is able to figure
>> out whether it runs on an 8086 or an 8088.
>>
>> Thus if there is 8086 code, there is also 8088 code: they are the same.
>
> What a... on second thoughts.
>
> How come we're talking about 8088 code here? CP/M-80 was written for the
> 8080.

True, but QDOS and MS-DOS were written for the 8088/8086, and the
discussion originally as about QDOS/MSDOS_1 stealing code from CP/M.
It's not that hard to translate 8080 menmonics into their 8086/8088
equivalents.

Andrew Owen

unread,
Jun 2, 2000, 3:00:00 AM6/2/00
to
on 2/6/00 6:49 pm, Paul Schlyter wrote:

>> How come we're talking about 8088 code here? CP/M-80 was written for the
>> 8080.

> True, but QDOS and MS-DOS were written for the 8088/8086, and the
> discussion originally as about QDOS/MSDOS_1 stealing code from CP/M.
> It's not that hard to translate 8080 menmonics into their 8086/8088
> equivalents.

Oh yeah. Sorry, I forgot. 86 code *is* exactly the same as 88 code. 80 code
is sufficiently different to need recompiling for 88/86. QDOS/PCDOS 1.0 code
was stolen from CP/M. I don't know how (from source, disassembly or
whatever) but it was. But the discussion originally was about why Kildall
used the '$' sign as a terminator and there still hasn't been a definitive
answer, just a lot of guessing.

Tom Lake

unread,
Jun 2, 2000, 3:00:00 AM6/2/00
to
> Oh yeah. Sorry, I forgot. 86 code *is* exactly the same as 88 code. 80
code
> is sufficiently different to need recompiling for 88/86. QDOS/PCDOS 1.0
code
> was stolen from CP/M. I don't know how (from source, disassembly or
> whatever) but it was.

It would have been really easy to steal the source since every installation
of CP/M came with source so it could be modified by the individual user.
Ah, the good old days when an OS was simple enough to fit on a single
diskette and be written in assembler by an single individual....

Tom L

Tim Shoppa

unread,
Jun 2, 2000, 3:00:00 AM6/2/00
to
Tom Lake wrote:
>
> > Oh yeah. Sorry, I forgot. 86 code *is* exactly the same as 88 code. 80
> code
> > is sufficiently different to need recompiling for 88/86. QDOS/PCDOS 1.0
> code
> > was stolen from CP/M. I don't know how (from source, disassembly or
> > whatever) but it was.
>
> It would have been really easy to steal the source since every installation
> of CP/M came with source so it could be modified by the individual user.

Huh? Which version of CP/M was that? My copies of CP/M 1.3, 1.4,
2.0, and 2.2 were binary-only. There was an example BIOS source in the
_CP/M Alteration Guide_, but this wasn't supplied on magnetic media,
and while the BIOS is a vital part of a CP/M installation, it's a tiny
tiny part of the total scheme.

Most folks who bought pre-customized versions of CP/M didn't even get
copies of their BIOS sources, nor did they get the _CP/M Customization
Guide_.

Tim.

Tom Lake

unread,
Jun 2, 2000, 3:00:00 AM6/2/00
to
> > It would have been really easy to steal the source since every
installation
> > of CP/M came with source so it could be modified by the individual user.
>
> Huh? Which version of CP/M was that? My copies of CP/M 1.3, 1.4,
> 2.0, and 2.2 were binary-only. There was an example BIOS source in the
> _CP/M Alteration Guide_, but this wasn't supplied on magnetic media,
> and while the BIOS is a vital part of a CP/M installation, it's a tiny
> tiny part of the total scheme.

The early implementations of CP/M came with source (at least the ones for
IMSAI that we used did) I guess I thought the practice was common. 8-(

Tom L

bma...@iglou.com

unread,
Jun 2, 2000, 3:00:00 AM6/2/00
to
On 2000-06-01 bil...@azstarnet.com said:
>Even if it HAD, what would have been the point? It was bad enough
>that CP/M was written ONLY for the 8080; that meant the operating
>system could never take advantage, directly, of improvements in
>processors, such as the Z-80 which all but dislodged the 8080
>within just a couple years. But to run 8080 'code' on an 8086 would
>be STUPID. You couldn't use the added instructions, nor registers,
>at all. The ONLY thing you'd gain would be a faster CPU clock. The
>BIG problem was MEMORY, not CLOCK.
The same could be said of running 8086 code on a 386 or later...
The CP/M operating system did little more than load programs and
manage files, and there was nothing to stop applications from using Z80
code. Translating 8080 or Z80 code to 8086 would get you a working system
in less time than writing a new OS from scratch, but I don't know if that
was actually what SCP did.
>Finally, what'$ an an$wer to the que$tion of the day worth, in $$?
>And, who you gonna have 'verify' that it's the RIGHT answer?
Probably nobody, unless someone can summon up the ghost of Gary Kildall.


Net-Tamer V 1.08X - Test Drive


Steve

unread,
Jun 2, 2000, 3:00:00 AM6/2/00
to
Tim Shoppa wrote:
>
> Tom Lake wrote:
> >
> > > Oh yeah. Sorry, I forgot. 86 code *is* exactly the same as 88 code. 80
> > code
> > > is sufficiently different to need recompiling for 88/86. QDOS/PCDOS 1.0
> > code
> > > was stolen from CP/M. I don't know how (from source, disassembly or
> > > whatever) but it was.
> >
> > It would have been really easy to steal the source since every installation
> > of CP/M came with source so it could be modified by the individual user.
>
> Huh? Which version of CP/M was that? My copies of CP/M 1.3, 1.4,
> 2.0, and 2.2 were binary-only. There was an example BIOS source in the
> _CP/M Alteration Guide_, but this wasn't supplied on magnetic media,
> and while the BIOS is a vital part of a CP/M installation, it's a tiny
> tiny part of the total scheme.
>
> Most folks who bought pre-customized versions of CP/M didn't even get
> copies of their BIOS sources, nor did they get the _CP/M Customization
> Guide_.
>
> Tim.
------------------
Tim, does anybody HAVE an online copy or downloadable copy of the CP/M
2.2 Customization Guide???
-Steve

bill_h

unread,
Jun 2, 2000, 3:00:00 AM6/2/00
to
Tom Lake wrote:
>
> > Oh yeah. Sorry, I forgot. 86 code *is* exactly the same as 88 code. 80
> code
> > is sufficiently different to need recompiling for 88/86. QDOS/PCDOS 1.0
> code
> > was stolen from CP/M. I don't know how (from source, disassembly or
> > whatever) but it was.
>
> It would have been really easy to steal the source since every installation
> of CP/M came with source so it could be modified by the individual user.
> Ah, the good old days when an OS was simple enough to fit on a single
> diskette and be written in assembler by an single individual....

Way wrong. CP/M Operating System consisted of THREE parts. The BDOS and
the CCP were written in PL/M; the BIOS was provided (usually) only if
the
manufacturer of the machine hadn't already made all the modifications
and adaptions necessary for HIS version of CP/M. The generic BIOS was
for
the MDS-80, which most people never saw. Usually, when a manufacturer
DID
provide a ''BIOS'', but not the generic one, he called it a CBIOS,
meaning
something like Customized (for HIS hardware) BIOS. I suppose ''operating
system'' also included the 'external' command files, too.

Only the BIOS (or CBIOS) was provided in Assembler. BDOS and CCP were
binary.

Murray Moffatt

unread,
Jun 3, 2000, 3:00:00 AM6/3/00
to
Paul Schlyter wrote:
> True, but QDOS and MS-DOS were written for the 8088/8086, and the
> discussion originally as about QDOS/MSDOS_1 stealing code from CP/M.
> It's not that hard to translate 8080 menmonics into their 8086/8088
> equivalents.

Hi Paul,

Actually the original discussion wasn't about QDOS/MSDOS stealing code
from CP/M. It was originally about why Kildall used a "$" as a
terminator in the Print String OS function. I also mentioned in my
original post that kicked all this off, that I remembered reading
somewhere that Kildall once challenged a journalist to ask Gates why
MS-DOS also used a "$" in its Print String function, the implication
being that Kildall knew why because of course he originally coded CP/M,
whereas Gates created MS-DOS from QDOS which was a CP/M clone.

I think another poster misunderstood my usage of the word "clone" - in
no way do I mean that QDOS was intended to take CP/M executable binary
code and "translate" it to run on an 8080 or 8086 or whatever. By
"clone" I mean that Tim Paterson wanted to make an OS that would allow
programmers to easily port their software from CP/M to his QDOS, and
therefore it made sense to use all the same OS functions for doing I/O,
etc. If Paterson had decided that his Print String function was going
to be OS function #32, and it would require a size byte so the OS would
know how many characters to output, then that would make it harder to
port a program from CP/M to QDOS because the programmer would have to go
through his code and change all function 9 calls to function 32's, and
use a size byte instead of a "$" terminator. Of course it goes without
saying that the code would have to be re-assembled anyway, but that's
minor compared to having to change all the OS calls within a program.

Regards
Murray

Murray Moffatt

unread,
Jun 3, 2000, 3:00:00 AM6/3/00
to
Andrew Owen wrote:
> Oh yeah. Sorry, I forgot. 86 code *is* exactly the same as 88 code. 80 code
> is sufficiently different to need recompiling for 88/86. QDOS/PCDOS 1.0 code
> was stolen from CP/M. I don't know how (from source, disassembly or
> whatever) but it was. But the discussion originally was about why Kildall
> used the '$' sign as a terminator and there still hasn't been a definitive
> answer, just a lot of guessing.

Hi Andrew,

You really think Paterson stole the code? I would have thought it more
likely that he just sat down and looked at the program <-> OS interface
(ie all the OS functions for doing I/O, etc) and just said to himself
"So long as my OS presents the same interface to a program (ie uses the
same function numbers, accepts the same inputs and returns the same
outputs) then it will be easy for programmers to port their programs
from CP/M to my OS. It shouldn't matter that internally my functions
work differently, because well behaved programs should only be calling
them through the established interface."

This is somewhat similiar, I believe, to how Award and AMI created their
BIOS's. They couldn't just copy IBM's BIOS, but instead they sat down
and documented exactly what the IBM BIOS did (ie all the BIOS functions
and how they worked) and then got programmers who had never seen the IBM
BIOS to write a new BIOS based on those docs. The end result was a BIOS
that worked exactly the same, but that wasn't actually "copied" as such.

Regards
Murray

Andrew Owen

unread,
Jun 3, 2000, 3:00:00 AM6/3/00
to
on 3/6/00 12:04 am, Murray Moffatt wrote:

> Andrew Owen wrote:
>> QDOS/PCDOS 1.0 code was stolen from CP/M.
>

> You really think Paterson stole the code?

Well, I read it on the 'net so it must be true! :)

> I would have thought it more likely that he just sat down and looked at the

> program <-> OS interface and just said to himself "So long as my OS presents
> the same interface to a program then it will be easy for programmers to port


> their programs from CP/M to my OS. It shouldn't matter that internally my
> functions work differently, because well behaved programs should only be
> calling them through the established interface."

But seriously, AFAIK internally the functions work almost exactly the same.
It was called QDOS 'cos it was 'quick' and 'dirty' remember. I think the
goal was to get an OS up on an 8086 ASAP without too much concern over where
the code came from.

> This is somewhat similiar, I believe, to how Award and AMI created their
> BIOS's. They couldn't just copy IBM's BIOS, but instead they sat down
> and documented exactly what the IBM BIOS did (ie all the BIOS functions
> and how they worked) and then got programmers who had never seen the IBM
> BIOS to write a new BIOS based on those docs. The end result was a BIOS
> that worked exactly the same, but that wasn't actually "copied" as such.

Well I heard it a little differently but basically the reverse engineered
it. What Patterson did was, having read the source, to make a few
modifications and recompile it for a different platform. That's stealing if
you ask me. It's all history now though and I don't really care what the
truth is.

-Andrew


anon...@bogus_address.con

unread,
Jun 3, 2000, 3:00:00 AM6/3/00
to

On 2000-06-02 bar...@yahoo.com said:

>Speaking as a member of the shallow unsophisticated masses who's
>been taken in by the glitz and paid advertising and who follows the
>broad road to perdition and who uses and enjoys MS products, I do
>know a megabyte from a megahertz and I know a hard drive is not
>memory. Nor am I an amateur, having retired from a 35 year
>programming career.
>
>I know bloatware when I see it and MS is surely the master of
>bloatware. But most of their stuff works fairly well most of the
>time and since most everybody uses it, it is the standard.
>
>And who really cares about bloatware when I have 40 gig of hard
>drive and 256 meg of memory on a computer that is now mostly used
>to do email and read newsgroups and play a few games. Or was that
>40 gig of memory and 256 meg of hard drive? Hmmm. I wish I could
>remember which is which.....:)
>
>Barry (who refuses to take all this very seriously)

As you no doubt discerned, Barry, the original post was designed to
be deliberately provocative. ;)

Change is inevitable; =progress= is not.

<'Bill H.' mode on>
Remember, Gatez' fortune -- and his resulting financial power to
become the megalomaniacal digital dictator that he is today -- was
originally derived from the accumulated sales of licensing agreements
for =DOS.=

The main reason that Mikro$loth products have become the 'standard' is
that M$ subsequently bought, stole, bankrupted or otherwise hounded
out of business, most of their significant competition.

This M$ modus operandi is of long-standing duration.

Their historical track record is clear, and beyond dispute: Win-Doze
3.xx's checking for the =brand= of DOS it was running under, the
DoubleSpace/Stakker fiasco, the dozens of consent agreements signed
over the years with the Federal Trade Commission, the restrictive
licensing practices perpetrated in the '80s...all these and more
are a matter of public record.
<'Bill H.' mode off>

Personally, I have some ethical/philosophical problems with The $loth.
The only small comfort I can take is in knowing (despite its recent
rush to corporate philanthropy) that, ultimately, M$ is gonna get its
Karmic come-uppance. :)

Paul Schlyter

unread,
Jun 3, 2000, 3:00:00 AM6/3/00
to
In article <2fUZ4.173$EU3....@newsfeed.slurp.net>,

Tom Lake <tom...@slic.com> wrote:

> It would have been really easy to steal the source since every installation
> of CP/M came with source so it could be modified by the individual user.

Two things:

1. The source, when included, was for the BIOS only; the source for
the BDOS and CCP was *not* included!

2. Not all installations came with source. I had two different
versions of CP/M for the good ol' Apple II (both ran CP/M 2.2, but on
different add-on Z80 cards) - none of them included any source of
the CP/M BIOS.

Richard Plinston

unread,
Jun 3, 2000, 3:00:00 AM6/3/00
to
Murray Moffatt wrote:
>
> You really think Paterson stole the code? I would have thought it more

> likely that he just sat down and looked at the program <-> OS interface
> (ie all the OS functions for doing I/O, etc) and just said to himself
> "So long as my OS presents the same interface to a program (ie uses the
> same function numbers, accepts the same inputs and returns the same
> outputs) then it will be easy for programmers to port their programs

> from CP/M to my OS. It shouldn't matter that internally my functions
> work differently, because well behaved programs should only be calling
> them through the established interface."

It has been alleged that Paterson did exactly put CP/M code through a
decompiler, then through the 8080->8086 Intel translator (which was
available) to arrive at the first cut of QDOS. SCP and Microsoft were
both DRI OEM customer and had full access to all DRI source code and
mechanisms. It was alleged by DRI that QDOS exhibited a bug from CP/M
1.4 that was related to closing of files, and that this demonstrated
that QDOS had been built from CP/M sources.

The OS also contains various command line internal and external
programs, some of which were also compatible to CP/M.

The very earliest QDOS sysstems were started by being built on CP/M
disks and then the CPU card being switched to boot up QDOS. This
implies that the initial file system for QDOS was CP/M formatted disks.
FAT was added later - it was a MS-DOS mechanism initially written for
MS's DEC Stand-Alone BASIC.


> This is somewhat similiar, I believe, to how Award and AMI created their
> BIOS's. They couldn't just copy IBM's BIOS, but instead they sat down
> and documented exactly what the IBM BIOS did (ie all the BIOS functions
> and how they worked) and then got programmers who had never seen the IBM
> BIOS to write a new BIOS based on those docs. The end result was a BIOS
> that worked exactly the same, but that wasn't actually "copied" as such.

It is only your 'guess' that it was 'somewhat similar' to Award and
AMI. However Award and AMI deliberately set out to produce a clean room
BIOS that did not infringe IBM Copyrights. SCP did not set out to have
a clean room version of CP/M, they were DRI OEM customers and had all
DRI source code and Paterson was the chief implementor of CP/M for the
SCP CP/M boxes. They set out to deliberately build a 8086 CP/M so that
they could develop and test their 8086 CPU boards for their new range of
machines. They initially wanted just a stand in for CP/M-86 until DRI
delivered the real thing, there was no initial purpose of building a
competive product until Bill Gates got involved.

Carl Miller

unread,
Jun 3, 2000, 3:00:00 AM6/3/00
to
On June 02 2000, "Barry" <bar...@yahoo.com> wrote:
> Barry (who refuses to take all this very seriously)

Now THERE's a wise man! :-)

--
"I am not an Anarchist in your sense of the word: Your brain is too
dense for any known explosive to affect it."


Tim Shoppa

unread,
Jun 3, 2000, 3:00:00 AM6/3/00
to
Steve wrote:
>
> Tim Shoppa wrote:
> >
> > Tom Lake wrote:
> > >
> > > > Oh yeah. Sorry, I forgot. 86 code *is* exactly the same as 88 code. 80
> > > code
> > > > is sufficiently different to need recompiling for 88/86. QDOS/PCDOS 1.0
> > > code

> > > > was stolen from CP/M. I don't know how (from source, disassembly or
> > > > whatever) but it was.
> > >
> > > It would have been really easy to steal the source since every installation
> > > of CP/M came with source so it could be modified by the individual user.
> >
> > Huh? Which version of CP/M was that? My copies of CP/M 1.3, 1.4,
> > 2.0, and 2.2 were binary-only. There was an example BIOS source in the
> > _CP/M Alteration Guide_, but this wasn't supplied on magnetic media,
> > and while the BIOS is a vital part of a CP/M installation, it's a tiny
> > tiny part of the total scheme.
> >
> > Most folks who bought pre-customized versions of CP/M didn't even get
> > copies of their BIOS sources, nor did they get the _CP/M Customization
> > Guide_.
> >
> > Tim.
> ------------------
> Tim, does anybody HAVE an online copy or downloadable copy of the CP/M
> 2.2 Customization Guide???

For 2.2, go to

http://cpm.interfun.net/drilib.html

download the ZIP saveset for the "CP/M 2.2 Manual in HTML",
unzip it, and look at Section 6, "CP/M Alteration". The sample
BIOS resides in Appendix B, "A Skeletal CBIOS".

Tim.

William J. Leary Jr.

unread,
Jun 3, 2000, 3:00:00 AM6/3/00
to
"Andrew Owen" <ao...@brandnewco.org> wrote in message
news:B55D9128.19B0%ao...@brandnewco.org...

> The 8088 was basically the same chip as the 8086, and they are both 16-bit
> internal. The differnce is that the 8088 had 8-bit external addressing
while the
> 8086 had 16-bit external addressing.

Eight vs. sixteen bit external data bus. They both addressed one meg of
memory with sixteen address lines.

- Bill

William J. Leary Jr.

unread,
Jun 3, 2000, 3:00:00 AM6/3/00
to
"Tom Lake" <tom...@slic.com> wrote in message
news:2fUZ4.173$EU3....@newsfeed.slurp.net...

> It would have been really easy to steal the source since every
installation
> of CP/M came with source so it could be modified by the individual user.

I used CP/M from 1.3 to 3.0 and the only source I ever got with my
distributions was the BIOS.

Was this something that they did before version 1.3?
Or, perhaps, for some commercial versions?

- Bill

Dave Tweed

unread,
Jun 3, 2000, 3:00:00 AM6/3/00
to
"William J. Leary Jr." wrote:
> Eight vs. sixteen bit external data bus. They both addressed one meg of
> memory with sixteen address lines.

20 address lines, 16-bit segment and offset registers.

The other difference was (is) that the 8086 had a 3-word (6-byte)
instruction FIFO, and the 8088 had a 4-byte FIFO. This, AFAIK, was
the only way firmware could tell them apart: poke an instruction
4 bytes ahead and then see if the CPU executes the original instruc-
tion or the new one.

-- Dave

no-...@world.std.com

unread,
Jun 3, 2000, 3:00:00 AM6/3/00
to

No. It was a vendor thing (vendor being machine or software house
other than DRI.), I happen to have 1.4 with full DRI disty of Cbios,
DUMP, GET and PUT for intel MDS (default). Also 2.2 for Morrow,
CCS, VT180, AMPRO, Compupro BIOS sources, Cbios for Visual1050
for CPM3.

Some did, some sold it as extra, some would not at all.

Allison


no-...@world.std.com

unread,
Jun 3, 2000, 3:00:00 AM6/3/00
to
On Fri, 2 Jun 2000 15:58:24 -0400, "Tom Lake" <tom...@slic.com>
wrote:

>> Oh yeah. Sorry, I forgot. 86 code *is* exactly the same as 88 code. 80
>code
>> is sufficiently different to need recompiling for 88/86. QDOS/PCDOS 1.0
>code
>> was stolen from CP/M. I don't know how (from source, disassembly or
>> whatever) but it was.
>

>It would have been really easy to steal the source since every installation
>of CP/M came with source so it could be modified by the individual user.

>Ah, the good old days when an OS was simple enough to fit on a single
>diskette and be written in assembler by an single individual....

No it didn't. Often the source you refer to was supporting utilities,
Cbios and possibly simple apps like DUMP.ASM. CP/M aka
CCP and BDOS ever never distributed as source. If it were it would
have been useless as the source was PLM not ASM.

Allison


Andrew Owen

unread,
Jun 3, 2000, 3:00:00 AM6/3/00
to

Well, you knew what I meant. I've tried to stay clear of intel chips so I
only have a passing knowledge of them. I have used a 80186 machine though
and it was horrible.

-Andrew


no-...@world.std.com

unread,
Jun 3, 2000, 3:00:00 AM6/3/00
to
On 2 Jun 2000 08:45:40 GMT, anonymous@bogus_address.con wrote:
>M$ bloatware is strictly for amateurs, anyway; only for the shallow,
>unsophisticated masses who are taken in by glitz and paid advertising,
>and follow the broad road to perdition: who don't know a megabyte from

>a megaHertz; who think that hard drive space is 'memory;' who believe
>that Internet is 'high tech.' <g>

True, or you can learn it and get into the internals. W95 is a fair
OS sans the crap wrapped around it. Peel off the cruft dump the
bags and run it on a 120mb disk with 70mb of free space as an
application shell for real code. runs decent then. W98 same applies.

Linux may be cheaper but portability of apps sucks unless you willing
to recompile and manage build libraries for an OS when the task is
something else.

Allison

no-...@world.std.com

unread,
Jun 3, 2000, 3:00:00 AM6/3/00
to
On 2 Jun 2000 22:16:15 -0500, bma...@iglou.com wrote:

>On 2000-06-01 bil...@azstarnet.com said:
> >Even if it HAD, what would have been the point? It was bad enough
> >that CP/M was written ONLY for the 8080; that meant the operating
> >system could never take advantage, directly, of improvements in
> >processors, such as the Z-80 which all but dislodged the 8080

From DRI, yes. From thrid parties, NOoooo! See P2dos, Novados,
Suprbdos, Zrdos, ZSdos, Turbodos.... they all were improved CP/M.

> >within just a couple years. But to run 8080 'code' on an 8086 would
> >be STUPID. You couldn't use the added instructions, nor registers,
> >at all. The ONLY thing you'd gain would be a faster CPU clock. The
> >BIG problem was MEMORY, not CLOCK.

Yes but then you had a development enviornment for 8086 that was NOT
intel based (isis or iRMX).

Also for bigger memory there was CP/M 3 and MPM that could do paging.

>manage files, and there was nothing to stop applications from using Z80
>code. Translating 8080 or Z80 code to 8086 would get you a working system
>in less time than writing a new OS from scratch, but I don't know if that
>was actually what SCP did.

;)

Allison

no-...@world.std.com

unread,
Jun 3, 2000, 3:00:00 AM6/3/00
to
On Tue, 30 May 2000 19:36:41 +1200, Murray Moffatt
<mode...@ihug.co.nz> wrote:

>As those of you who have programmed in assembler under CP/M will know,
>the Print String (function 9) OS call uses the "$" (dollar) sign to
>signal the end of the string you want to output to the console.

All in all never thought it was an issue. It was a artifact of
developmet envirnment.

To get around the problem of $ being an end code... One has to know
that CPM IO for printers and terminals was 7bit ascii with bit 7
masked to zero. So to print a $ one only had to do this:

String DB "this is a test of ", "$"+080h ," the dollar sign","$"

it works becuase bios(9) looks for the 7 bit representation of $ and
the print driver will later mask the string with 07Fh so devices down
stream don't care!

If it were a big issue a replacement printstring could be used inside
ones own code.

Oh, since the OS and apps of the time didn't use 8bit ascii the loss
of one bit was insignificant utill modems were more common and
file transfers were being done.

That and in any random enviornment any of the possible 256 chars
would have been in the way at some point $ and all the other things
were a non issue.


Allison


anon...@bogus_address.con

unread,
Jun 3, 2000, 3:00:00 AM6/3/00
to

On 2000-06-03 no-...@world.std.com said:

>To get around the problem of $ being an end code... One has to know
>that CPM IO for printers and terminals was 7bit ascii with bit 7
>masked to zero. So to print a $ one only had to do this:
>
>String DB "this is a test of ", "$"+080h ," the dollar sign","$"
>it works becuase bios(9) looks for the 7 bit representation of $ and
>the print driver will later mask the string with 07Fh so devices
>down stream don't care!

Great piece of info! Thanks, Allison.

William J. Leary Jr.

unread,
Jun 3, 2000, 3:00:00 AM6/3/00
to
"Dave Tweed" <dtw...@acm.org> wrote in message
news:3939625F...@acm.org...

> "William J. Leary Jr." wrote:
> > Eight vs. sixteen bit external data bus. They both addressed one meg of
> > memory with sixteen address lines.
>
> 20 address lines, 16-bit segment and offset registers.

See, there I go. I usually skip correcting things because I seem to always
make a mistake in the correction. I read "A19/S6" on the pin-out, promply
let my dyslexia change the "19" into "16" and then wrote it down. And at
that, I should have bumped by one due to base zero an noticed that "17" was
silly.

Thank you for the catch.

> The other difference was (is) that the 8086 had a 3-word (6-byte)
> instruction FIFO, and the 8088 had a 4-byte FIFO.

I'd forgotten that one.

I seem to recall some minor bus timing differences as well... but I may be
remembering something about using 8085 parts with the 8088.

- Bill


Paul Schlyter

unread,
Jun 3, 2000, 3:00:00 AM6/3/00
to
In article <39386...@news.iglou.com>, <bma...@iglou.com> wrote:

> On 2000-06-01 bil...@azstarnet.com said:
>
>> Even if it HAD, what would have been the point? It was bad enough
>> that CP/M was written ONLY for the 8080; that meant the operating
>> system could never take advantage, directly, of improvements in
>> processors, such as the Z-80 which all but dislodged the 8080
>> within just a couple years. But to run 8080 'code' on an 8086 would
>> be STUPID. You couldn't use the added instructions, nor registers,
>> at all. The ONLY thing you'd gain would be a faster CPU clock. The
>> BIG problem was MEMORY, not CLOCK.
>
> The same could be said of running 8086 code on a 386 or later...
> The CP/M operating system did little more than load programs and
> manage files, and there was nothing to stop applications from using
> Z80 code.

One veyr well-known CP/M application which used Z80 code, and thus
could be run only on Z80 CP/M machines, was Borland's Turbo Pascal
for CP/M-80.

Barry

unread,
Jun 3, 2000, 3:00:00 AM6/3/00
to
<anonymous@bogus_address.con> wrote in message
news:8h9kk0$s4i$1...@q.seanet.com...

>
> <'Bill H.' mode on>
> Remember, Gatez' fortune -- and his resulting financial power to
> become the megalomaniacal digital dictator that he is today --
was
> originally derived from the accumulated sales of licensing
agreements
> for =DOS.=
>
> The main reason that Mikro$loth products have become the
'standard' is
> that M$ subsequently bought, stole, bankrupted or otherwise
hounded
> out of business, most of their significant competition.
>
> This M$ modus operandi is of long-standing duration.
>
> Their historical track record is clear, and beyond dispute:
Win-Doze
> 3.xx's checking for the =brand= of DOS it was running under, the
> DoubleSpace/Stakker fiasco, the dozens of consent agreements
signed
> over the years with the Federal Trade Commission, the restrictive
> licensing practices perpetrated in the '80s...all these and more
> are a matter of public record.
> <'Bill H.' mode off>

That's what the free enterprise system does, in the real world. It
attracts all kinds of people, but the highly competitive ones who
are willing to play hardball are the usual winners. I have no
doubt that everything you said about Bill Gates is true. It
probably is also true for many of his competitors. He just happens
to be better at it.

As for why Windows is the standard, what difference does it make?
It is the standard and thats a good reason to use it. If I had my
preference we'd still be using an OS that stays out of our way,
like CP/M or Dos. But sometimes the world doesn't consult me.

But the really important point in all of this, in my opinion, is
that none of it is very important. Computers are for fun and not
to be taken too seriously. Both you and Bill Gates seem not to
remember that.

Barry


Steve

unread,
Jun 3, 2000, 3:00:00 AM6/3/00
to
Tim Shoppa wrote:
>
> Steve wrote:
> >
> > Tim Shoppa wrote:
> > >
> > > Tom Lake wrote:
> > > >
> > > > > Oh yeah. Sorry, I forgot. 86 code *is* exactly the same as 88 code. 80
> > > > code
> > > > > is sufficiently different to need recompiling for 88/86. QDOS/PCDOS 1.0
> > > > code
> > > > > was stolen from CP/M. I don't know how (from source, disassembly or
> > > > > whatever) but it was.
> > > >
> > > > It would have been really easy to steal the source since every installation
> > > > of CP/M came with source so it could be modified by the individual user.
> > >
> > > Huh? Which version of CP/M was that? My copies of CP/M 1.3, 1.4,
> > > 2.0, and 2.2 were binary-only. There was an example BIOS source in the
> > > _CP/M Alteration Guide_, but this wasn't supplied on magnetic media,
> > > and while the BIOS is a vital part of a CP/M installation, it's a tiny
> > > tiny part of the total scheme.
> > >
> > > Most folks who bought pre-customized versions of CP/M didn't even get
> > > copies of their BIOS sources, nor did they get the _CP/M Customization
> > > Guide_.
> > >
> > > Tim.
> > ------------------
> > Tim, does anybody HAVE an online copy or downloadable copy of the CP/M
> > 2.2 Customization Guide???
>
> For 2.2, go to
>
> http://cpm.interfun.net/drilib.html
>
> download the ZIP saveset for the "CP/M 2.2 Manual in HTML",
> unzip it, and look at Section 6, "CP/M Alteration". The sample
> BIOS resides in Appendix B, "A Skeletal CBIOS".
>
> Tim.
----------------------
Yes, I have all that in several forms.

And so this is what was in the "Customization Guide", in its entirety,
or was calling it by the name "Customization Guide" not the correct
title whereas "CP/M Alteration" is??

I had wondered why I had never seen that name before.
-Steve

Murray Moffatt

unread,
Jun 4, 2000, 3:00:00 AM6/4/00
to
Thanks for your interesting info, Richard. I didn't know the history of
SCP, so your posting has added some historical perspective for me.

Regards
Murray

Richard Plinston wrote:
> It has been alleged that Paterson did exactly put CP/M code through a
> decompiler, then through the 8080->8086 Intel translator (which was
> available) to arrive at the first cut of QDOS. SCP and Microsoft were
> both DRI OEM customer and had full access to all DRI source code and
> mechanisms. It was alleged by DRI that QDOS exhibited a bug from CP/M
> 1.4 that was related to closing of files, and that this demonstrated
> that QDOS had been built from CP/M sources.
>
> The OS also contains various command line internal and external
> programs, some of which were also compatible to CP/M.
>
> The very earliest QDOS sysstems were started by being built on CP/M
> disks and then the CPU card being switched to boot up QDOS. This
> implies that the initial file system for QDOS was CP/M formatted disks.
> FAT was added later - it was a MS-DOS mechanism initially written for
> MS's DEC Stand-Alone BASIC.
>

Richard Plinston

unread,
Jun 4, 2000, 3:00:00 AM6/4/00
to
> >"Tom Lake" <tom...@slic.com> wrote in message
> >news:2fUZ4.173$EU3....@newsfeed.slurp.net...
> >> It would have been really easy to steal the source since every
> >installation
> >> of CP/M came with source so it could be modified by the individual user.

> No. It was a vendor thing (vendor being machine or software house
> other than DRI.), I happen to have 1.4 with full DRI disty of Cbios,
> DUMP, GET and PUT for intel MDS (default). Also 2.2 for Morrow,
> CCS, VT180, AMPRO, Compupro BIOS sources, Cbios for Visual1050
> for CPM3.

The BIOS, DUMP, GET, and PUT are _not_ CP/M. The sources issued by DRI
were examples which each vendor would need to modify to suit their
harware, which they may have passed on (or not).

CP/M is the BDOS, the CCP and utilities for which source was _not_
issued.

However disasemblers have been available, some even produced commented
code (because the comments were part of the disassembler of the BDOS and
CCP). These would have been relatively easy to put through 8080->8086
translators.

Richard Plinston

unread,
Jun 4, 2000, 3:00:00 AM6/4/00
to
>
> > >within just a couple years. But to run 8080 'code' on an 8086 would
> > >be STUPID. You couldn't use the added instructions, nor registers,
> > >at all. The ONLY thing you'd gain would be a faster CPU clock. The
> > >BIG problem was MEMORY, not CLOCK.

QDOS and MS-DOS 1.x only supported .COM programs. These are binary
images just as CP/M .COM files were and were executed as '8080' model
(AKA tiny model). That is the DS, CS, and SS registers pointed to the
PSP of the program. So, you think that MS-DOS 1.x development was
'STUPID' do you ?

In fact the immediate gain is that every program can use 64Kb rather
than being restricted to the TPA area of 50Kb or so without the BDOS,
BIOS, and screen being lodged into the one segment. The program, even
an 8080 model, can also use the ES register to access more memory as
required.

This means that a naieve translation of a CP/M program to 8086 can
immediately benefit from some memory gains, only slightly more work can
double memory availability. Why is this 'STUPID' ?

While CP/M-86 started with the .CMD multi-segment models (but one can
also write tiny or 8080 model programs) MS-DOS had to wait for version
2.0 to get .EXEs.

MS-DOS 1 is much more a clone of CP/M 1.4 than of 2.2 or of CP/M-86.

anon...@bogus_address.con

unread,
Jun 4, 2000, 3:00:00 AM6/4/00
to

On 2000-06-03 bar...@yahoo.com said:

>But the really important point in all of this, in my opinion, is
>that none of it is very important. Computers are for fun and not
>to be taken too seriously. Both you and Bill Gates seem not to
>remember that.

Oh, I remember, all right. Matter of fact, it was the dumbed-down,
pointee-clickee bloatware that =impinged= on my fun. So that's why
I don't use it...and I'm havin' a ball! ;)

Tom Lake

unread,
Jun 4, 2000, 3:00:00 AM6/4/00
to
> > It would have been really easy to steal the source since every
installation
> > of CP/M came with source so it could be modified by the individual user.
> > Ah, the good old days when an OS was simple enough to fit on a single
> > diskette and be written in assembler by an single individual....
>
> Way wrong. CP/M Operating System consisted of THREE parts. The BDOS and
> the CCP were written in PL/M; the BIOS was provided (usually) only if
> the
> manufacturer of the machine hadn't already made all the modifications
> and adaptions necessary for HIS version of CP/M. The generic BIOS was
> for
> the MDS-80, which most people never saw. Usually, when a manufacturer
> DID
> provide a ''BIOS'', but not the generic one, he called it a CBIOS,
> meaning
> something like Customized (for HIS hardware) BIOS. I suppose ''operating
> system'' also included the 'external' command files, too.
>
> Only the BIOS (or CBIOS) was provided in Assembler. BDOS and CCP were
> binary.

Our company got the whole thing directly from Kildall (just before he
started Digital Research) and had to assemble and compile the various pieces
ourselves. I assumed (yeah, I know!) everyone who used CP/M got the same.

Tom Lake

David Harmon

unread,
Jun 4, 2000, 3:00:00 AM6/4/00
to
On Fri, 02 Jun 2000 08:37:43 -0400 in comp.os.cpm,
Tim Shoppa <sho...@trailing-edge.com> wrote:

>> Shouldn't that be Radix-40 instead ?
>
>It's 50 *octal*.

Shouldn't that be 050 instead?


Andrew Owen

unread,
Jun 4, 2000, 3:00:00 AM6/4/00
to
on 4/6/00 3:17 am, Barry wrote:

> That's what the free enterprise system does, in the real world. It
> attracts all kinds of people, but the highly competitive ones who
> are willing to play hardball are the usual winners. I have no
> doubt that everything you said about Bill Gates is true. It
> probably is also true for many of his competitors. He just happens
> to be better at it.

That's the problem, Bill Gates is great at selling product, no matter how
awful it is.



> As for why Windows is the standard, what difference does it make?

Because if everybody had to drive Yugos people would demand a better system?

> It is the standard and thats a good reason to use it.

Unix is the standard for lots of stuff, but that doesn't stop the fools
replacing it with NT.

> If I had my
> preference we'd still be using an OS that stays out of our way,
> like CP/M or Dos. But sometimes the world doesn't consult me.

You are still using DOS (unless you're using NT).

> But the really important point in all of this, in my opinion, is
> that none of it is very important. Computers are for fun and not
> to be taken too seriously.

That's why I'd rather muck about with obsolete hardware than try and keep up
with the latest developments (see the sig). :)

--
Andrew Owen
ZX Spectrum SE Technical Reference: http://www.brandnewco.org/se/


John Elliott

unread,
Jun 4, 2000, 3:00:00 AM6/4/00
to
bill_h <bil...@azstarnet.com> wrote:
>Way wrong. CP/M Operating System consisted of THREE parts. The BDOS and
>the CCP were written in PL/M;

Certainly for CP/M 3, all existing BDOS and CCP source is in ASM. And
I'm inclined to believe it's original DRI source rather than disassembled;
apart from anything else, it defines SCB variables that I've not seen
defined by any other source, even by those who have disassembled the BDOS.

------------- http://www.seasip.demon.co.uk/index.html --------------------
John Elliott |BLOODNOK: "But why have you got such a long face?"
|SEAGOON: "Heavy dentures, Sir!" - The Goon Show
:-------------------------------------------------------------------------)

Dave Tweed

unread,
Jun 4, 2000, 3:00:00 AM6/4/00
to

Look, DEC's name for it was Radix-50. I figured that anyone else
who remembered it would remember it by that name. It may even
predate the '050' notation for octal constants that was introduced
by the C language.

Isn't anyone interested in discussing how it relates to using '$'
as a string terminator?

Sheesh.

-- Dave

Tim Shoppa

unread,
Jun 4, 2000, 3:00:00 AM6/4/00
to
David Harmon wrote:
>
> On Fri, 02 Jun 2000 08:37:43 -0400 in comp.os.cpm,
> Tim Shoppa <sho...@trailing-edge.com> wrote:
>
> >> Shouldn't that be Radix-40 instead ?
> >
> >It's 50 *octal*.
>
> Shouldn't that be 050 instead?

In which assembler is that? The default number base for all the
assemblers I use is octal...

Methinks you have Unix/C notation on the brain.

Tim.

Barry

unread,
Jun 4, 2000, 3:00:00 AM6/4/00
to
<anonymous@bogus_address.con> wrote in message
news:8hctat$5f1$1...@q.seanet.com...

>
> On 2000-06-03 bar...@yahoo.com said:
>
> >But the really important point in all of this, in my opinion,
is
> >that none of it is very important. Computers are for fun and
not
> >to be taken too seriously. Both you and Bill Gates seem not
to
> >remember that.
>
> Oh, I remember, all right. Matter of fact, it was the
dumbed-down,
> pointee-clickee bloatware that =impinged= on my fun. So that's
why
> I don't use it...and I'm havin' a ball! ;)

Well, good. Fun is what it's all about. :)

Barry


Barry

unread,
Jun 4, 2000, 3:00:00 AM6/4/00
to
"Andrew Owen" <ao...@brandnewco.org> wrote in message
news:B55FDB28.1BC0%ao...@brandnewco.org...

> on 4/6/00 3:17 am, Barry wrote:
>
> > That's what the free enterprise system does, in the real world.
It
> > attracts all kinds of people, but the highly competitive ones
who
> > are willing to play hardball are the usual winners. I have no
> > doubt that everything you said about Bill Gates is true. It
> > probably is also true for many of his competitors. He just
happens
> > to be better at it.
>
> That's the problem, Bill Gates is great at selling product, no
matter how
> awful it is.

I don't think MS products are awful. Well, a few have been. Most
are mediocre. They work well enough to get the job done most of
the time. If you use linux and everything that's lower quality
than linux is awful, well, ok. I can't argue that because it's an
emotional thing.

> > As for why Windows is the standard, what difference does it
make?
>
> Because if everybody had to drive Yugos people would demand a
better system?

I don't see how the two statements above are related. Maybe true.
But not connected.

> > It is the standard and thats a good reason to use it.
>
> Unix is the standard for lots of stuff, but that doesn't stop the
fools
> replacing it with NT.

Then again, NT users probably call the people still using unix,
fools. Of course neither are fools. They're just doing what works
for them.

> > If I had my
> > preference we'd still be using an OS that stays out of our way,
> > like CP/M or Dos. But sometimes the world doesn't consult me.
>
> You are still using DOS (unless you're using NT).

I still have a dos laptop. Well, ok, laugh if you want. I have 6
of them ranging from a Tandy with an NEC V20 to a Compaq 486SX/33.
I'm hanging on to them because they're not worth enough to sell
them and I have a feeling they might be someday. And I use 2 of
them fairly often. I'm using one now to learn to do 3d
transformations. I used my HP palmtop (Dos 5.0) to learn to do 2d
transformations.

> > But the really important point in all of this, in my opinion,
is
> > that none of it is very important. Computers are for fun and
not
> > to be taken too seriously.
>

> That's why I'd rather muck about with obsolete hardware than try
and keep up
> with the latest developments (see the sig). :)

Me too. I do have a fairly new desktop computer with a lot of
stuff on it. I bought it to replace my older desktop after seeing
a demo of MS game "Midtown Madnees" which made me realize I
couldn't play most of the new games. It's only used for the
internet and games and it's great for both. All my programming is
done on portables of one sort or another while sitting on the front
porch or in an easy chair or at Starbucks. A little bit of that is
Windows, but most is Dos or something more primitive as a
development platform (such as the HP48 and the Palm Pilot, where
I'm learning Forth).

I think we agree that old computers are better than new ones. New
ones are more complicated, less fun, less reliable and far less
controllable. Easy to use isn't a consideration for me.

Barry


no-...@world.std.com

unread,
Jun 4, 2000, 3:00:00 AM6/4/00
to

Anyone that actually used CPM and developed for it knows this. I
think even some of the DRI examples had it.

Much of CP/M was never look at carefully save by those that cloned it.
There was enough thought behind it to do real jobs quite well.

Allison

Andrew Owen

unread,
Jun 4, 2000, 3:00:00 AM6/4/00
to
on 4/6/00 5:05 pm, Barry wrote:

[Bill Gates is a marketing genius]


>> That's the problem, Bill Gates is great at selling product, no
>> matter how awful it is.

> I don't think MS products are awful.

I guess you've never seen any MS source code then.

> Well, a few have been.

Name one MS product that worked reasonably well in its version 1 release.

> Most are mediocre.
Name one MS product that got that far before its version 3.1 release.

> They work well enough to get the job done most of the time.

I don't want a system like that running the banks or the hospitals thank
you. NASA can predict how many faults there will be in their system and
where they will turn up. I want a system more like that.

> If you use linux and everything that's lower quality than linux is awful,
> well, ok. I can't argue that because it's an emotional thing.

I use anything but MS stuff, except on the rare occasion that its good which
can only ever be applied to the odd program for the Macintosh.

>>> As for why Windows is the standard, what difference does it make?
>> Because if everybody had to drive Yugos people would demand a
>> better system?
> I don't see how the two statements above are related. Maybe true.
> But not connected.

People take more consideration when buying a car than they do when buying a
computer even though the maintenance costs are similar.

>>> It is the standard and thats a good reason to use it.
>> Unix is the standard for lots of stuff, but that doesn't stop the
>> fools replacing it with NT.

> Then again, NT users probably call the people still using unix,
> fools. Of course neither are fools. They're just doing what works
> for them.

No, you've missed the point. NT is just not scalable enough to replace Unix
in the vast majority of cases and yet people are doing that hand over fist
in the UK because they think one day everything will run NT. I accept that
there are instances where NT may be preferable but I can't think of one and
I never want to have to use it in my daily work again.



>>> If I had my
>>> preference we'd still be using an OS that stays out of our way,
>>> like CP/M or Dos. But sometimes the world doesn't consult me.
>> You are still using DOS (unless you're using NT).
>
> I still have a dos laptop.

No, I meant Windows9X *is* DOS. I always keep a DOS window open when I'm
forced to use it so if the GUI crashes I can restart it without reseting the
machine.

> I think we agree that old computers are better than new ones. New
> ones are more complicated, less fun, less reliable and far less
> controllable. Easy to use isn't a consideration for me.

Old computers are easier to use in many cases. The GUI started out as a good
idea but if you ask me it's become so overloaded now the user would be no
less confused by a CP/M prompt.

Stewart and Leta Marshall

unread,
Jun 4, 2000, 3:00:00 AM6/4/00
to
Andrew Owen wrote:
>
> The GUI started out as a good
> idea but if you ask me it's become so overloaded now the user would be no
> less confused by a CP/M prompt.
>
You said a mouthful there, Andrew, old sport! Even on our precious
Macintoshes, the GUI seems to be getting out of hand when the system
alone needs more than 10 mb of RAM to load it and all its features. It
is a RELIEF to me to fire up the old CompuPro and see that simple little
prompt winking at me! Except for the Net and some CAD occasionally,
most everything I do on my machines is basically word processing; and
every computer I have ever owned will do that! I wonder if we will
witness an actual backlash against these new complicated GUI OS's, with
people other than collectors and enthusiasts leaning back toward simpler
machines? Perhaps this in fact accounts for some of the attraction of
the palmtops to many users?

Cheers, Stewart

Andrew Owen

unread,
Jun 4, 2000, 3:00:00 AM6/4/00
to
on 4/6/00 9:54 pm, Stewart and Leta Marshall wrote:

> Andrew Owen wrote:
>>
>> The GUI started out as a good
>> idea but if you ask me it's become so overloaded now the user would be no
>> less confused by a CP/M prompt.

> You said a mouthful there, Andrew, old sport!

Reckon so!

> I wonder if we will
> witness an actual backlash against these new complicated GUI OS's, with
> people other than collectors and enthusiasts leaning back toward simpler
> machines?

I doubt it. Not unless people finally get pissed off enough with WIndows to
stop using it.

> Perhaps this in fact accounts for some of the attraction of
> the palmtops to many users?

I bought my palmtop (original Psion 5) because I wanted a computer I didn't
have to boot up.

bill_h

unread,
Jun 4, 2000, 3:00:00 AM6/4/00
to
Tom Lake wrote:

> bill_h@azstarnet said:

> > Only the BIOS (or CBIOS) was provided in Assembler. BDOS and CCP were
> > binary.
>
> Our company got the whole thing directly from Kildall (just before he
> started Digital Research) and had to assemble and compile the various pieces
> ourselves. I assumed (yeah, I know!) everyone who used CP/M got the same.

What company was that? And, how about passing along some of the
details, such as what the computer(s) was (were) used for, named, etc?


Bill
Tucson, AZ


Paul Schlyter

unread,
Jun 4, 2000, 3:00:00 AM6/4/00
to
In article <393A782C...@acm.org>, Dave Tweed <dtw...@acm.org> wrote:

> David Harmon wrote:
>> On Fri, 02 Jun 2000 08:37:43 -0400 in comp.os.cpm,
>> Tim Shoppa <sho...@trailing-edge.com> wrote:
>>>> Shouldn't that be Radix-40 instead ?
>>> It's 50 *octal*.
>> Shouldn't that be 050 instead?
>
> Look, DEC's name for it was Radix-50. I figured that anyone else
> who remembered it would remember it by that name. It may even
> predate the '050' notation for octal constants that was introduced
> by the C language.

What notation did Dec use to express decimal numbers? E.g. when
giving the price of their computers to customers .... if these too
all were in octal.... :-))))


> Isn't anyone interested in discussing how it relates to using '$'
> as a string terminator?
>
> Sheesh.

Perhaps the internal code for '$' in Radix-50 was 47 ?

Tom Lake

unread,
Jun 4, 2000, 3:00:00 AM6/4/00
to
> > Our company got the whole thing directly from Kildall (just before he
> > started Digital Research) and had to assemble and compile the various
pieces
> > ourselves. I assumed (yeah, I know!) everyone who used CP/M got the
same.
>
> What company was that? And, how about passing along some of the
> details, such as what the computer(s) was (were) used for, named, etc?

It was Mutual of New York (MONY) in Syracuse, NY, the computers were IMSAIs
and we used them for office automation tasks (WP, personal calendars, that
sort of thing.) In fact in August 1981 when we got our first IBM PC (we had
on-site IBM reps since our IBM account was so large in the mainframe
department that we got a jump on most places in getting IBM PCs) we got a
board for the PC that included a Z-80, called Big Blue or something like
that (hey it was 19 years ago - the details are fuzzy!) , so we could
continue to run CP/M programs. There was very little software available for
the PC at its introduction. I had no personal contact with Kildall, neither
did my boss. It was my boss's boss's boss that told us all this. It was a
very large company.

Tom Lake

Tim Shoppa

unread,
Jun 4, 2000, 3:00:00 AM6/4/00
to
Paul Schlyter wrote:
>
> In article <393A782C...@acm.org>, Dave Tweed <dtw...@acm.org> wrote:
>
> > David Harmon wrote:
> >> On Fri, 02 Jun 2000 08:37:43 -0400 in comp.os.cpm,
> >> Tim Shoppa <sho...@trailing-edge.com> wrote:
> >>>> Shouldn't that be Radix-40 instead ?
> >>> It's 50 *octal*.
> >> Shouldn't that be 050 instead?
> >
> > Look, DEC's name for it was Radix-50. I figured that anyone else
> > who remembered it would remember it by that name. It may even
> > predate the '050' notation for octal constants that was introduced
> > by the C language.
>
> What notation did Dec use to express decimal numbers?

In MACRO-11 assembler, you put a "." after the number. e.g. "40."
is forty base-ten.

> Perhaps the internal code for '$' in Radix-50 was 47 ?

Gees, it's not like its hard to find out. Just log into your
nearest RSX-11M box and use CVT:

>cvt %$
27. 27.,0. 000033 033,000 $001B % $ "<ESC><NUL>

i.e. '$' is 27 decimal, 33 octal.

Tim.

Tom Lake

unread,
Jun 4, 2000, 3:00:00 AM6/4/00
to
> Question: Is it possible to disable the GUI interface on a Windows
> system and do multitasking in text mode? If so, how easy it it? If not,
why
> not?

Sure is! Add a line in MSDOS.SYS that reads BootGUI=0
The machine will start up in DOS.
To run a program in a new session, use

START progname

where progname is, of course, the name of the program you want to run. The
original DOS session will still be running and progname will be the active
session. When you exit progname, the original DOS session will again be
active.

Tom Lake

Murray Moffatt

unread,
Jun 5, 2000, 3:00:00 AM6/5/00
to
Dave Tweed wrote:
> Isn't anyone interested in discussing how it relates to using '$'
> as a string terminator?

Dave, as the person that kicked off this discussion I've now given up on
ever finding the answer about the "$" terminator. I only asked it in
the first place because I thought Kildall may have at one stage
explained why he used it and that someone here may have remembered the
answer, but it looks like that isn't the case. And I've tried very hard
to find the quote from Kildall that mentioned it but I can't (I thought
maybe in the "Hackers" book by Steve Levy, but it doesn't look like it).

Jim Bianchi

unread,
Jun 5, 2000, 3:00:00 AM6/5/00
to
In article <B5605ADB.1C18%ao...@brandnewco.org>, Andrew Owen wrote:
>No, I meant Windows9X *is* DOS. I always keep a DOS window open when I'm
>forced to use it so if the GUI crashes I can restart it without reseting
>the machine.

Question: Is it possible to disable the GUI interface on a Windows


system and do multitasking in text mode? If so, how easy it it? If not, why
not?

--
ji...@sonic.net
Eclectic Garbanzo BBS, (707) 539-1279

Linux: gawk, date, finger, wait, unzip, touch, nice, suck, strip, mount,
fsck, umount, make clean, sleep. (Who needs porn when you have /usr/bin?)

Jim Bianchi

unread,
Jun 5, 2000, 3:00:00 AM6/5/00
to
In article <3UD_4.2532$EU3....@newsfeed.slurp.net>, Tom Lake wrote:
>> Question: Is it possible to disable the GUI interface on a Windows system
>> and do multitasking in text mode? If so, how easy it it? If not, why not?
>
>Sure is! Add a line in MSDOS.SYS that reads BootGUI=0 The machine will
>start up in DOS. To run a program in a new session, use
>
>START progname
>
>where progname is, of course, the name of the program you want to run. The
>original DOS session will still be running and progname will be the active
>session. When you exit progname, the original DOS session will again be
>active.

Ok, but what I meant was, can you, say, get to the DOS prompt again
without terminating progname? I use Linux and have seven 'virtual consoles'
in text mode that I can select to get a new prompt from which I can launch
yet another 'progname.' This is what I meant by multitasking.

Richard Plinston

unread,
Jun 5, 2000, 3:00:00 AM6/5/00
to
> >> Question: Is it possible to disable the GUI interface on a Windows system
> >> and do multitasking in text mode? If so, how easy it it? If not, why not?
> >
> >Sure is! Add a line in MSDOS.SYS that reads BootGUI=0 The machine will
> >start up in DOS. To run a program in a new session, use
> >
> >START progname
> >
> >where progname is, of course, the name of the program you want to run. The
> >original DOS session will still be running and progname will be the active
> >session. When you exit progname, the original DOS session will again be
> >active.
>
> Ok, but what I meant was, can you, say, get to the DOS prompt again
> without terminating progname? I use Linux and have seven 'virtual consoles'
> in text mode that I can select to get a new prompt from which I can launch
> yet another 'progname.' This is what I meant by multitasking.

There was a task-switcher in MS-DOS 4.01 started from the DOSMENU
system. This however was not real multi-tasking, but then nor is
Windows. MS did a sort-of multi-tasking DOS with version 4.0 and 4.1
(nothing to do with the much later 4.01) but this was dropped for the
multi-tasking MS-DOS 5 renamed to OS/2 (nothing to do with the much
later MS-DOS 5).

DRI products have had multi-tasking since about 1978 first with MP/M
(Ctrl-D to get a new command-line), the Concurrent-CP/M-86 through CDOS,
Multiuser-DOS to the VAR (Value Added Reseller) versions of System
Manager and Real/32 (see www.imsltd.com).

If you want multi-tasking DOS then a single-user version of System
Manager (or Real/32) is the best that I found.

anon...@bogus_address.con

unread,
Jun 5, 2000, 3:00:00 AM6/5/00
to

On 2000-06-04 bar...@yahoo.com said:

>Well, good. Fun is what it's all about. :)

..although your former employer might've had a =different=
perception! ;)

bi...@microsoft.com

unread,
Jun 5, 2000, 3:00:00 AM6/5/00
to
On Tue, 30 May 2000 19:36:41 +1200, Murray Moffatt
<mode...@ihug.co.nz> wrote:

>As those of you who have programmed in assembler under CP/M will know,
>the Print String (function 9) OS call uses the "$" (dollar) sign to
>signal the end of the string you want to output to the console.
>
>Years ago I remember reading an article somewhere that was talking about
>how QDOS (the forerunner to MS-DOS) was designed to be a clone of CP/M
>and use the same function calls for compatibility reasons (i.e. to make
>it easy to port CP/M programs to QDOS). Microsoft was mentioned as
>denying this, and in response Gary Kidall was quoted as saying that one
>way to prove it was to ask Bill Gates why MS-DOS used the "$" sign to
>terminate string output when using MS-DOS's Print String function. I
>think his words were something like: "Only I know why I decided to use
>the dollar sign as the terminator. If MS-DOS wasn't a clone of CP/M
>then ask Bill why he also used a dollar sign as a terminator."
>
>My question: Does anyone know why Gary would have used a dollar sign?
>
>I would have thought it would have made sense to use a character that
>wasn't likely to be output, perhaps a null character. Unless he wanted
>something that could easily be typed in (although setting up a null is
>easy enough in assembler). How did programmers typically get around the
>problem that they couldn't output a "$" using the Print String
>function? Output it separately using Console Output (function 2)?

I did it because $ looks like an S and T overstriking each other.
STring... get it?

Gary was a hacker and I never copied a thing from him!

anon...@bogus_address.con

unread,
Jun 5, 2000, 3:00:00 AM6/5/00
to

On 2000-06-05 ji...@sonic.net said:

>Question: Is it possible to disable the GUI interface on a Windows
>system and do multitasking in text mode?
>If so, how easy it it?
>If not, why not?

Win-Doze is a =protected= mode O.S., and uses resources
and methods available only in protected mode. DOS pro-
grams, on the other hand, run in real mode. CP/M and
CP/M-86 are also real mode operating systems.

Win-Doze can't operate in real mode. When you invoke a
DOS-based program through Win-Doze, the DOS program is
run by Win-Doze in 'virtual 86' mode...which is essentially
a simulation of real mode, but with the Win-Doze kernel
still very much in control.

Remember, though, you can always do true multitasking
under DOS on =any= IBM-compatible machine -- even an 8088 --
with the proper third-party software (DesQview, VMIX, etc.).

Multitasking was around for =decades= before Win-Doze was
ever thought of. You don't need Win-Doze in order to
multitask...just as you don't need Win-Doze to access
Internet (I'm operating under DOS at this very moment).

There's nothing magic about Mikro$loth's pointee-clickee
abomination. Indeed, there's nothing even =original=
about it; every aspect of Win-Doze was filched from pre-
existing technology.

Even the word 'windows' was generically used for years
in the computer world (MP/M, Concurrent CP/M-86) to
signify different concurrently-running tasks. This was
long before Bill Gatez gave that name to his bloatware.

There's nothing new, son; only glitzy repackaging of
old ideas.

Paul Schlyter

unread,
Jun 5, 2000, 3:00:00 AM6/5/00
to
In article <393AC0EF...@trailing-edge.com>,

Tim Shoppa <sho...@trailing-edge.com> wrote:

>> Perhaps the internal code for '$' in Radix-50 was 47 ?
>
> Gees, it's not like its hard to find out. Just log into your
> nearest RSX-11M box and use CVT:

On what computer museum can I find such a beast? :-)

anon...@bogus_address.con

unread,
Jun 5, 2000, 3:00:00 AM6/5/00
to

On 2000-06-05 bi...@microsoft.com said:

>On Tue, 30 May 2000 19:36:41 +1200, Murray Moffatt
><mode...@ihug.co.nz> wrote:
>
> > My question: Does anyone know why Gary would have used a dollar
> > sign?
>

>I did it because $ looks like an S and T overstriking each other.
>STring... get it?
>Gary was a hacker and I never copied a thing from him!

Heh! Very amusing, 'Bill.' ;)

But, uh, gee...according to the long header on your message,
the post originated from:

>paloalto-snr1.gtei.net

You must have been travelling out there on 'The Road Ahead'
when you posted it. <g>

Tim Shoppa

unread,
Jun 5, 2000, 3:00:00 AM6/5/00
to
Paul Schlyter wrote:
>
> In article <393AC0EF...@trailing-edge.com>,
> Tim Shoppa <sho...@trailing-edge.com> wrote:
>
> >> Perhaps the internal code for '$' in Radix-50 was 47 ?
> >
> > Gees, it's not like its hard to find out. Just log into your
> > nearest RSX-11M box and use CVT:
>
> On what computer museum can I find such a beast? :-)

Museum? New PDP-11 systems are still being manufactured today,
and new software releases for the major OS's come out every couple
of years. See, in particular,

http://www.mentec.com/

Tim.

Dave Tweed

unread,
Jun 5, 2000, 3:00:00 AM6/5/00
to
Jim Bianchi wrote:
> Question: Is it possible to disable the GUI interface on a Windows
> system and do multitasking in text mode? If so, how easy it it? If not, why
> not?

Well, you can certainly open multiple DOS prompts in full-screen mode and
alt-tab among them, but this doesn't really disable the GUI, and I don't
know how effective the system is at allocating CPU cycles to the various
sessions -- it may be that the "active" one gets the lion's share.

-- Dave

Barry

unread,
Jun 5, 2000, 3:00:00 AM6/5/00
to
"Andrew Owen" <ao...@brandnewco.org> wrote in message
news:B5605ADB.1C18%ao...@brandnewco.org...

> on 4/6/00 5:05 pm, Barry wrote:
>
> [Bill Gates is a marketing genius]
> >> That's the problem, Bill Gates is great at selling product, no
> >> matter how awful it is.

Cute! :)

> > I don't think MS products are awful.
> I guess you've never seen any MS source code then.

I've looked at some MS code in Codeview and MSVC's debugger. I've
seen mostly ok code and some not so good. But then I haven't seen
that much of it.

> > Well, a few have been.
> Name one MS product that worked reasonably well in its version 1
release.

I can't recall that I ever used an MS product in it's version 1
release. Oh wait. Yes I did. "Ages of Empires". Loved it. Also
"Midcity Madness". Great fun. While these weren't actually
written by MS, they were written for MS and probably to standards
set by them. Oh yeah, I also used the first version of Quick C for
a while to try it out for my company. I didn't like the idea of an
IDE but for those who did it was a good product. We put some of
our lightweight programmers on it. Later when Borland came out
with Turbo C they liked that IDE much better but the graphics were
just too slow compared to the MS graphics in Quick C, so we didn't
use it. They finally moved over to MS C.

> > Most are mediocre.
> Name one MS product that got that far before its version 3.1
release.

MS-Dos. I began using Dos with 2.11. I thought it was great.
Before that I was using TRS-Dos and xenix. MS-Dos was much better
than TRS-Dos at that time. I liked xenix just fine but it had a
lot of problems and crashed almost as much as Windows does today.
But then, that was written for MS to their specs.

> > They work well enough to get the job done most of the time.
> I don't want a system like that running the banks or the
hospitals thank
> you. NASA can predict how many faults there will be in their
system and
> where they will turn up. I want a system more like that.

I think I'll agree with that where the reliablity of the system is
critical. I don't know anyone who would claim Windows is very
stable. It isn't. I hear NT is more stable bit I've had little
contact with it so I don't now how much more stable.

> > If you use linux and everything that's lower quality than linux
is awful,
> > well, ok. I can't argue that because it's an emotional thing.
>
> I use anything but MS stuff, except on the rare occasion that its
good which
> can only ever be applied to the odd program for the Macintosh.

I use Word and Excel and MSVC in Windows. Not heavily since I'm
retired now. But they're good products. Bloated, yes. Overly
complex, yes. But they work pretty well and they do what they're
supposed to do and I have lots of room for them. I prefer Lotus
123 (which I still use in version 2.4 on my Dos palmtop) to Excel
and if I'm not planning to produce a fancy printout, I think 123 is
a better number cruncher. But Excel is far superior if I want to
produce a document with numbers. I also have WP 5.1 on an icon
just for old time's sake and I do use it now and then. But Word is
so much better (even if it is pretty screwy) that I usually use it.

> >>> As for why Windows is the standard, what difference does it
make?
> >> Because if everybody had to drive Yugos people would demand a
> >> better system?
> > I don't see how the two statements above are related. Maybe
true.
> > But not connected.
>
> People take more consideration when buying a car than they do
when buying a
> computer even though the maintenance costs are similar.

I still don't see the connection.

> >>> It is the standard and thats a good reason to use it.
> >> Unix is the standard for lots of stuff, but that doesn't stop
the
> >> fools replacing it with NT.
>
> > Then again, NT users probably call the people still using unix,
> > fools. Of course neither are fools. They're just doing what
works
> > for them.
>
> No, you've missed the point. NT is just not scalable enough to
replace Unix
> in the vast majority of cases and yet people are doing that hand
over fist
> in the UK because they think one day everything will run NT. I
accept that
> there are instances where NT may be preferable but I can't think
of one and
> I never want to have to use it in my daily work again.

I know people who have made the choice to replace unix (I don't
know which unix) with NT in their companies. I also know people
who have made the choice to go from NT to unix (and linux) in their
companies. Ignoring that fact about them, I see nothing that tells
me either one are fools.

> >>> If I had my
> >>> preference we'd still be using an OS that stays out of our
way,
> >>> like CP/M or Dos. But sometimes the world doesn't consult
me.
> >> You are still using DOS (unless you're using NT).
> >
> > I still have a dos laptop.
>

> No, I meant Windows9X *is* DOS. I always keep a DOS window open
when I'm
> forced to use it so if the GUI crashes I can restart it without
reseting the
> machine.

I understood that you meant Windows is Dos. I don't think that's
either true or false. It depends on how you define "is". In any
case, it's not very significant. As for Windows crashing, yeah.
Anybody that argues that Windows is stable isn't using it. I've
only been sailing once, on a little tiny Sunfish (I think) that
tossed us in the water at least 20 times that afternoon. Loved
every minute of it. Who needs stable?

> > I think we agree that old computers are better than new ones.
New
> > ones are more complicated, less fun, less reliable and far less
> > controllable. Easy to use isn't a consideration for me.
>

> Old computers are easier to use in many cases. The GUI started


out as a good
> idea but if you ask me it's become so overloaded now the user
would be no
> less confused by a CP/M prompt.

Easier for you and I probably. Not for the person who doesn't know
about computers and doesn't want to learn, but just wants some
results without knowing how it works. Kind of like he feels about
his TV set or his toaster.

Are we in a contest to see who runs out of provocative questions
first? If so, I should warn you that I'm a slightly reformed
smartass with great expertise at both avoiding your truths and
getting you to respond to my falsehoods and you should roll over
and play dead pretty soon to avoid embarassment. Being right isn't
much help. :)

I think we've gone as far as logic will carry us.

Barry


Barry

unread,
Jun 5, 2000, 3:00:00 AM6/5/00
to
"Andrew Owen" <ao...@brandnewco.org> wrote in message
news:B5609215.1C4A%ao...@brandnewco.org...

> on 4/6/00 9:54 pm, Stewart and Leta Marshall wrote:
>
> > Andrew Owen wrote:
> >>
> >> The GUI started out as a good
> >> idea but if you ask me it's become so overloaded now the user
would be no
> >> less confused by a CP/M prompt.
>
> > You said a mouthful there, Andrew, old sport!
>
> Reckon so!
>
> > I wonder if we will
> > witness an actual backlash against these new complicated GUI
OS's, with
> > people other than collectors and enthusiasts leaning back
toward simpler
> > machines?
>
> I doubt it. Not unless people finally get pissed off enough with
WIndows to
> stop using it.

It looks like we're moving more and more toward appliance computers
which will probably be simpler. PDA's are an example of that. I
suspect that "operating system" and "program" will become unknown
terms to the average user.

> > Perhaps this in fact accounts for some of the attraction of
> > the palmtops to many users?
>
> I bought my palmtop (original Psion 5) because I wanted a
computer I didn't
> have to boot up.

I've been using an HP 95/100/200lx since shortly after they became
available. Instant on, like the Psion, Dos 5 (dos 3.32 in the
95lx) and probably the largest software base of any computer ever
made. Mostly free. MS Flight Simulator in my pocket. :)

Barry


Barry

unread,
Jun 5, 2000, 3:00:00 AM6/5/00
to
"Jim Bianchi" <ji...@bolt.sonic.net> wrote in message
news:slrn8jm70r...@bolt.sonic.net...

> In article <3UD_4.2532$EU3....@newsfeed.slurp.net>, Tom Lake
wrote:
>
> Ok, but what I meant was, can you, say, get to the DOS prompt
again
> without terminating progname? I use Linux and have seven 'virtual
consoles'
> in text mode that I can select to get a new prompt from which I
can launch
> yet another 'progname.' This is what I meant by multitasking.

You can get some of the same effect as the virtual consoles. You
can have more than one does window open, for example. Each is a
seperate dos session. The dos prompt in windows isn't actually
dos, though. It's actually a command line for windows. It's 32
bit. You can write console programs that look just like dos
programs but are in fact 32 bit windows programs with only the
console as a built-in window. They have all the restrictions of
windows programs. For example, you have to use windows api
functions to do graphics. And the console doesn't perfectly
emulate a dos console. There's no way to clear the screen, for
example, except by scrolling everything off it. If you
putchar(0x0C), it's ignored. You can also run programs with
windows from the "dos" prompt.

If you run a 16 bit program at a dos prompt, then it loads a 16 bit
dos emulator. Then the program can do whatever dos programs do.
For example, graphics with direct screen writes. But it has to go
into full screen mode to do this. If a dos program switches to a
graphic mode, the OS will put it into full screen automatically in
most cases. I'm not clear just when it does and when it doesnt.

You can have several of these 16 bit programs running as well. All
will be full screen if they're in graphics mode and can be either
full screen or windowed in text mode. You can only have one per
dos prompt. Alt-tab will switch from one to another. These
programs can't use any windows API functions. This works pretty
well unless you have windows kill one of these 16 bit programs.
That sometimes makes windows unstable. The same instablity occurs
if the program does something windows can't allow, like try to
access memory it doesn't own, and windows has to kill the program.

[disclaimer]
I'm not much of a windows programmer. These are just my
observations from doing a little programming in windows but more
from using windows. I might misunderstand some of what I described
but I think I've got most of it right.

Barry


Barry

unread,
Jun 5, 2000, 3:00:00 AM6/5/00
to
<anonymous@bogus_address.con> wrote in message
news:8hfbp8$9r8$1...@q.seanet.com...

He's the one that taught me not to take it seriously. And neither
did he. That didn't mean not to work around the clock and do
miracles a few times a day. Just that we should enjoy it.

I was lucky. I worked the last 12 years of my career in a very
unusual place. The department head (a CPA, believe it or not) knew
what creativity was about. I did my best work there. And had the
most fun of my career.

Unfortunately, this company of 66 employees when I started was
wildly successful and when I left they had a few thousand employees
and creativity was a firing offence.

Barry


Jim MacKenzie

unread,
Jun 5, 2000, 3:00:00 AM6/5/00
to

<anonymous@bogus_address.con> wrote in message
news:8hfje7$ait$1...@q.seanet.com...

>
> Multitasking was around for =decades= before Win-Doze was
> ever thought of. You don't need Win-Doze in order to
> multitask...just as you don't need Win-Doze to access
> Internet (I'm operating under DOS at this very moment).

Technically, the DOS version is "task switching" which isn't quite the same
thing.

As far as I know, the first true multitasking machines out there were the
Radio Shack Colour Computer running OS/9 (not a standard OS, I don't
believe) and the Commodore Amiga (which was released in 1985). I still have
my Amiga; it still multitasks better than any PC. You can multitask in a
useful way with reasonably small programs with only a megabyte of memory.

Jim

John Elliott

unread,
Jun 5, 2000, 3:00:00 AM6/5/00
to
anonymous@bogus_address.con wrote:

>
>On 2000-06-05 ji...@sonic.net said:
>
> >Question: Is it possible to disable the GUI interface on a Windows
> >system and do multitasking in text mode?
> >If so, how easy it it?
> >If not, why not?

It is not, though it ought to be. The nearest you can get is either:

* Creating a file called WINSTART.BAT containing the line: COMMAND.COM. You
then get the benefit of the protected-mode drivers, but no multitasking,
and you can't run 32-bit character-mode programs either.

* My cousin has told me you can get the same effect by copying COMMAND.COM
over KERNEL32.DLL. I have not tried this :-)

>Win-Doze is a =protected= mode O.S., and uses resources
>and methods available only in protected mode. DOS pro-
>grams, on the other hand, run in real mode. CP/M and
>CP/M-86 are also real mode operating systems.

1. Windows is not (quite) an OS. Windows NT is an OS.
2. Protected versus real mode has nothing to do with text/graphics mode.
DJGPP programs are protected-mode programs and don't need graphics mode.
The same goes for Linux without X.

>Win-Doze can't operate in real mode.

Win 3.00 and earlier can.

>Remember, though, you can always do true multitasking
>under DOS on =any= IBM-compatible machine -- even an 8088 --
>with the proper third-party software (DesQview, VMIX, etc.).

True (you missed GEM, by the way. Even single-app GEM multitasks desktop
accessories). What protected mode gives you is that it stops one program
overwriting another, or the OS.

------------- http://www.seasip.demon.co.uk/index.html --------------------
John Elliott |BLOODNOK: "But why have you got such a long face?"
|SEAGOON: "Heavy dentures, Sir!" - The Goon Show
:-------------------------------------------------------------------------)

Harold Bower

unread,
Jun 5, 2000, 3:00:00 AM6/5/00
to

And the X-Newsreader was 'Forte Agent 1.5/32.478'. What's the matter,
isn't Explorer any good?
<g>

Jim Bianchi

unread,
Jun 5, 2000, 3:00:00 AM6/5/00
to

Ok, this is fairly off topic, but I'm confused here. What is the
difference between 'task switching,' 'time sharing,' and 'multitasking?' It
has always seemed to me that any single cpu can only do one thing at a time,
so a faster cpu would mean that, in a given time period, it could do more
things -- but still only one at a time. So, multitasking and taskswitching
are merely sophisticated ways of doing time sharing. Thus the only real
differences would seem to be in how priorities are assigned, how memory is
handled, and so forth. But the *principle* is the same: one cpu doing an
incredibly large number of jobs so rapidly as to appear simultaneous, but
still one job at a time. How'm I doing?

Andrew Owen

unread,
Jun 5, 2000, 3:00:00 AM6/5/00
to
on 5/6/00 4:26 pm, Barry wrote:

> I've only been sailing once, on a little tiny Sunfish (I think) that
> tossed us in the water at least 20 times that afternoon. Loved
> every minute of it. Who needs stable?

I like the square riggers myself, I've got just under 1,000 nautical miles
in my log book and I'm hoping to do a round the world trip one of these
days. You should have a go, the feeling you get walking out on the end of
the highest yard to furl the sail cannot be expressed in words alone.

> I think we've gone as far as logic will carry us.

Who needs logic when you have the open sea, a sextant, and a bottle of rum?
:)

-Andrew


It is loading more messages.
0 new messages