acme/src/encoding.h
marcobaye d2683cc64d Release 0.97: Now with string symbols, lists, backslash escaping,
"unpseudopc" operator, MEGA65 support, !while, else if, and a CLI switch to
mimic older versions.
Make sure to read "docs/Changes.txt" and "docs/Upgrade.txt"!


git-svn-id: https://svn.code.sf.net/p/acme-crossass/code-0/trunk@266 4df02467-bbd4-4a76-a152-e7ce94205b78
2020-06-28 18:56:55 +00:00

35 lines
1.0 KiB
C

// ACME - a crossassembler for producing 6502/65c02/65816/65ce02 code.
// Copyright (C) 1998-2020 Marco Baye
// Have a look at "acme.c" for further info
//
// Character encoding stuff
#ifndef encoding_H
#define encoding_H
#include <stdio.h> // for FILE*
//struct encoder;
extern const struct encoder *encoder_current; // gets set before each pass TODO - set for each part
extern const struct encoder encoder_raw;
extern const struct encoder encoder_pet;
extern const struct encoder encoder_scr;
extern const struct encoder encoder_file;
extern unsigned char *encoding_loaded_table; // ...loaded from file
// prototypes
// convert character using current encoding
extern unsigned char encoding_encode_char(unsigned char byte);
// set "raw" as default encoding
extern void encoding_passinit(void);
// try to load encoding table from given file
extern void encoding_load_from_file(unsigned char target[256], FILE *stream);
// lookup encoder held in DynaBuf and return its struct pointer (or NULL on failure)
extern const struct encoder *encoding_find(void);
#endif