1
0
mirror of https://github.com/catseye/SixtyPical.git synced 2024-11-22 01:32:13 +00:00
Commit Graph

54 Commits

Author SHA1 Message Date
Chris Pressey
89fa8361a8 Remove --prelude, reform and document --output-formats. 2018-04-23 13:18:01 +01:00
Chris Pressey
bc91ef1602 Compile byte-table add, sub, cmp, and, or, xor, shl, shr, inc, dec. 2018-04-18 16:32:12 +01:00
Chris Pressey
e565234d28 Support for shl foo and shr foo where foo is a byte storage. 2018-04-18 12:01:53 +01:00
Chris Pressey
3c7d95a724 Support for copy [ptra]+y, [ptrb]+y to indirect LDA indirect STA 2018-04-18 10:57:57 +01:00
Chris Pressey
4f28f43bde The existing analysis is actually sufficient. Document why this is. 2018-04-18 10:25:23 +01:00
Chris Pressey
70247e0e44 Generate zero-page code for and, or, and xor, when possible. 2018-04-17 17:58:26 +01:00
Chris Pressey
27df0d27db Optimize away RTS and JMP when possible. Fallthru stuff done. 2018-04-05 14:10:04 +01:00
Chris Pressey
d883816298 --optimize-fallthru and --dump-fallthru-info options. 2018-04-04 11:54:50 +01:00
Chris Pressey
b63b880b8c Update documentation. 2018-03-29 16:58:50 +01:00
Chris Pressey
fa1b0cfae1 Support branching and looping on the n flag. 2018-03-29 14:45:28 +01:00
Chris Pressey
eadf1eb4ae A byte or word table can be initialized with a list of constants. 2018-03-29 11:09:02 +01:00
Chris Pressey
9b912de17c Accessing zero-page with ld and st generates zero-page opcodes. 2018-03-29 10:31:42 +01:00
Chris Pressey
1f992f8dbd Support of NOP opcode. 2018-03-28 14:52:16 +01:00
Chris Pressey
0093c7b7d9 First cut at support for targetting the Atari 2600. 2018-03-28 14:20:53 +01:00
Chris Pressey
c707105cd3 Describe the behaviour just implemented. 2018-03-27 16:49:20 +01:00
Chris Pressey
3f0e36a67c Add symbolic constants. 2018-03-27 12:36:33 +01:00
Chris Pressey
68b46c7be7 Small edits to history. 2018-03-26 14:44:54 +01:00
Chris Pressey
7f38d04536 Documentation updates. 2018-03-26 13:16:53 +01:00
Chris Pressey
42864bf125 Add SixtyPical translations of Ribos and "The PETulant Cursor". 2018-03-15 10:56:09 +00:00
Chris Pressey
ed917566ea We have a for loop now. 2018-03-14 16:45:35 +00:00
Chris Pressey
7a3b52dc1e More correct determination of tail position for purposes of goto. 2018-03-13 17:00:49 +00:00
Chris Pressey
b1e9df0d45 Add --output-format and --origin command-line options. 2018-03-13 13:33:01 +00:00
Chris Pressey
2b9c457ffc Try to improve the description in the documentation, and notes. 2018-03-08 13:24:00 +00:00
Chris Pressey
8298ad38f9 Expand on what the range-checking includes in this version. 2018-03-06 16:04:02 +00:00
Chris Pressey
7023fb9c1d Update notes. 2018-03-06 14:15:53 +00:00
Chris Pressey
e2d10d7d33 Documentation/notes changes for the 0.13 branch. 2018-02-16 09:51:24 +00:00
Chris Pressey
6039e59999 Small documentation sorting. 2018-02-12 16:40:53 +00:00
Chris Pressey
f6fa1ec7d2 Remove need for forward keyword in forward reference in copy. 2018-02-12 15:59:20 +00:00
Chris Pressey
08ec0e46a3 Remove the need for parens in vector (routine ...) table type. 2018-02-12 14:53:49 +00:00
Chris Pressey
1bd765dbce Begin using static in the demo game. 2018-02-09 16:46:53 +00:00
Chris Pressey
ca1c877a60 Support indirect refs in st, e.g. st a, [ptr] + y. 2018-02-09 11:23:18 +00:00
Chris Pressey
a7365731ca Even if we goto another routine, we can't trash an output. 2018-02-08 16:37:40 +00:00
Chris Pressey
b20b664748 Implement the "union rule for trashes" when analyzing if blocks. 2018-02-08 14:04:51 +00:00
Chris Pressey
3f1f3bf16e Set a location as touched when trashed with a trash instruction. 2018-02-08 13:43:06 +00:00
Chris Pressey
f92e1f15bf Tired: copy [ptr]+y, a. Wired: ld a, [ptr]+y. 2018-02-08 11:58:24 +00:00
Chris Pressey
15e1fa51dc Update documentation. 2018-02-07 14:48:55 +00:00
Chris Pressey
6c1c1cb153 Include final RTS when emitting trampolines for indirect calls. 2018-02-07 11:11:14 +00:00
Chris Pressey
02d703aaf1 Add typedefs to HISTORY. 2018-02-06 13:08:17 +00:00
Chris Pressey
15072eff52 The evaluator doesn't add much and keeps falling behind; remove it. 2018-02-05 13:17:23 +00:00
Chris Pressey
20c824743e Fix table access bug where index wasn't required to be initialized. 2018-02-05 12:35:19 +00:00
Chris Pressey
7dba93ae88 Add to HISTORY 2018-02-02 17:57:57 +00:00
Chris Pressey
b29716fccf Constraints for vector come immediately after the type expression. 2018-02-02 17:16:31 +00:00
Chris Pressey
548905dce4 Initialized byte tables need not have all 256 bytes initialized. 2018-02-02 16:31:23 +00:00
Chris Pressey
f9dc730f88 copy []+y, a to indirectly read byte into the a register. 2017-12-13 16:11:02 +00:00
Chris Pressey
c7861d375c trash indicates a value is no longer considered meaningful. 2017-12-13 15:23:06 +00:00
Chris Pressey
5f535c963e Subtract word (constant or memory location) from word memory location. 2017-12-13 14:07:59 +00:00
Chris Pressey
50390b0787 Can copy a literal word to a word table. 2017-12-12 16:04:59 +00:00
Chris Pressey
63f75a26b4 Initialized word type memory locations. 2017-12-12 15:34:51 +00:00
Chris Pressey
4854077cce Correctly analyze repeat { ... } forever loops. 2017-12-12 15:18:59 +00:00
Chris Pressey
0145c6d34f I guess we can note that, even though not 100% sure why it was. 2017-12-12 14:59:20 +00:00