PaCo v1.0

This commit is contained in:
2017-02-03 13:32:13 +01:00
parent 6831f39d55
commit fa4abcbf2c
11 changed files with 279 additions and 0 deletions

View File

@@ -747,6 +747,28 @@ static void parse_wait() {
emmit(OP_SLEEP);
}
static void parse_setmusic() {
parse_expression();
parse_concatenation();
emmit(OP_JSR);
emmit_w(get_label_address("_sys_spu_setmusic"));
}
static void parse_playmusic() {
emmit(OP_JSR);
emmit_w(get_label_address("_sys_spu_playmusic"));
}
static void parse_stopmusic() {
emmit(OP_JSR);
emmit_w(get_label_address("_sys_spu_stopmusic"));
}
static void parse_ismusicplaying() {
emmit(OP_JSR);
emmit_w(get_label_address("_sys_spu_ismusicplaying"));
}
static void parse_statements() {
while (!parser_finished) {
@@ -817,6 +839,14 @@ static void parse_statements() {
tkn_next(); parse_clrscr(); break;
case TOKEN_WAIT:
tkn_next(); parse_wait(); break;
case TOKEN_SETMUSIC:
tkn_next(); parse_setmusic(); break;
case TOKEN_PLAYMUSIC:
tkn_next(); parse_playmusic(); break;
case TOKEN_STOPMUSIC:
tkn_next(); parse_stopmusic(); break;
case TOKEN_ISMUSICPLAYING:
tkn_next(); parse_ismusicplaying(); break;
case TOKEN_IDENTIFIER:
for (int i = 0; i < num_external_functions; i++) {