					       (C) SP-Computer Club,  1994 
					         BETA-  24.09

                                          

	              " A l t a i r   D O S "   v e r s   1 . 0

      ALTAIR DOS (tm),   -
    .   1994 .    
 SP-Computer Club-,          "Adelaide",
"Crystal Grafik"  "Crypt Dezign"       . 
    ( 1994)     -
    ALTDOS V1.06 (Beta).       (
    1.05)  ,    .
   1.06      ,   
 (  1.07). T.e  1.06 -  BETA-, -
         /-,  .

I.     "Altair DOS"     
  CP/M 2.2.           
 (INT 50 ).   -    . -
   :

 -     (  , -
            "")
 -     ,  - STATUS -
   .        (:SED)
 -     "-"   (. -
          ) , .  
    ,   ., " -, -
   "...       "" ., .
          ,    
    ,     ,   . -
      "" -,  
       ,    CP/M
    ( ,     ,     -
     " ",     -
    ).     ,  
      /   ..)
 -    ,       -
    

    ,     :

 -            (
   ).           . 
       ,       .  
    ,           
   
 - ,       0FBh (  0F9h  -
   )   .       
   (    ).   ,   
             (. )

        ,    -
  MAKEEXEC.COM (Make executable).      
 :

	ld      a,(0F3FBh)      ;    0FBh
	and     0BFh            ;   6 ( )
	ld      (0F3FBh),a
	out     (0FBh),a

II.    Altair DOS ( ,  )

     Altair DOS       "" 
 (   ,  ,     -
				      - 1 -


      ..)     ,          
()          .      :

		  0                              1
  FFFF   |--------------------|      FFFF   |--------------------|
	 |      |             |          |
  F800   |--------------------|             |       (4 )       |
	 |      |      F000   |--------------------|
  F400   |--------------------|             |                    |
	 |    |             |     BDOS, BIOS     |
  F201   |--------------------|             |                    |
	 |   0F3h |      CC06   |--------------------|
  F100   |--------------------|             |        CCP         |
	 |            |      C400   |--------------------|
  F000   |--------------------|             |                    |
	 |      |             |                    |
  DD00   |--------------------|             |                    |
	 |   |             |        TPA         |
  C000   |--------------------|             |                    |
	 |            |             |                    |
  7C00   |--------------------|      0100   |--------------------|
	 |     |             |   CP/M |
  0000   |--------------------|      0000   |--------------------|


                1   
3C00-3FFF,   .            $$$.SUB.
      RAM       4000-7FFF  
     0000-3FFF,          
