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

        PUBLIC  $M_MSGSERV_1
        %IF 1
        %warning out: ... Including message Class 1
        %ENDIF

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

$M_CLASS_1_STRUC LABEL BYTE
$M_CLASS_ID_size equ $M_CLASS_ID_struc_size	; NASM port equate
istruc $M_CLASS_ID
at $M_CLS_ID
	db 001H
at $M_COMMAND_VER
	dw EXPECTED_VERSION
at $M_NUM_CLS_MSG
	db Class_1_MessageCount
iend

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


$M_1_00002H_STRUC LABEL BYTE
$M_ID_size equ $M_ID_struc_size	; NASM port equate
istruc $M_ID
at $M_NUM
	dw 00002H
at $M_TXT_PTR
	dw $M_1_00002H_MSG-$M_1_00002H_STRUC
iend

$M_1_00004H_STRUC LABEL BYTE
istruc $M_ID
at $M_NUM
	dw 00004H
at $M_TXT_PTR
	dw $M_1_00004H_MSG-$M_1_00004H_STRUC
iend

$M_1_00005H_STRUC LABEL BYTE
istruc $M_ID
at $M_NUM
	dw 00005H
at $M_TXT_PTR
	dw $M_1_00005H_MSG-$M_1_00005H_STRUC
iend

$M_1_00008H_STRUC LABEL BYTE
istruc $M_ID
at $M_NUM
	dw 00008H
at $M_TXT_PTR
	dw $M_1_00008H_MSG-$M_1_00008H_STRUC
iend

$M_1_0000FH_STRUC LABEL BYTE
istruc $M_ID
at $M_NUM
	dw 0000FH
at $M_TXT_PTR
	dw $M_1_0000FH_MSG-$M_1_0000FH_STRUC
iend

$M_1_0001AH_STRUC LABEL BYTE
istruc $M_ID
at $M_NUM
	dw 0001AH
at $M_TXT_PTR
	dw $M_1_0001AH_MSG-$M_1_0001AH_STRUC
iend

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

$M_1_FF_STRUC LABEL BYTE
istruc $M_ID
at $M_NUM
	dw 0FFFFH
at $M_TXT_PTR
	dw $M_1_FF_MSG-$M_1_FF_STRUC
iend

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


$M_1_00002H_MSG LABEL BYTE
        DB      $M_1_00002H_END-$M_1_00002H_MSG-1
        DB      "File not found"
$M_1_00002H_END LABEL BYTE
  
$M_1_00004H_MSG LABEL BYTE
        DB      $M_1_00004H_END-$M_1_00004H_MSG-1
        DB      "Too many open files"
$M_1_00004H_END LABEL BYTE
  
$M_1_00005H_MSG LABEL BYTE
        DB      $M_1_00005H_END-$M_1_00005H_MSG-1
        DB      "Access denied "
$M_1_00005H_END LABEL BYTE
  
$M_1_00008H_MSG LABEL BYTE
        DB      $M_1_00008H_END-$M_1_00008H_MSG-1
        DB      "Insufficient memory"
$M_1_00008H_END LABEL BYTE
  
$M_1_0000FH_MSG LABEL BYTE
        DB      $M_1_0000FH_END-$M_1_0000FH_MSG-1
        DB      "Invalid drive specification"
$M_1_0000FH_END LABEL BYTE
  
$M_1_0001AH_MSG LABEL BYTE
        DB      $M_1_0001AH_END-$M_1_0001AH_MSG-1
        DB      "Invalid media type"
$M_1_0001AH_END LABEL BYTE
  
; ----------------------------------------------------------

$M_1_FF_MSG LABEL BYTE
        DB      $M_1_FF_END-$M_1_FF_MSG-1
        DB      "Extended Error %1"
$M_1_FF_END LABEL BYTE
  
; ----------------------------------------------------------

Class_1_MessageCount EQU     7

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

        %IF      FARmsg
$M_MSGSERV_1 PROC FAR
        %ELSE
$M_MSGSERV_1 PROC NEAR
        %ENDIF

        PUSH    CS
        POP     ES
        LEA     DI,[$M_CLASS_1_STRUC]
        ADD     CX,$-$M_CLASS_1_STRUC
        RET

$M_MSGSERV_1 Endp

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

