Commit graph

376 commits

Author SHA1 Message Date
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
folkert van heusden
3a43e55663
no need to retrieve value of MOV dst 2023-03-24 08:26:58 +01:00
folkert van heusden
69b2651bf7
getGAM (for else) had wrong parameter for prev_mode 2023-03-23 21:29:53 +01:00
folkert van heusden
bcb5305473
getGAM fix: when reading data from d_space, then set g.space to that as well so that putGAM will write back to d_space 2023-03-23 20:51:37 +01:00
folkert van heusden
921610643c
stack is in d-space 2023-03-23 16:12:17 +01:00
folkert van heusden
f2a3d955a4
MMR1 tracking 2023-03-23 16:09:43 +01:00
folkert van heusden
cd4322ac4a
when to update MMR1 2023-03-23 13:57:44 +01:00
folkert van heusden
763f078bd3
fixes in getGAM 2023-03-23 13:33:18 +01:00
folkert van heusden
9ce5cb0bf6
lock bits / get instruction can trap 2023-03-23 12:44:06 +01:00
folkert van heusden
b33b688564
debugger: log MMR1 2023-03-23 09:14:59 +01:00
folkert van heusden
8a3594ec47
push/popstack now do the MMR1 updating 2023-03-23 08:55:52 +01:00
folkert van heusden
b020fea67d
Merge branch 'master' into MMR1 2023-03-23 08:40:11 +01:00
folkert van heusden
8a47015a93
replaced schedule_trap by trap() + throw 2023-03-22 13:48:55 +01:00
folkert van heusden
a00226e118
Merge branch 'master' into MMR1 2023-03-22 13:16:54 +01:00
folkert van heusden
cfc819630e
Revert "MMR2 tracking"
This reverts commit 2afa705209.

=> breaks EKBA (from XXDP)
2023-03-22 13:08:23 +01:00
folkert van heusden
10ce535813
explicit logging of schedule_trap 2023-03-21 16:20:06 +01:00
folkert van heusden
d876a23eee
wip 2023-03-21 14:52:51 +01:00
folkert van heusden
2afa705209
MMR2 tracking 2023-03-21 14:26:58 +01:00