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

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

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

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

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


$M_A_000DCH_STRUC LABEL BYTE
        $M_ID   <000DCH,$M_A_000DCH_MSG-$M_A_000DCH_STRUC>

$M_A_000DFH_STRUC LABEL BYTE
        $M_ID   <000DFH,$M_A_000DFH_MSG-$M_A_000DFH_STRUC>

$M_A_000C9H_STRUC LABEL BYTE
        $M_ID   <000C9H,$M_A_000C9H_MSG-$M_A_000C9H_STRUC>

$M_A_000CAH_STRUC LABEL BYTE
        $M_ID   <000CAH,$M_A_000CAH_MSG-$M_A_000CAH_STRUC>

$M_A_000CBH_STRUC LABEL BYTE
        $M_ID   <000CBH,$M_A_000CBH_MSG-$M_A_000CBH_STRUC>

$M_A_000CCH_STRUC LABEL BYTE
        $M_ID   <000CCH,$M_A_000CCH_MSG-$M_A_000CCH_STRUC>

$M_A_000CDH_STRUC LABEL BYTE
        $M_ID   <000CDH,$M_A_000CDH_MSG-$M_A_000CDH_STRUC>

$M_A_000CEH_STRUC LABEL BYTE
        $M_ID   <000CEH,$M_A_000CEH_MSG-$M_A_000CEH_STRUC>

$M_A_000D2H_STRUC LABEL BYTE
        $M_ID   <000D2H,$M_A_000D2H_MSG-$M_A_000D2H_STRUC>

$M_A_000D3H_STRUC LABEL BYTE
        $M_ID   <000D3H,$M_A_000D3H_MSG-$M_A_000D3H_STRUC>

$M_A_000D4H_STRUC LABEL BYTE
        $M_ID   <000D4H,$M_A_000D4H_MSG-$M_A_000D4H_STRUC>

$M_A_000D5H_STRUC LABEL BYTE
        $M_ID   <000D5H,$M_A_000D5H_MSG-$M_A_000D5H_STRUC>

$M_A_000D6H_STRUC LABEL BYTE
        $M_ID   <000D6H,$M_A_000D6H_MSG-$M_A_000D6H_STRUC>

$M_A_000D7H_STRUC LABEL BYTE
        $M_ID   <000D7H,$M_A_000D7H_MSG-$M_A_000D7H_STRUC>

$M_A_000D8H_STRUC LABEL BYTE
        $M_ID   <000D8H,$M_A_000D8H_MSG-$M_A_000D8H_STRUC>

$M_A_000D9H_STRUC LABEL BYTE
        $M_ID   <000D9H,$M_A_000D9H_MSG-$M_A_000D9H_STRUC>

$M_A_000DAH_STRUC LABEL BYTE
        $M_ID   <000DAH,$M_A_000DAH_MSG-$M_A_000DAH_STRUC>

$M_A_000DBH_STRUC LABEL BYTE
        $M_ID   <000DBH,$M_A_000DBH_MSG-$M_A_000DBH_STRUC>

$M_A_000DDH_STRUC LABEL BYTE
        $M_ID   <000DDH,$M_A_000DDH_MSG-$M_A_000DDH_STRUC>

$M_A_000DEH_STRUC LABEL BYTE
        $M_ID   <000DEH,$M_A_000DEH_MSG-$M_A_000DEH_STRUC>

$M_A_000E0H_STRUC LABEL BYTE
        $M_ID   <000E0H,$M_A_000E0H_MSG-$M_A_000E0H_STRUC>

$M_A_000E1H_STRUC LABEL BYTE
        $M_ID   <000E1H,$M_A_000E1H_MSG-$M_A_000E1H_STRUC>

$M_A_000E2H_STRUC LABEL BYTE
        $M_ID   <000E2H,$M_A_000E2H_MSG-$M_A_000E2H_STRUC>

$M_A_000E3H_STRUC LABEL BYTE
        $M_ID   <000E3H,$M_A_000E3H_MSG-$M_A_000E3H_STRUC>

$M_A_000E4H_STRUC LABEL BYTE
        $M_ID   <000E4H,$M_A_000E4H_MSG-$M_A_000E4H_STRUC>

$M_A_000E5H_STRUC LABEL BYTE
        $M_ID   <000E5H,$M_A_000E5H_MSG-$M_A_000E5H_STRUC>

