4.4             
 ,     ,  
      ..       .  
               
             
 ,     BIOS.   
        
   BIOS.
	               ,
             
 .      
      ,   
        .
        
0F600H - 0F7FFH    .
	       
.            
   .

4.4.1.   .
		ORG 0F700H
		DS  3
  SYSCOPY:  	DB 1CH	;0F703H -   
  COLCOPY:	DB  0	;0F704H -   

4.4.2.    

  CARD:		DW 0FC00H ;0F705H -  
  CSRFLAG:	DB 0	  ;0F707H -   
  CURSOR:	DB 0	  ;0F708H -  
  CSRATTR:	DB 00010000B ;0F709H -   
  BUFCHAR:	DB 0	  ;0F70AH -    
  BUFATTR:	DB 0;0F70BH-    
  AUTOFLAG:	DB 0FFH	  ;0F70CH -   
  ESCFLAG:	DB 0	  ;0F70DH -  ESC-
  FNUM:		DB 0	  ;0F70EH -  
  ADRTAB:	DW ADRT	;0F70FH -   / CTRL-.
  ESCTAB:	DW ESCT	;0F711H -   / ESC-.
  MINESC:	DB '0'	;0F713H -   ESC-.
  LIMESC:	DB 'Y'	;0F714H -   ESC-.
  BELLDIV:	DW 0B00H;0F715H -   BELL
  BELLDEL:	DW 1000;0F717H -   BELL

4.4.3.   .
		DS 1
  SETFLAG:	DB 0	;0F71AH -   (0 .)
  		DS 5
  LONGVAL:	DB 0	;0F720H -  
  AUTOVAL:	DB 0	;0F721H -  
		DS 1
  GETPNT:	DW KEYBUF ;
  PUTPNT:	DW KEYBUF ;  -
		DS 2
  CONTAB:	DW CONT ;0F729H -  . . 
  FUNTAB:	DW FUNT ;0F72BH -  . .
  FSHIFT:	DB 0FFH ;0F72DH -   (0-)
  FALF:		DB 2H	;0F72EH -   (0-)
  FGRAPH:	DB 0	;0F72FH -   (4-.)
  FSEL:		DB 0	;0F730H -   (10H - )
  SNDFLG:	DB 0FFH ;0F731H -  .  (0-)
  
  CONT:		DW C0	;0F736H -    ..
  		DW C1
		DW C2
		DW C3
		DW C4
		DW C5
		DW C6
		DW C7
		DW C8
		DW C9
		DW CCOMMA
		DW CDEL
		DW CINS
		DW CCLS
  FUNT: 	DW F1	;0F752H -  . ..
  		DW F2
		DW F3
		DW F4
		DW F5
		DW F6
		DW F7
		DW F8
		DW F9
		DW F10

4.4.4.      
  
  WAVE1F:	DB 61	;0F766H   
  		DB 68
  WAVE2F:	DB 27	;0F768H
  		DB 33	;
  STMES:	DB 0	;0F76AH -  
  BITMES:	DB 0	;

		DS 2
4.4.5.      

  LUTFL:	DB 0	;0F76EH -    LUT
  ADRLUT:	DW TABLUT;0F76FH -   LUT
  TABLUT:	DB 00H	;0F771H -   .LUT
  		DB 91H
		DB 0A2H
		DB 0B3H
		DB 0C4H
		DB 0D5H
		DB 0E6H
		DB 0F7H
		DB 0F8H
		DB 0F9H
		DB 0FAH
		DB 0FBH
		DB 0FCH
		DB 0FDH
		DB 0FEH
		DB 0FFH

4.4.6.    

  FLGINT:	DB 0 ; 0F781H   
  PRNTAB:  DW LSTTAB ; 0F782H    LST 128 

4.4.7.   .

  HINTTAB:	DW DOINT0 ;0F7C8H -  / .
  		DW DOINT1 ;0F7CAH
  		DW DOINT2 ;0F7CCH
  		DW DOINT3 ;0F7CEH
  		DW DOINT4 ;0F7D0H
  		DW DOINT5 ;0F7D2H
  		DW DOINT6 ;0F7D4H
  		DW DOINT7 ;0F7D6H
  		DW AUXI0  ;0F7D8H
  		DW AUXI1  ;0F7DAH
  		DW AUXI2  ;0F7DCH
  		DW AUXI3  ;0F7DEH

      

		JMP INT0  ; 0F7E0H -    0
		DS 1
		JMP INT1  ; 0F7E4H
		DS 1
		JMP INT2  ; 0F7E8H
		DS 1
		JMP INT3  ; 0F7ECH
		DS 1
		JMP INT4  ; 0F7F0H
		DS 1
		JMP INT5  ; 0F7F4H
		DS 1
		JMP INT6  ; 0F7F8H
		DS 1
		JMP INT7  ; 0F7FCH
		DS 1