CP/M- ( .      32)

  7C00   |------------------------|
	 |   TPA () |             0 
	 |                        |      4000-7BFF -  , -
	 |    () |        ""  -
  4000   |------------------------|     , .    -
	 |     $$$.sub  |       TPA CP/M.  , 
  3C00   |------------------------|        
	 |                        |      ,     ""  
	 |         |      "  CP/M"   0-100h
	 |                        |     (    .01/02, 05/6)
  0000   |------------------------|

   ,           (
480x256,  )    7C00  BFFF    (17 )
.      50             - 67.
    C000    (  0)   
  (       C000).

              :

  1.     F100  F200     
     0F3h.    ,   ( Interrupt Mode 2) -
       ,      ,       -
         FF  (,      
     NMI). ,    ""  Z80CARD-II,  
               F100    F1FE      .

  2.    F201-F202        
        -  .    -       ,
         BIOS-       
     .           F208, 
              (   
         ).  ,   
                HL   
      0F201h.           
      0F9h  0FBh,   0F9h    0FBh      
				      - 2 -


     (. " ")      ,  . 
     ,      0F201h    6 :
            (2 ),   
     0F9h  0FBh (2 )       0F201h   (2 ).
          ( RET)   
          0F9h  0FBh   -
        .       -    
       0F201h        
         0F9h  0FBh      -
       (. ).        
                 
     .         , -
        0F200h.

  3.    :

                -  ;
       ( 0F9h)  - 1 ;
       ( 0FBh)  - 1 .

     :     F800 "    "

	defw    0F81Bh          ;  
	defb    0               ;   
	defb    080h            ;  ,  

  4.   F203    .    DOS
       15,       

  5.    F204-F207          
     0F8h-0FBh (     ).      
           0F8h-0FBh     DOS.

  6.    F208    :

     F208:  console status    -  .  0FFh  A,  
				    0  . 
				 .
     F20C:  console input     -   .    A. 
				 
     F210:  console output    -   .    C. -
				  .
     F214:  printer status    -  . A=0 -   , A=0FFh
				 .   -
				.
     F218:  printer output    -   .    C. -
				  .
     F21C:  output            -    .    C.
     F220:  input             -    .    A.
     F224:  call ISR          -    . 
				  HL,DE,BC,AF.  -
				   0F3B0h.  
				.
     F228:  inkey             -     .  -
				      ,
				    call 0F81Bh.  -
				      -
				,      -
				  (  IBM PC)
     F22C:  keyb. interrupt   -         (
				-3).      
				  .  -
				   .     -
				   C.       -
				   ,      
				  SHIFT+CTRL+key (-
				     "" ).
				      - 3 -


     F230:  beeper            -        /-   F83F.
				            F228.
     F234:  multiplexor       - .     
				INT 2Fh  MS-DOS.       ,
				      .
				    :      
				BC,BC',DE',HL'     -
				,     (,
				 8   ).   
				 F234.   ,  
				   ,     -
				  .     ,  
				  ,      A -
				 ,     0FFh (,
				 )       -
				  (     ).
				   ,     -
				 .
     F238:  hid cursor        -  .    -  
				   ,   
				  .       ,  
				          ,
				     (  ).
     F23C:  recover cursor    -  .     
				       
				    .
     F240:  mouse call        -   .      .  
				 ,    Adelai-
				de, Crystal Grafik    ,  
				   ,   -
				  MS-DOS  (     
				 MOUSEIBM.TXT).

  7.               
       (  - .   ).

  8.          . BIOS   
           0F380h,    -
      -   0F3B0h.

  9.   F3F3-F3F5   JP     -

 10.     0F3F8h-0F3FBh          0F8h-0FBh
     .           
      BIOS          
       .      ,  
        , ,      0F9h
          0F3F9h.       
     CP/M, ,          
      ,       .     0FBh
           0F3FBh.    ,    
          ,         ,  
        ,         
      ( ).  ,       , 
         :

     1.         ,   
	 :
		di
		out     (port),a
		ld      (0F300h+port),a
		ei
     2.     :         0F9h
	    ,    :
		out     (0F9h),a
		ld      (0F3F9h),a
				      - 4 -


	   0FBh ,      
	   ,    :

	ld      (0F3FBh),a
	out     (0FBh),a


III.    Altair DOS.

  1.    .

              
       -      .  -
      :    ,   -
        ,      -
       .        
       .        :

     1)           
	 ;
     2)     , ,     
	;
     3)         -
	          .

          .
           ,    ,     
       :

     1)     ,   -
	      (..   HL      
	call 0F201h),           .  
	      (     
	 !)          .
     2)        ,    
	.         -
	      .

              
      :       ,     
     .

  2. .

            ,      
             .    
     :  - .      -
          .    ,
          .    -
        (         -
                 -
     ),    ,    .
         CP/M  .  , , 
          (   )  -
        .      - MS-DOS  -
     ,        .   -
      " " (0F201h)  , ,  -
                 .

	     ALTDOS (  CP/M)
	   ------------------------------------------------------

   45.        ASCIIZ 

   :    C - 2Dh
		       DE -  ASCIIZ 
   :   A -   0FFh    .

				      - 5 -

  ASCIIZ     :
  1)  //../name1\name2\..nameN\
       :         -
        ,      '/'. 
         name1\    name2\  ..  nameN\.
      ,     :
      B:\SYSTEM\DRIVERS\MOUSE\
      ASCIIZ  :
      //TEXTS\CONFORMED\USER10\
            :
      B:\SYSTEM\TEXTS\CONFORMED\USER10\
  2)  disk:\name1\name2\..nameN\
      ,    .

   46.   .
   :     C - 2Eh
   :   HL -     0,   .
        .
    :
   -  (0  )  -  1 
                                        - 12 

   47.   .
    46.

   48.   
   :     C - 30h;
			DE -   ASCIIZ .
   :    0 - ;
			 1 -  ;
			 2 -    .
          .
   DE   ASCIIZ  (..  ASCII , 
   0).       12.    -
  .

   49.   

   :     C - 31h.
   :    0 - ;
			 1 -   ;
			 2 -    .
         .

      ,    0F200h

OFFS    equ     0F200h
PF8     equ     0F3F8h
PF9     equ     0F3F9h
PFA     equ     0F3FAh
PFB     equ     0F3FBh
    . . . . . . . . . . . . . .
	.phase  0F201h
	jr      CALLSB          ; OFFS + 01h
	defb    15
