Virtual Kaypro Quick-Start Guide

Operational Note: To mount a diskette on a drive, use either the "Disks" menu or click on the associated area on the front panel. A floppy drive area on the front panel will become highlighted when the mouse pointer moves over it. A file selection dialog will allow selection of a floppy disk image. To remove a diskette from a drive (leaving the drive empty), select the "Unmount" checkbox and click the CANCEL button.

Example 1: Kaypro 4/84

A quick example to run a Kaypro 4/84.

  1. Create a working directory, change to that directory.
  2. Download VirtualKaypro.jar
  3. Download disks/kaypro-cpm22g.logdisk
  4. Start the virtual computer:
  5. The ROM should show the splash message. It will quickly show "I cannot read your diskette.".
  6. Click on drive A to open dialog, select "kaypro-cpm22g.logdisk".
  7. Reset the computer by selecting "Reset" in the "System" menu.
  8. The virtual computer should boot CP/M 2.2G.

Example 2: Kaypro 10 Enhanced

This example is for a Kaypro 10 that has been expanded to hold 256K RAM and have the Real-Time-Clock installed.

  1. Create a working directory, change to that directory.
  2. Download VirtualKaypro.jar (if not already done)
  3. Download disks/WD1002-0.U.cpm3 and rename to "WD1002-1".
  4. Start the virtual computer:
  5. The ROM should show the splash message briefly, then boot.
  6. Once CP/M 3 has signed-on, try the DATE command to check the RTC.

Example 3: Kaypro 10 Enhanced w/CP/NET

  1. Download configs/kaypro10e.cpnet
  2. Otherwise the same system as setup in Example 2 (the drive contains CP/NET).
  3. Start the virtual computer: You will notice that the front panel contains an addition LED, for the CP/NET device.
  4. The ROM should show the splash message briefly, then boot.
  5. Once CP/M 3 has signed-on, type the command to start CP/NET.
  6. On your host computer, create a directory "~/HostFileBdos/a" (some part of that path may already exist).
  7. In CP/M type the command which will map CP/M drive "P:" to the directory created above.
  8. In CP/M type the command which should return "No File" since there are no files in the directory yet.
  9. In CP/M type the command which should list 5 files as being copied to P:.
  10. On the host computer, look at the contents of the directory "~/HostFileBdos/a". It should now contain the five files device.com, dir.com, dump.com, date.com, dskreset.com.

These "COM" files are not normally usable on your host computer, but demonstrate how easy it is to exchange files between the CP/M system and the outside world. Text files would make a better example. One caveat is that CP/M uses CR-LF as the line endings, and Linux/Unix uses only LF. So if you copy a Linux text file into "~/HostFileBdos/a" and examine (TYPE) it on CP/M, the lines will not be displayed correctly. Programs exist to convert file line endings, one such package is "dos2unix". This package includes the command "unix2dos" which may be used to convert files:

On CP/M there is a new command TYPECR.COM that will TYPE a text file to the screen, adding CRs as needed. There is also a new CP/M command TR.COM which will translate line endings while copying files (similar to PIP.COM). The CP/M 3 HELP has been expanded to include CP/NET and new commands.

See the CP/NET documentation for more help on using and understanding CP/NET.

On CP/M 3, CP/NET may be stopped, or removed, which frees up TPA. The command

will tell CP/NET to stop and remove itself.

Directories "a" through "p" may be created on the host system under "~/HostFileBdos", and may be mapped in CP/NET as the corresponding drives on "the server". In addition, the config file may specify another top-level directory other than "~/HostFileBdos", and there may be multiple servers each using a different top-level directory, allowing many more repositories for files. The CP/NET server implementation does not (can not) access files outside of the designated top-level directory, but use caution to ensure that a configuration is what you intended and that important files on your computer are not destroyed.

It is also possible to setup CP/NET servers on remote machines, using your host computer's network to access them. Documentation for this exists under the Virtual H89 project. Using this scheme, it would be possible to setup a collection (network) of distributed CP/M file shares.