Jeff Reid said:
simbad said:
No. I have both pinouts here. not the same.
I checked on this and your right. I corrected my previous post. Based on a project I worked on, the timing was the same or close enough that the existing Intel peripheral chips for the 8080-8085 would also work with the 8088. I worked for Pertec Computer
http://en.wikipedia.org/wiki/Pertec_Computer
from about 1980 to 1987, and they made a CP/M system based on the 8085 called a PCC 2000. The hardware guys made an adapter board with an 8088 that plugged into the 8085 cpu socket on the PCC 2000. Intel had a program to convert assembely code from 8080 to 8088, doing about 90% of the job, with about 10% left over for clean up. I did all the software work on this project. Although it never got released for sale, we ended up with a 8088 based PCC 2000 runing CP/M-86 with 256K of memory on it.
One reason for the 8088 having the LAHF instruction was to help with the conversion of 8080 code to 8088.
The 8259 has two different modes. One where it send the call instruction with an address, this is for 8080/8085 CPUs and one where it sends only an Index into the interrupt vector table. This is used for 8086 CPUs.
Note that in 8086 mode, the index is sent in response to a second INTA (interrrupt acknowledge) from the cpu. If I remember correctly (which I'm starting to doubt now), the early 8259 output a 2 byte "INT" instruction. The first INTA from the cpu caused the 8259 to output a hex CD on the bus and the second INTA from the cpu cause the 8259 to output the immediate byte value (index). I don't remember if the "CD" was a programmable value or hard coded into the 8259. It's gone now or at least undocumented, but the index from the 8259 still isn't sent until a second INTA is received, so that much of the legacy handshake remains.
The RST instruction maybe used to make different calls to different subsystems. It is easy to replace a single byte with this one-byte instruction to interrupt the execution and branch to a debugger. This way you can set breakpoints in your application.
The 8088 and later cpus use the single byte INT3 instruction for the same purpose.
As far as I know Atari did so in their TOS.
Atari? The Atari 400/800/65XE/130XE systems ran on 2mhz Motorola 6502 (twice as fast as an Apple II). The Atari ST and early Mega ST systems ran on 8mhz Motorola 68000.
If you change the processor and the BIOS and write your own hardware access, I would not think that it is a 8085 system anymore. It is an 8086 system. It would be easier to buy an old PC to run MSDOS applications.
As mentioned above, it was done with an adapter board, allowing the rest of the hardware in that system to be the same (except that the BIOS chip was programmed with 8088 code.