home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / beehive / utilitys / sysgensc.arc / SYSGEN.DOC < prev    next >
Text File  |  1990-07-21  |  6KB  |  106 lines

  1.  
  2. Documentation for SYSGEN and GETBIN
  3. -----------------------------------
  4.  
  5. NOTE: The author takes no responsibility for any loss or damage that may be
  6.       caused by the use (or misuse) of this program. The author makes no
  7.       guarantees as to the fitness of this program for any particular purpose,
  8.       or that it will even work..........
  9.  
  10.      Sysgen and Getbin are a couple of programs which I wrote a month or two
  11. ago to allow me to install ZCMD, and SUPRDOS2 (SUPRBDOS?) on my Apple CP/M
  12. system. I have used the Microsoft Softcard CP/M adapter, and have switched over
  13. to the PCPI Applicard (better known as the Starcard).
  14.  
  15.      One thing which bugged me about the two cards was the lack of a SYSGEN
  16. type program to enable the installation of CP/M from an image file on disk. The
  17. Softcard had a program CPM60 which was a little like a SYSGEN program. The
  18. Starcard used a program, INSTALL which reads the CP/M image from a file,
  19. STARCPM. INSTALL allows the relocation of the CP/M image, and thus, the STARCPM
  20. file must contain some relocation data (musn't it ????), and I haven't found
  21. this data yet.
  22.  
  23.      This makes it rather difficult to modify the CP/M kernal, including the
  24. installation of improved CCPs and BDOSes. So, I took the program WRTCCP (a
  25. program which writes a CCP replacement directly over the existing CCP on the
  26. boot tracks) written by Philip Rousseau, hacked it up a lot, and with mucking
  27. about, I managed to produce a Sysgen type program. All that remained was a bit
  28. more mucking about with it to produce Getbin.
  29.  
  30.      The programs are kludgy (to say the least), rather like this documention.
  31. They will only read/write the file from the disk that you want the image to be
  32. written/read (I hope that made sense.....). They aren't designed to replace
  33. INSTALL, merely to allow a reasonably convenient way of mucking about with the
  34. kernal. I have assembled them for a BIOS located at 0f300h, so if either
  35. program is run on a system with different BIOS locations, then the source files
  36. will have to be modified and reassembled. I suppose I could have written a
  37. routine which dynamically determines the BIOS location, but I couldn't really
  38. be bothered.......
  39.  
  40.      Both programs were written for ZASM, Cromemco's public domain macro
  41. assembler, but modification for other assemblers should be a breeze. I
  42. apologise for the sparse commenting in the files, and wish luck to anyone who
  43. wants to modify them. I suppose that they could be used for the Softcard,
  44. although I won't guarantee it. If so, then the BIOS locations need to be
  45. changed, and possibly other things as well.
  46.  
  47.      The operation of the programs is simple: just run them, with the only
  48. argument being the name of file you wish the image to be written or read from.
  49. The program will do the rest. Note that the disk specified for the file will be
  50. the disk from which the image (on the system tracks) will be read/written. Only
  51. one(?) hidden(?) gotcha, and that is that Getbin will overwrite any existing
  52. file with the specified name (actually, it will erase such a file).
  53.  
  54.      I haven't looked through the resulting image much, I have only ascertained
  55. the locations of the CCP, the BDOS, and the BIOS. What I do know about the file
  56. is that the first 100h bytes are taken up by the loader, then the CP/M image
  57. follows in order. After that is some 6502 code, which I presume handles all the
  58. I/O.
  59.  
  60.      With the aid of Getbin and Sysgen, it is now possible to install ZCMD and
  61. SUPRBDOS with ease. The basic steps to take to install them are as follows:
  62.  
  63. 1) Set up a CP/M image that suits your requirements, this includes setting up
  64. the softvideo driver, and preparing a DRIVERS file. Write the system to a disk,
  65. save the DRIVERS file. Make a note of the locations of the CCP, and BDOS. Boot
  66. this disk.
  67.  
  68. 2) Run Getbin (on the appropriate disk):
  69.  
  70.    A0>getbin cpm.bin
  71.  
  72. 3) Edit the ZCMD source file for the appropriate options that you require. If
  73. assembling with MAC, then set up the origin (label CCPLOC, I think) for the
  74. location of CCP. If assembling with RMAC, set origin to 0. Assemble this file.
  75. Then, if using RMAC, run LINK, and set up the load address to the location of
  76. the CCP with the 'l' option.
  77.  
  78. 4) Run the installation program for SUPRBDOS. This will hopefully create the
  79. appropriate files for assembling SUPRBDOS. If it works, then run the creation
  80. file and it will overlay SUPRBDOS into CPM.BIN. Some fiddling around with files
  81. may be necessary to fit all files on one disk. If it doesn't work, then you'll
  82. have do it manually. This involves creating an ORG.DAT file with appropriate
  83. offset, assembling SUPRBDOS, and using either DDT or MLOAD to overlay
  84. SUPRBDOS.HEX on top of CPM.BIN.
  85.  
  86. 5) Use either DDT, or MLOAD to overlay ZCMD in the appropriate place in
  87. CPM.BIN.
  88.  
  89. 6) Run Sysgen to write the resulting file to disk:
  90.  
  91.    A0>sysgen cpm.bin
  92.  
  93.      Hopefully, you should now have a working SUPRBDOS and ZCMD system.
  94.  
  95.      The next thing to do, I suppose, would be to decipher STARCPM, but I
  96. imagine somebody else has already done that. Perhaps he/she would like to
  97. enlighten the rest of us. And while they're at it, he/she might also tell us
  98. about the driver file formats.........
  99.  
  100.      Acknowledgement: Philip Rousseau's WRTCCP was the basis of the two
  101. programs presented here.
  102.  
  103.                                                  Stephen Ma
  104.                                                  (sometime in September)
  105.  
  106.