• Please review our updated Terms and Rules here

Kaypro 10 & CoPower 88

Let me know what you think. Also, I'm thinking that their may be some embedded 8088 code which is transferred over; so some of the disassembly may be completely garbage....

There is definitely a chunk of 8088 code in that file. Very strange about the port addresses, but I thought I heard you say that it all worked with your universal board Kaypro? Is it possible those port addresses are actually being used on the 8088 side?
 
There is definitely a chunk of 8088 code in that file. Very strange about the port addresses, but I thought I heard you say that it all worked with your universal board Kaypro? Is it possible those port addresses are actually being used on the 8088 side?

I think I understand your confusion. What is working are the disks I referenced earlier on the Universal board. These disks state that they are for a 4/84; which is very close to the design of the board I have in my K10. However, these disks only reference the floppy drives and not a hard drive. What I want to work is the K10 version of MSDOS.COM from your disk which appears to address a file on the hard drive. You can definitely see direct calls to the CBIOS which are performing direct access to the floppies, but then there are also functions calling BDOS to open and perform file I/O on a file. But, the K10 version is addressing many different i/o ports that aren't decoded on our boards. The disassembly that I uploaded is the K10 version that I received from you that supposedly runs on a K10. I haven't disassembled the version that works, although, I know it works on my board at address 7F. Maybe, I'll start a quick disassembly of the MSDOS.COM that works on universal board to compare to the K10 version.
 
I have one of the newer 'Universal' CP88 interface boards that uses a PAL for decoding. Fortunately the security link was intact and I was able to read out the programming. After tracing the PCB I have produced an annotated source for the PAL. One important difference between this and the older interface: The original board fully decodes address bits A1-A7 (A0 selects between the two adjacent ports). The high nibble can be chosen by shorting a combination of four pins, while the low nibble is always 'E'. The newer board treats A1 as "don't care" so with the SWPKAY4E PAL it responds to 7C or 7E for port 0 (7D or 7F for port 1). It's not clear whether the software is taking advantage of this, but if so it explains a lot of the issues I'm having. Here's the PLD source in PALASM4 format.
 

Attachments

  • adapter.pld.txt
    1.3 KB · Views: 3
I'd really like to get a look at the EPROM on the CP88 main board.
Is anyone able to image the rom and post it? (any version will do)

joe
 
I'm about ready to throw in the towel on efforts to get MS-DOS booting on the Copower88. Reverse engineering the PAL based daughterboard did enable me to get it working - for some definition of 'working'. I'm still stuck at the same point: The ramdisk works just fine, but any and all attempts at booting MS-DOS result in a 'Bad or missing command interpreter' error message and hung computer. This is using the exact diskette images that work for ktmchrisv on his universal-board K10. Doesn't matter whether I use the original ROM or TurboROM. Doesn't matter if the hard drive is connected or disconnected. It's just hard to believe that SWP would have marketed a product that only works with the later 'Universal' K10 / K4, so I continue to wonder if there was an alternate version of their MSDOS.COM startup program that has not yet surfaced. So far we've found two variants besides the Maslin diskettes: A 'K10' version that Larry Kraemer was able to recover from a badly corrupted Teledisk image and a version for Zorba. The latter doesn't show any signs of cooperating, while the K10 version fails to even get as far as the Maslin diskette.
 
Hi All,

There is an 8088 block in the MSDOS.COM driver. It is loaded at 8088 address 0, and sets up a simple bios that uses the port interface to communicate with a bios that sits in MSDOS.COM.
On the 8088 side, they have intercepted the following interrupts:

int 10h
int 16h
int 17h
int 11h
int 12h
int 13h
int 14h
int 29h
int ffh

I've included a zip file which is the embedded 8088 code for the MSDOS.COM with runs on a Kaypro Universal board (dos_block_84.bin) and the older K10 board (dos_block.bin) They are the same length in the file, and appear to be very similar. I haven't done a full disassembly; just looked at the code anecdotally. The blocks are loaded at ORG 0 in the 8088. They setup the interrupts listed above and then jump to what looks to be a modified boot loader for MSDOS 2.11.

Thats what I have right now,

Chris V.
 

Attachments

  • 8088 code.zip
    115.1 KB · Views: 1
Here is the CP88 EPROM image. Both of mine are identical.

Hi Steve,

This is the 81-356 ROM, and is the same as the contents on my board. That is actually really good news imo. That means that the command state machine to communicate with the 8088 board is constant. What I think changes is the command state machine in the MSDOS.COM file is altered to provide bios services that are very dependent on the hardware / machine they are running on.

This means that we are missing MSDOS.COM driver files for the various KayPro motherboards. So, we have a Universal MSDOS.COM which works with floppies on my Universal board, and Larry's K10 version, which may simply be corrupt. I think we need to get the MS.COM that I believe AdamAnt316 has....that's our next step. Then, we test MS.COM on your board with the PAL.

Sorry I disappear from time to time....We can both blame my work...

Chris V
 
I have one of the newer 'Universal' CP88 interface boards that uses a PAL for decoding. Fortunately the security link was intact and I was able to read out the programming. After tracing the PCB I have produced an annotated source for the PAL. One important difference between this and the older interface: The original board fully decodes address bits A1-A7 (A0 selects between the two adjacent ports). The high nibble can be chosen by shorting a combination of four pins, while the low nibble is always 'E'. The newer board treats A1 as "don't care" so with the SWPKAY4E PAL it responds to 7C or 7E for port 0 (7D or 7F for port 1). It's not clear whether the software is taking advantage of this, but if so it explains a lot of the issues I'm having. Here's the PLD source in PALASM4 format.


Great work. I'm still confused why Larry's MSDOS.COM addresses port 1A/1B. There is probably an older version of the hardware for KayPro that selects at these ports. So, what I have is the KayPro hardware which addresses at 7E/7F. You have the SWP PAL Version which selects at the same 7E/7F ports. As in my previous e-mail, what ports do MS.COM from AdamAnt316 use? We need this file.

Chris V.
 
ROM disassembly

ROM disassembly

I have the disassembly of the ROM far enough along to be usefull.
It wasn't what I expected at all. I expected a striped down BIOS.
What I got is the communication routines for the interface and a loader.
No interrupt vectors loaded at all!

joe
 

Attachments

  • cp88.txt
    36.3 KB · Views: 2
Back
Top