PDA

View Full Version : CP/M or similar OS for 64K Z8002?



Chuck(G)
January 14th, 2009, 12:01 PM
I was going through my hellbox of ICs looking for something when I ran across a couple of Z8002 CPUs. Are ther any OSes (CP/M perhaps) for the small-model (64K) Z8000?

Terry Yager
January 14th, 2009, 10:36 PM
CP/M-8000? Get it from Gaby's page:

http://www.cpm.z80.de/binary.html#operating

Source code is available here:

http://www.cpm.z80.de/source.html

--T

Chuck(G)
January 15th, 2009, 02:54 AM
I took a peek at it, Terry--it's heavily segmented stuff, so won't work on the Z8002.

It's hard to think of 64K as "small" in terms of CP/M, but perhaps that memory space on the Z8000 architecture is just too small to do any useful work.

Ah well, back in the hellbox.

Terry Yager
January 15th, 2009, 12:52 PM
Segmented? UGH! Might as well just work with 8088 DOS...

--T

Dwight Elvey
January 17th, 2009, 08:56 AM
Hi
The CP/M-8000 was made from CP/M-68K. This was all
C code except the low level stuff.
I was one of the people that got the code for the 8000
running on my Olivetti M20.
My understanding was that it was actually first written
on a M20 at Zilog.
You could always get a Z8001. They are quite similar for
the pins. The trick would be to create the needed memory
space.
There isn't much low level code on Gaby's page but I could
extract much of it from the library that I have on my M20.
You'd need to disassemble it though, it is just an object
code library.
The notes on the source seem to indicate that it could be
done in 256K of RAM but I suspect they are assuming that
much of the machine access code is in ROM.
I do think it could be done on a Z8002 with some bank
switching tricks.
The Z8002 can directly access 128K of RAM if you split
the instruction and data spaces. The only disadvantage
of doing this is that you'd need a way to mape the instruction
memory into data space to load the RAM and then switch
it back to the 128K mode to run the code.
The M20 does this but handles it bu using different segments.
One could do this with a bank switching trick on the Z8002.
Dwight

Chuck(G)
January 17th, 2009, 09:04 AM
Hi Dwight! I was thinking about a throw-together 64K system using what was in my hellbox. Not worth the trouble, considering that there's not much in the way of software applications for such a rig.

Back to the hellbox with 'em.

CP/M User
January 17th, 2009, 09:33 PM
CP/M-80 or v2.2 (or whatever you want to call it) runs easily in 64k! I believe that Operating system will run on the 8080 systems as well as the Z80 systems. Okay so the Z8002 is a 16bit CPU which precedes the Z8001? No mention of CP/M for this Olivetti M20 which has a Z8001 processor - Olivetti wrote it's own Operating System call PCOS, perhaps worth checking out the Vintage Computer Museum to see if CP/M was made for those Zilog 16bit based processors.

Otherwise Emmanuel Roche maybe able to help - they've posted some stuff in here and seems to know a bit about the different forms of CP/M.

It be nice if those 16bit processors were all backward compatible with the Z80 processors - if that were the case, then a CP/M shouldn't have problems running in it - it would just need to be customised though.

Chuck(G)
January 17th, 2009, 10:36 PM
The Z8002 is just as old as the Z8001. Zilog's approach was to offer two versions--one segmented, the other not that would fit in a 40 pin DIP. Seems in retrospect to be pointless--my Z8002s are are PLCC packages.

Regardless, the problem is once you get what passes for an OS going, what do you do for software? Do you run DDT all day and look at the pretty dumps?

My hope was that if there were some active non-seg Z8002 OS that there would also be some small amount of applications.

In fact, both Zilog and AMC offered Z80-to-Z8000 translation programs. Like the Intel 8080-to-8086 translator, it resulted in immediate bloat unless you were willing to hand-optimize the result. Much early MS-DOS code was auto-translated and tweaked 8080 CP/M code. I know that much of SuperCalc for the PC was, for example. Early (e.g. 3.3) versions of Wordstar for DOS probably also were.

But feh, with no software, what good is a CPU?

CP/M User
January 18th, 2009, 08:19 PM
Chuck(G) wrote:

The Z8002 is just as old as the Z8001. Zilog's approach was to offer two versions--one segmented, the other not that would fit in a 40 pin DIP. Seems in retrospect to be pointless--my Z8002s are are PLCC packages.

Regardless, the problem is once you get what passes for an OS going, what do you do for software? Do you run DDT all day and look at the pretty dumps?

My hope was that if there were some active non-seg Z8002 OS that there would also be some small amount of applications.

In fact, both Zilog and AMC offered Z80-to-Z8000 translation programs. Like the Intel 8080-to-8086 translator, it resulted in immediate bloat unless you were willing to hand-optimize the result. Much early MS-DOS code was auto-translated and tweaked 8080 CP/M code. I know that much of SuperCalc for the PC was, for example. Early (e.g. 3.3) versions of Wordstar for DOS probably also were.

But feh, with no software, what good is a CPU?

I agree with that problem that if there's no support for that CPU, it's not worth pursuing, however I find it amazing that a CPU like that would get no support - after all Z80s were popular processors!

Terry Yager
January 19th, 2009, 10:28 AM
IIRC, the 8001, 8002s, etc were mainly used for specialized applications, such as telco switching equipment, etc.

--T

Chuck(G)
January 19th, 2009, 11:27 AM
IIRC, the 8001, 8002s, etc were mainly used for specialized applications, such as telco switching equipment, etc.

--T

