
; ----------------------------------------------------------

        PUBLIC  $M_CLS_1
        IF1
        %out    ... Including message Class A
        ENDIF

; ----------------------------------------------------------

$M_CLASS_A_STRUC LABEL BYTE
        $M_CLASS_ID <0FFH,EXPECTED_VERSION,Class_A_MessageCount>

; ----------------------------------------------------------


$M_A_00001H_STRUC LABEL BYTE
        $M_ID   <00001H,$M_A_00001H_MSG-$M_A_00001H_STRUC>

$M_A_00006H_STRUC LABEL BYTE
        $M_ID   <00006H,$M_A_00006H_MSG-$M_A_00006H_STRUC>

$M_A_00003H_STRUC LABEL BYTE
        $M_ID   <00003H,$M_A_00003H_MSG-$M_A_00003H_STRUC>

$M_A_00004H_STRUC LABEL BYTE
        $M_ID   <00004H,$M_A_00004H_MSG-$M_A_00004H_STRUC>

$M_A_00005H_STRUC LABEL BYTE
        $M_ID   <00005H,$M_A_00005H_MSG-$M_A_00005H_STRUC>

$M_A_00007H_STRUC LABEL BYTE
        $M_ID   <00007H,$M_A_00007H_MSG-$M_A_00007H_STRUC>

$M_A_00008H_STRUC LABEL BYTE
        $M_ID   <00008H,$M_A_00008H_MSG-$M_A_00008H_STRUC>

$M_A_00009H_STRUC LABEL BYTE
        $M_ID   <00009H,$M_A_00009H_MSG-$M_A_00009H_STRUC>

$M_A_0000BH_STRUC LABEL BYTE
        $M_ID   <0000BH,$M_A_0000BH_MSG-$M_A_0000BH_STRUC>

$M_A_0000CH_STRUC LABEL BYTE
        $M_ID   <0000CH,$M_A_0000CH_MSG-$M_A_0000CH_STRUC>

$M_A_0000DH_STRUC LABEL BYTE
        $M_ID   <0000DH,$M_A_0000DH_MSG-$M_A_0000DH_STRUC>

$M_A_0000EH_STRUC LABEL BYTE
        $M_ID   <0000EH,$M_A_0000EH_MSG-$M_A_0000EH_STRUC>

$M_A_0000FH_STRUC LABEL BYTE
        $M_ID   <0000FH,$M_A_0000FH_MSG-$M_A_0000FH_STRUC>

$M_A_00010H_STRUC LABEL BYTE
        $M_ID   <00010H,$M_A_00010H_MSG-$M_A_00010H_STRUC>

$M_A_00011H_STRUC LABEL BYTE
        $M_ID   <00011H,$M_A_00011H_MSG-$M_A_00011H_STRUC>

$M_A_00012H_STRUC LABEL BYTE
        $M_ID   <00012H,$M_A_00012H_MSG-$M_A_00012H_STRUC>

$M_A_00013H_STRUC LABEL BYTE
        $M_ID   <00013H,$M_A_00013H_MSG-$M_A_00013H_STRUC>

; ----------------------------------------------------------


$M_A_00001H_MSG LABEL BYTE
        DB      $M_A_00001H_END-$M_A_00001H_MSG-1
        DB      "Incorrect DOS version",CR,LF
$M_A_00001H_END LABEL BYTE
  
$M_A_00006H_MSG LABEL BYTE
        DB      $M_A_00006H_END-$M_A_00006H_MSG-1
        DB      "Invalid parameter",CR,LF
$M_A_00006H_END LABEL BYTE
  
$M_A_00003H_MSG LABEL BYTE
        DB      $M_A_00003H_END-$M_A_00003H_MSG-1
        DB      "Invalid switch",CR,LF
$M_A_00003H_END LABEL BYTE
  
$M_A_00004H_MSG LABEL BYTE
        DB      $M_A_00004H_END-$M_A_00004H_MSG-1
        DB      CR,LF,"FASTOPEN installed",CR,LF
