    SUBROUTINE ADVFATAL(ERRNUM)
*  ADVFATAL: Abort ADVENTURE with error message subroutine.

*  Errors less than '20' are initialization errors;
*   all others are 'run-time' errors

    PRECISION 0
    BEGIN CASE
    CASE ERRNUM = 1; CRT 'No data section in ADF (ADVENTURE data) file.'
    CASE ERRNUM = 2; CRT 'No ADF (ADVENTURE data) file found.'
    CASE ERRNUM = 3; CRT 'Travel table overflow.'
    CASE ERRNUM = 4; CRT 'Missing section in data portion of ADF (Adventure data file).'
    CASE ERRNUM = 5; CRT 'Vocabulary word missing in dictionary of ADF.'
    CASE ERRNUM = 6; CRT 'Travel table item was not found (section 3).'
    CASE ERRNUM = 7; CRT 'Hint table overflow.'
    CASE ERRNUM = 8; CRT 'Condition table initialization error.'
    CASE ERRNUM = 9; CRT 'Illegal section number (less than one or greater than 11).'
    CASE ERRNUM = 10; CRT 'Property text not on file.'
    CASE ERRNUM = 11; CRT 'Class messages not on file.'
    CASE ERRNUM = 12; CRT 'Initial object locations not on file.'
    CASE ERRNUM = 13; CRT 'Default verb messages not on file.'
    CASE ERRNUM = 14; CRT 'Liquid data not on file.'
    CASE ERRNUM = 15; CRT 'Hint data not on file.'
    CASE ERRNUM = 20; CRT 'Special travel exceeds GOTO list.'
    CASE ERRNUM = 21; CRT 'There is no error 21.'
    CASE ERRNUM = 22; CRT 'Vocabulary type not between zero and three.'
    CASE ERRNUM = 23; CRT 'Intransitive verb not in GOTO list.'
    CASE ERRNUM = 24; CRT 'Transitive verb exceeds GOTO list.'
    CASE ERRNUM = 25; CRT 'Conditional travel entry with no alternative.'
    CASE ERRNUM = 26; CRT 'Location with no travel entries.'
    CASE ERRNUM = 27; CRT 'Hint number runs off GOTO list.'
    CASE ERRNUM = 28; CRT 'No location message on file.'
    CASE 1; CRT "Unknown fatal error number ":ERRNUM
    END CASE
    STOP
