1
0
mirror of https://github.com/catseye/SixtyPical.git synced 2024-06-14 23:29:29 +00:00
Commit Graph

25 Commits

Author SHA1 Message Date
Chris Pressey
5f8802b305 Arrange license info in repo to follow REUSE 3.0 convention. 2024-02-02 12:10:23 +00:00
Chris Pressey
24f093b1db Make all serialize() methods take addr() as an arg, not kwarg. 2018-09-06 18:11:47 +01:00
Chris Pressey
4bba75857f --output cmdline argument, serialize() returns an array of bytes. 2018-09-06 16:18:41 +01:00
Chris Pressey
07541d7913 Compile code for saving a, x, or y on the stack. 2018-04-25 13:15:53 +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
70247e0e44 Generate zero-page code for and, or, and xor, when possible. 2018-04-17 17:58:26 +01:00
Chris Pressey
fa1b0cfae1 Support branching and looping on the n flag. 2018-03-29 14:45:28 +01:00
Chris Pressey
1f992f8dbd Support of NOP opcode. 2018-03-28 14:52:16 +01:00
Chris Pressey
19a196f765 Compile copy[]+y. 2017-11-24 16:56:55 +00:00
Chris Pressey
e41dd1aa01 Attempt to add Zero Page addressing; the emitter may need rethink. 2017-11-24 13:09:10 +00:00
Chris Pressey
c91574186b First pass of buffer, pointer, copy b, [p] + y, indirect indexed. 2017-11-24 12:35:36 +00:00
Chris Pressey
0d3ac8c247 {Low,High}AddressByte emittables to fix copy, make indirect call! 2015-10-22 16:20:10 +01:00
Chris Pressey
2dc4dd988e Parse indirect calls, but break evaluator. 2015-10-20 09:33:30 +01:00
Chris Pressey
04de73d04d Solve this by defining an Offset emittable. 2015-10-19 08:55:47 +01:00
Chris Pressey
645079f03a Implement 'with interrupts off'. 2015-10-18 23:15:40 +01:00
Chris Pressey
f4186c5f22 AbsoluteX, AbsoluteY addressing modes in 6502-code generator. 2015-10-18 17:47:45 +01:00
Chris Pressey
c5998ed240 Compile repeat loops. 2015-10-18 13:55:40 +01:00
Chris Pressey
b794d8d273 Get serialization of relative labels correct. 2015-10-17 18:11:23 +01:00
Chris Pressey
a5c3b4725d Pass address when serializing. Still wrong, of course. 2015-10-17 16:51:35 +01:00
Chris Pressey
b6bb64528f Implement compiling if, but we need relative addressing first. 2015-10-17 16:34:02 +01:00
Chris Pressey
479b484313 Compile the rest of the instructions. 2015-10-17 16:17:35 +01:00
Chris Pressey
643a48a2c5 Compiler object, labels, compile 'call'... It prints 'A'! 2015-10-17 15:06:50 +01:00
Chris Pressey
5b429adfd9 6502 opcodes are Emittables. Can compile simple programs now! 2015-10-17 11:08:25 +01:00
Chris Pressey
c0243ee6ba Wire up the compiler and wring out obvious bugs. 2015-10-17 10:17:44 +01:00
Chris Pressey
bb7fbcda6c Add Emitter framework, and 6502 Generator (will likely change.) 2015-10-16 22:59:35 +01:00