$M_A_00004H_END LABEL BYTE
  
$M_A_00005H_MSG LABEL BYTE
        DB      $M_A_00005H_END-$M_A_00005H_MSG-1
        DB      CR,LF,"FASTOPEN already installed",CR,LF
$M_A_00005H_END LABEL BYTE
  
$M_A_00007H_MSG LABEL BYTE
        DB      $M_A_00007H_END-$M_A_00007H_MSG-1
        DB      CR,LF,"Too many drive entries",CR,LF
$M_A_00007H_END LABEL BYTE
  
$M_A_00008H_MSG LABEL BYTE
        DB      $M_A_00008H_END-$M_A_00008H_MSG-1
        DB      CR,LF,"Same drive specified more than once",CR,LF
$M_A_00008H_END LABEL BYTE
  
$M_A_00009H_MSG LABEL BYTE
        DB      $M_A_00009H_END-$M_A_00009H_MSG-1
        DB      CR,LF,"Invalid parameter",CR,LF
$M_A_00009H_END LABEL BYTE
  
$M_A_0000BH_MSG LABEL BYTE
        DB      $M_A_0000BH_END-$M_A_0000BH_MSG-1
        DB      CR,LF,"Invalid extent entry",CR,LF
$M_A_0000BH_END LABEL BYTE
  
$M_A_0000CH_MSG LABEL BYTE
        DB      $M_A_0000CH_END-$M_A_0000CH_MSG-1
        DB      CR,LF,"Invalid file/directory entry",CR,LF
$M_A_0000CH_END LABEL BYTE
  
$M_A_0000DH_MSG LABEL BYTE
        DB      $M_A_0000DH_END-$M_A_0000DH_MSG-1
        DB      CR,LF,"Cannot setup expanded memory",CR,LF
$M_A_0000DH_END LABEL BYTE
  
$M_A_0000EH_MSG LABEL BYTE
        DB      $M_A_0000EH_END-$M_A_0000EH_MSG-1
        DB      CR,LF,"Expanded memory not available",CR,LF
$M_A_0000EH_END LABEL BYTE
  
$M_A_0000FH_MSG LABEL BYTE
        DB      $M_A_0000FH_END-$M_A_0000FH_MSG-1
        DB      CR,LF,"Invalid drive specification %1",CR,LF
$M_A_0000FH_END LABEL BYTE
  
$M_A_00010H_MSG LABEL BYTE
        DB      $M_A_00010H_END-$M_A_00010H_MSG-1
        DB      CR,LF,"FASTOPEN EMS entry count exceeded.  Use fewer entries",CR,LF
$M_A_00010H_END LABEL BYTE
  
$M_A_00011H_MSG LABEL BYTE
        DB      $M_A_00011H_END-$M_A_00011H_MSG-1
        DB      CR,LF,"Cannot use FASTOPEN for drive %1",CR,LF
$M_A_00011H_END LABEL BYTE
  
$M_A_00012H_MSG LABEL BYTE
        DB      $M_A_00012H_END-$M_A_00012H_MSG-1
        DB      CR,LF,"Too many extent entries",CR,LF
$M_A_00012H_END LABEL BYTE
  
$M_A_00013H_MSG LABEL BYTE
        DB      $M_A_00013H_END-$M_A_00013H_MSG-1
        DB      CR,LF,"Too many file/directory entries",CR,LF
$M_A_00013H_END LABEL BYTE
  
; ----------------------------------------------------------

Class_A_MessageCount EQU     17

; ----------------------------------------------------------

        IF      FARmsg
$M_CLS_1 PROC FAR
        ELSE
$M_CLS_1 PROC NEAR
        ENDIF

        PUSH    CS
        POP     ES
        LEA     DI,$M_CLASS_A_STRUC
        ADD     CX,$-$M_CLASS_A_STRUC
        RET

$M_CLS_1 ENDP

; ----------------------------------------------------------

