Commit Graph

6 Commits

Author SHA1 Message Date
Bobbi Webber-Manners
d9532c8f71
v0.62: Fixed function call bug in compiled code
- The compiler was not pushing the SENTINEL value to the operator stack and popping it afterwards, so the expression parsing was getting messed up.  Now fixed.
- Also added targets to the Makefile to allow the emulators to be run directly (make xvic, make x64, make mame).
2018-05-04 00:02:16 -04:00
Bobbi Webber-Manners
92164c3274
v0.60: Array pass by reference works in compiler
- Evaluating 'naked' array name `A` gives pointer to payload (same as `&A` or even `&A[0]`)
- Improved loading message in VM
- Got array pass-by-reference to work in compiler
- Fixed eval stack leak in array initialization code generated by compiler
2018-05-03 19:53:40 -04:00
Bobbi Webber-Manners
ed032c11ea
v0.58: Allow constant exprs for array dimensions 2018-05-03 01:12:21 -04:00
Bobbi Webber-Manners
7a91e0c0fb
v0.57: Added mode statement for Apple II 2018-05-02 20:27:27 -04:00
Bobbi Webber-Manners
c026602f62
v0.56: Various minor improvements
- Improved Makefile to make it easier to configure paths to tools
- Made number of signicant characters for subroutine and variable names a `#define` constant and tested it works with different values
- Modified memory allocation in `HEAP2` - the source code is now allocated at the bottom, growing up.  The compiler's linkage table is allocated at the top growing down.  This makes it easy to dispose of the linkage table after compilation is done.
- This revealed that my memory limits were wrong so code was crashing on C64, Apple II.  I bumped up the bottom of `HEAP2` by 0x500 or so.  Not sure why this is needed.
- Added a signon banner to the virtual machine so it is clear it is loading bytecode.  Screen is cleared after loading is complete, so user knows when execution begins.
2018-05-02 17:41:42 -04:00
Bobbi Webber-Manners
11f99c9840
EightBall v0.5 - With Compile and Virtual Machine 2018-04-27 23:47:22 -04:00