Commit Graph

141 Commits

Author SHA1 Message Date
Bobbi Webber-Manners
09296759fb Updated to reflect renamed disk images. 2018-05-27 17:08:13 -04:00
Bobbi Webber-Manners
1fbdd7ccca Removed generated files from main directory (in bin subdir now) 2018-05-27 17:06:18 -04:00
Bobbi Webber-Manners
6c5251e0e2 Added eightball.{dsk,d64} (renamed from test.{dsk,d64}. 2018-05-27 17:05:09 -04:00
Bobbi Webber-Manners
62bde80410 Added pre-built binaries in bin subdir (v0.72) 2018-05-27 17:03:58 -04:00
Bobbi Webber-Manners
2f3d705769 New README.md for 8b-scripts directory. 2018-05-27 16:55:17 -04:00
Bobbi Webber-Manners
badca14a07 Modified Makefile - EightBall scripts have moved. 2018-05-27 16:39:25 -04:00
Bobbi Webber-Manners
2859d24802 Removed EightBall scripts from main directory. 2018-05-27 16:32:16 -04:00
Bobbi Webber-Manners
644111b858 Copied EightBall sample scripts into subdir. 2018-05-27 16:31:34 -04:00
Bobbi Webber-Manners
2c9fa9aa77
Added notes on the use of the cc65 project files 2018-05-27 14:32:23 -04:00
Bobbi Webber-Manners
5a821c5363 Removed cc65 files from main directory. 2018-05-27 14:22:59 -04:00
Bobbi Webber-Manners
4d851a470e Added cc65 files into subdirectory. 2018-05-27 14:22:02 -04:00
Bobbi Webber-Manners
73ea8e117c Makefile: Removed bytecode from test.dsk 2018-05-27 14:18:51 -04:00
Bobbi Webber-Manners
5d91c2185c
Initial version of cc65/README.md 2018-05-27 14:16:03 -04:00
Bobbi Webber-Manners
27cc69a155
Clarified Apple II compatibility 2018-05-27 13:57:26 -04:00
Bobbi Webber-Manners
73e476d529
Updated Makefile for v0.72 2018-05-27 00:38:30 -04:00
Bobbi Webber-Manners
aa819ef166
v0.72: Extended memory support for Apple //e
- Implemented initial version of extended memory support, which allows the EightBall source code to be stored in aux RAM (extended 80 column card).  Once an apparent bug in the cc65 extended memory driver is fixed then bytecode will also be stored in aux RAM.
- Moved non-performance critical portions of interpreter / compiler to Apple II language card memory, which frees up more main memory.
- Improvements to display of free memory (`free` command)
2018-05-27 00:13:48 -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
7488d7b05c
Added brief notes about bytecode disassembler 2018-05-21 15:25:13 -04:00
Bobbi Webber-Manners
f94f6117bc
Added new VM opcodes. 2018-05-21 14:35:59 -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
13df8be29f
Minor fix to score printout 2018-05-19 18:56:40 -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
3e68d8e58b
Added DISC VM instruction to table 2018-05-18 20:52:00 -04:00
Bobbi Webber-Manners
0ca0350333
Added link to Wiki 2018-05-18 20:48:30 -04:00
Bobbi Webber-Manners
7acdb899cd
Added reference to the Wiki 2018-05-18 20:47:39 -04:00
Bobbi Webber-Manners
34e0893e52
Apple ][ Tetris screenshot 2018-05-18 20:36:48 -04:00
Bobbi Webber-Manners
76ef797854
Tetris for Apple ][ lo-res mode is now complete 2018-05-18 20:14:41 -04:00
Bobbi Webber-Manners
5dc202ec2a
Added docs on pr.ch (was missing) 2018-05-13 15:40:07 -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
43d45a06dd
Fixed sieve example code - was out of date 2018-05-11 21:05:28 -04:00
Bobbi Webber-Manners
964032ae28
Updated sieve example to use const 2018-05-11 21:03:58 -04:00
Bobbi Webber-Manners
18942a9ba0
v0.67: Source code cleanup, optimizations
- Managed to free up several hundred bytes
2018-05-11 19:43:27 -04:00
Bobbi Webber-Manners
115c9e0f72
Added note about char literals being ASCII 2018-05-11 01:10:31 -04:00
Bobbi Webber-Manners
953a3a3ac3
Committed in error 2018-05-11 01:06:53 -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
19e341675e
Added documentation on const 2018-05-11 00:58:43 -04:00
Bobbi Webber-Manners
cb11857832
Added missing parenthesis 2018-05-08 19:52:43 -04:00
Bobbi Webber-Manners
ad137a39eb
Formatting fixup 2018-05-08 18:53:39 -04:00
Bobbi Webber-Manners
c743831fe3
v0.65: Fixed compiler bug initializing local array
- Fixed compiler bug initializing local array
- Some refactoring to make code a few hundred bytes smaller
2018-05-06 21:11:39 -04:00
Bobbi Webber-Manners
ebdc59b8b5
Minor fixes to array initializer section 2018-05-05 01:07:01 -04:00
Bobbi Webber-Manners
5d66a25b01
Formatting fix 2018-05-05 01:05:16 -04:00
Bobbi Webber-Manners
ea754724b7
v0.64 - this file got forgotten 2018-05-05 00:58:24 -04:00
Bobbi Webber-Manners
aed94857bd
v0.64: Fix compiler bug in array initializer code
- Found bug in array initializer code in v0.63.  This version hopefully fixes it.
- Also shaved another 50 bytes off the code size.
2018-05-05 00:57:09 -04:00
Bobbi Webber-Manners
55b0e30abd
String handling example 2018-05-05 00:07:57 -04:00
Bobbi Webber-Manners
4e4501e0b4
A few more notes about array initializers 2018-05-05 00:02:29 -04:00
Bobbi Webber-Manners
f72fcdc253
v0.63: Added support for array initializers
- Arrays can now be initialized with a list like this: `word aa[4]={1,2,3,4}` ...
- ... or a string literal like this: `byte qw[100]="This is a test"`
- Works in interpreter or compiled.
2018-05-04 23:57:39 -04:00
Bobbi Webber-Manners
2dc7af0076
Documented new array initializers 2018-05-04 22:28:34 -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
7cdaccab52
Updated sieve example source 2018-05-03 21:15:14 -04:00
Bobbi Webber-Manners
e52b236c53
v0.61: Fixed bug in & address of local arrays 2018-05-03 21:09:21 -04:00