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

        PUBLIC  M_CLS_1
        %IF 1
        %warning out: ... Including message Class A
        %ENDIF

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

$M_CLASS_A_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 0FFH
at $M_COMMAND_VER
	dw EXPECTED_VERSION
at $M_NUM_CLS_MSG
	db Class_A_MessageCount
iend

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


$M_A_00001H_STRUC LABEL BYTE
$M_ID_size equ $M_ID_struc_size	; NASM port equate
istruc $M_ID
at $M_NUM
	dw 00001H
at $M_TXT_PTR
	dw $M_A_00001H_MSG-$M_A_00001H_STRUC
iend

$M_A_00002H_STRUC LABEL BYTE
istruc $M_ID
at $M_NUM
	dw 00002H
at $M_TXT_PTR
	dw $M_A_00002H_MSG-$M_A_00002H_STRUC
iend

$M_A_00003H_STRUC LABEL BYTE
istruc $M_ID
at $M_NUM
	dw 00003H
at $M_TXT_PTR
	dw $M_A_00003H_MSG-$M_A_00003H_STRUC
iend

$M_A_00004H_STRUC LABEL BYTE
istruc $M_ID
at $M_NUM
	dw 00004H
at $M_TXT_PTR
	dw $M_A_00004H_MSG-$M_A_00004H_STRUC
iend

$M_A_00005H_STRUC LABEL BYTE
istruc $M_ID
at $M_NUM
	dw 00005H
at $M_TXT_PTR
	dw $M_A_00005H_MSG-$M_A_00005H_STRUC
iend

$M_A_00006H_STRUC LABEL BYTE
istruc $M_ID
at $M_NUM
	dw 00006H
at $M_TXT_PTR
	dw $M_A_00006H_MSG-$M_A_00006H_STRUC
iend

$M_A_00007H_STRUC LABEL BYTE
istruc $M_ID
at $M_NUM
	dw 00007H
at $M_TXT_PTR
	dw $M_A_00007H_MSG-$M_A_00007H_STRUC
iend

$M_A_00008H_STRUC LABEL BYTE
istruc $M_ID
at $M_NUM
	dw 00008H
at $M_TXT_PTR
	dw $M_A_00008H_MSG-$M_A_00008H_STRUC
iend

$M_A_00009H_STRUC LABEL BYTE
istruc $M_ID
at $M_NUM
	dw 00009H
at $M_TXT_PTR
	dw $M_A_00009H_MSG-$M_A_00009H_STRUC
iend

$M_A_0000AH_STRUC LABEL BYTE
istruc $M_ID
at $M_NUM
	dw 0000AH
at $M_TXT_PTR
	dw $M_A_0000AH_MSG-$M_A_0000AH_STRUC
iend

$M_A_0000BH_STRUC LABEL BYTE
istruc $M_ID
at $M_NUM
	dw 0000BH
at $M_TXT_PTR
	dw $M_A_0000BH_MSG-$M_A_0000BH_STRUC
iend

$M_A_0000CH_STRUC LABEL BYTE
istruc $M_ID
at $M_NUM
	dw 0000CH
at $M_TXT_PTR
	dw $M_A_0000CH_MSG-$M_A_0000CH_STRUC
iend

$M_A_0000DH_STRUC LABEL BYTE
istruc $M_ID
at $M_NUM
	dw 0000DH
at $M_TXT_PTR
	dw $M_A_0000DH_MSG-$M_A_0000DH_STRUC
iend

$M_A_0000EH_STRUC LABEL BYTE
istruc $M_ID
at $M_NUM
	dw 0000EH
at $M_TXT_PTR
	dw $M_A_0000EH_MSG-$M_A_0000EH_STRUC
iend

$M_A_0000FH_STRUC LABEL BYTE
istruc $M_ID
at $M_NUM
	dw 0000FH
at $M_TXT_PTR
	dw $M_A_0000FH_MSG-$M_A_0000FH_STRUC
iend

$M_A_00010H_STRUC LABEL BYTE
istruc $M_ID
at $M_NUM
	dw 00010H
at $M_TXT_PTR
	dw $M_A_00010H_MSG-$M_A_00010H_STRUC
iend

$M_A_00011H_STRUC LABEL BYTE
istruc $M_ID
at $M_NUM
	dw 00011H
at $M_TXT_PTR
	dw $M_A_00011H_MSG-$M_A_00011H_STRUC
iend

$M_A_00012H_STRUC LABEL BYTE
istruc $M_ID
at $M_NUM
	dw 00012H
at $M_TXT_PTR
	dw $M_A_00012H_MSG-$M_A_00012H_STRUC
iend

$M_A_00013H_STRUC LABEL BYTE
istruc $M_ID
at $M_NUM
	dw 00013H
at $M_TXT_PTR
	dw $M_A_00013H_MSG-$M_A_00013H_STRUC
iend

$M_A_00014H_STRUC LABEL BYTE
istruc $M_ID
at $M_NUM
	dw 00014H
at $M_TXT_PTR
	dw $M_A_00014H_MSG-$M_A_00014H_STRUC
iend

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


$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_00002H_MSG LABEL BYTE
        DB      $M_A_00002H_END-$M_A_00002H_MSG-1
        DB      CR,"%1 percent of disk formatted                                        ",CR
$M_A_00002H_END LABEL BYTE
  
$M_A_00003H_MSG LABEL BYTE
        DB      $M_A_00003H_END-$M_A_00003H_MSG-1
        DB      "%1 bytes available on disk",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,"Format complete                                                     ",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      "%1 bytes in bad sectors",CR,LF
$M_A_00005H_END LABEL BYTE
  
$M_A_00006H_MSG LABEL BYTE
        DB      $M_A_00006H_END-$M_A_00006H_MSG-1
        DB      "%1 bytes total disk space",CR,LF
$M_A_00006H_END LABEL BYTE
  
$M_A_00007H_MSG LABEL BYTE
        DB      $M_A_00007H_END-$M_A_00007H_MSG-1
        DB      "Insert new diskette for drive %1:",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      "%1 bytes used by system",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      "Re-insert diskette for drive %1:",CR,LF
$M_A_00009H_END LABEL BYTE
  
$M_A_0000AH_MSG LABEL BYTE
        DB      $M_A_0000AH_END-$M_A_0000AH_MSG-1
        DB      "Volume label (11 characters, ENTER for none)? "
$M_A_0000AH_END LABEL BYTE
  
$M_A_0000BH_MSG LABEL BYTE
        DB      $M_A_0000BH_END-$M_A_0000BH_MSG-1
        DB      CR,"Format not supported on drive %1:", 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,"Invalid device parameters from device driver",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,"Error in IOCTL call         ",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,"Not a block device          ",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,"Error writing FAT           ",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,"Error writing directory",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,"Cannot format an ASSIGNed or SUBSTed drive. ",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,"Cannot find System Files",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,"Cannot FORMAT a network drive",CR,LF
$M_A_00013H_END LABEL BYTE
  
$M_A_00014H_MSG LABEL BYTE
        DB      $M_A_00014H_END-$M_A_00014H_MSG-1
        DB      "Invalid characters in volume label",CR,LF
$M_A_00014H_END LABEL BYTE
  
; ----------------------------------------------------------

Class_A_MessageCount EQU     20

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

        %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

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

