Commit graph

343 commits

Author SHA1 Message Date
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
folkert van heusden
fe191c7483
ASH flag fix for shift <= 15 2023-03-24 08:48:18 +01:00