a7a62d53b2
use modified opal logger
...
logger was having bizarre format errors
copied and simplified (to get on)
2018-05-20 14:45:48 +03:00
a350325b6b
fix function call and simple call logic
...
Before creating DynamicJump, the FunctionCall got a register for a
possible jump address. Now that is handled by DynamicJump and
FunctionCall just needs the method, from which it determines the
binaryCode address
2018-05-19 12:21:20 +03:00
15e4533a2f
fix interpreter to use positions
...
tick from one (simulated memory) position to the next
(not from one instruction to the next)
2018-05-17 20:14:59 +03:00
8966a50a8a
getter by position
...
extract and expand position testing
never return labels (that have the same position as their target)
2018-05-17 20:13:33 +03:00
37d62d298e
assemble risc to it's position (not itself)
...
So in the next step the interpreter can use positions as program counter
and would be much more like the real thing
2018-05-17 09:49:01 +03:00
49c4d170ce
make the interpreter platform
...
but still using the risc_instruction stream
2018-05-17 09:31:36 +03:00
07ed16d765
groundwork for interpreter platform
...
especially positioning makes the previous interpreter approach to
fragile (too far off the real thing)
Interpreter should be it’s own platform (still use the risc
instructions),
get a translator and use positions
2018-05-16 21:00:14 +03:00
dc8afce444
use existing constant
2018-05-16 12:55:51 +03:00
9597fc5756
more slot tests, also in separate files
2018-05-16 12:49:46 +03:00
36e59ebdea
some slot load tests
2018-05-16 12:35:44 +03:00
473866e76b
start with some slot definition tests
2018-05-15 19:29:27 +03:00
000bf0a9b3
separate SlotDefinition into own file
...
what started as three lines has grown up to demand it’s own file and
tests
2018-05-15 19:29:06 +03:00
ab4bc370ed
another +1 bug
2018-05-15 16:25:55 +03:00
e237bc625a
remove unused methods
...
and a whole lot more index fixes
2018-05-14 20:50:52 +03:00
5d3c70da89
fix type api
...
tests were using methods that were only used in tests.
2018-05-14 16:13:50 +03:00
3c00239f36
another million index fixes
2018-05-14 15:17:04 +03:00
4a88f342d3
random checkin
...
still suffering -1 trauma
2018-05-14 12:38:44 +03:00
ab01fa3862
switch to 0 based indexing
...
the world rocked for a moment (and more fixes to follow)
also the crumbling of idealism was heard
2018-05-14 11:55:01 +03:00
4856b9891d
simplify writing binary
...
loop as should be, fixes the problem (one problem at least)
2018-05-13 18:01:45 +03:00
866467ee5e
change binary labels
2018-05-13 17:21:48 +03:00
39902401b9
positioning code by setting first method code
...
codes will initial (and on reset) propagate the whole chain
2018-05-13 15:28:10 +03:00
7ad36380c2
add next_value for dictionary
...
also next for list
and add types attributes to space
2018-05-13 13:03:04 +03:00
2d901bf7b6
not wrapping the cpu initial jump anymore
...
also introduce padding after cpu_init (wip)
2018-05-12 18:36:59 +03:00
232fe67c09
introduce platform to abstract cpu and load address
2018-05-12 18:32:10 +03:00
776a97986d
fix instruction positioning
...
use at as at and only compute difference when needed (to determine if
there is a jump in binary)
Easier to understand that way
2018-05-11 18:36:45 +03:00
bc1e29e4f6
seperate different Position classes into own files
...
also tests
and have Position module keep all positions
(singletons should be at module, not class level)
2018-05-10 20:56:12 +03:00
1169fa7220
propagating binary code position on extend
2018-05-09 20:36:49 +03:00
6a1528e75a
Fix instruction resetting
...
which happens on insert of a new instruction
2018-05-08 20:53:48 +03:00
7ca7e92dda
remove link exception class
2018-05-08 20:22:04 +03:00
cf06642768
start passing positions along inside the position code
2018-05-08 19:59:43 +03:00
ce3cc72f9e
move all position setting into position
...
Position and subclasses handle the logic, external to
the classes, so it can be swapped out later
(at runtime positions can’t change)
2018-05-07 22:30:43 +03:00
68fb9b1bdc
rename Position get/set
2018-05-06 20:04:02 +03:00
e89c4d1ce1
pass binary that arm instruction belongs to in
...
at least to first. repositioning and stuff next
2018-05-06 19:56:36 +03:00
415df49199
hand context into position
2018-05-06 00:34:59 +03:00
6b7e1e3932
remove link exception raise
...
need to fix move logic next
2018-05-05 23:55:50 +03:00
40f4bfc287
change to position objects complete
2018-05-05 20:25:10 +03:00
3244c7d633
add position tests
...
and refactor padding out
2018-05-05 20:11:08 +03:00
d65a982454
start by moving positioned(module) to position(class)
2018-05-05 19:47:18 +03:00
43d5521cfc
debugging positions
2018-05-05 19:32:01 +03:00
d49d2665c5
reinit risc_init
...
fixes over 100 tests :-)
2018-05-01 22:36:46 +03:00
6be28e7f55
fix (re)positioning when link exceptions are thrown
...
slow design, but sort of works
2018-05-01 19:48:11 +03:00
1c52ab6b67
use hex for labels
...
idea was to be able to compare to positions
(but they are different positions)
2018-05-01 19:20:16 +03:00
06f51da8f1
rename get_all_methods
2018-05-01 19:19:37 +03:00
dd2c2cb975
fix init jump bug
...
the label for the jump was not translated correctly
call needs to go through to_cpu to create single instance
on the way init order slightly changed
2018-05-01 19:19:04 +03:00
3b6ff3d94f
add emu and watcher script too
2018-05-01 16:15:04 +03:00
e39a0957d7
add sync command
...
must extract pwd at some point
(and make ping optional)
2018-05-01 14:24:47 +03:00
1acd231a33
debugging binaries, initial jump issues
2018-04-30 13:28:55 +03:00
d84d208192
implement assignment normalisation
...
especially when the value is a send that needs normalising
fixes several broken tests
2018-04-27 21:56:41 +03:00
1685ba5a44
fix send normalisation
2018-04-27 21:55:41 +03:00
672ccb351d
fix argument hoisting
...
arguments in vool must be simple variables
finally did the hoisting to do that
2018-04-27 09:59:01 +03:00