Removed completed task from near-term list

Bobbi Webber-Manners 2018-05-21 17:22:49 -04:00
parent 16ada4adf0
commit 3ffba49ea5

@ -3,9 +3,6 @@
This is where I keep track of what to do next ... This is where I keep track of what to do next ...
## Near-Term ## Near-Term
- Easy speedups:
- Immediate mode branch `BRCI`, jump `JMPI`, call `JSRI` and load/store instructions. Will cut VM cycle count by 25%-50% by eliminating `LDI`/`BRC`, `LDI`/`JMP`, `LDI/JSR` and `LDI`/`LDxx` `LDI`/`STxx` combinations.
- Add support to VM, Disassembler and finally to the compiler.
- Compile direct from disk. Would be nice to be able to compile Tetris on Apple II (rather than compile on Linux and run under Apple II EightBall VM.) - Compile direct from disk. Would be nice to be able to compile Tetris on Apple II (rather than compile on Linux and run under Apple II EightBall VM.)
- A way to pass string literals as subroutine arguments - A way to pass string literals as subroutine arguments
- Try to squeeze the interpreter / compiler code down a bit to save memory. - Try to squeeze the interpreter / compiler code down a bit to save memory.
@ -25,22 +22,7 @@ This is where I keep track of what to do next ...
- Need to think about how a module system should work - Need to think about how a module system should work
- Which is more useful: dynamic loading of modules at runtime, or static linking? - Which is more useful: dynamic loading of modules at runtime, or static linking?
- Optimize virtual machine bytecodes, based on study of real code - Optimize virtual machine bytecodes, based on study of real code
- Compiler often writes variable, and immediately needs it again. This can be optimized easily by adding some "store and preserve" VM instructions. - Compiler often writes variable, and immediately needs it again.
Today:
```
LDI address
STAW
LDI address
LDAW
```
Future:
```
LDI address
STAWP # Store and preserve on Eval Stack
```
Similarly, repeated loads could be optimized into a single load and some `DUP`s.
## Long-Term ## Long-Term
- High performance VM - High performance VM
- Hand-coded in 6502 assembly - Hand-coded in 6502 assembly