Download Parallel Processing
Transcript
By Jim & Jack Dennon rnicroMethods, Inc. P.O. BoxG Warrenton, OR 97146 ZRP/M2: Anticipating The Z280 A New Z80 Emulator For PCjXTjAT Clones The new Z280 has definitely put some spark back into the CP/M world, but Zilog has withdrawn the chip. What to do? Read on as the Dennons describe their attempts to emulate the Z80 and the Z280 on a clone. (Where else?) f you boot your V20-based PC/XT compatible with PC RP 1M2 (it emulates CP1M on a clone), you can run most CP1M programs. The ones that won't run usually contain 280 instructions, and the V20 supports only the 8080 subset. I multi-segment version of this scheme for the 2280. This architecture achieves speed at the expense of memory space. Unlike the Z80, which has an 8-bit I/O space, the 2280 has a 24-bit I/O space that maps easily down to the 16-bit I/O space of the 8088. We simply set the high order eight bits of the 24-bit port value to zero. On the 2280, the high order eight bits are provided by the I/O Page register. The 2280 clears the I/O Page register at reset. On-chip peripheral devices - a UART and a DMA controller, for example - oc- Hardware & Software Solutions Our first solution for this problem was a hardware-oriented one based on Decmation's Blue Thunder card. With this board plugged into the PC bus, booting the Blue Thunder version of PC RP1M2 brings up a 280 CP1M 2.2 compatible system. Since a 280 is executing the code, the system is fast; and for computationally intensive applications, it remains the best solution. The disadvantages are: it's somewhat expensive, and it occupies an expansion slot. We were thinking about releasing a software 280 emulator-equipped version of PC RP 1M2 when Zilog announced the 2280. The Z280 executes all the 280 instructions and more. And some of its more interesting 16-bit instructions map closely into 8088 instructions. So we decided to create a 2280 emulator and surround it with a new version of PC RP 1M2. The result is a system we call 2RP1M2, which will boot on any PC/XT I AT clone (a clone with lots of memory). Decmation designed the emulator. There's no instruction decoder so the emulator simply uses the operation code as the high byte of the 16-bit offset of the instruction processor. We invented a 76 MICRO CORNUCOPIA, #38, Nov-Dec 1987 cupy nonzero I/O Page locations. Our present emulator supports only I/O Page zero. That is, we map 2280 I/O page zero directly onto the 16-bit 8088 1/0 space. On the IBM PC, the COM1 serial data register (for example) is located at I/O location 03F8H, so the code in Figure 1 is sufficient to read a character from the COM1 serial port. 1/0 Using this new I/O capability, we've written a ZRP1M2 driver for Doug Figure 1 - Fetching A Character From A Port GSI -- Get COMl serial character. Exit A = char OlF803 ED78 C9 LXI IN GSI: B,03F8H A,BC RET Figure 2 - Kaypro To PC Null Modem Cable TO IBM PC RS-232 CONNECTOR Tx Rx DB25S RTS o CTS DSR GND 0@@@@ @@@@@ RI CABLE DB25P 0@@@@ @@@@@@@@@@@@ Tx Rx RTS CTS +5 GND DCD DTR TO KAYPRO II RS-232 SERIAL DATA CONNECTOR