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

CP/M on a rabbit 2000

246 views
Skip to first unread message

Wolfram Kurtz (remove the NOSPAM. for direkt answer)

unread,
Dec 27, 2013, 10:32:09 AM12/27/13
to
On 21.3.2010 has "talicie" upload his demonstration of a rabbit 2000
Development Board running CP/M: http://www.youtube.com/watch?v=mNg4DyvKEjs

How to get contact to him? Does anyone knows how it works?
I'd like to do that on a "RABBITCORE RCM3110 with Rabbit 3000
microprocessor" so it would be nice to have some suggestions.

Wolfram

Peter Dassow

unread,
Dec 27, 2013, 1:49:16 PM12/27/13
to
Should not be too difficult, see in
http://ftp1.digi.com/support/documentation/0190069_p.pdf page 187-188,
differences between Z80 and Rabbit 2000 ... most of the dropped opcodes
are related with IN/OUT commands, the others (8) can be directly
substituted by similar opcodes or by a 2-3 command sequence.
Beside this, the RST commands are handled different, and two LD commands
uses different register names.
RST0 will be hard to replace (warm reboot). Others will be easily
replaced just by different existing opcodes.
I guess even if some wrote a few years ago in comp.os.cpm that it can't
be done, it should be possible - but why planning this effort ?

Regards
Peter

Mr. Emmanuel Roche, France

unread,
Dec 28, 2013, 4:26:17 AM12/28/13
to
Hello, Wolfram!

(I am in vacations, and "Google Groups" does not allow writing directly to the author, hence this public answer.)

> On 21.3.2010 has "talicie" upload his demonstration
> of a rabbit 2000 Development Board running CP/M:
> http://www.youtube.com/watch?v=mNg4DyvKEjs

I had a look. So, this very, very bad video was published 3 years ago, then he answered a question, then disappeared...

If you have never heard about this "talicie" in rabbit circles, he has probably shifted his interests, by now.

I found the following explanation, on the above-mentioned URL, very funny: "The Rabbit processor is not 100% Z80 compatible, so the CP/M source had to be modified."

Hahaha! CP/M is written totally in Intel 8080 Assembly Language, so who cares about the Z-80 and its curious non-orthogonal instruction set?

Except if you are an electronician, in which case the Z-80 is interesting because of its "family" of support chips, rather than learn the Z-80, I would recommend that you study the Intel 8080. Smaller, simpler, faster (the IBM PC that I am using now is still able to execute some instructions of the 8080! However, the programs need to be translated, because the opcodes changed.)

The Z-80 was a deadline. Zilog did not manage to release the Z-800, hence the 8088 of the IBM PC... If you study the 8080 instead, then you will be able to understand the family of processors for the IBM Clown without problem.


> How to get contact to him?

I have no idea. In his answer to the question (written in very good English, so he is a native English speaker, probably English, since the Americans write more popularly), he wrote: " If you're interested in trying it out, just let me know." So, you must probably get an account from YouTube to be able to write him. However, since he has not been active during the last 3 years, he probably is no longer interested in this stuff.


> Does anyone knows how it works?

Not the slightiest idea. Why not get a cheap CP/M micro, then try to "reverse engineer" it?


> I'd like to do that on a "RABBITCORE RCM3110
> with Rabbit 3000 microprocessor" so it would
> be nice to have some suggestions.

Well, what you would like to do is one thing. What would be interesting, technically, is another thing. In the case of the Z-80, it is a favorite of electronicians only because of its family of support chips. That's for the hardware. As for the software, I would not be surprised if 99.99% of the Z-80 micros ever made spent their times running 8080 code... (The only CP/M "Greatest Hit" really requiring a Z-80 CPU was Turbo Pascal: all the other "standard" CP/M programs (including Microsoft's Z-80 relocatable macro-assembler!) were containing only 8080 code...)

Yours Sincerely,
Mr. Emmanuel Roche, France

Mr. Emmanuel Roche, France

unread,
Dec 28, 2013, 4:46:34 AM12/28/13
to
> How to get contact to him?

I finally found someone using "talicie" as his e-mail.

He was a student of Computer Science at Virginia Tech...

But impossible to find him on the Web site of this University: he probably moved, since then.

Try "Tim(othy S.) Alicie" if you really want to contact him.

Wolfram Kurtz (remove the NOSPAM. for direkt answer)