$M_A_000E6H_STRUC LABEL BYTE
        $M_ID   <000E6H,$M_A_000E6H_MSG-$M_A_000E6H_STRUC>

$M_A_000E7H_STRUC LABEL BYTE
        $M_ID   <000E7H,$M_A_000E7H_MSG-$M_A_000E7H_STRUC>

$M_A_000E8H_STRUC LABEL BYTE
        $M_ID   <000E8H,$M_A_000E8H_MSG-$M_A_000E8H_STRUC>

$M_A_000E9H_STRUC LABEL BYTE
        $M_ID   <000E9H,$M_A_000E9H_MSG-$M_A_000E9H_STRUC>

$M_A_000EAH_STRUC LABEL BYTE
        $M_ID   <000EAH,$M_A_000EAH_MSG-$M_A_000EAH_STRUC>

$M_A_000EBH_STRUC LABEL BYTE
        $M_ID   <000EBH,$M_A_000EBH_MSG-$M_A_000EBH_STRUC>

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


$M_A_000DCH_MSG LABEL BYTE
        DB      $M_A_000DCH_END-$M_A_000DCH_MSG-1
        DB      "File allocation table bad, drive %1",CR,LF
$M_A_000DCH_END LABEL BYTE
  
$M_A_000DFH_MSG LABEL BYTE
        DB      $M_A_000DFH_END-$M_A_000DFH_MSG-1
        DB      "Press any key to continue . . .",CR,LF
$M_A_000DFH_END LABEL BYTE
  
$M_A_000C9H_MSG LABEL BYTE
        DB      $M_A_000C9H_END-$M_A_000C9H_MSG-1
        DB      "A"
$M_A_000C9H_END LABEL BYTE
  
$M_A_000CAH_MSG LABEL BYTE
        DB      $M_A_000CAH_END-$M_A_000CAH_MSG-1
        DB      "R"
$M_A_000CAH_END LABEL BYTE
  
$M_A_000CBH_MSG LABEL BYTE
        DB      $M_A_000CBH_END-$M_A_000CBH_MSG-1
        DB      "I"
$M_A_000CBH_END LABEL BYTE
  
$M_A_000CCH_MSG LABEL BYTE
        DB      $M_A_000CCH_END-$M_A_000CCH_MSG-1
        DB      "F"
$M_A_000CCH_END LABEL BYTE
  
$M_A_000CDH_MSG LABEL BYTE
        DB      $M_A_000CDH_END-$M_A_000CDH_MSG-1
        DB      "Y"
$M_A_000CDH_END LABEL BYTE
  
$M_A_000CEH_MSG LABEL BYTE
        DB      $M_A_000CEH_END-$M_A_000CEH_MSG-1
        DB      "N"
$M_A_000CEH_END LABEL BYTE
  
$M_A_000D2H_MSG LABEL BYTE
        DB      $M_A_000D2H_END-$M_A_000D2H_MSG-1
        DB      "Abort"
$M_A_000D2H_END LABEL BYTE
  
$M_A_000D3H_MSG LABEL BYTE
        DB      $M_A_000D3H_END-$M_A_000D3H_MSG-1
        DB      ", Retry"
$M_A_000D3H_END LABEL BYTE
  
$M_A_000D4H_MSG LABEL BYTE
        DB      $M_A_000D4H_END-$M_A_000D4H_MSG-1
        DB      ", Ignore"
$M_A_000D4H_END LABEL BYTE
  
$M_A_000D5H_MSG LABEL BYTE
        DB      $M_A_000D5H_END-$M_A_000D5H_MSG-1
        DB      ", Fail"
$M_A_000D5H_END LABEL BYTE
  
$M_A_000D6H_MSG LABEL BYTE
        DB      $M_A_000D6H_END-$M_A_000D6H_MSG-1
        DB      "?"
$M_A_000D6H_END LABEL BYTE
  
$M_A_000D7H_MSG LABEL BYTE
        DB      $M_A_000D7H_END-$M_A_000D7H_MSG-1
        DB      "reading",0
$M_A_000D7H_END LABEL BYTE
  
$M_A_000D8H_MSG LABEL BYTE
        DB      $M_A_000D8H_END-$M_A_000D8H_MSG-1
        DB      "writing",0
$M_A_000D8H_END LABEL BYTE
  