4.5.     ,   ,  , 
      BIOS.     ,     
          .
,           
"".           
  .       ,  
   ,              
.

4.6.     ,      BIOS,     
    .       
   .              
             
,        BIOS.   
   ,         BIOS,    
               
.

4.6.1.           .  
    0F771H - 0F780H,  16 .
            
.     ,    , 
         
.

4.6.2.         (0F76FH),    
   .    -    
 .      
  ,      BIOS,   
       .  , 
        
 .

4.6.3.              
    4 ( 20 ).   
         0F76EH.
      ,     
             
  16 ,   , 
  0F76FH.           0F76EH
 .       
,     .

	5.  
	5.1.        
CONOUT    BIOS.     BIOS      
,        .       
        ,      
 .
	5.2.      
BIOS CONIN  CONST.     .
	5.2.1.              
    INKEY.             ,
-,      <C>    <B>    -
         ,
,  -,        
FALPH, FSHIFT, FGRAPH   FSEL.           
SHIFT, ALPH, GRAPH  SEL,     LOCK,
         
  .  
	 INKEY  .   
     LONGVAL, 
 20 ,         
AUTOVAL,        20    (  0  
  - 20*256 , ..   5 ).  
	   INKEY          
  4 ( 20 ).     
 -    SYMBUF    CNTRKEY  (-    
  - .
	  .   5.1        .
,    -         
(            ,   1).
 -    1.

 		       D0  D1  D2  D3  D4  D5  D6  D7
		     |---|---|---|---|---|---|---|---|
   :     |   |   |   |   |   |   |   |   |

    KB00    01H	                            
    KB01    02H                             
    KB02    04H	                            
    KB03    08H                             
    KB04    10H        0   1   2   3   4   5   6   7
    KB05    20H        8   9   *   +   <   =   >   /
    KB06    40H	                  
    KB07    80H	             
[   KB07    80H	      SHT ALP GRP ESC SEL CNT LCK SHT ]

  . :

    KB08   101H	       0   1   2   3   4   5   6   7
    KB09   102H	       8   9                   .
    KB10   104H	       F1  F2  F3  F4  F5  F6  F7  F8
    KB11   108H	       F9  F10

             .5.1.

	5.2.2.     BIOS  CONIN    -8
.           ASC,
    -            -8      
  (  )   
   -  CNTRKEY,  FGRAPH,  FALPH,  FSEL  
FSHIFT.   ASC    .

	5.2.2.1.          -      1      32
     FALPH,FGRAPH,CNTRKEY  
FSHIFT.     CNTRKEY   CNTR, 
  ( 0  31),    .
	     FGRAPH   2   
 GRAPH   CNTRKEY ( ),     
 ,     SHIFT,  
128  159,   160  191.
	      1   FALPH   
 ALPH   CNTRKEY ( ),     
            (.
  -8),     SHIFT,  
64  95,   96  127.
	         -8 
.     SETFLAG    ,  
 -8   1988 .,   1974 .
	  SHIFT     
 FSHIFT   0  7   CNTRKEY.     
  FSHIFT           0  7 
 CNTRKEY, ( ),       
.

	5.2.2.2.          -      33     48
      (  33  63,
.   ).           
   0  7  CNTRKEY ( SHIFT).

	5.2.2.3.     -  49  56.   
- 60    ESC  (  27).   
              
  ,  ..     -       ASC
  .

	5.2.2.4.       -  57  64 
  .        ,  ,
,  BS,  .    ,     - DEL,
INS  CLS.     ,    
  (  ).
	5.2.2.5.          -      65     80
            FSEL  
CNTRKEY.         4  FSEL   
     CNTRKEY  (  ),    
           
.        .
      .  -
      ,  
    .       ASC  ,  
  -    ,     
      -         
   ,    
 ,     
        (      ,      
     ).       
         CONIN      
.    ,     
,         ,   
,           .
          ,      
.
	      ,            
.  ,      0F729H  
     .   
        2-  
,      .   
      -            
    .       
     DEL, INS  CLS.   ..   
  14 .      
  0F736H,       
0F6A0H-0F6F3H,  ..      
6 .
	,      
      
 SHIFT.

	5.2.2.6.          -    81    91  -
    ,          
.      
   .5.2.2.5.     
     0F72BH  (FUNTAB).   
          0F752H-0F764H, 
      0F600H-0F69FH,
  16       .    
SHIFT - 81-85    F6-F10.

	5.2.2.7.   - 97-112 
   65-80     (
,   .5.2.2.5).

	5.2.2.8.     ASC -, 
      ,  
 .

	5.2.3.  CONST    <A> 0FFH,
      ,  0 
 .

	5.2.4.      .  
     4 ( 20 )
       .      ,
   .         
  INKEY.    -  ( 
-),  -        <C>,
    CNTRKEY  -      <B>,    
      8  (AUXI0).     
    <C>.   
  ,  ,       .   
   <C>       ,
   <B> -   CNTRKEY.   
    SNDFLG.            ,   
                 
 .

	5.2.5.    ,  
  5,   .4.4.3.

	5.3.     
 BIOS LIST  LISTST.
	5.3.1.  LISTST     <A> 0FFH,
      , 
   .    
   CENTRONIX (-).
  BUSY (.  )  
   .
	5.3.2.   LIST   , 
  ,  .    .
         
.               
           
   20 .
	       0  255.  
0-127   -  ASCII.     128-255  
       -   ,
   ..         
,    128-255          
      .      
    ,   0F781H.

	5.4.    
   BIOS PUNCH   READER.
	5.4.1.     PUNCH      
 .       
    0    255.      .
	,   ,   
.    ,      ,    
  (  )    DSR
(.    RS-232).
	5.4.2.  READER    
.       0  255.
	,      ,
    DTR (.   RS-232).
	      READER .
 ,       .   
,   .   ,   
DTR      .     
      ,      DTR  
   .
	5.4.3.    ,         
 ,    , ..
  ,    ..  
,                 
/      ,  ,    
.          
 .

	5.5.      
 BIOS:
   8. HOME   -      .
   9. SELDSK -   .
  10. SETTRK -    .
  11. SETSEC -  ,    .
  12. SETDMA -    .
  13. READ   -   ,   
               SETSEC,  ,   SETTRK 
	       HOME,  ,   SELDSK 
	       ,   SETDMA.
  14. WRITE  -   ,   
               SETSEC, ,   SETTRK 
	       HOME, ,   SELDSK, 
	       ,   SETDMA.
  16. SECTRAN-      
               .

	      , 
,      ,         
 BIOS,    ,  
 .

	5.5.1.   ,         
,      .
	         CP/M        
,         ,      
 ().  
	     ,
    .
	                 
     ,
        (          
),  ,   , 
  ,      ..
	          ,
CP/M    ,      
  (DPB).       
  SELDSK.      ,      
   CP/M            
,      (CP/M  ,  
    128      
   ).    ,  CP/M  
    :            128
 .
	,      ,   
 ,   128,256,512  1024  .
         
      .         
     ,  
            .    
,            
  ,        
  ,        .
 ,     ,    
      .  
           
(MFM)   5.25"( 3.5"):

         /      
    128                    26                   3.25 
    256                    16                   4.00 
    512                     9                   4.50 
   1024                     5                   5.00 

    ,      