unread,
Dec 28, 2013, 6:36:14 AM12/28/13
to
Mr. Emmanuel Roche, France hat am 28.12.2013 10:26 geschrieben:
> I found the following explanation, on the above-mentioned URL, very funny: "The Rabbit processor is not 100% Z80 compatible, so the CP/M source had to be modified."
> Hahaha! CP/M is written totally in Intel 8080 Assembly Language, so who cares about the Z-80 and its curious non-orthogonal instruction set?
> Except if you are an electronician, in which case the Z-80 is interesting because of its "family" of support chips, rather than learn the Z-80, I would recommend that you study the Intel 8080. Smaller, simpler, faster (the IBM PC that I am using now is still able to execute some instructions of the 8080! However, the programs need to be translated, because the opcodes changed.)
> The Z-80 was a deadline. Zilog did not manage to release the Z-800, hence the 8088 of the IBM PC... If you study the 8080 instead, then you will be able to understand the family of processors for the IBM Clown without problem.
>
>> I'd like to do that on a "RABBITCORE RCM3110
>> with Rabbit 3000 microprocessor" so it would
>> be nice to have some suggestions.
>
> Well, what you would like to do is one thing. What would be interesting, technically, is another thing.
> In the case of the Z-80, it is a favorite of electronicians only because of its family of support chips. That's for the hardware.
> As for the software, I would not be surprised if 99.99% of the Z-80 micros ever made spent their times running 8080 code...
> (The only CP/M "Greatest Hit" really requiring a Z-80 CPU was Turbo Pascal: all the other "standard" CP/M programs (including Microsoft's Z-80 relocatable macro-assembler!)
> were containing only 8080 code...)

Hello, Mr. Emmanuel Roche, thanks for Your answer.

Here I give some backround of my intention:
I have worked 30 years ago with a machine called "PROF-80" running CP/M
3.0 (see some journals "c't" in the 80th and www.prof80.de - sorry for
the only german descriptions). It is a system based on ECB-Bus with
different cards and so "easy" to expand. The most work for installing
some new hardware is to add a driver and to rebuild the system including
the new peace of software. So I had some experiences with assembler -
both 8080 and Z-80, which the last I prefer by myself for the more
logical mnemonics.
After that I get in contact to the CPU280 by Tilman Reh, running a so
called "Z-System" (see on http://www.znode51.de/indexe.htm for Z3Plus
for banked systems or ZCPR for non-banked systems with only 64k ram) -
in my eyes bringing some usefull new features in 8bit OS.
Perhaps that might be an addition to the question who needs really Z-80
opcode.

In summary it's only a challenge for me to get a little piece of modern
hardware running CP/M. And by the way, as "terminal" I have in view to
use the TFT Maximite (http://geoffg.net/tft-maximite.html) so it will be
more a kind of "CP/M handheld system" ...

Regards, Wolfram

glen herrmannsfeldt

unread,
Dec 28, 2013, 7:31:34 AM12/28/13
to
Mr. Emmanuel Roche, France <roch...@laposte.net> wrote:

(snip)
>> On 21.3.2010 has "talicie" upload his demonstration
>> of a rabbit 2000 Development Board running CP/M:
>> http://www.youtube.com/watch?v=mNg4DyvKEjs

(snip)

> I found the following explanation, on the above-mentioned URL,
> very funny: "The Rabbit processor is not 100% Z80 compatible,
> so the CP/M source had to be modified."

> Hahaha! CP/M is written totally in Intel 8080 Assembly Language,
> so who cares about the Z-80 and its curious non-orthogonal
> instruction set?

I am not so sure about the Rabbit 2000, but the 3000 series is pretty
close to Z280. It has a 24 bit address space, with ways to get into
different parts of memory. (Still 16 bit address for most instructions.)

I never tried comparing the instructions to the 8080. It might
be that all 8080 instructions work the same way.

-- glen

Roger Ivie

unread,
Dec 28, 2013, 2:59:11 PM12/28/13
to
On 2013-12-28, glen herrmannsfeldt <g...@ugcs.caltech.edu> wrote:
> I never tried comparing the instructions to the 8080. It might
> be that all 8080 instructions work the same way.

It's been a while since I looked, but IIRC there are a couple of
8080 instructions that seemed important to me that differed
between the Rabbit and the 8080. This is the sort of thing that
went into the "it can't be done" judgement in the first place.
--
roger ivie
ri...@ridgenet.net

Peter Dassow

unread,
Dec 28, 2013, 3:42:47 PM12/28/13
to
I already posted some infos about the differences a few days before, thx
for ignoring me ;-)
Just look for a message here from 27-Dec-2013 07:49pm MET ...


Roger Ivie

unread,
Dec 28, 2013, 10:22:03 PM12/28/13
to
On 2013-12-28, Peter Dassow <z8...@arcor.de> wrote:
> I already posted some infos about the differences a few days before, thx
> for ignoring me ;-)

