• Please review our updated Terms and Rules here

Kaypro 10 & CoPower 88

shirsch

Veteran Member
Joined
Aug 17, 2008
Messages
852
Location
Burlington, VT
I am trying to bring up an SWP CoPower 88 board in my Kaypro 10 w/ TurboROM. Once I finally figured out that the daughterboard needed to be jumpered for ports 7E and 7F it's trying hard to work. The ramdisk program initializes properly, I can write files to the ramdisk and read them back. But, the screen fills with garbage at every access. Similarly, running MSDOS.COM to boot DOS 2.11 from floppy starts out encouragingly, but also writes garbage to the screen and dies with a complaint of bad command interpreter (it's not, I generated two different diskettes from two different sources). I actually have two CoPower board sets and the other 8088 board behaves the same way (I cannot use the second daughterboard. It's a 'Universal' variant with no port jumpers that isn't seen by the utilities).

So, the question is: Is the CoPower actually compatible with a K10 (4 Mhz. CPU) and TurboROM? Or, does it have dependencies on a slower host CPU speed and/or OEM firmware? Hard to find any hard information on this device so I'm hoping someone here can chime in. Many thanks for any input!
 
I can't say about the Kaypro 10, but the CoPower definitely works in the Kaypro 4/84 with a 4MHz clock.

http://q7.neurotica.com/Oldtech/Kaypro/Kaypro488.html

Thanks, Mike. Since posting yesterday, I added a DIP header to let me fiddle with port addresses on the daughterboard. Relocating the CoPower ports to any of 2e/f, 4e/f or 6e/f solved the screen garbage issues with the ramdisk driver (and I found out how to patch it to use any of these by default). However, the same trick doesn't completely work with MS-DOS. After patching it in a similar manner (it doesn't take command line input), it gets as far as signing on and trying to boot MS-DOS from the floppy drive. At that point it hangs with the drive spinning. At the default port location (7e/f), it at least tries to load the command interpreter before failing so I'm probably still missing a required edit somewhere. I'm also a bit suspect of the diskette images but cannot locate any alternative copies. If you have known working CoPower 88 support files (and I can see MS-DOS 2.11 on your web site) I'd really like to try them. Can you ping me privately and tell me how I can grab copies? Also, if you have the older (non-PAL based) daughterboard in your system I'd love to know the 'official' port address used in the Kaypro system. Both of my board sets came from other CP/M machines (probably Osborne and SWP Atari CP/M box).
 
Mike was kind enough to pass along the software that works in his K 4-84. It's a slightly different version from what I had and behaves slightly better, but I'm still getting 'Bad or missing command interpreter' when I try to boot MS-DOS. Starting to think there might have been a dedicated software release for K10 that I have yet to find. The 4-84 software seems to assume CoPower ports at 7E and 7F (yet to be confirmed, but the code looks like that's what it's doing). Those addresses definitely don't work in a K10.

Does anyone reading this have (or know of) a working Co-Power 88 in a K10? If so, I'd very much like to get my hands on the software and get confirmation regarding daughterboard jumpering.
 
Well, I've exhausted all avenues I'm aware of. With the kind help of Larry Kraemer we were able to read out the contents of a disk that purports to be for K10 from a very damaged TD0 file. The software is definitely different from any of the K4 versions and it expects the Copower at ports 1A and 1B. There was even a utility to create a virtual hard drive on the K10 hard disk! I spent an hour wiring in an extra inverter on the daughterboard to move ports to 1A and 1B and gave it a try. Still no luck. It never even tries to access the floppy drive and simply hangs after startup. The DREM disk emulator is showing a lot of activity on the hard drive (maybe the virtual disk I created?) but eventually hangs.

I'm about out of ideas. So, once again I'll ask: Does anyone have a known-working collection of utilities or disks to get the Copower-88 working on a Kaypro 10?
I'll also take any other troubleshooting suggestions. Before anyone asks: Yes, the Copower board is functional. The ramdisk program finds it and creates a working ramdisk the size of the 8088's memory. An awful lot of things must be working correctly for that to cooperate so I believe this unit itself is ok.
 
Hi shirsch,

