I started with a Talent MSX DPC-200 (z80, 64k RAM, MSX --DOS compatible system from Microsoft--)
The computer was a daewoo that was sold around the world under different names.
https://www.msx.org/wiki/Talent_DPC-200
It was at the time much superior to others available.
A Z80 machine launched in 1986?
Of course. Other than Talent, haven't you heard of Amstrad?
The CPC 6128 plus was launched in... 1990!
The PCW 9512 in 1987.
The PcW 16, an odd machine with a GUI, was launched in... 1996! It had a Z80, albeit a beefed up CMOS version running @16 MHz.
So, yeah. The Z80 has had a pretty long life.
A Z80 machine launched in 1986? Which machines are you comparing it to, and in which respects was it superior?
Well… My
Delta-S was a ZX Spectrum clone launched in 1989 and, from a user point of view, was not much inferior to
"Poisk-1" with it's single FDD and software emulated CGA.
OK, so the Z80 co-existed with the 8088/8086 computers for longer than I had realized. I lost sight of Amstrad (sold as Schneider CPC here) after the last model in the basic CPC line was realeased, in the mid-80s I think. After that, 68000 computers and then 80x86 took over in my perception.
The major makers of 6502-based computers switched over to 68000 at that time, and I had assumed that a similar generation change was occuring from the Z80 to to 80x86. But it seems that Z80-based home and entry-level computers were hanging in there for a bit longer -- maybe due to the initial business focus of the IBM PC and its clones, which made it a gaming machine only with the gradual release of suitable add-on cards?
If we talk about the exUSSR, then it's about the price. PC-compatible machines were too expensive even for those lucky people who received a salary in money and without half-year delay. Thanks to this, various "spectrum-compatible" ones were popular enough until the last third of the nineties.
OK, so the Z80 co-existed with the 8088/8086 computers for longer than I had realized. I lost sight of Amstrad (sold as Schneider CPC here) after the last model in the basic CPC line was realeased, in the mid-80s I think. After that, 68000 computers and then 80x86 took over in my perception.
The major makers of 6502-based computers switched over to 68000 at that time, and I had assumed that a similar generation change was occuring from the Z80 to to 80x86. But it seems that Z80-based home and entry-level computers were hanging in there for a bit longer -- maybe due to the initial business focus of the IBM PC and its clones, which made it a gaming machine only with the gradual release of suitable add-on cards?
I wouldn't know for sure how to really analyze the market for the Z80 in the 80s and 90s compared to its "competitors", but it has certainly had a long and successful life. Pretty amazing actually. We can also mention the MSX standard. At the time, there was no other similar standard around any other CPU that I know of - apart of course from the IBM PC, but the IBM PC was targetting professional uses, not home use. (Sure they attempted this with the PC Junior, which was a big failure AFAIR and never set any standard in itself either.)
Apart from MSX, the Z80 of course was at the heart of most CP/M machines.
So yeah. Although the 6502 stays in the heart of many and has also been pretty successful, it was never part of any similar standard, at least that I know of. Due to MSX and CP/M, there was a huge software base for the Z80.
Regarding the 6502, I also think Apple has been one of the major actors which determined its earlier "demise", and the switch to the 68k. We have to remember how it was all part of the internal "war" between the Apple II platform and the new Macintosh. Commodore, that also made the move to the 68k, did so after Apple.
I started with a Talent MSX DPC-200 (z80, 64k RAM, MSX --DOS compatible system from Microsoft--)
The computer was a daewoo that was sold around the world under different names.
https://www.msx.org/wiki/Talent_DPC-200
It was at the time much superior to others available.
A Z80 machine launched in 1986? Which machines are you comparing it to, and in which respects was it superior?
I must admit that I never heard about this family of machines, so I'd be curious about available software too. The operating system might have understood the same commands as MS-DOS, but it can't have executed DOS (8086) programs, right?
I have used MS-DOS from my PC-XT in the talent. It do works. The PC-XT contrary to which most people think used to have a 8088 or V-20 from NEC (as the clone I had) The instruction set of the Z80 and 8088 are compatible (to certain extent) and the Systems calls where compatible.
The instruction set of the Z80 and 8088 are compatible (to certain extent) and the Systems calls where compatible.
Well huh... to a "certain" extent, as you say. Since the Z80, except for a few extensions, is mostly compatible with the 8080, and the 8088 has a certain level of compatibility with the older 8080... I don't remember the original 8088 enough though to tell off the top of my head what could be possible and what could not.
I started with a Talent MSX DPC-200 (z80, 64k RAM, MSX --DOS compatible system from Microsoft--)
The computer was a daewoo that was sold around the world under different names.
https://www.msx.org/wiki/Talent_DPC-200
It was at the time much superior to others available.
A Z80 machine launched in 1986?
Of course. Other than Talent, haven't you heard of Amstrad?
The CPC 6128 plus was launched in... 1990!
The PCW 9512 in 1987.
The PcW 16, an odd machine with a GUI, was launched in... 1996! It had a Z80, albeit a beefed up CMOS version running @16 MHz.
So, yeah. The Z80 has had a pretty long life.
Commodore 128 released in 1985 alos had a Z80
The instruction set of the Z80 and 8088 are compatible (to certain extent) .....
I don't think I would describe the z80 and 8088 as compatible, even "to a certain extent".
The 8080 and Z80 were compatible at the machine code level, but not the 8088. Different instruction sets, different registers.
The instruction set of the Z80 and 8088 are compatible (to certain extent) .....
I don't think I would describe the z80 and 8088 as compatible, even "to a certain extent".
The 8080 and Z80 were compatible at the machine code level, but not the 8088. Different instruction sets, different registers.
The 8086 registers, status register, and instruction set were designed to allow automated translation of 8008, 8080, 8085 assembly language programs to efficient 8086 code. Not binary compatible, obviously.
The 8086 even has vestiges of the 8080 flags register being the other half of the A register in the LAHF and SAHF instructions. So A/flags map onto 8086 A register, and HL, BC, DE onto B, C, D registers.
IIRC, the NEC V20 has an 8080 emulation mode
The instruction set of the Z80 and 8088 are compatible (to certain extent) .....
I don't think I would describe the z80 and 8088 as compatible, even "to a certain extent".
The 8080 and Z80 were compatible at the machine code level, but not the 8088. Different instruction sets, different registers.
The 8086 registers, status register, and instruction set were designed to allow automated translation of 8008, 8080, 8085 assembly language programs to efficient 8086 code. Not binary compatible, obviously.
The 8086 even has vestiges of the 8080 flags register being the other half of the A register in the LAHF and SAHF instructions. So A/flags map onto 8086 A register, and HL, BC, DE onto B, C, D registers.
Intel had an assembler that would assemble 8080 source code directly to 8086 machine code.
The last 2 posts show that emulating 8080 code on a 8088/86 was easy and didn't cost much. But that was still emulation, not direct binary compatibility.
The last 2 posts show that emulating 8080 code on a 8088/86 was easy and didn't cost much. But that was still emulation, not direct binary compatibility.
Translation. Mostly a very straightforward one.
I found the manual for Digital Research's tool to do this.
Register mapping:
8 bit
AL A
AH PSW // only for PUSH/POP
CH B
CL C
DH D
DL E
BH H
BL L
16 bit
AX PSW
CX B
DX D
BX H
SP SP
As I surmised, PUSH PSW becomes LAHF;XCNG AL,AH;PUSH AX;XCNG AL,AH and POP PSW becomes POP AX;XCNG AL,AH;SAHF.
http://www.s100computers.com/Software%20Folder/Assembler%20Collection/Digital%20Research%20XLT86%20Manual.pdf
The last 2 posts show that emulating 8080 code on a 8088/86 was easy and didn't cost much. But that was still emulation, not direct binary compatibility.
No, they don't show that.
One post is referring to a cross-assembler, which is not emulation at all. The resulting binary still only runs on the target processor, and there is no attempt to make a portable binary.
The other post mentioned the NEC V20, which was a much faster pin-compatible 8088 CPU with added instructions. It had a
hardware emulation feature for 8080, which actually is direct binary compatibility once enabled. The Intel 8088 did not have that feature! (Which doesn't rule out software emulation, but that's a completely different set of costs.)
Similarly, the NEC V30 was a pin-compatible 8086. So good that Intel and NEC had a legal fight that ended up being one of the first significant rulings about the legality of reverse-engineering.
You can call that emulation in both cases. At least, I do. That answers Bruce's post as well.
In both cases, the 8080 instruction set is emulated. The fact that it merely requires a translation is what made it easy and simple, but that's still "emulating" a 8080.
And no, I wouldn't call the assembler you mentioned a cross-assembler, at least not in the usual sense. A cross assembler typically takes assembly code for one CPU, is run on another type of CPU (thus the "cross" term), and translates said assembly code to machine code for the CPU meant for the assembly code in question. The one assembler mentioned here would *translate* 8080 code to 8086 machine code that would execute as intended. That's emulation in my book, not a cross assembler. Again a simple form a emulation only requiring translation - and, in the assembler case, the translation being done *before* running, while in the hardware emulation mode, it was done in real-time.
Now if you want to nitpick about what "emulation" is or is not, have at it.
You can call that emulation in both cases. At least, I do. That answers Bruce's post as well.
In both cases, the 8080 instruction set is emulated. The fact that it merely requires a translation is what made it easy and simple, but that's still "emulating" a 8080.
And no, I wouldn't call the assembler you mentioned a cross-assembler, at least not in the usual sense. A cross assembler typically takes assembly code for one CPU, is run on another type of CPU (thus the "cross" term), and translates said assembly code to machine code for the CPU meant for the assembly code in question. The one assembler mentioned here would *translate* 8080 code to 8086 machine code that would execute as intended. That's emulation in my book, not a cross assembler. Again a simple form a emulation only requiring translation - and, in the assembler case, the translation being done *before* running, while in the hardware emulation mode, it was done in real-time.
Now if you want to nitpick about what "emulation" is or is not, have at it.
"Emulation" is something pretending to be something it isn't...
You can call that emulation in both cases. At least, I do. That answers Bruce's post as well.
In both cases, the 8080 instruction set is emulated. The fact that it merely requires a translation is what made it easy and simple, but that's still "emulating" a 8080.
And no, I wouldn't call the assembler you mentioned a cross-assembler, at least not in the usual sense. A cross assembler typically takes assembly code for one CPU, is run on another type of CPU (thus the "cross" term), and translates said assembly code to machine code for the CPU meant for the assembly code in question. The one assembler mentioned here would *translate* 8080 code to 8086 machine code that would execute as intended. That's emulation in my book, not a cross assembler. Again a simple form a emulation only requiring translation - and, in the assembler case, the translation being done *before* running, while in the hardware emulation mode, it was done in real-time.
Now if you want to nitpick about what "emulation" is or is not, have at it.
"Emulation" is something pretending to be something it isn't...
Guess you can say that.
In particular, running code made for a given CPU on another CPU, generally speaking, is emulation. Whatever the means. Obviously depending on the respective CPUs, emulation can be more or less involved. But I don't think the "emulation" term depends on the difficulty of doing this, or whether the needed steps are taken at "build time" or at "run time".
Timex Sinclair 1000, with a 16K memory expansion a cash register type thermal printer and a copy of vu-file and flight simulator on cassette.
Bonjour a tous...
I Built analog with 3 potentiometers and Shurite null meter for a science fair ~1957...from Scientific American Amateur Scientist column.
City College of NY, key punched programs for IBM 360 that filled the basement ....~ 1965
CPM machine (forgot which one) for office use ~ 1981
Built a IBM PC type from Faraday bord ~ 1985
Designed first digital audio 16 bit stereo DSP boards for IBM AT ~ 1986
Just the memories of an old retired EE..
Bon Chance,
Jon
My first computer was a SHARP Z80 home computer running GW-BASIC. My uncle gave it to me. I did nothing special with it. Then I bought a 386DX, and I played with DOS and I learned Pascal.
Bonjour a tous...
I Built analog with 3 potentiometers and Shurite null meter for a science fair ~1957...from Scientific American Amateur Scientist column.
City College of NY, key punched programs for IBM 360 that filled the basement ....~ 1965
CPM machine (forgot which one) for office use ~ 1981
Built a IBM PC type from Faraday bord ~ 1985
Designed first digital audio 16 bit stereo DSP boards for IBM AT ~ 1986
Some cool things there!
I guess the science fair thing must have been at 12 or so years old.
I didn't have access to any electronic things at that age, but was playing with a lot of basic electrical things, making electromagnets and buzzers and relays to implement logic (this was early 70s, on a farm in a remote part of New Zealand).
When I was 11 the school did a stage production that needed a "flying saucer". Others built the actual spaceship (big enough for several people to go inside) and I was entrusted with adding small coloured lamps around the perimeter and making a sequencer for them, which I did using a wooden rolling pin with thumbtacks in it, contacting copper fingers, rotated by a salvaged electric motor driving through an alarm clock gear train. Speed control (and reversing!) was by a rheostat borrowed from my uncle's Hornby model train set.
In 1977-79 my high school got a maths teacher who had programming and electronics experience in industry overseas (UK I think). He set up an electronics club where we were designing and building simple things using veroboard, 741s, 555s, and 74nn chips (and the odd transistor).
I Built analog with 3 potentiometers and Shurite null meter for a science fair ~1957...from Scientific American Amateur Scientist column.
You aren't really a serious contender in this discussion if you haven't used an analogue computer.
I guess the science fair thing must have been at 12 or so years old.
I didn't have access to any electronic things at that age, but was playing with a lot of basic electrical things, making electromagnets and buzzers and relays to implement logic (this was early 70s, on a farm in a remote part of New Zealand).
Late starter? I was designing things with vacuum tubes when I was 12, because access to semiconductors for an amateur was quite restricted in the 60s. Looking back, the kinds of voltages my father let me play with at that time bother me. I didn't think much of it at the time. I was just very cautious.
I guess the science fair thing must have been at 12 or so years old.
I didn't have access to any electronic things at that age, but was playing with a lot of basic electrical things, making electromagnets and buzzers and relays to implement logic (this was early 70s, on a farm in a remote part of New Zealand).
Late starter? I was designing things with vacuum tubes when I was 12, because access to semiconductors for an amateur was quite restricted in the 60s. Looking back, the kinds of voltages my father let me play with at that time bother me. I didn't think much of it at the time. I was just very cautious.
And you were where? What was your father's job?