home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / kaypro / k256bios.lbr / CBIOSR.DQC / CBIOSR.DOC
Text File  |  1986-06-28  |  6KB  |  135 lines

  1.                               ***************
  2.                               * C B I O S R *
  3.                               ***************
  4.  
  5.  
  6.  
  7. COPYRIGHT
  8. =========
  9.  
  10.           CBIOSR is copyright (c) 1986 Michael Liddle.  It is released to
  11. the public domain for non commercial usage and may be freely copied and
  12. used by anyone who wishes to do so providing this is not done for
  13. commercial or other gain.
  14.  
  15. INTRODUCTION
  16. ============
  17.  
  18.           CBIOSR is a BIOS (Baisc Input Output System) for use in
  19. conjunction with CP/M 2.2 on pre 84 series Kaypro computers.  It provides
  20. all the facilities of the standard BIOS plus supporting a 191K RAM DISK as
  21. drive C.  In order to use CBIOSR you need to replace your 64K RAM chips
  22. with 256K RAM chips and add extra address decoding and refresh as described
  23. by me in Micro Cornucopia.
  24.  
  25.           Use of CBIOSR entails a loss of 1K of the transient program area. 
  26. This is unlikely to be a problem.
  27.  
  28. USAGE
  29. =====
  30.  
  31.           Once installed and saved on the sytem tracks of a floppy disk
  32. the RAM DISK routines are loaded at cold boot along with the rest of the
  33. operating system.  The RAM disk can be accessed as drive C: in the same way
  34. as drives A: and B: are used.  However the RAM disc is a lot faster and is
  35. an ideal place to put overlay and swap files.
  36.  
  37.           Data on the RAM disk is volatile and will be lost when the
  38. computer is powered down.  Therefore it is essential to save any files to a
  39. floppy at the end of each session.
  40.  
  41.           Rebooting the computer using the reset button does not affect
  42. data on the RAM disK.  This is because the cold boot routine does not
  43. initialise the RAMDRIVE.  As a result if a program crashes and you have to
  44. reboot you will usually find all your data intact (rarely a rogue program
  45. may corrupt the RAM disk).  However this means that before use the disk
  46. must be initialised by a special program call RAMINIT.COM.  This is done by
  47. typing RAMINIT in response to the A> prompt from CP/M.  RAMINIT can also be
  48. used in place of ERA C:*.* to erase all files on the disk.
  49.  
  50. THEORY OF OPERATION
  51. ===================
  52.  
  53.           Most 8 bit processors are limited to an address range of 64K. 
  54. This is because they have 16 bit internal registers for addresses and 16
  55. address lines (2^16=64K).  A few of the more modern 8 bit processors have
  56. extra address lines to allow RAM addresses greater than 64K.  Likewise the
  57. 8088 series (arguably also 8 bit) implement 64K segments.
  58.  
  59.           One way to allow processors such as the Z80, 8080, 6502, etc to
  60. address more than 64K is through bank switching.  Bank switching controls
  61. the system memory (RAM and ROM) in such a way that different 'banks` of
  62. memory can be switched into and out of the address map so that although
  63. only 64K of memory is addressable at any one time the amount of memory in
  64. the system can be far more than this limit.  Perhaps the best example is
  65. that of the system ROM in many machines which is switched in at address
  66. zero on cold boot, reads a bootstrap into RAM and then jumps to that
  67. bootstrap which disables the ROM replacing it by RAM.
  68.  
  69.           Just as most 8 bit processors were designed to address a maximum
  70. of 64K so most 8 bit operating systems and application programs are limited
  71. to this.  One exception is CP/M plus (version 3) which can use extra RAM
  72. banks as buffers.  However CP/M+ has disadvantages not least being cost and
  73. compatibility.  Therefore to make use of extra RAM it is usually necessary
  74. to modify the hardware dependent BIOS.  Extra RAM may be used by the BIOS
  75. in a number of ways.  For peripheral buffers to speed I/O response e.g.
  76. printer buffer, track buffering on disks, etc.  One easy to implement and
  77. worthwhile use for extra ram is to simulate a very very fast disk drive.
  78.  
  79.           CBIOSR is a fairly standard CP/M BIOS.  However the disk related
  80. routines (Home, SetTrk, Read, etc) contain code to fool the CP/M BDOS into
  81. thinking tyhere is a floppy disk called drive 'C' when in fact this is five
  82. 32 kilobyte banks of RAM.
  83.  
  84.           SetTrk, SetSec and Home are used to position a pointer to the
  85. part of the RAM containing data rather than positioning a read/write head
  86. over a physical floppy disk.  Read and write then transfer data from and to
  87. the area of the TPA selected by the application program via the SetDMA
  88. routine.
  89.  
  90.           A 128 byte 'sector' buffer in the BIOS is used as an intermediate
  91. storage for data written to or read from drive C:.  This is necessary since
  92. the lower area of the TPA (usually containing the users disk buffer at
  93. 080H) is switched out during accesses to the RAM disk, the top 32K of RAM
  94. is allways selected.
  95.  
  96. INSTALLATION
  97. ============
  98.  
  99.           On this disk are the files CBIOSR.Z80 and CBIOSR.HEX which
  100. contain the source and object code of the RAM DISK BIOS.  To install CBIOSR
  101. you will need a system disk containing the following files:
  102.  
  103. CBIOSR.HEX
  104. DDT.COM
  105. SYSGEN.COM
  106. MOVCPM.COM
  107.  
  108.           Below is a step by step guide.  Lines begining with the A> prompt
  109. are those typed at operating system (CP/M) level whilst the rest are
  110. responses to the various programs used.  Output from these programs is not
  111. shown.
  112.  
  113. o Step 1).  First obtain a copy of CP/M using MOVCPM and saving it as follows:
  114.  
  115. A>MOVCPM 63 *
  116. A>SAVE 34 CPM63.COM
  117.  
  118. o Step 2).  Now overlay it with CBIOSR.HEX using DDT and save the patched
  119. version:
  120.  
  121. A>DDT CPM63.COM
  122. S906
  123. 34
  124. .
  125. ICBIOSR.HEX
  126. R2980
  127. G0
  128.  
  129. A>SAVE 34 CPM63.COM
  130.  
  131. o Step 3).  Finally install it on a disc with SYSGEN.
  132.  
  133. A>SYSGEN CPM63.COM
  134.  
  135.