I have a Kaypro 10 and a CoPower 88 board. I am using the stock rom 81-478A and am able to boot the MS-DOS 2.11 diskettes off of the Maslin Archive and use the RAM disk. I have not been able to get the TurboROM working on my system because of the dependency on the inverted reset line to the HDD. So, I never got to the point of testing the CoPower 88 on the TurboROM. I'm curious if you have a complete set of the K10 CoPower Utilities? The TD0 off of the Maslin archive is badly corrupted. It sounds like you have recovered them. Do you have the original board with 81-302 ROM? Or, do you have the Universal board like myself? I would really like to get a copy of the K10 CoPower Utilities. Anyways, maybe we can collaborate and understand whether the TurboROM is the incompatibility.

Chris V.
 
Hi shirsch,

I have a Kaypro 10 and a CoPower 88 board. I am using the stock rom 81-478A and am able to boot the MS-DOS 2.11 diskettes off of the Maslin Archive and use the RAM disk. I have not been able to get the TurboROM working on my system because of the dependency on the inverted reset line to the HDD. So, I never got to the point of testing the CoPower 88 on the TurboROM. I'm curious if you have a complete set of the K10 CoPower Utilities? The TD0 off of the Maslin archive is badly corrupted. It sounds like you have recovered them. Do you have the original board with 81-302 ROM? Or, do you have the Universal board like myself? I would really like to get a copy of the K10 CoPower Utilities. Anyways, maybe we can collaborate and understand whether the TurboROM is the incompatibility.

Chris V.

Hi, Chris. I sent you a private note with a link to the contents Larry Kraemer recovered. Why I cannot get MSDOS working is a complete mystery. By examination of the MSDOS.COM file on the K10 disk, I determined that it expects the CoPower board at ports 1Ah and 1Bh. The daughter board I have needed modification to respond to those addresses and will cheerfully work as a ramdisk. However, no matter what I've tried MS-DOS won't boot. It gets as far as the splash screen and hangs. If you have an 'official' K10 CoPower board, I'd love to see some clear photos of both the CPU and daughterboard (both sides of each).

My K10 is the original with 81-302 ROM. FWIW, I switched back to the original ROM and had no better luck. My thoughts about the TurboROM were a red-herring.

Are you saying you simply made a diskette from the Maislin TD0 image and successfully booted it? Or, do you have other files obtained from a different source? I could not write a diskette using the TD0 as it's too badly damaged. Don M provided a great service to the community, but he was not as careful as he might have been in taking images. I've discovered a lot of duds in that collection.
 
I am going to experiment with what I have working on the CoPower 88, then I'll send you the software I used and how my board is setup. I struggled immensely to get this working. Eventually, I found that the port address of the board was not correct. I ended up strapping the board based on a decompilation of the ram drive program. Then with the new strapping, it booted MS-DOS 2.11 off floppy. I also had MSDOS 3.0 working. But, not the CPM86 disk that's floating around out there. I've never been able to boot of the hard drive; which is my interest in the K10 CoPower Utilities. I actually have both the 81-302 board and the universal board. I have used both. Currently, I'm experimenting with putting a 40MB drive in the K10 with the Universal board. My problems with TurboROM have lead me to use the KPLUS rom. I've been experimenting with it, but, have found unfortunate incompatibilities with MASMENU and SUBMIT / EX14.
Let me put this system back together and document what is working. Please stand by.......
 