.             
    -  1024  .      
        
128      .            
 .
	           
,     .       
      (  )    
  0,   -  1.
	             
   BIOS.
	  BIOS       
  ,    ,     
  (  ).   ,   
       .     
      BIOS,       .
           
CP/M .      ,    
    ,   ,    
,          .          
    32      
   .        
    ,       
 .  
	BIOS         
,             
.
	     32      
  .  5.5.1.     6    -    
.         ,      
  , ..    .     7-16
             .   
      .5.5.1.       17-31   
       .    
      ,  
          ,
 CP/M    .    
    .
	 32      66H
(.. [1-31] + 66H = [  32].
	    ,  
    CP/M.   
: 8",  ,  , 77 ,
26 128-    ,   ,
64   ,   - 6.  
    8".   5.25" 
  .

N   ; 
;  
 1:    DW LoadAdress ; ,    
 3:    DW RunAdress  ; ,   
                     ; 
 5:    DW Count      ;    
 7:    DB SizeDisk   ;    1 -8" ,  0
                     ; - 5.25"
 8:    DB Density    ;  : 0 - FM; 1 - MFM
 9:    DB TpI        ;     : 0 - 48 TpI
                     ; 1 - 96 TpI, 2 - 135 TpI
10:    DB SkewFactor ;    1 -  
                     ; .  <> 1 -  33-128
                     ;    
                     ;  ,   
		     ;   .
11:    DB SecSize    ;   :0 - 128 ,
                     ; 1 - 256 , 2 - 512    3 - 1024
12:    DB InSide     ;    : 0 -
                     ;  , 1 - ,
		     ;     1  n 
		     ;   ,  
		     ;    ,  
		     ; .
13:    DW SecPerTrack;     
15:    DW TrkPerDisk ;     (  )

;  
17:    DW SPT        ;     
19:    DB BSH        ;     
20:    DB BLM        ;    
21:    DB EXM        ;  
22:    DW DSM        ;        1
24:    DW DRM        ;       1
26:    DB AL0        ; ,   
27:    DB AL1        ;  
28:    DW CKS        ;    
30:    DW OFS        ;     

32:    DB CheckSum   ;   

                . 5.5.1

	5.5.2.       HOME,   SETTRK,  SETSEC    SETDMA
   ,        
    READ    WRITE.     
          
.     SETTRK    SETSEC    
         <C>   (         
).     SETDMA  -     <BC>.
  HOME               
  SETTRK    <C>.
	5.5.3.    SECTRAN   
  .         
<C>,                <HL>.
    BIOS    
,         
1.
	5.5.4.   SELDSK   .  
  -   <C> -    .  
      A:, B:,
C:,  D:      E:   (      0,1,2,3      4).
,     A:, B:, C:  D: - , 
 E: -    .     
      ,   , 
     <HL>   0.  
  A:, B:, C:   D:,      
  ,     
(.  .5.5.1),          5",
        ,    ,  
 8".           
  "Can'  read  info  sector".     
,     ,    
"Wrong   checksum".             
    <HL>     
0.        , 
          (  ).   
      (  
        E:)       
  <HL>    .
	5.5.4.1.       
       .    ,   
    ,       
   .  ,  
   ,  ,      
  .            ,
      ,   .  
            
    ,     , 
         
.           
  .   5.5.2.   ,         
          
.

#    ; 

1:     DB HeadSpeed  ;    .
                     ; 3 - 30   , 2 - 20 , 1 - 12 ,
		     ; 0 - 6   80H - 3 .
2:     DB SecPerTrack;     
3:     DB InSec      ;    ( 1 -  ,
                     ; 0 -  )
4:     DB SecSize    ;   .0 - 128 ,
                     ; 1 - 256, 2 - 512  3 - 1024 .
5:     DB Track      ;   .
6:     DB Drive      ;    (00000100)
7:     DB Info       ;   
                     ;  

             . 5.5.2.

	5.5.4.2.             
,    BDOS.
	   ,  SELDSK   
       .
        .
        .  5.5.3.

DPH:   DW XLT     ;     
                  ;  .   
                  ;   ,   . 0
       DS 6       ;    BDOS
       DW DIRBUF  ;  128   ,
                  ;  BDOS   
                  ; . DIRBUF    
       DW DPB     ;    . 
                  ;      .
       DW CSV     ;    ,
                  ;     .
		  ;     ,  CSV = 0.
		  ;      
		  ; .      
		  ;  ,  .
       DW ALV     ;     
                  ;     
		  ;  .    
                  ;   .   
		  ;    . 
		  ;   1    .

              . 5.5.3.

      -    .
         .
            
  ,           
,   .
	         
  .  5.5.4.

DPB:   DW SPT  ;  128-   
       DB BSH  ;     
               ;    .  
	       ;  -    .
	       ;   - 1, 2, 4, 8  16 . 
	       ;    ,    
	       ;    
	       ; .    
	       ;   , 
	       ;   . BSH = log2[
	       ;    ].
       DB BLM  ;    .
               ; 
               ; BLM = (    )-1.
       DB EXM  ; = (BLM+1)*128/1024 - 1 - [DSM/256]. EXM - 
               ;    
	       ;  extent'.
	       ; extent -  ,   
	       ;   .
       DW DSM  ;        1
       DW DRM  ;       1
       DB AL0  ; ,   
       DB AL1  ;  .    AL0,AL1, 
               ;     AL0   
	       ;   AL1,  1 
	       ;     . 
	       ;    
	       ;     : 32*DRM/BLS
       DW CKS  ;    . 
               ; CKS=(DRM+1)/4.    , CKS=0.
       DW OFS  ;     

                 . 5.5.4.

	5.5.4.3.        , 
   BIOS.    ,  
           
      128- .    
  ,      
   .      
  LTOF.        
,            READ   WRITE.
    -      ,  
,    ,        , 
      128   ,      (
    ).  ..,  LTOF
    .    
BIOS    :

   1.  :    3.5", 5.25"  8".
   2.  :   FM, MFM (   ).
   3.    :  1 - 255.
   4.    : 1 - 255.
   5.   :   .    
      , ,    
         0,    1.
            1  n,
        -  0  k.
   6.  : 128, 256, 512  1024 .

        
   .
	,         BIOS    
 .

	5.5.4.4.          
.
	            ,
    .   
     :

  1.  .  35, 40, 77  80.
  2.   ().   .
  3.  .   .
  4. ,       .
  5.   . 3.5", 5.25"  8".

       3.5"  5.25"
,   , 80 ,     
         
   3 .         
   ( 800 ),   
      .
	     6022.    
             (40).
  ,        , 
      .   , 
    -    30 .
	    5088??     35 ,   
  BIOS      ,      
    40 ,  - -  30
.
	                 
.        
    -    ,    ,  
.   ,      
  (  ),    (,
,      .         
              .).
       1024  ,
        
      1024-
          512-.     
          - 5
/.
	      
   .  5.5.5.

;         5.25" ( 3.5")
;  ,   80 
;   .