$M_A_000D9H_MSG LABEL BYTE
        DB      $M_A_000D9H_END-$M_A_000D9H_MSG-1
        DB      " %1 drive %2",CR,LF
$M_A_000D9H_END LABEL BYTE
  
$M_A_000DAH_MSG LABEL BYTE
        DB      $M_A_000DAH_END-$M_A_000DAH_MSG-1
        DB      " %1 device %2",CR,LF
$M_A_000DAH_END LABEL BYTE
  
$M_A_000DBH_MSG LABEL BYTE
        DB      $M_A_000DBH_END-$M_A_000DBH_MSG-1
        DB      "Please insert volume %1 serial %2-%3",CR,LF
$M_A_000DBH_END LABEL BYTE
  
$M_A_000DDH_MSG LABEL BYTE
        DB      $M_A_000DDH_END-$M_A_000DDH_MSG-1
        DB      "Invalid COMMAND.COM",CR,LF
$M_A_000DDH_END LABEL BYTE
  
$M_A_000DEH_MSG LABEL BYTE
        DB      $M_A_000DEH_END-$M_A_000DEH_MSG-1
        DB      "Insert disk with %1 in drive %2",CR,LF
$M_A_000DEH_END LABEL BYTE
  
$M_A_000E0H_MSG LABEL BYTE
        DB      $M_A_000E0H_END-$M_A_000E0H_MSG-1
        DB      CR,LF,"Terminate batch job (Y/N)?"
$M_A_000E0H_END LABEL BYTE
  
$M_A_000E1H_MSG LABEL BYTE
        DB      $M_A_000E1H_END-$M_A_000E1H_MSG-1
        DB      "Cannot execute %1",CR,LF
$M_A_000E1H_END LABEL BYTE
  
$M_A_000E2H_MSG LABEL BYTE
        DB      $M_A_000E2H_END-$M_A_000E2H_MSG-1
        DB      "Error in EXE file",CR,LF
$M_A_000E2H_END LABEL BYTE
  
$M_A_000E3H_MSG LABEL BYTE
        DB      $M_A_000E3H_END-$M_A_000E3H_MSG-1
        DB      "Program too big to fit in memory",CR,LF
$M_A_000E3H_END LABEL BYTE
  
$M_A_000E4H_MSG LABEL BYTE
        DB      $M_A_000E4H_END-$M_A_000E4H_MSG-1
        DB      CR,LF,"No free file handles"
$M_A_000E4H_END LABEL BYTE
  
$M_A_000E5H_MSG LABEL BYTE
        DB      $M_A_000E5H_END-$M_A_000E5H_MSG-1
        DB      "Bad Command or file name",CR,LF
$M_A_000E5H_END LABEL BYTE
  
$M_A_000E6H_MSG LABEL BYTE
        DB      $M_A_000E6H_END-$M_A_000E6H_MSG-1
        DB      "Access denied ",CR,LF
$M_A_000E6H_END LABEL BYTE
  
$M_A_000E7H_MSG LABEL BYTE
        DB      $M_A_000E7H_END-$M_A_000E7H_MSG-1
        DB      CR,LF,"Memory allocation error"
$M_A_000E7H_END LABEL BYTE
  
$M_A_000E8H_MSG LABEL BYTE
        DB      $M_A_000E8H_END-$M_A_000E8H_MSG-1
        DB      CR,LF,"Cannot load COMMAND, system halted",CR,LF
$M_A_000E8H_END LABEL BYTE
  
$M_A_000E9H_MSG LABEL BYTE
        DB      $M_A_000E9H_END-$M_A_000E9H_MSG-1
        DB      CR,LF,"Cannot start COMMAND, exiting",CR,LF
$M_A_000E9H_END LABEL BYTE
  
$M_A_000EAH_MSG LABEL BYTE
        DB      $M_A_000EAH_END-$M_A_000EAH_MSG-1
        DB      CR,LF,"Top level process aborted, cannot continue",CR,LF
$M_A_000EAH_END LABEL BYTE
  
$M_A_000EBH_MSG LABEL BYTE
        DB      $M_A_000EBH_END-$M_A_000EBH_MSG-1
        DB      CR,LF
$M_A_000EBH_END LABEL BYTE
  
; ----------------------------------------------------------

Class_A_MessageCount EQU     32

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

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

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

$M_CLS_3 ENDP

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

