Skip to content

Commit 37bf4ca

Browse files
committed
Simplify DLI syntax a little, allow continuation lines.
1 parent db2e100 commit 37bf4ca

1 file changed

Lines changed: 12 additions & 9 deletions

File tree

src/basic.syn

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -580,27 +580,30 @@ DATA_VAR: new data array name
580580
# DLI support - builds a machine code routine and store the address to
581581
# display list interrupt handler:
582582
DLI_COMMAND:
583-
"Def" emit { TOK_JUMP, LT_PROC_DATA } E_PUSH_LT \
583+
# Define a new DLI with given name
584+
"Set" emit { TOK_JUMP, LT_PROC_DATA } E_PUSH_LT \
584585
E_LABEL_DEF emit { VT_ARRAY_BYTE } E_LABEL_SET_TYPE \
585586
emit { 72, 138, 72, 166, COLRSH } EQUAL \
586-
DLI_LDA emit { 141, &WSYNC } DLI_STA DLI_CODES \
587-
emit { 230, COLRSH, 104, 170, 104, 64 } \
588-
E_POP_PROC_DATA
589-
"Set" emit { TOK_NUM, &VDSLST, TOK_SADDR, TOK_NUM, VT_ARRAY_BYTE } E_LABEL \
587+
DLI_LDA emit { 141, &WSYNC } DLI_STA DLI_CODES
588+
# Continuation of a DLI line
589+
EQUAL DLI_LDA DLI_STA DLI_CODES
590+
# Activate DLI with given name
591+
emit { TOK_NUM, &VDSLST, TOK_SADDR, TOK_NUM, VT_ARRAY_BYTE } E_LABEL \
590592
emit { TOK_DPOKE, TOK_BYTE, 192, TOK_NUM_POKE, &NMIEN }
593+
# Clear the DLI
591594
emit { TOK_BYTE, 64, TOK_NUM_POKE, &NMIEN }
592595

593596
DLI_CODES:
594597
"," DLI_LDA DLI_STA DLI_CODES
595-
pass
598+
","
599+
emit { 230, COLRSH, 104, 170, 104, 64 } E_POP_PROC_DATA
596600

597601
DLI_LDA: DLI source data
598-
"@" emit { 189, VT_ARRAY_BYTE } E_LABEL
599-
"@" emit 189 E_NUMBER_WORD
602+
emit { 189, VT_ARRAY_BYTE } E_LABEL
600603
emit 169 E_NUMBER_BYTE
601604

602605
DLI_STA: DLI destination
603-
"TO" emit 141 E_NUMBER_WORD
606+
"Into" emit 141 E_NUMBER_WORD
604607

605608
# Parse a line
606609
PARSE_LINE_COMMAND:

0 commit comments

Comments
 (0)