3 ms·
> Run the Z-80-to-x86 cross assembler That's not what that assembler does. From the manual: The Seattle Computer Products Z80/8086 Cross Assembler runs on th
by wvenable 3y ago
> Run the Z-80-to-x86 cross assembler
That's not what that assembler does. From the manual:
The Seattle Computer Products Z80/8086 Cross Assembler runs on the Z80 processor under CP/M or its derivatives. It accepts as input a text file of 8086 source code using mnemonics similar or identical to Intel's ASM-86. (Emphasis mine)
...
Why a Cross Assembler?
During the early life of a new processor, a cross assembler offers the user certain advantages over a resident assembler. Chief among these is the ready availability of low cost software for the older host computer. For the Z-80, this software includes editors, operating systems, and utility packages. Using a cross assembler also enables the user to write machine language code for the new processor even before the hardware is available.
- anonymousiam 3y agoOkay, so I tagged the wrong product. I know there was a Z-80 to x86 cross assembler for CP/M because I had a copy of it. I think it was called something like xlt86.com. XLT86 is mentioned here: https://en.wikipedia.org/wiki/CP/M https://en.wikipedia.org/wiki/CP/M I see that this one is a translator for Intel mnemonics and isn't for Z-80, so that would make the task of porting even simpler. I know that there was a translator for Z-80 to x86 though. Sorry I cannot remember everything from 40 years ago in precise detail. I also remember ZCPR, which was a Z-80-only CCP replacement for the CP/M CCP. If you had a Z-80-based CP/M computer, you could replace your CCP and gain some new command line intrinsics. ZCPR was circulated on the CP/M BBS circuit (RCP/M). Digital Research couldn't do much about it because the author was not identified, and it was not distributed for profit.
- wvenable 3y agoI still think you fail to realize how significant it is that Z80 CP/M is an 8bit operating system and every version of DOS is a 16bit operating system. You could probably steal some ideas but any sort of translation makes no sense. If it was that easy, Digital Research would have had their OS done first. DOS was designed to run re-compiled CP/M programs with minimal changes. And some people translated 8080 programs to run on 8086 but they're still just 8bit programs. An operating system needs to be optimized and customized for the CPU it runs on. You're not going achieve much of value taking OS code from a different lesser CPU.
- anonymousiam 3y agoThe 8080 and Z-80 had 16-bit registers and could do some limited 16-bit arithmetic. The 8088 (used in the first IBM PC) used an 8-bit bus to communicate with memory and I/O. The 8086 had a 16-bit bus. CompuPro had an 8086 S-100 board, which may have been the first target for DOS, but I cannot recall for certain. Both 8086 and 8088 ran in what is now called "real mode", which allows direct access to only 64k of RAM (just like the 8080 and Z-80). To access more than 64k at a time, you had to use segment registers. CP/M 3 (x80) employed bank-switching, which was a similar technique, but done with hardware that was external to the CPU instead of built-in. There really wasn't much difference between the Z-80 and the 8086 in terms of performance. Yeah, the 8086 had a 16-bit bus, but the instructions were 16-bits too, so running a program from non-cached RAM (because there wasn't any such thing as RAM cache then) was about the same. The 8088 (at 4.77MHz) would under-perform when compared with a (4MHz) Z-80, because they both used an 8-bit bus, but the Z-80 needed only one memory fetch per instruction, vs. two for the 8088. https://en.wikipedia.org/wiki/X86_memory_segmentation https://en.wikipedia.org/wiki/X86_memory_segmentation I do not fail to realize anything, but I'm wondering why you are so passionate about trying to disprove that SCP/Tim Patterson ripped off DR/Gary Kildall's code to produce QDOS when there is so much strong evidence that he did.