| Error name |
Error message |
| Elimit_reached | Over %d errors detected. Aborting. |
| Ewerror | One or more warnings was detected with werror on. |
| E16mb_rom_limit | Can't create ROMs larger than 16MB. |
| Ebuffer_too_small | The given buffer is too small to contain the resulting ROM. |
| Eparams_null | params passed to asar_patch_ex() is null. |
| Eparams_invalid_size | Size of params passed to asar_patch_ex() is invalid. |
| Ecmdl_define_invalid | Invalid define name in %s: '%s'. |
| Ecmdl_define_override | %s '%s' overrides a previous define. Did you specify the same define twice? |
| Ecreate_rom_failed | Couldn't create ROM. |
| Eopen_rom_failed | Couldn't open ROM. |
| Eopen_rom_not_smw_extension | Doesn't look like an SMW ROM. (Maybe its extension is wrong?) |
| Eopen_rom_not_smw_header | Doesn't look like an SMW ROM. (Maybe it's headered?) |
| Estddefines_no_identifier | stddefines.txt contains a line with a value, but no identifier. |
| Estddefine_after_closing_quote | Broken std defines. (Something after closing quote) |
| Efailed_to_open_file | Failed to open file '%s'. |
| Efile_not_found | File '%s' wasn't found. |
| Ereadfile_1_to_4_bytes | Can only read chunks of 1 to 4 bytes. |
| Ecanreadfile_0_bytes | Number of bytes to check must be > 0. |
| Efile_offset_out_of_bounds | File offset %s out of bounds for file '%s'. |
| Erep_at_file_end | rep at the end of a file |
| Emismatched_parentheses | Mismatched parentheses. |
| Einvalid_hex_value | Invalid hex value. |
| Einvalid_binary_value | Invalid binary value. |
| Einvalid_character | Invalid character. |
| Estring_literal_not_terminated | String literal not terminated. |
| Emalformed_function_call | Malformed function call. |
| Einvalid_number | Invalid number. |
| Egarbage_near_quoted_string | Garbage near quoted string. |
| Emismatched_quotes | Mismatched quotes. |
| Erom_too_short | ROM is too short to have a title. (Expected '%s') |
| Erom_title_incorrect | ROM title is incorrect. Expected '%s', got '%s'. |
| Ebank_border_crossed | A bank border was crossed, SNES address $%06X. |
| Estart_of_file | This command may only be used at the start of a file. |
| Exkas_asar_conflict | Using @xkas and @asar in the same patch is not supported. |
| Einvalid_version_number | Invalid version number. |
| Easar_too_old | This version of Asar is too old for this patch. |
| Erelative_branch_out_of_bounds | Relative branch out of bounds. (Distance is %s). |
| Esnes_address_doesnt_map_to_rom | SNES address %s doesn't map to ROM. |
| Esnes_address_out_of_bounds | SNES address %s out of bounds. |
| Einvalid_tcall | Invalid tcall. |
| Euse_xplus | Use (x+) instead. |
| Eopcode_length_too_long | Opcode length is too long. |
| Esuperfx_invalid_short_address | Invalid short address parameter: $%s. (Must be even number and $0000-$01FE) |
| Esuperfx_invalid_register | Invalid register for opcode; valid range is %d-%d. |
| Einvalid_opcode_length | Invalid opcode length specification. |
| Einvalid_mapper | Invalid mapper. |
| Enan | NaN encountered. |
| Edivision_by_zero | Division by zero. |
| Emodulo_by_zero | Modulo by zero. |
| Eunknown_operator | Unknown operator. |
| Einvalid_input | Invalid input. |
| Einvalid_function_name | Invalid function name. |
| Efunction_not_found | Function '%s' wasn't found. |
| Efunction_redefined | Function '%s' redefined. |
| Ebroken_function_declaration | Broken function declaration. |
| Ewrong_num_parameters | Wrong number of parameters to function. |
| Einvalid_param_name | Invalid parameter name. |
| Emath_invalid_type | Wrong type for parameter %s, expected %s. |
| Einvalid_label_name | Invalid label name. |
| Elabel_not_found | Label '%s' wasn't found. |
| Elabel_redefined | Label '%s' redefined. |
| Ebroken_label_definition | Broken label definition. |
| Elabel_cross_assignment | Setting labels to other non-static labels is not valid. |
| Emacro_label_outside_of_macro | Macro label outside of a macro. |
| Elabel_on_third_pass | Internal error: A label was created on the third pass. Please create an issue on the official GitHub repository and attach a patch which reproduces the error. |
| Elabel_moving | Internal error: A label is moving around. Please create an issue on the official GitHub repository and attach a patch which reproduces the error. |
| Einvalid_namespace_name | Invalid namespace name. |
| Einvalid_namespace_use | Invalid use of namespace command. |
| Einvalid_struct_name | Invalid struct name. |
| Estruct_not_found | Struct '%s' wasn't found. |
| Estruct_redefined | Struct '%s' redefined. |
| Estruct_invalid_parent_name | Invalid parent name. |
| Einvalid_label_missing_closer | Invalid label name, missing array closer. |
| Emultiple_subscript_operators | Multiple subscript operators is invalid. |
| Einvalid_subscript | Invalid array subscript after first scope resolution. |
| Elabel_missing_parent | This label has no parent. |
| Earray_invalid_inside_structs | Array syntax invalid inside structs. |
| Estruct_without_endstruct | struct without matching endstruct. |
| Enested_struct | Can not nest structs. |
| Emissing_struct_params | Missing struct parameters. |
| Etoo_many_struct_params | Too many struct parameters. |
| Emissing_extends | Missing extends keyword. |
| Einvalid_endstruct_count | Invalid endstruct parameter count. |
| Eexpected_align | Expected align parameter. |
| Eendstruct_without_struct | endstruct can only be used in combination with struct. |
| Ealignment_too_small | Alignment must be >= 1. |
| Einvalid_define_name | Invalid define name. |
| Edefine_not_found | Define '%s' wasn't found. |
| Ebroken_define_declaration | Broken define declaration. |
| Eoverriding_builtin_define | Trying to set define '%s', which is the name of a built-in define and thus can't be modified. |
| Edefine_label_math | !Define #= Label is not allowed with non-static labels. |
| Emismatched_braces | Mismatched braces. |
| Einvalid_macro_name | Invalid macro name. |
| Emacro_not_found | Macro '%s' wasn't found. |
| Emacro_redefined | Macro '%s' redefined. |
| Ebroken_macro_declaration | Broken macro declaration. |
| Einvalid_macro_param_name | Invalid macro parameter name. |
| Emacro_param_not_found | Macro parameter '%s' wasn't found. |
| Emacro_param_redefined | Macro parameter '%s' redefined |
| Ebroken_macro_usage | Broken macro usage. |
| Emacro_wrong_num_params | Wrong number of parameters to macro. |
| Ebroken_macro_contents | Broken macro contents. |
| Erep_at_macro_end | rep or if at the end of a macro. |
| Enested_macro_definition | Nested macro definition. |
| Emisplaced_endmacro | Misplaced endmacro. |
| Eunclosed_macro | Unclosed macro. |
| Elabel_in_conditional | Non-static label in %s command. |
| Ebroken_conditional | Broken %s command. |
| Einvalid_condition | Invalid condition. |
| Emisplaced_elseif | Misplaced elseif. |
| Eelseif_in_while | Can't use elseif in a while loop. |
| Eelseif_in_singleline | Can't use elseif on single-line statements. |
| Emisplaced_endif | Misplaced endif. |
| Emisplaced_else | Misplaced else. |
| Eelse_in_while_loop | Can't use else in a while loop. |
| Eunclosed_if | Unclosed if statement. |
| Eunknown_command | Unknown command. |
| Ecommand_disabled | This command is disabled. |
| Ebroken_incbin | Broken incbin command. |
| Eincbin_64kb_limit | Can't include more than 64 kilobytes at once. |
| Erecursion_limit | Recursion limit reached. |
| Ecommand_in_non_root_file | This command may only be used in the root file. |
| Ecant_be_main_file | This file may not be used as the main file.%s |
| Eno_labels_here | Can't use non-static labels here. |
| Einvalid_freespace_request | Invalid freespace request. |
| Eno_banks_with_ram_mirrors | No banks contain the RAM mirrors in hirom or exhirom. |
| Eno_freespace_norom | Can't find freespace in norom. |
| Estatic_freespace_autoclean | A static freespace must be targeted by at least one autoclean. |
| Estatic_freespace_growing | A static freespace may not grow. |
| Eno_freespace_in_mapped_banks | No freespace found in the mapped banks. (Requested size: %s) |
| Eno_freespace | No freespace found. (Requested size: %s) |
| Efreespace_limit_reached | A patch may not contain more than %d freespaces. |
| Eprot_not_at_freespace_start | PROT must be used at the start of a freespace block. |
| Eprot_too_many_entries | Too many entries to PROT. |
| Eautoclean_in_freespace | autoclean used in freespace. |
| Eautoclean_label_at_freespace_end | Don't autoclean a label at the end of a freespace block, you'll remove some stuff you're not supposed to remove. |
| Ebroken_autoclean | Broken autoclean command. |
| Epulltable_without_table | Using pulltable when there is no table on the stack yet. |
| Einvalid_table_file | Invalid table file. Invalid entry on line: %i |
| Epad_in_freespace | pad does not make sense in a freespaced code. |
| Eorg_label_invalid | org Label is not valid. |
| Eorg_label_forward | org Label is only valid for labels earlier in the patch. |
| Eskip_label_invalid | skip Label is not valid. |
| Espc700_inline_no_base | base is not implemented for architecture spc700-inline. |
| Ebase_label_invalid | base Label is not valid. |
| Erep_label | rep Label is not valid. |
| Epushpc_without_pullpc | pushpc without matching pullpc. |
| Epullpc_without_pushpc | pullpc without matching pushpc. |
| Epullpc_different_arch | pullpc in another architecture than the pushpc. |
| Epullbase_without_pushbase | pullbase without matching pushbase. |
| Einvalid_math | Invalid math command. |
| Einvalid_warn | Invalid warn command. |
| Einvalid_check | Invalid check command. |
| Ewarnpc_in_freespace | warnpc used in freespace. |
| Ewarnpc_broken_param | Broken warnpc parameter. |
| Ewarnpc_failed | warnpc failed: Current position (%s) is after end position (%s). |
| Ewarnpc_failed_equal | warnpc failed: Current position (%s) is equal to end position (%s). |
| Eassertion_failed | Assertion failed%s |
| Eerror_command | error command%s |
| Einvalid_print_function_syntax | Invalid printable string syntax. |
| Eunknown_variable | Unknown variable. |
| Einvalid_warning_id | Invalid warning ID passed to %s. Expected format is WXXXX where %d <= XXXX <= %d. |
| Epushwarnings_without_pullwarnings | warnings push without matching warnings pull. |
| Epullwarnings_without_pushwarnings | warnings pull without matching warnings push. |
| Efailed_to_open_file_access_denied | Failed to open file '%s'. Access denied. |
| Efailed_to_open_not_regular_file | Failed to open file '%s'. Not a regular file (did you try to use a directory?) |
| Ebad_dp_base | The dp base should be page aligned (i.e. a multiple of 256) |
| Ebad_dp_optimize | Bad dp optimize value %s, expected: [none, ram, always] |
| Ebad_address_optimize | Bad dp optimize value %s, expected: [default, ram, mirrors] |
| Ebad_optimize | Bad optimize value %s, expected: [dp, address] |
| Erequire_parameter | Missing required function parameter |
| Eexpected_parameter | Not enough parameters in calling of function %s |
| Eunexpected_parameter | Too many parameters in calling of function %s |
| Eduplicate_param_name | Duplicated parameter name: %s in creation of function %s |
| Einvalid_alignment | Invalid alignment. Expected a power of 2. |
| Ealignment_too_big | Requested alignment too large. |
| Enegative_shift | Bitshift amount is negative. |
| Emacro_not_varadic | Invalid use of sizeof(...), active macro is not variadic. |
| Evararg_sizeof_nomacro | Invalid use of sizeof(...), no active macro. |
| Emacro_wrong_min_params | Variadic macro call with too few parameters |
| Evararg_out_of_bounds | Variadic macro parameter requested is out of bounds. |
| Evararg_must_be_last | Variadic macro parameter must be the last parameter. |
| Einvalid_global_label | Global label definition contains an invalid label [%s]. |
| Espc700_addr_out_of_range | Address %s out of range for instruction, valid range is 0000-1FFF |
| Elabel_ambiguous | Label (%s) location is ambiguous due to straddling optimization border. |
| Efeature_unavaliable_in_spcblock | This feature may not be used while an spcblock is active |
| Eendspcblock_without_spcblock | Use of endspcblock without matching spcblock |
| Emissing_endspcblock | Use of endspcblock without matching spcblock |
| Espcblock_bad_arch | spcblock only valid inside spc700 arch |
| Espcblock_inside_struct | Can not start an spcblock while a struct is still open |
| Espcblock_too_few_args | Too few args passed to spcblock |
| Espcblock_too_many_args | Too many args passed to spcblock |
| Eunknown_spcblock_type | Unknown spcblock format |
| Ecustom_spcblock_missing_macro | Custom spcblock types must refer to a valid macro |
| Espcblock_macro_doesnt_exist | Macro specified to custom spcblock was not found |
| Eextra_spcblock_arg_for_type | Only custom spcblock type takes a fourth argument |
| Espcblock_macro_must_be_varadic | Custom spcblock macros must be variadic |
| Espcblock_macro_invalid_static_args | Custom spcblock macros must have three static arguments |
| Espcblock_custom_types_incomplete | Custom spcblock types are not yet supported. One day. |
| Estartpos_without_spcblock | The startpos command is only valid in spcblocks |
| Einternal_error | An internal asar error occured (%s). Send help. |
| Epushns_without_pullns | pushns without matching pullns. |
| Epullns_without_pushns | pullns without matching pushns. |
| Elabel_forward | The use of forward labels is not allowed in this context. |
| Eunclosed_vararg | Variadic macro parameter wasn't closed properly. |
| Einvalid_vararg | Trying to use variadic macro parameter syntax to resolve a non variadic argument. |
| Emacro_param_outside_macro | Reference to macro parameter outside of macro |
| Ebroken_for_loop | Broken for loop declaration. |
| Ebad_single_line_for | Single-line for loop not allowed here. |