summary |
shortlog | log |
commit |
commitdiff |
tree
first ⋅ prev ⋅ next
Nick Downing [Thu, 19 May 2022 01:46:05 +0000 (11:46 +1000)]
Implement ALSA PCM audio sounds for console beep and lemonade (via pyalsaaudio)
Nick Downing [Wed, 18 May 2022 07:07:07 +0000 (17:07 +1000)]
Improve interpreter and I/O slightly for lemonade, add lemonade.sh source patch
Nick Downing [Wed, 18 May 2022 05:06:38 +0000 (15:06 +1000)]
Add bin_to_tok and tok_to_bin for applesoft native format (via dos33 utility)
Nick Downing [Wed, 18 May 2022 04:35:42 +0000 (14:35 +1000)]
Rename tokenizer to bas_to_tok, detokenizer to tok_to_bas, improve Makefile
Nick Downing [Wed, 18 May 2022 01:53:44 +0000 (11:53 +1000)]
Lo-res graphics sort of working (needs some modifications to LEMONADE source)
Nick Downing [Tue, 17 May 2022 14:11:36 +0000 (00:11 +1000)]
Implement more statements and ignore some I/O related ones, LEMONADE can run
Nick Downing [Tue, 17 May 2022 13:02:59 +0000 (23:02 +1000)]
Implement all functions except some I/O related ones
Nick Downing [Tue, 17 May 2022 12:26:40 +0000 (22:26 +1000)]
Bulk add statements and functions in token order (reorder those already there)
Nick Downing [Tue, 17 May 2022 11:10:26 +0000 (21:10 +1000)]
Make interpreter accept tokenized input, this solves a problem with IF A > B THEN 100 which treated BTHEN100 as a variable name (now tokenizing has priority)
Nick Downing [Tue, 17 May 2022 09:45:01 +0000 (19:45 +1000)]
Add applesoft-like (but not identical) tokenizer and detokenizer
Nick Downing [Tue, 17 May 2022 05:35:53 +0000 (15:35 +1000)]
Correctly handle DATA other than STR_LITERAL as unquoted possibly empty strings, allow READing multiple lvalues, fix bug of RESTORE requiring the line number
Nick Downing [Tue, 17 May 2022 04:01:33 +0000 (14:01 +1000)]
Implement REM statement
Nick Downing [Mon, 16 May 2022 17:43:00 +0000 (03:43 +1000)]
Implement PRINT TAB() and very basic cursor position tracking
Nick Downing [Mon, 16 May 2022 17:02:38 +0000 (03:02 +1000)]
Add TEXT, GR, COLOR=, PLOT, HLIN, VLIN statements
Nick Downing [Mon, 16 May 2022 16:51:26 +0000 (02:51 +1000)]
Allow multiple arrays to be dimensioned in the same DIM statement
Nick Downing [Mon, 16 May 2022 16:44:30 +0000 (02:44 +1000)]
Add PEEK, POKE and CALL (via apple_io, to emulate any needed monitor routines)
Nick Downing [Mon, 16 May 2022 16:24:43 +0000 (02:24 +1000)]
Add DIM statement, clean up parser to use lvalues properly, add LValueArray
Nick Downing [Mon, 16 May 2022 15:52:09 +0000 (01:52 +1000)]
Add LValue node, so that locating the variable for get or set uses common code
Nick Downing [Mon, 16 May 2022 15:13:01 +0000 (01:13 +1000)]
Remove Node and NodeText prefixes on all class names (keeping Statement and RValue prefixes as they add meaning, although prefixing only some is inconsistent)
Nick Downing [Mon, 16 May 2022 15:08:26 +0000 (01:08 +1000)]
Change VARIABLE to VARIABLE_NAME, NodeTextVariable to NodeTextVariableName
Nick Downing [Mon, 16 May 2022 14:56:49 +0000 (00:56 +1000)]
Change NodeExpression to NodeRValue, NodeExpression.evaluate() to .get()
Nick Downing [Mon, 16 May 2022 14:49:30 +0000 (00:49 +1000)]
Make variables boxed for easy referencing and/or subscripting
Nick Downing [Mon, 16 May 2022 13:18:36 +0000 (23:18 +1000)]
Implement data_types.py and STR, VAL() functions
Nick Downing [Mon, 16 May 2022 13:02:03 +0000 (23:02 +1000)]
Implement INPUT
Nick Downing [Mon, 16 May 2022 12:17:44 +0000 (22:17 +1000)]
Translate cr to crlf at output similarly to how Apple ROM console routines work
Nick Downing [Mon, 16 May 2022 10:21:28 +0000 (20:21 +1000)]
Implement console input, improve console output a bit (use write not print)
Nick Downing [Mon, 16 May 2022 10:08:16 +0000 (20:08 +1000)]
Add apple_io module and HOME, NORMAL, INVERSE, FLASH, HTAB, VTAB statements
Nick Downing [Sun, 15 May 2022 16:05:22 +0000 (02:05 +1000)]
Implement READ, RESTORE and DATA, but no empty items or unquoted strings yet
Nick Downing [Sun, 15 May 2022 15:12:10 +0000 (01:12 +1000)]
Implement FOR and NEXT
Nick Downing [Sun, 15 May 2022 14:47:50 +0000 (00:47 +1000)]
Implement GOSUB and RETURN
Nick Downing [Sun, 15 May 2022 14:29:38 +0000 (00:29 +1000)]
Improve number printing to make it more symmetrical with parsing
Nick Downing [Sun, 15 May 2022 07:40:01 +0000 (17:40 +1000)]
Add END statement, fix float parsing with exponents
Nick Downing [Sun, 15 May 2022 07:23:52 +0000 (17:23 +1000)]
Full type checking for expression evaluation
Nick Downing [Sun, 15 May 2022 07:09:55 +0000 (17:09 +1000)]
Implement IF statement
Nick Downing [Sun, 15 May 2022 07:03:46 +0000 (17:03 +1000)]
Initial commit, can interpret LET, PRINT and GOTO, expression evaluation works