From 9d4c6fc299294ac36f7082599edce19286fa0f99 Mon Sep 17 00:00:00 2001 From: Jan Tuomi Date: Thu, 13 Apr 2023 14:48:34 +0300 Subject: Add @let directive, start pondering interrupt control --- digital/atk16.dig | 203 ++++++++++++++++++++++-------- digital/atk16_irc.dig | 341 ++++++++++++++++++++++++++++++++++++++++++++++++++ digital/atk16_mem.dig | 8 +- 3 files changed, 496 insertions(+), 56 deletions(-) create mode 100644 digital/atk16_irc.dig (limited to 'digital') diff --git a/digital/atk16.dig b/digital/atk16.dig index ca4aa6d..056fbb0 100644 --- a/digital/atk16.dig +++ b/digital/atk16.dig @@ -103,30 +103,6 @@ - - Driver - - - Bits - 16 - - - - - - Tunnel - - - rotation - - - - NetName - PC_OE - - - - Tunnel @@ -258,7 +234,7 @@ rotation - + @@ -319,16 +295,6 @@ - - Probe - - - Label - Bus - - - - atk16_mem.dig @@ -993,7 +959,7 @@ program(0x4051, 0x40a2, 0x029b) rotation - + @@ -1031,6 +997,103 @@ program(0x4051, 0x40a2, 0x029b) + + atk16_irc.dig + + + + + Probe + + + Label + Bus + + + + + + Tunnel + + + rotation + + + + NetName + PC_OE + + + + + + Tunnel + + + rotation + + + + NetName + MAR_IE + + + + + + DipSwitch + + + Label + IRQ0 + + + + + + Ground + + + rotation + + + + + + + Ground + + + rotation + + + + + + + Ground + + + rotation + + + + + + + Splitter + + + Input Splitting + 1*4 + + + Output Splitting + 4 + + + + @@ -1069,6 +1132,10 @@ program(0x4051, 0x40a2, 0x029b) + + + + @@ -1111,12 +1178,20 @@ program(0x4051, 0x40a2, 0x029b) + + + + + + + + @@ -1225,6 +1300,10 @@ program(0x4051, 0x40a2, 0x029b) + + + + @@ -1265,6 +1344,14 @@ program(0x4051, 0x40a2, 0x029b) + + + + + + + + @@ -1293,6 +1380,10 @@ program(0x4051, 0x40a2, 0x029b) + + + + @@ -1357,24 +1448,20 @@ program(0x4051, 0x40a2, 0x029b) - - - - - - - - - + + + + + @@ -1409,6 +1496,10 @@ program(0x4051, 0x40a2, 0x029b) + + + + @@ -1446,17 +1537,13 @@ program(0x4051, 0x40a2, 0x029b) - - + + - - - - @@ -1543,7 +1630,7 @@ program(0x4051, 0x40a2, 0x029b) - + @@ -1557,6 +1644,14 @@ program(0x4051, 0x40a2, 0x029b) + + + + + + + + @@ -1581,6 +1676,10 @@ program(0x4051, 0x40a2, 0x029b) + + + + diff --git a/digital/atk16_irc.dig b/digital/atk16_irc.dig new file mode 100644 index 0000000..0037fa0 --- /dev/null +++ b/digital/atk16_irc.dig @@ -0,0 +1,341 @@ + + + 2 + + + romContent + + + + + + Width + 5 + + + + + In + + + Description + IRQ lines + + + Label + IRQ + + + Bits + 4 + + + + + + In + + + Description + PC value + + + Label + PC + + + Bits + 16 + + + + + + Splitter + + + Input Splitting + 4 + + + Output Splitting + 1*4 + + + + + + Text + + + Description + Some IRQ active? + + + + + + In + + + Label + MAR_IE + + + + + + And + + + + + Multiplexer + + + Bits + 16 + + + + + + Out + + + Label + DBUS + + + Bits + 16 + + + + + + Driver + + + Bits + 16 + + + flipSelPos + true + + + + + + In + + + Label + PC_OE + + + + + + PriorityEncoder + + + Selector Bits + 2 + + + + + + Const + + + Value + 17 + + + Bits + 16 + + + + + + Multiplexer + + + Selector Bits + 2 + + + Bits + 16 + + + + + + Const + + + Value + 16 + + + Bits + 16 + + + + + + Const + + + Value + 18 + + + Bits + 16 + + + + + + Const + + + Value + 19 + + + Bits + 16 + + + + + + Testcase + + + Testdata + + IRQ PC MAR_IE PC_OE DBUS +0b0000 0x5 0 0 Z +0b0000 0x5 0 1 0x5 +0b0001 0x5 0 1 0x5 +0b0001 0x5 1 1 0x10 +0b0101 0x5 1 1 0x12 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/digital/atk16_mem.dig b/digital/atk16_mem.dig index 15f080d..5c56552 100644 --- a/digital/atk16_mem.dig +++ b/digital/atk16_mem.dig @@ -67,10 +67,10 @@ Data - 6001,8000,4001,2a00,400a,9e00,1fe0,3178,1b48,6001,f000,3148,1b48 -,3150,1b48,1011,860a,3158,1b48,4200,4401,650,1280,14c0,1009,8408 -,61fa,1b49,2540,1b49,2340,1b49,2f40,51c0,10c0,1b49,2740,1b49,2540 -,1b49,2340,1b49,2f40,51c0 + 4014,2a00,6014,13*8000,4*15,8000,4055,f000,400a,9e00,1fe0,3178 +,1b48,6001,f000,3148,1b48,3150,1b48,1011,860a,3158,1b48,4200,4401 +,650,1280,14c0,1009,8408,61fa,1b49,2540,1b49,2340,1b49,2f40,51c0 +,10c0,1b49,2740,1b49,2540,1b49,2340,1b49,2f40,51c0 -- cgit v1.3