Commit graph

146 commits

Author SHA1 Message Date
I-Al-Istannen
caf9a896d8 Add flag data structure and conversion 2020-03-28 17:46:41 +01:00
69983fc9ed Test Mima.Vm.Instruction 2020-03-27 23:19:39 +00:00
6b81fd67b4 Implement basic mima-run functionality
Bugs fixed:
- Print correct file name when load/save error occurs
- Correctly identify invalid file formats
2020-03-27 22:10:59 +00:00
362025c8df Parse command-line options 2020-03-27 21:39:28 +00:00
975c5e4116 Set up mima-run executable 2020-03-27 21:13:12 +00:00
495809bd86 Clean up storage implementation
Also switch to lazy byte strings in Mima.Run because they appear to be used in
all libraries used.
2020-03-27 21:02:20 +00:00
I-Al-Istannen
abdb8c0a0d Store MimaState 2020-03-27 21:34:58 +01:00
38ba94f675 Fix typos and clean up slightly 2020-03-27 20:31:45 +00:00
51317c0737 Write docs and tests for Mima.Vm.Word 2020-03-27 20:31:45 +00:00
a7d4eec3dd Configure hspec 2020-03-27 20:28:59 +00:00
I-Al-Istannen
ae7f0bdac4 Add simple load and store methods for Metadata 2020-03-27 16:14:48 +01:00
c3584df5dc Implement Run monad 2020-03-27 12:56:27 +00:00
976b2b5d4d Clean up metadata
This commit also changes the metadata file format. Documentation coming soon™
2020-03-27 12:08:36 +00:00
I-Al-Istannen
a0dcb37e12 Spice up Metafile format 2020-03-26 00:25:14 +01:00
I-Al-Istannen
737c04a741 Parse ranges in meta file 2020-03-25 23:26:10 +01:00
I-Al-Istannen
70189144f1 Add a primitive meta file parser 2020-03-25 22:46:24 +01:00
b1274d5d2c Begin rewrite
... by deleting most files. By the theory of evolution, the remaining ones will
get stronger over the next commits. That's how it works, isn't it?
2020-03-25 21:41:41 +00:00
3e0f4e22b1 Update resolver to 15.2 2020-03-25 14:58:40 +00:00
bbd0707a6d Satisfy hlint 2019-12-03 23:24:12 +00:00
616a991e21 Add installation instructions 2019-11-26 09:59:48 +00:00
7c75f1868a Update tools section 2019-11-26 09:48:34 +00:00
365d7f0b5f Fix how arguments are interpreted
Also adds the footer from mima-run to mima-asm.
2019-11-26 09:45:23 +00:00
6712a9c32c Format and parse instructions with optional arguments correctly
This also fixes parsing of instructions with arguments
2019-11-26 08:39:42 +00:00
d082bc939e Fix formatting of negative numbers 2019-11-25 23:03:58 +00:00
f415595a40 Update examples and add simple example 2019-11-25 22:11:43 +00:00
62336b60eb Only save .mima-flags file if there are any flags 2019-11-25 18:28:03 +00:00
885d872539 Always show all flags if flags are visible 2019-11-25 18:24:57 +00:00
1975403c3c Output instructions and labels in memory dump 2019-11-25 17:45:46 +00:00
e4dea8e6f9 Add example program for flags 2019-11-25 14:29:13 +00:00
84e4ceb686 Add .mima-symbols files for existing examples 2019-11-25 14:25:05 +00:00
745c201d00 Fix flag parsing and weeding 2019-11-25 14:16:05 +00:00
e5728a0fb4 Discover assembly output file 2019-11-25 13:14:29 +00:00
9ace3632bc Export symbol and flag files 2019-11-25 13:02:44 +00:00
02b6d65b8f Store 'File's 2019-11-25 11:22:51 +00:00
d5d29a8180 Allow toggling memory part of memory dump 2019-11-25 10:02:08 +00:00
72e21d6ff2 Properly load flag and symbol files 2019-11-25 09:57:39 +00:00
7446bcab45 Update examples to new assembly syntax 2019-11-21 19:17:04 +00:00
ae0c31d83a Make .mima match the .mimasm 2019-11-21 19:16:47 +00:00
e546996e82 Fix parsing of labels whose name starts with an instruction 2019-11-21 19:16:27 +00:00
fa4cd218ab Switch assembler to new parser 2019-11-21 18:27:27 +00:00
ee5c2762d6 Fix weeding of things taking up memory
This fixes how instructions and other things that take up space in memory are
parsed. I just forgot to mark the respective memory locations as occupied after
filling them.
2019-11-21 18:25:42 +00:00
396f07cdf1 Make register names case insensitive 2019-11-21 18:25:33 +00:00
393b253d28 Remove spurious undefined 2019-11-21 16:30:51 +00:00
bde92704f1 Finish weeding assembly 2019-11-21 16:20:28 +00:00
702f58e2a4 Weed assembly statements
There's still an undefined in Assembly.hs. To get rid of it, I'll need to adjust
how I weed labels. Once that's finished, the rest should be fairly straightforward.
2019-11-21 15:12:21 +00:00
f3b39f78f4 Parse assembly statements
This commit begins the rewrite of the assembly parser to use the new (not yet
written down) syntax.
2019-11-20 20:46:34 +00:00
7def23284d Fix labels not being applied when they should 2019-11-20 20:46:12 +00:00
e93ff1fc74 Fix number parsing 2019-11-20 20:44:45 +00:00
42d52055d1 Extract flag parser 2019-11-20 18:19:25 +00:00
602e8b5b14 Add a few more parsers for numbers 2019-11-20 17:16:00 +00:00