Commit graph

191 commits

Author SHA1 Message Date
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
f8c5d2766c Fix formatting errors
Decimal numbers now look nicer, and --no-sparse works properly again.
2019-11-19 17:14:00 +00:00
a7ef16bc4e Do more state formatting
Registers can now be displayed above the memory content.
2019-11-19 16:50:37 +00:00
ee7639c1c7 Fix formatting of numbers into blocks 2019-11-19 16:03:56 +00:00
75e102ed7d Improve command-line option parsing 2019-11-19 11:45:24 +00:00
0d18329354 Add help for formatting options 2019-11-19 10:59:30 +00:00