#define ULAS_ASMSTR_DEFINE_ENUM ".de"
#define ULAS_ASMSTR_SETCHRCODE ".scc"
#define ULAS_ASMSTR_CHR ".chr"
+#define ULAS_ASMSTR_REP ".rep"
// configurable tokens
#define ULAS_TOK_COMMENT ';'
// when using .str
ULAS_ASMDIR_SETCHRCODE,
- // .chr 0, 1, 2, 3, 0, 1, 2, 3
+ // .chr 01230123
// allows defining
// chr (tile) data from 0-3
// for each possible color
// it requires up to 8 integer expressions between 0 and 3
ULAS_ASMDIR_CHR,
+ // .rep <n>, <step>, <line>
+ // repeats a line n times
+ ULAS_ASMDIR_REP,
};
// amount of registers
ULAS_ASMSTR_DEFINE_ENUM,
ULAS_ASMSTR_SETCHRCODE,
ULAS_ASMSTR_CHR,
+ ULAS_ASMSTR_REP,
NULL};
enum ulas_asmdir dirs[] = {
ULAS_ASMDIR_ORG, ULAS_ASMDIR_SET,
ULAS_ASMDIR_INCBIN, ULAS_ASMDIR_DEF,
ULAS_ASMDIR_CHKSM, ULAS_ASMDIR_ADV,
ULAS_ASMDIR_SET_ENUM_DEF, ULAS_ASMDIR_DEFINE_ENUM,
- ULAS_ASMDIR_SETCHRCODE, ULAS_ASMDIR_CHR};
+ ULAS_ASMDIR_SETCHRCODE, ULAS_ASMDIR_CHR, ULAS_ASMDIR_REP};
enum ulas_asmdir dir = ULAS_ASMDIR_NONE;
case ULAS_ASMDIR_CHR:
other_writes += ulas_asmdirchr(dst, &line, n, &rc);
break;
+ case ULAS_ASMDIR_REP:
+ break;
case ULAS_ASMDIR_PAD:
// TODO: pad is the same as .fill n, $ - n
case ULAS_ASMDIR_NONE: