@@ -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:
582582DLI_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
593596DLI_CODES:
594597 " ," DLI_LDA DLI_STA DLI_CODES
595- pass
598+ " ,"
599+ emit { 230, COLRSH, 104, 170, 104, 64 } E_POP_PROC_DATA
596600
597601DLI_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
602605DLI_STA: DLI destination
603- " TO " emit 141 E_NUMBER_WORD
606+ " Into " emit 141 E_NUMBER_WORD
604607
605608# Parse a line
606609PARSE_LINE_COMMAND:
0 commit comments