folkert van heusden
00ec6af6cd
Revert "clean-up & "instruction_aborted" flag for MTFPDI"
...
This reverts commit ecbe3f5f84
.
2024-04-01 22:45:25 +02:00
folkert van heusden
4ecf4d0de2
if not ram nor i/o, then trap 4
2024-04-01 22:40:41 +02:00
folkert van heusden
ecbe3f5f84
clean-up & "instruction_aborted" flag for MTFPDI
2024-04-01 22:03:15 +02:00
folkert van heusden
f43f0a889c
rework for PSW-access
2024-04-01 11:27:50 +02:00
folkert van heusden
d3cbab42fb
I/O base
2024-03-31 04:11:28 +02:00
folkert van heusden
2b6de27c35
compiles
2023-04-07 23:10:26 +02:00
folkert van heusden
4bdc5272b2
"int" is 16 bit on an ESP32
2023-03-26 22:38:13 +02:00
folkert van heusden
7e11eacd6f
int may be tool small on esp32
2023-03-26 22:06:08 +02:00
Folkert van Heusden
4c7fcb4854
license
2023-03-26 21:47:42 +02:00
folkert van heusden
ce1114a159
lf_csr can be altered from an other thread
2023-03-26 13:06:34 +02:00
folkert van heusden
d66650b5b2
prev_mode: rm_cur/rm_prev
2023-03-25 13:57:47 +01:00
folkert van heusden
c708acead1
calculate_physical_address: d_i_space_t instead of a bool
2023-03-25 10:05:56 +01:00
folkert van heusden
b2f3fdb0e9
made word_mode into an enum
2023-03-25 09:56:52 +01:00
folkert van heusden
b145bae3d0
const
2023-03-24 15:04:02 +01:00
folkert van heusden
4e6dff4ad9
SYSTEM_11_44 define in bus.h to aid KKTA/KKTB testing
2023-03-23 16:53:39 +01:00
folkert van heusden
921610643c
stack is in d-space
2023-03-23 16:12:17 +01:00
folkert van heusden
f9eb348572
odd trap handling method
2023-03-23 14:19:35 +01:00
folkert van heusden
a820edea23
prevent memory leaks when re-adding devices
2023-03-22 13:44:27 +01:00
folkert van heusden
4799cba2de
Revert "d/i index 0 for i is more logical? because it is default mode."
...
This reverts commit cf420ca726
.
=> breaks at least the unix v6 bootloader
2023-03-22 13:06:33 +01:00
folkert van heusden
cf420ca726
d/i index 0 for i is more logical? because it is default mode.
2023-03-21 21:07:36 +01:00
folkert van heusden
0336c0c66c
source layout
2023-03-20 21:16:11 +01:00
folkert van heusden
ce730c6ea1
microprogram break register
2023-03-20 14:23:32 +01:00
folkert van heusden
2bf8b92217
0177764: system id
2023-03-20 09:58:56 +01:00
folkert van heusden
35eed8e117
MTP./MFP. trap on odd addressing
2023-03-19 20:57:07 +01:00
folkert van heusden
daf5e27842
console switches/leds work
2023-03-19 15:33:39 +01:00
folkert van heusden
b7512ae3cd
show console LEDs
2023-03-19 15:05:00 +01:00
folkert van heusden
a935fe44d7
use d-space where required
2023-03-18 14:45:44 +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
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
88933e303c
Console switches configurable on command line
2022-06-19 15:39:46 +02:00
folkert van heusden
51670ef199
double traps
...
odd addressing trap
2022-06-18 12:10:23 +02:00
folkert van heusden
9d55740a0f
SR0 errors by KKTBD0 fixed
2022-06-18 08:48:29 +02:00
folkert van heusden
015ef244b8
Merge branch 'master' into d_i
2022-06-18 08:05:40 +02:00
folkert van heusden
4b788bb620
Set bit 12 to 1 if trap
2022-06-17 20:48:16 +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
81dc6d8924
trap: read from D-space
2022-06-13 21:53:59 +02:00
folkert van heusden
6449ef6c8c
Merge branch 'master' into d_i
2022-06-12 22:16:15 +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
70543edbb8
debugger: mmudump
2022-06-12 15:46:43 +02:00
folkert van heusden
7a9ccc651b
logging facility - remove \n & reduce logging when not needed
2022-06-11 09:44:00 +02:00
folkert van heusden
160ffe5c26
connect rl02 to bus
2022-06-09 22:19:46 +02:00
folkert van heusden
94181e94bd
KW11-L
2022-06-09 19:10:22 +02:00
folkert van heusden
1673548c37
MMR1/2
2022-04-13 23:38:46 +02:00