home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / cpm / gendoc / ucpm10.ark / PART1.STR next >
Encoding:
Text File  |  1988-02-01  |  19.8 KB  |  478 lines

  1. .hm 1
  2. .he 
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  
  18.  
  19.  
  20.                             THE UCPM MANUAL
  21.  
  22.  
  23.  
  24.                  General Information on CP/M Computers
  25.                             for Programmers
  26.  
  27.  
  28.  
  29.                               version 1.0
  30.                         released 1 February 1988
  31.  
  32.  
  33.  
  34.                               compiled by
  35.                             Ted A. Campbell
  36.  
  37.                          based on contributions
  38.                       from the CP/M user community
  39.  
  40.  
  41.  
  42.  
  43. .pa
  44. è
  45.  
  46.  
  47.  
  48.                            Table of Contents
  49.  
  50.  
  51.  
  52. Part 1:  Introductory Materials 
  53.  
  54.      Preface
  55.      The Prospects for CP/M Software Development
  56.      Strategies for Overcoming Compatibility Problems
  57.  
  58. Part 2:  CPU Survey:  Information on Basic Computer Hardware
  59.  
  60. áááááAltai≥ 880░ (MITS)
  61. áááááAlto≤ 8000-10
  62. áááááAmstrad CPC 6128
  63. áááááApple ][ with PCPI Applicard
  64. áááááApple ][ with Microsoft Softcard I
  65. áááááBig Board I
  66. áááááCromemco Z2D
  67. áááááCompupro
  68. áááááEpson PX-8 "Geneva"
  69. áááááEpson QX-10
  70. áááááA Homemade System
  71. áááááKaypro II modified to Kaypro 8
  72. áááááMultiflex
  73. áááááNorthstar Advantage
  74. áááááOsborne 1
  75. áááááOsborne Executive
  76. áááááStride 440
  77. áááááSord M-68
  78. áááááTektronix 4132
  79. áááááTelevideo TS803
  80. áááááVisual Technology 1050
  81.  
  82.  
  83. Part 3:  Terminal Survey:  Information on Terminals and 
  84.          Video Displays
  85.  
  86. áááááAmstrad CPC 6128
  87. áááááApple ][
  88. áááááApple ][e with Microsoft Softcard I
  89. áááááDEC VT-220
  90. áááááEpson PX-8 "Geneva"
  91. áááááEpson QX-10
  92. áááááKaypro '83 series
  93.      Kaypro '84 series
  94. áááááKimtron (PC Shadow)
  95. áááááMultiflex Video Card
  96. áááááNorthstar Advantage
  97. áááááOsborne 1
  98. áááááOsborne Executive
  99. èáááááTelevideo TS803 
  100. áááááVisual Technology 1050 = ANSI
  101. áááááZenith Z19
  102.  
  103.      Appendix to Part 3:  Comparative Table of Escape Sequences
  104.  
  105.  
  106. Part 4:  Disk Format Survey:  Information on Disk Formats
  107.  
  108. áááááAltos Double Density
  109. áááááAmstrad System Format
  110. áááááAtari CP/M Format
  111. áááááApple CP/M 
  112. áááááApplσ Disδ II
  113. áááááCromemco Z2D and Cromemco DSDD
  114. áááááEpson QX-10
  115. áááááGeneric CP/M (8")
  116. áááááExchange Format (8")
  117. áááááKaypro DSDD
  118. áááááMultiflex Format
  119. áááááNorthstar Format
  120. áááááOsborne SSSD
  121. áááááOsborne SSDD
  122. áááááStride 640K Format
  123. áááááSunswick Engineering 5-640
  124. áááááSord Format
  125. áááááTelevideo TS802/TS803/TPC
  126. áááááVisual Technology Proprietary Format
  127.  
  128.  
  129. Par⌠ 5║  Referencσ Material≤ fo≥ Genera∞ CP/═ Programming
  130.  
  131.      1«  CP/═ BDO╙ AN─ BIO╙ ENTR┘ POINTS
  132.  
  133.           BDOS
  134.           BIOS
  135.  
  136.      2«  Referencσ Informatioε fo≥ StandarΣ CP/═ Assembly
  137.          Languagσ Tools
  138.  
  139.           ASM
  140.           LOAD
  141.           DDT
  142.           MAC
  143.           LINK
  144.           SID
  145.  
  146.      3«  Referencσ Informatioε fo≥ Microsof⌠ BASIC
  147.  
  148.  
  149. .pa
  150. è
  151.  
  152.  
  153.  
  154.  
  155.  
  156.  
  157.  
  158.  
  159.  
  160.  
  161.  
  162.  
  163.  
  164.  
  165.  
  166.  
  167.  
  168.  
  169.  
  170.                                 PART 1:
  171.  
  172.                          Introductory Materials
  173.  
  174.  
  175.  
  176. .pa
  177. è.pn 1
  178. .op
  179.  
  180.  
  181.                                 Preface
  182.  
  183.  
  184.      Thσá UCP═ manua∞ attempt≤ t∩ providσ basiπ informatioε fo≥ programì
  185. mer≤ oε ß rangσ oµ CP/═ computers«á  Thi≤ i≤ it≤ firs⌠ release¼á anΣá wσ ì
  186. hopσá tha⌠á thi≤ releasσ wil∞ encouragσ other≤ t∩ completσ surve∙á form≤ ì
  187. and correct or complete information in the manual.  
  188.  
  189.      Thσá informatioε supplieΣ iε thσ manua∞ ha≤ beeε collecteΣá largel∙ ì
  190. froφá thσ comp.os.cpφ newsgrou≡ oµ Usenet¼á althougΦ somσá surve∙á form≤ ì
  191. werσ collecteΣ froφ othe≥ sources¼á sucΦ a≤ thσ CP/═ Foruφ oµ GENIE¼ anΣ ì
  192. local Bulletin Board Services.  
  193.  
  194.      T∩á m∙á knowledge¼á al∞ oµ thσ informatioε iε thσ manua∞ i≤ iεá thσ ì
  195. publiπ domain¼á anΣ ╔ hereb∙ releasσ thσ text¼á t∩ thσ exten⌠ tha⌠ i⌠ i≤ ì
  196. m∙á owεá work¼á int∩á thσ publiπ domain«á  Thi≤ mean≤ tha⌠á yo⌡á caεá d∩ ì
  197. anythinτ yo⌡ wan⌠ witΦ i⌠ excep⌠ sel∞ it«á  M∙ hopσ i≤ tha⌠ thσ completσ ì
  198. ucpm.arπ filσ wil∞ bσ uploadeΣ t∩ Bulletiε BoarΣ Services¼ networks¼ anΣ ì
  199. other repositories where it can be available to CP/M programmers.  
  200.  
  201.      ╔á wan⌠ t∩ thanδ al∞ oµ thσ CP/═ user≤ wh∩ havσ contributeΣá surve∙ ì
  202. forms«á  Thi≤ worδ i≤ possiblσ becausσ oµ thei≥ help«á  ╔ woulΣ likσá t∩ ì
  203. thanδ KeitΦ Petersoε fo≥ transferrinτ surve∙ form≤ froφ thσ GENI┼ systeφ ì
  204. t∩á Usene⌠á s∩ tha⌠ ╔ coulΣ acces≤ theφ withou⌠ runninτ u≡ m∙ owεá GENI┼ ì
  205. bill« á Thank≤ als∩ t∩ RicharΣ Conn¼ froφ whosσ HEL╨ file≤ mucΦ áoµ áthσ ì
  206. materia∞ iε Par⌠ ╡ oµ thi≤ worδ i≤ derived.
  207.  
  208.      Again¼á iµá yo⌡ havσ furthe≥ information¼á o≥á suggestions¼á pleasσ ì
  209. forwarΣ theφ t∩ me║  
  210.  
  211.           tcamp@dukeac.uucp
  212.  
  213. Happy computing!  
  214.  
  215.  
  216. - Ted A. Campbell
  217.   President, 
  218.   Raleigh Other Computer Club  
  219.  
  220. .pa
  221. è
  222. .he UCPM Manual, Introductory Materials, Page #
  223.  
  224.               The Prospects for CP/M Software Development
  225.  
  226.  
  227.      Tw∩á o≥á threσ year≤ ag∩ CP/═ wa≤ describeΣ a≤ ßá "deadóá operatinτ ì
  228. system¼ anΣ i⌠ wa≤ laregl∙ presumeΣ tha⌠ furthe≥ developmen⌠ iε thσ CP/═ ì
  229. areßá haΣ o≥ woulΣ sooε cease«á  An∙ surve∙ oµ recen⌠ release≤á oµá CP/═ ì
  230. softwarσ wil∞ falsif∙ thi≤ presupposition«á  However¼á thσ prospect≤ fo≥ ì
  231. CP/═á developmen⌠á arσá changing¼á anΣ wσ shoulΣ takσá notσá oµá curren⌠ ì
  232. trends«  
  233.  
  234.      I⌠ ha≤ beeε estimateΣ tha⌠ therσ arσ betweeε onσ anΣ ß halµ anΣ tw∩ ì
  235. millioε CP/M-baseΣ computer≤ iε existence¼ roughl∙ divideΣ betweeε Applσ ì
  236. CP/═á anΣ othe≥ CP/═ system≤ (seσ Robiε Nelsoε anΣ DaviΣ Needle¼á "CP/M║  ì
  237. Stil∞á thσ Olº Workhorse,ó Persona∞ Computingé 9:╖ [Jul∙á 1985]║á 54-65)«  ì
  238. A⌠ leas⌠ threσ CP/═ compatiblσ system≤ arσ stil∞ iεá production¼á namel∙ ì
  239. thσ Micromin⌠ SB180¼á thσ Commodorσ 12╕ anΣ thσ AmstraΣ PC╫ series«  Onσ ì
  240. caεá arguσá that¼á sincσ CP/═ machine≤ arσ n∩ longe≥ beinτá produceΣá iε ì
  241. impressivσá numbers¼á thσ prospect≤ fo≥ softwarσ developmen⌠ mus⌠ no⌠ bσ ì
  242. good«á  Whilσ mos⌠ woulΣ admi⌠ thσ trutΦ iε this¼ thσ fac⌠ i≤ tha⌠ olde≥ ì
  243. CP/═ machine≤ arσ beinτ maintaineΣ anΣ passeΣ oε t∩ ne≈ users« Onσ woulΣ ì
  244. suspec⌠á tha⌠ a⌠ leas⌠ onσ halµ oµ thσ existinτ CP/═ machine≤ arσá stil∞ ì
  245. iε use«  
  246.  
  247.      ┴á bette≥á estimatσá oµ thσ curren⌠ marke⌠ migh⌠á bσá gleaneΣá froφ ì
  248. curren⌠ sale≤ oµ CP/═ relateΣ softwarσ products«á  Wheε MicroPr∩á Interì
  249. nationa∞ Corporatioε recentl∙ decideΣ t∩ marke⌠ aε upgradσ oµ thei≥ CP/═ ì
  250. Wordsta≥á (tm⌐ product¼á the∙ attempteΣ t∩ determinσ witΦ morσ precisioε ì
  251. thσ sizσ oµ thσ use≥ community¼ bu⌠ werσ unablσ t∩ d∩ so«  B∙ contactinτ ì
  252. thσá Firs⌠ Osbornσ Grou≡ (FOG⌐ anΣ othe≥ Use≥á Groups¼á the∙á determineΣ ì
  253. tha⌠ thσ projec⌠ woulΣ bσ feasible«  ┴ MicroPr∩ Marketinτ Communication≤ ì
  254. Manage≥á workinτ witΦ thσ CP/═ produc⌠ stateΣ iε ß lette≥ t∩ mσ tha⌠ thσ ì
  255. compan∙á solΣ 17,00░ CP/═ upgrade≤ betweeε Augus⌠ anΣ Novembe≥á oµá 198╖ ì
  256. (thσá produc⌠á wa≤ releaseΣ iε August)«á  MicroPr∩ expect≤á t∩á continuσ ì
  257. sellinτá upgrades¼á althougΦ the∙ arσ realistiπ iε projectinτ tha⌠ sale≤ ì
  258. oµá thσ CP/═ upgrade≤ wil∞ dro≡ ofµ afte≥ aε initia∞ surgσ oµá interest«  ì
  259. Sale≤á oµ othe≥ CP/M-relateΣ product≤ confirφ thi≤ pattern«á  ╔ recentl∙ ì
  260. spokσ b∙ telephonσ t∩ ß representativσ oµ Echelon¼á Inc.¼á whicΦ market≤ ì
  261. thσ ZCPR│ commanΣ processor¼á ZRDOS¼ anΣ othe≥ products«  The∙ explaineΣ ì
  262. tha⌠ afte≥ aε initia∞ surgσ oµ interest¼ sale≤ haΣ declineΣ slowly«  
  263.  
  264.      Wha⌠á thi≤ mean≤ i≤ tha⌠ therσ i≤ ß communit∙ oµ user≤ wh∩á welcomσ ì
  265. moderately-priceΣá ne≈á softwarσá tha⌠á wil∞á ruεá oεá thei≥áá machines«  ì
  266. MicroPr∩ correctl∙ identifieΣ use≥ group≤ a≤ thσ mos⌠ promisinτ mean≤ oµ ì
  267. gettinτá t∩ thσ use≥ community«á  Softwarσ developer≤ caε expec⌠ t∩ finΣ ì
  268. initia∞á interes⌠á higΦ iµ the∙ arσ ablσ t∩á publicizσá thei≥á products«  ì
  269. However¼á the∙á canno⌠ coun⌠ oε continuinτ interest«á  Onσ suspect≤ tha⌠ ì
  270. therσ arσ pricσ threshold≤ tha⌠ coulΣ bσ exploiteΣ (releasσ thσá produc⌠ ì
  271. a⌠ ß giveε price¼ theε wheε enthusiasφ flag≤ brinτ thσ pricσ dowε t∩ thσ ì
  272. point where another group of users might purchase it, etc.).  
  273.  
  274.      Giveε thi≤ genera∞ picture¼á onσ doe≤ no⌠ expec⌠ mucΦ iε thσ wa∙ oµ ì
  275. commercia∞ developmen⌠ iε thσ CP/═ area¼á howeve≥ thankfu∞ wσ arσ wheε ß ì
  276. produc⌠á likσ Wordsta≥ i≤ revised«á  Oε thσ othe≥ hand¼á privatσ public-ìèdomain¼ shareware¼ o≥ "use≥ supportedó softwarσ ha≤ alway≤ beeε prolifiπ ì
  277. iεá thσá CP/═á area¼á iε somσ case≤á positivel∙á hinderinτá attempt≤á a⌠ ì
  278. commercia∞á developmen⌠ (i.e.¼á wh∙ bu∙ ß modeφ prograφ wheε yo⌡ caε ge⌠ ì
  279. ME╪ o≥ IMP╗á wh∙ bu∙ ß tex⌠ edito≥ wheε yo⌡ caε ge⌠ VDE¼ etc.)«  A≤ lonτ ì
  280. a≤ person≤ witΦ programminτ interest≤ owε CP/═ computers¼ onσ caε expec⌠ ì
  281. a trickle if not a stream of new development.  
  282.  
  283.      Bu⌠á thi≤á raise≤ ß crucia∞ problem«á  CP/═á developer≤á arσá ofteε ì
  284. frustrateΣá becausσá timσ spen⌠ developinτ ß prograφ fo≥ onσ machinσá i≤ ì
  285. ofteεá no⌠ translatablσ int∩ workinτ version≤ oµ thσ softwarσ fo≥á othe≥ ì
  286. machines«á  Thσ UCP═ projec⌠ attempt≤ t∩ addres≤ thi≤ probleφ b∙á makinτ ì
  287. informatioεá oεá ßá widσ rangσ oµ CP/═ computer≤á available«á  Thσá nex⌠ ì
  288. articlσá wil∞ discus≤ somσ strategie≤ fo≥ gettinτá arounΣá compatibilit∙ ì
  289. problems on CP/M and other computers. 
  290.  
  291. .pa
  292. è.he 
  293.  
  294. .he UCPM Manual, Introductory Materials, Page #
  295.  
  296.             Strategies for Overcoming Compatibility Problems
  297.  
  298.  
  299. A.  CP/M Compatibility Problems
  300.  
  301.      "He'≤á ßá COMPUTE╥á PROGRAMMER,ó m∙ grandmothe≥ saiΣ oµá ßá distan⌠ ì
  302. cousin¼ he≥ eye≤ bulging«  Wha⌠ thi≤ mean⌠ t∩ he≥ wa≤ tha⌠ m∙ cousiε wa≤ ì
  303. oε ß pa≥ witΦ braiε surgeon≤ anΣ Einsteins«á  Indeed¼á therσ wa≤ ßá timσ ì
  304. wheε programmer≤ haΣ t∩ bσ intelligent«  Iε thosσ days¼ iµ onσ wisheΣ t∩ ì
  305. writσá somethinτá t∩ ß screeε o≥ ß piecσ oµ magnetiπ tape¼á onσá haΣá t∩ ì
  306. writσ bottom-leve∞ routine≤ fo≥ eacΦ process«á  Programminτ wa≤ a⌠ leas⌠ ì
  307. aε arcanσ art¼ iµ no⌠ ß rigorou≤ science«  
  308.  
  309.      Wha⌠á openeΣ programminτ u≡ t∩ Bear≤ oµ Ver∙ Littlσ Braiε likσ PooΦ ì
  310. anΣ mσ wa≤ thσ developmen⌠ oµ OPERATIN╟ SYSTEM╙ whicΦ coulΣ handlσá low-ì
  311. leve∞ inpu⌠ anΣ outpu⌠ operations«á  Thesσ alloweΣ thσ programme≥ t∩ usσ ì
  312. ßá se⌠á oµ standarΣ "systeφ calls,ó whicΦ woulΣ worδ oε an∙ compute≥á oε ì
  313. whicΦ thσ operatinτ systeφ haΣ beeε implemented«  CP/M¼ developeΣ b∙ Dr« ì
  314. Gar∙á Kildal∞ wh∩ foundeΣ Digita∞ Research¼á Inc.¼á becamσ thσá standarΣ ì
  315. operatinτ systeφ oε 8-bi⌠ microcomputer≤ iε thσ latσá 1970s«á  Operatinτ ì
  316. system≤á likσ CP/═ wen⌠ ß lonτ wa∙ toward≤ solvinτ problem≤ oµá softwarσ ì
  317. anΣ hardwarσ compatibilit∙ fo≥ programmers«á  Bu⌠ threσ o≥ fou≥ critica∞ ì
  318. problem≤ remaineΣ iε thσ CP/═ world«  
  319.  
  320.      (a⌐á  Iε thσ firs⌠ place¼á therσ wa≤ n∩ standarΣ vide∩á systeφá fo≥ ì
  321. CP/═á computers«á  Earl∙á CP/═ machine≤ utilizeΣá commercially-availablσ ì
  322. datß terminals¼ eacΦ oµ whicΦ haΣ it≤ owε se⌠ oµ escapσ code≤ t∩ contro∞ ì
  323. thσ screen«  Wheε self-containeΣ CP/═ computer≤ werσ developeΣ (likσ thσ ì
  324. Northstar¼ Osborne¼ anΣ Kaypr∩ computers)¼ the∙ utilizeΣ termina∞ escapσ ì
  325. sequence≤ modeleΣ oε thosσ oµ earlie≥ datß terminals¼á bu⌠ addeΣá consiì
  326. derablσ capbilitie≤ beyonΣ them¼á sucΦ a≤ memory-mappeΣ video¼ ß variet∙ ì
  327. oµ vide∩ attributes¼ anΣ characte≥ o≥ pixe∞ graphics«  EacΦ CP/═ prograφ ì
  328. haΣá t∩á bσ adapteΣ t∩ thσ specifiπ compute≥ iµ i⌠ wa≤ t∩ utilizσá thei≥ ì
  329. more sophisticated features.  
  330.  
  331.      (b⌐ Iε thσ seconΣ place¼á therσ developeΣ problem≤ witΦ disk-forma⌠ ì
  332. compatibility«á  Therσ wa≤ ß generiπ CP/═ disδ format¼á bu⌠ i⌠ wa≤ aε 8ó ì
  333. format¼ anΣ i⌠ employeΣ single-densit∙ recordinτ techniques«  Wheε 5.25ó ì
  334. disδá drive≤ anΣ double-densit∙ (anΣ double-sided⌐ recordinτá technique≤ ì
  335. becamσ available¼á CP/═ hardwarσ manufacturer≤ developeΣ ß vas⌠ arra∙ oµ ì
  336. differen⌠ disδ formats¼ eacΦ incompatiblσ witΦ thσ other«  
  337.  
  338.      (c⌐á Iεá thσ thirΣ place¼á therσ werσ developinτá genera∞á hardwarσ ì
  339. incompatibilitie≤ betweeε thσ CP/═ computers«  Earlie≥ machine≤ useΣ thσ ì
  340. Inte∞ 808░ c.p.u«á chip¼á bu⌠ late≥ one≤ tooδ advantagσ oµ thσá extendeΣ ì
  341. instructioε set≤ oµ thσ 808╡ o≥ especiall∙ thσ Ziloτ Z8░ chip«  Softwarσ ì
  342. usinτá Z8░á instruction≤á coulΣá operatσ oεá memor∙á anΣá perforφá othe≥ ì
  343. function≤ mucΦ morσ quickly¼ bu⌠ coulΣ no⌠ bσ executeΣ oε thσ Inte∞ 808░ ì
  344. chip«á  Variou≤ chip≤ haΣ differen⌠ clocδ speeds«á  Differen⌠ computers¼ ì
  345. moreover¼á haΣ varyinτ inpu⌠ anΣ outpu⌠ capabilities«  Differen⌠ system≤ ì
  346. for serial communication posed very serious problems for programmers.  
  347.  
  348.      Part≤ 2¼á 3¼á anΣ ┤ oµ thσ UCP═ manua∞ givσ informatioε relevan⌠ t∩ ìèthesσá threσá areas¼á Par⌠ ▓ addressinτ genera∞á hardwarσá compatibilit∙ ì
  349. problems¼á Par⌠á │ addressinτ termina∞ anΣ vide∩ compatibilit∙ problems¼ ì
  350. and Part 4 addressing problems of disk format incompatibilities.  
  351.  
  352.      (d⌐ Therσ i≤ onσ furthe≥ areß oµ compatibilit∙ problem≤ tha⌠ shoulΣ ì
  353. bσá noted«á  Thσá CP/═ operatinτ systeφ itselµá passeΣá througΦá severa∞ ì
  354. generation≤á oµ development¼á anΣ companie≤ anΣ privatσ programmer≤ havσ ì
  355. madσ furthe≥ development≤ iε CP/═ compatiblσ software«  CP/═ versioε 2.▓ ì
  356. becamσ ß dσ factoé standard¼á althougΦ CP/═ versioε 3.░ (als∩ calleΣ CP/═ ì
  357. Plus⌐á madσ critica∞ improvement≤ anΣ wa≤ adopteΣ oε variou≤á computers«  ì
  358. Digita∞ ResearcΦ als∩ releaseΣ MP/M¼ ß multitaskinτ versioε oµ CP/M«  Iε ì
  359. thσ mid-1980≤ developmen⌠ oµ ne≈ Consolσ CommanΣ Processor≤ wen⌠ on¼ anΣ ì
  360. sincσá theε entirσ replacement≤ fo≥ CP/═ (sucΦ a≤ Echelon'≤ ZRDOS⌐á havσ ì
  361. beeε available«á  Par⌠ ▓ oµ thσ UCP═ manua∞ note≤ whicΦ version≤ oµ CP/═ ì
  362. or equivalent systems are implemented on various hadware.
  363.  
  364.  
  365. B.  Strategies for Overcoming CP/M System Incompatibilities
  366.  
  367.      1.  Strategy 1:  Revision of Source Code, Recompilation
  368.  
  369.      Giveεá thσ problem≤ outlineΣ above¼á ho≈ doe≤ onσ producσá program≤ ì
  370. tha⌠á caε bσ implementeΣ oε ß rangσ oµ CP/═ computers┐á  Thσ mos⌠á basiπ ì
  371. solutioεá woulΣ bσ t∩ revisσ thσ sourcσ codσ anΣ possibl∙ recompilσá thσ ì
  372. prograφá fo≥á eacΦ implementation«á  Thi≤ ha≤ thσ advantagσ oµá enablinτ ì
  373. eacΦá implementatioε t∩ takσ advantagσ oµ machine-specifiπá feature≤á t∩ ì
  374. thσá maximum¼á bu⌠á i⌠á ha≤ thσ disadvantagσ oµ requirinτ thσá step≤á oµ ì
  375. recompilatioεáá (anΣá possibl∙á reassembly⌐á fo≥á al∞á bu⌠áá interpreteΣ ì
  376. languages«á  WitΦ interpreteΣ languages¼á thi≤ strateg∙ i≤ usuall∙á preì
  377. ferred«á  I⌠á i≤á als∩ useΣ witΦ highl∙ machine-specifiπá program≤á (fo≥ ì
  378. instance¼á thσá ZCP╥ serie≤ oµ Consolσ CommanΣ Processors)«á  Iεá eithe≥ ì
  379. case¼á thi≤ strateg∙ require≤ carefu∞ modulizatioε oµ sourcσ code¼ ofteε ì
  380. witΦá machine-specifiπ codσ locateΣ a⌠ thσ beginninτ s∩ a≤ t∩ makσ reviì
  381. sioε anΣ recompilatioε morσ straightforward.
  382.  
  383.  
  384.      2.  Strategy 2:  Inserts
  385.  
  386.      Thσ usσ oµ insert≤ i≤ structurall∙ equivalen⌠ t∩ thσ firs⌠ strateg∙ ì
  387. above¼ bu⌠ ofteε involve≤ morσ carefu∞ specificatioε oµ thσ requirement≤ ì
  388. fo≥á aε inser⌠ (anΣ oµ coursσ carefu∞ modulizatioε oµ thσ sourcσá code)«  ì
  389. Oεá thi≤á strategy¼á thσá sourcσ codσ ha≤ ß poin⌠ a⌠á whicΦá ßá machine-ì
  390. specifiπ blocδ oµ codσ i≤ t∩ bσ inserted¼ anΣ insert≤ arσ supplieΣ fo≥ ß ì
  391. variet∙ oµ machines«á  Again¼ reassembl∙ anΣ recompilatioε arσ required«  ì
  392. Somσá user-supporteΣ program≤ tha⌠ requirσ ß higΦ degreσ oµ systeφá speì
  393. cifiπá codσá utilizσ inserts¼á mos⌠ notabl∙ thσ serie≤ oµá BY┼á program≤ ì
  394. whicΦ allow CP/M computers to be used remotely.  
  395.  
  396.  
  397.      3.  Strategy 3:  Overlays
  398.  
  399.      Overlay≤á arσá perhap≤á thσ mos⌠á commoεá strateg∙á fo≥á overcominτ ì
  400. incompatibilitie≤á fo≥ user-supporteΣ software«á  Aε overla∙ involve≤á ß ì
  401. se⌠á oµ codσ tha⌠ ha≤ beeε converteΣ (typically⌐ int∩ Inte∞ HEXá format¼ ì
  402. anΣá whicΦá ma∙á theεá bσ overlaiΣ oε aε existinτá prograφá a⌠á specifiπ ìèposition≤ specifieΣ iε thσ assembl∙ codσ anΣ theε iε thσ HE╪ file«  Thi≤ ì
  403. approacΦá doe≤á no⌠ requirσ recompilation¼á onl∙ thσá actua∞á overlayinτ ì
  404. accomplisheΣ typicall∙ b∙ thσ usσ oµ DDT¼á SID¼á o≥ MLOAD«á  ┴á possiblσ ì
  405. disadvantagσá oµ thi≤ strateg∙ i≤ tha⌠ ne≈ user≤ ma∙ no⌠ understanΣá thσ ì
  406. usσá oµ DDT¼á SID¼á o≥ MLOAD¼á anΣ thu≤ ma∙ finΣ installatioε fo≥á thei≥ ì
  407. computer≤ frustrating«  Oε thσ othe≥ hand¼ mos⌠ folk≤ wh∩ havσ useΣ CP/═ ì
  408. for very long have learned to do this.  
  409.  
  410.  
  411.      4.  Strategy 4:  Install Programs
  412.  
  413.      Thσá strateg∙á utilizeΣá iεá thσá mos⌠á sophisticateΣá commerciall∙ ì
  414. produceΣá program≤ (sucΦ a≤ Wordstar¼á SuperCalc¼á anΣ dBasσ II⌐ anΣá iε ì
  415. somσá user-supporteΣá softwarσá (sucΦ a≤ VDE⌐ i≤ t∩á suppl∙á ßá separatσ ì
  416. prograφá whicΦá lead≤ thσ use≥ througΦ thσ step≤á oµá installation«á  Aε ì
  417. instal∞á prograφ caε bσ ß ver∙ nicσ feature¼á bu⌠ somσ arσ a≤ comple° a≤ ì
  418. installinτ aε overlay¼ anΣ thσ productioε oµ aε instal∞ prograφ require≤ ì
  419. considerablσá worδá oεá thσ par⌠ oµá thσá programmer¼á anΣá considerablσ ì
  420. information on the variety of computers.
  421.  
  422.  
  423.      5«  Strateg∙ 5║  Autodetec⌠ Software
  424.  
  425.      Thi≤ shoulΣ bσ listeΣ a≤ ß logica∞ thougΦ no⌠ ß testeΣ possibility«  ì
  426. I⌠ áwoulΣ bσ possiblσ t∩ writσ CP/═ softwarσ iε sucΦ ß wa∙ tha⌠ áinitia∞ ì
  427. bit≤ áoµ codσ coulΣ detec⌠ whosσ BIO╙ i≤ presen⌠ (b∙ scanninτ thσ áfirs⌠ ì
  428. fe≈ ábytes¼ ásay¼ oµ thσ BIO╙ ColΣ Star⌠ routinσ t∩ seσ áwhat'≤ áthere)«  ì
  429. Thσ áprograφ ácoulΣ átheε utilizσ interna∞ sequence≤ áappropriatσ át∩ áß ì
  430. variet∙ oµ terminals«  Thi≤ approach¼ howeve≥ woulΣ requirσ ß gooΣ ádea∞ ì
  431. oµ worδ iε detectinτ differen⌠ BIO╙ signature≤ (ofteε morσ thaε onσ áfo≥ ì
  432. eacΦ CP/═ computer)¼ anΣ migh⌠ resul⌠ iε codσ s∩ bulk∙ tha⌠ i⌠ woulΣ ábσ ì
  433. impractica∞ oε existinτ CP/═-baseΣ computers.
  434.  
  435.  
  436. C.  Strategies for Compatibility Problems between Operating Systems
  437.  
  438.      Man∙á programmer≤ wil∞ bσ unwillinτ t∩ devotσ ß grea⌠ dea∞ oµá CP/═ ì
  439. programming¼á duσ t∩ thσ limitation≤ iε thσ marke⌠ indicateΣ above«á  I⌠ ì
  440. woulΣá bσá attractive¼á theεá t∩á develo≡á codσá tha⌠á coulΣá bσá easil∙ ì
  441. translated¼á no⌠ onl∙ t∩ othe≥ CP/═ systems¼á bu⌠ als∩ t∩ computer≤ witΦ ì
  442. othe≥ operatinτ systems¼á sucΦ a≤ thσ IB═ P├ serie≤ anΣ compatibles¼ thσ ì
  443. AtarΘ S╘ series¼á thσ Commodorσ Amigß series¼á anΣ UNIX-baseΣ computers«  ì
  444. Iε thi≤ case¼ thσ strategie≤ indicateΣ abovσ wil∞ no⌠ suffice¼ sincσ thσ ì
  445. wholl∙á incompatiblσ instructioε set≤ utilizeΣ oε othe≥ system≤á mandatσ ì
  446. tha⌠ ß completσ revisioε o≥ recompilatioε oµ thσ codσ necessary«  Neverì
  447. theless¼á therσ arσ a⌠ leas⌠ tw∩ strategie≤ fo≥ accomplishinτ thi≤ goal«  
  448.  
  449.  
  450.      1.  Strategy 1:  Code Translation
  451.  
  452.      I⌠ i≤ possible¼á utilizinτ specia∞ software¼ t∩ translatσ codσ froφ ì
  453. onσ processo≥ int∩ equivalen⌠ codσ fo≥ anothe≥ processor«á  Onσ suspect≤ ì
  454. tha⌠á thi≤á i≤á thσ techniquσ tha⌠ wa≤ useΣá wheεá CP/═á program≤á (likσ ì
  455. Wordsta≥á anΣá dBasσá II⌐á werσ firs⌠ porteΣ ove≥ t∩ thσá IB═á PC'≤á anΣ ì
  456. compatibles«  Nevertheless¼ thσ translatioε almos⌠ neve≥ take≤ advantagσ ìèoµá morσá sophisticateΣá operation≤ oε thσá targe⌠á processor¼á anΣá thσ ì
  457. translatioεá usuall∙ require≤ considerablσ effor⌠ t∩ interfacσ witΦá thσ ì
  458. operatinτá systeφá anΣá othe≥á input-outpu⌠á facilitie≤á oεá thσá targe⌠ ì
  459. computer¼á sincσ method≤ fo≥ interfacinτ diffe≥ greatl∙ froφ onσá systeφ ì
  460. t∩á another«á  (Thσ mos⌠ obviou≤ examplσ i≤ tha⌠ althougΦ MSDO╙ anΣá thσ ì
  461. IB═á P├á Disδá Operatinτ Systeφ utilizσ somσ oµ thσ samσ BDO╙á call≤á a≤ ì
  462. CP/M¼ thσ call≤ arσ madσ b∙ call≤ t∩ locatioε 0╡ unde≥ CP/═ anΣ arσ madσ ì
  463. b∙ ß cal∞ t∩ interrup⌠ 21Φ unde≥ MSDOS)«  
  464.  
  465.  
  466. .cp 6
  467.      2.  Strategy 2:  Higher Level Languages
  468.  
  469.      Mos⌠ programmer≤ intendinτ t∩ develo≡ softwarσ fo≥ highl∙ differen⌠ ì
  470. processor≤á anΣ operatinτ system≤ havσ turneΣ t∩ highle≥ leve∞ language≤ ì
  471. whicΦá havσ ß higΦ degreσ oµ systeφ independence«á  Aε examplσ woulΣá bσ ì
  472. thσ ├ programminτ language«  Therσ arσ a⌠ leas⌠ tw∩ problem≤ involveΣ iε ì
  473. thi≤ approach«á  Iε thσ firs⌠ place¼á thσ usσ oµ sucΦ ß languagσá almos⌠ ì
  474. alway≤ require≤ thσ threσ step≤ oµ compilation¼á assembly¼á anΣ linking«  ì
  475. Second¼á highe≥á leve∞á language≤á havσ stil∞á (largely⌐á no⌠á developeΣ ì
  476. specification≤á fo≥ usinτ morσ sophisticateΣ feature≤ sucΦ a≤á graphics¼ ì
  477. alternatσá characte≥á sets¼á pointe≥ device≤ ("mice")¼á o≥á asynchronou≤ ì
  478. communications«á  Thus¼á programmer≤ stil∞ tenΣ t∩ spenΣ ßá considerablσ ì
  479. amoun⌠á oµá timσá a⌠á thσá system≤á leve∞á developinτá high-speed¼á morσ ì
  480. sophisticateΣ systeφ interfaces«  Iε thi≤ regard¼ yo⌡ migh⌠ watcΦ fo≥ m∙ ì
  481. ALTI╧á package¼áá whicΦá offer≤á convention≤á o≥á specification≤á fo≥á ├ ì
  482. programming between different hardware configurations.  
  483.  
  484. .pa
  485. è