MPF8:   defb    000h            ; OFFS + 04h
MPF9:   defb    001h            ; OFFS + 05h
MPFA:   defb    000h            ; OFFS + 06h
MPFB:   defb    090h            ; OFFS + 07h
;
TABEXT: defw    @RET            ; OFFS + 08h    ; console status
	defb    1,90h
	defw    @RET            ; OFFS + 0Ch    ; console input
	defb    1,90h
	defw    @RET            ; OFFS + 10h    ; console output
	defb    1,90h
	defw    @RET            ; OFFS + 14h    ; printer status
				      - 6 -



	defb    1,90h
	defw    @RET            ; OFFS + 18h    ; printer output
	defb    1,90h
	defw    @RET            ; OFFS + 1Ch    ; output to output device
	defb    1,90h
	defw    @RET            ; OFFS + 20h    ; input from input device
	defb    1,90h
@ISR:   defw    @RET            ; OFFS + 24h    ; address ISR
	defb    1,90h
	defw    0F81Bh          ; OFFS + 28h    ; Input from keyboard (ROM)
	defb    0,0D0h
	defw    @RET            ; OFFS + 2Ch    ; Keyboard interrupt
	defb    0,90h
	defw    0F83Fh          ; OFFS + 30h    ; Beeper (ROM)
	defb    0,90h
	defw    MRET            ; OFFS + 34h    ; Multiplexor
	defb    1,90h
	defw    @RET            ; OFFS + 38h    ; Hid cursor
	defb    1,90h
	defw    @RET            ; OFFS + 3Ch    ; Recover cursor
	defb    1,90h
	defb    @RET            ; OFFS + 40h    ; Mouse call
	defb    1,90h
;
ISP:	defw	0
;
MRET:   ld      a,0FFh
	ret
;
CALLSB: push    hl
	ld      a,(PF9)
	ld      l,a
	ld      a,(PFB)
	ld      h,a
	ex      (sp),hl         ;    0F9h  0FBh
	push    hl
	ld      hl,CALL4
	ex      (sp),hl         ;   
	push    de
	ld      e,(hl)
	inc     hl
	ld      d,(hl)
	inc     hl
	ex      de,hl
	ex      (sp),hl         ;     
	ex      de,hl
	ld      a,(hl)
	inc     hl
	ld      h,(hl)          ;  L -    0F9h,  H - 0FBh
	out     (0F9h),a
	ld      (PF9),a
	ld      a,(PFB)
	or      0BFh            ;    ,  
	and     h               ;       
	ld      (PFB),a
	out     (0FBh),a
	ret                     ;   
CALL4:  pop     hl              ;  HL -   
	push    af
	ld      a,l
	out     (0F9h),a
	ld      (PF9),a
	ld      a,h
	ld      (PFB),a
	out     (0FBh),a        ;  
	pop     af
	ret
				      - 7 -


IHD:    ld      (ISP),sp        ;  
	ld      sp,0F3B0h
	push	hl
	push	de
	push	bc
	push    af
	ld      b,4             ;   ,
	ld      hl,0C000h       ;     0F9h
	ld      e,13h           ; ,   PFB -  
	ld      a,e
IHDL2:  out     (0FBh),a
	ld      a,(0)
	cp      (hl)
	jr      nz,IHDL1        ;   
	cpl
	ld      (0),a
	cp      (hl)
	cpl
	ld      (0),a
	jr      z,IHDL3
IHDL1:  ld      a,e
	add     a,4
	ld      e,a
	djnz    IHDL2
	ld      a,(PF9)         ;     > 3 (  0)
	jr      IHDL5           ;      -
				;       PF9
;
IHDL3:  ld      a,e
	rra
	rra
	and     3               ;  A -   
IHDL5:  ld      l,a
	ld      a,(PFB)
	ld      h,a
	push    hl
	ld      hl,IHDL4
	push    hl
	ld      hl,(@ISR+2)
	ld      a,l
	out     (0F9h),a
	ld      (PF9),a
	ld      a,h
	ld      (PFB),a
	out     (0FBh),a
	ld      hl,(@ISR)
	jp      (hl)
IHDL4:  pop     hl
	ld      a,l
	out     (0F9h),a
	ld      (PF9),a
	ld      a,h
	ld      (PFB),a
	out     (0FBh),a
	pop     af
	pop	bc
	pop	de
	pop	hl
	ld	sp,(ISP)
	ei
@RET:	ret
    CCP    CCP .   

        . -.  1994 .

				      - 8 -
 ,    
	.        