;  
 1:    DW LoadAdress ; ,    
 3:    DW RunAdress  ; ,   
                     ; 
 5:    DW Count      ;    
 7:    DB 0          ;    1 -8" ,  0
                     ; - 5.25"
 8:    DB 1          ;  : 0 - FM; 1 - MFM
 9:    DB 96(135)    ;     : 0 - 48 TpI
                     ; 1 - 96 TpI, 2 - 135 TpI
10:    DB 1          ;    1 -  
                     ; .  <> 1 -  33-128
                     ;    
                     ;  ,   
		     ;   .
11:    DB 3          ;   :0 - 128 ,
                     ; 1 - 256 , 2 - 512    3 - 1024
12:    DB 1          ;    : 0 -
                     ;  , 1 - ,
		     ;     1  n 
		     ;   ,  
		     ;    ,  
		     ; .
13:    DW 5          ;     
15:    DW 80         ;     (  )

;  
17:    DW 40         ;     
19:    DB  4         ;     
20:    DB 15         ;    
21:    DB  0         ;  
22:    DW 394        ;        1
24:    DW 127        ;       1
26:    DB 192        ; ,   
27:    DB  0         ;  
28:    DW 32         ;    
30:    DW  2         ;     

32:    DB CheckSum   ;   

                . 5.5.5.

	5.5.5.   .
	     E:        -
 .        
        (  1,2    3.
  0         ).   
      -   144  .       
                     -