I think my Z8002s probably came out of a Cipher tape drive.

Terry Yager
January 19th, 2009, 11:46 AM
Yah, there just isn't a wide general-purpose software base for 'em. Course, if ya could get some flavor of CP/M running, the base becomes a lot broader. I'm not convinced that straight, natural, CP/M-80 couldn't be easily adapted, although it wouldn't be optimal for that CPU.

--T

CP/M User
January 19th, 2009, 07:37 PM
Terry Yager wrote:

IIRC, the 8001, 8002s, etc were mainly used for specialized applications, such as telco switching equipment, etc.

Yeah it seems that given the Olivetti M20 had the provision for two RS232 and Single IEEE-488. It's range of applications isn't limited though which includes, Word Processing, Spreadsheets, communications, general business packages plus specialized ones for lawyers, independent schools, surveyors, builders, electricians, scientises, engineers and statisticians!

Seems it would make a good Internet CPU!

Chuck(G)
January 19th, 2009, 07:59 PM
How about a CP/M for a National PACE CPU? :)

leeb
January 21st, 2009, 12:18 AM
It was my understanding that all the Z-xx CPUs were backward-compatible with the good-old z80...

If so, the only limitation to using cp/m-80 is configuring it to whatever hardware design one intends to use...

Confuzed, I am ?

Chuck(G)
January 21st, 2009, 09:47 AM
It was my understanding that all the Z-xx CPUs were backward-compatible with the good-old z80...

If so, the only limitation to using cp/m-80 is configuring it to whatever hardware design one intends to use...

Confuzed, I am ?

Not close to the Z80 in architecture.

There were Z80-to-Z8000 source-code translators, but it wasn't a straightforward process ("strict" and "relaxed" modes; sometimes one Z80-to-several Z8000 instructions). The 8086 is much closer to the 8080 than the Z8000 is to the Z80.

Terry Yager
January 21st, 2009, 12:04 PM
Not close to the Z80 in architecture.

Well, that's good to know. I kinda assumed backwards compatibility too. So, what about instruction set?

--T

CP/M User
January 21st, 2009, 10:57 PM
Chuck(G) wrote:

Not close to the Z80 in architecture.

There were Z80-to-Z8000 source-code translators, but it wasn't a straightforward process ("strict" and "relaxed" modes; sometimes one Z80-to-several Z8000 instructions). The 8086 is much closer to the 8080 than the Z8000 is to the Z80.

Gawd, no wonder the poor ol' Zilog company went bust! :-(
Since they did so well with the Z80 I just assumed it would had made their newer processors more successful if they had that compatibility. As it is, a Z80 is merely an 8080 processor with more instructions, so really it's perhaps just as easy to covert a 8086 code to Z80 code, or at least 8080 code for use on a Z80! ;-)

Dwight Elvey
January 22nd, 2009, 05:54 AM
Hi
I thought I'd mention.
When the created the CP/M for the Z8000, the expected to use code
mostly written for the 68K. At the time, the CP/M-68K had most of its
applications written in C. In fact muct of the CP/M-68K was written
in C.
The idea was that the CP/M-8000 would be source compatible with
that that was created for the 68K.
It seems that neither CP/M-68K or the Z8000 took off.
In any case, the M20 is a cool machine. I have CP/M-8000 running
on it.
Dwight

Chuck(G)
January 22nd, 2009, 08:33 AM
CP/M 68K did take off in a rather unexpected direction. I see a lot of CNC and lab equipment using it. But as a personal computer OS, it was doomed by the likes of the Mac and all of the Unix variants out there that had so much more capability.

As another poster has mentioned, one could simply translate line-by-line CP/M 2.2 to a Z8000 base for a nice compact version, but applications again would be a problem.

CP/M User
January 22nd, 2009, 08:13 PM
Dwight Elvey wrote:

Hi
I thought I'd mention.
When the created the CP/M for the Z8000, the expected to use code mostly written for the 68K. At the time, the CP/M-68K had most of its applications written in C. In fact muct of the CP/M-68K was written in C.
The idea was that the CP/M-8000 would be source compatible with that that was created for the 68K.
It seems that neither CP/M-68K or the Z8000 took off.
In any case, the M20 is a cool machine. I have CP/M-8000 running on it.

Okay that's good you've got CP/M running on a Z8000 based machine - I guess what it really needs is some Languages to go with that, something like Assembly perhaps. I'm assuming you built CP/M-68k up using C for the M20, in which case perhaps it's worthwhile to scrounge up some stuff written in C and get that working in CP/M. Perhaps SmallC can offer some kind of solution when compiling programs in CP/M?

Dwight Elvey
January 22nd, 2009, 09:21 PM
Dwight Elvey wrote:

Hi
I thought I'd mention.
When the created the CP/M for the Z8000, the expected to use code mostly written for the 68K. At the time, the CP/M-68K had most of its applications written in C. In fact muct of the CP/M-68K was written in C.
The idea was that the CP/M-8000 would be source compatible with that that was created for the 68K.
It seems that neither CP/M-68K or the Z8000 took off.
In any case, the M20 is a cool machine. I have CP/M-8000 running on it.

Okay that's good you've got CP/M running on a Z8000 based machine - I guess what it really needs is some Languages to go with that, something like Assembly perhaps. I'm assuming you built CP/M-68k up using C for the M20, in which case perhaps it's worthwhile to scrounge up some stuff written in C and get that working in CP/M. Perhaps SmallC can offer some kind of solution when compiling programs in CP/M?

Hi
It has an assembler as well. I just forgot to mention it.
Dwight