Commit graph

367 commits

Author SHA1 Message Date
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
folkert van heusden
48abb8509f
TRAP logging 2023-03-21 14:09:11 +01:00
folkert van heusden
389bc57405
cpu::schedule_trap logs a message 2023-03-20 22:26:59 +01:00
folkert van heusden
5bc706d979
11/70 has no MFPT instruction 2023-03-20 19:07:52 +01:00
folkert van heusden
831a01a5b1
fix for CLR & odd addressing-trap 2023-03-20 16:02:27 +01:00
folkert van heusden
da79c357c2
v-flag for SUB was incorrect sometimes (address 017172 of EQKCE1.BIC) 2023-03-20 15:24:48 +01:00
folkert van heusden
e85e204179
setBitPSW without conditional 2023-03-20 15:11:20 +01:00
folkert van heusden
3761b177af
ASH etc flags 2023-03-20 14:00:49 +01:00
folkert van heusden
a57d89a045
Fix for XOR R7/PC,... 2023-03-20 10:33:45 +01:00
folkert van heusden
d81f7eec66
additional instructions are only ^0111 and not ^1111 (2) 2023-03-20 10:07:51 +01:00