home *** CD-ROM | disk | FTP | other *** search
/ CBM Funet Archive / cbm-funet-archive-2003.iso / cpm / faq / cpm-on-c128-1.txt < prev    next >
Text File  |  2001-08-30  |  8KB  |  177 lines

  1. Cp/m on the c128 (article 1)
  2.  
  3. BY nOEL nYMAN
  4.  
  5. (cOPYRIGHT 1986 BY gEODUCK dEVELOPMENTAL sYSTEMS. pERMISSION
  6. TO REPRINT THIS MATERIAL IS HEREBY GRANTED, PROVIDED THIS
  7. NOTICE IS INCLUDED IN THE REPRINTED MATERIAL.)
  8.  
  9. iN THIS COLUMN WE PLAN TO EXPLORE cp/m (cONTROL pROGRAM FOR
  10. mICROCOMPUTERS) AND HOW TO USE IT ON THE c128.  a SPECIAL
  11. input cp/m1 DISK IS ALSO AVAILABLE WITH THE LATEST cp/m
  12. OPERATING SYSTEM, SEVERAL PROGRAMS, AND REPRINTS OF THESE
  13. COLUMNS (SEE THE DISK ORDER FORM ELSEWHERE IN THIS ISSUE).
  14.  
  15. tO UNDERSTAND THE WHAT AND WHY OF cp/m, WE HAVE TO GO BACK
  16. TO THE EARLY DAYS OF MICROCOMPUTING.  iN THIS PRIMITIVE TIME
  17. THERE WERE MAINFRAMES, HUGE AND EXPENSIVE COMPUTERS.
  18. cOMMUNICATING WITH ONE REQUIRED A "CONSOLE" WHICH HAD A
  19. KEYBOARD AND AN OUTPUT DEVICE.  tHE OUTPUT WAS FREQUENTLY A
  20. PRINTER, ALTHOUGH THE CATHODE RAY TUBE (crt OR TV SCREEN)
  21. WAS BECOMING MORE COMMON. rEFURBISHED TELETYPE MACHINES WERE
  22. OFTEN USED AS CONSOLES.
  23.  
  24. iN THE EARLY 1970'S A REVOLUTION BEGAN THAT WOULD CHANGE THE
  25. COURSE OF COMPUTING...THE lsi (lARGE sCALE iNTEGRATION)
  26. MICRO CHIP.  iT BECAME POSSIBLE TO PRODUCE ON A SINGLE PIECE
  27. OF SILICON ALL THE LOGIC IN cpu'S (cENTRAL pROCESSING uNITS)
  28. REQUIRING SEVERAL CIRCUIT BOARDS ON THE MAINFRAMES.  tHE
  29. FIRST POPULAR MICROPROCESSOR CHIP, THE 8080 DESIGNED BY
  30. iNTEL, WAS USED TO MAKE INTELLIGENT TERMINALS.  tHESE WERE
  31. CONSOLES THAT CONTAINED A KEYBOARD AND crt MONITOR, A SMALL
  32. AMOUNT OF ram (rANDOM aCCESS mEMORY) AND SOME MEANS OF
  33. COMMUNICATING WITH A MAINFRAME.
  34.  
  35. tHE LARGE HARD DISKS AND TAPE DRIVES USED BY THE MAIN FRAMES
  36. WERE TOO COMPLEX FOR A MICROCOMPUTER TO CONTROL (THERE
  37. WASN'T ENOUGH ram TO HOLD THE CONTROLLER PROGRAM REQUIRED).
  38. sO THE MICROS USED PAPER TAPE. a PUNCH POKED ROWS OF UP TO
  39. SEVEN HOLES IN THE HALF-INCH WIDE TAPE, EACH HOLE
  40. REPRESENTING A BIT IN A SEVEN BIT CHARACTER OR COMMAND.  a
  41. PAPER TAPE READER TRANSLATED THESE HOLES INTO BINARY DATA TO
  42. STORE IN THE MICRO.  sTORING A PROGRAM WAS NOISY AND SLOW.
  43.  
  44. iN 1973 ibm DEVELOPED THE FIRST FLOPPY DISKS AS ALTERNATIVES
  45. TO THE THEN POPULAR PUNCH CARDS USED ON MAINFRAMES.  gARY
  46. kILDALL AT iNTEL OBTAINED A USED DRIVE FROM A SMALL COMPANY
  47. NAMED sHUGART AND BEGAN WORKING ON A CONTROLLER PROGRAM TO
  48. INTERFACE IT WITH AN 8080 BASED MICROCOMPUTER.  hE AND jOHN
  49. tORODE DEVELOPED THE CONTROLLER INTO A FULL DISK DRIVE
  50. OPERATING SYSTEM, WHICH THEY CALLED cp/m.  iNTEL WASN'T MUCH
  51. INTERESTED IN THE PROJECT, AND kILDALL AND tORODE BEGAN
  52. MARKETING THE PRODUCT ON THEIR OWN THROUGH dIGITAL rESEARCH
  53. IN 1976. tHE REST, AS THEY SAY, IS HISTORY.
  54.  
  55. cp/m IS AN OPERATING SYSTEM.  eVERY COMPUTER NEEDS AN
  56. OPERATING SYSTEM IN ORDER TO INTERFACE WITH THE CONSOLE, THE
  57. DISK DRIVES, AND ANY OTHER PERIPHERALS SUCH AS MODEMS AND
  58. PRINTERS.  iN THE RELATIVELY ADVANCED AGE WE LIVE IN, HOME
  59. COMPUTERS USUALLY COME WITH THEIR OPERATING SYSTEMS IN rom
  60. (rEAD oNLY mEMORY). wHEN YOU POWER UP YOUR c128, IT "KNOWS"
  61. HOW TO TALK TO THE KEYBOARD, SCREEN, ETC.  tHE cOMMODORE
  62. DISK DRIVES HAVE THEIR OPERATING SYSTEMS IN rom ALSO.  yOU
  63. DON'T NEED TO load ANY PROGRAM IN ORDER TO TYPE ON THE
  64. KEYBOARD, PRINT CHARACTERS ON THE SCREEN, OR FIND A FILE ON
  65. A FLOPPY DISK.
  66.  
  67. iN 1973 COMPUTERS WERE MUCH LESS SMART. pARTLY THIS WAS DUE
  68. TO THE HIGH COSTS OF BOTH ram AND rom. a 32k MACHINE COST IN
  69. EXCESS OF $3000 WITHOUT PERIPHERALS (1973 DOLLARS, GASOLINE
  70. WAS STILL UNDER $0.20 A LITRE THEN).  rom WAS VERY EXPENSIVE
  71. AND DIFFICULT TO PROGRAM, eprom'S (eRASABLE pROGRAMMABLE
  72. rEAD oNLY mEMORY) WEREN'T AVAILABLE.
  73.  
  74. eACH TIME YOU TURNED THE POWER ON, YOU HAD TO TEACH THE
  75. COMPUTER HOW TO BE A COMPUTER ALL OVER AGAIN.  yOU DID THAT
  76. BY WRITING A PROGRAM CALLED THE OPERATING SYSTEM, AND
  77. saveING ON DISK OR PAPER TAPE.  yOU USED ANOTHER SMALLER
  78. PROGRAM THAT OFTEN WAS TYPED IN BY HAND EACH TIME TO load
  79. THE LARGER PROGRAM.  tHIS METHOD OF USING A PROGRAM TO load
  80. OTHER PROGRAMS WAS CALLED "BOOTSTRAPPING" SINCE THE
  81. COMPUTER WAS IN A SENSE LIFTING ITSELF BY ITS OWN
  82. BOOTSTRAPS.  tHE IDEA OF "bootING" AN OPERATING SYSTEM
  83. REMAINS WITH US, AND IS A COMMAND RECOGNIZED BY bASIC 7.0.
  84.  
  85. cp/m PROVIDED A STANDARDIZED OPERATING ENVIRONMENT ON MANY
  86. DIFFERENT COMPUTERS.  fOR EXAMPLE, THE trs-80 MACHINES USE
  87. THE COMMAND lprint TO SEND STRINGS TO A PRINTER.  cOMMODORE
  88. USES print# FOLLOWED BY A FILE NUMBER. bUT ANY PRINTER
  89. ROUTINE WRITTEN ON A MACHINE RUNNING UNDER cp/m WILL RUN ON
  90. ANY OTHER cp/m MACHINE (i'M NOT SURE WHY "RUNNING UNDER" IS
  91. USED, BUT THAT'S THE PROPER TERM).
  92.  
  93. cp/m COMES IN FOUR MAIN SECTIONS.  tHE FIRST IS THE loadING
  94. ROUTINE, WHICH IS USUALLY ON RESERVED TRACKS ON cp/m DISKS.
  95. oN THE c128, THE loadER IS FOUND IN rom.  tHE TWO WORKHORSES
  96. OF cp/m ARE THE bdos (bASIC dISK oPERATING sYSTEM) AND THE
  97. bios (bASIC iNPUT-oUTPUT sYSTEM).  nOTE THAT THE TERM
  98. "bASIC" AS USED HERE IS A SYNONYM FOR "PRIMARY" OR
  99. "ESSENTIAL" AND DOES NOT REFER TO THE basic PROGRAMMING
  100. LANGUAGE.
  101.  
  102. tHE bdos IS IDENTICAL FOR ALL cp/m SYSTEMS OF THE SAME
  103. VERSION.  bdos WORKS MUCH LIKE THE kERNAL JUMP TABLE IN
  104. cOMMODORE MACHINES, PROVIDING ACCESS TO THE ROUTINES FOR
  105. OPENING DISK FILES, PRINTING STRINGS, AND SUCH BY SIMPLY
  106. CALLING THEM BY NUMBER.  tHE bios IS CUSTOMIZED FOR EACH
  107. COMPUTER MODEL.  wHEN THE bdos IS ASKED TO OPEN A FILE, IT
  108. USES SEVERAL bios ROUTINES WHICH ARE CUSTOMIZED FOR THE DISK
  109. DRIVES, DATA BUSS STRUCTURE, ETC.
  110.  
  111. tHE LAST SECTION IS A PROGRAM CALL ccp (cONSOLE cOMMAND
  112. pROCESSOR).  tHE ccp ACCEPTS INPUT FROM THE KEYBOARD,
  113. DISPLAYS IT ON THE SCREEN, AND PLACES IT IN MEMORY WHERE
  114. APPROPRIATE FOR EXECUTION BY OTHER PROGRAMS.  oN MOST
  115. SYSTEMS THE ccp MUST BE REloadED AFTER OTHER PROGRAMS FINISH
  116. EXECUTION.  oN THE c128, THE ccp IS ALWAYS RESIDENT.
  117.  
  118. tHERE HAVE BEEN SEVERAL VERSIONS OF cp/m PRODUCED SINCE
  119. 1973.  tHE c128 RUNS UNDER cp/m 3.0 (SOMETIMES CALLED
  120. cp/m+).  tHIS IS THE MOST ADVANCED cp/m AVAILABLE, USED
  121. COMPUTERS WITH BANK SWITCHING CAPABILITY AND OVER 64k OF ram
  122. CAN USE IT.
  123.  
  124. iF YOU'D LIKE TO READ MORE ABOUT cp/m, THERE ARE MANY BOOKS
  125. AVAILABLE.  sINCE IT'S A RELATIVELY OLD SYSTEM, YOUR LIBRARY
  126. MAY BE A GOOD SOURCE OF INFORMATION.  tRY TO GET MATERIAL
  127. FOR cp/m+, SINCE SOME COMMANDS FOR OLDER cp/m VERSIONS ARE
  128. DIFFERENT.  sOME GOOD REFERENCES ARE:
  129.  
  130. the cp/m plus handbook, aLAN r. mILLER, sYBEX
  131.  
  132. cp/m and the personal computer, dWYER & cRITCHFIELD,
  133. aDDISON-wESLEY
  134.  
  135. iF THE DATE ON THE SCREEN WHEN YOU boot cp/m IS OLDER THAN
  136. dECEMBER 4, 1985, YOU SHOULD GET A COPY OF THE NEW OPERATING
  137. SYSTEM.  tHIS IS AVAILABLE FROM cOMPUsERVE, q-lINK, THE
  138. input cp/m1 DISK, OR PERHAPS A USER IN YOUR AREA HAS ONE.
  139.  
  140. ----sOME ADDITIONAL REFERENCES----
  141.  
  142. dr dobb's journal, ESPECIALLY EARLIER ISSUES, COVERS cp/m
  143. EXTENSIVELY, YOU LOCAL LIBRARY MAY HAVE PAST ISSUES
  144. AVAILABLE.  fOR AN INTERESTING ARTICLE BY gARY kILDALL ON
  145. THE START OF cp/m, SEE THE jANUARY 1980 ISSUE.
  146.  
  147. oLD COPIES OF byte, kilobaud microcomputing, AND interface
  148. age ALSO HAVE ARTICLES ON cp/m.  fOR A SERIES ON cp/m+,
  149. CHECK THE fEBRUARY 1983 ISSUE OF microsystems.
  150.  
  151. tWO cp/m USER GROUPS HAVE DISKS AVAILABLE WITH A VARIETY OF
  152. PROGRAMS.  tHE 1571 DRIVE WILL READ kAYpRO iv FORMAT.  fOR                         
  153. MORE INFORMATION, CONTACT:
  154.  
  155.     cpmug/lIFELINES
  156.     1651 tHIRD aVE
  157.     nEW yORK ny  10028
  158.     usa
  159.  
  160.     sig/m
  161.     po bOX 97
  162.     iSELIN nj  08830
  163.     usa
  164.  
  165. tHE dWYER & cRITCHFIELD BOOK ABOVE HAS EXCELLENT REFERENCE
  166. SECTIONS ON PROGRAMMING UNDER cp/m IN z80 AND 8080 MACHINE
  167. CODE.  fOR MORE DETAILS ON z80, TRY:
  168.  
  169.     z80 assembly language programming
  170.     lANCE lEVENTHAL
  171.     oSBORNE/mCgRAW-hILL
  172.  
  173.     z80 assembly language routines
  174.     lEVENTHAL AND sAVILLE
  175.     oSBORNE/mCgRAW-hILL
  176.  
  177.