,    ,     
.          
    ,    
.
	        
.                
            
  (FE.COM),      
          
CP/M.              
     (   
   ).
	,          
,            
 64 .
	  .5.5.6    
.      BIOS    .

EDPB:  DW 128        ;     
       DB  3         ;     
       DB  7         ;    
       DB  0         ;  
       DW 143        ;        1
       DW 31         ;       1
       DB 128        ; ,   
       DB  0         ;  
       DW  0         ;    
       DW  0         ;     

             .5.5.6.

	5.5.6.       READ      
   (  )        
 DMA.        A:,
B:, C:, D:  E:.
	       E:  
      ,  
-   DMA.  ,      E:
  .
	                
    .    
,           
    (            
      1024  ).  
       ,
     128 .
	          ,  
     DMA,      ,  
         ,      
 .          ,
       ,   
   DMA.      
         <A>.  
  <A>  ,    ,
  ,            
.
	           - 
    DSETUP,      ,
    .    
       -  DTOM.       
         
       .

	5.5.7.     WRITE       
 DMA  .     ,        ,
   E:  .
	           E:    
   .      
  ,       ,  
       
.       ,      , 
 .
	        
   .             ,
    -   
  .
	,     1024 .  
  ,          128   ,
      .  
      ,         
  128     (  ),
           .   
,            
     -  (
       ).
	  ,  BDOS      .
 ,       
.              
      -   (),  
  16  ,        
      .           
      .          BDOS
 BIOS  ,     .  
	   <C>  1   
WRITE,            .       
 ,          
        ,    
           ,   ..    
 ,   .
	      <C>  0,   
.     ,        
       (..  
  ),     
          , 
        .     
        -   1024
           8    
  .
	      <C>  2,     , 
   ,      ,  ..
           
  (        ).    
,      8    
   .
	      WRITE   READ, 
  ,               
   MTOD,       
"", ..  ,    .

.
	      WRITE   READ, 
  ,         