Commit graph

45 commits

Author SHA1 Message Date
9adcc80373 Prepare for weeding 2019-11-14 23:47:06 +00:00
c91d3f23e9 Rename Mima.Parser to Mima.Parse 2019-11-14 23:46:48 +00:00
f75c3368bb Improve error message on MiMa abort 2019-11-13 15:22:49 +00:00
02e23e7d4a Automatically discover .mima-flags files 2019-11-13 15:22:35 +00:00
b554d80aa9 Introduce Run monad
A monad for nice, pure exceptions. I want to avoid working with IO
exceptions as much as possible.
2019-11-13 09:28:53 +00:00
1b8680004e Create utility function for loading and parsing files 2019-11-13 07:58:41 +00:00
f1d097094d Parse .mima-flag files 2019-11-13 07:53:10 +00:00
c887e57dbd Rename wonkily-named function 2019-11-12 21:23:23 +00:00
9caa8298fc Add support for flags in execution 2019-11-12 12:17:26 +00:00
957f65c380 Implement new specification 2019-11-10 18:17:21 +00:00
143a3e9a45 Parse comments at beginning of file correctly 2019-11-10 14:34:29 +00:00
5e9c50d618 Allow digits in label names
Also, only allow a-zA-Z as the first character of label names.
2019-11-10 14:32:55 +00:00
cd5ff1e105 Fix parsing of LDVR/STVR 2019-11-10 11:33:29 +00:00
fde6fc29ec Fix parser not allowing comments in some places 2019-11-10 11:21:35 +00:00
bd8bd20224 Parse register contents at beginning of file 2019-11-10 10:28:04 +00:00
dc990a2e7a Parse instructions with labels 2019-11-09 23:41:39 +00:00
21e72420dd Add more conversions 2019-11-09 23:37:22 +00:00
803c826395 Parse instructions with labels 2019-11-09 19:24:50 +00:00
4f5817c032 Fix topBit always returning False 2019-11-08 18:46:07 +00:00
112a49a7b7 Use OddWords library 2019-11-08 18:33:08 +00:00
63350d5dd9 Load and save specification file format 2019-11-07 22:18:32 +00:00
f3a3432c9c Clean up string formatting 2019-11-07 20:23:19 +00:00
af70c1a02c Print memory dump again 2019-11-07 16:46:21 +00:00
ef06f7b309 Reimplement all opcodes 2019-11-07 13:37:26 +00:00
dd7c9d44a6 Add all opcodes to the instruction representation 2019-11-07 10:49:51 +00:00
75b06c3a9f Rename opcode-related things 2019-11-07 10:45:17 +00:00
2d76ff4f93 Rename "short" to "small" and "long" to "large" 2019-11-07 10:21:30 +00:00
3eb9430208 Change low-level data types
This commit reorganizes and restructures the low level data types,
like the MimaWord, in preparation for implementing the new MiMa
specification.
2019-11-07 09:48:29 +00:00
0c780cfece Swap STIV and LDIV
Now the opcodes match the ones at
https://github.com/mkiesinger/mimaFPGA#op-codes
2019-11-06 20:56:08 +00:00
d9d8f4e0b9 Fix memory dump legend 2019-11-06 20:20:30 +00:00
a3f2c05875 Use strict maps where possible 2019-11-06 19:51:20 +00:00
f07b825313 Improve memory dump output 2019-11-06 18:24:33 +00:00
1c895add5a Run MiMa for a specified amount of steps
Also, print IP and Acc at the time of the dump
2019-11-06 17:37:17 +00:00
082a205a7e Implement most of mima-run CLI 2019-11-06 17:20:28 +00:00
a1f532172a Ensure that MimaMemory is always sparse 2019-11-06 16:43:57 +00:00
5fdbf2fbd2 Improve formatting of various elements
Couldn't think of a better commit message
2019-11-06 15:59:08 +00:00
04036bb047 Add LDIV, STIV instructions 2019-11-06 14:17:32 +00:00
9532d0487b Run a MiMa until it halts 2019-11-06 14:00:10 +00:00
ac5fbf3942 Fix byte order when loading memory maps 2019-11-06 13:59:41 +00:00
b6420a34ca Load and save memory maps 2019-11-06 13:35:15 +00:00
a355095ea7 Hide more implementation details 2019-11-06 11:03:18 +00:00
d0f3985ff1 Load memory from list of words 2019-11-06 10:02:23 +00:00
2843cfd462 Execute a MiMa state 2019-11-06 09:32:49 +00:00
f2ddf2e109 Use explicit module exports 2019-11-05 21:50:29 +00:00
c29f41db06 Add machine words and instructions 2019-11-05 21:15:27 +00:00