2015-10-18 12:37:35 +00:00
|
|
|
History of SixtyPical
|
|
|
|
=====================
|
|
|
|
|
2017-12-07 13:15:21 +00:00
|
|
|
0.9
|
|
|
|
---
|
|
|
|
|
|
|
|
* Add word (constant or memory location) to word memory location.
|
2017-12-07 14:14:43 +00:00
|
|
|
* Add word to pointer (unchecked for now).
|
2017-12-08 15:53:18 +00:00
|
|
|
* Adding `word table` type (in progress).
|
2017-12-07 14:14:43 +00:00
|
|
|
* Implementation: `--debug` shows some extra info during analysis.
|
2017-12-07 16:49:43 +00:00
|
|
|
* Fixed bug where `copy`ing literal word into word storage used wrong endianness.
|
2017-12-11 11:16:27 +00:00
|
|
|
* Fixed bug where every memory location was allocated 2 bytes of storage, regardless of type.
|
|
|
|
* Tests: use https://github.com/tcarmelveilleux/dcc6502 to disassemble code for comparison.
|
2017-12-07 13:15:21 +00:00
|
|
|
|
2017-11-21 11:13:21 +00:00
|
|
|
0.8
|
|
|
|
---
|
|
|
|
|
|
|
|
* Explicit word literals prefixed with `word` token.
|
|
|
|
* Can `copy` literals into user-defined destinations.
|
2017-12-01 15:10:16 +00:00
|
|
|
* Fixed bug where loop variable wasn't being checked at end of `repeat` loop.
|
2017-12-01 13:09:25 +00:00
|
|
|
* `buffer` and `pointer` types.
|
|
|
|
* `copy ^` syntax to load the addr of a buffer into a pointer.
|
2017-12-01 13:52:56 +00:00
|
|
|
* `copy []+y` syntax to read and write values to and from memory through a pointer.
|
2017-11-21 11:13:21 +00:00
|
|
|
|
2017-11-17 16:00:51 +00:00
|
|
|
0.7
|
|
|
|
---
|
2016-06-16 16:03:31 +00:00
|
|
|
|
|
|
|
* User-defined `byte` locations can be given an initial value.
|
2016-06-16 16:10:03 +00:00
|
|
|
* `word` type locations which can be defined and `copy`ed between.
|
|
|
|
* Can `copy` directly from one user-defined `byte` location to another.
|
2016-06-16 16:03:31 +00:00
|
|
|
|
2015-10-23 15:37:18 +00:00
|
|
|
0.6
|
|
|
|
---
|
2015-10-19 11:22:44 +00:00
|
|
|
|
|
|
|
* Added `routine` and `vector` types, and `copy` instruction.
|
2015-10-19 18:17:27 +00:00
|
|
|
* Both routines and vectors can declare `inputs`, `outputs`, and `trashes`,
|
|
|
|
and these must be compatible to assign a routine or vector to a vector.
|
2015-10-22 08:56:45 +00:00
|
|
|
* Added `goto` (tail call) instruction, jumps to routine or through vector.
|
2015-10-22 18:20:48 +00:00
|
|
|
* `call` can call a subroutine indirectly, via a vector.
|
2015-10-22 08:56:45 +00:00
|
|
|
* Routine name is now shown in analysis error messages.
|
2015-10-19 11:22:44 +00:00
|
|
|
|
2015-10-18 18:02:07 +00:00
|
|
|
0.5
|
|
|
|
---
|
2015-10-18 17:32:20 +00:00
|
|
|
|
|
|
|
* Added `byte table` type locations and indexed addressing (`+ x`, `+ y`).
|
2015-10-18 17:47:47 +00:00
|
|
|
* Integer literals may be given in hexadecimal.
|
2015-10-18 17:54:28 +00:00
|
|
|
* Line comments may be included in source code by prefixing them with `//`.
|
2015-10-18 17:32:20 +00:00
|
|
|
|
2015-10-18 15:34:18 +00:00
|
|
|
0.4
|
2015-10-18 12:37:35 +00:00
|
|
|
---
|
|
|
|
|
2015-10-18 15:34:18 +00:00
|
|
|
* Added `repeat` loops to the language, which can repeat until a flag
|
|
|
|
is set (or `not` set), or which can repeat `forever`.
|
|
|
|
* `if not` inverts the sense of the test.
|
|
|
|
* Added explicitly-addressed memory locations.
|
|
|
|
|
|
|
|
0.3
|
|
|
|
---
|
|
|
|
|
|
|
|
* Added external routine declarations.
|
|
|
|
* Added ability to compile to 6502 machine code and output a `PRG` file.
|
2015-10-18 12:37:35 +00:00
|
|
|
|
|
|
|
0.2
|
|
|
|
---
|
|
|
|
|
|
|
|
A complete reboot of SixtyPical 0.1. The reference implementation was
|
|
|
|
rewritten in Python. The language was much simplified. The aim was to get the
|
|
|
|
analysis completely right before adding more sophisticated and useful features
|
|
|
|
in future versions.
|
|
|
|
|
2015-10-18 15:34:18 +00:00
|
|
|
0.1
|
2015-10-18 12:55:40 +00:00
|
|
|
---
|
|
|
|
|
2015-10-18 15:34:18 +00:00
|
|
|
Initial inspired-but-messy version implemented in Haskell.
|