From a9a3b8f7ab7f2067843a9a642447a9b7270440ce Mon Sep 17 00:00:00 2001 From: Julian Blake Kongslie Date: Sun, 21 Nov 2021 13:28:55 -0800 Subject: Implement switches Start and LoadAdd. --- PLAN | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) (limited to 'PLAN') diff --git a/PLAN b/PLAN index bdf6256..562c8ab 100644 --- a/PLAN +++ b/PLAN @@ -1,15 +1,15 @@ Turn on blinkenlights from the PDP core Implement switch features: - Start - Load_Add - Deposit - Examine - The DF* IF* and SR* data switches + Deposit - needs a state machine + [pc++] = switch_sr + Examine - needs a state machine + led_memdata = [pc++] Don't ignore 6000 and 6001 Add "interrupts enabled" flag + switch_start clears this 6000, 6001, 6002 should properly handle it 6000 - skip next instruction if interrupts are enabled; disable interrupts (we should probably do this immediately) 6001 - enable interrupts (after next instruction) @@ -26,3 +26,9 @@ Sources of interrupts observed: TTO ready for output interrupt - this looks like a very likely candidate TTI input ready interrupt - this looks like a very likely candidate Looks like these happen even when there is no input available - might be caused by the program itself doing something a little funny + +Implement IF/DF fields + Will need to update behaviour of switch_load_add + +Add a macro for reversing polarity of switch_sing_step and switch_sing_inst and +making switch_dep happen on key lift instead of key press -- cgit v1.2.3