diff options
Diffstat (limited to 'digital/atk16_ppu.dig')
| -rw-r--r-- | digital/atk16_ppu.dig | 373 |
1 files changed, 217 insertions, 156 deletions
diff --git a/digital/atk16_ppu.dig b/digital/atk16_ppu.dig index 8f373a3..d9064dd 100644 --- a/digital/atk16_ppu.dig +++ b/digital/atk16_ppu.dig @@ -200,7 +200,7 @@ <elementAttributes> <entry> <string>AddrBits</string> - <int>11</int> + <int>7</int> </entry> <entry> <string>Label</string> @@ -218,19 +218,26 @@ <elementAttributes> <entry> <string>Description</string> - <string>(8 pixels wide x 8 pixels tall + 12 bit X + 12 bit Y + 8 bit priority) -x 21 sprites -< 2**11 = 2048 words</string> + <string>8 bits tile pattern index +10 bits Y position +10 bits X position +1 bit H flip +1 bit V flip +1 bit behind background? (priority) +1 bit palette select += total 4 bytes per sprite +x 64 sprites += 128 words</string> </entry> </elementAttributes> - <pos x="-500" y="-320"/> + <pos x="-500" y="-540"/> </visualElement> <visualElement> <elementName>Text</elementName> <elementAttributes> <entry> <string>Description</string> - <string>2**11 selector addresses for + <string>2**7 selector addresses for sprite mem, starting from 0x0800</string> </entry> </elementAttributes> @@ -374,40 +381,6 @@ sprite mem, starting from 0x0800</string> <elementName>Tunnel</elementName> <elementAttributes> <entry> - <string>NetName</string> - <string>SMEMBUS</string> - </entry> - </elementAttributes> - <pos x="-120" y="40"/> - </visualElement> - <visualElement> - <elementName>Multiplexer</elementName> - <elementAttributes> - <entry> - <string>Bits</string> - <int>11</int> - </entry> - </elementAttributes> - <pos x="-180" y="20"/> - </visualElement> - <visualElement> - <elementName>Tunnel</elementName> - <elementAttributes> - <entry> - <string>rotation</string> - <rotation rotation="2"/> - </entry> - <entry> - <string>NetName</string> - <string>SM_QUERY</string> - </entry> - </elementAttributes> - <pos x="-200" y="20"/> - </visualElement> - <visualElement> - <elementName>Tunnel</elementName> - <elementAttributes> - <entry> <string>rotation</string> <rotation rotation="2"/> </entry> @@ -711,22 +684,12 @@ sprite mem, starting from 0x0800</string> </entry> <entry> <string>Output Splitting</string> - <string>9,1</string> + <string>1,9</string> </entry> </elementAttributes> <pos x="640" y="460"/> </visualElement> <visualElement> - <elementName>Tunnel</elementName> - <elementAttributes> - <entry> - <string>NetName</string> - <string>Y</string> - </entry> - </elementAttributes> - <pos x="700" y="460"/> - </visualElement> - <visualElement> <elementName>Splitter</elementName> <elementAttributes> <entry> @@ -735,22 +698,12 @@ sprite mem, starting from 0x0800</string> </entry> <entry> <string>Output Splitting</string> - <string>9,1</string> + <string>1,9</string> </entry> </elementAttributes> <pos x="640" y="140"/> </visualElement> <visualElement> - <elementName>Tunnel</elementName> - <elementAttributes> - <entry> - <string>NetName</string> - <string>X</string> - </entry> - </elementAttributes> - <pos x="700" y="140"/> - </visualElement> - <visualElement> <elementName>Text</elementName> <elementAttributes> <entry> @@ -803,31 +756,6 @@ sprite mem, starting from 0x0800</string> <pos x="60" y="-180"/> </visualElement> <visualElement> - <elementName>Ground</elementName> - <elementAttributes> - <entry> - <string>Bits</string> - <int>4</int> - </entry> - </elementAttributes> - <pos x="0" y="-140"/> - </visualElement> - <visualElement> - <elementName>Ground</elementName> - <elementAttributes/> - <pos x="20" y="-120"/> - </visualElement> - <visualElement> - <elementName>Ground</elementName> - <elementAttributes/> - <pos x="40" y="-100"/> - </visualElement> - <visualElement> - <elementName>Ground</elementName> - <elementAttributes/> - <pos x="60" y="-80"/> - </visualElement> - <visualElement> <elementName>Splitter</elementName> <elementAttributes> <entry> @@ -922,6 +850,147 @@ sprite mem, starting from 0x0800</string> </elementAttributes> <pos x="420" y="-120"/> </visualElement> + <visualElement> + <elementName>Ground</elementName> + <elementAttributes> + <entry> + <string>rotation</string> + <rotation rotation="1"/> + </entry> + <entry> + <string>Bits</string> + <int>4</int> + </entry> + </elementAttributes> + <pos x="-20" y="-160"/> + </visualElement> + <visualElement> + <elementName>Ground</elementName> + <elementAttributes> + <entry> + <string>rotation</string> + <rotation rotation="1"/> + </entry> + </elementAttributes> + <pos x="0" y="-140"/> + </visualElement> + <visualElement> + <elementName>Counter</elementName> + <elementAttributes/> + <pos x="-60" y="-100"/> + </visualElement> + <visualElement> + <elementName>Tunnel</elementName> + <elementAttributes> + <entry> + <string>rotation</string> + <rotation rotation="2"/> + </entry> + <entry> + <string>NetName</string> + <string>PCLK</string> + </entry> + </elementAttributes> + <pos x="-60" y="-80"/> + </visualElement> + <visualElement> + <elementName>VDD</elementName> + <elementAttributes/> + <pos x="-80" y="-120"/> + </visualElement> + <visualElement> + <elementName>Ground</elementName> + <elementAttributes/> + <pos x="-80" y="-40"/> + </visualElement> + <visualElement> + <elementName>Text</elementName> + <elementAttributes> + <entry> + <string>Description</string> + <string>TODO</string> + </entry> + </elementAttributes> + <pos x="-280" y="20"/> + </visualElement> + <visualElement> + <elementName>Tunnel</elementName> + <elementAttributes> + <entry> + <string>rotation</string> + <rotation rotation="2"/> + </entry> + <entry> + <string>NetName</string> + <string>SMEMBUS</string> + </entry> + </elementAttributes> + <pos x="-100" y="60"/> + </visualElement> + <visualElement> + <elementName>Ground</elementName> + <elementAttributes> + <entry> + <string>rotation</string> + <rotation rotation="1"/> + </entry> + <entry> + <string>Bits</string> + <int>7</int> + </entry> + </elementAttributes> + <pos x="-80" y="60"/> + </visualElement> + <visualElement> + <elementName>Tunnel</elementName> + <elementAttributes> + <entry> + <string>NetName</string> + <string>X</string> + </entry> + </elementAttributes> + <pos x="680" y="160"/> + </visualElement> + <visualElement> + <elementName>Tunnel</elementName> + <elementAttributes> + <entry> + <string>NetName</string> + <string>Y</string> + </entry> + </elementAttributes> + <pos x="680" y="480"/> + </visualElement> + <visualElement> + <elementName>Text</elementName> + <elementAttributes> + <entry> + <string>Description</string> + <string>TODO: 8x8x4 tile pattern memory</string> + </entry> + </elementAttributes> + <pos x="80" y="-460"/> + </visualElement> + <visualElement> + <elementName>VDD</elementName> + <elementAttributes> + <entry> + <string>rotation</string> + <rotation rotation="1"/> + </entry> + </elementAttributes> + <pos x="60" y="-100"/> + </visualElement> + <visualElement> + <elementName>Probe</elementName> + <elementAttributes> + <entry> + <string>Label</string> + <string>SCAN BUF</string> + </entry> + </elementAttributes> + <pos x="160" y="-40"/> + </visualElement> </visualElements> <wires> <wire> @@ -977,24 +1046,24 @@ sprite mem, starting from 0x0800</string> <p2 x="-220" y="-140"/> </wire> <wire> - <p1 x="20" y="-140"/> - <p2 x="80" y="-140"/> - </wire> - <wire> <p1 x="140" y="-140"/> - <p2 x="180" y="-140"/> + <p2 x="160" y="-140"/> </wire> <wire> <p1 x="200" y="-140"/> <p2 x="260" y="-140"/> </wire> <wire> - <p1 x="-60" y="460"/> - <p2 x="-40" y="460"/> + <p1 x="0" y="-140"/> + <p2 x="80" y="-140"/> </wire> <wire> - <p1 x="660" y="460"/> - <p2 x="700" y="460"/> + <p1 x="160" y="-140"/> + <p2 x="180" y="-140"/> + </wire> + <wire> + <p1 x="-60" y="460"/> + <p2 x="-40" y="460"/> </wire> <wire> <p1 x="600" y="460"/> @@ -1009,10 +1078,6 @@ sprite mem, starting from 0x0800</string> <p2 x="540" y="140"/> </wire> <wire> - <p1 x="660" y="140"/> - <p2 x="700" y="140"/> - </wire> - <wire> <p1 x="600" y="140"/> <p2 x="640" y="140"/> </wire> @@ -1021,12 +1086,12 @@ sprite mem, starting from 0x0800</string> <p2 x="-220" y="-80"/> </wire> <wire> - <p1 x="520" y="80"/> - <p2 x="540" y="80"/> + <p1 x="0" y="-80"/> + <p2 x="20" y="-80"/> </wire> <wire> - <p1 x="-220" y="80"/> - <p2 x="-160" y="80"/> + <p1 x="520" y="80"/> + <p2 x="540" y="80"/> </wire> <wire> <p1 x="520" y="400"/> @@ -1053,10 +1118,6 @@ sprite mem, starting from 0x0800</string> <p2 x="640" y="20"/> </wire> <wire> - <p1 x="-200" y="20"/> - <p2 x="-180" y="20"/> - </wire> - <wire> <p1 x="160" y="340"/> <p2 x="180" y="340"/> </wire> @@ -1077,10 +1138,6 @@ sprite mem, starting from 0x0800</string> <p2 x="-100" y="540"/> </wire> <wire> - <p1 x="0" y="-160"/> - <p2 x="80" y="-160"/> - </wire> - <wire> <p1 x="200" y="-160"/> <p2 x="260" y="-160"/> </wire> @@ -1089,14 +1146,26 @@ sprite mem, starting from 0x0800</string> <p2 x="420" y="-160"/> </wire> <wire> + <p1 x="-20" y="-160"/> + <p2 x="80" y="-160"/> + </wire> + <wire> <p1 x="520" y="160"/> <p2 x="540" y="160"/> </wire> <wire> + <p1 x="660" y="160"/> + <p2 x="680" y="160"/> + </wire> + <wire> <p1 x="520" y="480"/> <p2 x="540" y="480"/> </wire> <wire> + <p1 x="660" y="480"/> + <p2 x="680" y="480"/> + </wire> + <wire> <p1 x="-380" y="-100"/> <p2 x="-220" y="-100"/> </wire> @@ -1105,6 +1174,10 @@ sprite mem, starting from 0x0800</string> <p2 x="80" y="-100"/> </wire> <wire> + <p1 x="-80" y="-100"/> + <p2 x="-60" y="-100"/> + </wire> + <wire> <p1 x="600" y="100"/> <p2 x="620" y="100"/> </wire> @@ -1137,14 +1210,6 @@ sprite mem, starting from 0x0800</string> <p2 x="-340" y="40"/> </wire> <wire> - <p1 x="-320" y="40"/> - <p2 x="-200" y="40"/> - </wire> - <wire> - <p1 x="-140" y="40"/> - <p2 x="-120" y="40"/> - </wire> - <wire> <p1 x="160" y="40"/> <p2 x="180" y="40"/> </wire> @@ -1201,18 +1266,22 @@ sprite mem, starting from 0x0800</string> <p2 x="-220" y="-120"/> </wire> <wire> - <p1 x="40" y="-120"/> - <p2 x="80" y="-120"/> - </wire> - <wire> <p1 x="400" y="-120"/> <p2 x="420" y="-120"/> </wire> <wire> + <p1 x="20" y="-120"/> + <p2 x="80" y="-120"/> + </wire> + <wire> <p1 x="-380" y="-60"/> <p2 x="-220" y="-60"/> </wire> <wire> + <p1 x="-80" y="-60"/> + <p2 x="-60" y="-60"/> + </wire> + <wire> <p1 x="-60" y="380"/> <p2 x="-40" y="380"/> </wire> @@ -1241,8 +1310,8 @@ sprite mem, starting from 0x0800</string> <p2 x="-280" y="60"/> </wire> <wire> - <p1 x="-200" y="60"/> - <p2 x="-180" y="60"/> + <p1 x="-100" y="60"/> + <p2 x="-80" y="60"/> </wire> <wire> <p1 x="440" y="60"/> @@ -1257,8 +1326,8 @@ sprite mem, starting from 0x0800</string> <p2 x="160" y="340"/> </wire> <wire> - <p1 x="0" y="-160"/> - <p2 x="0" y="-140"/> + <p1 x="160" y="-140"/> + <p2 x="160" y="-40"/> </wire> <wire> <p1 x="-100" y="280"/> @@ -1285,8 +1354,8 @@ sprite mem, starting from 0x0800</string> <p2 x="260" y="60"/> </wire> <wire> - <p1 x="-200" y="40"/> - <p2 x="-200" y="60"/> + <p1 x="20" y="-120"/> + <p2 x="20" y="-80"/> </wire> <wire> <p1 x="520" y="180"/> @@ -1297,8 +1366,20 @@ sprite mem, starting from 0x0800</string> <p2 x="520" y="520"/> </wire> <wire> - <p1 x="40" y="-120"/> - <p2 x="40" y="-100"/> + <p1 x="440" y="-20"/> + <p2 x="440" y="60"/> + </wire> + <wire> + <p1 x="440" y="300"/> + <p2 x="440" y="380"/> + </wire> + <wire> + <p1 x="440" y="60"/> + <p2 x="440" y="140"/> + </wire> + <wire> + <p1 x="440" y="380"/> + <p2 x="440" y="460"/> </wire> <wire> <p1 x="620" y="60"/> @@ -1317,37 +1398,17 @@ sprite mem, starting from 0x0800</string> <p2 x="620" y="340"/> </wire> <wire> - <p1 x="20" y="-140"/> - <p2 x="20" y="-120"/> + <p1 x="-80" y="-120"/> + <p2 x="-80" y="-100"/> </wire> <wire> - <p1 x="440" y="-20"/> - <p2 x="440" y="60"/> - </wire> - <wire> - <p1 x="440" y="300"/> - <p2 x="440" y="380"/> - </wire> - <wire> - <p1 x="440" y="60"/> - <p2 x="440" y="140"/> - </wire> - <wire> - <p1 x="440" y="380"/> - <p2 x="440" y="460"/> - </wire> - <wire> - <p1 x="60" y="-100"/> - <p2 x="60" y="-80"/> + <p1 x="-80" y="-60"/> + <p2 x="-80" y="-40"/> </wire> <wire> <p1 x="-320" y="80"/> <p2 x="-320" y="100"/> </wire> - <wire> - <p1 x="-160" y="60"/> - <p2 x="-160" y="80"/> - </wire> </wires> <measurementOrdering/> </circuit>
\ No newline at end of file |
