diff options
author | Clyne Sullivan <clyne@bitgloo.com> | 2025-01-13 09:36:52 -0500 |
---|---|---|
committer | Clyne Sullivan <clyne@bitgloo.com> | 2025-01-13 09:36:52 -0500 |
commit | 54c6831e9dd19489ce3275eb68e5781c5899c26b (patch) | |
tree | 8b17af591db76d298ebeb6fd3d37c8958414d3cd /src/isa.ads | |
parent | 3465042dc2a80f4090d6cf6b65ddc33ee4e48b55 (diff) |
wip scroll support
Diffstat (limited to 'src/isa.ads')
-rw-r--r-- | src/isa.ads | 38 |
1 files changed, 34 insertions, 4 deletions
diff --git a/src/isa.ads b/src/isa.ads index e5310d3..2552995 100644 --- a/src/isa.ads +++ b/src/isa.ads @@ -43,10 +43,40 @@ package ISA is Misc => 15 ); - Clear_Screen : constant Opcode_Value := 16#E0#; - Ret : constant Opcode_Value := 16#EE#; - Low_Res : constant Opcode_Value := 16#FE#; - High_Res : constant Opcode_Value := 16#FF#; + type Flow_Class is ( + Scroll_Down_0, Scroll_Down_1, Scroll_Down_2, Scroll_Down_3, + Scroll_Down_4, Scroll_Down_5, Scroll_Down_6, Scroll_Down_7, + Scroll_Down_8, Scroll_Down_9, Scroll_Down_10, Scroll_Down_11, + Scroll_Down_12, Scroll_Down_13, Scroll_Down_14, Scroll_Down_15, + Clear_Screen, Ret, Scroll_Right, Scroll_Left, Exit_Interpreter, Low_Res, + High_Res + ); + + for Flow_Class use ( + Scroll_Down_0 => 16#C0#, + Scroll_Down_1 => 16#C1#, + Scroll_Down_2 => 16#C2#, + Scroll_Down_3 => 16#C3#, + Scroll_Down_4 => 16#C4#, + Scroll_Down_5 => 16#C5#, + Scroll_Down_6 => 16#C6#, + Scroll_Down_7 => 16#C7#, + Scroll_Down_8 => 16#C8#, + Scroll_Down_9 => 16#C9#, + Scroll_Down_10 => 16#CA#, + Scroll_Down_11 => 16#CB#, + Scroll_Down_12 => 16#CC#, + Scroll_Down_13 => 16#CD#, + Scroll_Down_14 => 16#CE#, + Scroll_Down_15 => 16#CF#, + Clear_Screen => 16#E0#, + Ret => 16#EE#, + Scroll_Right => 16#FB#, + Scroll_Left => 16#FC#, + Exit_Interpreter => 16#FD#, + Low_Res => 16#FE#, + High_Res => 16#FF# + ); type Math_Class is ( Assign, Bit_Or, Bit_And, Bit_Xor, Add, Sub_Y, Shift_Right, Sub_X, |