folkert van heusden
b708b88014
do not re-add upper byte for ASL
2024-03-29 12:09:19 +01:00
folkert van heusden
bdadc393b2
ASR
2024-03-29 12:05:05 +01:00
folkert van heusden
a15d464532
ASH for shift > 32 fix
2024-03-29 11:51:25 +01:00
folkert van heusden
1605d1a9a7
fix for v-flag for ASH shifts of < 32
2024-03-29 11:26:04 +01:00
folkert van heusden
43134223ae
Merge branch 'master' into json_validation
2024-03-29 10:30:15 +01:00
folkert van heusden
661d94f8f6
MIPS calculation: compensate for idle waits
2024-03-29 10:29:09 +01:00
folkert van heusden
e67f383d65
GAM fixes (increment/decrement & MMR1)
2024-03-29 10:23:39 +01:00
folkert van heusden
9828a013c9
fix for @(Rn)+: increment is 1 in case of bytes / @-(Rn) idem
2024-03-29 10:02:04 +01:00
folkert van heusden
68be8eeffc
fix for @(Rn)+: increment is 1 in case of bytes
2024-03-29 09:47:21 +01:00
folkert van heusden
b8d0a08bcf
SXT opt
2024-03-28 23:54:49 +01:00
folkert van heusden
d523d2dcc3
SWAB flag fix (negative flag)
2024-03-28 23:48:25 +01:00
folkert van heusden
881494b9ae
COMB fix
2024-03-28 23:31:28 +01:00
folkert van heusden
9dd4e51ff4
CLRB fix
2024-03-28 23:28:20 +01:00
folkert van heusden
4339334e57
RORB fix
2024-03-28 22:18:39 +01:00
folkert van heusden
ef4739b251
INCB clean-up & fix
2024-03-28 22:02:31 +01:00
folkert van heusden
1e91bb9814
testing tweaks
2024-03-28 22:00:12 +01:00
folkert van heusden
0bc17c628a
reason
2024-03-28 18:24:13 +01:00
folkert van heusden
d3bc4b5ff0
clean-up
2024-03-28 16:17:50 +01:00
folkert van heusden
a0630fd485
fixes
2024-03-28 15:41:44 +01:00
folkert van heusden
c62aadd318
basic framework for json validation
2024-03-28 00:51:06 +01:00
folkert van heusden
1d87ecc570
debugger runs
2023-04-08 15:08:13 +02:00
folkert van heusden
2b6de27c35
compiles
2023-04-07 23:10:26 +02:00
folkert van heusden
393ec9098b
Basic SHA20127-badge port
2023-04-01 19:07:59 +02:00
folkert van heusden
fad2c52c9b
moved MMR0-bits check to bus
2023-03-27 21:57:02 +02:00
folkert van heusden
08362a2a20
micro opt
2023-03-27 21:12:30 +02:00
folkert van heusden
2333f4b92d
- make sure MMR1 is never updated when MMR0 is locked by moving the MMR0
...
bit 15...13-check into bus::addToMMR1
- cpu::double_operand_instructions could do a register-increment etc
even if it did not run any cases of the switch
2023-03-27 21:01:58 +02:00
folkert van heusden
f00cbd2997
TODO
2023-03-27 19:43:02 +02:00
folkert van heusden
2563bbac57
locking and iterating through queues is expensive so added flag that indicates if there is any interrupt pending
2023-03-27 09:26:10 +02:00
folkert van heusden
4bdc5272b2
"int" is 16 bit on an ESP32
2023-03-26 22:38:13 +02:00
Folkert van Heusden
4c7fcb4854
license
2023-03-26 21:47:42 +02:00
folkert van heusden
5998545a90
stack limit: trap(04)
2023-03-26 15:12:08 +02:00
folkert van heusden
9bba033dbc
implemented real WAIT (really wait for interrupts)
2023-03-26 13:19:30 +02:00
folkert van heusden
e1aed28f46
double trap could push invalid data into MMR1
2023-03-26 11:59:00 +02:00
folkert van heusden
a571609304
KKTB: PSW shall not be altered during an RTI
2023-03-25 20:50:56 +01:00
folkert van heusden
9c1eef7fdb
update MMR1 directly when the post/pre-decrement happened
2023-03-25 20:00:29 +01:00
folkert van heusden
e4c936f932
b->write must use the right mode and space
2023-03-25 17:52:42 +01:00
folkert van heusden
9a467ed05f
put_result must use the right mode and space
2023-03-25 17:39:21 +01:00
folkert van heusden
bbd11b82b5
cpu::trap: corrected kernel_mode detection
2023-03-25 17:23:07 +01:00
folkert van heusden
0586b78f97
always set g.space as read_value is optional, but g.space may be used by putGAM
2023-03-25 16:22:44 +01:00
folkert van heusden
b5f9d62f55
Methods for run-mode retrieval
2023-03-25 15:48:50 +01:00
folkert van heusden
d66650b5b2
prev_mode: rm_cur/rm_prev
2023-03-25 13:57:47 +01:00
folkert van heusden
d3339ec91b
correctly initialize gam_rc_t structure
2023-03-25 10:14:21 +01:00
folkert van heusden
b2f3fdb0e9
made word_mode into an enum
2023-03-25 09:56:52 +01:00
folkert van heusden
ff2d0eadb7
Some parameters were missing to read-calls in getGAM. Due to implicit conversion of int to bool, this was transparent.
2023-03-25 09:29:45 +01:00
folkert van heusden
3dddae94c3
not sure if a union of an int and an std::opional is guaranteed to work
2023-03-24 21:23:11 +01:00
folkert van heusden
ba5916f750
SP is not selectable via bit 11 of PSW
...
R0...R5 are not selectable via run-mode
2023-03-24 19:59:52 +01:00
folkert van heusden
9ed0c622d1
cannot JSR to a register
2023-03-24 18:10:21 +01:00
folkert van heusden
788df49a8d
MTPx auto increment SP and thus should update MMR1
2023-03-24 14:15:03 +01:00
folkert van heusden
5b38f238e8
log SP of each run mode
2023-03-24 10:54:26 +01:00
folkert van heusden
2f69f287ef
bus::calculate_physical_address did not handle non-mmu case
2023-03-24 09:12:37 +01:00