home *** CD-ROM | disk | FTP | other *** search
/ For Beginners & Professional Hackers / cd.iso / docum / c-book.doc / t7.cod < prev   
Encoding:
Text File  |  1990-10-26  |  80.8 KB  |  1,894 lines

  1.  
  2.           ÅαÑαδóá¡¿Ñ «Γ ¬½áó¿áΓπαδ (9).
  3.      -----------------------------------------------------------------
  4.  
  5.           Åα¿ ¡áªáΓ¿¿   »«½∞º«óáΓѽѼ   "ú«α∩τÑú«  ¬½ετá"  αѺ¿ñÑ¡Γ¡á∩
  6.      »α«úαá¼¼á ñ«½ª¡á »αÑαóáΓ∞  óßÑ,  τΓ«  íδ  ¡¿  ñѽá½á  ß¿ßΓѼá,  ¿
  7.      ºá»πßΓ¿Γ∞ ßÑí∩.  ùΓ«íδ ßñѽáΓ∞ φΓ«,  »α«úαá¼¼á ñ«½ª¡á ß¬á¡¿α«óáΓ∞
  8.      ¬½áó¿áΓπαπ ó »«¿ß¬áσ "ú«α∩τÑú« ¬½ετá".  Å«¡¿¼á¡¿Ñ φΓ«ú«  »α«µÑßßá
  9.      ΓαÑíπÑΓ  »«¡¿¼á¡¿∩,  ¬á¬  αáí«ΓáÑΓ  »αÑαδóá¡¿Ñ  «Γ  ¬½áó¿áΓπαδ  ¿
  10.      ß¬á¡¿α«óá¡¿Ñ ¬«ñ«ó.
  11.  
  12.           ìáªáΓ¿Ñ ¬½áó¿Φ¿  úÑ¡Ñα¿απÑΓ  »αÑαδóá¡¿Ñ   9,   ¿   «íαáí«Γ¬á
  13.      »ÑαÑñáÑΓß∩ »α«úαἼѠ »« áñαÑßπ óÑ¬Γ«αá »αÑαδóá¡¿∩ 9.  Ä¡á ñ«½ª¡á
  14.      »α«τ¿ΓáΓ∞ »«αΓ  ñá¡¡δσ  ¬½áó¿áΓπαδ  ¿  «íαáí«ΓáΓ∞  φΓ«  º¡áτÑ¡¿Ñ.
  15.      è½áó¿áΓπαá  PC  úÑ¡Ñα¿απÑΓ  ¬«ñ ß¬á¡¿α«óá¡¿∩,  ¬«Γ«αδ⌐ ¼«ªÑΓ íδΓ∞
  16.      »α«τ¿Γá¡ ¿º óσ«ñ¡«ú«  »«αΓá  ¬½áó¿áΓπαδ,  á  ¡Ñ  º¡áτÑ¡¿Ñ  ASCII,
  17.      »«ßΓπ»áεΘÑÑ  ó óáΦπ »α«úαá¼¼π »α¿ ¿ß»«½∞º«óá¡¿¿ Σπ¡¬µ¿¿ get_char.
  18.      èáªñá∩ ¬½áó¿Φá ¡á ¬½áó¿áΓπαÑ  ¿¼ÑÑΓ  ßó«Ñ  ß«íßΓóÑ¡¡«Ñ  º¡áτÑ¡¿Ñ.
  19.      Åα«úαἼᠠñ«½ª¡á  «»αÑñѽ¿Γ∞  »«  ¡Ñ¼π,  ¬á¬á∩  ¬½áó¿Φá  ¿½¿  ¿σ
  20.      ¬«¼í¿¡áµ¿∩ ¡áªáΓá, ¿ τΓ« ñѽáΓ∞ ß ¡¿¼¿.
  21.  
  22.           Åα«úαἼᠫíαáí«Γ¬¿ »αÑαδóá¡¿∩ «Γ ¬½áó¿áΓπαδ,  ¡áσ«ñ∩Θá∩ß∩ ó
  23.      ROM-BIOS (íẫó«⌐   ß¿ßΓѼѠ óó«ñá-óδó«ñá  ó  Åçô),  τ¿ΓáÑΓ  ¬«ñδ
  24.      ß¬á¡¿α«óá¡¿∩, »ÑαÑó«ñ¿Γ ¿σ ó ¬«ñδ ASCII,  ¿ »ÑαÑßδ½áÑΓ ¿σ ó íπΣÑα
  25.      ¬½áó¿áΓπαδ. Åα«úαá¼¼δ   (ó¬½ετá∩  äÄæ),  τ¿ΓáεΘ¿Ñ  ß  ¬½áó¿áΓπαδ,
  26.      τ¿ΓáεΓ ¬«ñδ ¿º  íπΣÑαá.  ROM-BIOS  »«ññÑনóáÑΓ  íá⌐Γ  ß«ßΓ«∩¡¿∩,
  27.      »«¬áºδóáεΘ¿⌐,  í뫨  ½¿ ¡áªáΓδ ¬½áó¿Φ¿ Alt,  »αáóδ⌐ Shift,  ½Ñóδ⌐
  28.      Shift, ¿  Ctrl.   Åα«úαἼᠠ ¼«ªÑΓ   »α«τ¿ΓáΓ∞   φΓ¿   º¡áτÑ¡¿∩,
  29.      ó«ßßΓá¡«ó¿ó π ßÑí∩ íá⌐Γ ß«ßΓ«∩¡¿∩. é ú½áóÑ 12 ¿½½εßΓα¿απεΓß∩ ¬«ñδ
  30.      ß¬á¡¿α«óá¡¿∩ ¿ º¡áτÑ¡¿∩ íá⌐Γá ß«ßΓ«∩¡¿∩ ¬½áó¿áΓπαδ.
  31.  
  32.           TSR-»α«úαἼᠼ«ªÑΓ  »α¿ß«Ññ¿¡¿Γ∞  ßÑí∩  ¬   »αÑαδóá¡¿ε   9.
  33.      Å«ñ»α«úαἼᠠ«íαáí«Γ¬¿  »αÑαδóá¡¿∩ ó αѺ¿ñÑ¡Γ¡«⌐ »α«úαἼѠ¼«ªÑΓ
  34.      »«ññÑনóáΓ∞  óδ»«½¡Ñ¡¿Ñ  »α«úαá¼¼δ  ¿º  ROM-BIOS,   τ¿Γá∩   ¬«ñδ
  35.      ß¬á¡¿α«óá¡¿∩ ¿ íá⌐Γ ß«ßΓ«∩¡¿∩,  ¿ »α«óÑα∩∩,  ¡Ñ ¡áªáΓ ½¿ "ú«α∩τ¿⌐
  36.      ¬½ετ". àß½¿ ¡ÑΓ, Γ« «íαáí«Γ¬á ñá½∞ΦÑ »αÑñ«ßΓáó½∩ÑΓß∩ »α«úαἼѠ¿º
  37.      ROM-BIOS.
  38.  
  39.           àß½¿ ó  TSR-»α«úαἼѠ¡ÑΓ ó맮ó«ó Σπ¡¬µ¿⌐ äÄæ,  »«ñ»α«úαá¼¼á
  40.  
  41.                              - 2 -
  42.      «íαáí«Γ¬¿  »αÑαδóá¡¿∩  9  ¼«ªÑΓ  ¡Ñ»«ßαÑñßΓóÑ¡¡«  óδ»«½¡¿Γ∞  ßó«ε
  43.      Σπ¡¬µ¿ε.   àß½¿   ªÑ   ¡Ñ«íσ«ñ¿¼«   ¿ß»«½∞º«óáΓ∞   Σπ¡¬µ¿¿   äÄæ,
  44.      »«ñ»α«úαá¼¼á ñ«½ª¡á óδßΓáó¿Γ∞ Σ½áú »α¿ßπΓßΓó¿∩ "ú«α∩τÑú« ¬½ετá" ¿
  45.      ºá¬«¡τ¿Γ∞ αáí«Γπ. äαπú¿Ñ »«ñ»α«úαá¼¼δ «íαáí«Γ¬¿ »αÑαδóá¡¿∩ ñ«½ª¡δ
  46.      ºá¼ÑΓ¿Γ∞ φëàӽáú ¿ óδ»«½¡¿Γ∞ß∩,  Ñß½¿ φΓ«  íѺ«»áß¡«.  Äñ¡á  ¿º
  47.      »«ñ»α«úαá¼¼, ªñπΘá∩ »«ñσ«ñ∩ΘÑú« ¼«¼Ñ¡Γá ñ½∩ óδ»«½¡Ñ¡¿∩ Σπ¡¬µ¿¿, -
  48.      φΓ« »«ñ»α«úαἼᠫíαáí«Γ¬¿ »αÑαδóá¡¿∩ «Γ Γá⌐¼Ñαá.
  49.  
  50.  
  51.           ÅαÑαδóá¡¿Ñ «Γ Γá⌐¼Ñαá.
  52.      -----------------------------------------------------------------
  53.  
  54.           Éáí«Γá PC  »αÑαδóáÑΓß∩  18.2  αáºá   ó   ßѬπ¡ñπ   ß¿ßΓѼ¡δ¼
  55.      Γá⌐¼Ñα«¼,  ¬«Γ«αδ⌐  ¿ß»«½∞ºπÑΓ óÑ¬Γ«α »αÑαδóá¡¿∩ 0σ1c ñ½∩ ºá»π߬á
  56.      »«ñ»α«úαá¼¼δ «íαáí«Γ¬¿.  é ú½áóπ 12  ó¬½ετÑ¡  »α¿¼Ñα  αѺ¿ñÑ¡Γ¡«⌐
  57.      »α«úαá¼¼δ       "τáßδ",      ¿ß»«½∞ºπεΘÑ⌐      »αÑαδóá¡¿Ñ      «Γ
  58.      Γá⌐¼Ñαá. TSR-»α«úαá¼¼δ,  óδºδóáѼδÑ »«  "ú«α∩τÑ¼π  ¬½ετπ",  ΓᬪÑ
  59.      ñ«½ª¡δ ¿ß»«½∞º«óáΓ∞ φΓ« »αÑαδóá¡¿Ñ, »«φΓ«¼π ¡áñ« »α¿¬αÑ»¿Γ∞ß∩ ¿ ¬
  60.      óÑ¬Γ«απ 0σ1ß.  Æá¬ ¬á¬ »α«úαἼᠡѠ¼«ªÑΓ  óδ»«½¡∩Γ∞ß∩,  »«¬á  ¡Ñ
  61.      πíÑñ¿Γß∩,  τΓ«  ¿ß»«½∞º«óá¡¿Ñ  Σπ¡¬µ¿⌐  äÄæ  íѺ«»áß¡«,  Γ«  ¡áñ«
  62.      »α«óÑα¿Γ∞, πßΓá¡«ó½Ñ¡ ½¿ Σ½áú "ú«α∩τÑú« ¬½ετá", ¬á¬ «»¿ßá¡« óδΦÑ,
  63.      ¿ ºáΓѼ  »α«óÑα¿Γ∞ íѺ«»áß¡«ßΓ∞.  àß½¿ φΓ¿ ñóá πß½«ó¿∩ óδ»«½¡Ñ¡δ,
  64.      Γ« »«ñ»α«úαἼᠫíαáí«Γ¬¿ »αÑαδóá¡¿∩ «Γ Γá⌐¼Ñαá  ¼«ªÑΓ  ºá»π߬áΓ∞
  65.      «ß¡«ó¡πε αѺ¿ñÑ¡Γ¡πε »α«úαá¼¼π.
  66.  
  67.           èᬠ¿  ó  ß½πτáÑ  ß  »αÑαδó᡿Ѽ «Γ ¬½áó¿áΓπαδ,  ñ«½ª¡á íδΓ∞
  68.      αÑ὿º«óá¡á  ó«º¼«ª¡«ßΓ∞  αáí«Γδ   ß   »αÑαδó᡿Ѽ   «Γ   Γá⌐¼Ñαá
  69.      »α«úαá¼¼Ñ,  ¬«Γ«αá∩ ñ« φΓ«ú« íδ½á «íαáí«Γτ¿¬«¼ Γᬫú« »αÑαδóá¡¿∩.
  70.  
  71.  
  72.           Åα«í½Ñ¼á αÑÑ¡ΓÑαáíѽ∞¡«ßΓ¿ äÄæ.
  73.      -----------------------------------------------------------------
  74.  
  75.           éδ πªÑ  τ¿Γ὿  «  »α«í½Ñ¼áσ,  ó«º¡¿¬áεΘ¿σ »α¿ ¿ß»«½∞º«óá¡¿¿
  76.      Σπ¡¬µ¿⌐ äÄæ ¿º αѺ¿ñÑ¡Γ¡δσ  »α«úαá¼¼.é  ß½πτáÑ,  ¬«úñá  »α«úαá¼¼á
  77.      »αÑαδóáÑΓ  äÄæ  ¿ σ«τÑΓ ¿ß»«½∞º«óáΓ∞ ÑÑ Σπ¡¬µ¿¿,  äÄæ ¡Ñ ∩ó½∩ÑΓß∩
  78.      αÑÑ¡ΓÑαáíѽ∞¡«⌐.  î«ªÑΓ ß½πτ¿Γ∞ß∩ Γá¬,  τΓ« »α¿ ¡áªáΓ¿¿ "ú«α∩τÑú«
  79.  
  80.                              - 3 -
  81.      ¬½ετá"  äÄæ  íπñÑΓ  ¡áσ«ñ¿Γ∞ß∩ ó ß«ßΓ«∩¡¿¿ óó«ñá ß ¬½áó¿áΓπαδ,  ¿
  82.      »«½∞º«óáΓÑ½ε ¡Ñ πñáßΓß∩ íδßΓα« óδºóáΓ∞ TSR-»α«úαá¼¼π,  Γᬠ¬á¬ ñ«
  83.      «¬«¡τá¡¿∩ óó«ñá «¡á ¡Ñ ¼«ªÑΓ ¡áτáΓ∞ óδ»«½¡Ñ¡¿Ñ.
  84.  
  85.  
  86.           äóá ßΓѬá äÄæ.
  87.      -----------------------------------------------------------------
  88.  
  89.           äÄæ »«ññÑনóáÑΓ  ñóá  ßΓѬá.è«úñá  äÄæ  óδ»«½¡∩ÑΓ  «ñ¡π  ¿º
  90.      Σπ¡¬µ¿⌐ ß ¡«¼Ñα«¼ «Γ 0  ñ«  12,  ¿ß»«½∞ºπÑΓß∩  »Ñαóδ⌐  ßΓѬ;  »α¿
  91.      óδ»«½¡Ñ¡¿¿ ñαπú¿σ  Σπ¡¬µ¿⌐  ¿ß»«½∞ºπÑΓß∩  óΓ«α«⌐.  äÄæ  ß«σαá¡∩ÑΓ
  92.      º¡áτÑ¡¿Ñ ßÑú¼Ñ¡Γ¡«ú« αÑú¿ßΓαá ßΓѬᠿ αÑú¿ßΓαá ß¼ÑΘÑ¡¿∩ ßΓѬá ñ½∩
  93.      ¬áªñ«⌐  úαπ»»δ  Σπ¡¬µ¿⌐  «Γñѽ∞¡«;  ¡«  αÑÑ¡ΓÑαáíѽ∞¡δσ  Σπ¡¬µ¿⌐,
  94.      «ñ¡á¬«, ¡ÑΓ.  æ«σαá¡Ñ¡¡δÑ º¡áτÑ¡¿Ñ αÑú¿ßΓα«ó  »α¿  »Ñαó«¼  ó맮óÑ
  95.      Σπ¡¬µ¿¿ ¼«úπΓ íδΓ∞ ºáΓÑαΓδ »α¿ ß½ÑñπεΘѼ ó맮óÑ.
  96.  
  97.           äÄæ ½πτΦÑ «»αÑñѽ¿Γ∞ ¬á¬ »«½παÑÑ¡ΓÑαáíѽ∞¡πε. Åα¿ »αÑαδóá¡¿¿
  98.      óδ»«½¡Ñ¡¿∩ Σπ¡¬µ¿⌐ 0-12 íѺ«»áß¡« óδºδóáΓ∞ «ßΓá½∞¡δÑ  Σπ¡¬µ¿¿,  ¿
  99.      ¡á«í«α«Γ.
  100.  
  101.           î«ª¡« ½Ñú¬«   ¿ºíѪáΓ∞   ¿ß»«½∞º«óá¡¿∩   Σπ¡¬µ¿⌐  0-12.  Ä¡¿
  102.      »αÑñ¡áº¡áτÑ¡δ ñ½∩ «αúá¡¿ºáµ¿¿ ¬«¡ß«½∞¡«ú« óó«ñá ¿ óδó«ñá. ì« ÑßΓ∞
  103.      ¼¡«ú« ñαπú¿σ ß»«ß«í«ó,  τΓ«íδ π»αáó½∩Γ∞ ¬½áó¿áΓπα«⌐ ¿ φ¬αá¡«¼,  ¿
  104.      τáßΓÑ¡∞¬« «¡¿ αáí«ΓáεΓ  ½πτΦÑ,  τѼ  Σπ¡¬µ¿¿  äÄæ.  êß»«½∞º«óá¡¿∩
  105.      «ßΓá½∞¡δσ Σπ¡¬µ¿⌐  ¡Ñ  Γá¬-Γ« ½Ñú¬« ¿ºíѪáΓ∞.  æ ¿σ »«¼«Θ∞ε ¼«ª¡«
  106.      ñѽáΓ∞ ¼¡«ú«Ñ ¿º Γ«ú«, τΓ« ¡πª¡« ó αѺ¿ñÑ¡Γ¡«⌐ »α«úαá¼¼Ñ, ó¬½ετá∩
  107.      π»αáó½Ñ¡¿Ñ Σá⌐½á¼¿.
  108.  
  109.           àß½¿ óδ  ¼«ªÑΓÑ  ¿ºíѪáΓ∞  ¿ß»«½∞º«óá¡¿Ñ  Σπ¡¬µ¿⌐  0-12,  ¡«
  110.      ¡πªñáÑΓѽ∞ ó «ßΓá½∞¡δσ Σπ¡¬µ¿∩σ,  Γ«  ß¿Γπᵿ∩  ß  ñóπ¼∩  ßΓѬἿ
  111.      αáí«ΓáÑΓ ¡á óáß.  Åα¿ πóÑαÑ¡¡«ßΓ¿, τΓ« »αÑαδóá¡¿∩ »« ó맮óπ óáΦÑ⌐
  112.      »α«úαá¼¼δ íπñπΓ »α«¿ßσ«ñ¿Γ∞ ¡Ñ ó«  óαѼ∩  αáí«Γδ  Σπ¡¬µ¿⌐  óΓ«α«⌐
  113.      úαπ»»δ,  »α«í½Ñ¼δ  αÑÑ¡ΓÑαáíѽ∞¡«ßΓ¿  ¡Ñ ßπΘÑßΓóπÑΓ. çáñáτπ ¼«ª¡«
  114.      αÑΦ¿Γ∞ πßΓá¡«ó¬«⌐  Σ½áª¬á  óó«ñá  "ú«α∩τÑú«  ¬½ετá"  ¿  «ª¿ñ᡿Ѽ
  115.      «¬«¡τá¡¿∩  αáí«Γδ  ¡ÑíѺ«»áß¡δσ  Σπ¡¬µ¿⌐ äÄæ,  Ñß½¿ Γᬫóá∩ ¿¼ÑÑΓ
  116.      ¼ÑßΓ«. ¥Γ¿ Σπ¡¬µ¿¿ αáí«ΓáεΓ íδßΓα«,  ΓᬠτΓ« í«½∞Φ«⌐ ºáñÑ᪬¿  ¡Ñ
  117.      »«½πτ¿Γß∩.
  118.  
  119.                              - 4 -
  120.  
  121.           ÆÑ»Ñα∞ «ßΓá½∞ß∞ πº¡áΓ∞, ¬á¬¿¼ ß»«ß«í«¼ »«½πτ¿Γ∞ ¿¡Σ«α¼áµ¿ε «
  122.      ó«º¼«ª¡«ßΓ¿ ¿ß»«½∞º«óáΓ∞ äÄæ. Æá¬πε ¿¡Σ«α¼áµ¿ε ß«ñÑαª¿Γ ß¿ßΓѼ¡δ⌐
  123.      Σ½áª«¬ ºá¡∩Γ«ßΓ¿.
  124.  
  125.  
  126.  
  127.           æ¿ßΓѼ¡δ⌐ Σ½áª«¬ ºá¡∩Γ«ßΓ¿ (0σ34).
  128.      -----------------------------------------------------------------
  129.  
  130.           öπ¡¬µ¿∩ äÄæ 0σ34  ó«ºóαáΘáÑΓ  ßÑú¼Ñ¡Γ¡δ⌐  áñαÑß  ¿  ß¼ÑΘÑ¡¿Ñ
  131.      ß»Ñµ¿á½∞¡«ú« Σ½áúá ó »á¼∩Γ¿,  »«ññÑনóáѼ«ú« äÄæ.  Ä¡ ¡áºδóáÑΓß∩
  132.      ß¿ßΓѼ¡δ¼ Σ½áª¬«¼ ºá¡∩Γ«ßΓ¿. ¥Γ«Γ Σ½áú πßΓá¡áó½¿óáÑΓß∩, ¬«úñá äÄæ
  133.      óδ»«½¡∩ÑΓ «ñ¡π  ¿º ßó«¿σ "¡ÑíѺ«»áß¡δσ" Σπ¡¬µ¿⌐.  Å«ß½Ñ óδσ«ñá ¿º
  134.      Σπ¡¬µ¿¿ äÄæ «τ¿ΘáÑΓ Σ½áú.
  135.  
  136.           Åα¿ »Ñαó«¼ ºá»π߬ѠTSR-»α«úαá¼¼δ «¡á ¿ß»«½∞ºπÑΓ  Σπ¡¬µ¿ε äÄæ
  137.      0σ34  ñ½∩  ¡áσ«ªñÑ¡¿∩  ¿  ºá»«¼¿¡á¡¿∩  áñαÑßá  ß¿ßΓѼ¡«ú«  Σ½áª¬á
  138.      ºá¡∩Γ«ßΓ¿.  Åα¿   ¬áªñ«¼   »αÑαδóá¡¿¿   «Γ   ß¿ßΓѼ¡«ú«   Γá⌐¼Ñαá
  139.      «íαáí«Γτ¿¬, ¡áσ«ñ∩Θ¿⌐ß∩ ó TSR-»α«úαá¼¼Ñ, »α«óÑα∩ÑΓ ¡á½¿τ¿Ñ Σ½áª¬á
  140.      "ú«α∩τÑú« ¬½ετá",  πßΓá¡áó½¿óáѼ«ú«  «íαáí«Γτ¿¬«¼  »αÑαδóá¡¿∩  «Γ
  141.      ¬½áó¿áΓπαδ, ¿ «ΓßπΓßΓó¿Ñ ß¿ßΓѼ¡«ú« Σ½áª¬á ºá¡∩Γ«ßΓ¿. Åα¿ ¡á½¿τ¿¿
  142.      φΓ¿σ ñóπσ πß½«ó¿⌐ «íαáí«Γτ¿¬ Γá⌐¼Ñαá ßíαáßδóáÑΓ  Σ½áª«¬ "ú«α∩τÑú«
  143.      ¬½ετá" ¿ ºá»π߬áÑΓ «ß¡«ó¡πε τáßΓ∞ TSR-»α«úαá¼¼δ.
  144.  
  145.           Æá¬á∩ »α«µÑñπαá  óαѼѡἿ  ßαáíáΓδóáÑΓ.  ì«  óαѼѡἿ  äÄæ
  146.      «ßΓáÑΓß∩  ºá¡∩Γ«⌐,  »«¬á  »«½∞º«óáΓѽ∞   ºá¡∩Γ   τѼ-Γ«   ñαπú¿¼,
  147.      ¡á»α¿¼Ñα, ¡áí¿αáÑΓ  ß¿¼ó«½δ ó ¬«¼á¡ñ¡«⌐ ßΓ᫬Ñ.  àß½¿ »α¿ φΓ«¼ «¡
  148.      ¡áª¼ÑΓ "ú«α∩τ¿⌐ ¬½ετ",  Γ« «íαáí«Γτ¿¬ ¬½áó¿áΓπαδ  πßΓá¡«ó¿Γ  Σ½áú
  149.      "ú«α∩τÑú«  ¬½ετá",  ¡«  «íαáí«Γτ¿¬  Γá⌐¼Ñαá  ¡¿¬«úñá  ¡Ñ ºá»πßΓ¿Γ
  150.      TSR-»α«úαá¼¼π. ùΓ«íδ í«α«Γ∞ß∩ ó Γᬿσ πß½«ó¿∩σ, ¡áñ« ¿ß»«½∞º«óáΓ∞
  151.      óÑ¬Γ«α »αÑαδóá¡¿∩ DOSOK.
  152.  
  153.  
  154.           ÅαÑαδóá¡¿Ñ DOSOK.
  155.      -----------------------------------------------------------------
  156.  
  157.  
  158.                              - 5 -
  159.           ùáßΓ« ¡áßΓπ»áεΓ   »Ñα¿«ñδ,   ¬«úñá   äÄæ  ºá¡∩Γá,  ¡«  ¼«ª¡«
  160.      ¿ß»«½∞º«óáΓ∞ óΓ«απε úαπ»»π Σπ¡¬µ¿⌐;  ¡á»α¿¼Ñα,  ¬«úñá äÄæ «ª¿ñáÑΓ
  161.      óó«ñá ßΓ᫬¿ ß¿¼ó«½«ó. é φΓ«¼ ß½πτáÑ äÄæ óδºδóáÑΓ »αÑαδóá¡¿Ñ 0σ28
  162.      - DOSOK.  ûѽ∞ φΓ«ú« - ¿ºóÑßΓ¿Γ∞  TSR-»α«úαá¼¼π  (ó  τáßΓ¡«ßΓ¿  -
  163.      ß¿ßΓѼ¡δ⌐  ß»π½Ñα  PRINT.COM  ),  «  Γ«¼,  τΓ« ¼«ª¡« ¿ß»«½∞º«óáΓ∞
  164.      Σπ¡¬µ¿¿ óΓ«α«⌐ úαπ»»δ.  àß½¿ ¡¿¬á¬á∩ »α«úαἼᠡѠ »α¿¬αÑ»½Ñ¡á  ¬
  165.      φΓ«¼π »αÑαδóá¡¿ε,   «¡«   »α«ßΓ«   π¬áºδóáÑΓ   ¡á  ¬«¼á¡ñπ  IRET.
  166.      ÅαÑαδóá¡¿Ñ 0σ28    -    »α«úαá¼¼¡«Ñ    »αÑαδóá¡¿Ñ;    «íαáí«Γτ¿¬,
  167.      »α¿¬αÑ»½Ñ¡¡δ⌐  ¬  ¡Ñ¼π,  íπñÑΓ  óδºδóáΓ∞ß∩ ¿º ñαπú«⌐ »α«úαá¼¼δ »«
  168.      ¬«¼á¡ñÑ INT 0σ28.
  169.  
  170.           TSR-»α«úαá¼¼δ ¼«úπΓ  »α¿¬αÑ»½∩Γ∞ß∩  ¬  »αÑαδóá¡¿ε  DOSOK   ¿
  171.      ¿ß»«½∞º«óáΓ∞ Ñú« ñ½∩ «í¡áαπªÑ¡¿∩ ºá¡∩Γ«ßΓ¿ äÄæ.  Äíαáí«Γτ¿¬ φΓ«ú«
  172.      »αÑαδóá¡¿∩ ¿º TSR-»α«úαá¼¼δ »α«óÑα∩ÑΓ πßΓá¡«ó¬π  Σ½áª¬á "ú«α∩τÑú«
  173.      ¬½ετá"  ¿  ó  ºáó¿ß¿¼«ßΓ¿ «Γ Ñú« º¡áτÑ¡¿∩ ½¿í« ºá»π߬áÑΓ «ß¡«ó¡πε
  174.      τáßΓ∞  TSR-»α«úαá¼¼δ;  ½¿í«  ó«ºóαáΘáÑΓ   π»αáó½Ñ¡¿Ñ   »α«úαá¼¼Ñ,
  175.      óδºóáóΦÑ⌐  φΓ« »αÑαδóá¡¿Ñ,  ¿½¿ »α«úαá¼¼Ñ,  αá¡ÑÑ »α¿¬αÑ»½Ñ¡¡«⌐ ¬
  176.      φΓ«¼π »αÑαδóá¡¿ε.
  177.  
  178.           ÅαÑαδóá¡¿Ñ DOSOK óδºδóáÑΓß∩  ó  ß½πτáÑ,  ¬«úñá  äÄæ  ºá¡∩Γá;
  179.      «ñ¡á¬«  TSR-»α«úαá¼¼á,  óδºóá¡¡á∩  ó  φΓ«  óαѼ∩,  ¡Ñ  ¼«ªÑΓ íδΓ∞
  180.      »αÑαóá¡á  ñαπú«⌐  Γᬫ⌐  ªÑ   »α«úαá¼¼«⌐   ñ«   ΓÑσ   »«α,   »«¬á
  181.      óδ»«½¡∩εΘá∩ß∩  TSR-»α«úαἼᠠ¡Ñ  ßñѽáÑΓ  ó맮ó »αÑαδóá¡¿∩ 0σ28.
  182.      Åα¿τ¿¡á  φΓ«ú«  «úαá¡¿τÑ¡¿∩  ó  Γ«¼,  τΓ«  ¬«úñá   äÄæ   óδºδóáÑΓ
  183.      »αÑαδóá¡¿Ñ  DOSOK,  Σ½áª«¬  ºá¡∩Γ«ßΓ¿ äÄæ «ßΓáÑΓß∩ πßΓá¡«ó½Ñ¡¡δ¼.
  184.      Åα¿ óδ»«½¡Ñ¡¿¿ TSR-»α«úαá¼¼δ  «¡  ¡Ñ  ¼Ñ¡∩ÑΓ  º¡áτÑ¡¿∩,  ¿,  Ñß½¿
  185.      »«½∞º«óáΓѽ∞ ¡áª¼ÑΓ  "ú«α∩τ¿⌐ ¬½ετ" ñ½∩ ñαπú«⌐ TSR-»α«úαá¼¼δ,  ÑÑ
  186.      «íαáí«Γτ¿¬  Γá⌐¼Ñαá  íπñÑΓ  «ª¿ñáΓ∞,  »«¬á  Σ½áª«¬  ºá¡∩Γ«ßΓ¿  ¡Ñ
  187.      ßíα«ß¿Γß∩. Ç    φΓ«    ¡Ñ    ß½πτ¿Γß∩    ñ«   «¬«¡τá¡¿∩   ΓѬπΘÑ⌐
  188.      TSR-»α«úαá¼¼δ. Æá¬á∩  ß¿Γπᵿ∩  óßÑúñá   ß½πτáÑΓß∩   »α¿   ó맮óÑ
  189.      TSR-»α«úαá¼¼δ   ó   ¼«¼Ñ¡Γ,   ¬«úñá  äÄæ  «ª¿ñáÑΓ  óó«ñá  ¬«¼á¡ñδ
  190.      »«½∞º«óáΓѽ∩.
  191.  
  192.           ÉѺ¿ñÑ¡Γ¡á∩ »α«úαá¼¼á,   τΓ«íδ   αáºαÑΦ¿Γ∞   »αÑαóáΓ∞   ßó«Ñ
  193.      óδ»«½¡Ñ¡¿Ñ  ñαπú«⌐ Γᬫ⌐ ªÑ »α«úαá¼¼Ñ,  ñ«½ª¡á óδºóáΓ∞ »αÑαδóá¡¿Ñ
  194.      DOSOK ó »«ñσ«ñ∩ΘÑÑ óαѼ∩.  ïπτΦÑ óßÑú« φΓ« ßñѽáΓ∞, ¬«úñá ΓѬπΘá∩
  195.      »α«úαἼᠫª¿ñáÑΓ óó«ñá ßΓ᫬¿ «Γ »«½∞º«óáΓѽ∩.  àß½¿ óδ «íαáΓ¿½¿
  196.  
  197.                              - 6 -
  198.      ó¡¿¼á¡¿Ñ, Σπ¡¬µ¿∩ get_char ¿º ú½áóδ 4 óδºδóáÑΓ »αÑαδóá¡¿Ñ 0σ28 ó«
  199.      óαѼ∩ «ª¿ñá¡¿∩ óó«ñá ßΓ᫬¿. ¥Γ« ñѽáÑΓß∩ ñ½∩ »«ññÑ᪬¿ ¬«¡µÑ»µ¿¿
  200.      αѺ¿ñÑ¡Γ¡δσ »α«úαá¼¼,  «»¿ßá¡¡«⌐ ó φΓ«⌐ ú½áóÑ  ¿  ¿ß»«½∞ºπѼ«⌐  ó
  201.      ú½áóÑ 12.
  202.  
  203.  
  204.           ä¿ß¬«ó«Ñ »αÑαδóá¡¿Ñ ROM-BIOS.(0σ13)
  205.      -----------------------------------------------------------------
  206.  
  207.           ä¿ß¬«óδÑ «»Ñαᵿ¿   ¡Ñ½∞º∩   »αÑαδóáΓ∞  ¿º-ºá  ó«º¡¿¬¡«óÑ¡¿∩
  208.      «Φ¿í«¬ ó   »αÑαóá¡¡«⌐   »α«úαá¼¼Ñ.    ùΓ«íδ    ¿ºíѪáΓ∞    φΓ«ú«,
  209.      TSR-»α«úαá¼¼á ñ«½ª¡á »α¿ß«Ññ¿¡¿Γ∞ ßÑí∩ ¬ ñ¿ß¬«ó«¼π »αÑαδóá¡¿ε ROM
  210.      -BIOS 0σ13. àß½¿ ¬á¬«⌐-½¿í« »α«µÑßß óδºδóáÑΓ φΓ« »αÑαδóá¡¿Ñ, TSR-
  211.      »α«úαἼᠠπßΓá¡áó½¿óáÑΓ  Σ½áú  ¿  ºáΓѼ  »ÑαÑñáÑΓ  π»αáó½Ñ¡¿Ñ »«
  212.      ßΓáα«¼π áñαÑßπ  »αÑαδóá¡¿∩.  è«úñá  «íαáí«Γ¬á   »αÑαδóá¡¿∩   0σ13
  213.      ºáóÑαΦáÑΓß∩, TSR-»α«úαἼᠠ«τ¿ΘáÑΓ  Σ½áú.  ¥Γ«Γ Σ½áú »α«óÑα∩ÑΓß∩
  214.      ISR Γá⌐¼Ñαá ¿ DOSOK.  àß½¿ »α«¿ºó«ñ¿Γß∩ ñ¿ß¬«óá∩ «»Ñαᵿ∩, Γ« TSR
  215.      ¡Ñ αáºαÑΦáÑΓ »αÑαδóá¡¿Ñ.
  216.  
  217.           ÅαÑαδóá¡¿Ñ Γ∩ªÑ½«⌐ «Φ¿í¬¿ ó äÄæ.(0σ24)
  218.  
  219.           Åα¿ ó«º¡¿¬¡«óÑ¡¿¿  Γ∩ªÑ½«⌐  «Φ¿í¬¿  äÄæ  óδºδóáÑΓ »αÑαδóá¡¿Ñ
  220.      0σ24. ìá»α¿¼Ñα, »α¿ «íαáΘÑ¡¿¿ ¬ ñ¿ß¬ÑΓÑ ó «Γ¬αδΓ«¼ ñ¿ß¬«ó«ñÑ, äÄæ
  221.      «í¡áαπª¿óáÑΓ ß«ßΓ«∩¡¿Ñ ¡Ñú«Γ«ó¡«ßΓ¿ ¿ óδºδóáÑΓ »αÑαδóá¡¿Ñ Γ∩ªÑ½«⌐
  222.      «Φ¿í¬¿. àß½¿ »α«úαἼᠡѠ»α¿ß«Ññ¿¿½á ßÑí∩ ¬  óÑ¬Γ«απ  0σ24,  óßÑ
  223.      ¬α¿Γ¿τÑ߬¿Ñ   «Φ¿í¬¿   íπñπΓ   «íαáíáΓδóáΓ∞ß∩   ISR  ó  ¬«¼á¡ñ¡«¼
  224.      »α«µÑßß«αÑ äÄæ.  Ä¡ óδñáÑΓ ß««íΘÑ¡¿Ñ "Abort,Retry,  or Ignore" ¡á
  225.      φ¬αá¡. ISR   ó«ºóαáΘáÑΓ  ó  äÄæ  º¡áτÑ¡¿Ñ,  «»αÑñѽ∩εΘÑÑ  »«α∩ñ«¬
  226.      ñá½∞¡Ñ⌐ΦÑ⌐ «íαáí«Γ¬¿.
  227.  
  228.           ÅαÑñ»«½«ª¿¼, τΓ« ¡¿ «ñ¡á »α«úαἼᠡѠ»α¿ß«Ññ¿¡Ñ¡á ¬ óÑ¬Γ«απ
  229.      0σ24. éáΦá  TSR  »αÑαδóáÑΓ  ¡ÑαѺ¿ñÑ¡Γ¡πε  »α«úαá¼¼π,  ¿ »δΓáÑΓß∩
  230.      »α«τ¿ΓáΓ∞ ñ¿ß¬ÑΓπ ¿º «Γ¬αδΓ«ú« ñ¿ß¬«ó«ñá. è«¼á¡ñ¡δ⌐ »α«µÑßß«α äÄæ
  231.      »ÑαÑσóáΓδóáÑΓ π»αáó½Ñ¡Ñ¿Ñ ¿ ºá»αáΦ¿óáÑΓ »«½∞º«óáΓѽ∩ « ñá½∞¡Ñ⌐Φ¿σ
  232.      ñÑ⌐ßΓó¿∩σ. Å«½∞º«óáΓѽ∞  «ΓóÑτáÑΓ  "A"  (Abort-»αÑαóáΓ∞),  ¿  äÄæ
  233.      »δΓáÑΓß∩ »αÑαóáΓ∞ óδ»«½¡Ñ¡¿Ñ »α«úαá¼¼δ. àß½¿ óáΦá TSR »ÑαѬ½ετ¿½á
  234.      áñαÑß PSP,  Γ« äÄæ íπñÑΓ »δΓáΓ∞ß∩ »αÑαóáΓ∞ TSR. äÄæ ¡Ñ º¡áÑΓ, τΓ«
  235.  
  236.                              - 7 -
  237.      ó   »á¼∩Γ¿   ¡áσ«ñ¿Γß∩   ¡ÑαѺ¿ñÑ¡Γ¡á∩   »α«úαἼᠠ󠠻αÑαóá¡¡«¼
  238.      ß«ßΓ«∩¡¿¿, ¿ ¡Ñ ó«ºóαáΘáÑΓ Ñ⌐ π»αáó½Ñ¡¿Ñ.  æ¿ßΓѼᠽ«¼áÑΓß∩. àß½¿
  239.      TSR ¡Ñ »ÑαѬ½ετá½á PSP,  Γ« äÄæ ºáóÑαΦáÑΓ ¡ÑαѺ¿ñÑ¡Γ¡πε »α«úαá¼¼π
  240.      ¿ ¡Ñ ó«ºóαáΘáÑΓ π»αáó½Ñ¡¿Ñ TSR.
  241.  
  242.           ÅαÑñ»«½«ª¿¼, τΓ« ¡ÑαѺ¿ñÑ¡Γ¡á∩  »α«úαἼᠠ»α¿ß«Ññ¿¡¿½áß∞  ¬
  243.      óÑ¬Γ«απ   0σ24.   ä¿ß¬«óá∩   «Φ¿í¬á  ó  óáΦÑ⌐  »α«úαἼѠ ó맮óÑΓ
  244.      ¿ß»«½¡Ñ¡¿Ñ «íαáí«Γτ¿¬á Γ∩ªÑ½«⌐ «Φ¿í¬¿ ¿º »αÑαóá¡¡«⌐ ¡ÑαѺ¿ñÑ¡Γ¡«⌐
  245.      »α«úαá¼¼δ.
  246.  
  247.           TSR ñ«½ª¡á  »α¿ß«Ññ¿¡∩Γ∞ß∩  ¬  óÑ¬Γ«απ  0σ24 ó ½εí«¼ ß½πτáÑ,
  248.      íπñÑΓ ½¿ ¿½¿ ¡Ñ íπñÑΓ ó ¡Ñ⌐ ¬á¬á∩-½¿í« «íαáí«Γ¬á  «Φ¿í«¬.  éÑ¬Γ«α
  249.      »α¿ß«Ññ¿¡∩ÑΓß∩ »α¿ "óß»½δΓ¿¿" TSR ¿ ó«ßßΓá¡áó½¿óáÑΓß∩ ¡á Γ«Γ, τΓ«
  250.      íδ½, »α¿ ó«ºóαáΘÑ¡¿¿ π»αáó½Ñ¡¿∩ ó »αÑαóá¡¡πε  »α«úαá¼¼π.  ì¿¬á¬¿Ñ
  251.      «íßΓ«∩Γѽ∞ßΓóá  ¡Ñ  ñ«½ª¡δ  ºáßΓáó¿Γ∞  TSR  »α«ß¿Γ∞  äÄæ »αÑαóáΓ∞
  252.      «íαáí«Γ¬π. ü«½∞Φ¿¡ßΓó« TSR-»α«úαá¼¼ »α«ßΓ«  ¿ú¡«α¿απεΓ  «Φ¿í¬¿  ¿
  253.      ú«ó«α∩Γ äÄæ  ΓᬪѠ¿σ ¿ú¡«α¿α«óáΓ∞.  ÅαÑαδóá¡¿Ñ Γ∩ªÑ½«⌐ «Φ¿í¬¿ ¡Ñ
  254.      ßó∩ºδóáÑΓß∩ ó µÑ»«τ¬¿ - φΓ«  «»áß¡«.  àß½¿  ñαπúá∩  TSR-»α«úαá¼¼á
  255.      (¡á»α¿¼Ñα,  ß»π½Ñα)  »α¿ß«Ññ¿¡¿½á  ¬  ßÑíÑ  óÑ¬Γ«α 0σ24 ¿ óδºóá¡á
  256.      »«ß½Ñ óáΦÑ⌐ TSR,  «¡á »«½πτ¿Γ óáΦ¿ «Φ¿í¬¿.  àß½¿ ªÑ φΓá »α«úαá¼¼á
  257.      íδ½á  óδºóá¡á  ñ«  óáΦÑ⌐  TSR,  Γ« óδ íπñÑΓÑ »«½πτáΓ∞ ÑÑ «Φ¿í¬¿ ¿
  258.      ú«ó«α¿Γ∞ äÄæ ¿ú¡«α¿α«óáΓ∞ ¿σ,  τΓ«  ∩ó½∩ÑΓß∩  »α«í½Ñ¼«⌐,  ¬«Γ«απε
  259.      ¡Ñ½∞º∩    αáºαÑΦ¿Γ∞   íѺ   ¡á»¿ßá¡¿∩   ß¿ßΓѼ¡«-«α¿Ñ¡Γ¿α«óá¡¡«ú«
  260.      «íαáí«Γτ¿¬á «Φ¿í«¬.
  261.  
  262.  
  263.           ÅαÑαδóá¡¿Ñ Ctrl-Break ó äÄæ.(0σ23)
  264.      -----------------------------------------------------------------
  265.  
  266.           Åα¿ ¡áªáΓ¿¿ »«½∞º«óáΓѽѼ ¬½áó¿Φ Ctrl-Break  äÄæ  «Γ«íαáªáÑΓ
  267.      ¡á  φ¬αá¡Ñ  ó  ΓѬπΘÑ⌐  »«º¿µ¿¿  ¬παß«αá  ß¿¼ó«½δ  ^C  ¿ óδºδóáÑΓ
  268.      »αÑαδóá¡¿Ñ 0σ23.  Äíαáí«Γτ¿¬ φΓ«ú« »αÑαδóá¡¿∩,  ¿¼ÑεΘ¿⌐ß∩ ó  äÄæ,
  269.      óδºδóáÑΓ ¡Ñ¼Ññ½Ñ¡¡«Ñ  ºáóÑαΦÑ¡¿Ñ ΓѬπΘÑ⌐ »α«úαá¼¼δ. TSR-»α«úαá¼¼π
  270.      ºáóÑαΦáΓ∞  Γᬿ¼  ß»«ß«í«¼   ¡Ñ½∞º∩:   ß½¿Φ¬«¼   ¼¡«ú«   óÑ¬Γ«α«ó
  271.      »αÑαδóá¡¿⌐  »α¿¬αÑ»½Ñ¡«  ¬  ¡Ñ⌐,  ¿ ¡ÑαѺ¿ñÑ¡Γ¡á∩ »α«úαἼᠼ«ªÑΓ
  272.      ¡áσ«ñ¿Γ∞ß∩ ó »á¼∩Γ¿ ºá ¡Ñ⌐.  àß½¿ óδ  »α«ßΓ«  »α«¿ú¡«α¿απÑΓÑ  φΓ«
  273.      »αÑαδóá¡¿Ñ,  ¿¼ÑÑΓß∩ α¿ß¬,  τΓ« ñαπúá∩ »α«úαá¼¼á,  ºáúαπªÑ¡¡á∩ ºá
  274.  
  275.                              - 8 -
  276.      óáΦÑ⌐,  »α¿ß«Ññ¿¡¿Γ ßÑí∩ ¬  φΓ«¼π  »αÑαδóá¡¿ε  ¿  ßñѽáÑΓ  τΓ«-Γ«
  277.      ¡Ñ»«ñσ«ñ∩ΘÑÑ  »α¿  ¡áªáΓ¿¿  ¬½áó¿Φ Ctrl-Break ó« óαѼ∩ óδ»«½¡Ñ¡¿∩
  278.      óáΦÑ⌐ »α«úαá¼¼δ.
  279.  
  280.           é äÄæ ¿¼ÑÑΓß∩ Σπ¡¬µ¿∩ (0σ33),  ¬«Γ«αá∩  »«ºó«½∩ÑΓ  »α«úαá¼¼Ñ
  281.      τ¿ΓáΓ∞  ΓѬπΘ¿⌐ ßΓáΓπß (αáºαÑΦÑ¡«/ºá»αÑΘÑ¡«) «íαáí«Γ¬¿ Ctrl-Break
  282.      ¿  πßΓá¡áó½¿óáΓ∞  Ñú«.  Åα¿  ó맮óÑ  TSR-»α«úαá¼¼δ   «¡á   ñ«½ª¡á
  283.      »α«τ¿ΓáΓ∞  ΓѬπΘÑÑ º¡áτÑ¡¿Ñ ßΓáΓπßá,  ¿ ºáΓѼ ºá»αÑΓ¿Γ∞ «íαáí«Γ¬π
  284.      Ctrl-Break.  Åα¿ ºáóÑαΦÑ¡¿¿ ßó«Ñ⌐ αáí«Γδ TSR ñ«½ª¡á  ó«ßßΓá¡«ó¿Γ∞
  285.      º¡áτÑ¡¿Ñ ßΓáΓπßá  «íαáí«Γ¬¿  Ctrl-Break.  Åα¿ß«Ññ¿¡∩Γ∞ß∩  ¬ φΓ«¼π
  286.      »αÑαδóá¡¿ε ¡ÑΓ ¡Ñ«íσ«ñ¿¼«ßΓ¿.
  287.  
  288.           Å«ß½Ñ Γᬿσ ñÑ⌐ßΓó¿⌐ óáΦÑ⌐ TSR ó ß½πτáÑ  ¡áªáΓ¿¿  Ctrl-Break
  289.      ó« óαѼ∩ ÑÑ óδ»«½¡Ñ¡¿∩, »«ß½Ñ ó«ºóαáΓá ó »αÑαóá¡¡πε »α«úαá¼¼π «¡á
  290.      íπñÑΓ ºá¬«¡τѡᠠäÄæ.  àß½¿  óßÑ  TSR  íπñπΓ  ¿ß»«½∞º«óáΓ∞  Γᬫ⌐
  291.      ß»«ß«í,  Γ«  ºáóÑαΦáΓ∞ß∩ »« Ctrl-Break íπñπΓ Γ«½∞¬« ¡ÑαѺ¿ñÑ¡Γ¡δÑ
  292.      »α«úαá¼¼δ.
  293.  
  294.  
  295.           éδ»«½¡Ñ¡¿Ñ TSR-»α«úαá¼¼δ.
  296.      -----------------------------------------------------------------
  297.  
  298.           éδ»«½¡Ñ¡¿Ñ TSR-»α«úαá¼¼δ »α«σ«ñ¿Γ ó ñóá φΓá»á. ÅÑαóδ⌐ φΓá» -
  299.      ¬«úñá »«½∞º«óáΓѽ∞  ºá»π߬áÑΓ  ÑÑ ¿º ¬«¼á¡ñ¡«⌐ ßΓ᫬¿.  Åα«úαá¼¼á
  300.      óδ»«½¡∩ÑΓ  ¿¡¿µ¿á½¿ºáµ¿«¡¡δ⌐  ¬«ñ,   ß«σαá¡∩ÑΓ   ßó«⌐   ¬«¡ΓѬßΓ,
  301.      »α¿ß«Ññ¿¡∩ÑΓ ßÑí∩ ¬ »αÑαδóá¡¿∩¼,  Ñß½¿ φΓ« ¡πª¡«, ¿ ºáóÑαΦáÑΓß∩ ß
  302.      ¿ß»«½∞º«ó᡿Ѽ Σπ¡¬µ¿¿  äÄæ  TSR,  Γᬿ¼  «íαẫ¼  «íΩ∩ó½∩∩  ßÑí∩
  303.      αѺ¿ñÑ¡Γ¡«⌐.
  304.  
  305.           éΓ«α«⌐ φΓá»  -  ¬«úñá TSR-»α«úαἼᠺá»π߬áÑΓß∩ ó αѺπ½∞ΓáΓÑ
  306.      «ñ¡«ú« ¿º »αÑαδóá¡¿⌐,  ¬ ¬«Γ«α«¼π «¡á »α¿¬αÑ»¿½áß∞. é í«½∞Φ¿¡ßΓóÑ
  307.      ß½πτáÑó,  óÑ¬Γ«αδ »αÑαδóá¡¿⌐ ßó∩ºδóáεΓß∩ ó µÑ»«τ¬¿,  ¬á¬ φΓ« í佫
  308.      «»¿ßá¡« αá¡ÑÑ.  Åα«úαἼᠫ»αÑñѽ∩ÑΓ,  ¼«ªÑΓ ½¿ «¡á óδ»«½¡∩Γ∞ß∩ -
  309.      φΓ«  ºáó¿ß¿Γ «Γ ß«ßΓ«∩¡¿∩ ¡Ñ¬«Γ«αδσ ó᪡δσ ß¿ßΓѼ¡δσ ¿¡ñ¿¬áΓ«α«ó,
  310.      «»¿ßá¡¡δσ  óδΦÑ.  àß½¿  «¡á  ¼«ªÑΓ  óδ»«½¡∩Γ∞ß∩,  «¡á   ß«σαá¡∩ÑΓ
  311.      ¬«¡ΓѬßΓ  »αÑαóá¡¡«⌐ »α«úαá¼¼δ,  ó«ßßΓá¡áó½¿óáÑΓ ßó«⌐ ß«íßΓóÑ¡¡δ⌐
  312.      ¬«¡ΓѬßΓ,  óδ»«½¡∩ÑΓ  ßó«ε   ºáñáτπ,   ó«ßßΓá¡áó½¿óáÑΓ   ¬«¡ΓѬßΓ
  313.  
  314.                              - 9 -
  315.      »αÑαóá¡¡«⌐ »α«úαá¼¼δ, ¿ »ÑαÑñáÑΓ Ñ⌐ π»αáó½Ñ¡¿Ñ.
  316.  
  317.  
  318.  
  319.                çáóÑαΦÑ¡¿Ñ TSR-»α«úαá¼¼δ.
  320.      -----------------------------------------------------------------
  321.  
  322.           î«úπΓ íδΓ∞ »α¿τ¿¡δ,  »« ¬«Γ«αδ¼ óδ ¼«ªÑΓÑ ºáσ«ΓÑΓ∞ ºáóÑαΦ¿Γ∞
  323.      TSR-»α«úαá¼¼π, τΓ«  «Γ¡εñ∞ ¡Ñ ∩ó½∩ÑΓß∩ ½Ñú¬«⌐ ºáñáτÑ⌐. éß»«¼¡¿ΓÑ,
  324.      óÑñ∞ äÄæ ¡Ñ º¡áÑΓ ¡¿τÑú« « »α«úαá¼¼Ñ,  «ßΓáóΦÑ⌐ß∩ αѺ¿ñÑ¡Γ¡«⌐,  ¿
  325.      óá¼ ßἿ¼ ¡áñ« ßñѽáΓ∞ óßÑ Γ«, τΓ« «íδτ¡« ñѽáÑΓ äÄæ »« «Γ¡«ΦÑ¡¿ε
  326.      ¬ «íδτ¡δ¼ ¡ÑαѺ¿ñÑ¡Γ¡δ¼ »α«úαá¼¼á¼.
  327.  
  328.           çáóÑαΦÑ¡¿Ñ TSR-»α«úαá¼¼δ ó¬½ετáÑΓ ó ßÑí∩ ß½ÑñπεΘ¿Ñ Φáú¿:
  329.  
  330.           1. æ««íΘÑ¡¿Ñ »α«úαἼѠ« Γ«¼, τΓ« Ñ⌐ ¡áñ« ºáóÑαΦ¿Γ∞ß∩.
  331.  
  332.           ä½∩ φΓ«ú« ¼«ª¡«  ¿ß»«½∞º«óáΓ∞  ñαπú«⌐  "ú«α∩τ¿⌐  ¬½ετ",  ¿½¿
  333.      ¬«¼¼π¡¿¬áµ¿«¡¡δ⌐  óÑ¬Γ«α  »αÑαδóá¡¿∩,  π¬áºδóáεΘ¿⌐ ¡á ß¿ú¡áΓπαπ ó
  334.      »α«úαá¼¼Ñ, «º¡áτáεΘπε,  τΓ« »α«úαá¼¼á πªÑ ó »á¼∩Γ¿.  éΓ«α«⌐ ¼ÑΓ«ñ
  335.      ¿ß»«½∞ºπÑΓß∩ ó ñαá⌐óÑαÑ TSR-»α«úαá¼¼,  «»¿ßá¡¡«¼ ó ú½áóÑ 12.  Åα¿
  336.      φΓ«¼  »«½∞º«óáΓѽ∞,  º¡áεΘ¿⌐,  τΓ«  »α«úαἼᠠ πªÑ   αѺ¿ñÑ¡Γ¡á,
  337.      ºá»π߬áÑΓ  ÑÑ  óΓ«α«⌐  αáº,  ñáóá∩  ó  ¬«¼á¡ñ¡«⌐ ßΓα«¬Ñ »áαá¼ÑΓα,
  338.      «º¡áτáεΘ¿⌐, τΓ« »α«úαá¼¼á ñ«½ª¡á ºáóÑαΦ¿Γ∞ß∩. Åα«úαἼᠿΘÑΓ ßó«ε
  339.      ß¿ú¡áΓπαπ ß»«ß«í«¼,  «»¿ßá¡¡δ¼ óδΦÑ. Åα¿ ¡áσ«ªñÑ¡¿¿ ß¿ú¡áΓπαδ «¡á
  340.      ΓᬪѠ¡áσ«ñ¿Γ ßó«⌐  óÑ¬Γ«α  »αÑαδóá¡¿∩.  ùÑαѺ  φëà óÑ¬Γ«α  «¡á
  341.      »«ßδ½áÑΓ ¬«¼á¡ñπ ºáóÑαΦÑ¡¿∩ ßó«⌐ αѺ¿ñÑ¡Γ¡«⌐ ¬«»¿¿, »«ß½Ñ τÑú« Γá
  342.      ß«óÑαΦáÑΓ ß½ÑñπεΘ¿Ñ Φáú¿ ºáóÑαΦÑ¡¿∩.
  343.  
  344.           2. é«ßßΓá¡«ó½Ñ¡¿Ñ  óÑ¬Γ«α«ó  »αÑαδóá¡¿∩   ó   »Ñαó«¡áτá½∞¡«Ñ
  345.      ß«ßΓ«∩¡¿Ñ.
  346.  
  347.           ô óáß ¼«ªÑΓ íδΓ∞ ó«º¼«ª¡«ßΓ∞ ßñѽáΓ∞ φΓ«, á ¼«ªÑΓ ¿ ¡Ñ íδΓ∞.
  348.      àß½¿ ñαπúá∩ TSR-»α«úαἼᠠíδ½á  ºáúαπªÑ¡á  »«ß½Ñ  óáΦÑ⌐,  ¿  «¡á
  349.      ßó∩ºá½á óÑ¬Γ«αδ  ó  µÑ»«τ¬¿,  Γ« óδ πß»ÑΦ¡« ñѺá¬Γ¿ó¿απÑΓÑ ÑÑ »α¿
  350.      ó«ßßΓá¡«ó½Ñ¡¿¿ óÑ¬Γ«α«ó.  äá½ÑÑ,  Ñß½¿  φΓá  TSR-»α«úαἼᠠíπñÑΓ
  351.      ºáΓѼ ºáóÑαΦÑ¡á,  Γ«  «¡á »ÑαÑπßΓá¡«ó¿Γ óÑ¬Γ«αá ¡á áñαÑßá ó óáΦÑ⌐
  352.  
  353.                              - 10 -
  354.      »α«úαá¼¼Ñ,  »« ¬«Γ«αδ¼ πªÑ ¼«ªÑΓ ¡áσ«ñ¿Γ∞ß∩ ¡Ñ¿ºóÑßΓ¡«  τΓ«.  Æá¬
  355.      τΓ«  ñ« Γ«ú«,  ¬á¬ ó«ßßΓá¡áó½¿óáΓ∞ óÑ¬Γ«αá,  ¡áñ« πíÑñ¿Γ∞ß∩,  τΓ«
  356.      óáΦá »α«úαá¼¼á ñ« ß¿σ »«α ó½áñÑÑΓ ¿¼¿. ùΓ«íδ «»αÑñѽ¿Γ∞ φΓ«, ¡áñ«
  357.      ßαáó¡¿Γ∞   áñαÑßá,  ¡áσ«ñ∩Θ¿Ñß∩  ó  ß««ΓóÑΓßΓóπεΘ¿σ  óÑ¬Γ«αáσ,  ß
  358.      áñαÑßἿ ß««ΓóÑΓßΓóπεΘ¿σ «íαáí«Γτ¿¬«ó  ó  óáΦÑ⌐  »α«úαá¼¼Ñ.  àß½¿
  359.      ¬á¬«⌐-½¿í«  óÑ¬Γ«α ¿º¼Ñ¡Ñ¡,  Γ« óáΦá »α«úαá¼¼á πªÑ ¡Ñ ó½áñÑÑΓ ¿¼,
  360.      »«φΓ«¼π ºáóÑαΦáΓ∞ ÑÑ ¡Ñ½∞ºá ¿ ¡áñ« »α«ßΓ« »α¿«ßΓá¡«ó¿Γ∞ ÑÑ.
  361.  
  362.           àΘÑ «ñ¡¿¼ «ß½«ª¡Ñ¡¿Ñ¼,  ó«º¡¿¬áεΘѼ »α¿ ºáóÑαΦÑ¡¿¿ óáΦÑ⌐ TSR
  363.      ß  ñαπú«⌐  »α«úαá¼¼«⌐  Γᬫú«  ªÑ  Γ¿»á,  ºáúαπªÑ¡¡«⌐  »«ß½Ñ ¡ÑÑ,
  364.      ∩ó½∩ÑΓß∩ Σαáú¼Ñ¡Γᵿ∩ »á¼∩Γ¿ ó  ¡ÑαѺ¿ñÑ¡Γ¡«⌐  «í½áßΓ¿. äÄæ íπñÑΓ
  365.      ¿ß»«½∞º«óáΓ∞   «í½áßΓ∞,   «ßó«í«ªñÑ¡¡πε   óáΦÑ⌐  »α«úαá¼¼«⌐,  »α¿
  366.      ºá»α«ßáσ ¡á »á¼∩Γ∞ ¿º óδ»«½¡∩εΘ¿σß∩  »α«úαá¼¼,  ¡«  ñ½∩  ºáúαπº¬¿
  367.      ñαπú¿σ »α«úαá¼¼ φΓá «í½áßΓ∞ ¡Ñ íπñÑΓ ¿ß»«½∞º«óáΓ∞ß∩. Å«¼¡¿ΓÑ, τΓ«
  368.      äÄæ - «ñ¡«ºáñáτ¡á∩ Äæ - ¡Ñ »«¡¿¼áÑΓ  ¬«¡µÑ»µ¿¿  Σαáú¼Ñ¡Γ¿α«óá¡¡δσ
  369.      »α«úαá¼¼, »«Γ«¼π τΓ« «¡á ¡Ñ »«¡¿¼áÑΓ ¼π½∞Γ¿»α«úαá¼¼¿α«óá¡¿Ñ.
  370.  
  371.           3.çá¬αδΓ¿Ñ óßÑσ Σá⌐½«ó, «Γ¬αδΓδσ ó »α«úαá¼¼Ñ.
  372.  
  373.           Åα¿ ºáóÑαΦÑ¡¿¿  ¡ÑαѺ¿ñÑ¡Γ¡«⌐  »α«úαá¼¼δ  äÄæ  áóΓ«¼áΓ¿τÑ߬¿
  374.      ºá¬αδóáÑΓ óßÑ Σá⌐½δ,  ß¬á¡¿απ∩ ¼áßß¿ó π¬áºáΓѽÑ⌐ Σá⌐½«ó »α«úαá¼¼δ
  375.      ó   PSP   ¿   ºá¬αδóá∩   óßÑ   óσ«ªñÑ¡¿∩   ó  ¡Ñú«,  ¬«Γ«αδÑ  ÑΘÑ
  376.      ¿ß»«½∞ºπεΓß∩. Å«¼¡¿ΓÑ,  τΓ« φΓ¿ óσ«ªñÑ¡¿∩ - φΓ« ¡«¼Ñαá  φ½Ñ¼Ñ¡Γ«ó
  377.      ¼áßß¿óá, ¬«Γ«αδ⌐  »«ññÑনóáÑΓ  äÄæ.  Åα¿ ºáóÑαΦÑ¡¿¿ ¿ «íΩ∩ó½Ñ¡¿¿
  378.      αѺ¿ñÑ¡Γ¡«⌐ äÄæ ¡Ñ ºá¬αδóáÑΓ Σá⌐½δ,  «Γ¬αδΓδÑ φΓ«⌐ »α«úαá¼¼«⌐,  ¿
  379.      »α¿ ºáóÑαΦÑ¡¿¿  αáí«Γδ TSR-»α«úαá¼¼δ ¡Ñ«íσ«ñ¿¼« φΓ« ßñѽáΓ∞. àß½¿
  380.      Σá⌐½δ ¡Ñ íπñπΓ ºá¬αδΓδ, Γ« φ½Ñ¼Ñ¡Γδ ¼áßß¿óá ¡Ñ íπñπΓ «ßó«í«ªñÑ¡δ,
  381.      ¿   íπñπΓ   ¡Ññ«ßΓπ»¡δ   ñ½∩  ñá½∞¡Ñ⌐ΦÑú«  ¿ß»«½∞º«óá¡¿∩  ñαπú¿¼¿
  382.      »α«úαἼἿ. çáúαπº¬á   ¿   ºáóÑαΦÑ¡¿Ñ   íѺ   ºá¬αδΓ¿∩    Σá⌐½«ó
  383.      TSR-»α«úαá¼¼  ¼«ªÑΓ  »α¿óÑßΓ¿  ¬  ¿ßτÑα»á¡¿ε Γáí½¿µδ Σá⌐½«ó äÄæ ¿
  384.      "ºáó¿ßá¡¿ε" ß¿ßΓѼδ.
  385.  
  386.           ¥½Ñ¼Ñ¡Γδ ó Γáí½¿µÑ π¬áºáΓѽÑ⌐ Σá⌐½«ó »αÑñßΓáó½∩εΓ  Σá⌐½δ  ¡á
  387.      πα«ó¡Ñ  π¬áºáΓѽÑ⌐.  ¥Γ«  φ¬ó¿óá½Ñ¡Γ¡« Σπ¡¬µ¿∩¼ ¡ÑíπΣÑਧ«óá¡¡«ú«
  388.      óó«ñá-óδó«ñá ¡¿º¬«ú«  πα«ó¡∩  ó  æ¿.  öπ¡¬µ¿¿   æ¿,   óδ»«½¡∩εΘ¿Ñ
  389.      íπΣÑਧ«óá¡¡δ⌐  »«Γ«¬«óδ⌐  óó«ñ-óδó«ñ,  »«ññÑনóáεΓ  ß«íßΓóÑ¡¡δÑ
  390.      íπΣÑαδ ¿  π¬áºáΓѽ¿   ¿   ¼«úπΓ   »«ΓαÑí«óáΓ∞   «ß«í«ú«   »«α∩ñ¬á
  391.  
  392.                              - 11 -
  393.      ºá¬αδΓ¿∩, ¡áºδóáѼ«ú«    »«Γ«¬«óδ¼.    Æá¬«Ñ   ºá¬αδΓ¿Ñ   -   φΓ«
  394.      í¿í½¿«ΓÑτ¡á∩ Σπ¡¬µ¿∩ æ¿,  «Γ½¿τáεΘá∩ß∩ «Γ ß««ΓóÑΓßΓóπεΘÑ⌐ Σπ¡¬µ¿¿
  395.      äÄæ. Æá¬¿Ñ  Σá⌐½δ  ¡áñ«  ºá¬αδóáΓ∞  ßΓá¡ñáαΓ¡«⌐  Σπ¡¬µ¿Ñ⌐ fclose.
  396.      öá⌐½δ,  «Γ¬αδΓδÑ Σπ¡¬µ¿∩¼¿  open  ¿  creat,  ¼«úπΓ  íδΓ∞  ºá¬αδΓδ
  397.      Σπ¡¬µ¿Ñ⌐ close.
  398.  
  399.           4.髺óαáΓ »á¼∩Γ¿, ºá¡¿¼áѼ«⌐ »α«úαá¼¼«⌐, ó äÄæ.
  400.  
  401.           ä½∩ φΓ«ú«    ¼«ª¡«    ¿ß»«½∞º«óáΓ∞    Σπ¡¬µ¿ε    äÄæ   0σ49.
  402.      TSR-»α«úαá¼¼«⌐, ¬á¬ ¼¿¡¿¼π¼,  ºá¡¿¼áÑΓß∩ ñóá í½«¬á »á¼∩Γ¿. ÅÑαóδ⌐
  403.      - φΓ« í½«¬ ß¿ßΓѼ¡δσ »áαá¼ÑΓα«ó, áñαÑß ¬«Γ«α«ú« σαá¡¿Γß∩ ó PSP ß«
  404.      ß¼ÑΘÑ¡¿Ñ¼ 0σ2ß.  éΓ«α«⌐  í½«¬  -  φΓ«  ßá¼  PSP.  àß½¿  »α«úαá¼¼Ñ
  405.      óδñÑ½Ñ¡δ «íá φΓ¿σ í½«¬á, Γ« «¡¿ «íá ñ«½ª¡δ íδΓ∞ ó«ºóαáΘÑ¡δ äÄæ. é
  406.      ú½áóÑ 12 ñѼ«¡ßΓα¿απÑΓß∩ ΓÑσ¡¿¬á ß¬á¡¿α«óá¡¿∩  ß»¿ß¬á π»αáó½∩εΘ¿σ
  407.      í½«¬«ó  »á¼∩Γ¿  äÄæ  ñ½∩  ¡áσ«ªñÑ¡¿∩  ¿  ó«ºóαáΘÑ¡¿∩ ó äÄæ í½«¬«ó
  408.      »á¼∩Γ¿, óδñѽѡ¡δσ »α«úαá¼¼Ñ.
  409.  
  410.  
  411.           Åα¿«ßΓá¡«ó¬á ¿ ó«º«í¡«ó½Ñ¡¿Ñ óδ»«½¡Ñ¡¿∩ TSR-»α«úαá¼¼δ.
  412.      -----------------------------------------------------------------
  413.  
  414.           Åα¿ »α¿«ßΓá¡«ó¬Ñ TSR-»α«úαá¼¼δ ÑÑ ¡Ñ πñá½∩εΓ  ¿º  »á¼∩Γ¿,  á
  415.      Γ«½∞¬«  ñáεΓ  Ñ⌐  ¬«¼á¡ñπ  ¡Ñ  αÑáú¿α«óáΓ∞  ¡á  »αÑαδóá¡¿∩  »πΓѼ
  416.      πßΓá¡«ó¬¿ Σ½áúá.  è«¼á¡ñá ó«º«í¡«ó½Ñ¡¿∩ ßíαáßδóáÑΓ φëà Σ½áú.  æ
  417.      φΓ«⌐ µÑ½∞ε ¼«ª¡« ¿ß»«½∞º«óáΓ∞ ¬«¼¼π¡¿¬áµ¿«¡¡δ⌐ óÑ¬Γ«α »αÑαδóá¡¿∩.
  418.  
  419.           TSR-ñαá⌐óÑα ó   ú½áóÑ   12   ¿ß»«½∞ºπÑΓ   φΓπ   ΓÑσ¡¿¬π  ñ½∩
  420.      ºáóÑαΦÑ¡¿∩,    »α¿«ßΓá¡«ó¬¿,    ¿    ó«º«í¡«ó½Ñ¡¿∩     óδ»«½¡Ñ¡¿∩
  421.      TSR-»α«úαá¼¼.
  422.  
  423.  
  424.  
  425.           éδó«ñδ.
  426.      -----------------------------------------------------------------
  427.  
  428.           é φΓ«⌐  ú½áóÑ «»¿ßδóáÑΓß∩ «»Ñαᵿ«¡¡«Ñ «¬απªÑ¡¿Ñ αѺ¿ñÑ¡Γ¡δσ
  429.      »α«úαá¼¼. é ú½áóÑ 12 ¡á »α¿¼ÑαÑ ñóπσ Γá¬¿σ  »α«úαá¼¼  «»¿ßδóáÑΓß∩
  430.  
  431.                              - 12 -
  432.      óÑß∞ »α«µÑßß  Φáú  ºá  Φáú«¼.  ÅÑαóá∩ »α«úαá¼¼á - φΓ« «»ÑαáΓ¿ó¡á∩
  433.      »α«úαá¼¼á-τáßδ,  ¬«Γ«αá∩  »«ññÑনóáÑΓ   ¡á   φ¬αá¡Ñ   »«ßΓ«∩¡¡«Ñ
  434.      «Γ«íαáªÑ¡¿∩ ΓѬπΘ¿σ   óαѼѡ¿  ¿  ñáΓδ.  éΓ«αá∩  »α«úαá¼¼á  í«½ÑÑ
  435.      ¿¡ΓÑαÑß¡á - φΓ« TSR-ñαá⌐óÑα.  éδ  ßó∩ºδóáÑΓÑ  ßó«ε  »α«úαá¼¼π  ¡á
  436.      Æπαí«  æ¿  c  φΓ¿¼ ñαá⌐óÑα«¼,  ¿ß»«½∞ºπ∩ ¡Ñ¬«Γ«αδÑ ß«ú½áΦÑ¡¿∩ ñ½∩
  437.      ¿¡¿µ¿á½¿ºáµ¿¿,  ¿  óáΦá  »α«úαἼᠠ ¡á   Æπαí«   æ¿   ßΓá¡«ó¿Γß∩
  438.      αѺ¿ñÑ¡Γ¡«⌐. ¥Γ«   º¡áτ¿Γ,  τΓ«  »α«úαἼᠠíπñÑΓ  óδºδóáΓ∞ß∩  »«
  439.      ¡áªáΓ¿ε ¬½áó¿Φ¿,  τΓ« «¡á ¼«ªÑΓ  «Γ¬αδóáΓ∞,  τ¿ΓáΓ∞,  »¿áΓ∞  ó  ¿
  440.      ºá¬αδóáΓ∞ ñ¿ß¬«óδÑ Σá⌐½δ, τΓ« «¡á ¿ß»«½∞ºπÑΓ ROM-BIOS Σπ¡¬µ¿¿ ñ½∩
  441.      τΓÑ¡¿∩ ß ¬½áó¿áΓπαδ ¿ »α∩¼«⌐ ñ«ßΓπ» ¬ ó¿ñÑ«»á¼∩Γ¿ ñ½∩  óδó«ñá  ¡á
  442.      φ¬αá¡, ¿ τΓ« «¡á ¡¿¬«úñá ¡Ñ óδσ«ñ¿Γ ó äÄæ.
  443.  
  444.  
  445.  
  446.  
  447.  
  448.                              âïÇéÇ 12
  449.  
  450.                   Å«ßΓα«Ñ¡¿Ñ αѺ¿ñÑ¡Γ¡δσ »α«úαá¼¼
  451.      -----------------------------------------------------------------
  452.           é φΓ«⌐ ú½áóÑ ñѼ«¡ßΓα¿απÑΓß∩,  ¬á¬  ¬«¡µÑ»µ¿¿  TSR-»α«úαá¼¼,
  453.      «»¿ßá¡¡δÑ  ó  ú½áóÑ  11,  ó«»½«ΘáεΓß∩  ¡á »αá¬Γ¿¬Ñ ó »α«úαá¼¼δ ¡á
  454.      Æπαí«   æ¿.   öπ¡¬µ¿¿   ¿º   φΓ«⌐   ú½áóδ   »αÑñßΓáó½∩εΓ    ß«í«⌐
  455.      »α«úαá¼¼π-ñαá⌐óÑα, ßó∩ºáó ¬«Γ«απε ß óáΦÑ⌐ »α«úαá¼¼«⌐ ¡á Æπαí« æ¿,
  456.      óδ »«½πτ¿ΓÑ αѺ¿ñÑ¡Γ¡πε »α«úαá¼¼π.  ê¼ÑεΓß∩ ¡Ñ¬«Γ«αδÑ «úαá¡¿τÑ¡¿∩
  457.      ¡á φΓπ   »α«úαá¼¼π.  ÅÑαó«Ñ  -  φΓ«  Γ«,  τΓ«  ó  ¡Ñ⌐  ¡Ñ  ñ«½ª¡δ
  458.      »α¿¼Ñ¡∩Γ∞ß∩ Σπ¡¬µ¿¿ Æπαí« æ¿,  óδºδóáεΘ¿Ñ »αÑαδóá¡¿Ñ äÄæ  0σ21  ß
  459.      ¡«¼ÑαἿ  Σπ¡¬µ¿⌐  «Γ  0  ñ« 12.  ¥Γ« «º¡áτáÑΓ,  τΓ« óÑß∞ «í¼Ñ¡ ß
  460.      ¬½áó¿áΓπα«⌐ ¿ φ¬αá¡«¼ ñ«½ªÑ¡ óδ»«½¡∩Γ∞ß∩ ß »«¼«Θ∞ε  ó맮ó«ó  BIOS
  461.      ¿½¿  »α∩¼«ú«  ñ«ßΓπ»á ¬ φ¬αá¡¡«⌐ »á¼∩Γ¿.  é »α¿¼Ñαáσ ¿ß»«½∞ºπεΓß∩
  462.      «¬«¡¡δÑ  Σπ¡¬µ¿¿  ¿º  »αÑñδñπΘ¿σ   ú½áó,   πñ«ó½ÑΓó«α∩εΘ¿Ñ   φΓ¿¼
  463.      ß«ú½áΦÑ¡¿∩¼.  éΓ«α«Ñ - TSR-»α«úαá¼¼á ñ«½ª¡á íδΓ∞ ß¬«¼»¿½¿α«óá¡á ó
  464.      ¬α«σ«Γ¡«⌐ (tiny) ¿½¿ ¼á½«⌐ (small) ¼«ñѽ¿ »á¼∩Γ¿.
  465.           é ú½áóÑ  10  ñѼ«¡ßΓα¿απÑΓß∩  ¿¡ΓÑúαᵿ∩   óßÑσ   »αÑñδñπΦ¿σ
  466.      »α¿¼Ñα«ó  ó  «ñ¡π »α«úαá¼¼π,  óδ»«½¡∩Ѽπε »«ñ π»αáó½Ñ¡¿Ñ¼ «¬«¡¡δσ
  467.      ¼Ñ¡ε. é φΓ«⌐ ú½áóÑ ΓᠪѠ»α«úαἼᠻαÑóαáΘáÑΓß∩ ó TSR.
  468.           ê¡ΓÑúα¿α«óá¡¡δ⌐ »α¿¼Ñα ¿ß»«½∞ºπÑΓ  Σá⌐½«óδÑ  Σπ¡¬µ¿¿  äÄæ  ¿
  469.  
  470.                              - 13 -
  471.      óδ»«½¡∩ÑΓ  ó  ß««ΓóÑΓßΓó¿¿ ß φΓ¿¼ óßÑ »αáó¿½á,  «»¿ßá¡¡δÑ ó ú½áóÑ
  472.      11.  Å« »α¿τ¿¡Ñ ß½«ª¡«ßΓ¿ φΓ«⌐ ºáñáτ¿ ¿ ñ½∩ Γ«ú«, τΓ«íδ «í½Ñúτ¿Γ∞
  473.      óáΦÑ º¡á¬«¼ßΓó« ß »α«úαá¼¼¿α«ó᡿Ѽ TSR, »Ñαóδ⌐ »α¿¼Ñα ¡Ñ ΓαÑíπÑΓ
  474.      ß«í½εñÑ¡¿∩ φΓ¿σ »αáó¿½.
  475.  
  476.  
  477.           Åα¿¼Ñα TSR-»α«úαá¼¼δ - "τáßδ".
  478.      -----------------------------------------------------------------
  479.  
  480.           ìá ½¿ßΓ¿¡úÑ  12.1  »α¿óÑñѡᠠ»α«úαἼᠠ clock.c,   »α«ßΓá∩
  481.      TSR-πΓ¿½¿Γá, «íÑß»Ñτ¿óáεΘá∩ »«ßΓ«∩¡¡«Ñ «Γ«íαáªÑ¡¿Ñ ñáΓδ ¿ óαѼѡ¿
  482.      ó óÑασ¡Ñ¼ ½Ñó«¼ πú½π φ¬αá¡á.  é »α«úαἼѠ »«ß½Ñ  á¬Γ¿ó¿ºáµ¿¿  ¡Ñ
  483.      ñѽáεΓß∩   ó맮óδ   äÄæ,   »«φΓ«¼π   ¡ÑΓ   ¡πªñδ   ó   ºáΘ¿ΓÑ  «Γ
  484.      ¡ÑαÑÑ¡ΓÑαáíѽ∞¡«ßΓ¿ äÄæ.
  485.  
  486.  
  487.           ÅαÑóαáΘÑ¡¿Ñ »α«úαá¼¼δ ó αѺ¿ñÑ¡Γ¡πε.
  488.      -----------------------------------------------------------------
  489.  
  490.           öπ¡¬µ¿∩ main  »α«¿ºó«ñ¿Γ  óßÑ  »«ñú«Γ«ó¿Γѽ∞¡δÑ  ñÑ⌐ßΓó¿∩  ¿
  491.      «íΩ∩ó½∩ÑΓ ßÑí∩ αѺ¿ñÑ¡Γ¡«⌐.  æ¡áτá½á «¡á ß«σαá¡∩ÑΓ ßó«⌐ π¬áºáΓѽ∞
  492.      ßΓѬá,  τΓ« »«ºó«½¿Γ ºáΓѼ ó«ßßΓá¡«ó¿Γ∞ ßó«⌐ ß«íßΓóÑ¡¡δ⌐ ßΓѬ »α¿
  493.      ó맮óÑ. çáΓѼ   ó   »α«úαἼѠ ¿ß»«½∞ºπÑΓß∩  getvect  ñ½∩  τΓÑ¡¿∩
  494.      ΓѬπΘÑú« óÑ¬Γ«αá »αÑαδóá¡¿∩ Γá⌐¼Ñαá, »«ß½Ñ τÑú« ß »«¼«Θ∞ε setvect
  495.      ó  ¬áτÑßΓóÑ  «íαáí«Γτ¿¬á  Γá⌐¼Ñα¡«ú«  »αÑαδóá¡¿∩  πßΓá¡áó½¿óáÑΓß∩
  496.      Σπ¡¬µ¿∩ newtimer.  ô¬áºáΓѽ∞ ßΓѬá TSR-»α«úαá¼¼δ  πßΓá¡áó½¿óáÑΓß∩
  497.      ¬á¬   Σπ¡¬µ¿∩   «Γ   «íΩ∩ó½Ñ¡¡«ú«   αẼÑαá  »α«úαá¼¼δ  ¿  áñαÑßá
  498.      ó¿ñÑ«»á¼∩Γ¿,  «»αÑñѽ∩Ѽ«ú«  ¡á  «ß¡«óÑ  º¡áτÑ¡¿∩,  ó«ºóαáΘáѼ«ú«
  499.      Σπ¡¬µ¿Ñ⌐ vmode. ä½∩ »«½πτÑ¡¿Ñ ñáΓδ ¿ óαѼѡ¿ ¿ß»«½∞ºπεΓß∩ Σπ¡¬µ¿¿
  500.      äÄæ.
  501.  
  502.  
  503.           ÅαÑαδóá¡¿Ñ »« ñѽѡ¿ε ¡á ¡«½∞.
  504.      -----------------------------------------------------------------
  505.  
  506.           Åα¿ ßΓáαΓÑ »α«úαá¼¼,  ¡á»¿ßá¡¡δσ  ¡á  Æπαí«  æ¿,  óδ»«½¡Ñ¡¿Ñ
  507.      ¡áτ¿¡áÑΓß∩ ß« ßΓáαΓ«ó«ú« ¬«ñá. Åα¿ φΓ«¼ πßΓá¡áó½¿óáÑΓß∩ ¡áτá½∞¡δÑ
  508.  
  509.                              - 14 -
  510.      óѽ¿τ¿¡δ ßΓѬᠿ "¬πτ¿" ¿ óδºδóáÑΓß∩ Σπ¡¬µ¿∩ main.  æΓáαΓ«óδ⌐ ¬«ñ
  511.      ¡áσ«ñ¿Γß∩ ó  Σá⌐½áσ c0t.obj (ñ½∩ ¬α«σ«Γ¡«⌐ ¼«ñѽ¿) ¿ c0s.obj (ñ½∩
  512.      ¼á½«⌐ ¼«ñѽ¿).  ¥Γ¿ Σá⌐½δ  »«ßΓáó½∩εΓß∩  ó¼ÑßΓÑ  ß  Æπαí«  æ¿.  é
  513.      ßΓáαΓ«ó«¼  ¬«ñÑ  ¡áσ«ñ¿Γß∩  «íαáí«Γτ¿¬  »αÑαδóá¡¿∩  »« ñѽѡ¿ε ¡á
  514.      ¡«½∞,  ¬«Γ«αδ⌐ »α¿ß«Ññ¿¡∩ÑΓß∩ ¬  ß««ΓóÑΓßΓóπεΘѼπ  óÑ¬Γ«απ  »ÑαÑñ
  515.      óδº«ó«¼ Σπ¡¬µ¿¿ main.  Åα¿ óδ»«½¡Ñ¡¿¿ return ¿º Σπ¡¬µ¿¿ main φΓ«Γ
  516.      óÑ¬Γ«α πßΓá¡áó½¿óáÑΓß∩ ó »αÑñδñπΘÑÑ  ßó«Ñ  º¡áτÑ¡¿Ñ.  é«ºóαáΓ  ¿º
  517.      Σπ¡¬µ¿¿ main  ¡«α¼á½∞¡«⌐  ¡ÑαѺ¿ñÑ¡Γ¡«⌐  »α«úαá¼¼δ «º¡áτáÑΓ,  τΓ«
  518.  
  519.      »α«úαἼᠺᬫ¡τ¿½á ßó«¿  ñÑ⌐ßΓó¿∩  ¿  ú«Γ«óá  ¬  ºáóÑαΦÑ¡¿ε.  ì«
  520.      TSR-»α«úαá¼¼δ ¡Ñ  ºáóÑαΦáεΓß∩ óδñáτÑ⌐ return ¿º Σπ¡¬µ¿¿ main. Ä¡¿
  521.      ¿ß»«½∞ºπεΓ «ñ¡π ¿º TSR-Σπ¡¬µ¿⌐ äÄæ,  ¿ Γᬿ¼ «íαẫ¼ ñ«½ª¡δ  ßἿ
  522.      ó«ßßΓá¡áó½¿óáΓ∞ »αÑñδñπΘÑÑ º¡áτÑ¡¿Ñ óÑ¬Γ«αá »αÑαδóá¡¿∩ »« ñѽѡ¿ε
  523.      ¡á ¡«½∞ ñ« ºáóÑαΦÑ¡¿∩ ¿ »αÑóαáΘÑ¡¿∩ ó αѺ¿ñÑ¡Γ¡πε.  àß½¿ φΓ«ú« ¡Ñ
  524.      íπñÑΓ ßñѽᡫ, Γ« «Φ¿í¬á ñѽѡ¿∩ ¡á ¡«½∞ ó ñαπú«⌐ »α«úαἼѠíπñÑΓ
  525.      «íαáíáΓδóáΓ∞ß∩ ßΓáαΓ«óδ¼ ¬«ñ«¼ óáΦÑ⌐ TSR-»α«úαá¼¼δ.
  526.  
  527.           ö¿α¼á Borland »«ßΓáó½∩ÑΓ  ¿ßσ«ñ¡δÑ  ΓѬßΓδ  ßΓáαΓ«ó«ú«  ¬«ñá
  528.      Æπαí« æ¿. Ä¡¿  ¡áσ«ñ∩Γß∩  ó  Σá⌐½áσ  c0.asm  ¿  rules.asi.    éá¼
  529.      »«¡áñ«í¿Γß∩ ¼«ñ¿Σ¿µ¿α«óáΓ∞ c0.asm ¿ áßßÑ¼í½¿α«óáΓ∞ Ñú«  ñóáªñδ  -
  530.      ñ½∩ ¬α«σ«Γ¡«⌐ ¿ ¼á½«⌐ ¼«ñѽÑ⌐ »á¼∩Γ¿. ÇñαÑß, »« ¬«Γ«α«¼π ó c0.asm
  531.      ß«σαá¡∩ÑΓß∩  óÑ¬Γ«α  »αÑαδóá¡¿∩  »«  ñѽѡ¿ε  ¡á   ¡«½∞,   ¡áºóá¡
  532.      ZeroDivVector. ¥Γá  »ÑαѼѡ¡á∩  ½«¬á½∞¡á  ó  c0.asm.  ùΓ«íδ  óáΦá
  533.      »α«úαἼᠼ«ú½á ó«ßßΓá¡«ó¿Γ∞ º¡áτÑ¡¿Ñ φΓ«ú« óÑ¬Γ«αá,  ¬ ¡Ñ¼π ¡áñ«
  534.      »«½πτ¿Γ∞    ñ«ßΓπ»    »πΓѼ    »αÑ«íαẫóá¡¿∩   ZeroDivVector   ó
  535.      public-»ÑαѼѡ¡πε. Æπαí« æ¿ ñ«íáó½∩ÑΓ  ß¿¼ó«½  _  ó  ¡áτá½Ñ  ¿¼Ñ¡
  536.      ó¡ÑΦ¡¿σ »ÑαѼѡ¡δσ, ¿ ¬áªñ«Ñ óσ«ªñÑ¡¿Ñ »ÑαѼѡ¡«⌐ ZeroDivVector ó
  537.      c0.asm óδ ñ«½ª¡δ ºá¼Ñ¡¿Γ∞ ¡á _ZeroDivVector.  çáΓѼ ¡áñ« ºá¼Ñ¡¿Γ∞
  538.      «»ÑαáΓ«α, «íΩ∩ó½∩εΘ¿⌐ ZeroDivVector ó »α«úαá¼¼Ñ, ¡á ß½ÑñπεΘ¿⌐:
  539.  
  540.  
  541.      PubSym@ ZeroDivVector <dd 0>,_CDECL_
  542.  
  543.           ÇßßÑ¼í½¿απ⌐ΓÑ Σá⌐½ ñóáªñδ ß »«¼«Θ∞ε ß½ÑñπεΘ¿σ ¬«¼á¡ñ:
  544.  
  545.      C>masm c0,c0t /ML /D_TINY_,
  546.      C>masm c0,c0s /ML /D_SMALL_,
  547.  
  548.                              - 15 -
  549.  
  550.      »«ß½Ñ τÑú«  íπñπΓ  ß«ºñá¡δ  Σá⌐½δ  c0t.obj  ¿  c0s.obj.  çá¼Ñ¡¿ΓÑ
  551.      ¿ßσ«ñ¡δÑ Σá⌐½δ Æπαí« æ¿ ¡á φΓ¿.
  552.  
  553.           ÄíαáΓ¿ΓѠ󡿼᡿Ѡ ¡á «íΩ∩ó½Ñ¡¿Ñ ó clock.c π¬áºáΓѽ∩ Σπ¡¬µ¿¿
  554.      »αÑαδóá¡¿∩ ZeroDivVector. é¡ÑΦ¡¿⌐ π¬áºáΓѽ∞ - φΓ« ¬á¬ αáº Γ«, τΓ«
  555.      óδ Γ«½∞¬«  τΓ« «íΩ∩󿽿 public ó ßΓáαΓ«ó«¼ ¬«ñÑ.  é Σπ¡¬µ¿¿ main,
  556.      ñ« «íΩ∩ó½Ñ¡¿∩  ßÑí∩  αѺ¿ñÑ¡Γ¡«⌐,  clock.c   ¿ß»«½∞ºπÑΓ   Σπ¡¬µ¿ε
  557.      setvect ñ½∩ ó«ßßΓá¡«ó½Ñ¡¿∩ óÑ¬Γ«αá »αÑαδóá¡¿∩ »« ñѽѡ¿ε ¡á ¡«½∞.
  558.      çáΓѼ clock.c ºáóÑαΦáÑΓß∩ ß «íΩ∩ó½Ñ¡¿Ñ¼ ßÑí∩ αѺ¿ñÑ¡Γ¡«⌐.
  559.  
  560.           àß½¿ π óáß ¡ÑΓ ¿ßσ«ñ¡δσ ΓѬßΓ«ó ßΓáαΓ«ó«ú« ¬«ñá, ¼«ª¡« ¡á⌐Γ¿
  561.      ß½ÑñπεΘ¿⌐  óδσ«ñ:  »«ºó«½¿Γ∞  TSR-»α«úαἼѠ π¬áºδóáΓ∞  ¡á «Φ¿í¬π
  562.      ñѽѡ¿∩ ¡á ¡«½∞,  ¬á¬ Γ«½∞¬«  «¡á  ß½πτ¿½áß∞.  Åα¿  ó«º¡¿¬¡«óÑ¡¿¿
  563.      Γᬫ⌐  «Φ¿í¬¿  ó  ñαπú«⌐  »α«úαἼѠßΓáαΓ«óδ⌐ ¬«ñ óáΦÑ⌐ »α«úαá¼¼δ
  564.      íπñÑΓ óδñáóáΓ∞ ß««íΘÑ¡¿Ñ  «í  «Φ¿í¬Ñ  ¿  ºáóÑαΦáΓ∞  »α«úαá¼¼π,  ó
  565.      Γ«τ¡«ßΓ¿ ¬á¬  ¿  ß««ΓóÑΓßΓóπεΘ¿⌐  «íαáí«Γτ¿¬ äÄæ.  Åα¿ ºáóÑαΦÑ¡¿¿
  566.      »α«úαá¼¼δ äÄæ πßΓá¡áó½¿óáÑΓ óÑ¬Γ«α »αÑαδóá¡¿∩ ¡á  ßó«⌐ «íαáí«Γτ¿¬
  567.      ñѽѡ¿∩ ¡á   ¡«½∞.  éáΦá  »α«úαá¼¼á  í«½∞ΦÑ  ¡Ñ  íπñÑΓ  αáí«ΓáΓ∞.
  568.      è«¡Ñτ¡«,  óδ ñ«½ª¡δ πñ὿Γ∞ ßß佬¿ ¡á ZeroDivVector ó  clock.c  ¿
  569.      resident.c.
  570.  
  571.  
  572.           éδ»«½¡Ñ¡¿Ñ «íαáí«Γτ¿¬á »αÑαδóá¡¿⌐ «Γ Γá⌐¼Ñαá.
  573.      -----------------------------------------------------------------
  574.  
  575.           æ ¬áªñδ¼ "Γ¿¬á¡∞Ѽ τáß«ó", »α«¿ßσ«ñ∩Θ¿¼ 18.2 αáºá ó ßѬπ¡ñπ,
  576.      óδºδóáÑΓß∩ Σπ¡¬µ¿∩ newtimer,  «íΩ∩ó½Ñ¡¡á∩ ¬á¬ interrupt  ó  Æπαí«
  577.      æ¿. ¥Γ«  «íΩ∩ó½Ñ¡¿Ñ  «º¡áτáÑΓ,  τΓ«  »α¿  ó맮óÑ Σπ¡¬µ¿¿ αÑú¿ßΓαδ
  578.      ß«σαá¡∩εΓß∩ ó  ßΓѬѠ ¿  αÑú¿ßΓα  ßÑú¼Ñ¡Γá  ñá¡¡δσ  π¬áºδóáÑΓ  ¡á
  579.      ßÑú¼Ñ¡Γ  ñá¡¡δσ  »α«úαá¼¼δ,  ß  ¬«Γ«α«⌐ Σπ¡¬µ¿∩ ßó∩ºá¡á ß »«¼«Θ∞ε
  580.      link. Æá¬«Ñ «íΩ∩ó½Ñ¡¿Ñ ΓᬪѠúáαá¡Γ¿απÑΓ ó«ßßΓá¡«ó½Ñ¡¿Ñ αÑú¿ßΓα«ó
  581.      ¿º ßΓѬᠿ óδ»«½¡Ñ¡¿Ñ ¼áΦ¿¡¡«⌐ ¬«¼á¡ñδ IRET »α¿ ºáóÑαΦÑ¡¿¿ αáí«Γδ
  582.      Σπ¡¬µ¿¿. è«¼á¡ñá  IRET  ¿ß»«½∞ºπÑΓß∩   «íδτ¡«   ñ½∩   óδσ«ñá   ¿º
  583.      «íαáí«Γτ¿¬á »αÑαδóá¡¿∩. Ä¡á ó«ßßΓá¡áó½¿óáÑΓ αÑú¿ßΓαδ »α«úαá¼¼¡«ú«
  584.      ßτÑΓτ¿¬á,  Σ½áú«ó ¿ ßÑú¼Ñ¡Γá ¬«ñ«ó, ß«σαá¡Ñ¡¡δÑ »α¿ ó«º¡¿¬¡«óÑ¡¿¿
  585.      »αÑαδóá¡¿∩.
  586.  
  587.                              - 16 -
  588.  
  589.  
  590.  
  591.           æó∩ºδóá¡¿Ñ ßΓáα«ú« óÑ¬Γ«αá »αÑαδóá¡¿∩ »« Γá⌐¼Ñαπ.
  592.      -----------------------------------------------------------------
  593.  
  594.           Åα¿ óδ»«½¡Ñ¡¿¿ newtimer »αѪñÑ óßÑú«  óδºδóáÑΓß∩  «íαáí«Γτ¿¬
  595.      »αÑαδóá¡¿∩, ¡á ¬«Γ«αδ⌐ π¬áºδóáÑΓ oldtimer. ¥Γ« ñÑ⌐ßΓó¿Ñ »«ºó«½∩ÑΓ
  596.      ñαπú¿¼  »α«úαá¼¼á¼,  πªÑ  »α¿ß«Ññ¿¡Ñ¡¡δ¼  ¬  óÑ¬Γ«απ,  »α«¿ºóÑßΓ¿
  597.      ¡Ñ«íσ«ñ¿¼δÑ ñÑ⌐ßΓó¿∩.  öπ¡¬µ¿∩  newtimer »α«óÑα∩ÑΓ Σ½áú,  ¬«Γ«αδ⌐
  598.      πßΓá¡áó½¿óáÑΓ ßá¼á ªÑ φΓá Σπ¡¬µ¿∩,  ¿  «º¡áτáεΘ¿⌐,  τΓ«  «¡á  ÑΘÑ
  599.      αáí«ΓáÑΓ.
  600.  
  601.  
  602.  
  603.           æ«σαá¡Ñ¡¿Ñ ¿ »ÑαѬ½ετÑ¡¿Ñ ¬«¡ΓѬßΓá ßΓѬá.
  604.      -----------------------------------------------------------------
  605.  
  606.           öπ¡¬µ¿∩ newtimer  ß«σαá¡∩ÑΓ   ßÑú¼Ñ¡Γ   ßΓѬᠠ ¿   αÑú¿ßΓαδ
  607.      π¬áºáΓѽÑ⌐ -   φΓ¿  óѽ¿τ¿¡δ  »α¿¡áñ½ÑªáΓ  »αÑαóá¡¡«¼π  »α«µÑßßπ.
  608.      ç¡áτÑ¡¿∩ ßΓѬ«óδσ αÑú¿ßΓα«ó,  ß«σαá¡Ñ¡¡δÑ »α¿ óδ»«½¡Ñ¡¿¿ clock.c,
  609.      ó«ßßΓá¡áó½¿óáεΓß∩ ó αÑú¿ßΓαáσ »α«µÑßß«αá,  »«φΓ«¼π clock. c ¼«ªÑΓ
  610.      ¿ß»«½∞º«óáΓ∞ ßó«⌐ ß«íßΓóÑ¡¡δ⌐ ßΓѬ ¿ ¡Ñ »«αΓ¿Γ∞  ßΓѬ  »αÑαóá¡¡«⌐
  611.      »α«úαá¼¼δ.
  612.  
  613.  
  614.  
  615.           éδτ¿ß½Ñ¡¿Ñ óαѼѡ¿.
  616.      -----------------------------------------------------------------
  617.  
  618.           öπ¡¬µ¿∩ newtimer   »«ñßτ¿ΓδóáÑΓ   ß¿ú¡á½δ    Γá⌐¼Ñαá.    Åα¿
  619.      »α«σ«ªñÑ¡¿¿ 18  ß¿ú¡á½«ó  (19  ¬áªñδ⌐ »∩Γδ⌐ αáº,  Γᬠ¬á¬ ß¿ú¡á½δ
  620.      »α¿σ«ñ∩Γ 18.2 αáºá ó ßѬπ¡ñπ), ¡«óá∩ óѽ¿τ¿¡á óαѼѡ¿ óδτ¿ß½∩ÑΓß∩
  621.      ñ½∩ «Γ«íαáªÑ¡¿∩ ¡á φ¬αá¡.
  622.  
  623.           çáΓѼ ñáΓá ¿ óαѼ∩ «Γ«íαáªáεΓß∩ ó óÑασ¡Ñ¼ ½Ñó«¼ πú½π φ¬αá¡á,
  624.      ó«ßßΓá¡áó½¿óáεΓß∩ º¡áτÑ¡¿∩ αÑú¿ßΓα«ó ßΓѬᠠ»αÑαóá¡¡«⌐ »α«úαá¼¼δ,
  625.  
  626.                              - 17 -
  627.      ¿ newtimer ó«ºóαáΘáÑΓ Ñ⌐ π»αáó½Ñ¡¿Ñ.
  628.  
  629.           çá¼ÑΓ¿¼, τΓ«  newtimer  ¡Ñ  »ÑαÑó«ñ¿Γ  ñáΓπ  ó  »«½¡«τ∞ ¿ ¡Ñ
  630.      ¿º¼Ñ¡∩ÑΓ º¡áτÑ¡¿∩ ¡á φ¬αá¡Ñ »«ß½Ñ  óó«ñá  ¡«óδσ  ñáΓδ  ¿  óαѼѡ¿
  631.      ¬«¼á¡ñ«⌐ äÄæ.  ¥Γá  »α«úαἼᠽ¿Φ∞ ¿½½εßΓα¿απÑΓ αáí«Γπ »α«ßΓÑ⌐ΦÑ⌐
  632.      TSR-»α«úαá¼¼δ. àß½¿ óδ ¡Ñ αáí«ΓáÑΓÑ  »«ß½Ñ  »«½π¡«τ¿,  óδ  ¼«ªÑΓÑ
  633.      ¿ß»«½∞º«óáΓ∞ ÑÑ  ñ½∩  «Γ«íαáªÑ¡¿∩  ñáΓδ ¿ óαѼѡ¿ ¡á φ¬αá¡Ñ.  Ä¡á
  634.      «í¡«ó½∩ÑΓ º¡áτÑ¡¿∩ ¬áªñπε ßѬπ¡ñπ, »«φΓ«¼π óδó«ñ ¡á φ¬αá¡ ñαπú¿¼¿
  635.      »α«úαἼἿ ¡¿τÑú« ¡Ñ ¿ß»«αΓ¿Γ. é ¬áτÑßΓóÑ φ¬ß»Ñα¿¼Ñ¡Γá óδ ¼«ªÑΓÑ
  636.      ñ«íáó¿Γ∞ íπñ¿½∞¡¿¬  ó  clock.c.  é¬½ετ¿ΓÑ   óαѼ∩,   ¬«úñá   ¡áñ«
  637.      "ºó«¡¿Γ∞",  ¬á¬  »áαá¼ÑΓα,  »ÑαÑñáóáѼδ⌐  ó  ¬«¼á¡ñ¡«⌐ ßΓα«¬Ñ »α¿
  638.      »Ñαó«¼ ºá»π߬Ѡclock.exe.  çáΓѼ,  »α¿ ¬áªñ«¼ ¿º¼Ñ¡Ñ¡¿¿  º¡áτÑ¡¿∩
  639.      τáß«ó ßαáó¡¿óá⌐ΓÑ  Ñú«  ß  φΓ¿¼  óαѼѡѼ.  Åα¿ αáóÑ¡ßΓóÑ óαѼѡ,
  640.      óδñá⌐ΓÑ  ºóπ¬«ó«⌐  ß¿ú¡á½,  ¿ºíÑúá∩,  ÑßΓÑßΓóÑ¡¡«,  ¿ß»«½∞º«óá¡¿∩
  641.      Σπ¡¬µ¿⌐ äÄæ.   Å«ºñ¡ÑÑ,   ¬«úñá   óδ  πº¡áÑΓÑ,  ¬á¬  ¿ß»«½∞º«óáΓ∞
  642.      ¬«¼¼π¡¿¬áµ¿«¡¡δ⌐ óÑ¬Γ«α  »αÑαδóá¡¿∩,  óδ  ß¼«ªÑΓÑ  ¼«ñ¿Σ¿µ¿α«óáΓ∞
  643.      clock.c  ñ½∩  πßΓᡫ󬿠 ¿ ¿º¼Ñ¡Ñ¡¿∩ óαѼѡ¿ ºó«¡¬á »πΓѼ ºá»π߬á
  644.      clock.exe ¿º ¬«¼á¡ñ¡«⌐ ßΓ᫬¿ ß »áαá¼ÑΓα«¼ ó Γ«  óαѼ∩,  ¬á¬  TSR
  645.      πªÑ  αѺ¿ñÑ¡Γ¡á.  éδ  ¼«ªÑΓÑ  ñ«íáó¿Γ∞ ¬«¼¼Ñ¡Γáα¿¿ ¬ ºó«¡¬π »πΓѼ
  646.      ¿ß»«½∞º«óá¡¿∩ «¬«¡¡δσ Σπ¡¬µ¿⌐ ¿ «¬«¡¡«ú« αÑñá¬Γ«αá.  ÅπΓѼ ¿¼Ñ¡¡«
  647.      Γá¬¿σ  »«ß½Ññ«óáΓѽ∞¡δσ  π½πτΦÑ¡¿⌐ í뫨 ß«ºñá¡δ »α«úαá¼¼δ ¼¿α«ó«⌐
  648.      ¿ºóÑßΓ¡«ßΓ¿.
  649.  
  650.           Åα«úαá¼¼á clock.c ¿ß»«½∞ºπÑΓ »αÑαδóá¡¿Ñ «Γ Γá⌐¼Ñαá.  àß½¿ óδ
  651.      ºáúαπº¿ΓÑ  ÑÑ  »«ß½Ñ  Sidekick,  τáßδ  »ÑαÑßΓá¡πΓ ¿ñΓ¿ »α¿ ó맮óÑ
  652.      Sidekick. Æá¬ ¬á¬ newtimer »α«ßΓ« ßτ¿ΓáÑΓ ßѬπ¡ñδ,  á  ¡Ñ  τ¿ΓáÑΓ
  653.      óαѼ∩  äÄæ,  Γá¬á∩  ß¼Ñß∞  »α«úαá¼¼δ  ß  Sidekick'«¼  ßñѽáÑΓ  ÑÑ
  654.      αѺπ½∞ΓáΓδ ¡ÑóÑα¡δ¼¿.  Sidekick  «Γí¿αáÑΓ  óÑ¬Γ«α  »αÑαδóá¡¿∩  «Γ
  655.      Γá⌐¼Ñαá  π  ½εí«⌐  TSR-»α«úαá¼¼δ,  ºáúαπªáѼ«⌐ »«ß½Ñ ¡Ñú«,  τѼ ¿
  656.      óδºδáÑΓ Γᬫ⌐ αѺπ½∞ΓáΓ.  ÄßΓÑαÑúá⌐ΓÑß∞ Sidekick'á  »α¿  ºáúαπº¬Ñ
  657.      óáΦ¿σ αѺ¿ñÑ¡Γ¡δσ »α«úαá¼¼.
  658.  
  659.           ùΓ«íδ ºá»πßΓ¿Γ∞ "τáßδ", óóÑñ¿ΓÑ ß½ÑñπεΘπε ¬«¼á¡ñπ:
  660.  
  661.      C>clock
  662.  
  663.                ( ï¿ßΓ¿¡ú 12.1 ).
  664.  
  665.                              - 18 -
  666.  
  667.      /*--------- clock.c -----------*/
  668.  
  669.      #include <dos.h>
  670.  
  671.      void interrupt (*oldtimer)();
  672.      void interrupt newtimer();
  673.      extern void interrupt (*ZeroDivVector)();
  674.      #define sizeprogram 375
  675.      unsigned intsp,intss;
  676.      unsigned myss,stack;
  677.      static union REGS rg;
  678.      struct date dat;
  679.      struct time tim;
  680.      unsigned vseg;
  681.      int running = 0;
  682.      char bf[20];
  683.      unsigned v;
  684.      char tmsk []= " %2d-%02d-%02d %02d:%02d:%02d ";
  685.      int ticker = 0;
  686.  
  687.      static struct SREGS seg;
  688.  
  689.      main()
  690.      {
  691.        segread(&seg);
  692.  
  693.        myss = _SS;
  694.  
  695.        oldtimer = getvect(0x1c);
  696.        setvect(0x1c,newtimer);
  697.        stack = (sizeprogram - (seg.ds - seg.cs))*16-300;
  698.        vseg = vmode() == 7 ? 0xb000 : 0xb800;
  699.  
  700.        gettime(&tim);
  701.        getdate(&dat);
  702.  
  703.  
  704.                              - 19 -
  705.        setvect(0,ZeroDivVector);
  706.  
  707.        rg.x.ax = 0x3100;
  708.        rg.x.dx = sizeprogram;
  709.        intdos(&rg,&rg);
  710.      }
  711.  
  712.      void interrupt newtimer()
  713.      {
  714.        (*oldtimer)();
  715.        if (running ==0)
  716.        {
  717.           running = 1;
  718.           disable();
  719.           intsp = _SP;
  720.           intss = _SS;
  721.           _SP = stack;
  722.           _SS = myss;
  723.           enable();
  724.           if (ticker ==0)
  725.           {
  726.              ticker = (((tim.ti_sec % 5) ==0)? 19 :18 );
  727.              tim.ti_sec++;
  728.              if (tim.ti_sec == 60)
  729.              {
  730.                 tim.ti_sec =0;
  731.                 tim.ti_min++;
  732.                 if (tim.ti_min == 60)
  733.                 {
  734.                     tim.ti_min=0;
  735.                     tim.ti_hour++;
  736.                     if (tim.ti_hour == 24)
  737.                         tim.ti_hour = 0;
  738.                  }
  739.               }
  740.               sprintf(bf,tmsk,dat.da_day,dat.da_man,dat.da_year % 100,
  741.                       tim.ti_hour,tim.ti_min,tim.ti_sec);
  742.  
  743.                              - 20 -
  744.            }
  745.  
  746.            for (v=0;v<19;v++)
  747.               vpoke (vseg,(60+v)*2,0x7000+bf[]);
  748.  
  749.            disable();
  750.            _SS = intsp;
  751.            _SS = intss;
  752.            enable();
  753.            running = 0;
  754.  
  755.         }
  756.       }
  757.  
  758.           öá⌐½ »α«Ñ¬Γá ñ½∩ »«ßΓα«Ñ¡¿∩  clock.exe  ß  ¿¼Ñ¡Ñ¼  clock.prj
  759.      ¿¼ÑÑΓ ß½ÑñπεΘ¿⌐ ó¿ñ:
  760.  
  761.      ï¿ßΓ¿¡ú 12.2: clock.prj
  762.  
  763.      clock
  764.      ibmpc.obj
  765.  
  766.  
  767.  
  768.                ÅÉÄâÉÇîTSR-äÉÇëéàÉÇ.
  769.      -----------------------------------------------------------------
  770.  
  771.           ùΓ«íδ αáßΦ¿α¿Γ∞  ó«º¼«ª¡«ßΓ¿  TSR-»α«úαá¼¼  »« ¿ß»«½∞º«óá¡¿ε
  772.      Σπ¡¬µ¿⌐ äÄæ »α¿ ÑÑ ó맮óÑ,  ó φΓ«⌐ ú½áóÑ »α¿ó«ñ¿Γß∩ ñóá  ¿ßσ«ñ¡δσ
  773.      ΓѬßΓá  ¡á  æ¿.  Å«ß½Ñ  ¿σ  áñá»Γᵿ¿ ¿ ßó∩º¿ ß ½εí«⌐ ßΓá¡ñáαΓ¡«⌐
  774.      »α«úαá¼¼«⌐ ¡á æ¿,  Γá ßΓá¡«ó¿Γß∩ αѺ¿ñÑ¡Γ¡«⌐  »α«úαá¼¼«⌐.  ÅÑαóδ⌐
  775.      ΓѬßΓ   ß«ñÑαª¿Γ  Σπ¡¬µ¿ε  main,  ¿  Γπñá  »«¼ÑΘáεΓß∩  »áαá¼ÑΓαδ,
  776.      ºáó¿ß∩Θ¿Ñ  «Γ  óáΦÑ⌐  »α«úαá¼¼δ.  éΓ«α«⌐  Σá⌐½  -  φΓ«   «ß¡«ó¡«⌐
  777.      TSR-ñαá⌐óÑα,   π»αáó½∩εΘ¿⌐  »α¿ß«Ññ¿¡Ñ¡¿Ñ¼  óÑ¬Γ«α«ó  »αÑαδóá¡¿⌐,
  778.      ßἿσ »αÑαδóá¡¿⌐,  áαí¿Γα᪠ßΓ«½¬¡«óÑ¡¿⌐ äÄæ ¿ BIOS, «»αÑñѽѡ¿Ñ,
  779.      αѺ¿ñÑ¡Γ¡á ½¿ πªÑ »α«úαá¼¼á,  »α¿«ßΓá¡«ó¬á ¿ ó«º«í¡«ó½Ñ¡¿Ñ αáí«Γδ
  780.      TSR-»α«úαá¼¼δ, ¿ πñá½Ñ¡¿Ñ TSR-»α«úαá¼¼δ ¿º »á¼∩Γ¿.
  781.  
  782.                              - 21 -
  783.  
  784.           ÆαÑΓ¿⌐ ¼«ñπ½∞ ó φΓ«¼ ¡áí«αÑ - óáΦá »α«úααá¼¼á ¡á æ¿, ¬«Γ«αá∩
  785.      ñ«½ª¡á   »α¿ñÑনóáΓ∞ß∩   ß½ÑñπεΘ¿σ   »αáó¿½,   τΓ«íδ   »αáó¿½∞¡«
  786.      óδ»«½¡∩Γ∞ß∩ ó φΓ«¼ «¬απªÑ¡¿¿:
  787.  
  788.           - »α«úαá¼¼á ñ«½ª¡á íδΓ∞  »«ßΓα«Ñ¡á  ó  ¬α«σ«Γ¡«⌐  ¿½¿  ¼á½«⌐
  789.      ¼«ñѽ∩σ »á¼∩Γ¿;
  790.           - »α«úαἼᠡѠñ«½ª¡á ¿ß»«½∞º«óáΓ∞ Σπ¡¬µ¿⌐ äÄæ «Γ 0 ñ« 12;
  791.           - »α¿ ¿º¼Ñ¡Ñ¡¿¿ ΓѬπΘÑú« ñ¿ß¬«ó«ú« ¬áΓὫúá »α«úαá¼¼á ñ«½ª¡á
  792.      ó«ßßΓá¡áó½¿óáΓ∞ Ñú« »α¿ ó«ºóαáΓÑ ó »αÑαóá¡¡πε »α«úαá¼¼π;
  793.           - »α«úαἼᠠ¡Ñ  ñ«½ª¡á  ¿ß»«½∞º«óáΓ∞  «»Ñαᵿ¿  ß »½áóáεΘÑ⌐
  794.      ºá»∩Γ«⌐;
  795.           - »α«úαἼᠡѠñ«½ª¡á ºáóÑαΦáΓ∞ß∩ ¿½¿ óδσ«ñ¿Γ∞ ó äÄæ.
  796.  
  797.           éáß ¼«ªÑΓ ºá¿¡ΓÑαÑß«óáΓ∞, »«τѼπ ¡áñ« ¿ºíÑúáΓ∞ ¿ß»«½∞º«óá¡¿∩
  798.      «»Ñαᵿ⌐ ß  »½áóáεΘÑ⌐  ºá»∩Γ«⌐.  äѽ«  ó  Γ«¼,  τΓ«  »«ñ»α«úαá¼¼δ
  799.      ß »½áóáεΘÑ⌐  ºá»∩Γ«⌐ Æπαí« æ¿ ¿ß»«½∞ºπεΓ α∩ñ óÑ¬Γ«α«ó »αÑαδóá¡¿⌐,
  800.      ¬«Γ«αδÑ »α¿ß«Ññ¿¡∩εΓß∩ ó« óαѼ∩ óδ»«½¡Ñ¡¿∩ ßΓáαΓ«ó«ú«  ¬«ñá.  ¥Γ¿
  801.      óÑ¬Γ«αá  ¡Ñ  ó«ßßΓá¡áó½¿óáεΓß∩ ñ« ºáóÑαΦÑ¡¿∩ »α«úαá¼¼δ ¿ »ÑαÑñáτ¿
  802.      π»αáó½Ñ¡¿∩ »α¿  φΓ«¼  ó  ßΓáαΓ«óδ⌐  ¬«ñ.  é  ßΓáαΓ«ó«¼  ¬«ñÑ   ¡Ñ
  803.      »«ññÑনóáÑΓß∩   «í½áßΓ∞  ß«σαá¡Ñ¡¿∩  ñ½∩  φΓ¿σ  óÑ¬Γ«α«ó  (ßαÑñ¿
  804.      ¬«Γ«αδσ ¿¼ÑÑΓß∩ ¿  óÑ¬Γ«α  ¡Ñ¼á߬¿απѼ«ú«  »αÑαδóá¡¿∩  2);  Γᬿ¼
  805.      «íαẫ¼,  »α¿  ºáóÑαΦÑ¡¿¿  αáí«Γδ  TSR-»α«úαá¼¼δ ¿ πñá½Ñ¡¿¿ ÑÑ ¿º
  806.      »á¼∩Γ¿ φΓ¿ óÑ¬Γ«αδ ¡Ñ íπñπΓ ó«ßßΓá¡áó½¿óáΓ∞ß∩.
  807.  
  808.           é φΓ«½⌐ ú½áóÑ ¿ß»«½∞ºπεΓß∩ »α«úαá¼¼á exec.c ¿º  ú½áóδ  10  ¿
  809.      óßÑ   »α¿¼Ñαδ   «¬«¡¡δσ   »α«úαá¼¼   »αá¬Γ¿τÑ߬¿   ú«Γ«óδσ  ßΓáΓ∞
  810.      αѺ¿ñÑ¡Γ¡δ¼¿.
  811.  
  812.  
  813.  
  814.                äÑ⌐ßΓó¿∩ ΓαÑσ »α«úαá¼¼¡δσ ¼«ñπ½Ñ⌐.
  815.      -----------------------------------------------------------------
  816.  
  817.           Æα¿ »α«úαá¼¼¡δσ  ¼«ñπ½∩  ñ½∩  TSR-»α«úαá¼¼  -  φΓ«  popup.c,
  818.      resident.c ¿ óáΦá πΓ¿½¿Γá ¡á Æπαí« æ¿.  Popup.c (½¿ßΓ¿¡ú 12.3)  ¿
  819.      resident.c (½¿ßΓ¿¡ú 12.4) ß«ñÑαªáΓ ßá¼ TSR-ñαá⌐óÑα. Popup.c - φΓ«
  820.  
  821.                              - 22 -
  822.      ¼«ñπ½∞,  ¬«Γ«αδ⌐ ¡áñ« ¿º¼Ñ¡¿Γ∞ ß««ΓóÑΓßΓóÑ¡¡«  ΓαÑí«óá¡¿∩¼  óáΦÑ⌐
  823.      πΓ¿½¿Γδ,  á  resident.c - ¼«ñπ½∞,  «ßΓáεΘ¿⌐ß∩ ¡Ñ¿º¼Ñ¡¡δ¼ ñ½∩ óßÑσ
  824.      TSR-»α«úαá¼¼.  é ñá½∞¡Ñ⌐ΦѼ  «íßπªñÑ¡¿¿  ¼δ  íπñѼ  »ÑαѬ½ετáΓ∞ß∩
  825.      ¼Ñªñπ ñóπ¼∩ φΓ¿¼¿ ¼«ñπ½∩¼¿, Γᬠ¬á¬ «¡¿ «íá ß«ºñá¡δ ñ½∩ »«ññÑ᪬¿
  826.      ß«ºñá¡¿∩ óἿ TSR-»α«úαá¼¼.
  827.  
  828.           Popup.c ß«ñÑαª¿Γ   ¬α«¼Ñ    ½εí«ú«    πßΓá¡«ó«τ¡«ú«    ¬«ñá,
  829.      ¡Ñ«íσ«ñ¿¼«ú«  óá¼,  ÑΘÑ  ¿  ¡Ñ߬«½∞¬«  »ÑαѼѡ¡δσ,  ¬«Γ«αδÑ  ¡áñ«
  830.      ¿¡¿µ¿á½¿º¿α«óáΓ∞ º¡áτÑ¡¿∩¼¿, «»¿ßδóáεΘ¿¼¿ óáΦπ »α«úαá¼¼π.
  831.  
  832.  
  833.  
  834.                ÉẼÑα TSR-»α«úαá¼¼δ.
  835.      -----------------------------------------------------------------
  836.  
  837.           üѺº¡á¬«óá∩ »ÑαѼѡ¡á∩   sizeprogram   ß»Ñµ¿Σ¿µ¿απÑΓ  αẼÑα
  838.      »α«úαá¼¼δ ó »áαáúαáΣáσ »« 16 íá⌐Γ.  éδ πªÑ »α«τ¿Γ὿ ó ú½áóÑ  11,
  839.      ¬á¬ «»αÑñѽ∩Γ∞ φΓ« º¡áτÑ¡¿Ñ.  ä« ΓÑσ »«α,  »«¬á óáΦá »α«úαἼᠡÑ
  840.      ¡áτ¡ÑΓ ñÑ⌐ßΓó«óáΓ∞,  πóѽ¿τ¿óá⌐ΓÑ  φΓ«  º¡áτÑ¡¿Ñ.   Åα«úαἼᠠ ó
  841.      ¬α«σ«Γ¡«⌐ ¼«ñѽ¿ ¡Ñ ¼«ªÑΓ íδΓ∞ í«½∞ΦÑ, τѼ 64è (4096 »áαáúαáΣ«ó),
  842.      á ó ¼á½«⌐ ¼«ñѽ¿ - í«½∞ΦÑ 128è (8192 »áαáúαáΣ«ó).
  843.  
  844.  
  845.  
  846.                Åα¿ßó«Ñ¡¿Ñ "ú«α∩τÑú« ¬½ετá".
  847.      -----------------------------------------------------------------
  848.  
  849.           ç¡áτÑ¡¿Ñ ¬½áó¿Φ¿ "ú«α∩τÑú« ¬½ετá" TSR-»α«úαá¼¼δ «»αÑñѽ∩ÑΓß∩
  850.      º¡áτÑ¡¿∩¼¿ íѺº¡á¬«óδσ »ÑαѼѡ¡δσ scancode ¿ keymask. Åα¿ ¡áªáΓ¿¿
  851.      ¬½áó¿Φ¿  «íαáí«Γτ¿¬ »αÑαδóá¡¿∩ 09 τ¿ΓáÑΓ óσ«ñ¡«⌐ »«αΓ ¬½áó¿áΓπαδ,
  852.      ó ¬«Γ«α«¼  ¡áσ«ñ¿Γß∩  ß¬á¡-¬«ñ  ¬½áó¿Φ¿  (ÑÑ  »«α∩ñ¬«óδ⌐  ¡«¼Ñα).
  853.      èáªñá∩ ¬½áó¿Φá ¿¼ÑÑΓ ßó«⌐ ß¬á¡-¬«ñ, ¬«Γ«αδÑ ¿º«íαáªÑ¡δ ¡á α¿ßπ¡¬Ñ
  854.      12.1. æ½Ññ«óὫ  íδ  »α¿ßóá¿óáΓ∞  ΓᬿѠ  ¬½áó¿Φ¿,   ¬«Γ«αδÑ   ¡Ñ
  855.      ß«ó»áñ὿   íδ  ß  ¬½áó¿ΦἿ  ñαπú¿σ  »α«úαá¼¼,  ó  Γ«¼  τ¿ß½Ñ  ¿
  856.      ¡ÑαѺ¿ñÑ¡Γ¡δσ. æΓ«¿Γ ¿ºíÑúáΓ∞ Σπ¡¬µ¿«¡á½∞¡δ󠬽áó¿Φ, ¬«¼í¿¡áµ¿⌐ ß
  857.      Alt- ¿ Ctrl-,  Γᬠ¬á¬ ¼¡«ú¿Ñ »α«úαá¼¼δ ¿σ ¿ß»«½∞ºπεΓ.  ì´πτΦ¿¼
  858.      óδí«α«¼ ∩ó½∩ÑΓß∩ αÑñ¬á∩ ¿ «α¿ú¿¡á½∞¡á∩ ¬«¼í¿¡áµ¿∩  ¬½áó¿Φ, Γá¬á∩,
  859.  
  860.                              - 23 -
  861.      ¬á¬ Alt-Γ«τ¬á.
  862.  
  863.      ┌─────────────────────────────────────────────────────────────────┐
  864.      │┌──┬──┐┌──┬─┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐┌──┬──┬──┬──┐│
  865.      ││59│60││41│2│ 3│ 4│ 5│ 6│ 7│ 8│ 9│10│11│12│13│43│14││1 │69│70│84││
  866.      │├──┼──┤├──┴┬┴─┬┴─┬┴─┬┴─┬┴─┬┴─┬┴─┬┴─┬┴─┬┴─┬┴─┬┴─┬┴──┤├──┼──┼──┼──┤│
  867.      ││61│62││15 │16│17│18│19│20│21│22│23│24│25│26│27│   ││71│72│73│55││
  868.      │├──┼──┤├───┴┬─┴┬─┴┬─┴┬─┴┬─┴┬─┴┬─┴┬─┴┬─┴┬─┴┬─┴┬─┘ 28│├──┼──┼──┼──┤│
  869.      ││63│64││ 29 │30│31│32│33│34│35│36│37│38│39│40│     ││75│76│77│74││
  870.      │├──┼──┤├────┴┬─┴┬─┴┬─┴┬─┴┬─┴┬─┴┬─┴┬─┴┬─┴┬─┴┬─┴─────┤├──┼──┼──┼──┤│
  871.      ││65│66││ 42  │44│45│46│47│48│49│50│51│52│53│  54   ││79│80│81│  ││
  872.      │├──┼──┤├────┬┴─┬┴──┴──┴──┴──┴──┴──┴──┴──┴──┼─┬─────┤├──┴──┼──┤78││
  873.      ││67│68││ 56 │  │          57               │ │ 58  ││ 82  │83│  ││
  874.      │└──┴──┘└────┘  └───────────────────────────┘ └─────┘└─────┴──┴──┘│
  875.      │                                                                 │
  876.      │                    è½áó¿áΓπαá IBM AT                            │
  877.      │                                                                 │
  878.      │                                                                 │
  879.      │┌──┬──┐┌──┬─┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬─────┐┌─────┬─────┐│
  880.      ││59│60││ 1│2│ 3│ 4│ 5│ 6│ 7│ 8│ 9│10│11│12│13│ 14  ││ 69  │ 70  ││
  881.      │├──┼──┤├──┴┬┴─┬┴─┬┴─┬┴─┬┴─┬┴─┬┴─┬┴─┬┴─┬┴─┬┴─┬┴─┬───┤├──┬──┼──┬──┤│
  882.      ││61│62││15 │16│17│18│19│20│21│22│23│24│25│26│27│   ││71│72│73│74││
  883.      │├──┼──┤├───┴┬─┴┬─┴┬─┴┬─┴┬─┴┬─┴┬─┴┬─┴┬─┴┬─┴┬─┴┬─┴┐28│├──┼──┼──┼──┤│
  884.      ││63│64││ 29 │30│31│32│33│34│35│36│37│38│39│40│41│  ││75│76│77│  ││
  885.      │├──┼──┤├────┴┬─┴┬─┴┬─┴┬─┴┬─┴┬─┴┬─┴┬─┴┬─┴┬─┴┬─┴──┼──┤├──┼──┼──┤  ││
  886.      ││65│66││ 42  │44│45│46│47│48│49│50│51│52│53│ 54 │55││79│80│81│78││
  887.      │├──┼──┤├────┬┴─┬┴──┴──┴──┴──┴──┴──┴──┴──┴┬┬┴───┬┼──┴┴┬─┴──┴──┤  ││
  888.      ││67│68││ 56 │  │          57             ││ 58 ││ 82 │   83  │  ││
  889.      │└──┴──┘└────┘  └─────────────────────────┘└────┘└────┴───────┴──┘│
  890.      │                                                                 │
  891.      │                    è½áó¿áΓπαá IBM PC                            │
  892.      └─────────────────────────────────────────────────────────────────┘
  893.  
  894.                            É¿ß.12.1. æ¬á¡-¬«ñδ ¬½áó¿áΓπαδ.
  895.  
  896.  
  897.           Äí¡áαπªÑ¡¿Ñ ¬«¼í¿¡áµ¿¿  ¬½áó¿Φ «í½ÑúτáÑΓß∩ »α¿ ¿ß»«½∞º«óá¡¿¿
  898.  
  899.                              - 24 -
  900.      ¼á߬¿ ßΓáΓπßá »« áñαÑßπ 0:417,  ß«ñÑαªáΘÑ⌐ í¿Γδ ñ½∩ ¬½áó¿Φ  Ctrl,
  901.      Alt,  Shift,  Ins, Caps Lock ¿ Scroll Lock. ¥Γá ¼á߬ᠻ«¬áºδóáÑΓ,
  902.      ¬á¬á∩ ¿º  φΓ¿σ  ¬½áó¿Φ  ó  ΓѬπΘ¿⌐  ¼«¼Ñ¡Γ  ¡áªáΓá.  ìá  α¿ß.12.2
  903.      »«¬áºá¡« »«½«ªÑ¡¿Ñ í¿Γ«ó ó ¼á߬Ñ.
  904.  
  905.      ┌──────┬───────┬───────┬────────┬───────┬───────┬───────┬───────┐
  906.      │  INS │  CAPS │  NUM  │ SCROLL │  ALT  │  CTRL │ LEFT  │ RIGHT │
  907.      │      │  LOCK │  LOCK │  LOCK  │       │       │ SHIFT │ SHIFT │
  908.      └──────┴───────┴───────┴────────┴───────┴───────┴───────┴───────┘
  909.  
  910.                                 É¿ß.12.2.
  911.  
  912.           àß½¿ ß««ΓóÑΓßΓóπεΘ¿⌐ í¿Γ ó ¼á߬ѠπßΓá¡«ó½Ñ¡ ó 1,  Γ« ¬½áó¿Φá
  913.      ¡áªáΓá.  Å«  ß¬á¡-¬«ñπ  ¡áªáΓ«⌐  ¬½áó¿Φ¿  ¿ º¡áτÑ¡¿ε í¿Γá ó ¼á߬Ñ
  914.      «íαáí«Γτ¿¬ »αÑαδóá¡¿⌐ «Γ ¬½áó¿áΓπαδ ¼«ªÑΓ «»αÑñѽ¿Γ∞,  ¡áªáΓá  ½¿
  915.      ¬½áó¿Φá "ú«α∩τÑú« ¬½ετá". ùΓ«íδ ß»Ñµ¿Σ¿µ¿α«óáΓ∞ φΓ¿ º¡áτÑ¡¿∩, óá¼
  916.      ¡áñ«  »α¿ßó«¿Γ∞  º¡áτÑ¡¿∩  »ÑαѼѡ¡δ¼  scancode   ¿   keymask   ó
  917.      popup.c. èᬠ »«¬áºá¡« ó ½¿ßΓ¿¡úÑ,  scancode αáóÑ¡ 52,  ¿ keymask
  918.      αáóÑ¡ 8, τΓ« ß««ΓóÑΓßΓóπÑΓ Alt-Γ«τ¬á.
  919.  
  920.  
  921.  
  922.                æ¿ú¡áΓπαá TSR-»α«úαá¼¼δ.
  923.      -----------------------------------------------------------------
  924.  
  925.           Åα«úαá¼¼á popup.c   ΓᬪѠ «íÑß»Ñτ¿óáÑΓ  ß¿ú¡áΓπαπ,  ¬«Γ«αá∩
  926.      ¿ß»«½∞ºπÑΓß∩ ñ½∩ «»αÑñѽѡ¿∩, ¡Ñ αѺ¿ñÑ¡Γ¡á ½¿ πªÑ TSR-»α«úαá¼¼á.
  927.      æ¿¼ó«½∞¡δ⌐    ¼áß߿󠠠ߠ  ¿¼Ñ¡Ñ¼   signature   -   φΓ«   ßΓ᫬á,
  928.      ºá¬á¡τ¿óáεΘá∩ß∩ \0.
  929.  
  930.           Åα¿ »Ñαó«¼ ßΓáαΓÑ popup.c  óδºδóáÑΓ  Σπ¡¬µ¿ε  resident.  Ä¡á
  931.      ¡áσ«ñ¿Γß∩   ó   resident.c,   ÑÑ  ºáñáτÑ⌐  ∩ó½∩ÑΓß∩  «»αÑñѽѡ¿Ñ,
  932.      αѺ¿ñÑ¡Γ¡á ½¿ πªÑ »α«úαá¼¼á,  ¿ Ñß½¿ ¡ÑΓ,  «»αÑñѽ¿Γ∞ ¿ ¡áº¡áτ¿Γ∞
  933.      ¬«¼¼π¡¿¬áµ¿«¡¡δ⌐ óÑ¬Γ«α.      ¥Γ«      ñѽáÑΓß∩     ß¬á¡¿α«ó᡿Ѽ
  934.      »«½∞º«óáΓѽ∞߬¿σ óÑ¬Γ«α«ó »αÑαδóá¡¿⌐ «Γ 0σ60 ñ« 0σ67. àß½¿ ¬á¬«⌐-
  935.      ½¿í«  óÑ¬Γ«α  ß«ñÑαª¿Γ  º¡áτÑ¡¿Ñ,  Γ«  ßÑú¼Ñ¡Γ¡á∩  »«½«ó¿¡á φΓ«ú«
  936.      º¡áτÑ¡¿∩ ¬«¼í¿¡¿απÑΓß∩ ß« ß¼ÑΘÑ¡¿Ñ¼ ß¿ú¡áΓπαδ  ó  »α«úαá¼¼Ñ.  ¥Γ«
  937.  
  938.                              - 25 -
  939.      ß¼ÑΘÑ¡¿Ñ  ∩ó½∩ÑΓß∩  π¬áºáΓѽѼ  ¡á  ß¿ú¡áΓπαπ,  Γ« ÑßΓ∞ ß¼ÑΘÑ¡¿Ñ¼
  940.      «Γ¡«ß¿Γѽ∞¡« αÑú¿ßΓαá ßÑú¼Ñ¡Γá ñá¡¡δσ.  æÑú¼Ñ¡Γ¡á∩ τáßΓ∞  óÑ¬Γ«αá
  941.      ßπ¼¼¿απÑΓß∩ ß αạ¿µÑ⌐ ¼Ñªñπ º¡áτÑ¡¿∩¼¿ αÑú¿ßΓα«ó ßÑú¼Ñ¡Γá ¬«ñá ¿
  942.      ßÑú¼Ñ¡Γá ñá¡¡δσ.
  943.  
  944.           Å«¼¡¿ΓÑ, τΓ«  º¡áτÑ¡¿Ñ  ßÑú¼Ñ¡Γ¡«ú«  αÑú¿ßΓαá,   óº∩Γ«Ñ   ¿º
  945.      óÑ¬Γ«αá, ñ«½ª¡«   íδΓ∞   º¡áτÑ¡¿Ñ¼  ßÑú¼Ñ¡Γá  ¬«ñá  »Ñαó«¡áτá½∞¡«
  946.      ßΓáαΓ«óáóΦÑ⌐  TSR-»α«úαá¼¼δ.  æ¿ú¡áΓπαá  ¿¼ÑÑΓß∩  ¬á¬  ó  «í½áßΓ¿
  947.      ñá¡¡δσ TSR-»α«úαá¼¼δ, Γᬠ¿ ó «í½áßΓ¿ ñá¡¡δ󠬫»¿¿ TSR-»α«úαá¼¼δ,
  948.      ¬«Γ«αá∩ »δΓáÑΓß∩ ßΓáΓ∞ αѺ¿ñÑ¡Γ¡«⌐.  ìá¼ ¡πªÑ¡  ßÑú¼Ñ¡Γ¡δ⌐  áñαÑß
  949.      ñá¡¡δσ  TSR-»α«úαá¼¼δ,  ¬«Γ«αδ⌐ ¡Ñ ß«σαá¡∩ÑΓß∩ ó ¬«¼¼π¡¿¬áµ¿«¡¡«¼
  950.      óÑ¬Γ«αÑ. ¥Γ« º¡áτÑ¡¿Ñ ñ«½ª¡« íδΓ∞ óδτ¿ß½Ñ¡«.
  951.  
  952.           Åα«úαá¼¼á, »α«ß¼áΓα¿óáεΘá∩ óÑ¬Γ«αδ,  ∩ó½∩ÑΓß∩ óΓ«α«⌐  ¬«»¿Ñ⌐
  953.      TSR-»α«úαá¼¼δ (ó »αÑñ»«½«ªÑ¡¿¿, τΓ« TSR-»α«úαá¼¼á πªÑ ºáúαπªÑ¡á),
  954.      »«φΓ«¼π αạ«ßΓ∞ º¡áτÑ¡¿⌐ αÑú¿ßΓα«ó ¬«ñá ¿ ñá¡¡δσ  π  ¡ÑÑ  ñ«½ª¡á
  955.      íδΓ∞ Γᬫ⌐ ªÑ,  ¬á¬ ¿ π πªÑ αѺ¿ñÑ¡Γ¡«⌐ »α«úαá¼¼δ. Å«½∞ºπ∩ß∞ φΓ¿¼
  956.      á½ú«α¿Γ¼«¼, óδ ßαáó¡¿óáÑΓÑ º¡áτÑ¡¿Ñ »« ß««ΓóÑΓßΓóπεΘ¿¼ ß¼ÑΘÑ¡¿Ñ¼,
  957.      ¿  Ñß½¿  «¡¿  «ñ¿¡á¬«óδ,  Γ«  »α«úαá¼¼á πªÑ ºáúαπªÑ¡á,  ¿ Σπ¡¬µ¿∩
  958.      resident óÑα¡ÑΓ ¡á⌐ñÑ¡¡δ⌐ óÑ¬Γ«α ó Σπ¡¬µ¿ε main ó  popup.ß.  àß½¿
  959.      ß¿ú¡áΓπαδ  ¡Ñ  αáó¡δ,  ß¬á¡¿α«óá¡¿Ñ  »α«ñ«½ªáÑΓß∩,  »«¬á ¡Ñ íπñπΓ
  960.      »α«óÑαÑ¡δ óßÑ óÑ¬Γ«αδ.  àß½¿ «»αÑñѽ∩ÑΓß∩,  τΓ« TSR-»α«úαá¼¼á ÑΘÑ
  961.      ¡Ñ   αѺ¿ñÑ¡Γ¡á,   Γ«   »Ñαóδ⌐   »«ñσ«ñ∩Θ¿⌐   óÑ¬Γ«α   ßΓá¡«ó¿Γß∩
  962.      ¬«¼¼π¡¿¬áµ¿«¡¡δ¼. é Σπ¡¬µ¿ε main ó«ºóαáΘáÑΓß∩  0,  τΓ«  «º¡áτáÑΓ,
  963.      τΓ« »α«úαá¼¼á ßΓá½á αѺ¿ñÑ¡Γ¡«⌐.
  964.  
  965.  
  966.  
  967.                è«¼¼π¡¿¬áµ¿«¡¡δÑ »αÑαδóá¡¿∩.
  968.      ----------------------------------------------------------------
  969.  
  970.           àß½¿ Σπ¡¬µ¿∩ main  «í¡áαπª¿óáÑΓ,  τΓ«  ¬«»¿∩  »α«úαá¼¼δ  πªÑ
  971.      αѺ¿ñÑ¡Γ¡á,    «¡á    »α«óÑα∩ÑΓ   »áαá¼ÑΓαδ   ¬«¼á¡ñ¡«⌐   ßΓ᫬¿.
  972.      êß»«½∞ºπѼá∩ ΓÑσ¡¿¬á »«ºó«½∩ÑΓ »ÑαÑñáóáΓ∞ »α¿  ºá»π߬Ѡ »α«úαá¼¼δ
  973.      »áαá¼ÑΓαδ ñ½∩  ÑÑ  αѺ¿ñÑ¡Γ¡«⌐  ¬«»¿¿.  ìừ¼¡¿¼,  τΓ«  ó  »á¼∩Γ¿
  974.      ¿¼ÑÑΓß∩ ó φë༫¼Ñ¡Γ ñóÑ ¬«»¿¿  TSR-»α«úαá¼¼δ  -  αѺ¿ñÑ¡Γ¡á∩  ¿
  975.      Γ«½∞¬« τΓ«  ºáúαπªÑ¡¡á∩  ó  ¡ÑαѺ¿ñÑ¡Γ¡πε «í½áßΓ∞.  ìÑαѺ¿ñÑ¡Γ¡á∩
  976.  
  977.                              - 26 -
  978.      óÑαß¿∩   ¼«ªÑΓ   ßó∩ºδóáΓ∞ß∩   ß   αѺ¿ñÑ¡Γ¡«⌐    ¬«»¿Ñ⌐    τÑαѺ
  979.      ¬«¼¼π¡¿¬áµ¿«¡¡δ⌐ óÑ¬Γ«α.  é  Γ¿»¿τ¡«⌐  TSR-»α«úαἼѠ¿ß»«½∞ºπεΓß∩
  980.      Γα¿   »áαá¼ÑΓαá,   ¡«    óδ    ¼«ªÑΓÑ    ñ«íáó¿Γ∞    ÑΘÑ,    Ñß½¿
  981.      ¡Ñ«íσ«ñ¿¼«. æΓá¡ñáαΓ¡δÑ   Γα¿   »«ºó«½∩εΓ   »«½∞º«óáΓÑ½ε  πñá½∩Γ∞
  982.      »α«úαá¼¼π  ¿º  »á¼∩Γ¿,   »α¿«ßΓá¡áó½¿óáΓ∞   ¿   ó«º«í¡«ó½∩Γ∞   ÑÑ
  983.      óδ»«½¡Ñ¡¿Ñ. àß½¿ «ñ¿¡ ¿º φΓ¿σ »áαá¼ÑΓα«ó »α¿ßπΓßΓóπÑΓ ó ¬«¼á¡ñ¡«⌐
  984.      ßΓα«¬Ñ (φΓ« «»αÑñѽ∩ÑΓß∩ »α¿ »«¼«Θ¿ args,argv),  Γ«  úÑ¡Ñα¿απÑΓß∩
  985.      »α«úαá¼¼¡«Ñ   »αÑαδóá¡¿Ñ,   ß   πßΓá¡«ó½Ñ¡¿Ñ¼   αÑú¿ßΓαá   ax   ó
  986.      ß««ΓóÑΓßΓóπεΘÑÑ «»µ¿¿ º¡áτÑ¡¿Ñ.  ÅαÑαδóá¡¿Ñ úÑ¡Ñα¿απÑΓß∩ Σπ¡¬µ¿Ñ⌐
  987.      main ¡ÑαѺ¿ñÑ¡Γ¡«⌐ ¬«»¿¿ TSR-»α«úαá¼¼δ.
  988.  
  989.           Å«ß¼«Γα¿¼ ñá½ÑÑ  ¡á  ½¿ßΓ¿¡ú  popup.c.  öπ¡¬µ¿∩ »αÑαδóá¡¿∩ ß
  990.      ¿¼Ñ¡Ñ¼ ifunc ∩ó½∩ÑΓß∩ «íαáí«Γτ¿¬«¼  ¬«¼¼π¡¿¬áµ¿«¡¡«ú« »αÑαδóá¡¿∩.
  991.      è«úñá  Σπ¡¬µ¿∩  main ¡ÑαѺ¿ñÑ¡Γ¡«⌐ ¬«»¿¿ TSR-»α«úαá¼¼δ ¿¡¿µ¿¿απÑΓ
  992.      »αÑαδóá¡¿Ñ,  óδºδóáÑΓß∩  «íαáí«Γτ¿¬  ¿º  αѺ¿ñÑ¡Γ¡«⌐  ¬«»¿¿.   Ä¡
  993.      »α«óÑα∩ÑΓ  º¡áτÑ¡¿Ñ  αÑú¿ßΓαá  ax  ¿  »α«¿ºó«ñ¿Γ  ß««ΓóÑΓßΓóπεΘ¿Ñ
  994.      ñÑ⌐ßΓó¿∩. Åα¿ φΓ«¼ óδºδóáÑΓß∩ «ñ¡á ¿º  ΓαÑσ  Σπ¡¬µ¿⌐:  terminate,
  995.      restart  ¿½¿ wait ó resident.c.  éδ ¼«ªÑΓÑ óßΓáó¿Γ∞ ßεñá ¿ ñαπúπε
  996.      ½«ú¿¬π, τΓ«íδ π»αáó½∩Γ∞ ß«ßΓ«∩¡¿Ñ¼ αѺ¿ñÑ¡Γ¡«⌐ »α«úαá¼¼δ.
  997.  
  998.           öπ¡¬µ¿¿ wait ¿ restart ó resident.c »α«ßΓ«  πßΓá¡áó½¿óáεΓ  ¿
  999.      «τ¿ΘáεΓ Σ½áú, «º¡áτáεΘ¿⌐ ñ½∩ «íαáí«Γτ¿¬á ¬½áó¿áΓπαδ ¡Ñ«íσ«ñ¿¼«ßΓ∞
  1000.      αÑᬵ¿¿ ¡á ¡áªáΓ¿Ñ ¬½áó¿Φ¿ "ú«α∩τÑú« ¬½ετá".
  1001.  
  1002.           öπ¡¬µ¿∩ terminate ó resident.c ñ«½ª¡á «»αÑñѽ∩Γ∞,  ¼«ªÑΓ  ½¿
  1003.      íδΓ∞ ºáóÑαΦÑ¡á TSR-»α«úαá¼¼á,  ¿ ºáΓѼ,  Ñß½¿ ñá, »α«¿ºó«ñ¿Γ∞ óßÑ
  1004.      ñÑ⌐ßΓó¿∩,  á¡á½«ú¿τ¡δÑ ñÑ⌐ßΓó¿∩¼ äÄæ »α¿ ºáóÑαΦÑ¡¿¿ ¡ÑαѺ¿ñÑ¡Γ¡«⌐
  1005.      »α«úαá¼¼δ. ¥Γ«Γ  »α«µÑßß  íπñÑΓ  «íßπªñáΓ∞ß∩  »«ß½Ñ Γ«ú«,  ¬á¬ óδ
  1006.      »«⌐¼ÑΓÑ, ¬á¬ »α«úαá¼¼á ßΓá¡«ó¿Γß∩ αѺ¿ñÑ¡Γ¡«⌐.
  1007.  
  1008.  
  1009.  
  1010.                Å«ñú«Γ«ó¬á ¬ αѺ¿ñÑ¡Γ¡«ßΓ¿.
  1011.      -----------------------------------------------------------------
  1012.  
  1013.           àß½¿ Σπ¡¬µ¿∩  resident «í¡áαπª¿óáÑΓ,  τΓ« »α«úαá¼¼á ÑΘÑ ¡Ñ ó
  1014.      »á¼∩Γ¿,  Γ« popup.c »«ñú«Γáó½¿óáÑΓ ßÑí∩ ¬ »ÑαÑσ«ñπ ó αѺ¿ñÑ¡Γ¡δÑ.
  1015.  
  1016.                              - 27 -
  1017.      óáΦá  »α«úαἼᠠºáσ«τÑΓ «Γ¬αδΓ∞ Σá⌐½δ ¿½¿ ßñѽáΓ∞ ÑΘÑ τΓ«-¡¿íπñ∞
  1018.      "»« σ«º∩⌐ßΓóπ"  »α¿  ÑÑ  ó맮óÑ.  Popup.c,  óº∩Γá∩  ñ½∩  »α¿¼Ñαá,
  1019.      óδºδóáÑΓ  load_help  ñ½∩  πßΓᡫ󬿠 Σπ¡¬µ¿⌐  »«¼«Θ¿  ¿º ú½áóδ 7,
  1020.      πßΓá¡áó½¿óáÑΓ »πΓ∞ äÄæ ñ½∩ ¿ß»«½∞º«óá¡¿∩  »α«úαá¼¼«⌐  notepad  ¿º
  1021.      ú½áóδ 9,  ¿ óδñáÑΓ ß««íΘÑ¡¿Ñ. Å«Γ«¼ «¡á óδºδóáÑΓ resinit, Σπ¡¬µ¿ε
  1022.      ¿º resident.c,  ¬«Γ«αá∩ ñѽáÑΓ  óßÑ  «ßΓá½∞¡«Ñ,  τΓ«íδ  »α«úαá¼¼á
  1023.      ßΓá½á αѺ¿ñÑ¡Γ¡«⌐.
  1024.  
  1025.           ÅÑαó«¡áτá½∞¡«, resinit  ß«σαá¡∩ÑΓ º¡áτÑ¡¿Ñ αÑú¿ßΓαá ßÑú¼Ñ¡Γá
  1026.      ßΓѬá ñ½∩ »ÑαѬ½ετÑ¡¿∩ ¬«¡ΓѬßΓá ßΓѬ«ó »α¿ ó맮óÑ TSR-»α«úαá¼¼δ.
  1027.      çáΓѼ  τ¿ΓáÑΓß∩  Σ½áú  ºá¡∩Γ«ßΓ¿  äÄæ ß »«¼«Θ∞ε Σπ¡¬µ¿¿ äÄæ 0σ34.
  1028.      öπ¡¬µ¿∩ getdta »«½πτáÑΓ áñαÑß ñ¿ß¬«ó«ú« íπΣÑαá ñ½∩ TSR-»α«úαá¼¼δ.
  1029.      ¥Γ«Γ   áñαÑß   ΓᬪѠ ¿ß»«½∞ºπÑΓß∩  »α¿  ñá½∞¡Ñ⌐ΦѼ  »ÑαѬ½ετÑ¡¿¿
  1030.      ¬«¡ΓѬßΓ«ó. ÇñαÑß ¿ñÑ¡Γ¿Σ¿¬áΓ«αá »α«µÑßßá (PID) ó«ßßΓá¡áó½¿óáÑΓß∩
  1031.      ¿  ß«σαá¡∩ÑΓß∩.  ¥Γá  ΓÑσ¡¿¬á  «íΩ∩ß¡∩½áß∞  ó  ú½áóÑ 11.  éÑ¬Γ«αδ
  1032.      »αÑαδóá¡¿∩ ñ½∩ Γá⌐¼Ñαá,  ¬½áó¿áΓπαδ,  ñ¿ß¬á ¿  DOSOK  τ¿ΓáεΓß∩  ¿
  1033.      ºá»«¼¿¡áεΓß∩  ñ½∩ ßó∩ºδóá¡¿∩ »αÑαδóá¡¿⌐ ó µÑ»«τ¬¿,  ¿ ß«íßΓóÑ¡¡δÑ
  1034.      «íαáí«Γτ¿¬¿ »α¿ß«Ññ¿¡∩εΓß∩ ¬ φΓ¿¼  »αÑαδóá¡¿∩¼.  ô¬áºáΓѽ∞  ßΓѬá
  1035.      TSR-»α«úαá¼¼δ óδτ¿ß½∩ÑΓß∩ Γá¬, τΓ«íδ íδΓ∞ ¡á 300 íá⌐Γ ¼Ñ¡∞ΦÑ, τѼ
  1036.      αẼÑα  »α«úαá¼¼δ,   ¿   óÑ¬Γ«α   «íαáí«Γ¬¿   ñѽѡ¿∩   ¡á   ¡«½∞
  1037.      ó«ßßΓá¡áó½¿óáÑΓß∩ ¡á Γ« º¡áτÑ¡¿Ñ,  ¬«Γ«α«Ñ «¡ ¿¼Ñ½ ñ« Γ«ú« ,  ¬á¬
  1038.      ßΓáαΓ«óδ⌐ ¬«ñ »α¿ß«Ññ¿¡¿½ Ñú«. çáΓѼ TSR-Σπ¡¬µ¿∩ äÄæ ¿ß»«½∞ºπÑΓß∩
  1039.      ñ½∩ ºáóÑαΦÑ¡¿∩ »α«úαá¼¼δ, «ßΓáó½∩∩ ÑÑ αѺ¿ñÑ¡Γ¡«⌐.
  1040.  
  1041.  
  1042.  
  1043.                Äíαáí«Γτ¿¬ «íαáΘÑ¡¿∩ ¬ ñ¿ß¬π.
  1044.      -----------------------------------------------------------------
  1045.  
  1046.           é Γ« óαѼ∩,  ¬á¬ ¬«¼»∞εΓÑα óδ»«½¡∩ÑΓ »α«úαá¼¼π,  ¿ »α«úαá¼¼á
  1047.      óδºδóáÑΓ äÄæ,  äÄæ ¿ß»«½∞ºπÑΓ ñ¿ß¬«ó«Ñ »αÑαδóá¡¿Ñ BIOS (0σ13) ñ½∩
  1048.      τΓÑ¡¿∩ ¿ ºá»¿ß¿ ßÑ¬Γ«α«ó ñá¡¡δσ. ìừ¼¡¿¼, τΓ« ó ú½áóÑ 11 óáß πªÑ
  1049.      »αÑñπ»αѪñ὿  «  Γ«¼,  τΓ«  ñ¿ß¬«óδÑ  «»Ñαᵿ¿ »αÑαδóáΓ∞ ¡Ñ½∞º∩.
  1050.      Äíαáí«Γτ¿¬π ñ¿ß¬á ó resident.c ñá¡« ¿¼∩ newdisk,  ¿  «¡  ºáΘ¿ΘáÑΓ
  1051.      ñ¿ß¬«óδÑ   «»Ñαᵿ¿   «Γ  »αÑαδóá¡¿∩  óáΦÑ⌐  TSR-»α«úαá¼¼«⌐.  Åα¿
  1052.      ó«º¡¿¬¡«óÑ¡¿¿ »αÑαδóá¡¿∩ 0σ13 πßΓá¡áó½¿óáÑΓß∩ Σ½áú, á »«ß½Ñ φΓ«ú«
  1053.      π»αáó½Ñ¡¿Ñ »ÑαÑñáÑΓß∩   ¡á  «íαáí«Γ¬π  ñ¿ß¬«óδσ  «»Ñαᵿ⌐.  Å«ß½Ñ
  1054.  
  1055.                              - 28 -
  1056.      «¬«¡τá¡¿∩ «íαáí«Γ¬¿ Σ½áú «τ¿ΘáÑΓß∩.  àß½¿ φëà Σ½áú  πßΓá¡«ó½Ñ¡,
  1057.      ¬«úñá »α«úαἼᠠ óδºδóáÑΓß∩  »«  ¡áªáΓ¿ε  "ú«α∩τÑú«  ¬½ετá",  Γ«
  1058.      »α«¿ºó«ñ¿Γß∩ ºáñÑ᪬á óδ»«½¡Ñ¡¿∩ ñ« «τ¿ßΓ¬¿ φΓ«ú« Σ½áúá.
  1059.  
  1060.           ÄíαáΓ¿ΓѠ󡿼᡿Ѡ¡á Γαε¬ ó newdisk.  öπ¡¬µ¿∩, «»¿ßá¡¡á∩ ¬á¬
  1061.      interrupt,  ß«σαá¡∩ÑΓ óßÑ αÑú¿ßΓαδ ó ßΓѬÑ, πßΓá¡áó½¿óáÑΓ αÑú¿ßΓα
  1062.      ds ¡á ßÑú¼Ñ¡Γ ñá¡¡δσ »α«úαá¼¼δ,  ß«ñÑαªáΘÑ⌐  φΓπ  Σπ¡¬µ¿ε.  çáΓѼ
  1063.      ¡áτ¿¡áÑΓß∩   óδ»«½¡Ñ¡¿Ñ  ¬«ñá  Σπ¡¬µ¿¿.  Åα¿  ºáóÑαΦÑ¡¿¿  Σπ¡¬µ¿¿
  1064.      αÑú¿ßΓαδ  ó«ßßΓá¡áó½¿óáεΓß∩,  ¿  óδ»«½¡∩ÑΓß∩   ¼áΦ¿¡¡á∩   ¬«¼á¡ñá
  1065.      IRET. ¥Γá ¬«¼á¡ñá ó«ßßΓá¡áó½¿óáÑΓ αÑú¿ßΓαδ »α«úαá¼¼¡«ú« ßτÑΓτ¿¬á,
  1066.      ßÑú¼Ñ¡Γá  ¬«ñá  ¿  Σ½áª¬«ó.  Æá¬¿¼  «íαẫ¼,  óδ»«½¡∩ÑΓß∩  »«½¡«Ñ
  1067.      ó«ßßΓá¡«ó½Ñ¡¿Ñ αÑú¿ßΓα«ó »αÑαóá¡¡«⌐ »α«úαá¼¼δ.
  1068.  
  1069.           éßÑ αáí«ΓáÑΓ  ñ«  ΓÑσ  »«α,  »«¬á  óδ  ¡Ñ ¿¼ÑÑΓÑ »αÑαδóá¡¿∩,
  1070.      ¬«Γ«α«Ñ  ó«ºóαáΘáÑΓ  πß½«ó¿Ñ  ó  Σ½áúÑ  »ÑαÑ¡«ßá.  è«¼á¡ñá   IRET
  1071.      ó«ßßΓá¡áó½¿óáÑΓ   óßÑ   Σ½áú¿   ó  ß«ßΓ«∩¡¿Ñ,  ¬«Γ«α«Ñ  í佫  »α¿
  1072.      ó«º¡¿¬¡«óÑ¡¿¿ »αÑαδóá¡¿∩.  ìѬ«Γ«αδÑ »α«úαá¼¼¡δÑ »αÑαδóá¡¿∩ äÄæ ¿
  1073.      BIOS ¿ß»«½∞ºπεΓ φëàӽáú ñ½∩ ¿¡ñ¿¬áµ¿¿ αѺπ½∞ΓáΓá.  é ¿σ τ¿ß½Ñ ¿
  1074.      »αÑαδóá¡¿Ñ 0σ13 BIOS;  «ñ¡á¬« »α«úαἼᠫíαáí«Γτ¿¬á  «íαáΘÑ¡¿⌐  ¬
  1075.      ñ¿ß¬π ß«σαá¡∩ÑΓ º¡áτÑ¡¿Ñ Σ½áª¬á »ÑαÑ¡«ßá.  è«úñá ºá¬á¡τ¿óáÑΓ ßó«¿
  1076.      ñÑ⌐ßΓó¿∩ »α¿ß«Ññ¿¡Ñ¡¡δ⌐ «íαáí«Γτ¿¬  olddisk,  ¡Ñ«íσ«ñ¿¼«  óÑα¡πΓ∞
  1077.      óδºδóáóΦѼπ »α«µÑßßπ ñóá º¡áτÑ¡¿∩:  αÑú¿ßΓα ax ¿ Σ½áª«¬ »ÑαÑ¡«ßá.
  1078.      ç¡áτÑ¡¿Ñ ax íÑαÑΓß∩ ¿º »ßÑóñ«»ÑαѼѡ¡«⌐ _AX ¿ »«¼ÑΘáÑΓß∩  ó µÑ½πε
  1079.      »ÑαѼѡ¡πε ax, ∩ó½∩εΘπεß∩ «ñ¡¿¼ ¿º »áαá¼ÑΓα«ó Σπ¡¬µ¿¿ »αÑαδóá¡¿∩.
  1080.      Æπαí« æ¿  ¿ß»«½∞ºπÑΓ  φΓ«  ßαÑñßΓó«,  τΓ«íδ   ¿º¼Ñ¡∩Γ∞   º¡áτÑ¡¿∩
  1081.      αÑú¿ßΓα«ó,  ¬«Γ«αδÑ  íπñπΓ ó«ßßΓá¡«ó½Ñ¡δ ¿º ßΓÑ¬á »α¿ ó«ºóαáΓÑ ¿º
  1082.      Σπ¡¬µ¿¿. ä½∩  αÑú¿ßΓαá  Σ½áú«ó  »ßÑóñ«»ÑαѼѡ¡«⌐  ¡ÑΓ,  ¿,  τΓ«íδ
  1083.      ¿ºíѪáΓ∞   »α«úαá¼¼¿α«óá¡¿∩  ¡á  áßßѼí½ÑαÑ,  ñѽáÑΓß∩  ß½ÑñπεΘ¿⌐
  1084.      σφ¬¬Ñα߬¿⌐ Γαε¬:  ºá Σπ¡¬µ¿Ñ⌐ newdisk ¼«ªÑΓ íδΓ∞ ßαáºπ ªÑ óδºóá¡á
  1085.      Σπ¡¬µ¿∩  newcrit,  ¿ «¡á ºá»¿ΦÑΓ Σ½áú«óδ⌐ αÑú¿ßΓα,  ß«σαá¡Ñ¡¡δ⌐ ó
  1086.      ßΓѬѠ»α¿ ÑÑ ó맮óÑ, ó« ó¡ÑΦ¡εε »ÑαѼѡ¡πε cflag. Åα¿ ó«ºóαáΓÑ ¿º
  1087.      newcrit  cflag  ºá»¿ßδóáÑΓß∩  ó ßΓѬ,  úñÑ í佫 ß«σαá¡Ñ¡« »α«Φ½«Ñ
  1088.      º¡áτÑ¡¿Ñ αÑú¿ßΓαá Σ½áú«ó.Åα¿ ó«ºóαáΓÑ ¿º  Σπ¡¬µ¿¿  αѺπ½∞Γ¿απεΘ¿Ñ
  1089.      Σ½áú¿ ¿º olddisk íπñπΓ ó«ßßΓá¡«ó½Ñ¡δ ó αÑú¿ßΓα Σ½áú«ó.
  1090.  
  1091.           ¥Γ¿ ñÑ⌐ßΓó¿∩  íếαπεΓß∩  ¡á  »«¡¿¼á¡¿¿  Γ«ú«,  ¬á¬ Æπαí« æ¿
  1092.      ¿ß»«½∞ºπÑΓ αÑú¿ßΓαδ ¿ »α«¿ºó«ñ¿Γß∩ óδº«ó  ¿  ó«ºóαáΓ  ¿º  Σπ¡¬µ¿⌐
  1093.  
  1094.                              - 29 -
  1095.      interrupt.  Æá¬¿¼ «íαẫ¼,  φΓ¿ »α«úαá¼¼δ ¡Ñ »ÑαÑ¡«ß¿¼δ ¡á ñαπú«⌐
  1096.      ¬«¼»¿½∩Γ«α,  ¿ ¼«úπΓ íδΓ∞ ¡Ñß«ó¼ÑßΓ¿¼δ ñáªÑ ß  íπñπΘ¿¼¿  óÑαß¿∩¼¿
  1097.      Æπαí« æ¿,  Ñß½¿ Borland ¿º¼Ñ¡¿Γ ßó«¿ ß«ú½áΦÑ¡¿∩.  Åα«úαá¼¼¿ßΓδ ¡á
  1098.      áßßѼí½ÑαÑ,  ó«º¼«ª¡«, ß¬áªπΓ, τΓ« »«ñ«í¡δÑ ñÑßΓó¿∩ ¼«ª¡« í佫 íδ
  1099.      ½Ñú¬« »α«ñѽáΓ∞ ¡á ¿σ ½εí¿¼«¼ ∩ºδ¬Ñ.  ¥Γá ¬α¿Γ¿¬á óÑα¡á,  ¡« φΓ«Γ
  1100.      »α«úαá¼¼¡δ⌐  Γαε¬  ∩ó½∩ÑΓß∩  »α¿¼Ñα«¼,  ¬á¬  ñ«ßΓ¿ú¡πΓ∞  »αÑñѽ«ó
  1101.      ó«º¼«ª¡«ßΓÑ⌐ Æπαí«  æ¿.  ÇóΓ«α í½áú«ñáαÑ¡ Æπαí« æ¿ ºá Γ«Γ ßÑαó¿ß,
  1102.      ¬«Γ«αδ⌐ »αÑñ«ßΓáó½∩ÑΓß∩ ñ½∩ αáºαÑΦÑ¡¿∩ óßÑσ  »α«í½Ñ¼, ó«º¡¿¬áεΘ¿σ
  1103.      »α¿ ß«ºñá¡¿¿ TSR-»α«úαá¼¼.
  1104.  
  1105.  
  1106.  
  1107.                Äíαáí«Γτ¿¬ ¬α¿Γ¿τÑ߬¿σ ß¿Γπᵿ⌐.
  1108.      -----------------------------------------------------------------
  1109.  
  1110.           öπ¡¬µ¿∩ interrupt ß ¿¼Ñ¡Ñ¼ newcrit  ∩ó½∩ÑΓß∩  »α¿ß«Ññ¿¡Ñ¡¡δ¼
  1111.      «íαáí«Γτ¿¬«¼ ¬α¿Γ¿τÑ߬¿σ   ß¿Γπᵿ⌐.   Ä¡á  ¡Ñ  »α¿ß«Ññ¿¡∩ÑΓß∩  ¬
  1112.      »αÑαδóá¡¿ε,  ¬«úñá »α«úαἼᠫíΩ∩ó½∩ÑΓ ßÑí∩ αѺ¿ñÑ¡Γ¡«⌐, á ñѽáÑΓ
  1113.      φΓ« ½¿Φ∞  óαѼѡ¡«,  »α¿  "óß»½δΓ¿¿" TSR-»α«úαá¼¼δ.  àú« ºáñáτá -
  1114.      «íѺ«»áß¿Γ∞ TSR-»α«úαá¼¼π «Γ ó«º¡¿¬¡«óÑ¡¿∩ ¬α¿Γ¿τÑ߬¿σ  «Φ¿í«¬  ó
  1115.      Γ« óαѼ∩,  ¬á¬  «¡á  »ÑαѬ½ετ¿½á  ¬«¡ΓѬßΓ  ¡á  ßÑí∩.  Äíαáí«Γτ¿¬
  1116.      ó«ºóαáΘáÑΓ ¡«½∞ ó αÑú¿ßΓαÑ ax,  τΓ« «º¡áτáÑΓ ñ½∩ äÄæ ¿ú¡«α¿α«óáΓ∞
  1117.      «Φ¿í¬π.
  1118.  
  1119.  
  1120.  
  1121.                Äíαáí«Γτ¿¬ ¬½áó¿áΓπαδ.
  1122.      -----------------------------------------------------------------
  1123.  
  1124.           öπ¡¬µ¿∩ interrupt  ß  ¿¼Ñ¡Ñ¼  newkb  ∩ó½∩ÑΓß∩   «íαáí«Γτ¿¬«¼
  1125.      ¬½áó¿áΓπαδ ñ½∩ TSR-»α«úαá¼¼δ. Ä¡á τ¿ΓáÑΓ »«αΓ ñá¡¡δ󠬽áó¿áΓπαδ ¿
  1126.      »α«óÑα∩ÑΓ ¡á ß««ΓóÑΓßΓó¿Ñ  «»αÑñѽѡ¡«¼π  ß¬á¡-¬«ñπ,  «º¡áτáεΘѼπ
  1127.      ¡áªáΓ¿Ñ  ¬½áó¿Φ¿   "ú«α∩τÑú«   ¬½ετá".   Åα¿   αáóÑ¡ßΓóÑ  ¿  Ñß½¿
  1128.      TSR-»α«úαἼᠡѠ»α¿«ßΓá¡«ó½Ñ¡á,  "ú«α∩τ¿⌐ ¬½ετ"  á¬Γ¿ó¿º¿απÑΓß∩.
  1129.      öπ¡¬µ¿∩ ßíαáßδóáÑΓ ¬½áó¿áΓπαπ,  τΓ«íδ ¡Ñ í佫 íπñπΘ¿σ »αÑαδóá¡¿⌐,
  1130.      ¿ ºáΓѼ »α«óÑα∩ÑΓ,  á ¡Ñ óδºóá¡á ½¿ πªÑ TSR-»α«úαá¼¼á.  àß½¿ ¡ÑΓ,
  1131.      Γ« πßΓá¡áó½¿óáÑΓß∩ Σ½áú,  «º¡áτáεΘ¿⌐, τΓ« ¡áªáΓ "ú«α∩τ¿⌐ ¬½ετ", ¿
  1132.  
  1133.                              - 30 -
  1134.      óδ»«½¡Ñ¡¿Ñ Σπ¡¬µ¿¿ ºá¬á¡τ¿óáÑΓß∩.
  1135.  
  1136.           àß½¿  ß¬á¡-¬«ñ ¿ ¼á߬á ßΓáΓπßá ¡Ñ αáó¡δ "ú«α∩τÑ¼π ¬½ετπ", Γ«
  1137.      π»αáó½Ñ¡¿Ñ  »ÑαÑñáÑΓß∩  ßΓáα«⌐  »α«úαἼѠ«íαáí«Γ¬¿ »αÑαδóá¡¿⌐ «Γ
  1138.      ¬½áó¿áΓπαδ.
  1139.  
  1140.  
  1141.  
  1142.                Äíαáí«Γτ¿¬ Γá⌐¼Ñαá.
  1143.      -----------------------------------------------------------------
  1144.  
  1145.           èáªñδ⌐ ¿¼»π½∞ß  Γá⌐¼Ñαá óδºδóáÑΓ óδ»«½¡Ñ¡¿Ñ Σπ¡¬µ¿¿ newtimer
  1146.      ó  resident.c.  ÅαѪñÑ  óßÑú«  «¡á  óδºδóáÑΓ  ßΓáαδ⌐   «íαáí«Γτ¿¬
  1147.      Γá⌐¼Ñαá. çáΓѼ  «¡á »α«óÑα∩ÑΓ,  ¡Ñ ¡áªáΓ ½¿ "ú«α∩τ¿⌐ ¬½ετ".  àß½¿
  1148.      ñá, Γ« »α«óÑα∩ÑΓß∩ Σ½áª«¬ ºá¡∩Γ«ßΓ¿ äÄæ.  àß½¿ äÄæ ¡Ñ ºá¡∩Γá,  Γ«
  1149.      newtimer  »α«óÑα∩ÑΓ,  ¡Ñ  »α«¿ºó«ñ¿Γß∩  ½¿ ó φë༫¼Ñ¡Γ ñ¿ß¬«óá∩
  1150.      «»Ñαᵿ∩. àß½¿  ¡ÑΓ,  Γ«  ßíαáßδóáÑΓß∩  »αÑαδóá¡¿Ñ  «Γ   Γá⌐¼Ñαá,
  1151.      «τ¿ΘáÑΓß∩  Σ½áª«¬  "ú«α∩τÑú« ¬½ετá",  ¿ óδºδóáÑΓß∩ Σπ¡¬µ¿∩ dores,
  1152.      ¡áτ¿¡áεΘá∩ óδ»«½¡Ñ¡¿Ñ TSR-»α«úαá¼¼δ.
  1153.  
  1154.  
  1155.  
  1156.                Äíαáí«Γτ¿¬ DOSOK.
  1157.      -----------------------------------------------------------------
  1158.  
  1159.           ÅαÑαδóá¡¿Ñ DOSOK «íß½πª¿óáÑΓß∩ «íαáí«Γτ¿¬«¼ ß ¿¼Ñ¡Ñ¼ new28 ó
  1160.      resident.c.  Ä¡  »α¿ß«Ññ¿¡∩ÑΓß∩  ¬  ßΓáα«¼π   «íαáí«Γτ¿¬π   φΓ«ú«
  1161.      »αÑαδóá¡¿∩, ¿   »α«óÑα∩ÑΓ   Σ½áª«¬   "ú«α∩τÑú«  ¬½ετá".  àß½¿  «¡
  1162.      πßΓá¡«ó½Ñ¡,  Γ« »α«óÑα∩ÑΓß∩,  ºá¡∩Γá ½¿ äÄæ,  ¿  ºáΓѼ  «τ¿ΘáÑΓß∩
  1163.      Σ½áª«¬ "ú«α∩τÑú« ¬½ετá" ¿ óδºδóáÑΓß∩ dores.
  1164.  
  1165.  
  1166.  
  1167.                éδ»«½¡Ñ¡¿Ñ TSR-»α«úαá¼¼δ.
  1168.      -----------------------------------------------------------------
  1169.  
  1170.           öπ¡¬µ¿∩ dores óδºδóáÑΓß∩  ½¿Φ∞  »«ß½Ñ  Γ«ú«,  ¬á¬  »α«úαá¼¼á
  1171.  
  1172.                              - 31 -
  1173.      πíÑñ¿½áß∞  ó  íѺ«»áß¡«ßΓ¿ ßó«Ñú« óδ»«½¡Ñ¡¿∩.  Dores »αѪñÑ óßÑú«
  1174.      πßΓá¡áó½¿óáÑΓ  Σ½áª«¬,  «º¡áτáεΘ¿⌐,  τΓ«  «¡á  óδ»«½¡∩ÑΓß∩.   ¥Γá
  1175.      πßΓá¡«ó¬á  »αÑñ«σαá¡∩ÑΓ  «Γ  »«óΓ«α¡«ú«  ó맮óá  »πΓѼ óΓ«α¿τ¡«ú«
  1176.      ¡áªáΓ¿∩  "ú«α∩τÑú«  ¬½ετá".  çáΓѼ  ß«σαá¡∩ÑΓß∩   αÑú¿ßΓα   ßΓѬá
  1177.      »αÑαóá¡¡«⌐   »α«úαá¼¼δ,  ¿  π¬áºáΓѽ∞  ßΓѬᠠπßΓá¡áó½¿óáÑΓß∩  ¡á
  1178.      ß«íßΓóÑ¡¡δ⌐ ßΓѬ TSR-»α«úαá¼¼δ.
  1179.  
  1180.           æ«σαá¡∩ÑΓß∩ óÑ¬Γ«α »αÑαδóá¡¿∩ »« ¬α¿Γ¿τÑ߬«⌐  «Φ¿í¬Ñ,  ºáΓѼ
  1181.      ß««ΓóÑΓßΓóπεΘ¿⌐   «íαáí«Γτ¿¬   »α¿ß«Ññ¿¡∩ÑΓß∩  ¬  φΓ«¼π  óÑ¬Γ«απ.
  1182.      ÆÑ¬πΘ¿⌐ ßΓáΓπß Ctrl-Break ß«σαá¡∩ÑΓß∩, ¿ »αÑαδóá¡¿∩ »« Ctrl-Break
  1183.      ºá»αÑΘáεΓß∩.
  1184.  
  1185.           ÇñαÑß ñ¿ß¬«ó«ú«  íπΣÑαá »αÑαóá¡¡«⌐ »α«úαá¼¼δ ß«σαá¡∩ÑΓß∩,  ¿
  1186.      πßΓá¡áó½¿óáÑΓß∩ ¡á  ß««ΓóÑΓßΓóπεΘ¿⌐  ΓѬπΘÑ¼π  ¬«¡ΓѬßΓπ.  Æ«  ªÑ
  1187.      »α«¿ºó«ñ¿Γß∩ ¿   ß  ¿ñÑ¡Γ¿Σ¿¬áΓ«α«¼  »α«µÑßßá.  çáΓѼ  óδºδóáÑΓß∩
  1188.      πΓ¿½¿Γá popup  ¿º  popup.c.  öπ¡¬µ¿∩  popup   ß«σαá¡∩ÑΓ   ΓѬπΘÑÑ
  1189.      »«½«ªÑ¡¿Ñ ¬παß«αá,  óδºδóáÑΓ óáΦπ »α«úαá¼¼π,  »«ß½Ñ ÑÑ óδ»«½¡Ñ¡¿∩
  1190.      ó«ßßΓá¡áó½¿óáÑΓ ¬παß«α  ¿  ºá¬á¡τ¿óáÑΓß∩.  é   ½¿ßΓ¿¡úÑ   popup.c
  1191.      óδºδóáÑΓß∩  Σπ¡¬µ¿∩  exec,  óδ  ¼«ªÑΓÑ  »«ñßΓáó¿Γ∞ Γπñá ¿¼∩ óáΦÑ⌐
  1192.      »α«úαá¼¼δ.
  1193.  
  1194.           Åα¿ ºáóÑαΦÑ¡¿¿   popup   áñαÑßá   ¿ñÑ¡Γ¿Σ¿¬áΓ«αá   »α«µÑßßá,
  1195.      ñ¿ß¬«ó«ú« íπΣÑαá, óÑ¬Γ«α »αÑαδóá¡¿∩ »« ¬α¿Γ¿τÑ߬«⌐ «Φ¿í¬Ñ, ßΓáΓπß
  1196.      Ctrl-Break ¿ π¬áºáΓѽ∞ ßΓѬᠠó«ßßΓá¡áó½¿óáεΓß∩  ó  ΓÑ  º¡áτÑ¡¿∩,
  1197.      ¬«Γ«αδÑ «¡¿ ¿¼Ñ½¿ ñ« ó맮óá TSR-»α«úαá¼¼δ,  ¿ óδ»«½¡∩ÑΓß∩ ó«ºóαáΓ
  1198.      ó »αÑαóá¡¡πε »α«úαá¼¼π.
  1199.  
  1200.  
  1201.  
  1202.                ôñá½Ñ¡¿Ñ TSR-»α«úαá¼¼δ.
  1203.      -----------------------------------------------------------------
  1204.  
  1205.           Åα¿ πñá½Ñ¡¿¿  »«½∞º«óáΓѽѼ  TSR-»α«úαá¼¼δ  »πΓѼ ºá»π߬á ÑÑ
  1206.      ¬«»¿¿  ß   ß««ΓóÑΓßΓóπεΘ¿¼   »áαá¼ÑΓα«¼   ó   ¬«¼á¡ñ¡«⌐   ßΓ᫬Ñ,
  1207.      ¡ÑαѺ¿ñÑ¡Γ¡á∩  ¬«»¿∩  óδºδóáÑΓ αѺ¿ñÑ¡Γ¡πε τÑαѺ ¬«¼¼π¡¿¬áµ¿«¡¡«Ñ
  1208.      »αÑαδóá¡¿Ñ.  öπ¡¬µ¿∩ terminate ó resident.c »α«óÑα∩ÑΓ,  ¼«ªÑΓ  ½¿
  1209.      íδΓ∞  ß¡∩Γá »α«úαἼᠻπΓѼ »α«ß¼«Γαá,  ¡Ñ ¿º¼Ñ¡¿½¿ß∞ ½¿ º¡áτÑ¡¿∩
  1210.  
  1211.                              - 32 -
  1212.      óÑ¬Γ«α«ó »αÑαδóá¡¿⌐.  àß½¿ ¿º¼Ñ¡¿½¿ß∞,  óδ»«½¡Ñ¡¿Ñ  TSR-»α«úαá¼¼δ
  1213.      »α¿«ßΓá¡áó½¿óáÑΓß∩. àß½¿ ¡ÑΓ, «¡á ¼«ªÑΓ íδΓ∞ ß¡∩Γá.
  1214.  
  1215.           ä½∩ πñá½Ñ¡¿∩    TSR-»α«úαá¼¼δ   ¡Ñ«íσ«ñ¿¼«   »α«ñѽáΓ∞   Γα¿
  1216.      »α«µÑñπαδ. æ¡áτá½á óßÑ  Σá⌐½δ  ñ«½ª¡δ  íδΓ∞  ºá¬αδΓδ.  è«úñá  äÄæ
  1217.      ºáóÑαΦáÑΓ  »α«úαá¼¼π,  «¡á  »α«óÑα∩ÑΓ  óßÑ 20 φ½Ñ¼Ñ¡Γ«ó ó ¼áßß¿óÑ
  1218.      π¬áºáΓѽÑ⌐ Σá⌐½«ó ó PSP.  ¥Γá »α«µÑñπαá ºá¬αδóáÑΓ  óßÑ  Σá⌐½δ  ¡á
  1219.      πα«ó¡Ñ π¬áºáΓѽÑ⌐ ¿ ¡Ñ ºáΓαáú¿óáÑΓ »«Γ«¬«óδσ Σá⌐½«ó.  Æá¬ ¬á¬ φΓ¿
  1220.      Σá⌐½δ  ñ«½ª¡δ  íδΓ∞  ºá¬αδΓδ,  Γ«  terminate   óδºδóáÑΓ   Σπ¡¬µ¿ε
  1221.      closefiles ó popup.c, ºá¬αδóáεΘπε óßÑ «Γ¬αδΓδÑ Σá⌐½δ.
  1222.  
  1223.            éΓ«αá∩ »α«µÑñπαá  - ó«ßßΓá¡«ó½Ñ¡¿Ñ óßÑσ óÑ¬Γ«α«ó »αÑαδóá¡¿⌐
  1224.      ó  º¡áτÑ¡¿Ñ,  ¬«Γ«α«Ñ  «¡¿  ¿¼Ñ½¿  ñ«  »α¿ß«Ññ¿¡Ñ¡¿∩  ¿σ  ¬  ßÑíÑ
  1225.      TSR-»α«úαá¼¼«⌐.
  1226.  
  1227.           çáóÑαΦáεΘ¿¼ Φáú«¼  ∩ó½∩ÑΓß∩ «ßó«í«ªñÑ¡¿Ñ óßÑσ í½«¬«ó »á¼∩Γ¿,
  1228.      αáß»αÑñѽѡ¡δσ »«ñ  TSR-»α«úαá¼¼π.  Åá¼∩Γ∞  αáß»αÑñѽ∩ÑΓß∩  ñóπ¼∩
  1229.      ß»«ß«íἿ -  ¿º  äÄæ ¿ ¿º »α«úαá¼¼δ τÑαѺ ó맮ó Σπ¡¬µ¿⌐ äÄæ.  ¥Γ¿
  1230.      ñóá Γ¿»á í½«¬«ó »á¼∩Γ¿ ñ«½ª¡δ «ßó«í«ªñáΓ∞ß∩ ΓѼ ªÑ »πΓѼ, ¬«Γ«αδ¼
  1231.      ¿ óδñѽ∩½¿ß∞.
  1232.  
  1233.  
  1234.  
  1235.                ü½«¬¿ »á¼∩Γ¿ ¿ π»αáó½∩εΘ¿Ñ í½«¬¿ »á¼∩Γ¿.
  1236.      -----------------------------------------------------------------
  1237.  
  1238.           éδñѽ∩Ѽδ⌐ äÄæ  í½«¬   »á¼∩Γ¿   ß«ñÑαª¿Γ   16-íá⌐Γ¡δ⌐   í½«¬
  1239.      π»αáó½Ñ¡¿∩  »á¼∩Γ∞ε  (üôÅ),  ß½ÑñπεΘ¿⌐  ßαáºπ  ºá ß««ΓóÑΓßΓóπεΘ¿¼
  1240.      αáß»αÑñѽ∩Ñ¼δ¼ í½«¬«¼ »á¼∩Γ¿. Ä¡ ß«ñÑαª¿Γ ß½ÑñπεΘ¿Ñ »«½∩:
  1241.  
  1242.           - «ñ¡«íá⌐Γ¡δ⌐  ¼áα¬Ñα,  ¿ñÑ¡Γ¿Σ¿µ¿απεΘ¿⌐  üôÅ.  éßÑ,   ¬α«¼Ñ
  1243.      »«ß½Ññ¡Ñú« üôÅ ó ß»¿ß¬Ñ,  ¿¼ÑεΓ º¡áτÑ¡¿Ñ ¼áα¬Ñαá 0x4d.  Å«ß½Ññ¡¿⌐
  1244.      üôÅ ¿¼ÑÑΓ ¼áα¬Ñα 0x5a.
  1245.  
  1246.           - ñóπíá⌐Γ¡δ⌐ ¿ñÑ¡Γ¿Σ¿¬áΓ«α  »α«µÑßßá,  ¬«Γ«α«¼π  »α¿¡áñ½Ñª¿Γ
  1247.      í½«¬ »á¼∩Γ¿. àß½¿ í½«¬ ßó«í«ñÑ¡, φΓ« »«½Ñ ß«ñÑαª¿Γ 0.
  1248.  
  1249.  
  1250.                              - 33 -
  1251.           - ñóπíá⌐Γ¡δ⌐ αẼÑα í½«¬á »á¼∩Γ¿ ó »áαáúαáΣáσ. ÉẼÑα üôÅ ¡Ñ
  1252.      πτ¿ΓδóáÑΓß∩ ó φΓ«¼ º¡áτÑ¡¿¿. üôÅ ß½ÑñπÑΓ ó »á¼∩Γ¿ ¡Ñ»«ßαÑñßΓóÑ¡¡«
  1253.      ºá í½«¬«¼ »á¼∩Γ¿, ¬«Γ«αδ⌐ «¡ »αÑñßΓáó½∩ÑΓ. æó∩º¬¿ üôÅ-í½«¬ »á¼∩Γ¿
  1254.      αáß»«½áúáεΓß∩ ó »á¼∩Γ¿ ß¼Ñª¡«.  æÑú¼Ñ¡Γ¡δ⌐ áñαÑß  ß½ÑñπεΘÑú«  üôÅ
  1255.      αáóÑ¡  áñαÑßπ  »αÑñδñπΘÑú« üôÅ + αẼÑα í½«¬á »á¼∩Γ¿ + 1.  àß½¿ π
  1256.      óáß ÑßΓ∞ áñαÑß »Ñαó«ú« üôÅ ó »á¼∩Γ¿,  Γ«  ¼«ªÑΓÑ  »α«ß½Ññ¿Γ∞  óßε
  1257.      µÑ»«τ¬π.
  1258.  
  1259.           é äÄæ  ¿¼ÑÑΓß∩  Σπ¡¬µ¿∩ (ÑßΓÑßΓóÑ¡¡«,  ¡Ññ«¬π¼Ñ¡Γ¿α«óá¡¡á∩),
  1260.      ¬«Γ«αá∩ ¼«ªÑΓ íδΓ∞ ¿ß»«½∞º«óá¡á ñ½∩  «»αÑñѽѡ¿∩  áñαÑßá  »Ñαó«ú«
  1261.      üôŠ󠠵ѻ«τ¬Ñ.  ¥Γá  Σπ¡¬µ¿∩  0σ52  ó«ºóαáΘáÑΓ  ßÑú¼Ñ¡Γ¡δ⌐ áñαÑß
  1262.      »Ñαó«ú« üôÅ ó αÑú¿ßΓαÑ es ¿ ß¼ÑΘÑ¡¿Ñ  ó  αÑú¿ßΓαÑ bx. ¥ΣΣÑ¬Γ¿ó¡δ⌐
  1263.      áñαÑß  φΓ«⌐ »áαδ ßÑú¼Ñ¡Γ: ß¼ÑΘÑ¡¿Ñ, π¼Ñ¡∞ΦÑ¡¡δ⌐ ¡á 2,  ñáÑΓ áñαÑß
  1264.      ß½«óá,  ß«ñÑαªáΘÑú«  ßÑú¼Ñ¡Γ¡δ⌐  áñαÑß  »Ñαó«ú«  üôÅ  ó   µÑ»«τ¬Ñ
  1265.      αáß»αÑñѽѡ¡δσ äÄæ í½«¬«ó »á¼∩Γ¿.
  1266.  
  1267.           ä½∩ «ßó«í«ªñÑ¡¿∩ »á¼∩Γ¿,  ºá¡¿¼áѼ«⌐ TSR-»α«úαá¼¼«⌐,  ñ«½ªÑ¡
  1268.      íδΓ∞ »α«ß¼«ΓαÑ¡  óÑß∞  ß»¿ß«¬  üôÅ.   èáªñδ⌐   í½«¬,   ß«ñÑαªáΘ¿⌐
  1269.      ¿ñÑ¡Γ¿Σ¿¬áΓ«α  »α«µÑßßá(PID)  TSR-»α«úαá¼¼δ,  «ßó«í«ªñáÑΓß∩ »πΓѼ
  1270.      «íαáΘÑ¡¿∩ ¬ Σπ¡¬µ¿¿  äÄæ  0σ49.  Åα¿  ºáóÑαΦÑ¡¿¿  φΓ«ú«  »α«µÑßßá
  1271.      TSR-»α«úαἼᠺáóÑαΦáÑΓß∩ ¿ πñá½∩ÑΓß∩ ¿º »á¼∩Γ¿.
  1272.  
  1273.  
  1274.  
  1275.                êæòÄäì¢à ÆàèæÆ¢: popup.c, resident.c
  1276.      -----------------------------------------------------------------
  1277.  
  1278.           ï¿ßΓ¿¡ú¿ 12.3 ¿ 12.4 ß«ñÑαªáΓ ΓѬßΓ TSR-ñαá⌐óÑαá.  ¥Γ¿ Σá⌐½δ
  1279.      »«ß½Ñ ¬«¼»¿½∩µ¿¿  ¿  ßó∩ºδóá¡¿∩  ß  óáΦÑ⌐  »α«úαá¼¼«⌐ ¡á Æπαí« æ¿
  1280.      ßñѽáεΓ ÑÑ αѺ¿ñÑ¡Γ¡«⌐.
  1281.  
  1282.           ï¿ßΓ¿¡ú 12.3.
  1283.           -------------
  1284.  
  1285.      /*----  popup.c ----*/
  1286.  
  1287.      #include <dos.h>
  1288.  
  1289.                              - 34 -
  1290.      #include <stdio.h>
  1291.      #include <string.h>
  1292.      #include <dir.h>
  1293.  
  1294.      static union REGS rg;
  1295.  
  1296.      unsigned sizeprogram = 48000/16;
  1297.      unsigned scancode = 52;
  1298.      unsigned keymask = 8;
  1299.      char *signature = "POPUP";
  1300.  
  1301.      char notefile[64];
  1302.  
  1303.      /*--------------------------------*/
  1304.      int  resident(char *,void interrupt(*)());
  1305.      void resinit(void);
  1306.      void terminate(void);
  1307.      void restart(void);
  1308.      void wait(void);
  1309.      void resident_psp(void);
  1310.      void interrupted_psp(void);
  1311.      void exec(void);
  1312.      void cursor(int,int);
  1313.      void curr_cursor(int *,int *);
  1314.  
  1315.      main(argc,argv)
  1316.      char *argv[];
  1317.      {
  1318.        void interrupt ifunc();
  1319.        int ivec;
  1320.  
  1321.        if((ivec = resident(signature, ifunc)) != 0) {
  1322.          if(argc > 1) {
  1323.             rg.x.ax = 0;
  1324.             if(strcmp(argv[1],"quit") == 0)
  1325.                rg.x.ax = 1;
  1326.             else if(strcmp(argv[1],"restart") == 0)
  1327.  
  1328.                              - 35 -
  1329.                rg.x.ax = 2;
  1330.             else if(strcmp(argv[1],"wait") == 0)
  1331.                rg.x.ax = 3;
  1332.             if(rg.x.ax)  {
  1333.                int86(ivec, &rg, &rg);
  1334.                return;
  1335.            }
  1336.         }
  1337.         printf("\n Popup is already resident");
  1338.       }
  1339.       else   {
  1340.  
  1341.         /*load_help("tcprogs.hlp");
  1342.         getcwd(notefile, 64);
  1343.         if(*(notefile+strlen(notefile)-1) != '\\')
  1344.           strcat(notefile,"\\");
  1345.         strcat(notefile,"note.pad"); */
  1346.  
  1347.         printf("\nResident popup is loaded");
  1348.         resinit();
  1349.       }
  1350.      }
  1351.  
  1352.      /*--------------------------------*/
  1353.      void interrupt ifunc(bp,di,si,ds,es,dx,cx,bx,ax)
  1354.      {
  1355.         if(ax == 1)       /* quit */
  1356.           terminate();
  1357.         else if(ax == 2)  /* restart */
  1358.           restart();
  1359.         else if(ax == 3)  /* wait */
  1360.           wait();
  1361.      }
  1362.  
  1363.      /*--------------------------------*/
  1364.      /*void closefiles()
  1365.      {
  1366.  
  1367.                              - 36 -
  1368.       extern FILE *helpfp;
  1369.  
  1370.        resident_psp();
  1371.        if(helpfp)
  1372.          fclose(helpfp);
  1373.        interrupted_psp();
  1374.      } */
  1375.  
  1376.      /*--------------------------------*/
  1377.      void popup()
  1378.      {
  1379.        int x,y;
  1380.  
  1381.        curr_cursor(&x, &y);
  1382.        exec();
  1383.        cursor(x,y);
  1384.      }
  1385.  
  1386.      /*--------------------------------*/
  1387.      void cursor(int x, int y)
  1388.      {
  1389.        rg.x.ax=0x0200;
  1390.        rg.x.bx=0;
  1391.        rg.x.dx=((y<<8) &0xff00) + x;
  1392.        int86(16,&rg,&rg);
  1393.      }
  1394.      /*--------------------------------*/
  1395.      void curr_cursor(int *x, int *y)
  1396.      {
  1397.        rg.x.ax=0x0300;
  1398.        rg.x.bx=0;
  1399.        int86(16,&rg,&rg);
  1400.        *x=rg.h.dl;
  1401.        *y=rg.h.dh;
  1402.      }
  1403.  
  1404.  
  1405.  
  1406.                              - 37 -
  1407.           ï¿ßΓ¿¡ú 12.4.
  1408.           -------------
  1409.  
  1410.      /*---- resident.c ----*/
  1411.  
  1412.      #include <dos.h>
  1413.      #include <stdio.h>
  1414.  
  1415.      static union REGS rg;
  1416.      static struct SREGS seg;
  1417.      static unsigned mcbseg;
  1418.      static unsigned dosseg;
  1419.      static unsigned dosbusy;
  1420.      static unsigned enddos;
  1421.      char far *intdta;
  1422.      static unsigned intsp;
  1423.      static unsigned intss;
  1424.      static char far *mydta;
  1425.      static unsigned myss;
  1426.      static unsigned stack;
  1427.      static unsigned ctrl_break;
  1428.      static unsigned mypsp;
  1429.      static unsigned intpsp;
  1430.      static unsigned pids[2];
  1431.      static int pidctr = 0;
  1432.      static int pp;
  1433.      static void interrupt (*oldtimer)();
  1434.      static void interrupt (*old28)();
  1435.      static void interrupt (*oldkb)();
  1436.      static void interrupt (*olddisk)();
  1437.      static void interrupt (*oldcrit)();
  1438.      static void interrupt (*ZeroDivVector)();
  1439.      void interrupt newtimer();
  1440.      void interrupt new28();
  1441.      void interrupt newkb();
  1442.      void interrupt newdisk();
  1443.      void interrupt newcrit();
  1444.  
  1445.                              - 38 -
  1446.      extern unsigned sizeprogram;
  1447.      extern unsigned scancode;
  1448.      extern unsigned keymask;
  1449.      static int resoff = 0;
  1450.      static int running = 0;
  1451.      static int popflg = 0;
  1452.      static int diskflag = 0;
  1453.      static int kbval;
  1454.      static int cflag;
  1455.  
  1456.      void dores(),pidaddr();
  1457.      /*------------------------------------------------*/
  1458.      void resinit()
  1459.      {
  1460.        segread(&seg);
  1461.        myss=seg.ss;
  1462.  
  1463.        rg.h.ah=0x34;
  1464.        intdos(&rg, &rg);
  1465.        dosseg = _ES;
  1466.        dosbusy=rg.x.bx;
  1467.  
  1468.        mydta=getdta();
  1469.  
  1470.        pidaddr();
  1471.  
  1472.        oldtimer=getvect(0x1c);
  1473.        old28=getvect(0x28);
  1474.        oldkb=getvect(9);
  1475.        olddisk=getvect(0x13);
  1476.  
  1477.        setvect(0x1c,newtimer);
  1478.        setvect(0x9,newkb);
  1479.        setvect(0x28,new28);
  1480.        setvect(0x13,newdisk);
  1481.  
  1482.        stack=(sizeprogram - (seg.ds - seg.cs)) * 16 - 300;
  1483.  
  1484.                              - 39 -
  1485.  
  1486.        setvect(0,ZeroDivVector);
  1487.  
  1488.        rg.x.ax=0x3100;
  1489.        rg.x.dx=sizeprogram;
  1490.        intdos(&rg, &rg);
  1491.      }
  1492.  
  1493.      /*------------------------------------------------*/
  1494.      void interrupt newdisk(bp,di,si,ds,es,dx,cx,bx,ax,ip,cs,flgs)
  1495.      {
  1496.        diskflag++;
  1497.        (*olddisk)();
  1498.        ax=_AX;
  1499.        cx=_CX;
  1500.        dx=_DX;
  1501.        newcrit();
  1502.        flgs=cflag;
  1503.        --diskflag;
  1504.      }
  1505.  
  1506.      /*------------------------------------------------*/
  1507.      void interrupt newcrit(bp,di,si,ds,es,dx,cx,bx,ax,ip,cs,flgs)
  1508.      {
  1509.        ax=0;
  1510.        cflag=flgs;
  1511.      }
  1512.  
  1513.      /*------------------------------------------------*/
  1514.      void interrupt newkb()
  1515.      {
  1516.        if(inportb(0x60) == scancode) {
  1517.          kbval=peekb(0,0x417);
  1518.          if(!resoff && ((kbval & keymask) & keymask) == 0) { /* !!!!!!! & *
  1519.      /
  1520.            kbval=inportb(0x61);
  1521.            outportb(0x61,kbval|0x80);
  1522.  
  1523.                              - 40 -
  1524.            outportb(0x61,kbval);
  1525.            outportb(0x20,0x20);
  1526.            if(!running)
  1527.              popflg=1;
  1528.            return;
  1529.         }
  1530.       }
  1531.       (*oldkb)();
  1532.       }
  1533.  
  1534.      /*------------------------------------------------*/
  1535.      void interrupt newtimer()
  1536.      {
  1537.        (*oldtimer)();
  1538.        if(popflg && peekb(dosseg, dosbusy) == 0)
  1539.          if(diskflag == 0) {
  1540.            outportb(0x20,0x20);
  1541.            popflg=0;
  1542.            dores();
  1543.          }
  1544.      }
  1545.  
  1546.      /*------------------------------------------------*/
  1547.      void interrupt new28()
  1548.      {
  1549.        (*old28)();
  1550.        if(popflg && peekb(dosseg, dosbusy) != 0) {
  1551.            popflg=0;
  1552.            dores();
  1553.          }
  1554.      }
  1555.  
  1556.      /*------------------------------------------------*/
  1557.      resident_psp()
  1558.      {
  1559.        intpsp=peek(dosseg,*pids);
  1560.        for(pp=0; pp < pidctr; pp++)
  1561.  
  1562.                              - 41 -
  1563.          poke(dosseg,pids[pp],mypsp);
  1564.      }
  1565.  
  1566.      /*------------------------------------------------*/
  1567.      interrupted_psp()
  1568.      {
  1569.        for(pp=0; pp < pidctr; pp++)
  1570.          poke(dosseg,pids[pp],intpsp);
  1571.      }
  1572.      /*------------------------------------------------*/
  1573.      void dores()
  1574.      {
  1575.        running=1;
  1576.        disable();
  1577.        intsp=_SP;
  1578.        intss=_SS;
  1579.        _SP=stack;
  1580.        _SS=myss;
  1581.        enable();
  1582.        oldcrit = getvect(0x24);
  1583.        setvect(0x24,newcrit);
  1584.        rg.x.ax=0x3300;
  1585.        intdos(&rg, &rg);
  1586.        ctrl_break=rg.h.dl;
  1587.        rg.x.ax=0x3301;
  1588.        rg.h.dl=0;
  1589.        intdos(&rg, &rg);
  1590.        intdta=getdta();
  1591.        setdta(mydta);
  1592.        resident_psp();
  1593.        popup();
  1594.        interrupted_psp();
  1595.        setdta(intdta);
  1596.        setvect(0x24,oldcrit);
  1597.        rg.x.ax=0x3301;
  1598.        rg.h.dl=ctrl_break;
  1599.        intdos(&rg, &rg);
  1600.  
  1601.                              - 42 -
  1602.        disable();
  1603.        _SP=intsp;
  1604.        _SS=intss;
  1605.        enable();
  1606.        running=0;
  1607.      }
  1608.  
  1609.      /*------------------------------------------------*/
  1610.      static int avec=0;
  1611.      unsigned resident(signature, ifunc)
  1612.      char *signature;
  1613.      void interrupt (*ifunc)();
  1614.      {
  1615.         char *sg;
  1616.         unsigned df;
  1617.         int vec;
  1618.  
  1619.         segread(&seg);
  1620.         df=seg.ds - seg.cs;
  1621.         for(vec=0x60; vec < 0x68; vec++) {
  1622.            if(getvect(vec) == NULL)  {
  1623.              if(!avec)
  1624.                avec=vec;
  1625.              continue;
  1626.            }
  1627.            for(sg=signature; *sg; sg++)
  1628.              if(*sg!=peekb(peek(0,2+vec*4)+df,(unsigned)sg))
  1629.                 break;
  1630.              if(!*sg)
  1631.                 return vec;
  1632.         }
  1633.         if(avec)
  1634.            setvect(avec, ifunc);
  1635.         return 0;
  1636.      }
  1637.  
  1638.      /*------------------------------------------------*/
  1639.  
  1640.                              - 43 -
  1641.      static void pidaddr()
  1642.      {
  1643.         unsigned adr=0;
  1644.  
  1645.         rg.h.ah=0x51;
  1646.         intdos(&rg, &rg);
  1647.         mypsp=rg.x.bx;
  1648.  
  1649.         rg.h.ah=0x52;
  1650.         intdos(&rg, &rg);
  1651.         enddos=_ES;
  1652.         enddos = peek(enddos, rg.x.bx-2);
  1653.  
  1654.         while(pidctr < 2 &&
  1655.             (unsigned)((dosseg<<4) + adr) < (enddos<<4)) {
  1656.          if(peek(dosseg, adr) == mypsp)  {
  1657.             rg.h.ah=0x50;
  1658.             rg.x.bx=mypsp+1;
  1659.             intdos(&rg, &rg);
  1660.             if(peek(dosseg, adr) == mypsp +1)
  1661.               pids[pidctr++]=adr;
  1662.             rg.h.ah=0x50;
  1663.             rg.x.bx=mypsp;
  1664.             intdos(&rg, &rg);
  1665.          }
  1666.          adr++;
  1667.        }
  1668.      }
  1669.  
  1670.      /*------------------------------------------------*/
  1671.      static resterm()
  1672.      {
  1673.       /* closefiles();*/
  1674.  
  1675.        setvect(0x1c,oldtimer);
  1676.        setvect(9,oldkb);
  1677.        setvect(0x28,old28);
  1678.  
  1679.                              - 44 -
  1680.        setvect(0x13,olddisk);
  1681.        setvect(avec, (void interrupt (*)()) 0);
  1682.  
  1683.        rg.h.ah=0x52;
  1684.        intdos(&rg, &rg);
  1685.        mcbseg=_ES;
  1686.        mcbseg=peek(mcbseg, rg.x.bx-2);
  1687.  
  1688.        segread(&seg);
  1689.        while(peek(mcbseg, 0) == 0x4d)  {
  1690.             if(peek(mcbseg, 1) == mypsp) {
  1691.               rg.h.ah=0x49;
  1692.               seg.es=mcbseg+1;
  1693.               intdosx(&rg, &rg, &seg);
  1694.             }
  1695.             mcbseg+=peek(mcbseg,3)+1;
  1696.        }
  1697.      }
  1698.  
  1699.      /*------------------------------------------------*/
  1700.      terminate()
  1701.      {
  1702.        if(getvect(0x13) == (void interrupt (*)()) newdisk)
  1703.          if(getvect(9) == newkb)
  1704.             if(getvect(0x28) == new28)
  1705.                if(getvect(0x1c) == newtimer) {
  1706.                   resterm();
  1707.                   return;
  1708.                }
  1709.        resoff=1;
  1710.      }
  1711.  
  1712.  
  1713.      /*------------------------------------------------*/
  1714.      restart()
  1715.      {
  1716.        resoff=0;
  1717.  
  1718.                              - 45 -
  1719.      }
  1720.      /*------------------------------------------------*/
  1721.      wait()
  1722.      {
  1723.        resoff=1;
  1724.      }
  1725.  
  1726.  
  1727.                TSR-ÅÉÄâÉÇîîÇ - ÅÉêïÄåàìêà.
  1728.      -----------------------------------------------------------------
  1729.  
  1730.           é popup.c   Σπ¡¬µ¿∩   popup   óδºδóáÑΓß∩,   ¬«úñá  »α«úαá¼¼á
  1731.      TSR-ñαá⌐óÑαá «í¡áαπª¿óáÑΓ,  τΓ« ¡áªáΓá ¬½áó¿Φá "ú«α∩τÑú« ¬½ετá" ¿
  1732.      óδ»«½¡Ñ¡¿Ñ πΓ¿½¿Γδ  íѺ«»áß¡«  ñ½∩  äÄæ._  .öπ¡¬µ¿∩ popup ß«σαá¡∩ÑΓ
  1733.      ΓѬπΘÑÑ »«½«ªÑ¡¿Ñ ¬παß«αá,  óδºδóáÑΓ exec,  ºáΓѼ ó«ßßΓá¡áó½¿óáÑΓ
  1734.      ¬παß«α ¿ ºáóÑαΦáÑΓ óδ»«½¡Ñ¡¿Ñ._ .öπ¡¬µ¿∩ exec - φΓ« óσ«ñ ó πΓ¿½¿Γπ,
  1735.      ó ñá¡¡«¼ ß½πτáÑ »α«úαá¼¼á-»α¿¼Ñα ¿º  ú½áóδ  10._  .ä«»«½¡¿Γѽ∞¡«  ¬
  1736.      Γ«¼π,  τΓ«  óδ πº¡á½¿ « exec αá¡ÑÑ,  «íαáΓ¿ΓѠ󡿼᡿ѠÑΘÑ ó«Γ ¡á
  1737.      τΓ«.  Ä¡á αáí«ΓáÑΓ Γ«τ¡« ΓᬠªÑ ¬á¬ ¿ ¡ÑαѺ¿ñÑ¡Γ¡á∩ menu.exe,  ¡«
  1738.      ßÑ⌐τáß ÑÑ  ¿¼∩  popup.exe,  ¿  «¡á  ∩ó½∩ÑΓß∩  TSR-»α«úαá¼¼«⌐.  ìá
  1739.      ½¿ßΓ¿¡úÑ 12.5 ñá¡ Σá⌐½ »α«Ñ¬Γá ñ½∩ »«ßΓα«Ñ¡¿∩ popup.exe  ó  Æπαí«
  1740.      _æ¿..
  1741.  
  1742.           ï¿ßΓ¿¡ú 12.5:popup.prj.
  1743.  
  1744.      popup (twindow.h)
  1745.      exec (twindow.h,keys.h)
  1746.      tetstmove (twindow.h,keys.h)
  1747.      promote (twindow.h,keys.h)
  1748.      ccolor (twindow.h,keys.h)
  1749.      fasttest (twindow.h)
  1750.      notepad (twindow.h)
  1751.      ordent (twindow.h)
  1752.      maxims (twindow.h,keys.h)
  1753.      poems (twindow.h,keys.h)
  1754.      editor (twindow.h,keys.h)
  1755.      entry (twindow.h,keys.h)
  1756.  
  1757.                              - 46 -
  1758.      thelp (twindow.h,keys.h)
  1759.      tmenu (twindow.h,keys.h)
  1760.      twindow (twindow.h,keys.h)
  1761.      resident
  1762.      ibmpc.obj
  1763.  
  1764.           ùΓ«íδ ºá»πßΓ¿Γ∞ αѺ¿ñÑ¡Γ¡πε πΓ¿½¿Γπ, »«ßΓα«Ñ¡¡πε Æπαí« æ¿ »«
  1765.      φΓ«¼π »α«Ñ¬Γπ, óóÑñ¿ΓÑ ß½ÑñπεΘπε ¬«¼á¡ñπ:
  1766.  
  1767.      C>popup
  1768.  
  1769.           ¥Γá ¬«¼á¡ñá ºáúαπº¿Γ TSR-»α«úαá¼¼π ¿ «ßΓáó¿Γ  ÑÑ  ó  »á¼∩Γ¿.
  1770.      Åα¿ φΓ«¼ «¡á óδñáßΓ ß««íΘÑ¡¿Ñ:
  1771.  
  1772.      Resident popup is loaded.
  1773.  
  1774.           Åα¿ »«»δΓ¬Ñ »«óΓ«α¡«ú« ºá»π߬á íπñÑΓ óδñá¡« ß««íΘÑ¡¿Ñ:
  1775.  
  1776.      Popup is already resident.
  1777.  
  1778.           è«úñá »α«úαἼᠠ αѺ¿ñÑ¡Γ¡á,  óδ  ¼«ªÑΓÑ  óδ»«½¡∩Γ∞  ÑÑ  ¿º
  1779.      ¬«¼á¡ñ¡«⌐ ßΓ᫬¿  ñ½∩  Γ«ú«,  τΓ«íδ   »α¿«ßΓá¡«ó¿Γ∞,   »α«ñ«½ª¿Γ∞
  1780.      óδ»«½¡Ñ¡¿Ñ ¿½¿ ß¡∩Γ∞ ÑÑ. ¥Γ« ñѽáÑΓß∩ ß½ÑñπεΘ¿¼¿ ¬«¼á¡ñἿ:
  1781.  
  1782.      C>popup wait
  1783.      C>popup restart
  1784.      C>popup quit
  1785.  
  1786.  
  1787.  
  1788.                ÅÉÄéàÉèÇ TSR-ÅÉÄâÉÇîî.
  1789.      -----------------------------------------------------------------
  1790.  
  1791.           àß½¿ óδ ¡á»¿ß὿ TSR-»α«úαá¼¼π ¿  σ«Γ¿ΓÑ  »α«óÑα¿Γ∞  ÑÑ  ¬á¬
  1792.      αѺ¿ñÑ¡Γ¡πε »α«úαá¼¼π,  óáΦ¿ «»δΓδ ¼«úπΓ αẫτáα«óáΓ∞ óáß. ÅαѪñÑ
  1793.      óßÑú« π óáß  ¡Ñ  íπñÑΓ  ó«º¼«ª¡«ßΓ¿  ¿ß»«½∞º«óáΓ∞  Æπαí«  æ¿  ñ½∩
  1794.      ¿¡ΓÑαá¬Γ¿ó¡«ú« ΓÑßΓ¿α«óá¡¿∩.   TSR-»α«úαἼᠠπßΓá¡áó½¿óáÑΓß∩  ¿º
  1795.  
  1796.                              - 47 -
  1797.      ¬«¼á¡ñ¡«⌐ ßΓ᫬¿ ¿ óδºδóáÑΓß∩ »« ¡áªáΓ¿ε ¬½áó¿Φ¿.  äá½ÑÑ,  ñ« ΓÑσ
  1798.      »«α,  »«¬á ¡Ñ ºáαáí«ΓáÑΓ Σπ¡¬µ¿∩ terminate,  óá¼ »α¿ñÑΓß∩ πñá½∩Γ∞
  1799.      ÑÑ »πΓѼ »ÑαѺáúαπº¬¿.  Æ« ªÑ »α¿ñÑΓß∩ ñѽáΓ∞ »α¿ ºáúαπº¬Ñ ñαπú¿σ
  1800.      αѺ¿ñÑ¡Γ¡δσ »α«úαá¼¼   »«ß½Ñ   ¡ÑÑ.   Æá¬   ¬á¬   óáΦá  »α«úαá¼¼á
  1801.      »α¿ß«Ññ¿¡∩ÑΓß∩ ¬ »αÑαδóá¡¿∩¼,  Γ« ÑÑ óδ»«½¡Ñ¡¿Ñ ¼«ªÑΓ »«ñóÑΦ¿óáΓ∞
  1802.      óáΦπ  ß¿ßΓѼπ.  Æá¬  τΓ«  TSR-»α«úαá¼¼π  ¡Ñ½Ñú¬«  «Γ½áª¿óáΓ∞  ¬á¬
  1803.      αѺ¿ñÑ¡Γ¡πε.
  1804.  
  1805.           ïπτΦÑÑ αÑΦÑ¡¿Ñ   -   φΓ«   «Γ½áª¿óáΓ∞   TSR-»α«úαá¼¼π    ¬á¬
  1806.      ¡ÑαѺ¿ñÑ¡Γ¡πε. éßÑ ¿¡ΓÑαΣÑ⌐ßδ ß äÄæ,  ¡Ñ«íσ«ñ¿¼δÑ ñ½∩ πßΓᡫ󬿠¿
  1807.      ñÑ⌐ßΓó¿∩ TSR-»α«úαá¼¼δ,  ¡áσ«ñ∩Γß∩ ó popup.c ¿ resident.c. Å«τѼπ
  1808.      íδ  ¡Ñ  »α«»πßΓ¿Γ∞  φΓ¿  «»Ñαᵿ¿ ñ« ΓÑσ »«α,  »«¬á óδ ¡áñѪ¡« ¡Ñ
  1809.      »α«ΓÑßΓ¿απÑΓÑ óáΦπ »α«úαá¼¼π?  èᬠóδ ó¿ñ¿ΓÑ  ¿º  »α¿¼Ñαá,  τáßΓ∞
  1810.      »α«úαá¼¼δ,   óδ»«½¡∩εΘá∩   «ß¡«ó¡δÑ   Σπ¡¬µ¿¿,   íδ½á  ß«ºñá¡á  ¿
  1811.      »α«ΓÑßΓ¿α«óá¡á «Γñѽ∞¡« íѺ TSR-«»Ñαᵿ⌐. Å« ßπΓ¿ ñѽá, φΓá τáßΓ∞
  1812.      ¿ß»«½∞ºπÑΓß∩  ¬á¬  »α¿¼Ñα ¡Ñ¬«Γ«αδσ ó«º¼«ª¡«ßΓÑ⌐,  ¡Ñ ßó∩ºá¡¡δσ ß
  1813.      «íßπªñÑ¡¿Ñ¼ TSR-»α«úαá¼¼.  éδ ¼«ªÑΓÑ ΓÑßΓ¿α«óáΓ∞  ßó«ε  »α«úαá¼¼π
  1814.      Γᬿ¼ ªÑ ß»«ß«í«¼.
  1815.  
  1816.           Åα«ßΓÑ⌐Φ¿⌐ »πΓ∞  ΓÑßΓ¿α«óáΓ∞ óáΦπ πΓ¿½¿Γπ - φΓ« ßó∩ºáΓ∞ ÑÑ ß
  1817.      ¬«α¡Ñó«⌐  »α«úαá¼¼«⌐,  «íÑß»Ñτ¿óáεΘÑ⌐  Σπ¡¬µ¿ε   main   ¿   ½εí«⌐
  1818.      ¡áτá½∞¡δ⌐ ¬«ñ,  ¬«Γ«αδ⌐  óδ  »«Γ«¼ ó¬½ετ¿ΓÑ ó popup.c.  Åα«úαá¼¼á
  1819.      menu.c ¿º ú½áóδ 10 ∩ó½∩ÑΓß∩ σ«α«Φ¿¼ »α¿¼Ñα«¼.
  1820.  
  1821.           äαπú«⌐ ß»«ß«í - ßó∩ºáΓ∞ πΓ¿½¿Γπ ß popup.c ¿  resident.c, ¬á¬
  1822.      íπñΓ« íδ óδ ßΓα«¿ΓÑ αѺ¿ñÑ¡Γ¡πε »α«úαá¼¼π, ¡« ß «ñ¡¿¼ ¿º¼Ñ¡Ñ¡¿Ñ¼.
  1823.      é¼ÑßΓ« ó맮óá Σπ¡¬µ¿¿ resinit ¿º Σπ¡¬µ¿¿ main ó  popup.c óßΓáó∞ΓÑ
  1824.      ó맮óδ  popup  ¿ closefile ¿º popup.c.Åα«úαá¼¼á íπñÑΓ ¿¼ÑΓ∞ ΓÑ ªÑ
  1825.      ó¿ñ,  ßΓαπ¬Γπαπ ¿ αẼÑα,  τΓ« ¿ ÑÑ αѺ¿ñÑ¡Γ¡á∩ óÑαß¿∩,  ¡« íπñÑΓ
  1826.      Σπ¡¬µ¿«¡¿α«óáΓ∞ ¬á¬ ¡ÑαѺ¿ñÑ¡Γ¡á∩ »α«úαá¼¼á.
  1827.  
  1828.           êß»«½∞ºπ∩ φëà ß»«ß«í,  óδ  ΓÑßΓ¿απÑΓÑ  ÑÑ  »πΓѼ  ºá»π߬á.
  1829.      é¼ÑßΓ« Γ«ú«,  τΓ«íδ ßΓáΓ∞ αѺ¿ñÑ¡Γ¡«⌐,  »α«úαá¼¼á ñÑ⌐ßΓóπÑΓ,  ¬á¬
  1830.      íπñΓ«  íδ  íδ½  ¡áªáΓ  "ú«α∩τ¿⌐  ¬½ετ",  óδ»«½¡∩ÑΓß∩  «ñ¿¡  αẠ¿
  1831.      ºáóÑαΦáÑΓß∩.
  1832.  
  1833.           Å«ß½Ñ ΓÑßΓ¿α«óá¡¿∩ »α«úαá¼¼δ óδ ¼«ªÑΓÑ  »ÑαѬ«¼»«¡«óáΓ∞ ßó«ε
  1834.  
  1835.                              - 48 -
  1836.      »α«úαá¼¼π    ¬á¬    TSR-»α«úαá¼¼π   ¿   »α«ΓÑßΓ¿α«óáΓ∞   ÑÑ   ¬á¬
  1837.      αѺ¿ñÑ¡Γ¡πε. ìáτ¡¿ΓÑ ß ¡á¿óδßΦÑú« º¡áτÑ¡¿∩ »ÑαѼѡ¡«⌐ sizeprogram
  1838.      ¿ π¼Ñ¡∞Φá⌐ΓÑ ÑÑ, ¬á¬ «»¿ßá¡« ó ú½áóÑ 11.
  1839.  
  1840.           çáóÑαΦáεΘ¿⌐ ΓÑßΓ  -  φΓ«  »α«óÑα¬á,  ¬á¬  óáΦá TSR-»α«úαá¼¼á
  1841.      íπñÑΓ óÑßΓ¿ ßÑí∩ ó  «¬απªÑ¡¿¿  ßÑíÑ  »«ñ«í¡δσ.  ¥Γ«Γ  ΓÑßΓ  ¼«ªÑΓ
  1842.      »α¿óÑßΓ¿ ¬   ¡Ñ»αÑñó¿ñÑ¡¡δ¼  αѺπ½∞ΓáΓá¼.  î¡«ú¿Ñ  ¿º  »«»π½∩α¡δσ
  1843.      TSR-»α«úαá¼¼ ¡Ñ  ¼«úπΓ  óδ»«½¡∩Γ∞ß∩  ó¼ÑßΓÑ,  »«φΓ«¼π  óδ  ñ«½ª¡δ
  1844.      óδíαáΓ∞   ΓÑ   ¿º  ¡¿σ,  ¬«Γ«αδÑ  ß«ó¼ÑßΓ¿¼δ  ñαπú  ß  ñαπú«¼,  ¿
  1845.      »«»α«í«óáΓ∞ ΓÑßΓδ,  ¬«Γ«αδÑ ºáúαπªáεΓ αẽ¿τ¡δÑ  TSR-»α«úαá¼¼δ  ó
  1846.      αẽ¿τ¡«⌐  »«ß½Ññ«óáΓѽ∞¡«ßΓ¿  ñ«  ΓÑσ »«α,  »«¬á óδ ¡Ñ ñ«í∞ÑΓÑß∞
  1847.      ¡«α¼á½∞¡«⌐ αáí«Γδ.  ô¬áª¿ΓÑ φë໫α∩ñ«¬ ó πßΓá¡«ó«τ¡πε »α«µÑñπαπ
  1848.      ó απ¬«ó«ñßΓóÑ »«½∞º«óáΓѽ∩ »« óáΦÑ⌐ »α«úαá¼¼Ñ.
  1849.  
  1850.  
  1851.  
  1852.                é¢éÄä¢.
  1853.      -----------------------------------------------------------------
  1854.  
  1855.           êß»«½∞ºπ∩ »α«úαá¼¼δ ¿º φΓ«⌐ ú½áóδ,  óδ  íπñÑΓÑ  ¿¼ÑΓ∞  ¡áí«α
  1856.      ßαÑñßΓó, ¬«Γ«αδ⌐ »«ºó«½¿Γ óá¼ »¿ßáΓ∞ αѺ¿ñÑ¡Γ¡δÑ πΓ¿½¿Γδ ¡á Æπαí«
  1857.      æ¿ ñ½∩ IBM PC.  ¥Γ¿ »α«úαá¼¼δ ¼«úπΓ ß«ºñáóáΓ∞ß∩ ¿ ΓÑßΓ¿α«óáΓ∞ß∩ ó
  1858.      ¿¡ΓÑúα¿α«óá¡¡«⌐  ßαÑñÑ  Æπαí«  æ¿  ¬á¬  ¡«α¼á½∞¡δÑ  ¡ÑαѺ¿ñÑ¡Γ¡δÑ
  1859.      »α«úαá¼¼δ ñ½∩ äÄæ.  Ä¡¿ ¼«úπΓ ¿ß»«½∞º«óáΓ∞  Σπ¡¬µ¿¿  «¬«¡,  óó«ñá
  1860.      ñá¡¡δσ, ΓѬßΓá  ¿  ¼Ñ¡ε  ¿º  »αÑñδñπΘ¿σ ú½áó ó φΓ«⌐ ¬¡¿úÑ.  Å«ß½Ñ
  1861.      ñ«óÑñÑ¡¿∩  »α«úαá¼¼  ñ«  αáí«τÑú«  ß«ßΓ«∩¡¿∩   «¡¿   ¼«úπΓ   íδΓ∞
  1862.      ¿¡ΓÑúα¿α«óá¡δ  ß«  ßαÑñßΓóἿ  ¿º φΓ«⌐ ú½áóδ ñ½∩ »αÑóαáΘÑ¡¿∩ ¿σ ó
  1863.      »«½¡«ßΓ∞ε Σπ¡¬µ¿«¡¿απεΘ¿Ñ TSR-»α«úαá¼¼δ.
  1864.  
  1865.  
  1866.  
  1867.                ¥ÅêïÄâ.
  1868.      -----------------------------------------------------------------
  1869.  
  1870.           òφ¬¬Ñαδ ó  ßÑαñµÑ  ¼«úπΓ  »«τπßΓó«óáΓ∞  »α«¡¿¬¡«óÑ¡¡«ßΓ∞  ºá
  1871.      αáí«Γπ,  ¬«Γ«αá∩ »αÑóαáΓ¿½áß∞ ó »α«úαá¼¼δ ¿º φΓ«⌐ ¬¡¿ú¿. òφ¬¬Ñα -
  1872.      φΓ«  τѽ«óѬ,  ¬«Γ«αδ⌐ "αáºí¿αáÑΓ" ¬«¼»∞εΓÑα¡δÑ ß¿ßΓѼδ ñ½∩ Γ«ú«,
  1873.  
  1874.                              - 49 -
  1875.      τΓ«íδ πº¡áΓ∞,  ¬á¬ «¡¿ αáí«ΓáεΓ. ¥Γ«Γ ΓÑନ¡ ó ñá½∞¡Ñ⌐ΦѼ »«ΓÑα∩½
  1876.      ßó«Ñ º¡áτÑ¡¿Ñ  óó¿ñπ Ñú« τáßΓ«ú« π»«ΓαÑí½Ñ¡¿∩ ó »ÑτáΓ¿ ¿ «íΘÑ¡¿¿,
  1877.      ¡« ¼δ »αÑñ»«τ¿ΓáѼ Ñú« ¡áτá½∞¡«Ñ º¡áτÑ¡¿Ñ.  Åα«úαá¼¼¿ßΓ,  ¬«Γ«αδ⌐
  1878.      ¿¡ΓÑαÑßπÑΓß∩  ΓÑσ¡¿¬«⌐  ¿  »α¿¡µ¿»á¼¿,  ½ÑªáΘ¿¼¿  ó  «ß¡«óÑ  φΓ¿σ
  1879.      Σπ¡¬µ¿⌐, «í¡áαπª¿Γ, τΓ« ¼¡«ú¿Ñ σφ¬¬Ñαδ «í¡áαπª¿½¿ Γ« ªÑ ßἫÑ. éδ
  1880.      ¼«ªÑΓÑ ¿ß»«½∞º«óáΓ∞ φΓ¿ ßαÑñßΓóá íѺ óß∩¬¿σ ó«»α«ß«ó.  ì« Ñß½¿ óδ
  1881.      »δΓ½¿óá∩ ¡áΓπαá,   Γ«   φΓ«   »«ñΓ«½¬¡ÑΓ   óáß   ¬    ñá½∞¡Ñ⌐ΦѼπ
  1882.      »α«¡¿¬¡«óÑ¡¿ε  ó«  ó¡πΓαÑ¡¡«ßΓ¿ PC ¿ äÄæ.  àß½¿ óδ ¡Ñ αáí«ΓáÑΓÑ ó
  1883.      Microsoft ¿ ¡Ñ ¿¼ÑÑΓÑ ¿ßσ«ñ¡δσ ΓѬßΓ«ó ¬áªñ«⌐ ¿º óÑαß¿⌐  äÄæ (¿½¿
  1884.      óαѼѡ¿ ¡á  ¿σ  ¿ºπτÑ¡¿Ñ),  Γ« ñ«½ª¡δ íπñÑΓÑ ¿½¿ ßἿ αáºúáñδóáΓ∞
  1885.      ßѬαÑΓδ äÄæ ¿½¿ πº¡áóáΓ∞ ¿σ «Γ ñαπú¿σ.
  1886.  
  1887.           îδ ß«óÑΓπѼ  óá¼  »α¿ß«Ññ¿¡¿Γ∞ß∩  ¬  ¿¡Σ«α¼áµ¿«¡¡«¼π  «í¼Ñ¡π
  1888.      ªπα¡á½á Byte. èáªñδ⌐ óδ»π߬ ªπα¡á½á Byte ß«ñÑαª¿Γ ¿¡Σ«α¼áµ¿ε, ¬á¬
  1889.      φΓ« ßñѽáΓ∞.  Æá¼ ¿¼ÑÑΓß∩ í«½∞ΦÑ »«½Ñº¡δσ ΓÑσ¡¿τÑ߬¿σ ñá¡¡δσ, τѼ
  1890.      ó«  óßÑσ  ó¼ÑßΓÑ óº∩Γδσ ¬¡¿úáσ,  ßΓáΓ∞∩σ ªπα¡á½«ó ¿ απ¬«ó«ñßΓóáσ,
  1891.      ¬«Γ«αδÑ óδ ¼«ªÑΓÑ úñÑ-½¿í« ¡á⌐Γ¿.  ôτ¿ΓÑß∞ ¿  ¿ß»«½∞ºπ⌐ΓÑ  αáí«Γπ
  1892.      ΓÑσ, ¬«¼π »«ßó∩ΘÑ¡á φΓá ¬¡¿úá.
  1893.  
  1894.