summaryrefslogtreecommitdiff
path: root/PLAN
diff options
context:
space:
mode:
authorJulian Blake Kongslie2021-11-21 13:28:55 -0800
committerJulian Blake Kongslie2021-11-21 13:28:55 -0800
commita9a3b8f7ab7f2067843a9a642447a9b7270440ce (patch)
treefc7a5ba3dd7c5c0f5d77593c18a58f7fa376f2b5 /PLAN
parentImplement single-stepping the core. (diff)
downloadnoncpu-a9a3b8f7ab7f2067843a9a642447a9b7270440ce.tar.xz
Implement switches Start and LoadAdd.
Diffstat (limited to 'PLAN')
-rw-r--r--PLAN16
1 files changed, 11 insertions, 5 deletions
diff --git a/PLAN b/PLAN
index bdf6256..562c8ab 100644
--- a/PLAN
+++ b/PLAN
@@ -1,15 +1,15 @@
1Turn on blinkenlights from the PDP core 1Turn on blinkenlights from the PDP core
2 2
3Implement switch features: 3Implement switch features:
4 Start 4 Deposit - needs a state machine
5 Load_Add 5 [pc++] = switch_sr
6 Deposit 6 Examine - needs a state machine
7 Examine 7 led_memdata = [pc++]
8 The DF* IF* and SR* data switches
9 8
10Don't ignore 6000 and 6001 9Don't ignore 6000 and 6001
11 10
12Add "interrupts enabled" flag 11Add "interrupts enabled" flag
12 switch_start clears this
136000, 6001, 6002 should properly handle it 136000, 6001, 6002 should properly handle it
14 6000 - skip next instruction if interrupts are enabled; disable interrupts (we should probably do this immediately) 14 6000 - skip next instruction if interrupts are enabled; disable interrupts (we should probably do this immediately)
15 6001 - enable interrupts (after next instruction) 15 6001 - enable interrupts (after next instruction)
@@ -26,3 +26,9 @@ Sources of interrupts observed:
26 TTO ready for output interrupt - this looks like a very likely candidate 26 TTO ready for output interrupt - this looks like a very likely candidate
27 TTI input ready interrupt - this looks like a very likely candidate 27 TTI input ready interrupt - this looks like a very likely candidate
28 Looks like these happen even when there is no input available - might be caused by the program itself doing something a little funny 28 Looks like these happen even when there is no input available - might be caused by the program itself doing something a little funny
29
30Implement IF/DF fields
31 Will need to update behaviour of switch_load_add
32
33Add a macro for reversing polarity of switch_sing_step and switch_sing_inst and
34making switch_dep happen on key lift instead of key press