«þ¨©¤ß±o²Ä¤G¶°
             ¢z¢w¢{  ¢z¢w¢{  ¢z¢w¢{  ¢z¢w¢{  ¢z¡Û
         ¢|¢w¢}  ¢|¢w¢}  ¢|¢w¢}  ¢|¢w¢}  ¢|¢w¢}
        ¢z¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢{
        ¢x ³nÅé³EÂί¸¸ê®Æ¶ñ¼g ,½Ð¤Å­×§ï¨ä¤º®e     ¢x
        ¢x  90 ºô¤§ 2 ----> 597-1306   24Hr       ¢x
        ¢|¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢}
                   ====  ²Ä¤T³¹  ºÏºÐ±±¨î¥dªº»{ÃÑ  ====

    ¢z¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢{
    ¢x  3-1  ºÏºÐ±±¨î¥dªº¤¶²Ð ¢x
    ¢|¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢}

    ºÏºÐ±±¨î¥d¤Wªº uPD765A ¬O¾ã­ÓºÏºÐ§@·~ªº®Ö¤ß ,¦Ó uPD765A ¾aµÛ3­Ó
  I/O °ðªº¼È¦s¾¹»P CPU ·¾³q ,³o¤T­Ó¼È¦s¾¹¦p¤U :

        &h3F2 : ¼Æ¦ì¿é¥X¼È¦s¾¹
        &h3F4 : ¥Dª¬ºA¼È¦s¾¹
        &h3F5 : ¸ê®Æ/ª¬ºA ¼È¦s¾¹

    ¸ê®Æ¶Ç¿é¨ìºÏ¤ù®É ,¤S¥i¤À¬° DMA »P «DDMA ¼Ò¦¡ ,¥Ñ©ó»P¥DÃDµLÃö²¤¹L¡C

    uPD765A ºÏºÐ±±¨î¥d¥i¤U¹F¥H¤U«ü¥O :
       ¢z¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢{
       ¢x Read Data (Ū¨ú¸ê®Æ)                               ¢x
       ¢x Write Data (¼g¤J¸ê®Æ)                              ¢x
       ¢x Read ID (Ū¨ú ID)                                  ¢x
       ¢x Format A Track (±NºÏ­y®æ¦¡¤Æ)                      ¢x
       ¢x Read Deleted Dtat (Ū¨ú¤w§R°£ªº¸ê®Æ)               ¢x
       ¢x Write Delete Data (¼g¤J¤w§R°£ªº¸ê®Æ)               ¢x
       ¢x Read A Track (Ū¨úºÏ­y)                            ¢x
       ¢x Seek (§ä´MºÏ­y)                                    ¢x
       ¢x Scan EQUAL (±½ºË¤ñ¹ï¬Ûµ¥)                          ¢x
       ¢x Scan high or equal (±½ºË¤j©ó©Îµ¥©ó)                ¢x
       ¢x Scan low or equal  (±½ºË¤p©ó©Îµ¥©ó)                ¢x
       ¢x Recalibrate (®Õ·ÇºÏÀY ,ºÏÀY¦^¨ì²Ä¹s­y)             ¢x
       ¢x Sense Interrupt status (·P´ú¤¤Â_ª¬ºA)              ¢x
       ¢x Sense Driver Status (·P´úºÏºÐ¾÷ª¬ºA)               ¢x
       ¢x Specify («ü©w)                                     ¢x
       ¢|¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢}

    ¢z¢w¢w¢w¢w¢w¢w¢w¢w¢w¢{
    ¢x  3-2  ¤u§@¤è¦¡   ¢x
    ¢|¢w¢w¢w¢w¢w¢w¢w¢w¢w¢}

                          ¢z¢w¢w¢w¢w¢w¢{
                          ¢x  ¢Ñ¢Þ¢ã  ¢x
                          ¢|¢w¢w¢w¢w¢w¢}
                                ¡ô
                                ¡õ
  ùùùùùùùùùùùùùùùùùùùù¨t²Î¶×¬y±Æ (SYSTEM BUS) ùùùùùùùùùùùùùùùùùùùùùùùù
        ¡ô                 ¡ô
        ¡õ                 ¡õ         ¸ê®Æµ¡   ¢z¢w¢w¢w¢{
  ¢z¢w¢w¢w¢w¢w¢{ DRQ ¢z¢w¢w¢w¢w¢w¢{¡ö¢w¢w¢w¢w¢w¢t  RLL ¢u¢s¢w  ¢s¢w¢w¢{
  ¢x          ¢x¡ö¢w ¢x          ¢x   RD DATA  ¢|¢w¢w¢w¢}¢x    ¢x ºÏ ¢x
  ¢x          ¢x     ¢x          ¢x¡ö¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢}    ¢x ºÐ ¢x
  ¢x   8237   ¢xDACK ¢x uPD765A  ¢x¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¡÷  ¢x ¾÷ ¢x
  ¢x          ¢x¢w¡÷ ¢x          ¢x   WR DATA                  ¢x ¤¶ ¢x
  ¢xDMA ±±¨î¾¹¢x     ¢x   FDC    ¢x   ¿é¤J±±¨î                 ¢x ­± ¢x
  ¢x          ¢x     ¢x          ¢xùùùùùùùùùùùùùùùùùùùùùùùù¡÷  ¢x ¡ó ¢x
  ¢x          ¢x¢w¡÷ ¢x          ¢xùùùùùùùùùùùùùùùùùùùùùùùù¡÷  ¢r¢w¢w¢}
  ¢|¢w¢w¢w¢w¢w¢} TC  ¢|¢w¢w¢w¢w¢w¢}   ¿é¥X±±¨î
               ²×µ²­p¼Æ

    ¢z¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢{
    ¢x  3-3  ¤¤Â_²¤¶     ¢x
    ¢|¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢}

    ¥Ñ©ó²Õ¦X°ª¤â¬Æ¦h ,¦]¦¹¦U¤¤Â_¦V¶q«K¤£¦A¤¶²Ð ,¥u¤¶²Ð´X­Ó»PºÏºÐ¦³
  Ãöªº¥\¯à ,¨ä¥¦¤¤Â_½Ð¦Û¦æ¬d®Ñ¡C

       ùúùùùùùùùùùùùùùû
       ùø  INT  13h  ùø
       ùüùùùùùùùùùùùùùý
            (AH)=0 : ­«¸mºÏºÐ¾÷ ,±NºÏÀY©Ô¨ì TRACK 0
            (AH)=1 : Ū¤JºÏºÐª¬ºA
            (AH)=2 : ±N«ü©wºÏ°ÏŪ¤J°O¾ÐÅé
            (AH)=3 : ±N°O¾ÐÅé¸ê®Æ¼g¤JºÏ°Ï
            (AH)=4 : ¬dÅçºÏ°Ï
            (AH)=5 : ®æ¦¡¤Æ«ü©wºÏ°Ï

            ªð¦^¥N½X (AH or AL ­È,¥H¤G¶i¦ì¨Ó¬Ý)
            00000001  ¶Çµ¹ºÏºÐ¾÷ I/O «ü¥O¤£¥¿½T
            00000010  §ä¤£¨ì¦ì§}¼Ð°O
            00000011  ºÏ¤ù¶K¦³¨¾¼g
            00000100  §ä¤£¨ì«ü©wºÏ°Ï
            00001000  DMA ¶V¬É
            00001001  ¶W¹LDMAÃä¬É(¦³64K)³B¦s¨ú¸ê®Æ
            00010000  CRC ¿ù»~
            00100000  ºÏºÐ¾÷±±¨î¥d·lÃa
            01000000  Seek °Ê§@¿ù»~
            10000000  ®É¶¡¶W¹L¦ÓºÏºÐ¾÷¤´¥¼°Ê§@

       ùúùùùùùùùùùùùùùû
       ùø  INT  1Eh  ùø
       ùüùùùùùùùùùùùùùý
            INT 1E «ü¦Vªº¦ì§}´N¬OºÏºÐ°Ñ¼Æªí ,¤@¯ë«ü¦V 0000:522-52C
         0000:0522 DF  ¨B¶i³t²v
         0000:0523 02  ªí DMA ¶Ç¿é¸ê®Æ
         0000:0524 25  °¨¹F°_°Ê®Éµ¥«Ý 25ms
         0000:0525 02  N­È¬°2 (512Bytes)
         0000:0526 09  ¥i®e³\³Ì¤jºÏ°Ï½s
         0000:0527 2A  ¶¡²Ó(Gap)ªø«×
         0000:0528 FF  ºÏ°Ï¸ê®Æªø
         0000:0529 50  ®æ¦¡¤Æ®Éªº¶¡²Óªø«×
         0000:052A F6  ¶ñ¤JªÅ¥ÕºÏ°Ïªº¦ì¤¸­È
         0000:052B 0F  ²¾°Ê¨C¤@­y«áµ¥«Ý25ms¦AŪ¼g¸ê®Æ
         0000:052C 02  °¨¹F°_°Ê®É¶¡


               ²Ä¥|³¹  µ{¦¡°lÂܪº°Ê§@


    ¢z¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢{
    ¢x  4-1  DEBUG ªº°lÂܵ{¦¡¥\¯à ¢x
    ¢|¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢}

    ¦b²Õ¦X«ü¥O¤¤¦³¼Æ¦Ê­Ó«ü¥O,µ{¦¡¤¤¤S¦³¼Æ¥H¸U­pªº«ü¥O,¨ì©³¨º¸Ì¤~¬O
  «OÅ@ªº©Ò¦b¦a©O,³o´N­n²o§è¨ì DEBUG ªº TRACE ªº¥\¯à¤F¡C
    DEBUG ¸û±`¥Îªº«ü¥O¦³ :
      "N"          = ©w¸qµ{¦¡¦WºÙ
      "L"          = ®Ú¾Ú©w¸qªºÀɦW§@ LOAD ÀÉ®×
      "W"          = ®Ú¾Ú©w¸qªºÀɦW§@ SAVE ÀÉ®×
      "U"          = ¦C¥Xµ{¦¡ (¬Û·í©ó LIST)
      "T"          = °õ¦æ¤@­Ó«ü¥O½X,¹J¨ì CALL «h¸õ¨ì¤º³¡Ä~Äò°õ¦æ
      "P"          = °õ¦æ¨ì¤U¤@¦æ,¹J¨ì CALL ®É«h°õ¦æ§¹¨º­Ó CALL
      "G"          = °õ¦æµ{¦¡,¤S¥i¤À¦¨¤U¦C´XºØ
                     "G=
" ¤£ºÞ²{¦b°õ¦æ¨ì¨º,ª½±µ¸õ¨ì
Ä~Äò°õ¦æ(¤£±`¥Î) "G
" ±q²{¦bªº¦a¤è°õ¦æ¨ì
«á°±¤U¨Ó "G" ±q²{¦bªº¦a¤è°õ¦æ¨ìµ²§ô¬°¤î ¢z¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢{ ¢x 4-2 ²Õ¦X«ü¥O²¤¶ ¢x ¢|¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢} MOV AA,BB ±N BB ©ñ¨ì AA ¸Ì CALL ©I¥s°Æµ{¦¡ (¬Û·í©ó BASIC ªº GOSUB) RET »P RETF ªð¦^µ{¦¡ (¬Û·í©ó BASIC ªº RETURN) CMP XX,YY ¤ñ¸û XX »P YY JZ ­Y¬Ûµ¥«h¸õÅD JNZ ­Y¤£¬Ûµ¥«h¸õÅD JB ­Y¤p©ó«h¸õÅD JG ­Y¤j©ó«h¸õÅD JMP µL±ø¥ó¸õÅD J??? (¦UºØ¸õÅD«ü¥O) LOOP °j¸ô INT XX Ãþ¦ü CALL ªº¤¤Â_²[¼Æ ¥H«á¤Z¬O¹J¨ì¤W­z«ü¥O³£°±¤U¨Ó¬d¬Ý¤@¤U ,§YÁä¤J G<¸Ó¦æ¸¹> ¯÷Á|¨Ò¦p¤U(ÀHÀ£ÁYÀɤºªþÀÉ®×) : CW.EXE (°ß§ÚŪ´L°õ¦æÀÉ) A>DEBUG -N CW.EXE ½Ð±zÀH®ÉÁä¤J "U" Áä¬Ý¬Ýµ{¦¡ -L -G 37 -G 60 ¢{ ¤@­Ó°j°é,µ{¦¡¦b¦¹¥´Âà -T (JZ 6B) ¢x ¬°¤F¯àÄ~Äò°õ¦æ,¦]¦¹³Ì«á¤@©w·|¸õ¥X¦¹°j¸ô -G 71 ¢x «e­±¤T­Ó±ø¥ó¸õÅD¤£ºÞ¬O§_¦¨¥ß³£¸õ¤£¥X¦¹°j¸ô -T (JZ 7C) ¢x ¦]¦¹ªÖ©w¥¦¤@©w¬O¦b CS:9C ¤£¦¨¥ß¤U¸õ¥X -G 8A ¢x ©Ò¥H§Ú­Ì¥i¥HÁä¤J G 9E(CS:9Cªº¤U¤@¦æ) -T (JNZ 92) ¢x -G 98 ¢x ¦pªG¨S¦³§â´¤¥u¯à¥Î¸Õªº,©Î±z®É¶¡¦hºCºC°lÂܵ{¦¡ -G 9C ¢x ­Ó¼Æ°é¥H«á¤]·|¸õ¥X¡C -T (JZ 58) ¢} -G 9E (°j¸ô¸õ¥X«áÄ~Äò°lÂÜ) -G AD ¢{ -T ¢x ²Ä¤G­Ó°j¸ô,¥i¯à±q "CS:BB JZ CE" ©Î "CS:C6 JZ DE" ¸õ¥X -G BB ¢x ©ó¬O¥ý°²³]¬O CS:BB ,·í±zÁä¤J "G CE" ®Éµ{¦¡°õ¦æ¤F,¥i¨£ -T ¢x °²³]¿ù»~,À³¸Ó¬O¥Ñ CS:C6 ¸õ¥X,©ó¬O¦A­«·s LOAD , -G C6 ¢x «e­±¤w TRACE ¹L,¬Gª½±µÁä¤J G37¡BT¡BGFE¡BT -T ¢} (¦]¬° RETF »P IRET¡BJMP FAR¡BCALL FAR «ü¥O·|§ïÅÜ CS ¬q¸¨,¬G. ¦b¦¹°±¤U«á¦A«ö"T" ,¦p "CS:37 ªº RETF" ,"CS:FE ªº JMP FAR") -G DE (°j¸ô¸õ¥X«áÄ~Äò°lÂÜ) -G FE -T -G 483 -T -G 495 \ ±q 495 ¨ì 4A9 ¤¤¶¡¦³­Ó "CALL" ,·í±z°õ¦æ§¹¦¹ CALL ³º -T - "°Ý§A±K½X" ... ªí¥Ü¦p±þ±¼¦¹ CALL «h¤£·|¦A°Ý§A±K½X¤F -G 4A9 / ¦ý¥H¤Uµ{¦¡¤´µy°l¤@Â_¸Õ¸Õ¡C -T (JNZ 4AE) --> ¦pªG§A±K½X¿é¤J¥¿½T,«h·|¸õÅD,­Y¿ù»~´N¤£¸õ,¦]¦¹ §A¥²¶·±N¥¦§ï¬°µL±ø¥ó¸õÅD (JMP) -©ó¬O±N¦¹¨â¦ì¸m ASCII ½X§Û¤U«á¥Î PCTOOLS(Find) ­×§ï«á°õ¦æ¬Ý¬Ý µ²ªG°õ¦æµL»~ ,¦¹ÀÉ¥H«á´N¤£¦A¶·­n¿é¤J±K½X¤F ! PS : 1. ¦b¸Ñªº¹Lµ{¤¤¤@©w­n®³°¦µ§¨Ó°O¤U¤w°l¨ì¨º¨à¤F !! 2. CW.EXE ¥²¶·¦A°t¦X¨ä¥¦Àɤ~¯à°õ¦æ¦¹ Game ,¦]ÀÉ®×¹L¤j ©Ò¥H¥¼¥þ³¡À£¶i¦¹ÀÉ¡C ½Ð±zµy«Ý¼Æ¤é¦A¬ÝÄò¶°....