Chris Pressey
|
c33e6ef0e9
|
Assert that the loop variable is meaningful in repeat. Unit test.
|
2017-11-20 16:39:39 +00:00 |
|
Chris Pressey
|
22cc7bfc11
|
Support copy'ing a word constant to a word location. Joystick eg.
|
2017-11-20 15:18:21 +00:00 |
|
Chris Pressey
|
563aaeba47
|
Remove low/high byte operators until I've thought about it more.
|
2017-11-17 15:54:50 +00:00 |
|
Chris Pressey
|
9d6ca0b2b4
|
Low and high address operators, parsing and execution thereof.
|
2016-06-16 11:10:43 -05:00 |
|
Chris Pressey
|
e2daa33dc5
|
Compile copy byte to byte and word to word.
|
2016-06-16 11:10:03 -05:00 |
|
Chris Pressey
|
fc8c85e670
|
word types, with syntax and analysis thereof
|
2016-06-16 11:08:57 -05:00 |
|
Chris Pressey
|
007c81acad
|
Split scanner off from parser module, into own module.
|
2016-06-16 11:04:03 -05:00 |
|
Chris Pressey
|
7b1ee60a73
|
Initial value for locations: changed syntax, executes, compiles.
|
2016-06-16 11:03:31 -05:00 |
|
Chris Pressey
|
b5763e84b4
|
Constants (such as routines) cannot be given in call-constraints.
|
2015-10-22 20:01:02 +01:00 |
|
Chris Pressey
|
0d3ac8c247
|
{Low,High}AddressByte emittables to fix copy, make indirect call!
|
2015-10-22 16:20:10 +01:00 |
|
Chris Pressey
|
0b2b5d904e
|
Implement indirect JSRs with trampolines in theory; doesn't work.
|
2015-10-22 15:45:16 +01:00 |
|
Chris Pressey
|
0361016e4c
|
Bring the rest of the tests up to date with the new names.
|
2015-10-22 09:48:26 +01:00 |
|
Chris Pressey
|
cc433e9c64
|
Try to improve error messages, thus breaking many unit tests.
|
2015-10-21 19:43:44 +01:00 |
|
Chris Pressey
|
45310b8f9c
|
It's getting a little chaotic. Needs better error messages!
|
2015-10-21 17:05:49 +01:00 |
|
Chris Pressey
|
16450e06d5
|
Compile goto's.
|
2015-10-21 15:51:52 +01:00 |
|
Chris Pressey
|
bb6ad5d3cf
|
Refactor Analyzer. Get analysis tests passing once again.
|
2015-10-21 15:45:14 +01:00 |
|
Chris Pressey
|
49d07cee5f
|
Attempt to analyze goto . Looks like it'll need some rewriting.
|
2015-10-21 11:41:52 +01:00 |
|
Chris Pressey
|
6e0ca3838e
|
Recast Evaluator as an object. Handle goto inside it.
|
2015-10-20 14:39:32 +01:00 |
|
Chris Pressey
|
be76b9a00d
|
Syntax for goto .
|
2015-10-20 14:10:33 +01:00 |
|
Chris Pressey
|
16649042cb
|
I kind of forgot that indirect JSR needs a trampoline first :/
|
2015-10-20 13:15:21 +01:00 |
|
Chris Pressey
|
f16cb75677
|
Fix compiler. All tests pass once again.
|
2015-10-20 12:53:07 +01:00 |
|
Chris Pressey
|
b4e0756d7e
|
Unbreak evaluator, but break compiler b/c change in parser.
|
2015-10-20 10:07:28 +01:00 |
|
Chris Pressey
|
2dc4dd988e
|
Parse indirect calls, but break evaluator.
|
2015-10-20 09:33:30 +01:00 |
|
Chris Pressey
|
7d56705530
|
Check that the constraints on a routine match those of vector.
|
2015-10-19 19:17:27 +01:00 |
|
Chris Pressey
|
3010435add
|
Inputs/outputs/trashes are now part of the type information only.
|
2015-10-19 18:44:20 +01:00 |
|
Chris Pressey
|
98524e931a
|
Vector and routine types are constructors with constraints now.
|
2015-10-19 18:18:06 +01:00 |
|
Chris Pressey
|
f0b8942aa1
|
Allow vectors to be decorated with inputs/outputs/trashes; test.
|
2015-10-19 13:04:08 +01:00 |
|
Chris Pressey
|
a12a44eadb
|
Re-enable disabled test and fix it and add a few related tests.
|
2015-10-19 12:22:44 +01:00 |
|
Chris Pressey
|
04de73d04d
|
Solve this by defining an Offset emittable.
|
2015-10-19 08:55:47 +01:00 |
|
Chris Pressey
|
e3fe337730
|
Interesting dead end we've got ourselves into here.
|
2015-10-18 23:31:17 +01:00 |
|
Chris Pressey
|
645079f03a
|
Implement 'with interrupts off'.
|
2015-10-18 23:15:40 +01:00 |
|
Chris Pressey
|
fd07f4bae9
|
More sophisticated static analysis: writeable, touched, meaningful.
|
2015-10-18 22:27:51 +01:00 |
|
Chris Pressey
|
8b30a232fa
|
Analyze copy , but... we now need more sophisticated context. :/
|
2015-10-18 20:16:14 +01:00 |
|
Chris Pressey
|
c98e446583
|
Spec and syntax for vectors and copy instruction.
|
2015-10-18 19:41:26 +01:00 |
|
Chris Pressey
|
9235c6eacc
|
Support line comments.
|
2015-10-18 18:54:28 +01:00 |
|
Chris Pressey
|
a933c81768
|
Well, that's a hack. But it works.
|
2015-10-18 18:47:47 +01:00 |
|
Chris Pressey
|
a9bd8a3714
|
Indexed access, + x / + y, at least for LDA and STA.
--HG--
rename : eg/screen.60p => eg/screen1.60p
|
2015-10-18 18:32:20 +01:00 |
|
Chris Pressey
|
5a5953ca4c
|
A little awkward, but analyze byte table access correctly.
|
2015-10-18 18:12:47 +01:00 |
|
Chris Pressey
|
f4186c5f22
|
AbsoluteX, AbsoluteY addressing modes in 6502-code generator.
|
2015-10-18 17:47:45 +01:00 |
|
Chris Pressey
|
4287bf81c1
|
Parse byte table declarations and indexing modifiers.
|
2015-10-18 17:40:53 +01:00 |
|
Chris Pressey
|
41432b5cb3
|
Syntax is syntax, test it there. Register built-ins as symbols.
|
2015-10-18 17:32:12 +01:00 |
|
Chris Pressey
|
e1cf162a5b
|
Refs have types.
|
2015-10-18 17:23:01 +01:00 |
|
Chris Pressey
|
522c771208
|
Add explicitly-addressed memory locations.
|
2015-10-18 16:22:36 +01:00 |
|
Chris Pressey
|
49e42af953
|
Implement if not and repeat forever .
|
2015-10-18 15:32:28 +01:00 |
|
Chris Pressey
|
c5998ed240
|
Compile repeat loops.
|
2015-10-18 13:55:40 +01:00 |
|
Chris Pressey
|
f7eb0d48a8
|
Spec, parse, evaluate, and analyze repeat blocks.
|
2015-10-18 13:37:35 +01:00 |
|
Chris Pressey
|
070ffacf69
|
Don't generate code for empty else blocks.
|
2015-10-17 18:25:54 +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 |
|