I'd be very interested in trying the software you are using. Fortunately, I was able to spot the differing port addresses by doing a binary comparison between RAMDISK.COM versions for Kaypro and one of the other CP/M system types. The low and high port addresses are baked in just after a JP (or JR) command at the start of the program. After realizing that the Maislin utilities wanted 1A and 1B, I went through a similar exercise by bending out a few pins and inverting one of the address lines through an unused gate. But even though RAMDISK.COM started working I was still unable to get MSDOS to work. I recently started working on a disassembly of MSDOS.COM, but I'm not getting very far (admittedly I'm not good at disassembly).
 
Ok, I have my system somewhat back together. I'm currently on the Universal board with 81-478a ROM. I am using the MSDOS.COM and RAMDISK.COM from http://www.retroarchive.org/maslin/disks/kaypro/copwrcpm.td0
and booting MSDOS disk http://www.retroarchive.org/maslin/disks/kaypro/copwrdos.td0.
The system can also boot the MS-DOS 2.11 disk at http://www.zorba.z80.de/files/swp/dos211-1.td0 However, with this disk, I get some errors in the protocol running between MSDOS.COM and the firmware on the COPOWER 88. You can demonstrate this type of failure by running basica.com of the disk from zorba.
If I remember correctly, the DOS 3.3 disk from Zorba also works: http://www.zorba.z80.de/files/swp/dos330.td0, but, not the CPM86 disk that is there.
I am using CPM 2.2u1 when running the utilities, and not the CPM that are on the disks.
The port number used in these programs is 07Eh. This was the result of my disassembly. I'm including pictures of my board, where you can see where I cut a trace to get my board to respond. Please see the 2nd picture.
IMG_0793.jpg
IMG_0794.jpg
IMG_0795.jpg

Here is a picture of my system booting the Zorba Dos 2.11 disk. However, the Maslin disk works better.
IMG_0792.jpg

So far, the MSDOS.COM off of the K10 disk you sent only seems to hang. But, upon hex comparison, it has a lot more data than the file that I retrieved off the Maslin archive. I'm still looking into how to get this file working / running. More to come.

Unfortunately, I accidentally used a CPM 2.2F PUTSYS.COM command which trashed the hard disk under CPM 2.2u1 and I have to rebuild the hard disk again.....So,

That is what I have for now. I'm going to work on getting the K10 MSDOS.COM to work. I might switch over to the 81-302 board to see if it has something to do with the BIOS / Board.

Let me know if you have any questions.

Chris V.
 
Interesting. I'm going to try duplicating your results step-by-step. Did you start by using Teledisk to write a floppy, or did you convert to IMD (or BIN) and extract the files? IIRC, I was unable to write a floppy from the copwrcpm.td0 image. Your success with 7E and 7F is particularly intriguing considering that I couldn't even get the RAMDISK.COM program to work at that port address.
 
Interesting. I'm going to try duplicating your results step-by-step. Did you start by using Teledisk to write a floppy, or did you convert to IMD (or BIN) and extract the files? IIRC, I was unable to write a floppy from the copwrcpm.td0 image. Your success with 7E and 7F is particularly intriguing considering that I couldn't even get the RAMDISK.COM program to work at that port address.

I typically convert to IMD with the TD02IMD command from Dunfield. Since I blew away my installation last night, I recreated a K10 set of H autoload disks, but with CPM 2.2u1 loaded on the system tracks, and with utilities in USER 1. I copied the MSDOS.COM and RAMDISK.COM into disk1, so now the whole system will set itself up with the COPOWER support.

I have found Teledisk to provide inconsistent results between the many versions that are out there. Especially with that K10COPWR disk on MASLIN. Each version of Teledisk seems to output a different disk with different bad sectors.......translate I use IMD for consistency.... The problems with Teledisk is consistent with TD V1.4 and V1.5 being the version of TD that ripped the original disk. YMMV.

Back to work. I'll try and update more tonight.

Chris V.
 
I experimented last night with my 81-302 board and have duplicated your results of having massive screen garbage on execution of both MSDOS.COM and RAMDISK.COM from the COPOWR.TD0 disk. RAMDISK.COM works with the screen garbage on initialization and when it is writing to the disk, but not when it is reading. This is with the board strapped to higher order nibble port bits of 7 and addressed as 7E,7F. MSDOS.COM from K10COPWR just hangs on my system when run at default. I decompiled MSDOS.COM to figure out that the port address for addressing the board is set at address 102,103 and is set to 1B and 1A respectively. I put a header on my board, so I could change the decode of the high order nibble. I changed the high order bits to decode on 01 and ran MSDOS.COM. Hang. I then re-strapped to 7 and loaded in DDT and changed 102 and 103 to 7F and 7E respectively. Repeatedly prints a bunch of garbage on the screen; but, tries to do something....i.e. the 81-302 board communicates with the COPOWER board.

When thinking about the hardware design, the issue really is the lower order nibble A and B of port 1A and 1B. The board will select when using E and F and not A and B. The experiments prove that the hardware is decoding beyond the high order nibble and the LSB. I'm going to review the schematic available to see if this observation matches up with the schematic we have. I'm worrying that there may be a specific CPU board for the 81-302 motherboard. Because, right now, my board cannot decode the standard address being used by the MSDOS.COM and RAMDISK.COM on the K10 disk....... The issue could also be a custom ROM implementation on the COPOWER 88 main board itself.....i.e. the firmware on that board needs to match the protocol used by RAMDISk.COM and MSDOS.COM.......

Still thinking about this.

Chris V.
 
Hi, Chris. Do you have the schematics? If not, they are attached here. I was able to setup for decode of 1A and 1B by doing this:

  • Pull U4 and U6, then install sockets in those locations
  • Bend out pin 2 of U6 and jumper to pin 1
  • Bend out pin 13 of U6 and run a jumper to pin 32 of the Z80 header that connects to motherboard
  • Bend out pin 12 of U4 and jumper to pin 12 of U6 (you can pick this up at an adjacent via if you like)
  • Jumper only A4 on the address selection pins (I mounted a Berg header there)
 

Attachments

  • 611-0003-1.pdf
    68.5 KB · Views: 5
  • 611-0003-2.pdf
    79.5 KB · Views: 2
  • 611-0003-3.pdf
    58.6 KB · Views: 2
  • 611-0003-4.pdf
    84.4 KB · Views: 2
I experimented last night with my 81-302 board and have duplicated your results of having massive screen garbage on execution of both MSDOS.COM and RAMDISK.COM from the COPOWR.TD0 disk. RAMDISK.COM works with the screen garbage on initialization and when it is writing to the disk, but not when it is reading. This is with the board strapped to higher order nibble port bits of 7 and addressed as 7E,7F. MSDOS.COM from K10COPWR just hangs on my system when run at default.

I'm very confused as to which exact software does work for you and what the port settings are for that successful use.
 
I'm very confused as to which exact software does work for you and what the port settings are for that successful use.

What works for me:
My K10 Universal board with rom 81-478a using the MSDOS.COM and RAMDISK.COM from http://www.retroarchive.org/maslin/d...o/copwrcpm.td0
and booting MSDOS disk http://www.retroarchive.org/maslin/d...o/copwrdos.td0.
My board is strapped to 7 for the high order bits.

This combination works fairly well. It does not work on my older board with ROM 81-302.

BTW, I started a disassembly of the MSDOS.COM from the K10COPWR disk you sent me. The bad news is that while the port address is stored at offset 102 (1B and 1A), there are entire portions of the code that are hard coded to particular port addresses; so changing the ports at 102 and 103 will not work. :-(

BTW, I am out of town until next Wednesday; so, I will be not replying for a while.

Chris V.
 
BTW, I started a disassembly of the MSDOS.COM from the K10COPWR disk you sent me. The bad news is that while the port address is stored at offset 102 (1B and 1A), there are entire portions of the code that are hard coded to particular port addresses; so changing the ports at 102 and 103 will not work. :-(

When you are back I'd appreciate a copy of that disassembly. I started this exercise a while back, but I really am not good at it. Always suspected there were hard-coded port addresses lurking somewhere and I have a feeling that is part of my problems. Port 7E and 7F has some sort of conflict on the 81-302 ROM (and TurboROM apparently).
 
When you are back I'd appreciate a copy of that disassembly. I started this exercise a while back, but I really am not good at it. Always suspected there were hard-coded port addresses lurking somewhere and I have a feeling that is part of my problems. Port 7E and 7F has some sort of conflict on the 81-302 ROM (and TurboROM apparently).

Hi shirsch,

Here is the disassembly. I did some more work on it today. There is a dispatch routine at 13E8 that includes hard coded references to IO Port 1C/1D, where the code earlier in the file uses indirect addressing of the port using the addresses at 102, which are 1A/1B. Unfortunately, all of these ports are not able to be decoded by the hardware; which is using an AND gate on the lower order address bits B3-B1. I can't help not believing that this code was meant to address a different board than we both have.....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....

Thank you,

Chris V.
 

Attachments

  • msdos.zip
    158 KB · Views: 1
Back
Top