You're welcome.
--
roger ivie
ri...@ridgenet.net

Roger Ivie

unread,
Dec 28, 2013, 10:31:36 PM12/28/13
to
On 2013-12-28, Peter Dassow <z8...@arcor.de> wrote:
> I already posted some infos about the differences a few days before, thx
> for ignoring me ;-)

Well, technically, you mentioned differences between Z80 and Rabbit,
not 8080 and Rabbit. Yes, the RST stuff you mentioned is applicable
to 8080 code, but it's not immediately obvious whether the others are.

Directly substituting similar opcodes or a 2-3 command sequence
might be a problem for software for which you don't have source,
or which is overlaid. Wanna run WordStar on a Rabbit?

And RST 7 might be hard to deal with if you wanted to run DDT.
--
roger ivie
ri...@ridgenet.net

Roger Ivie

unread,
Dec 28, 2013, 10:43:13 PM12/28/13
to
On 2013-12-29, Roger Ivie <ri...@ridgenet.net> wrote:
> Well, technically, you mentioned differences between Z80 and Rabbit,
> not 8080 and Rabbit. Yes, the RST stuff you mentioned is applicable
> to 8080 code, but it's not immediately obvious whether the others are.

OK, took a closer look, the bits applicable to 8080 are:

XTHL is no longer the E3 opcode. It's been moved to ED 54.

Conditional calls are not supported. They need to be rewritten.

DAA is no more.

The manual specifically mentions RST 7 has been kept (well, it says
RST 0, RST 8, and RST 0x30 have changed, but the others still exist),
but they have a new dispatch mechanism that may or may not work
with DDT.

Of these, conditional calls seem like a killer for pre-existing software
to me.

Hey, if you're willing to forego pre-existing software and looking for
more modern hardware, I had first boot of my Cortex-M3 port of CP/M-68K
last weekend...
--
roger ivie
ri...@ridgenet.net

Peter Dassow

unread,
Dec 29, 2013, 7:19:37 AM12/29/13
to
On 29.12.2013 04:31, Roger Ivie wrote:
> On 2013-12-28, Peter Dassow <z8...@arcor.de> wrote:
>> I already posted some infos about the differences a few days before, thx
>> for ignoring me ;-)
>
> Well, technically, you mentioned differences between Z80 and Rabbit,
> not 8080 and Rabbit. Yes, the RST stuff you mentioned is applicable
> to 8080 code, but it's not immediately obvious whether the others are.

It's true, I mentioned the Z80 (due to the fact that some software like
Turbo PASCAL is NOT running with a 8080). But I mentioned also a PDF
file which describes exactly - at the also mentioned page numbers -
differences between Z80 (and so also 8080) and the Rabbit CPU.

> Directly substituting similar opcodes or a 2-3 command sequence
> might be a problem for software for which you don't have source,
> or which is overlaid. Wanna run WordStar on a Rabbit?

I was not the original thread creator, remember. No, it's far easier to
get running a EZ80F91 "retro" system. But it was worth to think about
the compatibility of a Rabbit system and the technical feasability of an
opcode translation software (similar to the FX!32 software for Alpha CPUs).

> And RST 7 might be hard to deal with if you wanted to run DDT.

Yepp. But there is not only DDT.

Regards
Peter

Holger Petersen

unread,
Dec 30, 2013, 4:34:54 PM12/30/13
to
Roger Ivie <ri...@ridgenet.net> writes:


>DAA is no more.

That might pose a problem for BIN/DEZ -> HEX conversion?!

In most 8080/Z80 programs one used a sequence like:

-z80 ; all numbers in hex
push af
rrca
rrca
rrca
rrca
call printNibble
;
pop af
;
printNibble:

and 0f ; the old trick...
add 90
daa
adc 40
daa
:
call CharOut


Happy new year, Holger

0 new messages