Commit Graph

13 Commits

Author SHA1 Message Date
Bobbi Webber-Manners
badca14a07 Modified Makefile - EightBall scripts have moved. 2018-05-27 16:39:25 -04:00
Bobbi Webber-Manners
73ea8e117c Makefile: Removed bytecode from test.dsk 2018-05-27 14:18:51 -04:00
Bobbi Webber-Manners
73e476d529
Updated Makefile for v0.72 2018-05-27 00:38:30 -04:00
Bobbi Webber-Manners
6b6c7e7a70
v0.71: disassembler on 6502, VIC20 workaround
- Added `disass` to VIC20, C64, Apple II builds.
- Workaround for broken getln() call on VIC20.
2018-05-21 23:01:23 -04:00
Bobbi Webber-Manners
6dbf45c39c
v0.70: disassembler, immediate mode VM ops
- VM now prompts for filename to load bytecode from
- Added new EightBall disassembler (`disass`), removed disassembly printout from compiler
- Fixes to interpreter / compiler error reporting.  Should no longer report completely incorrect line numbers!
- Added new immediate mode VM instructions for load (`LDAWI`, `LDABI`, `LDRWI`, `LDRBI`), store (`STAWI`, `STABI`, `STRWI`, `STRBI`), and flow control (`JSRI`, `JMPI`, `BRCI`).  Modified compiler to use these new instructions.  This significantly improves code density and VM execution speed.
2018-05-21 13:58:41 -04:00
Bobbi Webber-Manners
42bbb90acf
v0.69: Small bug-fixes and improvements
- Compiler: do not emit LDI 0, DISC sequence, which is a no-op.
- VM: add GPL info and progress when loading bytecode
- Most importantly: a version of Tetris coded in EightBall!
2018-05-18 21:11:53 -04:00
Bobbi Webber-Manners
ea3a6a83e2
v0.68: compiler bug fixes, improved efficiency
- Fixed indentation of VM code. Turned on stack checks for GCC only.
- Added new `VM_DISCARD` VM instruction (and compiler support).  This makes the VM significantly more efficient.
- Configured Linux VM to be compatible with Apple II environment.
- Added line to force to interpret mode to prevent surprises.
- Compiler: fixed bug when exiting `for` loop using `return`.  The compiler was leaking a word on the evalutation stack after jumping out of the body of the `for` loop.
2018-05-13 13:59:40 -04:00
Bobbi Webber-Manners
e02674d8da
v0.66: Refactoring, added const support
- New keyword `const`
- `const` values are supported as array dimensions and variable.array initializers
- Refactored code and saved several 100 bytes
- Compiler generates better VM code for array allocation
2018-05-11 01:05:43 -04:00
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
f457b18edc
Cleaned up Makefile. 2018-05-01 18:31:23 -04:00
Bobbi Webber-Manners
fc6583d82d
v0.54: Fixed end of line character on C64, VIC20
End of line on CBM is 13, not 10.
Converted sieve4.8b and unittest,8b to PETSCII and added them to test.d64
Unit tests run on C64 with only one failure (same failure as when running under Linux VM).
2018-04-30 22:39:34 -04:00
Bobbi Webber-Manners
cdbfeafda9
v0.52. Fix memory corruption bug.
This fixes a memory corruption bug that occurred when compiling code with subroutines.  The symbol table was corrupting the source code.  This was showing up on 6502 systems only (seemed okay on Linux).
2018-04-28 14:00:56 -04:00
Bobbi Webber-Manners
11f99c9840
EightBall v0.5 - With Compile and Virtual Machine 2018-04-27 23:47:22 -04:00