Commit Graph

47 Commits

Author SHA1 Message Date
Lawrence Kesteloot
84d9a7ce82 Add unary minus (negative). 2018-08-05 16:43:50 -07:00
Lawrence Kesteloot
fb323943ce Add NOT. 2018-08-05 16:27:33 -07:00
Lawrence Kesteloot
007cf3e670 Add AND and OR. 2018-08-05 16:12:58 -07:00
Lawrence Kesteloot
a6ed83d669 Make code even more compact. 2018-08-05 12:06:45 -07:00
Lawrence Kesteloot
f33d9ed8bd More efficient writing of machine code. 2018-08-05 12:00:59 -07:00
Lawrence Kesteloot
e143757158 Add FOR/NEXT loops. 2018-08-04 23:38:44 -07:00
Lawrence Kesteloot
fb467e5289 Speed up tokenization a bit. 2018-08-04 17:35:55 -07:00
Lawrence Kesteloot
013056e778 Handle forward GOTOs. 2018-08-04 17:32:36 -07:00
Lawrence Kesteloot
23fa9e4e01 Wrap text at screen edge; double input buffer. 2018-08-03 22:39:23 -07:00
Lawrence Kesteloot
ad0f62f972 Add COLOR= and PLOT. 2018-08-03 19:15:18 -07:00
Lawrence Kesteloot
d1b939414c Add GR and TEXT commands. 2018-08-03 18:57:30 -07:00
Lawrence Kesteloot
d7830c49af Can handle parentheses in expressions. 2018-08-03 18:38:55 -07:00
Lawrence Kesteloot
61f85e228c Add equality and inequality operators. 2018-08-03 16:41:52 -07:00
Lawrence Kesteloot
e02aeeb9ec Can subtract, multiply, and divide. 2018-08-03 16:25:57 -07:00
Lawrence Kesteloot
5a755ca3c5 Add IF/THEN statement. 2018-08-03 15:31:11 -07:00
Lawrence Kesteloot
86b0e366bd Pass base address when disassembling. 2018-08-03 14:27:16 -07:00
Lawrence Kesteloot
f73bd75654 Add backwards GOTO. 2018-08-03 14:20:04 -07:00
Lawrence Kesteloot
d9594ce3ad More robust parsing of variable name. 2018-08-03 13:31:31 -07:00
Lawrence Kesteloot
0d579ce354 Can read from variables in expressions. 2018-08-03 13:19:29 -07:00
Lawrence Kesteloot
fd8aa963d4 Can assign to variables. 2018-08-03 13:09:02 -07:00
Lawrence Kesteloot
109a0af072 Add NEW; report line number of error. 2018-08-03 12:02:14 -07:00
Lawrence Kesteloot
e3f29f7dc5 RUN works. 2018-08-03 11:35:15 -07:00
Lawrence Kesteloot
fbed276344 Clear to EOL after Enter. 2018-08-03 00:02:40 -07:00
Lawrence Kesteloot
5d453e8f58 Scroll screen; remove volatile. 2018-08-02 18:59:31 -07:00
Lawrence Kesteloot
6d7af284a1 Break runtime into different C file. 2018-08-02 16:26:42 -07:00
Lawrence Kesteloot
794a9bb121 Pass map file to emulator. 2018-08-02 16:06:52 -07:00
Lawrence Kesteloot
9175c4c234 Reduce unnecessary push/pop in expression compilation. 2018-08-02 14:52:23 -07:00
Lawrence Kesteloot
e95f2cf67f Add POKE statement. 2018-08-02 14:44:18 -07:00
Lawrence Kesteloot
d6093b9678 Support expressions of sums. 2018-08-02 00:45:58 -07:00
Lawrence Kesteloot
b9b4b6fded Can print single integer. 2018-08-01 23:29:37 -07:00
Lawrence Kesteloot
e2199b66fe Add only one terminating nul, not three. 2018-08-01 18:49:21 -07:00
Lawrence Kesteloot
38a15160ed Can insert, delete, and replace stored lines. 2018-08-01 15:08:56 -07:00
Lawrence Kesteloot
ca49e6e511 Better stored program linked list management. 2018-08-01 14:58:29 -07:00
Lawrence Kesteloot
a324d8814b Switch to explicit int types (uint16_t, etc.). 2018-08-01 13:37:31 -07:00
Lawrence Kesteloot
a57bbe3c65 Start stored program work. 2018-08-01 13:34:26 -07:00
Lawrence Kesteloot
491f8ef1b5 Add g_ prefix to global variables. 2018-08-01 10:58:03 -07:00
Lawrence Kesteloot
3b1aacd06b Rename 'binary' to 'compiled'. 2018-08-01 10:56:48 -07:00
Lawrence Kesteloot
bf8400b50c Tokenize input buffer. 2018-08-01 10:44:24 -07:00
Lawrence Kesteloot
3260180fb7 Add hard-coded print statement. 2018-07-31 23:19:15 -07:00
Lawrence Kesteloot
655b397d86 Can put multiple instructions per line. 2018-07-31 20:47:05 -07:00
Lawrence Kesteloot
a175e99178 Compile and run simple command. 2018-07-31 15:03:06 -07:00
Lawrence Kesteloot
eba8aa7637 Test code that breaks emulator. 2018-07-31 13:42:21 -07:00
Lawrence Kesteloot
d5ede1617d Simple line input. 2018-07-31 12:48:29 -07:00
Brad Grantham
128509fdcd add initial keyboard_get() 2018-07-31 12:02:26 -07:00
Lawrence Kesteloot
f66faacda9 Draw BASIC prompt. 2018-07-31 00:05:22 -07:00
Brad Grantham
fadcda8050 use 40 columns for screen 2018-07-28 12:12:40 -07:00
Brad Grantham
d30e8778d5 initial commit 2018-07-27 22:30:44 -07:00