folkert van heusden
d7ca617155
assert
2023-03-13 12:25:24 +01:00
folkert van heusden
08d8c75d58
- readPhysical
...
- initialize psw to 0 to match pypdp (for diff)
- SUB instruction V-flag may have been incorrect
- MFPI/MTPI flags
- MFPI readPhysical
- bootloader from pypdp (for diff)
2023-03-12 22:32:53 +01:00
folkert van heusden
d68a5af55e
writePhysical
2023-03-11 21:54:18 +01:00
folkert van heusden
3ef8bd930d
Added:
...
* calculate data/instruction physical addresses from a virtual address
memory_addresses_t calculate_physical_address(const int run_mode, const uint16_t a);
* check if a 'memory_address_t'-address would cause a fault
void check_address(const bool trap_on_failure, const bool is_write, const memory_addresses_t & addr, const bool word_mode, const bool is_data, const int run_mode);
2023-03-11 21:13:46 +01:00
folkert van heusden
2fd1da58bb
Merge branch 'master' into d_i
2022-11-10 09:13:22 +01:00
folkert van heusden
381879030f
helpful logging
2022-07-02 16:55:55 +02:00
folkert van heusden
0d7cbe3da9
replaced addresses by defines
2022-06-28 17:58:04 +02:00
folkert van heusden
55ad46c55c
Code-cleanup (PAR/PDR read/write helper methods)
2022-06-28 16:31:17 +02:00
folkert van heusden
42fc44b206
page written bit only when written
...
double trap: use stack from 000004
2022-06-24 20:03:32 +02:00
folkert van heusden
88933e303c
Console switches configurable on command line
2022-06-19 15:39:46 +02:00
folkert van heusden
f4d991e86a
Debugging
2022-06-19 02:33:06 +02:00
folkert van heusden
fdeda07d71
current page in mmr0 for odd addressing error
2022-06-19 00:22:04 +02:00
folkert van heusden
d2a4776742
first thing is check for odd addressing
2022-06-18 19:44:55 +02:00
folkert van heusden
51670ef199
double traps
...
odd addressing trap
2022-06-18 12:10:23 +02:00
folkert van heusden
7427ddc226
PDR-len calculation fix(?)
...
do not update MMR0 when already set
2022-06-18 11:42:40 +02:00
folkert van heusden
7605c934c2
throw 3/4: add run mode
2022-06-18 09:10:51 +02:00
folkert van heusden
9d55740a0f
SR0 errors by KKTBD0 fixed
2022-06-18 08:48:29 +02:00
folkert van heusden
d851c4b9a0
18bit mode
2022-06-18 08:18:27 +02:00
folkert van heusden
015ef244b8
Merge branch 'master' into d_i
2022-06-18 08:05:40 +02:00
folkert van heusden
65742ab973
store page number in MMR0 on fault
2022-06-18 07:54:39 +02:00
folkert van heusden
c1cc5508bc
6de3478a0b
is incorrect
2022-06-18 07:49:49 +02:00
folkert van heusden
6de3478a0b
only apply par-mask at address calculation
2022-06-17 21:42:55 +02:00
folkert van heusden
4b788bb620
Set bit 12 to 1 if trap
2022-06-17 20:48:16 +02:00
folkert van heusden
47f2ad193f
correction of protection of bits 1...7
2022-06-17 20:34:37 +02:00
folkert van heusden
89bca61148
Bugfix: must look at bits 15/14/13 of MMR0
2022-06-17 20:18:28 +02:00
folkert van heusden
c9ff07cd4b
let write not return the value written
2022-06-17 20:00:35 +02:00
folkert van heusden
60b513033f
MMR0 fix
2022-06-17 19:57:17 +02:00
folkert van heusden
82fe466cdd
trap number correction for mmu
2022-06-17 18:15:41 +02:00
folkert van heusden
c033268ee6
Do not update W-bit when MMR0 is touched
...
Include exception number in logging
2022-06-16 20:10:55 +02:00
folkert van heusden
0f78c37d84
11/34 does not have bit 9 in MMR0
2022-06-16 19:33:39 +02:00
folkert van heusden
6a32185058
11/34 has no I/D distinction
2022-06-15 13:09:26 +02:00
folkert van heusden
6b379c0a99
update MMR0 for page length traps
2022-06-15 12:55:37 +02:00
folkert van heusden
0b18a5e4cc
mm fixes
2022-06-15 12:08:13 +02:00
folkert van heusden
978709cd2e
page length abort
2022-06-15 09:09:50 +02:00
folkert van heusden
c26e6f4853
write bit in pdr
2022-06-15 08:43:24 +02:00
folkert van heusden
3e716dbca1
on the 11/34, supervisor-mode does not exist - behaves like user-mode(?)
2022-06-15 08:23:35 +02:00
folkert van heusden
f5d7fafcd4
11/34 needs bit 4 cleared as well
2022-06-14 22:10:19 +02:00
folkert van heusden
669c9dab71
T-bit masking fix (bus write)
2022-06-14 21:59:35 +02:00
folkert van heusden
e7c50e9380
34 versus 70 pdr bits masking
2022-06-14 21:50:08 +02:00
folkert van heusden
81dc6d8924
trap: read from D-space
2022-06-13 21:53:59 +02:00
folkert van heusden
37654c61a6
Merge branch 'master' into d_i
2022-06-13 20:59:07 +02:00
folkert van heusden
1dfb1ab325
11/34 needs special masking of bits in pdr
2022-06-13 19:26:40 +02:00
folkert van heusden
6eeb65eeb3
PAR/PDR fixes
...
(FKTH??)
2022-06-13 15:19:28 +02:00
folkert van heusden
a460aa9d82
PSW handling fixes
2022-06-12 22:34:09 +02:00
folkert van heusden
6449ef6c8c
Merge branch 'master' into d_i
2022-06-12 22:16:15 +02:00
folkert van heusden
93e7af7705
Only return 012345 for tty (bus).
2022-06-12 21:25:11 +02:00
folkert van heusden
6e17f4b747
The disassembler uses peekWord() which would do a real read on i/o
...
devices. That is now replaced by a return 012345 so that the (emulated)
devices don't get confused (e.g. the tty would miss characters).
2022-06-12 21:00:26 +02:00
folkert van heusden
c9fa383bfa
bus is now enhanced for d/i space
2022-06-12 20:02:05 +02:00
folkert van heusden
ad7aca8876
Prepare calculate_physical_address for D/I.
2022-06-12 15:52:41 +02:00
folkert van heusden
5fe319c316
code reduction
2022-06-12 15:19:46 +02:00