diff --git a/.gitignore b/.gitignore
index c66e81b..f183c53 100644
--- a/.gitignore
+++ b/.gitignore
@@ -5,6 +5,7 @@ del2
del3
del4
del5
+Chip_Designer
# Windows image file caches
Thumbs.db
@@ -103,4 +104,7 @@ libraries/ZPUino_1.zip
libraries/audio libraries -2.0-v1.zip
libraries/AVR_Wishbone_Bridge.zip
libraries/AVR_Wishbone_Bridge.zip
-*.zip
\ No newline at end of file
+*.zip
+hdmi-generic-old/smallfs/image.jpg
+*.7z
+libraries/Wishbone_Sump_LA/mt48lc16m16a2.vhd
\ No newline at end of file
diff --git a/00.Papilio_Schematic_Library/Libraries/ZPUino_1/PSL_Papilio_DUO_LX9/papilio_duo.ucf b/00.Papilio_Schematic_Library/Libraries/ZPUino_1/PSL_Papilio_DUO_LX9/papilio_duo.ucf
index 35a7b53..8f497bd 100644
--- a/00.Papilio_Schematic_Library/Libraries/ZPUino_1/PSL_Papilio_DUO_LX9/papilio_duo.ucf
+++ b/00.Papilio_Schematic_Library/Libraries/ZPUino_1/PSL_Papilio_DUO_LX9/papilio_duo.ucf
@@ -37,6 +37,7 @@ NET ext_pins_out(25) LOC="P141" | IOSTANDARD=LVTTL | DRIVE=8 | SLEW=FAST;
NET RXD LOC="P46" | IOSTANDARD=LVTTL | DRIVE=8 | SLEW=FAST; # RX
NET ext_pins_in(2) LOC="P46" | IOSTANDARD=LVTTL | DRIVE=8 | SLEW=FAST; # RX
+# Arduino Pinouts
NET Arduino_0 LOC="P116" | IOSTANDARD=LVTTL; # A0
NET Arduino_1 LOC="P117" | IOSTANDARD=LVTTL; # A1
NET Arduino_2 LOC="P118" | IOSTANDARD=LVTTL; # A2
@@ -78,22 +79,81 @@ NET Arduino_48 LOC="P55" | IOSTANDARD=LVTTL;
NET Arduino_50 LOC="P50" | IOSTANDARD=LVTTL; # C14
NET Arduino_52 LOC="P47" | IOSTANDARD=LVTTL; # C15
-NET Arduino_23 LOC="P98" | IOSTANDARD=LVTTL ;
-NET Arduino_25 LOC="P95" | IOSTANDARD=LVTTL ;
-NET Arduino_27 LOC="P92" | IOSTANDARD=LVTTL ;
-NET Arduino_29 LOC="P87" | IOSTANDARD=LVTTL ;
-NET Arduino_31 LOC="P84" | IOSTANDARD=LVTTL ;
-NET Arduino_33 LOC="P82" | IOSTANDARD=LVTTL ;
-NET Arduino_35 LOC="P80" | IOSTANDARD=LVTTL ;
-NET Arduino_37 LOC="P78" | IOSTANDARD=LVTTL ;
-NET Arduino_39 LOC="P74" | IOSTANDARD=LVTTL ;
-NET Arduino_41 LOC="P66" | IOSTANDARD=LVTTL ;
-NET Arduino_43 LOC="P61" | IOSTANDARD=LVTTL ;
-NET Arduino_45 LOC="P58" | IOSTANDARD=LVTTL ;
-NET Arduino_47 LOC="P56" | IOSTANDARD=LVTTL ;
-NET Arduino_49 LOC="P51" | IOSTANDARD=LVTTL ;
-NET Arduino_51 LOC="P48" | IOSTANDARD=LVTTL ;
-NET Arduino_53 LOC="P39" | IOSTANDARD=LVTTL ;
+NET Arduino_23 LOC="P98" | IOSTANDARD=LVTTL ; # D15
+NET Arduino_25 LOC="P95" | IOSTANDARD=LVTTL ; # D14
+NET Arduino_27 LOC="P92" | IOSTANDARD=LVTTL ; # D13
+NET Arduino_29 LOC="P87" | IOSTANDARD=LVTTL ; # D12
+NET Arduino_31 LOC="P84" | IOSTANDARD=LVTTL ; # D11
+NET Arduino_33 LOC="P82" | IOSTANDARD=LVTTL ; # D10
+NET Arduino_35 LOC="P80" | IOSTANDARD=LVTTL ; # D9
+NET Arduino_37 LOC="P78" | IOSTANDARD=LVTTL ; # D8
+NET Arduino_39 LOC="P74" | IOSTANDARD=LVTTL ; # D7
+NET Arduino_41 LOC="P66" | IOSTANDARD=LVTTL ; # D6
+NET Arduino_43 LOC="P61" | IOSTANDARD=LVTTL ; # D5
+NET Arduino_45 LOC="P58" | IOSTANDARD=LVTTL ; # D4
+NET Arduino_47 LOC="P56" | IOSTANDARD=LVTTL ; # D3
+NET Arduino_49 LOC="P51" | IOSTANDARD=LVTTL ; # D2
+NET Arduino_51 LOC="P48" | IOSTANDARD=LVTTL ; # D1
+NET Arduino_53 LOC="P39" | IOSTANDARD=LVTTL ; # D0
+
+# Wing Bus Pinouts
+NET WA(0) LOC="P116" | IOSTANDARD=LVTTL; # A0
+NET WA(1) LOC="P117" | IOSTANDARD=LVTTL; # A1
+NET WA(2) LOC="P118" | IOSTANDARD=LVTTL; # A2
+NET WA(3) LOC="P119" | IOSTANDARD=LVTTL; # A3
+NET WA(4) LOC="P120" | IOSTANDARD=LVTTL; # A4
+NET WA(5) LOC="P121" | IOSTANDARD=LVTTL; # A5
+NET WA(6) LOC="P123" | IOSTANDARD=LVTTL; # A6
+NET WA(7) LOC="P124" | IOSTANDARD=LVTTL; # A7
+NET WA(8) LOC="P126" | IOSTANDARD=LVTTL; # A8
+NET WA(9) LOC="P127" | IOSTANDARD=LVTTL; # A9
+NET WA(10) LOC="P131" | IOSTANDARD=LVTTL; # A10
+NET WA(11) LOC="P132" | IOSTANDARD=LVTTL; # A11
+NET WA(12) LOC="P133" | IOSTANDARD=LVTTL; # A12
+NET WA(13) LOC="P134" | IOSTANDARD=LVTTL; # A13
+
+NET WB(7) LOC="P115" | IOSTANDARD=LVTTL; # B7
+NET WB(6) LOC="P114" | IOSTANDARD=LVTTL; # B6
+NET WB(5) LOC="P112" | IOSTANDARD=LVTTL; # B5
+NET WB(4) LOC="P111" | IOSTANDARD=LVTTL; # B4
+NET WB(3) LOC="P105" | IOSTANDARD=LVTTL; # B3
+NET WB(2) LOC="P102" | IOSTANDARD=LVTTL; # B2
+NET WB(1) LOC="P101" | IOSTANDARD=LVTTL; # B1
+NET WB(0) LOC="P100" | IOSTANDARD=LVTTL; # B0
+
+NET WC(0) LOC="P99" | IOSTANDARD=LVTTL; # C0
+NET WC(1) LOC="P97" | IOSTANDARD=LVTTL; # C1
+NET WC(2) LOC="P93" | IOSTANDARD=LVTTL; # C2
+NET WC(3) LOC="P88" | IOSTANDARD=LVTTL; # C3
+NET WC(4) LOC="P85" | IOSTANDARD=LVTTL; # C4
+NET WC(5) LOC="P83" | IOSTANDARD=LVTTL; # C5
+NET WC(6) LOC="P81" | IOSTANDARD=LVTTL; # C6
+NET WC(7) LOC="P79" | IOSTANDARD=LVTTL; # C7
+NET WC(8) LOC="P75" | IOSTANDARD=LVTTL; # C8
+NET WC(9) LOC="P67" | IOSTANDARD=LVTTL; # C9
+NET WC(10) LOC="P62" | IOSTANDARD=LVTTL; # C10
+NET WC(11) LOC="P59" | IOSTANDARD=LVTTL; # C11
+NET WC(12) LOC="P57" | IOSTANDARD=LVTTL; # C12
+NET WC(13) LOC="P55" | IOSTANDARD=LVTTL; # C13
+NET WC(14) LOC="P50" | IOSTANDARD=LVTTL; # C14
+NET WC(15) LOC="P47" | IOSTANDARD=LVTTL; # C15
+
+NET WD(15) LOC="P98" | IOSTANDARD=LVTTL ; # D15
+NET WD(14) LOC="P95" | IOSTANDARD=LVTTL ; # D14
+NET WD(13) LOC="P92" | IOSTANDARD=LVTTL ; # D13
+NET WD(12) LOC="P87" | IOSTANDARD=LVTTL ; # D12
+NET WD(11) LOC="P84" | IOSTANDARD=LVTTL ; # D11
+NET WD(10) LOC="P82" | IOSTANDARD=LVTTL ; # D10
+NET WD(9) LOC="P80" | IOSTANDARD=LVTTL ; # D9
+NET WD(8) LOC="P78" | IOSTANDARD=LVTTL ; # D8
+NET WD(7) LOC="P74" | IOSTANDARD=LVTTL ; # D7
+NET WD(6) LOC="P66" | IOSTANDARD=LVTTL ; # D6
+NET WD(5) LOC="P61" | IOSTANDARD=LVTTL ; # D5
+NET WD(4) LOC="P58" | IOSTANDARD=LVTTL ; # D4
+NET WD(3) LOC="P56" | IOSTANDARD=LVTTL ; # D3
+NET WD(2) LOC="P51" | IOSTANDARD=LVTTL ; # D2
+NET WD(1) LOC="P48" | IOSTANDARD=LVTTL ; # D1
+NET WD(0) LOC="P39" | IOSTANDARD=LVTTL ; # D0
# SRAM
@@ -159,6 +219,11 @@ NET "ext_pins_inout<4>" LOC = "P21" | IOSTANDARD=LVTTL | SLEW=FAST ;
NET "ext_pins_inout<5>" LOC = "P22" | IOSTANDARD=LVTTL | SLEW=FAST ;
NET "ext_pins_inout<6>" LOC = "P23" | IOSTANDARD=LVTTL | SLEW=FAST ;
NET "ext_pins_inout<7>" LOC = "P24" | IOSTANDARD=LVTTL | SLEW=FAST ;
+# AVR Wishbone bridge
+NET "ext_pins_inout<8>" LOC = "P131" | IOSTANDARD=LVTTL | SLEW=FAST ;
+NET "ext_pins_inout<9>" LOC = "P134" | IOSTANDARD=LVTTL | SLEW=FAST ;
+NET "ext_pins_inout<10>" LOC = "P132" | IOSTANDARD=LVTTL | SLEW=FAST ;
+NET "ext_pins_inout<11>" LOC = "P133" | IOSTANDARD=LVTTL | SLEW=FAST ;
# Control lines
NET "sram_ce" LOC = "P12" | IOSTANDARD=LVTTL | SLEW=FAST;
diff --git a/00.Papilio_Schematic_Library/Libraries/ZPUino_1/PSL_Papilio_One_250K/papilio_one.ucf b/00.Papilio_Schematic_Library/Libraries/ZPUino_1/PSL_Papilio_One_250K/papilio_one.ucf
index de0908a..33d86a3 100644
--- a/00.Papilio_Schematic_Library/Libraries/ZPUino_1/PSL_Papilio_One_250K/papilio_one.ucf
+++ b/00.Papilio_Schematic_Library/Libraries/ZPUino_1/PSL_Papilio_One_250K/papilio_one.ucf
@@ -9,7 +9,7 @@
##
##################################################################################
-#NET "*" IOSTANDARD = LVCMOS33;
+NET "*" IOSTANDARD = LVCMOS33;
# Crystal Clock - use 32MHz onboard oscillator
NET "clk" LOC = "P89" | IOSTANDARD = LVCMOS33;
@@ -71,11 +71,65 @@ NET "WING_CH5" LOC = "P15" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ; #
NET "WING_CH6" LOC = "P16" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ; #C14
NET "WING_CH7" LOC = "P17" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ; #C15
+# Wing1 Column A Bus
+NET "WA(0)" LOC = "P18" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ; #A0
+NET "WA(1)" LOC = "P23" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ; #A1
+NET "WA(2)" LOC = "P26" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ; #A2
+NET "WA(3)" LOC = "P33" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ; #A3
+NET "WA(4)" LOC = "P35" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ; #A4
+NET "WA(5)" LOC = "P40" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ; #A5
+NET "WA(6)" LOC = "P53" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ; #A6
+NET "WA(7)" LOC = "P57" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ; #A7
+NET "WA(8)" LOC = "P60" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ; #A8
+NET "WA(9)" LOC = "P62" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ; #A9
+NET "WA(10)" LOC = "P65" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ; #A10
+NET "WA(11)" LOC = "P67" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ; #A11
+NET "WA(12)" LOC = "P70" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ; #A12
+NET "WA(13)" LOC = "P79" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ; #A13
+NET "WA(14)" LOC = "P84" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ; #A14
+NET "WA(15)" LOC = "P86" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ; #A15
+
+# Wing1 Column B Bus
+NET "WB(0)" LOC = "P85" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ; #B0
+NET "WB(1)" LOC = "P83" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ; #B1
+NET "WB(2)" LOC = "P78" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ; #B2
+NET "WB(3)" LOC = "P71" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ; #B3
+NET "WB(4)" LOC = "P68" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ; #B4
+NET "WB(5)" LOC = "P66" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ; #B5
+NET "WB(6)" LOC = "P63" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ; #B6
+NET "WB(7)" LOC = "P61" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ; #B7
+NET "WB(8)" LOC = "P58" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ; #B8
+NET "WB(9)" LOC = "P54" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ; #B9
+NET "WB(10)" LOC = "P41" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ; #B10
+NET "WB(11)" LOC = "P36" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ; #B11
+NET "WB(12)" LOC = "P34" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ; #B12
+NET "WB(13)" LOC = "P32" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ; #B13
+NET "WB(14)" LOC = "P25" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ; #B14
+NET "WB(15)" LOC = "P22" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ; #B15
+
+# Wing2 Column A Bus
+NET "WC(0)" LOC = "P91" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ; #C0
+NET "WC(1)" LOC = "P92" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ; #C1
+NET "WC(2)" LOC = "P94" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ; #C2
+NET "WC(3)" LOC = "P95" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ; #C3
+NET "WC(4)" LOC = "P98" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ; #C4
+NET "WC(5)" LOC = "P2" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ; #C5
+NET "WC(6)" LOC = "P3" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ; #C6
+NET "WC(7)" LOC = "P4" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ; #C7
+NET "WC(8)" LOC = "P5" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ; #C8
+NET "WC(9)" LOC = "P9" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ; #C9
+NET "WC(10)" LOC = "P10" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ; #C10
+NET "WC(11)" LOC = "P11" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ; #C11
+NET "WC(12)" LOC = "P12" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ; #C12
+NET "WC(13)" LOC = "P15" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ; #C13
+NET "WC(14)" LOC = "P16" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ; #C14
+NET "WC(15)" LOC = "P17" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ; #C15
+
# RS232
-NET "rxd" LOC = "P88" | IOSTANDARD = LVTTL ;
-NET "ext_pins_in(2)" LOC = "P88" | IOSTANDARD = LVTTL ;
-NET "txd" LOC = "P90" | IOSTANDARD = LVTTL | DRIVE = 8 | SLEW = FAST ;
-NET "ext_pins_out(3)" LOC = "P90" | IOSTANDARD = LVTTL | DRIVE = 8 | SLEW = FAST ;
+NET "rxd" LOC = "P88" | IOSTANDARD = LVCMOS33 ;
+NET "ext_pins_in(2)" LOC = "P88" | IOSTANDARD = LVCMOS33 ;
+NET "txd" LOC = "P90" | IOSTANDARD = LVCMOS33 | DRIVE = 8 | SLEW = FAST ;
+NET "ext_pins_out(3)" LOC = "P90" | IOSTANDARD = LVCMOS33 | DRIVE = 8 | SLEW = FAST ;
# SPI flash
NET "SPI_CS" LOC = "P24" | IOSTANDARD = LVCMOS33 | SLEW = SLOW | DRIVE = 8;
diff --git a/00.Papilio_Schematic_Library/Libraries/ZPUino_1/PSL_Papilio_One_500K/papilio_one.ucf b/00.Papilio_Schematic_Library/Libraries/ZPUino_1/PSL_Papilio_One_500K/papilio_one.ucf
index 4f9b3eb..33d86a3 100644
--- a/00.Papilio_Schematic_Library/Libraries/ZPUino_1/PSL_Papilio_One_500K/papilio_one.ucf
+++ b/00.Papilio_Schematic_Library/Libraries/ZPUino_1/PSL_Papilio_One_500K/papilio_one.ucf
@@ -71,6 +71,60 @@ NET "WING_CH5" LOC = "P15" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ; #
NET "WING_CH6" LOC = "P16" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ; #C14
NET "WING_CH7" LOC = "P17" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ; #C15
+# Wing1 Column A Bus
+NET "WA(0)" LOC = "P18" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ; #A0
+NET "WA(1)" LOC = "P23" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ; #A1
+NET "WA(2)" LOC = "P26" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ; #A2
+NET "WA(3)" LOC = "P33" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ; #A3
+NET "WA(4)" LOC = "P35" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ; #A4
+NET "WA(5)" LOC = "P40" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ; #A5
+NET "WA(6)" LOC = "P53" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ; #A6
+NET "WA(7)" LOC = "P57" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ; #A7
+NET "WA(8)" LOC = "P60" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ; #A8
+NET "WA(9)" LOC = "P62" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ; #A9
+NET "WA(10)" LOC = "P65" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ; #A10
+NET "WA(11)" LOC = "P67" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ; #A11
+NET "WA(12)" LOC = "P70" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ; #A12
+NET "WA(13)" LOC = "P79" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ; #A13
+NET "WA(14)" LOC = "P84" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ; #A14
+NET "WA(15)" LOC = "P86" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ; #A15
+
+# Wing1 Column B Bus
+NET "WB(0)" LOC = "P85" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ; #B0
+NET "WB(1)" LOC = "P83" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ; #B1
+NET "WB(2)" LOC = "P78" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ; #B2
+NET "WB(3)" LOC = "P71" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ; #B3
+NET "WB(4)" LOC = "P68" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ; #B4
+NET "WB(5)" LOC = "P66" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ; #B5
+NET "WB(6)" LOC = "P63" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ; #B6
+NET "WB(7)" LOC = "P61" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ; #B7
+NET "WB(8)" LOC = "P58" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ; #B8
+NET "WB(9)" LOC = "P54" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ; #B9
+NET "WB(10)" LOC = "P41" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ; #B10
+NET "WB(11)" LOC = "P36" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ; #B11
+NET "WB(12)" LOC = "P34" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ; #B12
+NET "WB(13)" LOC = "P32" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ; #B13
+NET "WB(14)" LOC = "P25" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ; #B14
+NET "WB(15)" LOC = "P22" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ; #B15
+
+# Wing2 Column A Bus
+NET "WC(0)" LOC = "P91" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ; #C0
+NET "WC(1)" LOC = "P92" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ; #C1
+NET "WC(2)" LOC = "P94" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ; #C2
+NET "WC(3)" LOC = "P95" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ; #C3
+NET "WC(4)" LOC = "P98" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ; #C4
+NET "WC(5)" LOC = "P2" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ; #C5
+NET "WC(6)" LOC = "P3" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ; #C6
+NET "WC(7)" LOC = "P4" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ; #C7
+NET "WC(8)" LOC = "P5" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ; #C8
+NET "WC(9)" LOC = "P9" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ; #C9
+NET "WC(10)" LOC = "P10" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ; #C10
+NET "WC(11)" LOC = "P11" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ; #C11
+NET "WC(12)" LOC = "P12" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ; #C12
+NET "WC(13)" LOC = "P15" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ; #C13
+NET "WC(14)" LOC = "P16" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ; #C14
+NET "WC(15)" LOC = "P17" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ; #C15
+
# RS232
NET "rxd" LOC = "P88" | IOSTANDARD = LVCMOS33 ;
NET "ext_pins_in(2)" LOC = "P88" | IOSTANDARD = LVCMOS33 ;
diff --git a/00.Papilio_Schematic_Library/Libraries/ZPUino_1/PSL_Papilio_Pro_LX9/papilio_pro.ucf b/00.Papilio_Schematic_Library/Libraries/ZPUino_1/PSL_Papilio_Pro_LX9/papilio_pro.ucf
index 4407105..c790453 100644
--- a/00.Papilio_Schematic_Library/Libraries/ZPUino_1/PSL_Papilio_Pro_LX9/papilio_pro.ucf
+++ b/00.Papilio_Schematic_Library/Libraries/ZPUino_1/PSL_Papilio_Pro_LX9/papilio_pro.ucf
@@ -36,6 +36,8 @@ NET TXD LOC="P105" | IOSTANDARD=LVTTL | DRIVE=8 | SLEW=FAST;
NET ext_pins_out(3) LOC="P105" | IOSTANDARD=LVTTL | DRIVE=8 | SLEW=FAST; # TX
NET RXD LOC="P101" | IOSTANDARD=LVTTL | DRIVE=8 | SLEW=FAST; # RX
NET ext_pins_in(2) LOC="P101" | IOSTANDARD=LVTTL | DRIVE=8 | SLEW=FAST; # RX
+
+#Individual Wing Pins
NET WING_AL0 LOC="P48" | IOSTANDARD=LVTTL | SLEW = FAST | DRIVE = 8; # A0
NET WING_AL1 LOC="P51" | IOSTANDARD=LVTTL | SLEW = FAST | DRIVE = 8; # A1
NET WING_AL2 LOC="P56" | IOSTANDARD=LVTTL | SLEW = FAST | DRIVE = 8; # A2
@@ -85,6 +87,58 @@ NET WING_CH5 LOC="P132" | IOSTANDARD=LVTTL | SLEW = FAST | DRIVE = 8;
NET WING_CH6 LOC="P133" | IOSTANDARD=LVTTL | SLEW = FAST | DRIVE = 8; # C14
NET WING_CH7 LOC="P134" | IOSTANDARD=LVTTL | SLEW = FAST | DRIVE = 8; # C15
+#Wing Pins in bus
+NET WA(0) LOC="P48" | IOSTANDARD=LVTTL | SLEW = FAST | DRIVE = 8; # A0
+NET WA(1) LOC="P51" | IOSTANDARD=LVTTL | SLEW = FAST | DRIVE = 8; # A1
+NET WA(2) LOC="P56" | IOSTANDARD=LVTTL | SLEW = FAST | DRIVE = 8; # A2
+NET WA(3) LOC="P58" | IOSTANDARD=LVTTL | SLEW = FAST | DRIVE = 8; # A3
+NET WA(4) LOC="P61" | IOSTANDARD=LVTTL | SLEW = FAST | DRIVE = 8; # A4
+NET WA(5) LOC="P66" | IOSTANDARD=LVTTL | SLEW = FAST | DRIVE = 8; # A5
+NET WA(6) LOC="P67" | IOSTANDARD=LVTTL | SLEW = FAST | DRIVE = 8; # A6
+NET WA(7) LOC="P75" | IOSTANDARD=LVTTL | SLEW = FAST | DRIVE = 8; # A7
+NET WA(8) LOC="P79" | IOSTANDARD=LVTTL | SLEW = FAST | DRIVE = 8; # A8
+NET WA(9) LOC="P81" | IOSTANDARD=LVTTL | SLEW = FAST | DRIVE = 8; # A9
+NET WA(10) LOC="P83" | IOSTANDARD=LVTTL | SLEW = FAST | DRIVE = 8; # A10
+NET WA(11) LOC="P85" | IOSTANDARD=LVTTL | SLEW = FAST | DRIVE = 8; # A11
+NET WA(12) LOC="P88" | IOSTANDARD=LVTTL | SLEW = FAST | DRIVE = 8; # A12
+NET WA(13) LOC="P93" | IOSTANDARD=LVTTL | SLEW = FAST | DRIVE = 8; # A13
+NET WA(14) LOC="P98" | IOSTANDARD=LVTTL | SLEW = FAST | DRIVE = 8; # A14
+NET WA(15) LOC="P100" | IOSTANDARD=LVTTL | SLEW = FAST | DRIVE = 8; # A15
+
+NET WB(0) LOC="P99" | IOSTANDARD=LVTTL | SLEW = FAST | DRIVE = 8; # B0
+NET WB(1) LOC="P97" | IOSTANDARD=LVTTL | SLEW = FAST | DRIVE = 8; # B1
+NET WB(2) LOC="P92" | IOSTANDARD=LVTTL | SLEW = FAST | DRIVE = 8; # B2
+NET WB(3) LOC="P87" | IOSTANDARD=LVTTL | SLEW = FAST | DRIVE = 8; # B3
+NET WB(4) LOC="P84" | IOSTANDARD=LVTTL | SLEW = FAST | DRIVE = 8; # B4
+NET WB(5) LOC="P82" | IOSTANDARD=LVTTL | SLEW = FAST | DRIVE = 8; # B5
+NET WB(6) LOC="P80" | IOSTANDARD=LVTTL | SLEW = FAST | DRIVE = 8; # B6
+NET WB(7) LOC="P78" | IOSTANDARD=LVTTL | SLEW = FAST | DRIVE = 8; # B7
+NET WB(8) LOC="P74" | IOSTANDARD=LVTTL | SLEW = FAST | DRIVE = 8; # B8
+NET WB(9) LOC="P95" | IOSTANDARD=LVTTL | SLEW = FAST | DRIVE = 8; # B9
+NET WB(10) LOC="P62" | IOSTANDARD=LVTTL | SLEW = FAST | DRIVE = 8; # B10
+NET WB(11) LOC="P59" | IOSTANDARD=LVTTL | SLEW = FAST | DRIVE = 8; # B11
+NET WB(12) LOC="P57" | IOSTANDARD=LVTTL | SLEW = FAST | DRIVE = 8; # B12
+NET WB(13) LOC="P55" | IOSTANDARD=LVTTL | SLEW = FAST | DRIVE = 8; # B13
+NET WB(14) LOC="P50" | IOSTANDARD=LVTTL | SLEW = FAST | DRIVE = 8; # B14
+NET WB(15) LOC="P47" | IOSTANDARD=LVTTL | SLEW = FAST | DRIVE = 8; # B15
+
+NET WC(0) LOC="P114" | IOSTANDARD=LVTTL | SLEW = FAST | DRIVE = 8; # C0
+NET WC(1) LOC="P115" | IOSTANDARD=LVTTL | SLEW = FAST | DRIVE = 8; # C1
+NET WC(2) LOC="P116" | IOSTANDARD=LVTTL | SLEW = FAST | DRIVE = 8; # C2
+NET WC(3) LOC="P117" | IOSTANDARD=LVTTL | SLEW = FAST | DRIVE = 8; # C3
+NET WC(4) LOC="P118" | IOSTANDARD=LVTTL | SLEW = FAST | DRIVE = 8; # C4
+NET WC(5) LOC="P119" | IOSTANDARD=LVTTL | SLEW = FAST | DRIVE = 8; # C5
+NET WC(6) LOC="P120" | IOSTANDARD=LVTTL | SLEW = FAST | DRIVE = 8; # C6
+NET WC(7) LOC="P121" | IOSTANDARD=LVTTL | SLEW = FAST | DRIVE = 8; # C7
+NET WC(8) LOC="P123" | IOSTANDARD=LVTTL | SLEW = FAST | DRIVE = 8; # C8
+NET WC(9) LOC="P124" | IOSTANDARD=LVTTL | SLEW = FAST | DRIVE = 8; # C9
+NET WC(10) LOC="P126" | IOSTANDARD=LVTTL | SLEW = FAST | DRIVE = 8; # C10
+NET WC(11) LOC="P127" | IOSTANDARD=LVTTL | SLEW = FAST | DRIVE = 8; # C11
+NET WC(12) LOC="P131" | IOSTANDARD=LVTTL | SLEW = FAST | DRIVE = 8; # C12
+NET WC(13) LOC="P132" | IOSTANDARD=LVTTL | SLEW = FAST | DRIVE = 8; # C13
+NET WC(14) LOC="P133" | IOSTANDARD=LVTTL | SLEW = FAST | DRIVE = 8; # C14
+NET WC(15) LOC="P134" | IOSTANDARD=LVTTL | SLEW = FAST | DRIVE = 8; # C15
+
NET DRAM_ADDR(0) LOC="P140" | IOSTANDARD=LVTTL | SLEW=FAST; # ADDR0
NET DRAM_ADDR(1) LOC="P139" | IOSTANDARD=LVTTL | SLEW=FAST; # ADDR1
NET DRAM_ADDR(2) LOC="P138" | IOSTANDARD=LVTTL | SLEW=FAST; # ADDR2
diff --git a/AVR_to_ZPUino_Communications/AVR_to_ZPUino_Communications.ino b/AVR_to_ZPUino_Communications/AVR_to_ZPUino_Communications.ino
new file mode 100644
index 0000000..717a8d2
--- /dev/null
+++ b/AVR_to_ZPUino_Communications/AVR_to_ZPUino_Communications.ino
@@ -0,0 +1,41 @@
+/*
+ Gadget Factory - AVR to ZPUino Communications
+ An example of how to communicate between the AVR microcontroller and the ZPUino Soft Processor over the Wishbone bus.
+ To learn more about using DesignLab please visit http://learn.gadgetfactory.net
+
+ Tutorials:
+ http://gadgetfactory.net/learn/2015/05/25/papilio-duo-avr-to-zpuino-communication-over-wishbone/
+
+ Related library documentation:
+
+ Hardware:
+
+ Special Notes:
+
+ created 2014
+ by Jack Gassett
+ http://www.gadgetfactory.net
+
+ This example code is in the public domain.
+ */
+#include "AVR_Wishbone_Bridge.h"
+#include "SPI.h"
+
+void setup() {
+ // put your setup code here, to run once:
+ Serial.begin(9600);
+ #if defined(ARDUINO_ARCH_AVR) //Only the AVR needs to start SPI for the AVR to Wishbone bridge. The ZPUino can write directly to Wishbone peripherals.
+ SPI.begin();
+ #endif
+
+}
+
+void loop() {
+ for(int i=0;i<256;i++) {
+ #if defined(ARDUINO_ARCH_AVR) //In this example only the AVR is going to write to the Wishbone peripheral.
+ REGISTER(IO_SLOT(9),0) = i;
+ #endif
+ Serial.println(REGISTER(IO_SLOT(9),0)); //Both the AVR and ZPUino will read from the shared Wishbone peripheral.
+ delay(20);
+ }
+}
diff --git a/Gameduino/4.Demo/asteroids/circuit/DUO_LX9/Papilio_DUO_LX9.ut b/AVR_to_ZPUino_Communications/circuit/DUO_LX9/Papilio_DUO_LX9.ut
similarity index 100%
rename from Gameduino/4.Demo/asteroids/circuit/DUO_LX9/Papilio_DUO_LX9.ut
rename to AVR_to_ZPUino_Communications/circuit/DUO_LX9/Papilio_DUO_LX9.ut
diff --git a/AVR_to_ZPUino_Communications/circuit/DUO_LX9/papilio_duo_lx9.bit b/AVR_to_ZPUino_Communications/circuit/DUO_LX9/papilio_duo_lx9.bit
new file mode 100644
index 0000000..1af249e
Binary files /dev/null and b/AVR_to_ZPUino_Communications/circuit/DUO_LX9/papilio_duo_lx9.bit differ
diff --git a/WiiChuck/circuit/PSL_Papilio_DUO_LX9.xise b/AVR_to_ZPUino_Communications/circuit/PSL_Papilio_DUO_LX9.xise
similarity index 96%
rename from WiiChuck/circuit/PSL_Papilio_DUO_LX9.xise
rename to AVR_to_ZPUino_Communications/circuit/PSL_Papilio_DUO_LX9.xise
index 3b551f7..0ceffee 100644
--- a/WiiChuck/circuit/PSL_Papilio_DUO_LX9.xise
+++ b/AVR_to_ZPUino_Communications/circuit/PSL_Papilio_DUO_LX9.xise
@@ -310,6 +310,11 @@
+
+
+
+
+
@@ -404,7 +409,7 @@
-
+
@@ -424,7 +429,7 @@
-
+
@@ -437,6 +442,44 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -498,7 +541,7 @@
-
+
@@ -513,7 +556,7 @@
-
+
@@ -526,11 +569,11 @@
-
+
-
+
@@ -576,11 +619,6 @@
-
-
-
-
-
@@ -593,7 +631,7 @@
-
+
@@ -628,17 +666,17 @@
-
+
-
+
-
+
@@ -654,11 +692,6 @@
-
-
-
-
-
@@ -719,6 +752,11 @@
+
+
+
+
+
@@ -736,7 +774,7 @@
-
+
@@ -756,15 +794,15 @@
-
+
-
+
-
+
@@ -779,7 +817,7 @@
-
+
@@ -1130,9 +1168,7 @@
-
-
-
+
diff --git a/libraries/AVR_Wishbone_Bridge/circuit/Papilio_DUO_LX9.sch b/AVR_to_ZPUino_Communications/circuit/Papilio_DUO_LX9.sch
similarity index 71%
rename from libraries/AVR_Wishbone_Bridge/circuit/Papilio_DUO_LX9.sch
rename to AVR_to_ZPUino_Communications/circuit/Papilio_DUO_LX9.sch
index cfcddb3..533ed93 100644
--- a/libraries/AVR_Wishbone_Bridge/circuit/Papilio_DUO_LX9.sch
+++ b/AVR_to_ZPUino_Communications/circuit/Papilio_DUO_LX9.sch
@@ -6,24 +6,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -85,18 +67,29 @@
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -144,6 +137,14 @@
+
+
+
+
+
+
+
+
2014-11-10T23:31:50
@@ -266,8 +267,8 @@
-
- 2015-1-2T17:35:23
+
+ 2015-2-12T19:27:37
@@ -275,87 +276,42 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 2000-1-1T10:10:10
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 2000-1-1T10:10:10
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
2000-1-1T10:10:10
@@ -366,33 +322,88 @@
-
- 2015-1-2T17:39:28
-
-
-
-
-
+
+ 2015-3-31T22:40:54
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+ 2000-1-1T10:10:10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -429,12 +440,12 @@
-
-
-
-
-
-
+
+
+
+
+
+
@@ -491,8 +502,8 @@
-
-
+
+
@@ -510,136 +521,37 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
@@ -658,9 +570,6 @@
-
-
-
@@ -838,7 +747,6 @@
-
@@ -892,17 +800,6 @@
-
-
-
-
-
-
-
-
-
-
-
Replace DUO_SW1 with a Pulldown if you want the ATmega32U4 chip to run when this circuit is loaded.
@@ -916,9 +813,132 @@
Papilio DUO Reset
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Gameduino/4.Demo/asteroids/circuit/build_all.bat b/AVR_to_ZPUino_Communications/circuit/build_all.bat
similarity index 100%
rename from Gameduino/4.Demo/asteroids/circuit/build_all.bat
rename to AVR_to_ZPUino_Communications/circuit/build_all.bat
diff --git a/Gameduino/4.Demo/asteroids/circuit/clean.bat b/AVR_to_ZPUino_Communications/circuit/clean.bat
similarity index 100%
rename from Gameduino/4.Demo/asteroids/circuit/clean.bat
rename to AVR_to_ZPUino_Communications/circuit/clean.bat
diff --git a/AVR_to_ZPUino_Communications/circuit/schematic_papilio_duo.pdf b/AVR_to_ZPUino_Communications/circuit/schematic_papilio_duo.pdf
new file mode 100644
index 0000000..b180d19
Binary files /dev/null and b/AVR_to_ZPUino_Communications/circuit/schematic_papilio_duo.pdf differ
diff --git a/Audio_RetroCade_Synth/Audio_RetroCade_Synth.ino b/Audio_RetroCade_Synth/Audio_RetroCade_Synth.ino
index 53eba2d..7c5b9f3 100644
--- a/Audio_RetroCade_Synth/Audio_RetroCade_Synth.ino
+++ b/Audio_RetroCade_Synth/Audio_RetroCade_Synth.ino
@@ -11,10 +11,15 @@
sketchdir://Dashboards/FlowStone/RetroCade_Synth_DashBoard.exe
Click on the link below to load the latest production RetroCade bit file with all of the sample audio files
- sketchdir://RetroCade-1.1-zpuino-1.0-PapilioPro-S6LX9-RetroCade-1.1.bit
+ sketchdir://circuit/RetroCade-1.3-zpuino-2.0-PapilioPro-S6LX9-RetroCade-1.3.bit
+ sketchdir://circuit/RetroCade-1.3-lcd-contrast-fix-zpuino-2.0-PapilioPro-S6LX9-RetroCade-1.3.bit //Use this is you have problems with contrast on your LCD
+
+ To use the older 1.1 version of the firmware (You will not be able to upload this sketch with the 1.0 version of ZPUino)
+ sketchdir://circuit/RetroCade-1.1-zpuino-1.0-PapilioPro-S6LX9-RetroCade-1.1.bit
NOTE: If you want all of the production samples available when you load this sketch to the RetroCade first load the production bit file to your board and then hold down the left shift key before uploading.
- This will cause the program to be loaded directly to SDRAM and will not wipe out the samples in SPI Flash.
+ This will cause the program to be loaded directly to SDRAM and will not wipe out the samples in SPI Flash. Or, hit CTRL-K to open the sketch directory and rename smallfs-production to smallfs.
+ It will take a long time to upload all of the music files every time you make a code change. The current smallfs folder has very small files in it to speed up code changes.
created 2014
by Jack Gassett
@@ -24,6 +29,9 @@
License: GPL
ChangeLog:
+1/4/2017 Version 1.3.1
+ -Fix for some LCDs that have contrast issues.
+
4/21/2015 Version 1.3
-Updated MIDI library to better handle NoteOffs.
-Moved to ZPUino 2.0 with a DesignLab schematic.
@@ -346,10 +354,11 @@ void HandleNoteOn(byte channel, byte pitch, byte velocity) {
Serial.print("Channel Received: ");
Serial.println(channel);
#endif
- lastpitch[channel-1]=pitch;
+
byte activeChannel = retrocade.getActiveChannel();
if ( activeChannel != 0 )
channel = activeChannel;
+ lastpitch[channel-1]=pitch;
switch (channel){
case 1:
retrocade.sid.V1.setNote(pitch, 1);
diff --git a/Audio_RetroCade_Synth/RetroCade.cpp b/Audio_RetroCade_Synth/RetroCade.cpp
index 5eeb034..81d1585 100644
--- a/Audio_RetroCade_Synth/RetroCade.cpp
+++ b/Audio_RetroCade_Synth/RetroCade.cpp
@@ -89,8 +89,11 @@ void RETROCADE::setupMegaWing()
pinMode(JRIGHT, INPUT);
//Setup LCD
- pinMode(WING_C_14, OUTPUT); //Set contrast to GND
- digitalWrite(WING_C_14, LOW); //Set contrast to GND
+// pinMode(WING_C_14, OUTPUT); //Set contrast to GND SOME LCD's need this setting and some need to be set as an input.
+// digitalWrite(WING_C_14, LOW); //Set contrast to GND
+
+ pinMode(WING_C_14, INPUT); //Set contrast to GND
+
// set up the LCD's number of columns and rows:
lcd.begin(16,2);
// clear the LCD screen:
diff --git a/Audio_RetroCade_Synth/circuit/PSL_Papilio_Pro_LX9.xise b/Audio_RetroCade_Synth/circuit/PSL_Papilio_Pro_LX9.xise
index 6370f4c..65e2947 100644
--- a/Audio_RetroCade_Synth/circuit/PSL_Papilio_Pro_LX9.xise
+++ b/Audio_RetroCade_Synth/circuit/PSL_Papilio_Pro_LX9.xise
@@ -9,792 +9,36 @@
-
+
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
+
+
-
+
-
+
-
+
@@ -1159,14 +403,6 @@
-
-
-
-
-
-
-
-
diff --git a/Audio_RetroCade_Synth/circuit/RetroCade-1.3-lcd-contrast-fix-zpuino-2.0-PapilioPro-S6LX9-RetroCade-1.3.bit b/Audio_RetroCade_Synth/circuit/RetroCade-1.3-lcd-contrast-fix-zpuino-2.0-PapilioPro-S6LX9-RetroCade-1.3.bit
new file mode 100644
index 0000000..ecc2ec0
Binary files /dev/null and b/Audio_RetroCade_Synth/circuit/RetroCade-1.3-lcd-contrast-fix-zpuino-2.0-PapilioPro-S6LX9-RetroCade-1.3.bit differ
diff --git a/Audio_RetroCade_Synth/circuit/RetroCade-1.3-zpuino-2.0-PapilioPro-S6LX9-RetroCade-1.3.bit b/Audio_RetroCade_Synth/circuit/RetroCade-1.3-zpuino-2.0-PapilioPro-S6LX9-RetroCade-1.3.bit
new file mode 100644
index 0000000..ccb28ff
Binary files /dev/null and b/Audio_RetroCade_Synth/circuit/RetroCade-1.3-zpuino-2.0-PapilioPro-S6LX9-RetroCade-1.3.bit differ
diff --git a/Audio_RetroCade_Synth/libraries.h b/Audio_RetroCade_Synth/libraries.h
new file mode 100644
index 0000000..2f13c02
--- /dev/null
+++ b/Audio_RetroCade_Synth/libraries.h
@@ -0,0 +1,9 @@
+There are several libraries used by the RetroCade code that you may want to look at and modify. The libraries used are listed here to make finding everything easier:
+
+(DesignLabHome)\libraries\SID
+(DesignLabHome)\libraries\SIDPlayer
+(DesignLabHome)\libraries\YM2149
+(DesignLabHome)\libraries\YMPlayer
+(DesignLabHome)\libraries\modplayer
+
+
diff --git a/Audio_RetroCade_Synth/smallfs-production/hihat.mod b/Audio_RetroCade_Synth/smallfs-production/hihat.mod
new file mode 100644
index 0000000..200ff57
Binary files /dev/null and b/Audio_RetroCade_Synth/smallfs-production/hihat.mod differ
diff --git a/Audio_RetroCade_Synth/smallfs-production/kick.mod b/Audio_RetroCade_Synth/smallfs-production/kick.mod
new file mode 100644
index 0000000..50bb8b1
Binary files /dev/null and b/Audio_RetroCade_Synth/smallfs-production/kick.mod differ
diff --git a/Audio_RetroCade_Synth/smallfs-production/track1.mod b/Audio_RetroCade_Synth/smallfs-production/track1.mod
new file mode 100644
index 0000000..f5e75ea
Binary files /dev/null and b/Audio_RetroCade_Synth/smallfs-production/track1.mod differ
diff --git a/Audio_RetroCade_Synth/smallfs-production/track1.sid b/Audio_RetroCade_Synth/smallfs-production/track1.sid
new file mode 100644
index 0000000..dc1fe7b
Binary files /dev/null and b/Audio_RetroCade_Synth/smallfs-production/track1.sid differ
diff --git a/Audio_RetroCade_Synth/smallfs-production/track1.ymd b/Audio_RetroCade_Synth/smallfs-production/track1.ymd
new file mode 100644
index 0000000..b2f3ce8
Binary files /dev/null and b/Audio_RetroCade_Synth/smallfs-production/track1.ymd differ
diff --git a/Audio_RetroCade_Synth/smallfs-production/track2.mod b/Audio_RetroCade_Synth/smallfs-production/track2.mod
new file mode 100644
index 0000000..fb4cd9e
Binary files /dev/null and b/Audio_RetroCade_Synth/smallfs-production/track2.mod differ
diff --git a/Audio_RetroCade_Synth/smallfs-production/track2.sid b/Audio_RetroCade_Synth/smallfs-production/track2.sid
new file mode 100644
index 0000000..dfab551
Binary files /dev/null and b/Audio_RetroCade_Synth/smallfs-production/track2.sid differ
diff --git a/Audio_RetroCade_Synth/smallfs-production/track2.ymd b/Audio_RetroCade_Synth/smallfs-production/track2.ymd
new file mode 100644
index 0000000..cd0ade0
Binary files /dev/null and b/Audio_RetroCade_Synth/smallfs-production/track2.ymd differ
diff --git a/Audio_RetroCade_Synth/smallfs-production/track3.mod b/Audio_RetroCade_Synth/smallfs-production/track3.mod
new file mode 100644
index 0000000..92c17e6
Binary files /dev/null and b/Audio_RetroCade_Synth/smallfs-production/track3.mod differ
diff --git a/Audio_RetroCade_Synth/smallfs-production/track3.sid b/Audio_RetroCade_Synth/smallfs-production/track3.sid
new file mode 100644
index 0000000..ffd2f62
Binary files /dev/null and b/Audio_RetroCade_Synth/smallfs-production/track3.sid differ
diff --git a/Audio_RetroCade_Synth/smallfs-production/track3.ymd b/Audio_RetroCade_Synth/smallfs-production/track3.ymd
new file mode 100644
index 0000000..50d9eed
Binary files /dev/null and b/Audio_RetroCade_Synth/smallfs-production/track3.ymd differ
diff --git a/Audio_RetroCade_Synth/smallfs-production/track4.mod b/Audio_RetroCade_Synth/smallfs-production/track4.mod
new file mode 100644
index 0000000..dc30071
Binary files /dev/null and b/Audio_RetroCade_Synth/smallfs-production/track4.mod differ
diff --git a/Audio_RetroCade_Synth/smallfs-production/track4.sid b/Audio_RetroCade_Synth/smallfs-production/track4.sid
new file mode 100644
index 0000000..c266037
Binary files /dev/null and b/Audio_RetroCade_Synth/smallfs-production/track4.sid differ
diff --git a/Audio_RetroCade_Synth/smallfs-production/track4.ymd b/Audio_RetroCade_Synth/smallfs-production/track4.ymd
new file mode 100644
index 0000000..7ccd370
Binary files /dev/null and b/Audio_RetroCade_Synth/smallfs-production/track4.ymd differ
diff --git a/Audio_RetroCade_Synth/smallfs-production/track5.mod b/Audio_RetroCade_Synth/smallfs-production/track5.mod
new file mode 100644
index 0000000..ecfe0b9
Binary files /dev/null and b/Audio_RetroCade_Synth/smallfs-production/track5.mod differ
diff --git a/Audio_RetroCade_Synth/smallfs-production/track5.sid b/Audio_RetroCade_Synth/smallfs-production/track5.sid
new file mode 100644
index 0000000..50921a2
Binary files /dev/null and b/Audio_RetroCade_Synth/smallfs-production/track5.sid differ
diff --git a/Audio_RetroCade_Synth/smallfs-production/track5.ymd b/Audio_RetroCade_Synth/smallfs-production/track5.ymd
new file mode 100644
index 0000000..e838e53
Binary files /dev/null and b/Audio_RetroCade_Synth/smallfs-production/track5.ymd differ
diff --git a/Audio_RetroCade_Synth/smallfs-production/track6.mod b/Audio_RetroCade_Synth/smallfs-production/track6.mod
new file mode 100644
index 0000000..ad4a1d3
Binary files /dev/null and b/Audio_RetroCade_Synth/smallfs-production/track6.mod differ
diff --git a/Audio_RetroCade_Synth/smallfs-production/track6.sid b/Audio_RetroCade_Synth/smallfs-production/track6.sid
new file mode 100644
index 0000000..05b52bf
Binary files /dev/null and b/Audio_RetroCade_Synth/smallfs-production/track6.sid differ
diff --git a/Audio_RetroCade_Synth/smallfs-production/track6.ymd b/Audio_RetroCade_Synth/smallfs-production/track6.ymd
new file mode 100644
index 0000000..e7d07e8
Binary files /dev/null and b/Audio_RetroCade_Synth/smallfs-production/track6.ymd differ
diff --git a/Audio_RetroCade_Synth/smallfs-production/track7.mod b/Audio_RetroCade_Synth/smallfs-production/track7.mod
new file mode 100644
index 0000000..5e52008
Binary files /dev/null and b/Audio_RetroCade_Synth/smallfs-production/track7.mod differ
diff --git a/Audio_RetroCade_Synth/smallfs-production/track7.sid b/Audio_RetroCade_Synth/smallfs-production/track7.sid
new file mode 100644
index 0000000..0f3961c
Binary files /dev/null and b/Audio_RetroCade_Synth/smallfs-production/track7.sid differ
diff --git a/Audio_RetroCade_Synth/smallfs-production/track7.ymd b/Audio_RetroCade_Synth/smallfs-production/track7.ymd
new file mode 100644
index 0000000..05455b9
Binary files /dev/null and b/Audio_RetroCade_Synth/smallfs-production/track7.ymd differ
diff --git a/Audio_RetroCade_Synth/smallfs-production/track8.mod b/Audio_RetroCade_Synth/smallfs-production/track8.mod
new file mode 100644
index 0000000..f3d54cd
Binary files /dev/null and b/Audio_RetroCade_Synth/smallfs-production/track8.mod differ
diff --git a/Audio_RetroCade_Synth/smallfs-production/track8.sid b/Audio_RetroCade_Synth/smallfs-production/track8.sid
new file mode 100644
index 0000000..f227277
Binary files /dev/null and b/Audio_RetroCade_Synth/smallfs-production/track8.sid differ
diff --git a/Audio_RetroCade_Synth/smallfs-production/track8.ymd b/Audio_RetroCade_Synth/smallfs-production/track8.ymd
new file mode 100644
index 0000000..ef0ac74
Binary files /dev/null and b/Audio_RetroCade_Synth/smallfs-production/track8.ymd differ
diff --git a/Audio_RetroCade_Synth/smallfs-production/track9.mod b/Audio_RetroCade_Synth/smallfs-production/track9.mod
new file mode 100644
index 0000000..4649bd5
Binary files /dev/null and b/Audio_RetroCade_Synth/smallfs-production/track9.mod differ
diff --git a/Audio_RetroCade_Synth/smallfs-production/track9.sid b/Audio_RetroCade_Synth/smallfs-production/track9.sid
new file mode 100644
index 0000000..a76894d
Binary files /dev/null and b/Audio_RetroCade_Synth/smallfs-production/track9.sid differ
diff --git a/Audio_RetroCade_Synth/smallfs-production/track9.ymd b/Audio_RetroCade_Synth/smallfs-production/track9.ymd
new file mode 100644
index 0000000..9a1900d
Binary files /dev/null and b/Audio_RetroCade_Synth/smallfs-production/track9.ymd differ
diff --git a/Benchy_Sump_LogicAnalyzer/circuit/PSL_Papilio_One_500K.xise b/Benchy_Sump_LogicAnalyzer/circuit/PSL_Papilio_One_500K.xise
index cb5a3be..661ece6 100644
--- a/Benchy_Sump_LogicAnalyzer/circuit/PSL_Papilio_One_500K.xise
+++ b/Benchy_Sump_LogicAnalyzer/circuit/PSL_Papilio_One_500K.xise
@@ -18,26 +18,32 @@
+
+
+
+
+
+
diff --git a/Benchy_Sump_LogicAnalyzer_Standalone/Benchy_Sump_LogicAnalyzer_Standalone.ino b/Benchy_Sump_LogicAnalyzer_Standalone/Benchy_Sump_LogicAnalyzer_Standalone.ino
new file mode 100644
index 0000000..dce07c8
--- /dev/null
+++ b/Benchy_Sump_LogicAnalyzer_Standalone/Benchy_Sump_LogicAnalyzer_Standalone.ino
@@ -0,0 +1,37 @@
+/*
+ Gadget Factory - Project Name
+ Stand Alone Sump "Blaze" Logic Analyzer with 32 BRAM blocks (64KB) and 16 channels.
+ To learn more about using DesignLab please visit http://learn.gadgetfactory.net
+
+ Tutorials:
+
+ Related library documentation:
+
+ Hardware:
+
+ Special Notes:
+ If you want to generate a signal to test with then you can load this sketch to the AVR of the Papilio DUO. You will see a UART signal on channel0
+
+ created 2014
+ by Jack Gassett
+ http://www.gadgetfactory.net
+
+ This example code is in the public domain.
+ */
+
+
+int counter = 0;
+
+void setup() {
+ // put your setup code here, to run once:
+ Serial1.begin(115200);
+
+}
+
+void loop() {
+ // put your main code here, to run repeatedly:
+ Serial1.write(counter);
+ counter++;
+ delay(1);
+
+}
diff --git a/WiiChuck/circuit/250K/Papilio_One_250K.ut b/Benchy_Sump_LogicAnalyzer_Standalone/circuit/250K/Papilio_One_250K.ut
similarity index 100%
rename from WiiChuck/circuit/250K/Papilio_One_250K.ut
rename to Benchy_Sump_LogicAnalyzer_Standalone/circuit/250K/Papilio_One_250K.ut
diff --git a/Benchy_Sump_LogicAnalyzer_Standalone/circuit/250K/papilio_one_250k.bit b/Benchy_Sump_LogicAnalyzer_Standalone/circuit/250K/papilio_one_250k.bit
new file mode 100644
index 0000000..1449d3e
Binary files /dev/null and b/Benchy_Sump_LogicAnalyzer_Standalone/circuit/250K/papilio_one_250k.bit differ
diff --git a/WiiChuck/circuit/DUO_LX9/Papilio_DUO_LX9.ut b/Benchy_Sump_LogicAnalyzer_Standalone/circuit/DUO_LX9/Papilio_DUO_LX9.ut
similarity index 100%
rename from WiiChuck/circuit/DUO_LX9/Papilio_DUO_LX9.ut
rename to Benchy_Sump_LogicAnalyzer_Standalone/circuit/DUO_LX9/Papilio_DUO_LX9.ut
diff --git a/Benchy_Sump_LogicAnalyzer_Standalone/circuit/DUO_LX9/papilio_duo_lx9.bit b/Benchy_Sump_LogicAnalyzer_Standalone/circuit/DUO_LX9/papilio_duo_lx9.bit
new file mode 100644
index 0000000..8c5b986
Binary files /dev/null and b/Benchy_Sump_LogicAnalyzer_Standalone/circuit/DUO_LX9/papilio_duo_lx9.bit differ
diff --git a/WiiChuck/circuit/LX9/Papilio_Pro.ut b/Benchy_Sump_LogicAnalyzer_Standalone/circuit/LX9/Papilio_Pro.ut
similarity index 100%
rename from WiiChuck/circuit/LX9/Papilio_Pro.ut
rename to Benchy_Sump_LogicAnalyzer_Standalone/circuit/LX9/Papilio_Pro.ut
diff --git a/Benchy_Sump_LogicAnalyzer_Standalone/circuit/LX9/papilio_pro.bit b/Benchy_Sump_LogicAnalyzer_Standalone/circuit/LX9/papilio_pro.bit
new file mode 100644
index 0000000..67870c9
Binary files /dev/null and b/Benchy_Sump_LogicAnalyzer_Standalone/circuit/LX9/papilio_pro.bit differ
diff --git a/Benchy_Sump_LogicAnalyzer_Standalone/circuit/PSL_Papilio_DUO_LX9.xise b/Benchy_Sump_LogicAnalyzer_Standalone/circuit/PSL_Papilio_DUO_LX9.xise
new file mode 100644
index 0000000..38dda02
--- /dev/null
+++ b/Benchy_Sump_LogicAnalyzer_Standalone/circuit/PSL_Papilio_DUO_LX9.xise
@@ -0,0 +1,1206 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Benchy_Sump_LogicAnalyzer_Standalone/circuit/PSL_Papilio_One_250K.xise b/Benchy_Sump_LogicAnalyzer_Standalone/circuit/PSL_Papilio_One_250K.xise
new file mode 100644
index 0000000..66691e6
--- /dev/null
+++ b/Benchy_Sump_LogicAnalyzer_Standalone/circuit/PSL_Papilio_One_250K.xise
@@ -0,0 +1,1166 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Benchy_Sump_LogicAnalyzer_Standalone/circuit/PSL_Papilio_One_500K.xise b/Benchy_Sump_LogicAnalyzer_Standalone/circuit/PSL_Papilio_One_500K.xise
new file mode 100644
index 0000000..8842e76
--- /dev/null
+++ b/Benchy_Sump_LogicAnalyzer_Standalone/circuit/PSL_Papilio_One_500K.xise
@@ -0,0 +1,1176 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Benchy_Sump_LogicAnalyzer_Standalone/circuit/PSL_Papilio_Pro_LX9.xise b/Benchy_Sump_LogicAnalyzer_Standalone/circuit/PSL_Papilio_Pro_LX9.xise
new file mode 100644
index 0000000..b06178a
--- /dev/null
+++ b/Benchy_Sump_LogicAnalyzer_Standalone/circuit/PSL_Papilio_Pro_LX9.xise
@@ -0,0 +1,1203 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Benchy_Sump_LogicAnalyzer_Standalone/circuit/Papilio_DUO_LX9.sch b/Benchy_Sump_LogicAnalyzer_Standalone/circuit/Papilio_DUO_LX9.sch
new file mode 100644
index 0000000..8052cc8
--- /dev/null
+++ b/Benchy_Sump_LogicAnalyzer_Standalone/circuit/Papilio_DUO_LX9.sch
@@ -0,0 +1,163 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 2000-1-1T10:10:10
+
+
+
+
+
+
+
+
+ 2015-6-12T6:48:35
+
+
+
+
+
+
+
+ 2000-1-1T10:10:10
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 2000-1-1T10:10:10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Replace DUO_SW1 with a Pulldown if you want the ATmega32U4 chip to run when this circuit is loaded.
+
+
+
+
+
+
+
+ Replace DUO_SW1 with a Pullup if you want to disable the ATmega32U4 chip when this circuit is loaded.
+
+ Papilio DUO Reset
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Benchy_Sump_LogicAnalyzer_Standalone/circuit/Papilio_One_250K.sch b/Benchy_Sump_LogicAnalyzer_Standalone/circuit/Papilio_One_250K.sch
new file mode 100644
index 0000000..47429e6
--- /dev/null
+++ b/Benchy_Sump_LogicAnalyzer_Standalone/circuit/Papilio_One_250K.sch
@@ -0,0 +1,135 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 2015-6-12T6:48:35
+
+
+
+
+
+
+
+ 2000-1-1T10:10:10
+
+
+
+
+
+
+
+
+
+ 2000-1-1T10:10:10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Benchy_Sump_LogicAnalyzer_Standalone/circuit/Papilio_One_500K.sch b/Benchy_Sump_LogicAnalyzer_Standalone/circuit/Papilio_One_500K.sch
new file mode 100644
index 0000000..7295ad7
--- /dev/null
+++ b/Benchy_Sump_LogicAnalyzer_Standalone/circuit/Papilio_One_500K.sch
@@ -0,0 +1,135 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 2015-6-12T6:48:35
+
+
+
+
+
+
+
+ 2000-1-1T10:10:10
+
+
+
+
+
+
+
+
+
+ 2000-1-1T10:10:10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Benchy_Sump_LogicAnalyzer_Standalone/circuit/Papilio_Pro.sch b/Benchy_Sump_LogicAnalyzer_Standalone/circuit/Papilio_Pro.sch
new file mode 100644
index 0000000..096fa7e
--- /dev/null
+++ b/Benchy_Sump_LogicAnalyzer_Standalone/circuit/Papilio_Pro.sch
@@ -0,0 +1,135 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 2015-6-12T6:48:35
+
+
+
+
+
+
+
+ 2000-1-1T10:10:10
+
+
+
+
+
+
+
+
+
+ 2000-1-1T10:10:10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/WiiChuck/circuit/build_all.bat b/Benchy_Sump_LogicAnalyzer_Standalone/circuit/build_all.bat
similarity index 100%
rename from WiiChuck/circuit/build_all.bat
rename to Benchy_Sump_LogicAnalyzer_Standalone/circuit/build_all.bat
diff --git a/WiiChuck/circuit/clean.bat b/Benchy_Sump_LogicAnalyzer_Standalone/circuit/clean.bat
similarity index 100%
rename from WiiChuck/circuit/clean.bat
rename to Benchy_Sump_LogicAnalyzer_Standalone/circuit/clean.bat
diff --git a/Benchy_Sump_LogicAnalyzer_Standalone/circuit/schematic_papilio_DUO.pdf b/Benchy_Sump_LogicAnalyzer_Standalone/circuit/schematic_papilio_DUO.pdf
new file mode 100644
index 0000000..afc3678
Binary files /dev/null and b/Benchy_Sump_LogicAnalyzer_Standalone/circuit/schematic_papilio_DUO.pdf differ
diff --git a/Benchy_Sump_LogicAnalyzer_Standalone/circuit/schematic_papilio_one_250k.pdf b/Benchy_Sump_LogicAnalyzer_Standalone/circuit/schematic_papilio_one_250k.pdf
new file mode 100644
index 0000000..27047e5
Binary files /dev/null and b/Benchy_Sump_LogicAnalyzer_Standalone/circuit/schematic_papilio_one_250k.pdf differ
diff --git a/Benchy_Sump_LogicAnalyzer_Standalone/circuit/schematic_papilio_one_500k.pdf b/Benchy_Sump_LogicAnalyzer_Standalone/circuit/schematic_papilio_one_500k.pdf
new file mode 100644
index 0000000..b88c0b5
Binary files /dev/null and b/Benchy_Sump_LogicAnalyzer_Standalone/circuit/schematic_papilio_one_500k.pdf differ
diff --git a/Benchy_Sump_LogicAnalyzer_Standalone/circuit/schematic_papilio_pro.pdf b/Benchy_Sump_LogicAnalyzer_Standalone/circuit/schematic_papilio_pro.pdf
new file mode 100644
index 0000000..411a6b7
Binary files /dev/null and b/Benchy_Sump_LogicAnalyzer_Standalone/circuit/schematic_papilio_pro.pdf differ
diff --git a/Benchy_Waveform_Generator/circuit/PSL_Papilio_One_500K.xise b/Benchy_Waveform_Generator/circuit/PSL_Papilio_One_500K.xise
index cb5a3be..661ece6 100644
--- a/Benchy_Waveform_Generator/circuit/PSL_Papilio_One_500K.xise
+++ b/Benchy_Waveform_Generator/circuit/PSL_Papilio_One_500K.xise
@@ -18,26 +18,32 @@
+
+
+
+
+
+
diff --git a/Circuit_Library_Descriptions/Circuit_Library_Descriptions.ino b/Circuit_Library_Descriptions/Circuit_Library_Descriptions.ino
new file mode 100644
index 0000000..68f8e74
--- /dev/null
+++ b/Circuit_Library_Descriptions/Circuit_Library_Descriptions.ino
@@ -0,0 +1,380 @@
+/*
+DesignLab contains many circuits that have already been generated for you. This is a full listing of all the pre-defined circuits available for you to use.
+
+It's easy to associate any one of these circuits to your sketch. Simply do a:
+#define circuit
+
+RGB_Matrix Circuit
+ The RGB_Matrix circuit connects a 32x32 RGB LED Matrix Panel to the Papilio.
+ It contains:
+ -I2C controller, on Wishbone slot 5, connected to CL for the Wii Nunchuck controller.
+ -RGB Panel controller on Wishbone slot 9.
+ -RGB Panel Wing connector on row D for the DUO and row C for the Pro.
+ -SPI Master, on Wishbone slot 13, and a SD Card Wing on CH.
+
+ Special Notes:
+ Pullups are placed on BL so a Joystick can be connected for 1-Pixel Pacman.
+
+ Supported boards:
+ Papilio DUO
+ Papilio Pro
+
+ To use, include the following line in your sketch:
+ #define circuit RGB_Matrix
+
+*******************************************************************************************************************************************************************
+
+Arcade_MegaWing Circuit
+ The Arcade_MegaWing circuit is intended to be used with an Arcade MegaWing connected to a Papilio Pro or Papilio One 500K.
+ It contains:
+ -Arcade MegaWing Pinout
+ -Audio passthrough - For playing Amiga MOD files or passing raw audio.
+ -YM2149 Audio Chip - For playing Atari ST YM files.
+ -Libraries
+ -http://www.papilio.cc/index.php?n=Papilio.YM2149
+ -http://www.papilio.cc/index.php?n=Papilio.YMVoice
+ -Commodore 64 SID Chip - For playing SID files.
+ -Libraries
+ -http://www.papilio.cc/index.php?n=Papilio.SID
+ -http://www.papilio.cc/index.php?n=Papilio.SIDVoice
+ -HQVGA Adapter - This is an older VGA adapter that uses internal BRAM memory and can only generate 240x160 video output.
+ -Libraries
+ -http://www.papilio.cc/index.php?n=Papilio.VGA
+ -http://www.papilio.cc/index.php?n=Papilio.VGALiquidCrystal
+
+ Special Notes:
+ All audio chips connect to a 3 channel audio mixer and then to the Arcade MegaWing audio pins.
+ Pullups are placed on all of the joystick pins.
+
+ Supported boards:
+ Papilio One 500K
+ Papilio Pro
+
+ To use, include the following line in your sketch:
+ #define circuit Arcade_MegaWing
+
+*******************************************************************************************************************************************************************
+
+Arcade_MegaWing2 Circuit
+ The Arcade_MegaWing2 circuit is intended to be used with an Arcade MegaWing connected to a Papilio Pro.
+
+ The main difference from Arcade_MegaWing is the VGA adapter. This circuit uses the more advanced ZPUino VGA Adapter which is capable of resolutions up to 1280x1024.
+ It also uses the Adafruit_GFX library to control the graphics.
+
+ It contains:
+ -Arcade MegaWing Pinout
+ -Audio passthrough - For playing Amiga MOD files or passing raw audio.
+ -YM2149 Audio Chip - For playing Atari ST YM files.
+ -Libraries
+ -http://www.papilio.cc/index.php?n=Papilio.YM2149
+ -http://www.papilio.cc/index.php?n=Papilio.YMVoice
+ -Commodore 64 SID Chip - For playing SID files.
+ -Libraries
+ -http://www.papilio.cc/index.php?n=Papilio.SID
+ -http://www.papilio.cc/index.php?n=Papilio.SIDVoice
+ -ZPUino VGA Adapter - This is the latest and greatest graphics adapter that uses DMA to access SDRAM memory for video. Uses the Adafruit_GFX library for graphics.
+
+ Special Notes:
+ All audio chips connect to a 3 channel audio mixer and then to the Arcade MegaWing audio pins.
+ Pullups are placed on all of the joystick pins.
+
+ Supported boards:
+ Papilio Pro
+
+ To use, include the following line in your sketch:
+ #define circuit Arcade_MegaWing2
+
+*******************************************************************************************************************************************************************
+
+Audio_Wing Circuit
+ The Audio_Wing circuit connects all available audio chips to an Audio Wing connected to the CH Wing Slot. It is intended to be used with the Audio Wing available in the store:
+ http://store.gadgetfactory.net/audio-wing/
+
+ It contains:
+ -Audio Wing connected to CH Wing Slot
+ -Audio passthrough - For playing Amiga MOD files or passing raw audio.
+ -YM2149 Audio Chip - For playing Atari ST YM files.
+ -Libraries
+ -http://www.papilio.cc/index.php?n=Papilio.YM2149
+ -http://www.papilio.cc/index.php?n=Papilio.YMVoice
+ -Commodore 64 SID Chip - For playing SID files.
+ -Libraries
+ -http://www.papilio.cc/index.php?n=Papilio.SID
+ -http://www.papilio.cc/index.php?n=Papilio.SIDVoice
+
+ Special Notes:
+ All audio chips connect to a 3 channel audio mixer and then to the Audio Wings audio pins.
+
+ Supported boards:
+ Papilio Pro
+ Papilio DUO
+ Papilio One 500K
+
+ To use, include the following line in your sketch:
+ #define circuit Audio_Wing
+
+*******************************************************************************************************************************************************************
+
+blank Circuit
+ The blank circuit lets you essentially disable the FPGA. You may need this when running AVR sketches on the Papilio DUO and you want to ensure there is no interference from the FPGA.
+
+ Supported boards:
+ Papilio Pro
+ Papilio DUO
+ Papilio One 500K
+ Papilio One 250K
+
+ To use, include the following line in your sketch:
+ #define circuit blank
+
+*******************************************************************************************************************************************************************
+
+Computing_Shield Circuit
+ The Computing_Shield circuit is intended to be used with an Computing Shield connected to a Papilio DUO.
+ http://store.gadgetfactory.net/computing-shield/
+
+ It contains:
+ -Computing Shield Pinout
+ -Audio passthrough - For playing Amiga MOD files or passing raw audio.
+ -YM2149 Audio Chip - For playing Atari ST YM files.
+ -Libraries
+ -http://www.papilio.cc/index.php?n=Papilio.YM2149
+ -http://www.papilio.cc/index.php?n=Papilio.YMVoice
+ -Commodore 64 SID Chip - For playing SID files.
+ -Libraries
+ -http://www.papilio.cc/index.php?n=Papilio.SID
+ -http://www.papilio.cc/index.php?n=Papilio.SIDVoice
+ -HQVGA Adapter - This is an older VGA adapter that uses internal BRAM memory and can only generate 240x160 video output.
+ -Libraries
+ -http://www.papilio.cc/index.php?n=Papilio.VGA
+ -http://www.papilio.cc/index.php?n=Papilio.VGALiquidCrystal
+ -Second UART - Connected to the Maxim RS232 converter on the Computing Shield
+ -SPI Master - Connected to the SD card on the Computing Shield. Used with the SD library for full SD card access from your sketches.
+
+ Special Notes:
+ All audio chips connect to a 3 channel audio mixer and then to the Computing Shield audio pins.
+
+ Supported boards:
+ Papilio DUO
+
+ To use, include the following line in your sketch:
+ #define circuit Computing_Shield
+
+*******************************************************************************************************************************************************************
+
+Computing_Shield2 Circuit
+ The Computing_Shield circuit is intended to be used with an Computing Shield connected to a Papilio DUO.
+ http://store.gadgetfactory.net/computing-shield/
+
+ The main difference from Computing_Shield is the VGA adapter. This circuit uses the more advanced ZPUino VGA Adapter which is capable of resolutions up to 1280x1024.
+ It also uses the Adafruit_GFX library to control the graphics.
+
+ It contains:
+ -Computing Shield Pinout
+ -Audio passthrough - For playing Amiga MOD files or passing raw audio.
+ -YM2149 Audio Chip - For playing Atari ST YM files.
+ -Libraries
+ -http://www.papilio.cc/index.php?n=Papilio.YM2149
+ -http://www.papilio.cc/index.php?n=Papilio.YMVoice
+ -Commodore 64 SID Chip - For playing SID files.
+ -Libraries
+ -http://www.papilio.cc/index.php?n=Papilio.SID
+ -http://www.papilio.cc/index.php?n=Papilio.SIDVoice
+ -ZPUino VGA Adapter - This is the latest and greatest graphics adapter that uses DMA to access SDRAM memory for video. Uses the Adafruit_GFX library for graphics.
+ -Second UART - Connected to the Maxim RS232 converter on the Computing Shield
+ -SPI Master - Connected to the SD card on the Computing Shield. Used with the SD library for full SD card access from your sketches.
+
+ Special Notes:
+ All audio chips connect to a 3 channel audio mixer and then to the Computing Shield audio pins.
+
+ Supported boards:
+ Papilio DUO
+
+ To use, include the following line in your sketch:
+ #define circuit Computing_Shield2
+
+*******************************************************************************************************************************************************************
+
+Gameduino_Computing_Shield Circuit
+ Connects James Bowman's Gameduino project to a Computing Shield.
+ http://store.gadgetfactory.net/computing-shield/
+ http://excamera.com/sphinx/gameduino/
+
+ All of the Gameduino sketchs can run on the AVR chip of the Papilio DUO. The FPGA runs the Gameduino design - together it is a self contained Gameduino.
+
+ Special Notes:
+ Look at the example sketches under File/Examples/Gameduino
+
+ Supported boards:
+ Papilio DUO
+
+ To use, include the following line in your sketch:
+ #define circuit Gameduino_Computing_Shield
+
+*******************************************************************************************************************************************************************
+
+Gameduino_LogicStart_Shield Circuit
+ Connects James Bowman's Gameduino project to a LogicStart Shield.
+ http://store.gadgetfactory.net/computing-shield/
+ http://excamera.com/sphinx/gameduino/
+
+ All of the Gameduino sketchs can run on the AVR chip of the Papilio DUO. The FPGA runs the Gameduino design - together it is a self contained Gameduino.
+
+ Special Notes:
+ Look at the example sketches under File/Examples/Gameduino
+
+ Supported boards:
+ Papilio DUO
+
+ To use, include the following line in your sketch:
+ #define circuit Gameduino_LogicStart_Shield
+
+*******************************************************************************************************************************************************************
+
+LogicStart_MegaWing Circuit
+ All the "chips" needed to put the LogicStart MegaWing through its paces with the Papilio Pro or Papilio One.
+
+ It contains:
+ -LogicStart MegaWing Pinout
+ -Audio passthrough - For playing Amiga MOD files or passing raw audio.
+ -HQVGA Adapter - This is an older VGA adapter that uses internal BRAM memory and can only generate 240x160 video output.
+ -Libraries
+ -http://www.papilio.cc/index.php?n=Papilio.VGA
+ -http://www.papilio.cc/index.php?n=Papilio.VGALiquidCrystal
+ -Seven Segment Controller
+ -SPI Master for interfacing to the ADC chips on the MegaWing, is the following library:
+ -http://www.papilio.cc/index.php?n=Papilio.ADC
+
+ Supported boards:
+ Papilio Pro
+ Papilio One 500K
+
+ To use, include the following line in your sketch:
+ #define circuit LogicStart_MegaWing
+
+*******************************************************************************************************************************************************************
+
+LogicStart_MegaWing2 Circuit
+ All the "chips" needed to put the LogicStart MegaWing through its paces with the Papilio Pro.
+
+ The LogicStart_MegaWing2 circuit uses the more advanced VGA controller that is capable of 1280x1024 output.
+
+ It contains:
+ -LogicStart MegaWing Pinout
+ -Audio passthrough - For playing Amiga MOD files or passing raw audio.
+ -ZPUino VGA Adapter - This is the latest and greatest graphics adapter that uses DMA to access SDRAM memory for video. Uses the Adafruit_GFX library for graphics.
+ -Seven Segment Controller
+ -SPI Master for interfacing to the ADC chips on the MegaWing, is the following library:
+ -http://www.papilio.cc/index.php?n=Papilio.ADC
+
+ Supported boards:
+ Papilio Pro
+
+ To use, include the following line in your sketch:
+ #define circuit LogicStart_MegaWing2
+
+*******************************************************************************************************************************************************************
+
+LogicStart_Shield Circuit
+ All the "chips" needed to put the LogicStart MegaWing through its paces with the Papilio Pro or Papilio One.
+
+ It contains:
+ -LogicStart MegaWing Pinout
+ -Audio passthrough - For playing Amiga MOD files or passing raw audio.
+ -HQVGA Adapter - This is an older VGA adapter that uses internal BRAM memory and can only generate 240x160 video output.
+ -Libraries
+ -http://www.papilio.cc/index.php?n=Papilio.VGA
+ -http://www.papilio.cc/index.php?n=Papilio.VGALiquidCrystal
+ -Seven Segment Controller
+
+ Supported boards:
+ Papilio DUO
+
+ To use, include the following line in your sketch:
+ #define circuit LogicStart_Shield
+
+*******************************************************************************************************************************************************************
+
+LogicStart_Shield2 Circuit
+ All the "chips" needed to put the LogicStart MegaWing through its paces with the Papilio Pro.
+
+ The LogicStart_MegaWing2 circuit uses the more advanced VGA controller that is capable of 1280x1024 output.
+
+ It contains:
+ -LogicStart MegaWing Pinout
+ -Audio passthrough - For playing Amiga MOD files or passing raw audio.
+ -ZPUino VGA Adapter - This is the latest and greatest graphics adapter that uses DMA to access SDRAM memory for video. Uses the Adafruit_GFX library for graphics.
+ -Seven Segment Controller
+
+ Supported boards:
+ Papilio DUO
+
+ To use, include the following line in your sketch:
+ #define circuit LogicStart_Shield2
+
+*******************************************************************************************************************************************************************
+
+Robot_Control_Library Circuit
+ 5 PWM's and 3 Quadrature decoders connected to the flex pins so you can move them to any Papilio pin on the fly.
+
+ The Robot Control Library is a neat library from OpenCores that includes a stepper controller, PWM, Quad Decoder, and PID. We will port the remaining components soon.
+
+ It contains:
+ -PWM
+ -Quadrature Decoder
+
+ Supported boards:
+ Papilio DUO
+ Papilio Pro
+ Papilio One 500K
+ Papilio One 250K
+
+ To use, include the following line in your sketch:
+ #define circuit Robot_Control_Library
+
+*******************************************************************************************************************************************************************
+
+ZPUino_Vanilla Circuit
+ This is a basic ZPUino circuit with nothing attached to the Wishbone bus. It is the base that is used when you make your own ZPUino circuits from scratch or you want to use the FPGA like an Arduino.
+
+ Supported boards:
+ Papilio DUO
+ Papilio Pro
+ Papilio One 500K
+ Papilio One 250K
+
+ To use, include the following line in your sketch:
+ #define circuit ZPUino_Vanilla
+
+*******************************************************************************************************************************************************************
+
+ZPUino_Wings Circuit
+ This may be one of the more interesting circuits becuase it contains all of the current Papilio Wings connected at once to different Wing Slots.
+
+ It contains:
+
+ -Wii Chuck Wing connected to AL Wing Slot. Uses the WiiChuck and I2C library.
+ -VGA Wing connected to AH Wing Slot with the latest and ZPUino VGA Adapter - This is the latest and greatest graphics adapter that uses DMA to access SDRAM memory for video. Uses the Adafruit_GFX library for graphics.
+ -SD Card Wing connected to CL with an SPI master. Used with the SD library for full SD card access from your sketches.
+ -Audio Wing connected to CH with three audio chips connected to it through the audiomixer.
+ -Audio passthrough - For playing Amiga MOD files or passing raw audio.
+ -YM2149 Audio Chip - For playing Atari ST YM files.
+ -Libraries
+ -http://www.papilio.cc/index.php?n=Papilio.YM2149
+ -http://www.papilio.cc/index.php?n=Papilio.YMVoice
+ -Commodore 64 SID Chip - For playing SID files.
+ -Libraries
+ -http://www.papilio.cc/index.php?n=Papilio.SID
+ -http://www.papilio.cc/index.php?n=Papilio.SIDVoice
+
+
+
+ Supported boards:
+ Papilio DUO
+ Papilio Pro
+ Papilio One 500K
+ Papilio One 250K
+
+ To use, include the following line in your sketch:
+ #define circuit ZPUino_Wings
+*/
diff --git a/Flex_Pins/PPSTest.ino b/Flex_Pins/Flex_Pins.ino
similarity index 100%
rename from Flex_Pins/PPSTest.ino
rename to Flex_Pins/Flex_Pins.ino
diff --git a/Gameduino/1.Basics/rotate/rotate.ino b/Gameduino/1.Basics/rotate/rotate.ino
deleted file mode 100644
index 6e197e0..0000000
--- a/Gameduino/1.Basics/rotate/rotate.ino
+++ /dev/null
@@ -1,32 +0,0 @@
-//Uncomment your preferred Shield
-#define circuit Gameduino_Computing_Shield
-//#define circuit Gameduino_LogicStart_Shield
-
-#include
-#include
-
-#include "r.h"
-
-void setup()
-{
- int i;
-
- GD.begin();
- GD.ascii();
- GD.putstr(0, 0,"Sprite rotation");
-
- GD.copy(RAM_SPRIMG, r_img, sizeof(r_img));
- GD.copy(RAM_SPRPAL, r_pal, sizeof(r_pal));
-
- for (i = 0; i < 8; i++) {
- char msg[] = "ROT=.";
- byte y = 3 + 4 * i;
- msg[4] = '0' + i;
- GD.putstr(18, y, msg);
- GD.sprite(i, 200, 8 * y, 0, 0, i);
- }
-}
-
-void loop()
-{
-}
diff --git a/Gameduino/3.Advanced/snow/snow.ino b/Gameduino/3.Advanced/snow/snow.ino
deleted file mode 100644
index 99101dd..0000000
--- a/Gameduino/3.Advanced/snow/snow.ino
+++ /dev/null
@@ -1,25 +0,0 @@
-//Uncomment your preferred Shield
-#define circuit Gameduino_Computing_Shield
-//#define circuit Gameduino_LogicStart_Shield
-
-#include
-#include
-
-#include "random.h"
-
-void setup()
-{
- GD.begin();
- int i;
- for (i = 0; i < 256; i++) {
- GD.wr16(RAM_PAL + (4 * i + 0) * 2, RGB(0,0,0));
- GD.wr16(RAM_PAL + (4 * i + 1) * 2, RGB(0x20,0x20,0x20));
- GD.wr16(RAM_PAL + (4 * i + 2) * 2, RGB(0x40,0x40,0x40));
- GD.wr16(RAM_PAL + (4 * i + 3) * 2, RGB(0xff,0xff,0xff));
- }
- GD.microcode(random_code, sizeof(random_code));
-}
-
-void loop()
-{
-}
diff --git a/Gameduino/4.Demo/asteroids/circuit/DUO_LX9/papilio_duo_lx9.bit b/Gameduino/4.Demo/asteroids/circuit/DUO_LX9/papilio_duo_lx9.bit
deleted file mode 100644
index 28c5d27..0000000
Binary files a/Gameduino/4.Demo/asteroids/circuit/DUO_LX9/papilio_duo_lx9.bit and /dev/null differ
diff --git a/Gameduino/4.Demo/asteroids/circuit/LogicStart_Shield_Pinout.sym b/Gameduino/4.Demo/asteroids/circuit/LogicStart_Shield_Pinout.sym
deleted file mode 100644
index cd25add..0000000
--- a/Gameduino/4.Demo/asteroids/circuit/LogicStart_Shield_Pinout.sym
+++ /dev/null
@@ -1,256 +0,0 @@
-
-
- BLOCK
- 2014-12-11T0:1:18
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Papilio DUO LogicStart Shield Pinout
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- SEG7_AN4
- SEG7_AN2
- SEG7_AN3
- GPIO2
- GPIO1
- GPIO0
- SEG7_SEG_D
- SEG7_SEG_P
- SW2
- SW1
- SW3
- SW4
- LED3
- LED4
- LED5
- SW0
- DIR_UP
- DIR_DOWN
- DIR_LEFT
- LED6
- LED7
- DIR_RIGHT
-
- LED2
- LED1
- LED0
- SW7
- SW6
- SW5
- SEG7_AN0
- SEG7_AN1
-
-
-
-
-
- Audio
- AUDIO1_LEFT
- AUDIO1_RIGHT
- SEG7_SEG_E
- SEG7_SEG_A
- SEG7_SEG_F
- SEG7_SEG_C
- SEG7_SEG_G
- SEG7_SEG_B
- VGA_HSYNC
- VGA_VSYNC
- VGA_BLUE0
- VGA_BLUE1
- VGA_BLUE2
- VGA_BLUE3
- VGA_GREEN0
- VGA_GREEN1
- VGA_GREEN2
- VGA_GREEN3
- VGA_RED3
- VGA_RED2
- VGA_RED1
- VGA_RED0
-
-
- (Optional)
- VGA Pins
-
- (Preferred)
- VGA Bus
-
- VGA options.
- Note: Don't use both
- Seven Segment
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/Gameduino/4.Demo/asteroids/circuit/LogicStart_Shield_Pinout.vhd b/Gameduino/4.Demo/asteroids/circuit/LogicStart_Shield_Pinout.vhd
deleted file mode 100644
index e244398..0000000
--- a/Gameduino/4.Demo/asteroids/circuit/LogicStart_Shield_Pinout.vhd
+++ /dev/null
@@ -1,299 +0,0 @@
---------------------------------------------------------------------------------
--- Copyright (c) 1995-2012 Xilinx, Inc. All rights reserved.
---------------------------------------------------------------------------------
--- ____ ____
--- / /\/ /
--- /___/ \ / Vendor: Xilinx
--- \ \ \/ Version : 14.3
--- \ \ Application :
--- / / Filename : xil_10080_19
--- /___/ /\ Timestamp : 02/08/2013 16:21:11
--- \ \ / \
--- \___\/\___\
---
---Command:
---Design Name:
---
-
-library ieee;
-use ieee.std_logic_1164.ALL;
-use ieee.numeric_std.ALL;
-library UNISIM;
-use UNISIM.Vcomponents.ALL;
-
-entity LogicStart_Shield_Pinout is
- port (
- Audio_Left : in std_logic;
- Audio_Right : in std_logic;
- Seg7_dot : in std_logic;
- Seg7_enable : in std_logic_vector (3 downto 0);
- Seg7_segdata : in std_logic_vector (6 downto 0);
- VGA_Red3 : in std_logic;
- VGA_Red2 : in std_logic;
- VGA_Red1 : in std_logic;
- VGA_Red0 : in std_logic;
- VGA_Green3 : in std_logic;
- VGA_Green2 : in std_logic;
- VGA_Green1 : in std_logic;
- VGA_Green0 : in std_logic;
- VGA_Blue3 : in std_logic;
- VGA_Blue2 : in std_logic;
- VGA_Blue1 : in std_logic;
- VGA_Blue0 : in std_logic;
- VGA_Hsync : in std_logic;
- VGA_Vsync : in std_logic;
- VGA_Bus : inout std_logic_vector(32 downto 0);
-
-
- gpio_bus_in : out std_logic_vector(200 downto 0);
- gpio_bus_out : in std_logic_vector(200 downto 0);
-
- WING_AH0 : inout std_logic;
- WING_AH1 : inout std_logic;
- WING_AH2 : inout std_logic;
- WING_AH3 : inout std_logic;
- WING_AH4 : inout std_logic;
- WING_AH5 : inout std_logic;
- WING_AH6 : inout std_logic;
- WING_AH7 : inout std_logic;
-
- WING_AL0 : inout std_logic;
- WING_AL1 : inout std_logic;
- WING_AL2 : inout std_logic;
- WING_AL3 : inout std_logic;
- WING_AL4 : inout std_logic;
- WING_AL5 : inout std_logic;
- WING_AL6 : inout std_logic;
- WING_AL7 : inout std_logic;
-
- WING_BH0 : inout std_logic;
- WING_BH1 : inout std_logic;
- WING_BH2 : inout std_logic;
- WING_BH3 : inout std_logic;
- WING_BH4 : inout std_logic;
- WING_BH5 : inout std_logic;
- WING_BH6 : inout std_logic;
- WING_BH7 : inout std_logic;
-
- WING_BL0 : inout std_logic;
- WING_BL1 : inout std_logic;
- WING_BL2 : inout std_logic;
- WING_BL3 : inout std_logic;
- WING_BL4 : inout std_logic;
- WING_BL5 : inout std_logic;
- WING_BL6 : inout std_logic;
- WING_BL7 : inout std_logic;
-
- WING_CH0 : inout std_logic;
- WING_CH1 : inout std_logic;
- WING_CH2 : inout std_logic;
- WING_CH3 : inout std_logic;
- WING_CH4 : inout std_logic;
- WING_CH5 : inout std_logic;
- WING_CH6 : inout std_logic;
- WING_CH7 : inout std_logic;
-
- WING_CL0 : inout std_logic;
- WING_CL1 : inout std_logic;
- WING_CL2 : inout std_logic;
- WING_CL3 : inout std_logic;
- WING_CL4 : inout std_logic;
- WING_CL5 : inout std_logic;
- WING_CL6 : inout std_logic;
- WING_CL7 : inout std_logic;
-
- WING_DH0 : inout std_logic;
- WING_DH1 : inout std_logic;
- WING_DH2 : inout std_logic;
- WING_DH3 : inout std_logic;
- WING_DH4 : inout std_logic;
- WING_DH5 : inout std_logic;
- WING_DH6 : inout std_logic;
- WING_DH7 : inout std_logic;
-
- WING_DL0 : inout std_logic;
- WING_DL1 : inout std_logic;
- WING_DL2 : inout std_logic;
- WING_DL3 : inout std_logic;
- WING_DL4 : inout std_logic;
- WING_DL5 : inout std_logic;
- WING_DL6 : inout std_logic;
- WING_DL7 : inout std_logic
- );
-end LogicStart_Shield_Pinout;
-
-architecture BEHAVIORAL of LogicStart_Shield_Pinout is
--- signal gpio_o: std_logic_vector(zpuino_gpio_count-1 downto 0);
--- signal gpio_t: std_logic_vector(zpuino_gpio_count-1 downto 0);
--- signal gpio_i: std_logic_vector(zpuino_gpio_count-1 downto 0);
---
--- -- SPP signal is one more than GPIO count
--- signal gpio_spp_data: std_logic_vector(zpuino_gpio_count-1 downto 0);
--- signal gpio_spp_read: std_logic_vector(zpuino_gpio_count-1 downto 0);
---
--- constant spp_cap_in: std_logic_vector(zpuino_gpio_count-1 downto 0) :=
--- "0" &
--- "1111111111111111" &
--- "1111111111111111" &
--- "1111111111111111";
--- constant spp_cap_out: std_logic_vector(zpuino_gpio_count-1 downto 0) :=
--- "0" &
--- "1111111111111111" &
--- "1111111111111111" &
--- "1111111111111111";
-
-constant wordPower : integer := 5;
-constant wordSize : integer := 2**wordPower;
-constant maxAddrBitIncIO : integer := 27;
-constant maxIOBit: integer := maxAddrBitIncIO - 1;
-constant minIOBit: integer := 2;
-constant maxAddrBitBRAM : integer := 22;
-constant DontCareValue : std_logic := 'X';
-
-component iopad is
- port(
- I: in std_logic;
- O: out std_logic;
- T: in std_logic;
- C: in std_logic;
- PAD: inout std_logic
- );
-end component iopad;
-
- signal gpio_o: std_logic_vector(54 downto 0);
- signal gpio_t: std_logic_vector(54 downto 0);
- signal gpio_i: std_logic_vector(54 downto 0);
-
- signal gpio_spp_data: std_logic_vector(54 downto 0);
- signal gpio_spp_read: std_logic_vector(54 downto 0);
-
- signal gpio_clk: std_logic;
-
-begin
- --gpio_bus_in(97 downto 49) <= gpio_spp_data;
- --gpio_bus_in(48 downto 0) <= gpio_i;
-
- gpio_clk <= gpio_bus_out(165);
- gpio_o <= gpio_bus_out(164 downto 110);
- gpio_t <= gpio_bus_out(109 downto 55);
- gpio_spp_read <= gpio_bus_out(54 downto 0);
-
- WING_BL0 <= Audio_Left;
- WING_BL1 <= Audio_Right;
-
- --7 Segment
- WING_CL5 <= Seg7_enable(3);
- WING_CL0 <= Seg7_dot;
- WING_CL6 <= Seg7_enable(2);
- WING_BL2 <= Seg7_segdata(4); --
- WING_BL4 <= Seg7_segdata(5); --
- WING_BL5 <= Seg7_segdata(2); --
- WING_CL1 <= Seg7_segdata(3);
- WING_BL3 <= Seg7_segdata(0); --
- WING_CH0 <= Seg7_enable(1);
- WING_BL6 <= Seg7_segdata(6); --
- WING_BL7 <= Seg7_segdata(1); --
- WING_CH1 <= Seg7_enable(0);
-
- --VGA
--- WING_DL1 <= VGA_Vsync;
--- WING_DL0 <= VGA_Hsync;
--- WING_DL6 <= VGA_Blue0;
--- WING_DL7 <= VGA_Blue1;
--- WING_DH1 <= VGA_Green0;
--- WING_DH2 <= VGA_Green1;
--- WING_DH3 <= VGA_Green2;
--- WING_DH6 <= VGA_Red0;
--- WING_DH5 <= VGA_Red1;
--- WING_DH4 <= VGA_Red2;
-
- WING_DL1 <= vga_vsync OR VGA_Bus(31);
- WING_DL0 <= vga_hsync OR VGA_Bus(30);
- WING_DH4 <= vga_red3 OR VGA_Bus(9);
- WING_DH5 <= vga_red2 OR VGA_Bus(8);
- WING_DH6 <= vga_red1 OR VGA_Bus(7);
- WING_DH7 <= vga_red0 OR VGA_Bus(6);
- WING_DH3 <= vga_green3 OR VGA_Bus(19);
- WING_DH2 <= vga_green2 OR VGA_Bus(18);
- WING_DH1 <= vga_green1 OR VGA_Bus(17);
- WING_DH0 <= vga_green0 OR VGA_Bus(16);
- WING_DL7 <= vga_blue3 OR VGA_Bus(29);
- WING_DL6 <= vga_blue2 OR VGA_Bus(28);
- WING_DL5 <= vga_blue1 OR VGA_Bus(27);
- WING_DL2 <= vga_blue0 OR VGA_Bus(26);
-
- pin00: IOPAD port map(I => gpio_o(0), O => gpio_bus_in(0), T => gpio_t(0), C => gpio_clk,PAD => WING_AL0);
- pin01: IOPAD port map(I => gpio_o(1), O => gpio_bus_in(1), T => gpio_t(1), C => gpio_clk,PAD => WING_AL1);
- pin02: IOPAD port map(I => gpio_o(2), O => gpio_bus_in(2), T => gpio_t(2), C => gpio_clk,PAD => WING_AL2);
- pin03: IOPAD port map(I => gpio_o(3), O => gpio_bus_in(3), T => gpio_t(3), C => gpio_clk,PAD => WING_AL3);
- pin04: IOPAD port map(I => gpio_o(4), O => gpio_bus_in(4), T => gpio_t(4), C => gpio_clk,PAD => WING_AL4);
- pin05: IOPAD port map(I => gpio_o(5), O => gpio_bus_in(5), T => gpio_t(5), C => gpio_clk,PAD => WING_AL5);
- pin06: IOPAD port map(I => gpio_o(6), O => gpio_bus_in(6), T => gpio_t(6), C => gpio_clk,PAD => WING_AL6);
- pin07: IOPAD port map(I => gpio_o(7), O => gpio_bus_in(7), T => gpio_t(7), C => gpio_clk,PAD => WING_AL7);
- pin08: IOPAD port map(I => gpio_o(8), O => gpio_bus_in(8), T => gpio_t(8), C => gpio_clk,PAD => WING_AH0);
- pin09: IOPAD port map(I => gpio_o(9), O => gpio_bus_in(9), T => gpio_t(9), C => gpio_clk,PAD => WING_AH1);
- pin10: IOPAD port map(I => gpio_o(10),O => gpio_bus_in(10),T => gpio_t(10),C => gpio_clk,PAD => WING_AH2);
- pin11: IOPAD port map(I => gpio_o(11),O => gpio_bus_in(11),T => gpio_t(11),C => gpio_clk,PAD => WING_AH3);
- pin12: IOPAD port map(I => gpio_o(12),O => gpio_bus_in(12),T => gpio_t(12),C => gpio_clk,PAD => WING_AH4);
- pin13: IOPAD port map(I => gpio_o(13),O => gpio_bus_in(13),T => gpio_t(13),C => gpio_clk,PAD => WING_AH5);
-
--- pin14: IOPAD port map(I => gpio_o(14),O => gpio_bus_in(14),T => gpio_t(14),C => gpio_clk,PAD => WING_BL7);
--- pin15: IOPAD port map(I => gpio_o(15),O => gpio_bus_in(15),T => gpio_t(15),C => gpio_clk,PAD => WING_BL6);
--- pin16: IOPAD port map(I => gpio_o(16),O => gpio_bus_in(16),T => gpio_t(16),C => gpio_clk,PAD => WING_BL5);
--- pin17: IOPAD port map(I => gpio_o(17),O => gpio_bus_in(17),T => gpio_t(17),C => gpio_clk,PAD => WING_BL4);
--- pin18: IOPAD port map(I => gpio_o(18),O => gpio_bus_in(18),T => gpio_t(18),C => gpio_clk,PAD => WING_BL3);
--- pin19: IOPAD port map(I => gpio_o(19),O => gpio_bus_in(19),T => gpio_t(19),C => gpio_clk,PAD => WING_BL2);
--- pin20: IOPAD port map(I => gpio_o(20),O => gpio_bus_in(20),T => gpio_t(20),C => gpio_clk,PAD => WING_BL1);
--- pin21: IOPAD port map(I => gpio_o(21),O => gpio_bus_in(21),T => gpio_t(21),C => gpio_clk,PAD => WING_BL0);
-
--- pin22: IOPAD port map(I => gpio_o(22),O => gpio_bus_in(22),T => gpio_t(22),C => gpio_clk,PAD => WING_CL0);
--- pin23: IOPAD port map(I => gpio_o(23),O => gpio_bus_in(23),T => gpio_t(23),C => gpio_clk,PAD => WING_DH7);
--- pin24: IOPAD port map(I => gpio_o(24),O => gpio_bus_in(24),T => gpio_t(24),C => gpio_clk,PAD => WING_CL1);
--- pin25: IOPAD port map(I => gpio_o(25),O => gpio_bus_in(25),T => gpio_t(25),C => gpio_clk,PAD => WING_DH6);
- pin26: IOPAD port map(I => gpio_o(26),O => gpio_bus_in(26),T => gpio_t(26),C => gpio_clk,PAD => WING_CL2);
--- pin27: IOPAD port map(I => gpio_o(27),O => gpio_bus_in(27),T => gpio_t(27),C => gpio_clk,PAD => WING_DH5);
- pin28: IOPAD port map(I => gpio_o(28),O => gpio_bus_in(28),T => gpio_t(28),C => gpio_clk,PAD => WING_CL3);
--- pin29: IOPAD port map(I => gpio_o(29),O => gpio_bus_in(29),T => gpio_t(29),C => gpio_clk,PAD => WING_DH4);
- pin30: IOPAD port map(I => gpio_o(30),O => gpio_bus_in(30),T => gpio_t(30),C => gpio_clk,PAD => WING_CL4);
--- pin31: IOPAD port map(I => gpio_o(31),O => gpio_bus_in(31),T => gpio_t(31),C => gpio_clk,PAD => WING_DH3);
--- pin32: IOPAD port map(I => gpio_o(32),O => gpio_bus_in(32),T => gpio_t(32),C => gpio_clk,PAD => WING_CL5);
--- pin33: IOPAD port map(I => gpio_o(33),O => gpio_bus_in(33),T => gpio_t(33),C => gpio_clk,PAD => WING_DH2);
--- pin34: IOPAD port map(I => gpio_o(34),O => gpio_bus_in(34),T => gpio_t(34),C => gpio_clk,PAD => WING_CL6);
--- pin35: IOPAD port map(I => gpio_o(35),O => gpio_bus_in(35),T => gpio_t(35),C => gpio_clk,PAD => WING_DH1);
--- pin36: IOPAD port map(I => gpio_o(36),O => gpio_bus_in(36),T => gpio_t(36),C => gpio_clk,PAD => WING_CL7);
--- pin37: IOPAD port map(I => gpio_o(37),O => gpio_bus_in(37),T => gpio_t(37),C => gpio_clk,PAD => WING_DH0);
-
--- pin38: IOPAD port map(I => gpio_o(38),O => gpio_bus_in(38),T => gpio_t(38),C => gpio_clk,PAD => WING_CH0);
--- pin39: IOPAD port map(I => gpio_o(39),O => gpio_bus_in(39),T => gpio_t(39),C => gpio_clk,PAD => WING_DL7);
--- pin40: IOPAD port map(I => gpio_o(40),O => gpio_bus_in(40),T => gpio_t(40),C => gpio_clk,PAD => WING_CH1);
--- pin41: IOPAD port map(I => gpio_o(41),O => gpio_bus_in(41),T => gpio_t(41),C => gpio_clk,PAD => WING_DL6);
- pin42: IOPAD port map(I => gpio_o(42),O => gpio_bus_in(42),T => gpio_t(42),C => gpio_clk,PAD => WING_CH2);
--- pin43: IOPAD port map(I => gpio_o(43),O => gpio_bus_in(43),T => gpio_t(43),C => gpio_clk,PAD => WING_DL5);
- pin44: IOPAD port map(I => gpio_o(44),O => gpio_bus_in(44),T => gpio_t(44),C => gpio_clk,PAD => WING_CH3);
--- pin45: IOPAD port map(I => gpio_o(45),O => gpio_bus_in(45),T => gpio_t(45),C => gpio_clk,PAD => WING_DL4);
- pin46: IOPAD port map(I => gpio_o(46),O => gpio_bus_in(46),T => gpio_t(46),C => gpio_clk,PAD => WING_CH4);
--- pin47: IOPAD port map(I => gpio_o(47),O => gpio_bus_in(47),T => gpio_t(47),C => gpio_clk,PAD => WING_DL3);
- pin48: IOPAD port map(I => gpio_o(48),O => gpio_bus_in(48),T => gpio_t(48),C => gpio_clk,PAD => WING_CH5);
--- pin49: IOPAD port map(I => gpio_o(49),O => gpio_bus_in(49),T => gpio_t(49),C => gpio_clk,PAD => WING_DL2);
- pin50: IOPAD port map(I => gpio_o(50),O => gpio_bus_in(50),T => gpio_t(50),C => gpio_clk,PAD => WING_CH6);
--- pin51: IOPAD port map(I => gpio_o(51),O => gpio_bus_in(51),T => gpio_t(51),C => gpio_clk,PAD => WING_DL1);
- pin52: IOPAD port map(I => gpio_o(52),O => gpio_bus_in(52),T => gpio_t(52),C => gpio_clk,PAD => WING_CH7);
--- pin53: IOPAD port map(I => gpio_o(53),O => gpio_bus_in(53),T => gpio_t(53),C => gpio_clk,PAD => WING_DL0);
-
-
- process(gpio_spp_read)
--- sigmadelta_spp_data,
--- timers_pwm,
--- spi2_mosi,spi2_sck)
- begin
-
--- gpio_spp_data <= (others => DontCareValue);
- gpio_bus_in(109 downto 54) <= (others => DontCareValue);
-
-
- end process;
-
-
-end BEHAVIORAL;
-
-
diff --git a/Gameduino/4.Demo/asteroids/circuit/Papilio_DUO_LX9.sch b/Gameduino/4.Demo/asteroids/circuit/Papilio_DUO_LX9.sch
deleted file mode 100644
index cc401de..0000000
--- a/Gameduino/4.Demo/asteroids/circuit/Papilio_DUO_LX9.sch
+++ /dev/null
@@ -1,588 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 2000-1-1T10:10:10
-
-
-
-
-
-
-
-
- 2013-12-23T3:6:50
-
-
-
-
-
- 2014-12-11T0:1:18
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 2014-12-11T18:43:10
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 2014-12-10T23:34:26
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Version: 1.0
- Replace DUO_SW1 with a Pulldown if you want the ATmega32U4 chip to run when this circuit is loaded.
-
-
-
-
-
-
- Replace DUO_SW1 with a Pullup if you want to disable the ATmega32U4 chip when this circuit is loaded.
-
- Papilio DUO Reset
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Put 'SW1' in the down position for the FPGA to run.
- Put 'SW0' in the down position for the Arduino to run.
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/Gameduino/4.Demo/asteroids/circuit/Spartan6_Reset.sym b/Gameduino/4.Demo/asteroids/circuit/Spartan6_Reset.sym
deleted file mode 100644
index ca850e7..0000000
--- a/Gameduino/4.Demo/asteroids/circuit/Spartan6_Reset.sym
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
- BLOCK
- 2014-12-10T19:52:54
-
-
-
-
-
-
-
-
diff --git a/Gameduino/4.Demo/asteroids/circuit/Spartan6_Reset.vhd b/Gameduino/4.Demo/asteroids/circuit/Spartan6_Reset.vhd
deleted file mode 100644
index 1f0460b..0000000
--- a/Gameduino/4.Demo/asteroids/circuit/Spartan6_Reset.vhd
+++ /dev/null
@@ -1,45 +0,0 @@
---------------------------------------------------------------------------------
--- Copyright (c) 1995-2012 Xilinx, Inc. All rights reserved.
---------------------------------------------------------------------------------
--- ____ ____
--- / /\/ /
--- /___/ \ / Vendor: Xilinx
--- \ \ \/ Version : 14.1
--- \ \ Application :
--- / / Filename : xil_844_21
--- /___/ /\ Timestamp : 12/10/2014 17:26:31
--- \ \ / \
--- \___\/\___\
---
---Command:
---Design Name:
---
-
-library ieee;
-use ieee.std_logic_1164.ALL;
-use ieee.numeric_std.ALL;
-library UNISIM;
-use UNISIM.Vcomponents.ALL;
-
-entity Spartan6_Reset is
- port ( reset : in std_logic);
-end Spartan6_Reset;
-
-architecture BEHAVIORAL of Spartan6_Reset is
-begin
-
---Connect to the startup primitive's reset pin
-
-STARTUP_SPARTAN6_inst : STARTUP_SPARTAN6
-port map (
- CFGCLK => OPEN, -- 1-bit output: Configuration logic main clock output.
- CFGMCLK => OPEN, -- 1-bit output: Configuration internal oscillator clock output.
- EOS => OPEN, -- 1-bit output: Active high output signal indicates the End Of Configuration.
- CLK => '0', -- 1-bit input: User startup-clock input
- GSR => reset, -- 1-bit input: Global Set/Reset input (GSR cannot be used for the port name)
- GTS => '0', -- 1-bit input: Global 3-state input (GTS cannot be used for the port name)
- KEYCLEARB => '0' -- 1-bit input: Clear AES Decrypter Key input from Battery-Backed RAM (BBRAM)
-);
-
-end BEHAVIORAL;
-
diff --git a/Gameduino/4.Demo/asteroids/circuit/schematic_papilio_duo.pdf b/Gameduino/4.Demo/asteroids/circuit/schematic_papilio_duo.pdf
deleted file mode 100644
index 1683dd9..0000000
Binary files a/Gameduino/4.Demo/asteroids/circuit/schematic_papilio_duo.pdf and /dev/null differ
diff --git a/Multiple_Serial_Ports/circuit/PSL_Papilio_One_500K.xise b/Multiple_Serial_Ports/circuit/PSL_Papilio_One_500K.xise
index cb5a3be..661ece6 100644
--- a/Multiple_Serial_Ports/circuit/PSL_Papilio_One_500K.xise
+++ b/Multiple_Serial_Ports/circuit/PSL_Papilio_One_500K.xise
@@ -18,26 +18,32 @@
+
+
+
+
+
+
diff --git a/SigmaDelta_DAC/circuit/PSL_Papilio_DUO_LX9.xise b/SigmaDelta_DAC/circuit/PSL_Papilio_DUO_LX9.xise
index a54a830..c72c60d 100644
--- a/SigmaDelta_DAC/circuit/PSL_Papilio_DUO_LX9.xise
+++ b/SigmaDelta_DAC/circuit/PSL_Papilio_DUO_LX9.xise
@@ -15,721 +15,22 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
+
+
@@ -739,7 +40,7 @@
-
+
@@ -1105,14 +406,6 @@
-
-
-
-
-
-
-
-
diff --git a/SigmaDelta_DAC/circuit/PSL_Papilio_Pro_LX9.xise b/SigmaDelta_DAC/circuit/PSL_Papilio_Pro_LX9.xise
index 0683743..65e2947 100644
--- a/SigmaDelta_DAC/circuit/PSL_Papilio_Pro_LX9.xise
+++ b/SigmaDelta_DAC/circuit/PSL_Papilio_Pro_LX9.xise
@@ -15,925 +15,30 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
+
-
+
-
+
@@ -1298,14 +403,6 @@
-
-
-
-
-
-
-
-
diff --git a/Template_DesignLab_Library/circuit/PSL_Papilio_DUO_LX9.xise b/Template_DesignLab_Library/circuit/PSL_Papilio_DUO_LX9.xise
index 55ead77..c72c60d 100644
--- a/Template_DesignLab_Library/circuit/PSL_Papilio_DUO_LX9.xise
+++ b/Template_DesignLab_Library/circuit/PSL_Papilio_DUO_LX9.xise
@@ -9,757 +9,28 @@
-
+
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
+
-
+
-
+
-
+
@@ -1135,14 +406,6 @@
-
-
-
-
-
-
-
-
diff --git a/Template_DesignLab_Library/circuit/PSL_Papilio_One_250K.xise b/Template_DesignLab_Library/circuit/PSL_Papilio_One_250K.xise
index 71c2f86..55685ae 100644
--- a/Template_DesignLab_Library/circuit/PSL_Papilio_One_250K.xise
+++ b/Template_DesignLab_Library/circuit/PSL_Papilio_One_250K.xise
@@ -9,765 +9,40 @@
-
+
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
-
+
+
-
+
+
-
+
-
-
+
+
+
-
+
-
+
@@ -1091,14 +366,6 @@
-
-
-
-
-
-
-
-
diff --git a/Template_DesignLab_Library/circuit/PSL_Papilio_One_500K.xise b/Template_DesignLab_Library/circuit/PSL_Papilio_One_500K.xise
index 6370d06..661ece6 100644
--- a/Template_DesignLab_Library/circuit/PSL_Papilio_One_500K.xise
+++ b/Template_DesignLab_Library/circuit/PSL_Papilio_One_500K.xise
@@ -9,773 +9,50 @@
-
+
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
-
+
+
-
+
+
-
+
+
-
+
+
-
+
-
+
+
-
+
-
+
@@ -1099,14 +376,6 @@
-
-
-
-
-
-
-
-
diff --git a/Template_DesignLab_Library/circuit/PSL_Papilio_Pro_LX9.xise b/Template_DesignLab_Library/circuit/PSL_Papilio_Pro_LX9.xise
index 3c580c3..65e2947 100644
--- a/Template_DesignLab_Library/circuit/PSL_Papilio_Pro_LX9.xise
+++ b/Template_DesignLab_Library/circuit/PSL_Papilio_Pro_LX9.xise
@@ -9,765 +9,36 @@
-
+
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
-
+
+
-
-
+
+
-
-
+
+
-
+
-
+
-
+
@@ -1132,14 +403,6 @@
-
-
-
-
-
-
-
-
diff --git a/Template_DesignLab_Library_Wishbone_Schematic/circuit/PSL_Papilio_One_250K.xise b/Template_DesignLab_Library_Wishbone_Schematic/circuit/PSL_Papilio_One_250K.xise
index 616da4c..55685ae 100644
--- a/Template_DesignLab_Library_Wishbone_Schematic/circuit/PSL_Papilio_One_250K.xise
+++ b/Template_DesignLab_Library_Wishbone_Schematic/circuit/PSL_Papilio_One_250K.xise
@@ -18,18 +18,22 @@
+
+
+
+
diff --git a/Template_DesignLab_Library_Wishbone_Schematic/circuit/PSL_Papilio_One_500K.xise b/Template_DesignLab_Library_Wishbone_Schematic/circuit/PSL_Papilio_One_500K.xise
index cb5a3be..661ece6 100644
--- a/Template_DesignLab_Library_Wishbone_Schematic/circuit/PSL_Papilio_One_500K.xise
+++ b/Template_DesignLab_Library_Wishbone_Schematic/circuit/PSL_Papilio_One_500K.xise
@@ -18,26 +18,32 @@
+
+
+
+
+
+
diff --git a/Template_DesignLab_Library_Wishbone_Schematic/circuit/PSL_Papilio_Pro_LX9.xise b/Template_DesignLab_Library_Wishbone_Schematic/circuit/PSL_Papilio_Pro_LX9.xise
index 517a17c..65e2947 100644
--- a/Template_DesignLab_Library_Wishbone_Schematic/circuit/PSL_Papilio_Pro_LX9.xise
+++ b/Template_DesignLab_Library_Wishbone_Schematic/circuit/PSL_Papilio_Pro_LX9.xise
@@ -9,730 +9,36 @@
-
+
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
-
+
+
-
-
+
+
-
-
+
+
-
+
-
+
-
+
@@ -1097,14 +403,6 @@
-
-
-
-
-
-
-
-
diff --git a/Template_DesignLab_Library_Wishbone_VHDL/circuit/PSL_Papilio_One_250K.xise b/Template_DesignLab_Library_Wishbone_VHDL/circuit/PSL_Papilio_One_250K.xise
index 616da4c..55685ae 100644
--- a/Template_DesignLab_Library_Wishbone_VHDL/circuit/PSL_Papilio_One_250K.xise
+++ b/Template_DesignLab_Library_Wishbone_VHDL/circuit/PSL_Papilio_One_250K.xise
@@ -18,18 +18,22 @@
+
+
+
+
diff --git a/Template_DesignLab_Library_Wishbone_VHDL/circuit/PSL_Papilio_One_500K.xise b/Template_DesignLab_Library_Wishbone_VHDL/circuit/PSL_Papilio_One_500K.xise
index cb5a3be..661ece6 100644
--- a/Template_DesignLab_Library_Wishbone_VHDL/circuit/PSL_Papilio_One_500K.xise
+++ b/Template_DesignLab_Library_Wishbone_VHDL/circuit/PSL_Papilio_One_500K.xise
@@ -18,26 +18,32 @@
+
+
+
+
+
+
diff --git a/Template_DesignLab_Library_Wishbone_VHDL/circuit/PSL_Papilio_Pro_LX9.xise b/Template_DesignLab_Library_Wishbone_VHDL/circuit/PSL_Papilio_Pro_LX9.xise
index 517a17c..65e2947 100644
--- a/Template_DesignLab_Library_Wishbone_VHDL/circuit/PSL_Papilio_Pro_LX9.xise
+++ b/Template_DesignLab_Library_Wishbone_VHDL/circuit/PSL_Papilio_Pro_LX9.xise
@@ -9,730 +9,36 @@
-
+
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
-
+
+
-
-
+
+
-
-
+
+
-
+
-
+
-
+
@@ -1097,14 +403,6 @@
-
-
-
-
-
-
-
-
diff --git a/Template_PSL_Base/circuit/PSL_Papilio_One_250K.xise b/Template_PSL_Base/circuit/PSL_Papilio_One_250K.xise
index 616da4c..55685ae 100644
--- a/Template_PSL_Base/circuit/PSL_Papilio_One_250K.xise
+++ b/Template_PSL_Base/circuit/PSL_Papilio_One_250K.xise
@@ -18,18 +18,22 @@
+
+
+
+
diff --git a/Template_PSL_Base/circuit/PSL_Papilio_One_500K.xise b/Template_PSL_Base/circuit/PSL_Papilio_One_500K.xise
index cb5a3be..661ece6 100644
--- a/Template_PSL_Base/circuit/PSL_Papilio_One_500K.xise
+++ b/Template_PSL_Base/circuit/PSL_Papilio_One_500K.xise
@@ -18,26 +18,32 @@
+
+
+
+
+
+
diff --git a/Video_Audio_Player/Video_Audio_Player.ino b/Video_Audio_Player/Video_Audio_Player.ino
new file mode 100644
index 0000000..5c778cd
--- /dev/null
+++ b/Video_Audio_Player/Video_Audio_Player.ino
@@ -0,0 +1,821 @@
+/*
+ Gadget Factory
+ Example for Alvaro's ZPUino VGA Adapter
+ To learn more about using DesignLab please visit http://learn.gadgetfactory.net
+
+ Related library documentation:
+ Use the Adafruit GFX library to program this VGA adapter.
+ https://learn.adafruit.com/adafruit-gfx-graphics-library/overview
+
+ created 2015
+ by Alvaro Lopes
+ http://www.gadgetfactory.net
+
+ This example code is in the public domain.
+ */
+
+#define circuit Computing_Shield2
+
+#include "jpeglib.h"
+#include "Adafruit_GFX.h"
+#include "ZPUino_GFX.h"
+#include "PLL.h"
+#include "menus.h"
+#include "SID.h"
+#include "YM2149.h"
+#include "ymplayer.h"
+#include "sidplayer.h"
+#include
+#include "SmallFS.h"
+#include
+#include
+#include "ramFS.h"
+#include "cbuffer.h"
+#include
+
+
+
+YM2149 ym2149;
+YMPLAYER ymplayer;
+SID mySid;
+SIDPLAYER sidplayer;
+
+ZPUino_GFX gfx;
+static bool menuVisible = true;
+static bool sidState = false;
+static bool ymState = false;
+
+#define TIMEOUTMAX 30000 //Timeout for joystick
+
+//Joystick
+#define JSELECT 19
+#define JDOWN 18
+#define JUP 20
+#define JRIGHT 17
+#define JLEFT 21
+
+enum kButtonDirection {
+ Left = 0,
+ Right = 1,
+ Up = 2,
+ Down = 3,
+ Select = 4,
+ None = 5
+};
+
+
+//Image stuff.
+int width, height;
+
+
+
+#define COLOR_BYTES 2
+#define COLOR_WEIGHT_R 5
+#define COLOR_WEIGHT_G 6
+#define COLOR_WEIGHT_B 5
+
+#define COLOR_SHIFT_R (COLOR_WEIGHT_B+COLOR_WEIGHT_G)
+#define COLOR_SHIFT_G (COLOR_WEIGHT_B)
+#define COLOR_SHIFT_B 0
+
+
+unsigned short *imgbuf;
+
+
+
+
+void jpeg_error(jpeg_common_struct*)
+{
+ printf("Error reading JPEG\r\n");
+ while (1) {
+ }
+}
+
+int readjpeg(const char *file)
+{
+ jpeg_decompress_struct cinfo;
+
+ jpeg_error_mgr defaultErrorManager;
+
+ cinfo.err = jpeg_std_error(&defaultErrorManager);
+
+ defaultErrorManager.error_exit = &jpeg_error;
+
+ FILE* pFile = fopen(file, "rb");
+ if (!pFile)
+ return -1;
+
+ jpeg_create_decompress(&cinfo);
+ jpeg_stdio_src(&cinfo, pFile);
+ jpeg_read_header(&cinfo, TRUE);
+ jpeg_start_decompress(&cinfo);
+
+ printf("JPEG image info: %d x %d\n", cinfo.image_width, cinfo.image_height);
+
+ unsigned row_stride = cinfo.output_width * cinfo.output_components;
+
+ unsigned char *buffer = (unsigned char*)malloc(row_stride);
+
+ unsigned short v;
+ uint16_t *imgbuf = gfx.getFramebuffer();
+
+ while(cinfo.output_scanline < cinfo.image_height)
+ {
+ int s = jpeg_read_scanlines(&cinfo, &buffer, 1);
+ printf("%d\r\n",cinfo.output_scanline);
+ unsigned char *ptr = buffer;
+ int x;
+ for (x=0; x> (8 - COLOR_WEIGHT_R));
+ uint16_t g = (ptr[1] >> (8 - COLOR_WEIGHT_G));
+ uint16_t b = (ptr[2] >> (8 - COLOR_WEIGHT_B));
+ v = (r<<(COLOR_SHIFT_R)) + (g<deleteChilds();
+ if (entry.valid()) {
+ do {
+ bool skip=false;
+ if (filter_ext) {
+ if (!entry.endsWith(filter_ext)) {
+ Serial.println("Skipping file.");
+ skip=true;
+ }
+ }
+ if (!skip) {
+ entry.getName(fileNames[i]);
+ menu->appendChild(new menuItem( fileNames[i], &onOpenFile, fileNames[i]) );
+ }
+ if (entry.hasNext())
+ entry++;
+ else
+ break;
+ i++;
+ } while (true);
+ } else {
+ Serial.println("Nothing in SmallFS...");
+ }
+}
+
+
+static void createMenus()
+{
+ subMenu *config = new subMenu("Options");
+
+ subMenu *play = new subMenu("All Files");
+ config->appendChild(play);
+ play->setParent(config);
+ createFileSelectionMenu(play);
+ play->appendChild( new menuItem("< Back",(void(*)(void*))&menuSwitchTo, config) ) ;
+
+ subMenu *sidplay = new subMenu("SID Audio");
+ config->appendChild(sidplay);
+ sidplay->setParent(config);
+ createFileSelectionMenu(sidplay, ".sid");
+ sidplay->appendChild( new menuItem("< Back",(void(*)(void*))&menuSwitchTo, config) ) ;
+
+ subMenu *ymplay = new subMenu("YM2149 Audio");
+ config->appendChild(ymplay);
+ ymplay->setParent(config);
+ createFileSelectionMenu(ymplay, ".ymd");
+ ymplay->appendChild( new menuItem("< Back",(void(*)(void*))&menuSwitchTo, config) ) ;
+
+ config->appendChild( new menuItem("Pause All", &allStop) );
+ config->appendChild( new menuItem("Play All Chips", &allStart) );
+
+ config->appendChild( new menuItem("GFX Test", &gfxTest) );
+// config->appendChild( new menuItem("Image", &imgTest) );
+
+// config->appendChild( new menuItem("SID Pause", &sidStop) );
+// config->appendChild( new menuItem("YM Pause", &ymStop) );
+//
+// config->appendChild( new menuItem("SID Play", &sidStart) );
+// config->appendChild( new menuItem("YM Play", &ymStart) );
+
+ config->appendChild( new menuItem("Exit",(void(*)(void*))&exitMenus) ) ;
+
+ menuSetTop(config);
+}
+
+bool timer(void*)
+{
+ sidplayercounter++;
+ //modplayer.zpu_interrupt();
+ ymplayer.zpu_interrupt();
+ if (sidplayercounter == 340) {
+ sidplayer.zpu_interrupt();
+ sidplayercounter = 1;
+ }
+ return true;
+}
+
+void setup()
+{
+ //delay(3000);
+ Serial.begin(115200);
+ Serial.println("Starting");
+
+ //Start SmallFS
+ if (SmallFS.begin()<0) {
+ Serial.println("No SmalLFS found.");
+ }
+ else{
+ Serial.println("SmallFS Started.");
+ }
+
+ //gfx.begin(MODE_640x480);
+ gfx.begin(MODE_320x240);
+ //gfx.begin( &modeline_640x480_60 );
+ createMenus();
+ menuInit(128,128);
+ //menuInit(256,256);
+ menusSetRenderer(&gfx);
+
+
+ //Set Wishbone slots for audio chips
+ mySid.setup(8);
+ sidplayer.setup(8);
+
+ ym2149.setup(6);
+ ymplayer.setup(&ym2149,6);
+
+ ///Give some volume
+ ym2149.V1.setVolume(11);
+ ym2149.V2.setVolume(11);
+ ym2149.V3.setVolume(11);
+ mySid.setVolume(15);
+
+ sidplayer.loadFile("track1.sid");
+ ymplayer.loadFile("track2.ymd");
+
+ //Setup timer for YM and mod players, this generates an interrupt at 1700hz
+ Timers.begin();
+ int r = Timers.periodicHz(17000, timer, 0, 1);
+ if (r<0) {
+ Serial.println("Fatal error!");
+ }
+
+ //Setup Joystick
+ pinMode(JSELECT, INPUT);
+ pinMode(JUP, INPUT);
+ pinMode(JDOWN, INPUT);
+ pinMode(JLEFT, INPUT);
+ pinMode(JRIGHT, INPUT);
+
+ timeout=TIMEOUTMAX;
+ showMenu();
+
+ readjpeg("/smallfs/image.jpg");
+}
+
+void loop()
+{
+ if (sidplayer.getPlaying() == 1)
+ sidplayer.audiofill();
+
+ if (ymplayer.getPlaying() == 1)
+ ymplayer.audiofill();
+
+ timeout--;
+ if (timeout==0) {
+ timeout = TIMEOUTMAX;
+ //Serial.println("timeout");
+ if (digitalRead(JUP)) {
+ timeout = TIMEOUTMAX;
+ buttonPressed = Up;
+ Serial.println("up");
+ } else if (digitalRead(JDOWN)) {
+ timeout = TIMEOUTMAX;
+ buttonPressed = Down;
+ Serial.println("down");
+ } else if (digitalRead(JRIGHT)) {
+ timeout = TIMEOUTMAX;
+ buttonPressed = Right;
+ Serial.println("right");
+ } else if (digitalRead(JLEFT)) {
+ timeout = TIMEOUTMAX;
+ buttonPressed = Left;
+ Serial.println("left");
+ } else if (digitalRead(JSELECT)) {
+ timeout = TIMEOUTMAX;
+ buttonPressed = Select;
+ Serial.println("select");
+ }
+ }
+
+
+
+ if (buttonPressed < 5) {
+ //char s = (char)Serial.read();
+ if (menuVisible) {
+ if (buttonPressed == Up) {
+ Serial.println("up");
+ moveMenuUp();
+ }
+ if (buttonPressed == Down) {
+ Serial.println("down");
+ moveMenuDown();
+ }
+ if (buttonPressed == Right) {
+ //Serial.println("action");
+ menuAction();
+ }
+ if (buttonPressed == Left) {
+ //exitMenus(0);
+ menuReset();
+ menuShowTop();
+ }
+ } else {
+ if (buttonPressed == Select) {
+ Serial.println("show");
+ showMenu();
+ }
+ }
+ buttonPressed = None;
+ }
+}
+
+// Assign human-readable names to some common 16-bit color values:
+#define BLACK 0x0000
+#define BLUE 0x001F
+#define RED 0xF800
+#define GREEN 0x07E0
+#define CYAN 0x07FF
+#define MAGENTA 0xF81F
+#define YELLOW 0xFFE0
+#define WHITE 0xFFFF
+
+#define min(x,y) ((x)>(y) ? (y):(x))
+
+void test()
+{
+ Serial.println(F("Benchmark Time (microseconds)"));
+
+ Serial.print(F("Screen fill "));
+ Serial.println(testFillScreen());
+ delay(500);
+
+ Serial.print(F("Text "));
+ Serial.println(testText());
+ delay(3000);
+
+ Serial.print(F("Lines "));
+ Serial.println(testLines(CYAN));
+ delay(500);
+
+ Serial.print(F("Horiz/Vert Lines "));
+ Serial.println(testFastLines(RED, BLUE));
+ delay(500);
+
+ Serial.print(F("Rectangles (outline) "));
+ Serial.println(testRects(GREEN));
+ delay(500);
+
+ Serial.print(F("Rectangles (filled) "));
+ Serial.println(testFilledRects(YELLOW, MAGENTA));
+ delay(500);
+
+ Serial.print(F("Circles (filled) "));
+ Serial.println(testFilledCircles(10, MAGENTA));
+
+ Serial.print(F("Circles (outline) "));
+ Serial.println(testCircles(10, WHITE));
+ delay(500);
+
+ Serial.print(F("Triangles (outline) "));
+ Serial.println(testTriangles());
+ delay(500);
+
+ Serial.print(F("Triangles (filled) "));
+ Serial.println(testFilledTriangles());
+ delay(500);
+
+ Serial.print(F("Rounded rects (outline) "));
+ Serial.println(testRoundRects());
+ delay(500);
+
+ Serial.print(F("Rounded rects (filled) "));
+ Serial.println(testFilledRoundRects());
+ delay(500);
+
+ Serial.println(F("Done!"));
+}
+
+unsigned long testFillScreen() {
+ unsigned long start = micros();
+ gfx.fillScreen(BLACK);
+ gfx.fillScreen(RED);
+ gfx.fillScreen(GREEN);
+ gfx.fillScreen(BLUE);
+ gfx.fillScreen(BLACK);
+ return micros() - start;
+}
+
+unsigned long testText() {
+ gfx.fillScreen(BLACK);
+ unsigned long start = micros();
+ gfx.setCursor(0, 0);
+ gfx.setTextColor(WHITE); gfx.setTextSize(1);
+ gfx.println("Hello World!");
+ gfx.setTextColor(YELLOW); gfx.setTextSize(2);
+ gfx.println(1234.56);
+ gfx.setTextColor(RED); gfx.setTextSize(3);
+ gfx.println(0xDEADBEEF, HEX);
+ gfx.println();
+ gfx.setTextColor(GREEN);
+ gfx.setTextSize(5);
+ gfx.println("Groop");
+ gfx.setTextSize(2);
+ gfx.println("I implore thee,");
+ gfx.setTextSize(1);
+ gfx.println("my foonting turlingdromes.");
+ gfx.println("And hooptiously drangle me");
+ gfx.println("with crinkly bindlewurdles,");
+ gfx.println("Or I will rend thee");
+ gfx.println("in the gobberwarts");
+ gfx.println("with my blurglecruncheon,");
+ gfx.println("see if I don't!");
+ return micros() - start;
+}
+
+unsigned long testLines(uint16_t color) {
+ unsigned long start, t;
+ int x1, y1, x2, y2,
+ w = gfx.width(),
+ h = gfx.height();
+
+ gfx.fillScreen(BLACK);
+
+ x1 = y1 = 0;
+ y2 = h - 1;
+ start = micros();
+ for(x2=0; x20; i-=6) {
+ i2 = i / 2;
+ start = micros();
+ gfx.fillRect(cx-i2, cy-i2, i, i, color1);
+ t += micros() - start;
+ // Outlines are not included in timing results
+ gfx.drawRect(cx-i2, cy-i2, i, i, color2);
+ }
+
+ return t;
+}
+
+unsigned long testFilledCircles(uint8_t radius, uint16_t color) {
+ unsigned long start;
+ int x, y, w = gfx.width(), h = gfx.height(), r2 = radius * 2;
+
+ gfx.fillScreen(BLACK);
+ start = micros();
+ for(x=radius; x10; i-=5) {
+ start = micros();
+ gfx.fillTriangle(cx, cy - i, cx - i, cy + i, cx + i, cy + i,
+ gfx.buildColor(0, i, i));
+ t += micros() - start;
+ gfx.drawTriangle(cx, cy - i, cx - i, cy + i, cx + i, cy + i,
+ gfx.buildColor(i, i, 0));
+ }
+
+ return t;
+}
+
+unsigned long testRoundRects() {
+ unsigned long start;
+ int w, i, i2,
+ cx = gfx.width() / 2 - 1,
+ cy = gfx.height() / 2 - 1;
+
+ gfx.fillScreen(BLACK);
+ w = min(gfx.width(), gfx.height());
+ start = micros();
+ for(i=0; i20; i-=6) {
+ i2 = i / 2;
+ gfx.fillRoundRect(cx-i2, cy-i2, i, i, i/8, gfx.buildColor(0, i, 0));
+ }
+
+ return micros() - start;
+}
diff --git a/Video_Audio_Player/smallfs/image.jpg b/Video_Audio_Player/smallfs/image.jpg
new file mode 100644
index 0000000..1399742
Binary files /dev/null and b/Video_Audio_Player/smallfs/image.jpg differ
diff --git a/Video_Audio_Player/smallfs/track1.sid b/Video_Audio_Player/smallfs/track1.sid
new file mode 100644
index 0000000..dd90512
Binary files /dev/null and b/Video_Audio_Player/smallfs/track1.sid differ
diff --git a/Video_Audio_Player/smallfs/track1.ymd b/Video_Audio_Player/smallfs/track1.ymd
new file mode 100644
index 0000000..b2f3ce8
Binary files /dev/null and b/Video_Audio_Player/smallfs/track1.ymd differ
diff --git a/Video_Audio_Player/smallfs/track2.sid b/Video_Audio_Player/smallfs/track2.sid
new file mode 100644
index 0000000..386db0a
Binary files /dev/null and b/Video_Audio_Player/smallfs/track2.sid differ
diff --git a/Video_Audio_Player/smallfs/track2.ymd b/Video_Audio_Player/smallfs/track2.ymd
new file mode 100644
index 0000000..cd0ade0
Binary files /dev/null and b/Video_Audio_Player/smallfs/track2.ymd differ
diff --git a/Video_Audio_Player/smallfs/track3.sid b/Video_Audio_Player/smallfs/track3.sid
new file mode 100644
index 0000000..c17a1e3
Binary files /dev/null and b/Video_Audio_Player/smallfs/track3.sid differ
diff --git a/Video_Audio_Player/smallfs/track3.ymd b/Video_Audio_Player/smallfs/track3.ymd
new file mode 100644
index 0000000..50d9eed
Binary files /dev/null and b/Video_Audio_Player/smallfs/track3.ymd differ
diff --git a/WING_Analog/circuit/PSL_Papilio_One_250K.xise b/WING_Analog/circuit/PSL_Papilio_One_250K.xise
index 616da4c..55685ae 100644
--- a/WING_Analog/circuit/PSL_Papilio_One_250K.xise
+++ b/WING_Analog/circuit/PSL_Papilio_One_250K.xise
@@ -18,18 +18,22 @@
+
+
+
+
diff --git a/WING_Analog/circuit/PSL_Papilio_One_500K.xise b/WING_Analog/circuit/PSL_Papilio_One_500K.xise
index cb5a3be..661ece6 100644
--- a/WING_Analog/circuit/PSL_Papilio_One_500K.xise
+++ b/WING_Analog/circuit/PSL_Papilio_One_500K.xise
@@ -18,26 +18,32 @@
+
+
+
+
+
+
diff --git a/WiiChuck/WiiChuck.ino b/WiiChuck/WiiChuck.ino
index 9093b65..ed11053 100644
--- a/WiiChuck/WiiChuck.ino
+++ b/WiiChuck/WiiChuck.ino
@@ -1,6 +1,6 @@
/*
- Gadget Factory - Project Name
- Use this as a template for DesignLab ZPUino System on Chip Projects
+ Gadget Factory - Wii Chuck example
+ An example of using the Wii Chuck Wing with the Nintendo Wii Chuck Controller.
To learn more about using DesignLab please visit http://learn.gadgetfactory.net
Tutorials:
@@ -8,17 +8,19 @@
Related library documentation:
Hardware:
+ WiiChuck Wing connected to AL WingSlot
Special Notes:
+ Only works on Papilio DUO and Papilio Pro boards.
- created 2014
+ created 2015
by Jack Gassett
http://www.gadgetfactory.net
This example code is in the public domain.
*/
-//#define circuit WiiChuck
+#define circuit ZPUino_Wings
#include "WiiChuck.h"
#include "i2c.h"
diff --git a/WiiChuck/circuit/250K/papilio_one_250k.bit b/WiiChuck/circuit/250K/papilio_one_250k.bit
deleted file mode 100644
index 82c566b..0000000
Binary files a/WiiChuck/circuit/250K/papilio_one_250k.bit and /dev/null differ
diff --git a/WiiChuck/circuit/500K/papilio_one_500k.bit b/WiiChuck/circuit/500K/papilio_one_500k.bit
deleted file mode 100644
index dec9d53..0000000
Binary files a/WiiChuck/circuit/500K/papilio_one_500k.bit and /dev/null differ
diff --git a/WiiChuck/circuit/DUO_LX9/COMM_zpuino_wb_I2C.spl b/WiiChuck/circuit/DUO_LX9/COMM_zpuino_wb_I2C.spl
deleted file mode 100644
index 334d8b2..0000000
--- a/WiiChuck/circuit/DUO_LX9/COMM_zpuino_wb_I2C.spl
+++ /dev/null
@@ -1,7 +0,0 @@
-[Inputs]
-=wishbone_in[100:0]=
-[Outputs]
-=wishbone_out[100:0]=
-[BiDir]
-i2c_scl
-i2c_sda
diff --git a/WiiChuck/circuit/DUO_LX9/Papilio_DUO_LX9.ngc b/WiiChuck/circuit/DUO_LX9/Papilio_DUO_LX9.ngc
deleted file mode 100644
index 0ae0a7d..0000000
--- a/WiiChuck/circuit/DUO_LX9/Papilio_DUO_LX9.ngc
+++ /dev/null
@@ -1,3 +0,0 @@
-XILINX-XDB 0.1 STUB 0.1 ASCII
-XILINX-XDM V1.6e
-$01:=~7<88:0<=>?0123456789::46>?0123057739:;<=??04761032==1;<=?>0:23446789;;=?11:8456688::86>?03:845638=:;==5?0022446698::<<>=;1324>6689::<=?>1122457739;:<=?>01224576811;=;<=>?002841678=:;<=>?0523<>6?89:;<=64090BA@CB02:3MLONA@3851=689::<6??0133457789;:=?;023446788;:=<>?0992456699;:j6??1;KMKPR=mq~T|d`|_hllqq:6890;285>008JJUSS2~cxdoaae^qokqY68Ve~x1??0;2=60=6880BB][[:vkplgiimVygcyQ>1^mvp97783:5>85>008JJUSS2~cxdoaae^qokqY6:Ve~x1??0;2=60=6880BB][[:vkplgiimVygcyQ>3^mvp97783:5>85>008JJUSS2~cxdoaae^qokqY650?07?4662@D[YY4xirjakkcX{eeS5Q`uu>245<76;>0==?5IORVP?qn{ahdbhQ|lnv\=Zir|5;;<7>1269244>:NWWTPR=mq~T|d`|_nww8467294996??1;MVPUSS2~cxdoaae^qokqY68Vce0<>?:1<11>7793E^X][[:vkplgiimVygcyQ>1^km8467294996??1;MVPUSS2~cxdoaae^qokqY6:Vce0<>?:1<11>7793E^X][[:vkplgiimVygcyQ>3^km8467294996??1;MVPUSS2~cxdoaae^qokqY6?:1<10>7793E^X][[:vkplgiimVygcyQ:_hl?556=878?7<>>:NWWTPR=`ycnb`j_rnlpZ0Xag6:<=4?>368557=G\^[YY4xirjakkcX{eeS5Qfn=334?69:=1:<<4@UURVP?qn{ahdbhQ|lnv\=Zoi48:;6=0=9:335?IR\Y__6zg|hcmmaZukg}U}eik`_nww8467294?7>0028547799;;<=??1133<>7698;:==??;032547699:;<=>>0028547698;:==??112355=698;:9?0123056682;?89;;55270133==;;7<;:5076146788::<<5=1b9144e:035?IR\Y__6j~fo^`vwZir|58;<7>1119147458;:;<=012;?7>?0;:3<0;2;i794@UURVP?uuidU|nR}jl^k?7?69:2?:86;>41:814@ENOLM86;:11681026991>98;?052341678=::<6;:54107732=<;:==6454760126991>98;:5472547689::<6;:5476@0@ANOLMJK645474103302?N9I;:29034=67:2=M>66?119;4=6?81:3<5>701:24>>E0H234LLMB@@;FD773H8J>K0:CBEDGFJOKJMLON8133?DDFJHHJM=??113341=FMH827L\K_SGPAQc3Hxoyd``_0c8EwbrageT==??;@pgqlhhW8:TEBLZF`9BvasnffU:=<>4AsfvmkiX98UBCO[Ia:Cq`poigV;9==5NrewjjjY6:VCDNXHn;@pgqlhhW89:<6O}dtkmkZ74W@EIYKo4AsfvmkiX9=;;7L|kuhll[42XAFH^Jl5NrewjjjY6=8:0Mjziom\50YNGK_Mm6O}dtkmkZ71991J~i{fnn]22ZOHJ\Lj7L|kuhll[41682Kyhxgao^34[LIE]Ok0Mjziom\5=773Hxoyd``_0:\MJDRNh1J~i{fnn]2=46Gul|cecR119BvasnffU90:Cq`poigV8:SDAMUGc8EwbrageT>???;@pgqlhhW;8TEBLZF`9BvasnffU9?<>4AsfvmkiX::UBCO[Ia:Cq`poigV8?==5NrewjjjY5991J~i{fnn]1=ZOHJ\Lm7L|kuhll[7YNGK_M56O}dtkmkZ5f3Hxoyd``_2224>Gul|cecR=?_HMAQCg?PIN@VBd=FzmbbbQ<2028EwbrageT??QFOCWEe>Gul|cecR=<119BvasnffU8?RG@BTDb?Dtc}`ddS>:>0:Cq`poigV9?SDAMUGc8EwbrageT?8??;@pgqlhhW:?TEBLZF`9BvasnffU8:<>4AsfvmkiX;?UBCO[Ia:Cq`poigV9<==5NrewjjjY4?VCDNXHn;@pgqlhhW:2:<6O}dtkmkZ5?W@EIYKo4AsfvmkiX;0;;7L|kuhll[6?XAFH^Jk5NrewjjjY4W@EIYK74AsfvmkiXGul|cecR:=_HMAQCgGul|cecR::119BvasnffU?9RG@BTDb?Dtc}`ddS98>0:Cq`poigV>=SDAMUGc8EwbrageT8:??;@pgqlhhW==TEBLZF`9BvasnffU?4<>4AsfvmkiX<1UBCO[Ia:Cq`poigV>2==5NrewjjjY31VCDNXHi;@pgqlhhW=UBCO[I9:Cq`poigV?j7L|kuhll[06682Kyhxgao^73[LIE]Ok0Mjziom\14773Hxoyd``_43\MJDRNh1J~i{fnn]6646Gul|cecR9i;@pgqlhhW>UBCO[I9:Cq`poigV2m7L|kuhll[=YNGK_M56O}dtkmkZ?a3Hxoyd``_8]JKGSA92H?7O[IG99AQVYNFOE:7N<4C108G44EKCOR:4=74CNONMQRBL880OBCB_{rvmkiXkUB>N94CSGBP@B63M80H=<4D0f8@ATXIECLB@KAT39GB7=CA>1OYBQ\W0a8@PIX[^;TEO[I1:G1?@2682O=:;O=23C167G5:;>0IL@502L?89;;4508BA773ON<9O7<1DA50D>58:1MHH=4FEP7?CBUM:1MH^:4FEQF0>@CW880JH:4FDGF0>@BNO>0JK>>119EB547:98;<=210;?C@7<9>;895IFD:7?C@B18:0JKKNFG0BBC4FNO8J46HIECDEBC773OLMHKJIDGFE@CBAL=1MJKK7;GDEB467811MJKHIFG@24>@ANOLMJK??107710773OLMJKHIF567112388:0JKHIFGDEA0CAM?J4?>:;GMQG@7?5F339J07=N==1BNXH6;HLJPVRF\L90ECX=;HM0?LIE=2CDNXH<;MGG6>JN>2FDOFKK7:NLCLEFD=1GYY?;;MWW61=K]]9?7A[[459OQQ333E__:85BUYAZ1>KRPO=97C>=;O30?K77;2D:>>5A1518J4043G;3>6@=3:L146=I:;>0B?;;4:L113295A2767?K41>=1E>;9<;O137>H4::1E?9=4N240?K5002D8;RLZFF18J6>43G92>6@;3:L746=I<890B9<<;O607>H3<:1E88=4N540?K20;2D?4>5A4818J0643G?:?6@:229M16587C;:3:L626=I=>90B86<;O7:6>H1;2D=<>5A6018J3443G<8?6@9429M205090B:><;O527>H0::1E;>=4N660?K12;2D<:>5A7618J2>43G=2>6@73:L;46=I0890B5<<;O:07>H?<:1E48=4N940?K>0;2D34>5A8818J<643G3:?6@6229M=6587C7:3:L:26=I1>90B46<;O;:3>HB\^EYG95AOOG2?J2Vd3Y$9<<=>001\H1=WI[^j7]GA_CWPMA^e3YCESO[\N@OF=>VLWAF^XCC9;QQGKKCa3Yk{eag`_EWL[I^>9>1[m}gcin]GQJYPagmT\d``uu38U4=U;2XSH<5\109PLWC@WLR_^LM[_OE@a>UOZLMTAD@PSHXF2>UH][IN:6]_I^AP<>UWAVGB_B64SQK\IJUN?2Y[ER]LK79PVQ_WM?1XXLZZS09W7>R_L=1_U]Kl;TQFVZPN[@HGI>5YCB;8RLCPW]S[I45Xioe\CUOH9m1SEAGAX,ZGF%6)9)Y_YO.?.0"BWFON:<1S@UGP45-TmkaSqyoTab}f_EJ?1;Jho`i_~~z>249[H]OX<=%\eci[yqg\ijunWMB7:3B`ghaWvvr6:<1S@UGP45-TmkaSqyoTab}f_EJ?3;Jho`i_~~z>179[H]OX<=%{ec>?/r{mg*`a98<0TAVF_56,tlh78&yrbn!if337?]J_AV>?#}ga01-p}ke({8<0TAVF_56,tlh79&yrbn!if035?]J_AV>?#}ga00-p}ke(no8:86VCXH]70*vnf9;$t`l/r35?]J_AV>?#}ga03-p}ke(no;::6VCXH]70*vnf98$t`l/gd151=_DQCT89!io21+vik&y::6VCXH]70*vnf99$t`l/gd253=_DQCT89!io20+vik&lm><:4XMZJ[12(x`d;?"}vnb-p53=_DQCT89!io27+vik&lm=<84XMZJ[12(x`d;8"}vnb-eb7733QFSER:;/qkm41)tqgi$<84XMZJ[12(x`d;9"}vnb-eb4713QFSER:;/qkm40)tqgi$jk<>4:ZO\LY3<&zbb=; sxl`+v713QFSER:;/qkm43)tqgi$jk?>6:ZO\LY3<&zbb=8 sxl`+c`59=1S@UGP45-smk61'zseo"}>6:ZO\LY3<&zbb=9 sxl`+c`69?1S@UGP45-smk60'zseo"hi2068\I^NW=>$|d`?7.qzjf)t9?1S@UGP45-smk6?'zseo"hi1048\I^NW=>$|d`?8.qzjf)an;;?7UBWI^67+uoi81%xucm s048\I^NW=>$|d`?9.qzjf)an8;=7UBWI^67+uoi80%xucm fg020>^KP@U?8"~fn1;,w|hd'z;=7UBWI^67+uoi99%xucm fg322>^KP@U?8"~fn02,w|hd'ol9=95WLYK\01)wag;;#~wac.q22>^KP@U?8"~fn03,w|hd'ol:=;5WLYK\01)wag;:#~wac.de642!|yoa,bc46<2RGTDQ;4.rjj45({pdh#~?9;YN[MZ23'yce=9!|yoa,bc76>2RGTDQ;4.rjj42({pdh#kh=159[H]OX<=%{ec?;/r{mg*u6>2RGTDQ;4.rjj43({pdh#kh>179[H]OX<=%{ec?:/r{mg*`a:8>0TAVF_56,tlh6=&yrbn!|179[H]OX<=%{ec?9/r{mg*`a98<0TAVF_56,tlh6>&yrbn!if337?]J_AV>?#}ga17-p}ke({8<0TAVF_56,tlh6?&yrbn!if035?]J_AV>?#}ga16-p}ke(no8:86VCXH]70*vnf8=$t`l/r35?]J_AV>?#}ga19-p}ke(no;::6VCXH]70*vnf82$t`l/gd151=_DQCT89!io3;+vik&y::6VCXH]70*vnf83$t`l/gd253=_DQCT89!io3:+vik&lm><:4XMZJ[12(x`d:5"}vnb-p53=_DQCT89!io03+vik&lm=<84XMZJ[12(x`d9<"}vnb-eb7733QFSER:;/qkm65)tqgi$<84XMZJ[12(x`d9="}vnb-eb4713QFSER:;/qkm64)tqgi$jk<>4:ZO\LY3<&zbb?? sxl`+v713QFSER:;/qkm67)tqgi$jk?>6:ZO\LY3<&zbb?< sxl`+c`59=1S@UGP45-smk45'zseo"}>6:ZO\LY3<&zbb?= sxl`+c`69?1S@UGP45-smk44'zseo"hi2068\I^NW=>$|d`=3.qzjf)t9?1S@UGP45-smk43'zseo"hi1048\I^NW=>$|d`=4.qzjf)an;;?7UBWI^67+uoi:=%xucm s048\I^NW=>$|d`=5.qzjf)an8;=7UBWI^67+uoi:<%xucm fg020>^KP@U?8"~fn37,w|hd'z;=7UBWI^67+uoi:?%xucm fg322>^KP@U?8"~fn34,w|hd'ol9=95WLYK\01)wag8=#~wac.q22>^KP@U?8"~fn35,w|hd'ol:=;5WLYK\01)wag8<#~wac.de6425!|yoa,w404!|yoa,bc46<2RGTDQ;4.rjj7?({pdh#~?9;YN[MZ23'yce?=!|yoa,bc76>2RGTDQ;4.rjj66({pdh#kh=159[H]OX<=%{ec=?/r{mg*u6>2RGTDQ;4.rjj67({pdh#kh>179[H]OX<=%{ec=>/r{mg*`a:8>0TAVF_56,tlh49&yrbn!|179[H]OX<=%{ec==/r{mg*`a98<0TAVF_56,tlh4:&yrbn!if337?]J_AV>?#}ga33-p}ke({8<0TAVF_56,tlh4;&yrbn!if035?]J_AV>?#}ga32-p}ke(no8:86VCXH]70*vnf:9$t`l/r35?]J_AV>?#}ga35-p}ke(no;::6VCXH]70*vnf:>$t`l/gd151=_DQCT89!io17+vik&y::6VCXH]70*vnf:?$t`l/gd253=_DQCT89!io16+vik&lm><:4XMZJ[12(x`d89"}vnb-p53=_DQCT89!io15+vik&lm=<84XMZJ[12(x`d8:"}vnb-eb7733QFSER:;/qkm73)tqgi$<84XMZJ[12(x`d8;"}vnb-eb4713QFSER:;/qkm72)tqgi$jk<>4:ZO\LY3<&zbb>9 sxl`+v713QFSER:;/qkm7=)tqgi$jk?>6:ZO\LY3<&zbb>6 sxl`+c`59=1S@UGP45-smk5?'zseo"}>6:ZO\LY3<&zbb>7 sxl`+c`69?1S@UGP45-smk5>'zseo"hi2068\I^NW=>$|d`<9.qzjf)t9?1S@UGP45-smk27'zseo"hi1048\I^NW=>$|d`;0.qzjf)an;;?7UBWI^67+uoi<9%xucm s048\I^NW=>$|d`;1.qzjf)an8;=7UBWI^67+uoi<8%xucm fg020>^KP@U?8"~fn53,w|hd'z;=7UBWI^67+uoi<;%xucm fg322>^KP@U?8"~fn50,w|hd'ol9=95WLYK\01)wag>9#~wac.q22>^KP@U?8"~fn51,w|hd'ol:=;5WLYK\01)wag>8#~wac.de642?#~wac.de5402RGTDQ;4.rjj10({pdh#kh=159[H]OX<=%{ec:9/r{mg*u6>2RGTDQ;4.rjj11({pdh#kh>179[H]OX<=%{ec:8/r{mg*`a:8>0TAVF_56,tlh3?&yrbn!|179[H]OX<=%{ec:7/r{mg*`a98<0TAVF_56,tlh30&yrbn!if337?]J_AV>?#}ga49-p}ke({8<0TAVF_56,tlh31&yrbn!if035?]J_AV>?#}ga48-p}ke(no8:86VCXH]70*vnf=3$t`l/r35?]J_AV>?#}ga51-p}ke(no;::6VCXH]70*vnf<:$t`l/gd151=_DQCT89!io73+vik&y::6VCXH]70*vnf<;$t`l/gd253=_DQCT89!io72+vik&lm><:4XMZJ[12(x`d>="}vnb-p53=_DQCT89!io71+vik&lm=<84XMZJ[12(x`d>>"}vnb-eb7733QFSER:;/qkm17)tqgi$<84XMZJ[12(x`d>?"}vnb-eb4713QFSER:;/qkm16)tqgi$jk<>4:ZO\LY3<&zbb8= sxl`+v13:ZO\LY21&K]^^^F_LKPK41f:ZO\LY21&yym`Qfnrv,IhsWg:;4=?>00d8\I^NW<3$ob_hlpp*Kj}qUe<=6?1032b>^KP@U>5"}}al]jjvr(EdsSc>?813154`79<;:j6VCXH]6=*uuidUbb~z Mlw{[k6709;==f:ZO\LY21&yym`Qfnrv,IhsWg:;4=?710d8\I^NW<3$ob_hlpp*Kj}qUe<=6?1832a>^KP@U>5"}}al]jjvr(EdsSc>?81025`=_DQCT94!|r`o\mkus'Dg~tR`?092054c708;n7UBWI^7:+vtfeVcey!Bmtz\j56?80;946VCXH]6=*uuidUbb~z Mlw{[jssW~xbxhQjn``oa44>3QFSER;6/rpbiZoi{}%FaxvPotv\swosmVoemobj100:?]J_AV?2#~|nm^kmwq)Je|rTcxzPwskwaZciikfn=?<6;YN[MZ3>'zxjaRgasu-Nip~Xg|~T{g{e^gmegjb9:987UBWI^7:+vtfeVcey!Bmtz\wqgsmR8VS]Y]_33\kZKRPV;;8Ra>359[H]OX=0%x~lcPioqw+HkrpVymykT2\]SSWY59VeTAXVP116\k474<2RGTDQ:9.qqehYnfz~$A`{w_rvbp`]5UVZ\^R<>_n]NQ]Y68=Ud=?=;;YN[MZ3>'zxjaRgasu-Nip~X{}kiV>Q@UU30f>^KP@U>5"}}al]jjvr(EdsS~zntdY1YZ^X:?UdSzgke^ov|Z44WF__=R]X0258\I^NW<3$ob_hlpp*Kj}qUxxlzj[3_\\Z41WfU|eikPmtz\66YH]]88n6VCXH]6=*uuidUbb~z Mlw{[vrf|lQ9QRVP27]l[rocmVg~tR<<_NWW6ZUP8:=0TAVF_4;,wwgjW`dxx"Cbuy]ppdrbS;WTTR<9_n]tmacXe|rT>>Q@UU10f>^KP@U>5"}}al]jjvr(EdsS~zntdY1YZ^X:?UdSzgke^ov|Z44WF__?R]X0258\I^NW<3$ob_hlpp*Kj}qUxxlzj[3_\\Z41WfU|eikPmtz\66YH]]>8n6VCXH]6=*uuidUbb~z Mlw{[vrf|lQ9QRVP27]l[rocmVg~tR<<_NWW0ZUP8:=0TAVF_4;,wwgjW`dxx"Cbuy]ppdrbS;WTTR<9_n]tmacXe|rT>>Q@UU70f>^KP@U>5"}}al]jjvr(EdsS~zntdY1YZ^X:?UdSzgke^ov|Z44WF__9R]X0258\I^NW<3$ob_hlpp*Kj}qUxxlzj[3_\\Z41WfU|eikPmtz\66YH]]<8n6VCXH]6=*uuidUbb~z Mlw{[vrf|lQ9QRVP27]l[rocmVg~tR<<_NWW2ZUP8:=0TAVF_4;,wwgjW`dxx"Cbuy]ppdrbS;WTTR<9_n]tmacXe|rT>>Q@UU50f>^KP@U>5"}}al]jjvr(EdsS~zntdY1YZ^X:?UdSzgke^ov|Z44WF__;R]X0258\I^NW<3$ob_hlpp*Kj}qUxxlzj[3_\\Z41WfU|eikPmtz\66YH]]28n6VCXH]6=*uuidUbb~z Mlw{[vrf|lQ9QRVP27]l[rocmVg~tR<<_NWW0TAVF_4;,wwgjW`dxx"Cbuy]ppwiemVkoh?>1c9[H]OX=0%x~lcPioqw+JBCZ;Ue[H?l;YN[MZ3>'zxjaRgasu-\j5771VcezW`d}=<94XMZJ[0?({{kfSd`|t.c`oZw592RGTDQ:9.qqehYnfz~$mij}_rcuaZw;9949=6VCXH]6=*uuidUbb~z aefq[vgqmV{7=<0=1:ZO\LY21&yym`Qfnrv,eabuWzk}iR313<15>^KP@U>5"}}al]jjvr(imnyS~oye^s?568592RGTDQ:9.qqehYnfz~$mij}_rcuaZw;9=49=6VCXH]6=*uuidUbb~z aefq[vgqmV{7=80=1:ZO\LY21&yym`Qfnrv,eabuWzk}iR317<15>^KP@U>5"}}al]jjvr(imnyS~oye^s?528592RGTDQ:9.qqehYnfz~$mij}_rcuaZw;9149=6VCXH]6=*uuidUbb~z aefq[vgqmV{7=40=1:ZO\LY21&yym`Qfnrv,eabuWzk}iR321<14>^KP@U>5"}}al]jjvr(imnyS~oye^s?6;473QFSER;6/rpbiZoi{}%jhi|Ps`tf[t:46;:0TAVF_4;,wwgjW`dxx"okds]pescXy5>5>=5WLYK\1<)tzhgTec}{/`fgvZuf~lUz080=0:ZO\LY21&yym`Qfnrv,eabuWzk}iR36?03?]J_AV?2#~|nm^kmwq)flmxTlxj_p>4:769:91S@UGP58-pvdkXagy#ljkr^qbr`Yv4049<6VCXH]6=*uuidUbb~z aefq[vgqmV{T==;YN[MZ3>'zxjaRgasu-b`atX{h|nS|Q>1328\I^NW<3$ob_hlpp*gcl{Uxm{kPq^3165=_DQCT94!|r`o\mkus'hno~R}nvd]r[45582RGTDQ:9.qqehYnfz~$mij}_rcuaZwX9=8;7UBWI^7:+vtfeVcey!ndep\wdpbWxU:9?>4XMZJ[0?({{kfSd`|t.cg`wYtioT}R?9219[H]OX=0%x~lcPioqw+dbczVyjzhQ~_0514>^KP@U>5"}}al]jjvr(imnyS~oye^s\5=473QFSER;6/rpbiZoi{}%jhi|Ps`tf[tY618l0TAVF_4;,wwgjW`dxx"okds]pescXyV89<6VCXH]6=*uuidUbb~z aefq[vgqmV{T>=?i;YN[MZ3>'zxjaRgasu-b`atX{h|nS|Q<1g9[H]OX=0%x~lcPioqw+dbczVyjzhQ~_53e?]J_AV?2#~|nm^kmwq)flmxTlxj_p]65c=_DQCT94!|r`o\mkus'hno~R}nvd]r[37a3QFSER;6/rpbiZoi{}%jhi|Ps`tf[tY09o1S@UGP58-pvdkXagy#ljkr^qbr`YvW1;m7UBWI^7:+vtfeVcey!ndep\wdpbWxU2>55WLYK\1<)tzhgTec}{/mqbu^6Z&zxjaRokds]rhjq502RGTDQ:9.qqehYnfz~$`~o~[0_-wwgjWhno~Rcov3b?]J_AV?2#~|nm^kmwq)i892;0=0>b:ZO\LY21&yym`Qfnrv,j56?85;;270=37:4d314<2f>^KP@U>5"}}al]jjvr(f9:3<1?9>0`8\I^NW<3$ob_hlpp*h781:7=:0>b:ZO\LY21&yym`Qfnrv,j56?85;3270=1=5d=_DQCT94!|r`o\mkus'g:;4=2;>0c8\I^NW<3$ob_hlpp*h781:793?n;YN[MZ3>'zxjaRgasu-m45>74?4:m6VCXH]6=*uuidUbb~z n12;49199h1S@UGP58-pvdkXagy#c>?81>;:4g39?3a?]J_AV?2#~|nm^kmwq)i|{cxxlzj1g9[H]OX=0%x~lcPioqw+kruaz~jxhQfnw05?]J_AV?2#~|nm^kmwq)i|{cxxlzj_hlu5ZOI^V:9>6VCXH]6=*uuidUbb~z otv\swosmVoemobj219[H]OX=0%x~lcPioqw+vgvS8:V"ljkrgd14>^KP@U>5"}}al]jjvr({h{P=2\,b`atan;:0TAVF_4;,wwgjW`dxx"}nqZ30Y+gcl{lm>=5WLYK\1<)tzhgTec}{/rcr_42Z&hno~kh=0:ZO\LY21&yym`Qfnrv,wdw\9'zxjaRgasu-pet]58T$jhi|if0d8\I^NW<3$ob_hlpp*ufyR8V"ljkrgd2b>^KP@U>5"}}al]jjvr({h{P?P ndepeb4`Z&hno~kh>f:ZO\LY21&yym`Qfnrv,wdw\1T$jhi|if0c8\I^NW<3$ob_hlpp*ubdV{7=3?n;YN[MZ3>'zxjaRgasu-paiYv4;4:m6VCXH]6=*uuidUbb~z sdn\u959901S@UGP58-pvdkXagy#~kc_p]25<=_DQCT94!|r`o\mkus'zogS|Q=189[H]OX=0%x~lcPioqw+vckWxU8=o5WLYK\1<)tzhgTec}{/rpbiZebW`8>7UBWI^7:+vtfeVcey!|r`o\`drfW{ojhR30?05?]J_AV?2#~|nm^kmwq)tzhgThlzn_sgb`Zw;9949:6VCXH]6=*uuidUbb~z sscn[agsiVxnmiQ~<03=63=_DQCT94!|r`o\mkus'zxjaRjnt`]qadbXy5;92?84XMZJ[0?({{kfSd`|t.qqehYci}kT~hok_p>27;413QFSER;6/rpbiZoi{}%x~lcPd`vb[wcflV{7=90=6:ZO\LY21&yym`Qfnrv,wwgjWmkmR|jae]r8439:?1S@UGP58-pvdkXagy#~|nm^fbpdYumhnT}1?9>348\I^NW<3$ob_hlpp*uuidUomyoPrdcg[t:6?78=7UBWI^7:+vtfeVcey!|r`o\`drfW{ojhR319<12>^KP@U>5"}}al]jjvr({{kfSio{a^pfeaYv4835>85WLYK\1<)tzhgTec}{/rpbiZbf|hUyiljPq=3=63=_DQCT94!|r`o\mkus'zxjaRjnt`]qadbXy58;2?84XMZJ[0?({{kfSd`|t.qqehYci}kT~hok_p>15;413QFSER;6/rpbiZoi{}%x~lcPd`vb[wcflV{7>?0=6:ZO\LY21&yym`Qfnrv,wwgjWmkmR|jae]r8759:?1S@UGP58-pvdkXagy#~|nm^fbpdYumhnT}1<;>348\I^NW<3$ob_hlpp*uuidUomyoPrdcg[t:5=78=7UBWI^7:+vtfeVcey!|r`o\`drfW{ojhR327<12>^KP@U>5"}}al]jjvr({{kfSio{a^pfeaYv4;=5>;5WLYK\1<)tzhgTec}{/rpbiZbf|hUyiljPq=0;:70'zxjaRgasu-pvdkXlh~jSknd^s?6;413QFSER;6/rpbiZoi{}%x~lcPd`vb[wcflV{7?=0=6:ZO\LY21&yym`Qfnrv,wwgjWmkmR|jae]r8679:<1S@UGP58-pvdkXagy#~|nm^fbpdYumhnT}1=1249[H]OX=0%x~lcPioqw+vtfeVnjxlQ}e`f\u929:<1S@UGP58-pvdkXagy#~|nm^fbpdYumhnT}1;1249[H]OX=0%x~lcPioqw+vtfeVnjxlQ}e`f\u909:<1S@UGP58-pvdkXagy#~|nm^fbpdYumhnT}191249[H]OX=0%x~lcPioqw+vtfeVnjxlQ}e`f\u9>9:<1S@UGP58-pvdkXagy#~|nm^fbpdYumhnT}171259[H]OX=0%x~lcPioqw+vtfeVnjxlQ}e`f\uZ65<2RGTDQ:9.qqehYnfz~$ob_ecweZtbimUzS<<:;YN[MZ3>'zxjaRgasu-pvdkXlh~jSknd^s\55423QFSER;6/rpbiZoi{}%x~lcPd`vb[wcflV{T=<<:;YN[MZ3>'zxjaRgasu-pvdkXlh~jSknd^s\57423QFSER;6/rpbiZoi{}%x~lcPd`vb[wcflV{T=><:;YN[MZ3>'zxjaRgasu-pvdkXlh~jSknd^s\51423QFSER;6/rpbiZoi{}%x~lcPd`vb[wcflV{T=8<:;YN[MZ3>'zxjaRgasu-pvdkXlh~jSknd^s\53423QFSER;6/rpbiZoi{}%x~lcPd`vb[wcflV{T=:<:;YN[MZ3>'zxjaRgasu-pvdkXlh~jSknd^s\5=423QFSER;6/rpbiZoi{}%x~lcPd`vb[wcflV{T=4<;;YN[MZ3>'zxjaRgasu-pvdkXlh~jSknd^s\673?;4XMZJ[0?({{kfSd`|t.qqehYci}kT~hok_p]177385WLYK\1<)tzhgTec}{/rpbiZbf|hUyiljPq^1360=_DQCT94!|r`o\mkus'zxjaRjnt`]qadbXyV9:>95WLYK\1<)tzhgTec}{/rpbiZbf|hUyiljPq^610>^KP@U>5"}}al]jjvr({{kfSio{a^pfeaYvW<8?7UBWI^7:+vtfeVcey!|r`o\`drfW{ojhRP6368\I^NW<3$ob_hlpp*uuidUomyoPrdcg[tY0:=1S@UGP58-pvdkXagy#~|nm^fbpdYumhnT}R6=4:ZO\LY21&yym`Qfnrv,wwgjWmkmR|jae]r[<433QFSER;6/rpbiZoi{}%x~lcPd`vb[rtn|l6;2?:4XMZJ[0?({{kfSd`|t.qqehYci}kT{g{e=3=61=_DQCT94!|r`o\mkus'zxjaRjnt`]tvlrb4;4986VCXH]6=*uuidUbb~z sscn[agsiV}yeyk33?07?]J_AV?2#~|nm^kmwq)tzhgThlzn_vpjp`:36;>0TAVF_4;,wwgjW`dxx"}}al]geqgX{ci1;1259[H]OX=0%x~lcPioqw+vtfeVnjxlQxrhvf8385<2RGTDQ:9.qqehYnfz~$ob_ecweZqua}o7;3<<;YN[MZ3>'zxjaRgasu-pvdkXlh~jSz|ftd]366=_DQCT94!|r`o\mkus'zxjaRjnt`]tvlrbW8887UBWI^7:+vtfeVcey!|r`o\`drfW~xbxhQ=229[H]OX=0%x~lcPioqw+vtfeVnjxlQxrhvf[6443QFSER;6/rpbiZoi{}%x~lcPd`vb[rtn|lU?>>5WLYK\1<)tzhgTec}{/rpbiZbf|hU|~dzj_400?]J_AV?2#~|nm^kmwq)tzhgThlzn_vpjp`Y1::1S@UGP58-pvdkXagy#~|nm^fbpdYpz`~nS:?m;YN[MZ3>'zxjaRgasu-pvdkXglUb>i5WLYK\1<)tzhgTec}{/rvbp`]5UVZ\^R<>_n]NQ]Y68=Ud>l5WLYK\1<)tzhgTec}{/rvbp`]5UVRT>;Q`_Lw{[70Xg:>0TAVF_4;,wwgjW`dxx"}{augX6XY_W;1359[H]OX=0%x~lcPioqw+vrf|lQ9QRVP27]l[rocmVg~tR<<_NWW8484<2RGTDQ:9.qqehYnfz~$yo{eZ0^[]Y5>VeT{djj_lw{[75XG\^7>3=;;YN[MZ3>'zxjaRgasu-ppdrbS;WTTR<9_n]tmacXe|rT>>Q@UU>0:625?95WLYK\1<)tzhgTec}{/rvbp`]5UVRT>;Q`_vkgaZkrpV88SB[[<4<00>^KP@U>5"}}al]jjvr({}kiV79?7UBWI^7:+vtfeVcey!|t`vf_7[XPV8=SbQxieg\ip~X::UDYY28>328\I^NW<3$ob_hlpp*usi}oTJ^CPFGf262=_DQCT94!|r`o\mkus'z~jxhQISL]EBa7Xzz~{cy;YN[MZ3>'zxjaRgasu-ppdrbWOYFSKHk2318\I^NW<3$ob_hlpp*usi}oTJ^CPFGf1)Lh5<2RGTDQ:9.qqehYnfz~$yo{e^DPIZ@Al;'Bb<;YN[MZ3>'zxjaRgasu-ppdrbWOYFSKHk3318\I^NW<3$ob_hlpp*usi}oTJ^CPFGf0)Lh5<2RGTDQ:9.qqehYnfz~$yo{e^DPIZ@Al:'Bb<<=;YN[MZ3>'zxjaRgasu-ppdrbWVd;=?932?32`>^KP@U>5"}}al]jjvr({}xdnhQndep2e>^KP@U>5"}}al]jjvr(kUjofQ`1e9[H]OX=0%x~lcPioqw+rdXlh~Tc1>11d9[H]OX=0%x~lcPioqw+rdXlh~Tc1??>0g8\I^NW<3$ob_hlpp*qeWmkSb2>1?3f?]J_AV?2#~|nm^kmwq)pjVnjxRa313<2a>^KP@U>5"}}al]jjvr(kUomyQ`<01=5`=_DQCT94!|r`o\mkus'~hThlzPo=37:4c21;7b3QFSER;6/rpbiZoi{}%|nRjnt^m?5386m2RGTDQ:9.qqehYnfz~${oQkau]l84199l1S@UGP58-pvdkXagy#zlPd`v\k97?68o0TAVF_4;,wwgjW`dxx"ym_ecw[j:617;o7UBWI^7:+vtfeVcey!xb^fbpZi;97;n7UBWI^7:+vtfeVcey!xb^fbpZi;:94:i6VCXH]6=*uuidUbb~z wc]geqYh4;;5=h5WLYK\1<)tzhgTec}{/v`\`drXg5892'zxjaRgasu-tfZbf|Ve7>90>e:ZO\LY21&yym`Qfnrv,sgYci}Ud0?;11d9[H]OX=0%x~lcPioqw+rdXlh~Tc1<9>0g8\I^NW<3$ob_hlpp*qeWmkSb2=7?3f?]J_AV?2#~|nm^kmwq)pjVnjxRa329<2a>^KP@U>5"}}al]jjvr(kUomyQ`<3;=5a=_DQCT94!|r`o\mkus'~hThlzPo=0=5`=_DQCT94!|r`o\mkus'~hThlzPo=13:4c05;7c3QFSER;6/rpbiZoi{}%|nRjnt^m?7;7c3QFSER;6/rpbiZoi{}%|nRjnt^m?0;7c3QFSER;6/rpbiZoi{}%|nRjnt^m?1;7c3QFSER;6/rpbiZoi{}%|nRjnt^m?2;7c3QFSER;6/rpbiZoi{}%|nRjnt^m?3;7c3QFSER;6/rpbiZoi{}%|nRjnt^m?<;7c3QFSER;6/rpbiZoi{}%|nRjnt^m?=;7d3QFSER;6/rpbiZoi{}%|nRjnt^m\44e^KP@U>5"}}al]jjvr(kUomyQ`_322`>^KP@U>5"}}al]jjvr(kUomyQ`_332`>^KP@U>5"}}al]jjvr(kUomyQ`_302`>^KP@U>5"}}al]jjvr(kUomyQ`_312`>^KP@U>5"}}al]jjvr(kUomyQ`_362`>^KP@U>5"}}al]jjvr(kUomyQ`_372`>^KP@U>5"}}al]jjvr(kUomyQ`_342`>^KP@U>5"}}al]jjvr(kUomyQ`_352`>^KP@U>5"}}al]jjvr(kUomyQ`_3:2`>^KP@U>5"}}al]jjvr(kUomyQ`_3;2g>^KP@U>5"}}al]jjvr(kUomyQ`_23g?]J_AV?2#~|nm^kmwq)pjVnjxRaP313g?]J_AV?2#~|nm^kmwq)pjVnjxRaP303`?]J_AV?2#~|nm^kmwq)pjVnjxRaP40a8\I^NW<3$ob_hlpp*qeWmkSbQ:1b9[H]OX=0%x~lcPioqw+rdXlh~TcR8>c:ZO\LY21&yym`Qfnrv,sgYci}UdS:?l;YN[MZ3>'zxjaRgasu-tfZbf|VeT43QFSER;6/rpbiZqeWhnySd2>0?3:?]J_AV?2#~|nm^ua[dbuW`6:=3?6;YN[MZ3>'zxjaRym_`fq[l:6:7;27UBWI^7:+vtfeV}iSlj}_h>27;7>3QFSER;6/rpbiZqeWhnySd2>4?3:?]J_AV?2#~|nm^ua[dbuW`6:93?6;YN[MZ3>'zxjaRym_`fq[l:6>7;27UBWI^7:+vtfeV}iSlj}_h>23;7>3QFSER;6/rpbiZqeWhnySd2>8?3:?]J_AV?2#~|nm^ua[dbuW`6:53?6;YN[MZ3>'zxjaRym_`fq[l:587;37UBWI^7:+vtfeV}iSlj}_h>1:4>0:8\I^NW<3$ob_v`\eatXa5=5=55WLYK\1<)tzhgT{oQnds]j8=8602RGTDQ:9.qqehYpjVko~Rg39?36?]J_AV?2#~|nm^ua[fjlW`;>7UBWI^7:+vtfeV}iSnwl_h3;?]J_AV?2#~|nm^ua[agsW`6;2<74XMZJ[0?({{kfSzlPd`v\m9776830TAVF_4;,wwgjW~hThlzPi=32:4?0;8\I^NW<3$ob_v`\`drXa5;82<74XMZJ[0?({{kfSzlPd`v\m9736830TAVF_4;,wwgjW~hThlzPi=36:4?0;8\I^NW<3$ob_v`\`drXa5;<2<74XMZJ[0?({{kfSzlPd`v\m97?6830TAVF_4;,wwgjW~hThlzPi=3::4>5=45WLYK\1<)tzhgT{oQkau]j8739901S@UGP58-pvdkXkUomyQf<34=5<=_DQCT94!|r`o\sgYci}Ub0?91189[H]OX=0%x~lcPwc]geqYn4;25=45WLYK\1<)tzhgT{oQkau]j87?9911S@UGP58-pvdkXkUomyQf<3<2=>^KP@U>5"}}al]tfZbf|Vc7?=0>9:ZO\LY21&yym`Qxb^fbpZo;;84:46VCXH]6=*uuidU|nRjnt^k?7;7?3QFSER;6/rpbiZqeWmkSd2;>0:8\I^NW<3$ob_v`\`drXa5?5=55WLYK\1<)tzhgT{oQkau]j838602RGTDQ:9.qqehYpjVnjxRg37?3;?]J_AV?2#~|nm^ua[agsW`632<64XMZJ[0?({{kfSzlPd`v\m9?99<1S@UGP58-pvdkXkUyyQf199[H]OX=0%x~lcPwc]paiYn494:46VCXH]6=*uuidU|nR}jl^k?5;7?3QFSER;6/rpbiZqeWzogSd2=>0:8\I^NW<3$ob_v`\w`jXa595=:5WLYK\1<)tzhgT{oQ|t`no[j723QFSER;6/rpbiZqeWz~iSd?;;YN[MZ3>'zxjaRym_vg\m40W~cxdoaae^qokqY6nQbarvfvZrhx&GfyuQPn1301466:h1S@UGP60-JjvrXa;iTal}{es]wku)Je|rTSc>>343257g;>200b?]J_AV<:#D`|t^k1gZkf{}oySya/Lov|ZYi889>=>?=a:ZO\LY19&CeyQf2b]nevrbzV~d|"Cbuy]\j574=8>:>l5WLYK\24)Nfz~Te?mPm`qwawYsgy%FaxvP_o2270729;k0TAVF_73,MkusW`8hS`o|tdp\pjv(EdsSR`?1272244>3QFSER8>/HlppZo5kVgjyk}_ums+HkrpVUe<<=:160:?]J_AV<:#D`|t^k1gZkf{}oySya/Lov|ZYi889>><<6;YN[MZ06'@dxxRg=c^obwqcuW}e{#@czx^]m4452;8827UBWI^42+Lht|Vc9oRcnsugq[qiw'Dg~tRQa0016044>3QFSER8>/HlppZo5kVgjyk}_ums+HkrpVUe<<=:500:?]J_AV<:#D`|t^k1gZkf{}oySya/Lov|ZYi889>:<<6;YN[MZ06'@dxxRg=c^obwqcuW}e{#@czx^]m4452?8827UBWI^42+Lht|Vc9oRcnsugq[qiw'Dg~tRQa0016<44>3QFSER8>/HlppZo5kVgjyk}_ums+HkrpVUe<<=:901:?]J_AV<:#D`|t^k1gZkf{}oySya/Lov|ZeuS>WToU8]^ov|Z70WF__=<=6;YN[MZ06'@dxxRg=c^obwqcuW}e{#@czx^aq_2[Xk{Q3QFSER8>/HlppZo5kVgjyk}_ums+HkrpViyW:SPcsY4YZkrpV;WToU8]^ov|Z70WF__9<=6;YN[MZ06'@dxxRg=c^obwqcuW}e{#@czx^aq_2[Xk{Q8927UBWI^42+Lht|Vc9oRcnsugq[qiw'Dg~tRm}[6_\gw]0UVg~tR?8_NWW345>3QFSER8>/HlppZo5kVgjyk}_ums+HkrpViyW:SPcsY4YZkrpV;Xag|9;6VCXH]55*Oi{}Ub>nQbarvfvZrhx&Ue<7_hlu570nQbarvfvZrhx&Ue<<=:<1<12>^KP@U=="Gasu]j6fYjiz~n~Rz`p.]m445248:5>;5WLYK\24)Nfz~Te?mPm`qwawYsgy%Tb=?<5=32:703<9;YN[MZ06'@dxxRg=c^obwqcuW}e{#R`?127?5685>2RGTDQ91.KmwqYn:jUfm~zjr^vlt*Yi889>0<:1279[H]OX>8%Bb~zPi3a\idusm{Uc}!Pn13019726;?0TAVF_73,MkusW`8hS`o|tdp\pjv(Wg::?82>>378\I^NW?;$Ec}{_h0`[hgt|lxTxb~ _o2270:56;?0TAVF_73,MkusW`8hS`o|tdp\pjv(Wg::?82<>378\I^NW?;$Ec}{_h0`[hgt|lxTxb~ _o2270:36;?0TAVF_73,MkusW`8hS`o|tdp\pjv(Wg::?82:>378\I^NW?;$Ec}{_h0`[hgt|lxTxb~ _o2270:16;?0TAVF_73,MkusW`8hS`o|tdp\pjv(Wg::?828>378\I^NW?;$Ec}{_h0`[hgt|lxTxb~ _o2270:?6;?0TAVF_73,MkusW`8hS`o|tdp\pjv(Wg::?826>348\I^NW?;$Ec}{_h0`[hgt|lxTxb~ _o2200Ynf8<7UBWI^42+Lht|Vc9oRcnsugq[qiw'Vd;=9;Piot25`=_DQCT:25]l[hsW1UDYY?>499[H]OX>8%Bb~zPi3a\idusm{Uc}!myug\gqtk'Dg~tRjlnuY1YZAILV;98RaPmtz\nQbarvfvZrhx&hrxhQltsn,IhsWmiexV/HlppZo5kVgjyk}_ums+gsmVi~a!Bmtz\ww]0UVMEHR?=4^m\ip~X;VE^X;6:ZO\LY19&CeyQf2b]nevrbzV~d|"lvtd]`pwj(EdsS~|T7\]DJAY6:=UdS`{w_2]LQQ461S@UGP60-JjvrXa;iTal}{es]wku)eq}oToy|c/Lov|ZuuS>WTKCJP136\kZkrpV9TCXZ<1548\I^NW?;$Ec}{_h0`[hgt|lxTxb~ bxvf[frud&GfyuQ|rZ5^[BHCW88?SbQbuy]0[JSS<8>=7UBWI^42+Lht|Vc9oRcnsugq[qiw'ksiRm{rm-Nip~X{{Q^KP@U=="Gasu]j6fYjiz~n~Rz`p.`zp`Yd|{f$A`{w_rpX3XY@FMU:>9Q`_lw{[6YH]]<:8;5WLYK\24)Nfz~Te?mPm`qwawYsgy%iuykPcupo+HkrpVyyW:SPGOF\572XgVg~tR=POTV4510TcRCZX^014Zi69<=0TAVF_73,MkusW`8hS`o|tdp\pjv(jp~nSnz}l.Onq}Yt|h~nalmgiog-gZusi}oP>PQHNE]261YhWD_SS??6_n36f>^KP@U=="Gasu]j6fYjiz~n~Rz`p.`zp`Yd|{f$A`{w_rvbp`kfkacei#mPsucwa^4ZWNDOS<<;_n]NQ]Y590Ud=R]X04:8\I^NW?;$Ec}{_h0`[hgt|lxTxb~ bxvf[frud&GfyuQ|t`vfideoago%oR}{augX6XY@FMU:>9Q`_LW[[746Wf;:955WLYK\24)Nfz~Te?mPm`qwawYsgy%iuykPcupo+HkrpVymykbabjjj`(dWz~jxhU=]^EM@Z75^KP@U=="Gasu]j6fYjiz~n~Rz`p.`zp`Yd|{f$A`{w_rvbp`kfkacei#mPsucwa^4ZWNDOS<<;_n]nq}Y35c9[H]OX>8%Bb~zPi3a\idusm{Uc}!myug\gqtk'Dg~tR}{augnefnnfl$hS~zntdY1YZAILV;98RaPmtz\01YH]];:=<;n;YN[MZ06'@dxxRg=c^obwqcuW}e{#ow{e^awvi)Je|rTyo{elc`llhb&jUxxlzj[3_\CKBX9;>TcRczx^67[JSS988>n6VCXH]55*Oi{}Ub>nQbarvfvZrhx&hrxhQltsn,IhsWz~jxhcncikma+eX{}kiVPQHNE]261YhWdsS9:POTV2563d3QFSER8>/HlppZo5kVgjyk}_ums+gsmVi~a!Bmtz\wqgsmdkhdd`j.b]ppdrbS;WTKCJP136\kZkrpV>?SB[[101250b25]l[hsW=>TCXZ>123250g25]l[hsW=>TCXZ>157b?]J_AV<:#D`|t^k1gZkf{}oySya/c{waZesze%FaxvPsucwahgd``dn"nQ|t`vf_7[XOGNT=?:Po^ov|Z23WF__=<;:8:ZO\LY19&CeyQf2b]nevrbzV~d|"lvtd]`pwj(EdsS~zntdobgmoim'iTyo{eZ0^[BHCW88?SbQbuy]70ZIR\;?27UBWI^42+Lht|Vc9oRcnsugq[qiw'ksiRm{rm-Nip~X{}ki`olhhlf*fYt|h~nW?SPGOF\572XgVg~tR:;_NWW643f3QFSER8>/HlppZo5kVgjyk}_ums+gsmVi~a!Bmtz\wqgsmdkhdd`j.b]ppdrbS;WTKCJP136\kZkrpV>?SB[[2036=>^KP@U=="Gasu]j6fYjiz~n~Rz`p.`zp`Yd|{f$A`{w_rvbp`kfkacei#mPsucwa^4ZWNDOS<<;_n]nq}Y346VCXH]55*Oi{}Ub>nQbarvfvZrhx&hrxhQltsn,IhsWz~jxhcncikma+eX{}kiV/HlppZo5kVgjyk}_ums+gsmVi~a!Bmtz\wqgsmdkhdd`j.b]ppdrbS;WTKCJP136\kZkrpV>?SB[[5236f>^KP@U=="Gasu]j6fYjiz~n~Rz`p.`zp`Yd|{f$A`{w_rvbp`kfkacei#mPsucwa^4ZWNDOS<<;_n]nq}Y314a8\I^NW?;$Ec}{_h0`[hgt|lxTxb~ bxvf[frud&GfyuQ|t`vfideoago%oR}{augX6XY@FMU:>9Q`_lw{[12XG\^>S^Y?599[H]OX>8%Bb~zPi3a\idusm{Uc}!myug\gqtk'Dg~tR}{augnefnnfl$hS~zntdY1YZAILV;98RaPmtz\01YH]]2>56VCXH]55*Oi{}Ub>nQbarvfvZrhx&hrxhQltsn,IhsWz~jxhcncikma+eX{}kiV8%Bb~zPi3a\idusm{Uc}!myug\gqtk'Dg~tR}{augnefnnfl$hS~zntdY1YZAILV;98RaPmtz\01YH]]28?=5WLYK\24)Nfz~Te?mPm`qwawYsgy%iuykPcupo+Zh79:8Tecx<1:ZO\LY19&CeyQf2b]nevrbzV~d|"lvtd]`pwj(Wg::??Qfnw31`>^KP@U=="Gasu]j6fYjiz~n~Rz`p.`zp`Yd|{f$mnePotv00>^KP@U=="Gasu]j6fYjiz~n~Rz`p.`zp`Yd|{f$mnePotv\vvrwg}937UBWI^42+Lht|Vc9oRcnsugq[qiw'ksiRm{rm-bgnYh}}Uyy~`t^QT41e8Q`_FLG[442WfUFYUQ=11]l15=_DQCT:=6VCXH]55*Oi{}Ub>nQbarvfvZrhx&hrxhQltsn,flrXk}xg#J@K_006[jY@FMU:>8Q`_lw{[44XG\^7=<0:1:ZO\LY19&CeyQf2b]nevrbzV~d|"lvtd]`pwj(j`~Toy|c/FLG[442WfULBIQ>24]l[hsW88TCXZ313<65>^KP@U=="Gasu]j6fYjiz~n~Rz`p.`zp`Yd|{f$ndzPcupo+BHCW88>SbQHNE]260YhWdsS<4XMZJ[37(AgySd8%Bb~zPi3a\idusm{Uc}!myug\gqtk'kcSnz}l.EM@Z75=VeTKCJP137\kZkrpV;9SB[[<5<64>^KP@U=="Gasu]j6fYjiz~n~Rz`p.`zp`Yd|{f$ndzPcupo+BHCW88>SbQHNE]260YhWdsS</HlppZo5kVgjyk}_ums+gsmVi~a!miu]`pwj(OGNT=?;Po^EM@Z75=VeTaxvP13]LQQ:16<:0TAVF_73,MkusW`8hS`o|tdp\pjv(jp~nSnz}l.`jpZesze%LBIQ>24]l[BHCW88>SbQbuy]26ZIR\5=59=5WLYK\24)Nfz~Te?mPm`qwawYsgy%iuykPcupo+gosWj~y`"IAD^311ZiXOGNT=?;Po^ov|Z75WF__050:0:ZO\LY19&CeyQf2b]nevrbzV~d|"lvtd]`pwj(j`~Toy|c/FLG[442WfULBIQ>24]l[hsW88TCXZ39?73?]J_AV<:#D`|t^k1gZkf{}oySya/c{waZesze%ieyQltsn,CKBX9;?TcRIAD^311ZiX{|hT=3:078Q`_FLG[442WfUxyoQ>1^MVP9776<;0TAVF_73,MkusW`8hS`o|tdp\pjv(jp~nSnz}l.`jpZesze%LBIQ>24]l[BHCW88>SbQ|uc]25ZIR\5;:28?4XMZJ[37(AgySd438\I^NW?;$Ec}{_h0`[hgt|lxTxb~ bxvf[frud&hbxRm{rm-DJAY6:8Q`_FLG[442WfUxyoQ>1^MVP979=91S@UGP60-JjvrXa;iTal}{es]wku)eq}oToy|c/ckw[frud&MEHR?=5^m\CKBX9;?TcR}zb^32[JSS4;4><6VCXH]55*Oi{}Ub>nQbarvfvZrhx&hrxhQltsn,flrXk}xg#J@K_006[jY@FMU:>8Q`_rwa[47XG\^7?3;?;YN[MZ06'@dxxRg=c^obwqcuW}e{#ow{e^awvi)ea}Uhxb GOF\573XgVMEHR?=5^m\wpdX98UDYY2;>428\I^NW?;$Ec}{_h0`[hgt|lxTxb~ bxvf[frud&hbxRm{rm-DJAY6:_NWW838282RGTDQ91.KmwqYn:jUfm~zjr^vlt*d~|lUhxb bhv\gqtk'NDOS<<:_n]DJAY6:4XMZJ[37(AgySd8%Bb~zPi3a\idusm{Uc}!myug\gqtk'kcSnz}l.O`kphsWjdSnw30?61?]J_AV<:#D`|t^k1gZkf{}oySya/c{waZesze%ieyQltsn,Ifirf}UhbyQly=2=[wr382RGTDQ91.KmwqYn:jUfm~zjr^vlt*d~|lUhxb bhv\gqtk'DidyczPcov\g|:687>;7UBWI^42+Lht|Vc9oRcnsugq[qiw'ksiRm{rm-amqYd|{f$Anaznu]`jqYdq5;:29>4XMZJ[37(AgySd8%Bb~zPi3a\idusm{Uc}!myug\gqtk'kcSnz}l.O`kphsWjdSnw312<74>^KP@U=="Gasu]j6fYjiz~n~Rz`p.`zp`Yd|{f$ndzPcupo+Heh}g~ToczPcx>20;5a3QFSER8>/HlppZo5kVgjyk}_ums+gsmVi~a!miu]`pwj(Eje~byQlnu]`}979;o1S@UGP60-JjvrXa;iTal}{es]wku)eq}oToy|c/ckw[frud&Ghcx`{_blw[f;:79m7UBWI^42+Lht|Vc9oRcnsugq[qiw'ksiRm{rm-amqYd|{f$Anaznu]`jqYdq595?k5WLYK\24)Nfz~Te?mPm`qwawYsgy%iuykPcupo+gosWj~y`"Clotlw[fhsWjs783=i;YN[MZ06'@dxxRg=c^obwqcuW}e{#ow{e^awvi)ea}Uhxb MbmvjqYdf}Uhu1;13g9[H]OX>8%Bb~zPi3a\idusm{Uc}!myug\gqtk'kcSnz}l.O`kphsWjdSnw36?1e?]J_AV<:#D`|t^k1gZkf{}oySya/c{waZesze%ieyQltsn,Ifirf}UhbyQly=5=7c=_DQCT:/HlppZo5kVgjyk}_ums+gsmVi~a!miu]`pwj(Eje~byQlnu]`}9?9;o1S@UGP60-JjvrXa;iTal}{es]wku)eq}oToy|c/ckw[frud&Ghcx`{_blw[`wiW9>;7UBWI^42+Lht|Vc9oRcnsugq[qiw'ksiRm{rm-amqYd|{f$Anaznu]`jqYbygU;=>h4XMZJ[37(AgySd/HlppZo5kVgjyk}_ums+gsmVi~a!miu]`pwj(Eje~byQlnu]fukY69=;0TAVF_73,MkusW`8hS`o|tdp\pjv(jp~nSnz}l.`jpZesze%Fob{at^ampZcvfV;:=9>4XMZJ[37(AgySd8%Bb~zPi3a\idusm{Uc}!myug\gqtk'kcSnz}l.O`kphsWjdSha_00205=_DQCT:nQbarvfvZrhx&hrxhQltsn,flrXk}xg#@m`uov\gkrXmxdT=9:>;YN[MZ06'@dxxRg=c^obwqcuW}e{#ow{e^awvi)ea}Uhxb MbmvjqYdf}Un}cQ>4063?]J_AV<:#D`|t^k1gZkf{}oySya/c{waZesze%ieyQltsn,Ifirf}UhbyQjqo]2117nQbarvfvZrhx&hrxhQltsn,flrXk}xg#@m`uov\gkrXmxdT><=i;YN[MZ06'@dxxRg=c^obwqcuW}e{#ow{e^awvi)ea}Uhxb MbmvjqYdf}Un}cQ<419[H]OX>8%Bb~zPi3a\idusm{Uc}!myug\gqtk'kcSnz}l.O`kphsWjdSha_230b>^KP@U=="Gasu]j6fYjiz~n~Rz`p.`zp`Yd|{f$ndzPcupo+Heh}g~ToczPepl\016;7UBWI^42+Lht|Vc9oRcnsugq[qiw'ksiRm{rm-amqYd|{f$Anaznu]`jqYbygU>=>h4XMZJ[37(AgySd;1:ZO\LY19&CeyQf2b]nevrbzV~d|"lvtd]`pwj(j`~Toy|c/LalqkrXkg~T`xz310<73>^KP@U=="Gasu]j6fYjiz~n~Rz`p.`zp`Yd|{f$ndzPcupo+Heh}g~ToczPltv?548XAG\T<9?4XMZJ[37(AgySd558\I^NW?;$Ec}{_h0`[hgt|lxTxb~ bxvf[frud&hbxRm{rm-Ngjsi|ViexRbzt=31:ZOI^V:?=6VCXH]55*Oi{}Ub>nQbarvfvZrhx&hrxhQltsn,flrXk}xg#@m`uov\gkrXd|~7=>0;7:ZO\LY19&CeyQf2b]nevrbzV~d|"lvtd]`pwj(j`~Toy|c/LalqkrXkg~T`xz312<\MKPX8=;0TAVF_73,MkusW`8hS`o|tdp\pjv(jp~nSnz}l.`jpZesze%Fob{at^ampZjr|5;?2994XMZJ[37(AgySd^KMRZ6392RGTDQ91.KmwqYn:jUfm~zjr^vlt*d~|lUhxb bhv\gqtk'DidyczPcov\hpr;9<4?;6VCXH]55*Oi{}Ub>nQbarvfvZrhx&hrxhQltsn,flrXk}xg#@m`uov\gkrXd|~7=80PIOT\4164XMZJ[37(AgySd8%Bb~zPi3a\idusm{Uc}!myug\gqtk'kcSnz}l.O`kphsWjdSa{{<2<\MKPX8=:0TAVF_73,MkusW`8hS`o|tdp\pjv(jp~nSnz}l.`jpZesze%Fob{at^ampZjr|5>58;5WLYK\24)Nfz~Te?mPm`qwawYsgy%iuykPcupo+gosWj~y`"Clotlw[fhsWe090PIOT\4164XMZJ[37(AgySd8%Bb~zPi3a\idusm{Uc}!myug\gqtk'kcSnz}l.O`kphsWjdSa{{<6<\MKPX8=:0TAVF_73,MkusW`8hS`o|tdp\pjv(jp~nSnz}l.`jpZesze%Fob{at^ampZjr|5258;5WLYK\24)Nfz~Te?mPm`qwawYsgy%iuykPcupo+gosWj~y`"Clotlw[fhsWe050PIOT\4168%Bb~zPi3a\idusm{Uc}!myug\gqtk'kcSnz}l.O`kphsWjdSua}<01=04=_DQCT:0:16nQbarvfvZrhx&hrxhQltsn,flrXk}xg#@m`uov\gkrXpfx7:3:?;YN[MZ06'@dxxRg=c^obwqcuW}e{#ow{e^awvi)ea}Uhxb MbmvjqYdf}Usc28>528\I^NW?;$Ec}{_h0`[hgt|lxTxb~ bxvf[frud&hbxRm{rm-Ngjsi|ViexRv`r=:=05=_DQCT:24]l[BHCW88>SbQbuy]26ZIR\;;>86VCXH]55*Oi{}Ub>nQbarvfvZrhx&hrxhQltsn,flrXk}xg#@czx^EM@Z75=VeTKCJP137\kZkrpV;9SB[[3077?]J_AV<:#D`|t^k1gZkf{}oySya/c{waZesze%ieyQltsn,IhsWNDOS<<:_n]DJAY6:0TAVF_73,MkusW`8hS`o|tdp\pjv(jp~nSnz}l.`jpZesze%FaxvPGOF\573XgVMEHR?=5^m\ip~X9;UDYY;>559[H]OX>8%Bb~zPi3a\idusm{Uc}!myug\gqtk'kcSnz}l.Onq}Y@FMU:>8Q`_FLG[442WfUfyuQ>2^MVP372<2RGTDQ91.KmwqYn:jUfm~zjr^vlt*d~|lUhxb bhv\gqtk'Dg~tRIAD^311ZiXOGNT=?;Po^ov|Z75WF__;<;;;YN[MZ06'@dxxRg=c^obwqcuW}e{#ow{e^awvi)ea}Uhxb Mlw{[BHCW88>SbQHNE]260YhWdsS<24]l[hsW609[H]OX>8%Bb~zPi3a\idusm{Uc}!myug\gqtk'kcSnz}l.Onq}Ye}zUxxlzzs^awvi(d[JFP81S@UGP60-JjvrXa;iTal}{es]wku)eq}oToy|c/ckw[frud&GfyuQmur]ppdrr{Vi~a lSECX4XY@FMU:>8Q`_lw{[3YH]]8::=5WLYK\24)Nfz~Te?mPm`qwawYsgy%iuykPcupo+gosWj~y`"Cbuy]aqvYt|h~~Rm{rm,eWFJ\:TU[[_Q=7^m\IP^X9=9Tc91:ZO\LY19&CeyQf2b]nevrbzV~d|"lvtd]`pwj(j`~Toy|c/Lov|Zdr{Vymy{|_bvqh+`TKEQ9QR^XR^04[jYj}qU::RAZT0355>^KP@U=="Gasu]j6fYjiz~n~Rz`p.`zp`Yd|{f$ndzPcupo+HkrpVh~R}{auwp[frud'lXOAU=]^RTVZ40WfUfyuQ>6^MVP77192RGTDQ91.KmwqYn:jUfm~zjr^vlt*d~|lUhxb bhv\gqtk'Dg~tRlzs^qweqstWj~y`#h\CMY1YZVPZV8nQbarvfvZrhx&hrxhQltsn,flrXk}xg#@czx^`vwZusi}xSnz}l/dP@D]5UVZ\^R<8_n]NQ]Y6<=Ud=<8>;YN[MZ06'@dxxRg=c^obwqcuW}e{#ow{e^awvi)ea}Uhxb Mlw{[gstWz~jxx}Pcupo*cUCIR8VS]Y]_35\kZkrpV;3SB[[1042?]J_AV<:#D`|t^k1gZkf{}oySya/c{waZesze%ieyQltsn,IhsWkxS~znttq\gqtk&oYOMV/HlppZo5kVgjyk}_ums+gsmVi~a!miu]`pwj(EdsSo{|_rvbppuXk}xg"k]KAZ0^[UQUW;=TcRczx^3;[JSS;8<<7UBWI^42+Lht|Vc9oRcnsugq[qiw'ksiRm{rm-amqYd|{f$A`{w_cwp[vrf||yToy|c.rvb[fiil`~bccQHNE]260YhWD_SS<:6_n3214=_DQCT:UdS@[W_332[j76==1S@UGP60-JjvrXa;iTal}{es]wku)eq}oToy|c/ckw[frud&GfyuQfsec\k`hXX^XT>:Q`_LW[[775Wf8T_Z>;d:ZO\LY19&CeyQf2b]nevrbzV~d|"lvtd]`pwj(j`~Toy|c/Lov|ZuTKEU[[_Q=7^m\IP^X9=?Tc;e:ZO\LY19&CeyQf2b]nevrbzV~d|"lvtd]`pwj(j`~Toy|c/Lov|ZuTLHULBIQ>24]l[HS_W8>4d9[H]OX>8%Bb~zPi3a\idusm{Uc}!myug\gqtk'kcSnz}l.Onq}Yt[MKTKCJP137\kZKRPV;?4Ra>15f8\I^NW?;$Ec}{_h0`[hgt|lxTxb~ bxvf[frud&hbxRm{rm-Nip~X{ZNJS]Y]_35\kZKRPV;?:Ra>1428\I^NW?;$Ec}{_h0`[hgt|lxTxb~ bxvf[frud&hbxRm{rm-Nip~X{mkToeePGOF\573XgVG^TR?:3^m211=_DQCT:i6VCXH]55*Oi{}Ub>nQbarvfvZrhx&hrxhQltsn,flrXk}xg#@}zb^EM@Z75=VeTKCJP137\kZurjV;:SB[[<0194;Ydq5:5:<5WLYK\24)Nfz~Te?mPm`qwawYsgy%iuykPcupo+gosWj~y`"C|uc]DJAY6:58Xkp6;2R|{5g9[H]OX>8%Bb~zPi3a\idusm{Uc}!myug\gqtk'kcSnz}l.OpqgY@FMU:>8Q`_FLG[442WfUxyoQ>1^MVP974294Tot2>0?7e?]J_AV<:#D`|t^k1gZkf{}oySya/c{waZesze%ieyQltsn,IvseWNDOS<<:_n]DJAY6:24]l[BHCW88>SbQ|uc]25ZIR\5;86=0Pcx>26;3b3QFSER8>/HlppZo5kVgjyk}_ums+gsmVi~a!miu]`pwj(EziSJ@K_006[jY@FMU:>8Q`_rwa[47XG\^7=>4?>^az8482m2RGTDQ91.KmwqYn:jUfm~zjr^vlt*d~|lUhxb bhv\gqtk'Dy~nRIAD^311ZiXOGNT=?;Po^qvfZ76WF__0<=50?]`}949=l1S@UGP60-JjvrXa;iTal}{es]wku)eq}oToy|c/ckw[frud&GxyoQHNE]260YhWNDOS<<:_n]pqgY69VE^X1?<:1<\g|:463;2=[f;<7?n7UBWI^42+Lht|Vc9oRcnsugq[qiw'ksiRm{rm-amqYd|{f$A~{m_FLG[442WfULBIQ>24]l[vseW8;TCXZ31283:Ze~4<4>i6VCXH]55*Oi{}Ub>nQbarvfvZrhx&hrxhQltsn,flrXk}xg#@}zb^EM@Z75=VeTKCJP137\kZurjV;:SB[[<0194;Ydq5<59h5WLYK\24)Nfz~Te?mPm`qwawYsgy%iuykPcupo+gosWj~y`"C|uc]DJAY6:58Xkp6<28k4XMZJ[37(AgySd27?69Wjs743;j;YN[MZ06'@dxxRg=c^obwqcuW}e{#ow{e^awvi)ea}Uhxb Mrwa[BHCW88>SbQHNE]260YhWziS_NWW845=87Ugyy2>0?45?]J_AV<:#D`|t^k1gZkf{}oySya/c{waZesze%ieyQltsn,IvseWNDOS<<:_n]DJAY6:nQbarvfvZrhx&hrxhQltsn,flrXk}xg#@}zb^EM@Z75=VeTKCJP137\kZurjV;:SB[[<0194;Yk}}6:=389;YN[MZ06'@dxxRg=c^obwqcuW}e{#ow{e^awvi)ea}Uhxb Mrwa[BHCW88>SbQHNE]260YhWziS>^KMRZ6182RGTDQ91.KmwqYn:jUfm~zjr^vlt*d~|lUhxb bhv\gqtk'Dy~nRIAD^311ZiXOGNT=?;Po^qvfZ76WF__0<=50?]oqq:6:7<=7UBWI^42+Lht|Vc9oRcnsugq[qiw'ksiRm{rm-amqYd|{f$A~{m_FLG[442WfULBIQ>24]l[vseW8;TCXZ31283:Zjr|5;92RGAV^254>^KP@U=="Gasu]j6fYjiz~n~Rz`p.`zp`Yd|{f$ndzPcupo+HurjVMEHR?=5^m\CKBX9;?TcR}zb^32[JSS4891<3Qcuu>27;013QFSER8>/HlppZo5kVgjyk}_ums+gsmVi~a!miu]`pwj(EziSJ@K_006[jY@FMU:>8Q`_rwa[47XG\^7=>4?>^nvp9746VCEZR>:f:ZO\LY19&CeyQf2b]nevrbzV~d|"lvtd]`pwj(j`~Toy|c/LqvfZAILV;99RaPGOF\573XgVy~nR?>_NWW845=87Ugyy2>>778\I^NW?;$Ec}{_h0`[hgt|lxTxb~ bxvf[frud&hbxRm{rm-NwpdXOGNT=?;Po^EM@Z75=VeTxlP10]LQQ:6;3:5Sa{{<0<\MKPX83;2=[iss4;4=96VCXH]55*Oi{}Ub>nQbarvfvZrhx&hrxhQltsn,flrXk}xg#@}zb^EM@Z75=VeTKCJP137\kZurjV;:SB[[<0194;Yk}}692RGAV^26b>^KP@U=="Gasu]j6fYjiz~n~Rz`p.`zp`Yd|{f$ndzPcupo+HurjVMEHR?=5^m\CKBX9;?TcR}zb^32[JSS4891<3Qcuu>0:331_mww868XAG\T<8h4XMZJ[37(AgySd27?69We09095:ZO\LY19&CeyQf2b]nevrbzV~d|"lvtd]`pwj(j`~Toy|c/LqvfZAILV;99RaPGOF\573XgVy~nR?>_NWW845=87Ugyy2;>^KMRZ62n2RGTDQ91.KmwqYn:jUfm~zjr^vlt*d~|lUhxb bhv\gqtk'Dy~nRIAD^311ZiXOGNT=?;Po^qvfZ76WF__0<=50?]oqq:26??0TAVF_73,MkusW`8hS`o|tdp\pjv(jp~nSnz}l.`jpZesze%FxlPGOF\573XgVMEHR?=5^m\wpdX98UDYY2>3;2=[iss4<4TECXP04d8\I^NW?;$Ec}{_h0`[hgt|lxTxb~ bxvf[frud&hbxRm{rm-NwpdXOGNT=?;Po^EM@Z75=VeTxlP10]LQQ:6;3:5Sa{{<7<51>^KP@U=="Gasu]j6fYjiz~n~Rz`p.`zp`Yd|{f$ndzPcupo+HurjVMEHR?=5^m\CKBX9;?TcR}zb^32[JSS4891<3Qcuu>5:ZOI^V:>j6VCXH]55*Oi{}Ub>nQbarvfvZrhx&hrxhQltsn,flrXk}xg#@}zb^EM@Z75=VeTKCJP137\kZurjV;:SB[[<0194;Yk}}6<2;;4XMZJ[37(AgySd27?69We0:0PIOT\40`1_mww8=81=2RGTDQ91.KmwqYn:jUfm~zjr^vlt*d~|lUhxb bhv\gqtk'Dy~nRIAD^311ZiXOGNT=?;Po^qvfZ76WF__0<=50?]oqq:?6VCEZR>:f:ZO\LY19&CeyQf2b]nevrbzV~d|"lvtd]`pwj(j`~Toy|c/LqvfZAILV;99RaPGOF\573XgVy~nR?>_NWW845=87Ugyy26>778\I^NW?;$Ec}{_h0`[hgt|lxTxb~ bxvf[frud&hbxRm{rm-NwpdXOGNT=?;Po^EM@Z75=VeTxlP10]LQQ:6;3:5Sa{{<8<\MKPX83;2=[}iu494=<6VCXH]55*Oi{}Ub>nQbarvfvZrhx&hrxhQltsn,flrXk}xg#@}zb^EM@Z75=VeTKCJP137\kZurjV;:SB[[<0194;Yg{6:<38?;YN[MZ06'@dxxRg=c^obwqcuW}e{#ow{e^awvi)ea}Uhxb Mrwa[BHCW88>SbQHNE]260YhWziS>728\I^NW?;$Ec}{_h0`[hgt|lxTxb~ bxvf[frud&hbxRm{rm-NwpdXOGNT=?;Po^EM@Z75=VeTxlP10]LQQ:6;3:5Sua}<00=25=_DQCT:24]l[BHCW88>SbQ|uc]25ZIR\5;86=0Pxnp?5682n2RGTDQ91.KmwqYn:jUfm~zjr^vlt*d~|lUhxb bhv\gqtk'Dy~nRIAD^311ZiXOGNT=?;Po^qvfZ76WF__0<=50?]{kw:663;2=[}iu4;4>j6VCXH]55*Oi{}Ub>nQbarvfvZrhx&hrxhQltsn,flrXk}xg#@}zb^EM@Z75=VeTKCJP137\kZurjV;:SB[[<0194;Yg{6828h4XMZJ[37(AgySd27?69Wqey090:f:ZO\LY19&CeyQf2b]nevrbzV~d|"lvtd]`pwj(j`~Toy|c/LqvfZAILV;99RaPGOF\573XgVy~nR?>_NWW845=87Usc2:>4d8\I^NW?;$Ec}{_h0`[hgt|lxTxb~ bxvf[frud&hbxRm{rm-NwpdXOGNT=?;Po^EM@Z75=VeTxlP10]LQQ:6;3:5Sua}<7<6b>^KP@U=="Gasu]j6fYjiz~n~Rz`p.`zp`Yd|{f$ndzPcupo+HurjVMEHR?=5^m\CKBX9;?TcR}zb^32[JSS4891<3Qwos>4:0`1_ymq8=82n2RGTDQ91.KmwqYn:jUfm~zjr^vlt*d~|lUhxb bhv\gqtk'Dy~nRIAD^311ZiXOGNT=?;Po^qvfZ76WF__0<=50?]{kw:>6:20TAVF_73,MkusW`8hS`o|tdp\pjv(jp~nSnz}l.`jpZesze%Yi~{ct=2=7<=_DQCT:1389[H]OX>8%Bb~zPi3a\idusm{Uc}!myug\gqtk'kcSnz}l.Pfwpjs48;5?45WLYK\24)Nfz~Te?mPm`qwawYsgy%iuykPcupo+gosWj~y`"\jstnw8449;01S@UGP60-JjvrXa;iTal}{es]wku)eq}oToy|c/ckw[frud&Xnxb{<01=7<=_DQCT:8%Bb~zPi3a\idusm{Uc}!myug\gqtk'kcSnz}l.Pfwpjs48?5?55WLYK\24)Nfz~Te?mPm`qwawYsgy%iuykPcupo+gosWj~y`"\jstnw848402RGTDQ91.KmwqYn:jUfm~zjr^vlt*d~|lUhxb bhv\gqtk'[oxyaz32?1;?]J_AV<:#D`|t^k1gZkf{}oySya/c{waZesze%ieyQltsn,V`urd}682>64XMZJ[37(AgySd^KP@U=="Gasu]j6fYjiz~n~Rz`p.`zp`Yd|{f$ndzPcupo+Wct}e~7:3=7;YN[MZ06'@dxxRg=c^obwqcuW}e{#ow{e^awvi)ea}Uhxb Rdqvhq:06:20TAVF_73,MkusW`8hS`o|tdp\pjv(jp~nSnz}l.`jpZesze%Yi~{ct=:=7==_DQCT:nQbarvfvZrhx&hrxhQltsn,flrXk}xg#R`?174\mkp6;01S@UGP60-JjvrXa;iTal}{es]wku)eq}oToy|c/ckw[frud&Ue<<9=_hlu7d=_DQCT:=7UBWI^42+Lht|Vc9oRcnsugq[qiw'ksiRm{rm-amqYd|{f$nx}PsucwqvYd|{f%o^MC<0<6`>^KP@U=="Gasu]j6fYjiz~n~Rz`p.`zp`Yd|{f$ndzPcupo+gstWz~jxx}Pcupo*fUDDR:VSJ@K_006[jYj}qU>SB[[<1<6`>^KP@U=="Gasu]j6fYjiz~n~Rz`p.`zp`Yd|{f$ndzPcupo+gstWz~jxx}Pcupo*fUDDR:VSJ@K_006[jYj}qU>SB[[<0<71>^KP@U=="Gasu]j6fYjiz~n~Rz`p.`zp`Yd|{f$ndzPcupo+gstWz~jxx}Pcupo*fUDDV:?96VCXH]55*Oi{}Ub>nQbarvfvZrhx&hrxhQltsn,flrXk}xg#o{|_rvbppuXk}xg"n]LL^372>^KP@U=="Gasu]j6fYjiz~n~Rz`p.`zp`Yd|{f$ndzPcupo+gstWz~jxx}Pcupo*fUCI5:58;5WLYK\24)Nfz~Te?mPm`qwawYsgy%iuykPcupo+gosWj~y`"lzs^qweqstWj~y`#m\D@>2:0b3:0b2:138%Bb~zPi3a\idusm{Uc}!myug\gqtk'kcSnz}l.`vwZusi}xSnz}l/an`ZusgyUyy~`t^QT4102RGTDQ91.KmwqYn:jUfm~zjr^vlt*d~|lUhxb bhv\gqtk'kxS~znttq\gqtk&oYH@1<1589[H]OX>8%Bb~zPi3a\idusm{Uc}!myug\gqtk'kcSnz}l.`vwZusi}xSnz}l/dPGI]5UVZ\^R<8_n]NQ]Y6<:Ud9i5WLYK\24)Nfz~Te?mPm`qwawYsgy%iuykPcupo+gosWj~y`"lzs^qweqstWj~y`#h\CMY1YZVPZV8/HlppZo5kVgjyk}_ums+gsmVi~a!miu]`pwj(j|yTyo{ur]`pwj)nZNJ0?0:9:ZO\LY19&CeyQf2b]nevrbzV~d|"lvtd]`pwj(j`~Toy|c/cwp[vrf||yToy|c.gQGE^4ZWY]YS?9Po^OV\Z73h6VCXH]55*Oi{}Ub>nQbarvfvZrhx&hrxhQltsn,flrXk}xg#o{|_rvbppuXk}xg"k]KAZ0^[UQUW;=TcRczx^3;[JSS494>h6VCXH]55*Oi{}Ub>nQbarvfvZrhx&hrxhQltsn,flrXk}xg#o{|_rvbppuXk}xg"k]KAZ0^[UQUW;=TcRczx^3;[JSS484>h6VCXH]55*Oi{}Ub>nQbarvfvZrhx&hrxhQltsn,flrXk}xg#o{|_rvbppuXk}xg"k]KAZ0^[UQUW;=TcRczx^3;[JSS4;4?96VCXH]55*Oi{}Ub>nQbarvfvZrhx&hrxhQltsn,flrXk}xg#o{|_rvbppuXk}xg"k]KA^271>^KP@U=="Gasu]j6fYjiz~n~Rz`p.`zp`Yd|{f$ndzPcupo+gstWz~jxx}Pcupo*cUCIV;?96VCXH]55*Oi{}Ub>nQbarvfvZrhx&hrxhQltsn,flrXk}xg#o{|_rvbppuXk}xg"k]KA^07g>^KP@U=="Gasu]j6fYjiz~n~Rz`p.`zp`Yd|{f$ndzPcupo+gstWz~jxx}Pcupo*cok|lxTocz30?6g?]J_AV<:#D`|t^k1gZkf{}oySya/c{waZesze%ieyQltsn,fpuX{}ky~Qltsn-bljsm{Uhby2>0?6g?]J_AV<:#D`|t^k1gZkf{}oySya/c{waZesze%ieyQltsn,fpuX{}ky~Qltsn-bljsm{Uhby2>1?6g?]J_AV<:#D`|t^k1gZkf{}oySya/c{waZesze%ieyQltsn,fpuX{}ky~Qltsn-bljsm{Uhby2>2?6g?]J_AV<:#D`|t^k1gZkf{}oySya/c{waZesze%ieyQltsn,fpuX{}ky~Qltsn-bljsm{Uhby2>3?6`?]J_AV<:#D`|t^k1gZkf{}oySya/c{waZesze%ieyQltsn,fpuX{}ky~Qltsn-bljsm{Uhby2>>5a8\I^NW?;$Ec}{_h0`[hgt|lxTxb~ bxvf[frud&hbxRm{rm-aqvYt|h~~Rm{rm,emirbzViex1<14b9[H]OX>8%Bb~zPi3a\idusm{Uc}!myug\gqtk'kcSnz}l.`vwZusi}xSnz}l/djhqcuWjd0>0;c:ZO\LY19&CeyQf2b]nevrbzV~d|"lvtd]`pwj(j`~Toy|c/cwp[vrf||yToy|c.gkop`tXkg~783:l;YN[MZ06'@dxxRg=c^obwqcuW}e{#ow{e^awvi)ea}Uhxb btq\wqgs}zUhxb!fhnwawYdf}6>29m4XMZJ[37(AgySd4?o6VCXH]55*Oi{}Ub>nQbarvfvZrhx&hrxhQltsn,flrXk}xg#o{|_rvbppuXk}xg"kgctdp\gkr;07>h7UBWI^42+Lht|Vc9oRcnsugq[qiw'ksiRm{rm-amqYd|{f$nx}PsucwqvYd|{f%jdb{es]`jq:>6?80TAVF_73,MkusW`8hS`o|tdp\pjv(jp~nSnz}l.`jpZesze%iy~Q|t`vvwZesze$meazjr^amp^74UVMEHR?=5^m\atsfdV;;Sb89;YN[MZ06'@dxxRg=c^obwqcuW}e{#ow{e^awvi)ea}Uhxb btq\wqgs}zUhxb!fhnwawYdf}Q:?PQHNE]260YhWl{~maQ>0^m?5681?2RGTDQ91.KmwqYn:jUfm~zjr^vlt*d~|lUhxb bhv\gqtk'kxS~znttq\gqtk&ocgxh|PcovX56[XOGNT=?;Po^grqdjX99Ud0<=11758\I^NW?;$Ec}{_h0`[hgt|lxTxb~ bxvf[frud&hbxRm{rm-aqvYt|h~~Rm{rm,emirbzViexV?<]^EM@Z75=VeTi|{nl^33[j:6;78=;6VCXH]55*Oi{}Ub>nQbarvfvZrhx&hrxhQltsn,flrXk}xg#o{|_rvbppuXk}xg"kgctdp\gkr\9:WTKCJP137\kZcv}hfT==Q`<01=71d^KP@U=="Gasu]j6fYjiz~n~Rz`p.`zp`Yd|{f$ndzPcupo+gstWz~jxx}Pcupo*cok|lxToczP15a8\I^NW?;$Ec}{_h0`[hgt|lxTxb~ bxvf[frud&hbxRm{rm-aqvYt|h~~Rm{rm,emirbzViexR??4b9[H]OX>8%Bb~zPi3a\idusm{Uc}!myug\gqtk'kcSnz}l.`vwZusi}xSnz}l/djhqcuWjdS;c:ZO\LY19&CeyQf2b]nevrbzV~d|"lvtd]`pwj(j`~Toy|c/cwp[vrf||yToy|c.gkop`tXkg~T=?:l;YN[MZ06'@dxxRg=c^obwqcuW}e{#ow{e^awvi)ea}Uhxb btq\wqgs}zUhxb!fhnwawYdf}U:?9l4XMZJ[37(AgySdnQbarvfvZrhx&hrxhQltsn,flrXk}xg#o{|_rvbppuXk}xg"kgctdp\gkrX;=h0TAVF_73,MkusW`8hS`o|tdp\pjv(jp~nSnz}l.`jpZesze%iy~Q|t`vvwZesze$meazjr^ampZ23j2RGTDQ91.KmwqYn:jUfm~zjr^vlt*d~|lUhxb bhv\gqtk'kxS~znttq\gqtk&ocgxh|Pcov\11d^KP@U=="Gasu]j6fYjiz~n~Rz`p.`zp`Yd|{f$ndzPcupo+gstWz~jxx}Pcupo*cok|lxToczP75`8\I^NW?;$Ec}{_h0`[hgt|lxTxb~ bxvf[frud&hbxRm{rm-aqvYt|h~~Rm{rm,emirbzViexR6;b:ZO\LY19&CeyQf2b]nevrbzV~d|"lvtd]`pwj(j`~Toy|c/cwp[vrf||yToy|c.gkop`tXkg~T59:4XMZJ[37(AgySd^KP@U=="Gasu]j6fYjiz~n~Rz`p.`zp`Yd|{f$ndzPcupo+gstWz~jxx}Pcupo*vrfWjeehdzfoo]DJAY6:/HlppZo5kVgjyk}_ums+gsmVi~a!miu]`pwj(j|yTyo{ur]`pwj){}eTob`kiuklj6`5WLYK\24)Nfz~Te?mPm`qwawYsgy%iuykPcupo+gosWj~y`"mPsucwaZ@TEVLMh?#Fn066?]J_AV<:#D`|t^k1gZkf{}oySya/c{waZesze%ieyQltsn,gZusi}oTJ^CPFGf1)Lh6;8>=7UBWI^42+Lht|Vc9oRcnsugq[qiw'ksiRm{rm-amqYd|{f$oR}{aug\BVKXNOn9!D`>30377>^KP@U=="Gasu]j6fYjiz~n~Rz`p.`zp`Yd|{f$ndzPcupo+fYt|h~nSK]B_GDg6(Oi:=90TAVF_73,MkusW`8hS`o|tdp\pjv(jp~nSnz}l.`jpZesze%hS~zntd]EWHYANm8&Ec=;3:ZO\LY19&CeyQf2b]nevrbzV~d|"lvtd]`pwj(j`~Toy|c/b]ppdrbWOYFSKHk2,Km06`#Fn^QT46`^KP@U=="Gasu]j6fYjiz~n~Rz`p.`zp`Yd|{f$ndzPcupo+fYt|h~nSK]B_GDg0(Oi:;;?:6VCXH]55*Oi{}Ub>nQbarvfvZrhx&hrxhQltsn,flrXk}xg#nQ|t`vf[CUJWOLo8 Ga_RU37c=_DQCT:/HlppZo5kVgjyk}_ums+gsmVi~a!miu]`pwj(kVymykPFRO\BCb2%@d?:6VCXH]55*Oi{}Ub>nQbarvfvZrhx&hrxhQltsn,flrXk}xg#nQ|t`vf[CUJWOLo9 Ga_RU270=_DQCT:84XMZJ[37(AgySd24;513QFSER8>/HlppZo5kVgjyk}_ums+gsmVi~a!miu]`pwj(kg~7=<0<6:ZO\LY19&CeyQf2b]nevrbzV~d|"lvtd]`pwj(j`~Toy|c/blw8449;?1S@UGP60-JjvrXa;iTal}{es]wku)eq}oToy|c/ckw[frud&iex1?<>248\I^NW?;$Ec}{_h0`[hgt|lxTxb~ bxvf[frud&hbxRm{rm-`jq:6<79=7UBWI^42+Lht|Vc9oRcnsugq[qiw'ksiRm{rm-amqYd|{f$ocz314<01>^KP@U=="Gasu]j6fYjiz~n~Rz`p.`zp`Yd|{f$ndzPcupo+fhs484896VCXH]55*Oi{}Ub>nQbarvfvZrhx&hrxhQltsn,flrXk}xg#n`{<3<01>^KP@U=="Gasu]j6fYjiz~n~Rz`p.`zp`Yd|{f$ndzPcupo+fhs4:4896VCXH]55*Oi{}Ub>nQbarvfvZrhx&hrxhQltsn,flrXk}xg#n`{<5<01>^KP@U=="Gasu]j6fYjiz~n~Rz`p.`zp`Yd|{f$ndzPcupo+fhs4<4896VCXH]55*Oi{}Ub>nQbarvfvZrhx&hrxhQltsn,flrXk}xg#n`{<7<01>^KP@U=="Gasu]j6fYjiz~n~Rz`p.`zp`Yd|{f$ndzPcupo+fhs4>4896VCXH]55*Oi{}Ub>nQbarvfvZrhx&hrxhQltsn,flrXk}xg#n`{<9<01>^KP@U=="Gasu]j6fYjiz~n~Rz`p.`zp`Yd|{f$ndzPcupo+fhs404886VCXH]55*Oi{}Ub>nQbarvfvZrhx&hrxhQltsn,flrXk}xg#n`{_117?]J_AV<:#D`|t^k1gZkf{}oySya/c{waZesze%ieyQltsn,gkrX9:?0TAVF_73,MkusW`8hS`o|tdp\pjv(jp~nSnz}l.`jpZesze%hbyQ>0278\I^NW?;$Ec}{_h0`[hgt|lxTxb~ bxvf[frud&hbxRm{rm-`jqY69:?0TAVF_73,MkusW`8hS`o|tdp\pjv(jp~nSnz}l.`jpZesze%hbyQ>2278\I^NW?;$Ec}{_h0`[hgt|lxTxb~ bxvf[frud&hbxRm{rm-`jqY6;:?0TAVF_73,MkusW`8hS`o|tdp\pjv(jp~nSnz}l.`jpZesze%hbyQ>4278\I^NW?;$Ec}{_h0`[hgt|lxTxb~ bxvf[frud&hbxRm{rm-`jqY6=:>0TAVF_73,MkusW`8hS`o|tdp\pjv(jp~nSnz}l.`jpZesze%hbyQ=359[H]OX>8%Bb~zPi3a\idusm{Uc}!myug\gqtk'kcSnz}l.ampZ54<2RGTDQ91.KmwqYn:jUfm~zjr^vlt*d~|lUhxb bhv\gqtk'jdS9=;;YN[MZ06'@dxxRg=c^obwqcuW}e{#ow{e^awvi)ea}Uhxb cov\162^KP@U=="Gasu]j6fYjiz~n~Rz`p.`zp`Yd|{f$ndzPcupo+fhsW19?7UBWI^42+Lht|Vc9oRcnsugq[qiw'ksiRm{rm-amqYd|{f$oczP9218\I^NW?;$Ec}{_h0`[hgt|lxTxb~ bxvf[frud&hbxRm{rm-gWFJ4;2RGTDQ91.KmwqYn:jUfm~zjr^vlt*d~|lUhxb bhv\gqtk'mYOM>=4XMZJ[37(AgySd^KP@U=="Gasu]j6fYjiz~n~Rz`p.`zp`Yd|{f$ndzPcupo+air|Vxxx}a{369[H]OX>8%Bb~zPi3a\idusm{Uc}!myug\gqtk'kcSnz}l.fpgiYhmg997UBWI^42+Lht|Vc9oRcnsugq[qiw'ksiRm{rm-amqYd|{f$elb<7:ZO\LY19&CeyQf2b]nevrbzV~d|"lvtd]`pwj(j`~Toy|c/hq`hZibf=k0TAVF_73,MkusW`8hS`o|tdp\pjv(jp~nSnz}l.`jpZesze%bnbPodl\TRTX:>UdS@[W_332[j5b3QFSER8>/HlppZo5kVgjyk}_ums+gsmVi~a!miu]`pwj(azigSbka_sqwtjr312RGTDQ91.KmwqYn:jUfm~zjr^vlt*d~|lUhxb bhv\gqtk'`yh`Rajn^qoescXhcSB\P4^m7e>^KP@U=="Gasu]j6fYjiz~n~Rz`p.`zp`Yd|{f$ndzPcupo+luddVenbR}cawg\sdosWFXT8Ra>369[H]OX>8%Bb~zPi3a\idusm{Uc}!myug\gqtk'kcSnz}l.kp`dYhmg9n7UBWI^42+Lht|Vc9oRcnsugq[qiw'ksiRm{rm-amqYd|{f$e~jn_ngm[wusxf~?>6VCXH]55*Oi{}Ub>nQbarvfvZrhx&hrxhQltsn,flrXk}xg#d}ka^mfjZtt|yeS^Y?3d9[H]OX>8%Bb~zPi3a\idusm{Uc}!myug\gqtk'kcSnz}l.pppZofdVEYS8>Po2d8\I^NW?;$Ec}{_h0`[hgt|lxTxb~ bxvf[frud&hbxRm{rm-qwqYnieUD^R;?_n377>^KP@U=="Gasu]j6fYjiz~n~Rz`p.`zp`Yd|{f$ndzPcupo+wusWzigS~wac^MQ[74Xg=>0TAVF_73,MkusW`8hS`o|tdp\pjv(jp~nSnz}l.`jpZesze%yyQ|cm]p}keXG[U9>Ra>459[H]OX>8%Bb~zPi3a\idusm{Uc}!myug\gqtk'kcSnz}l.pppZuddVyrbnQ@R^01[j43<2RGTDQ91.KmwqYn:jUfm~zjr^vlt*d~|lUhxb bhv\gqtk'{yS~mc_r{mgZIUW;8Tc>:;;YN[MZ06'@dxxRg=c^obwqcuW}e{#ow{e^awvi)ea}Uhxb rrv\wfjX{pdhSB\P23]l012?>5WLYK\24)Nfz~Te?mPm`qwawYsgy%iuykPcupo+gosWj~y`"}\CM65?]J_AV<:#D`|t^k1gZkf{}oySya/c{waZesze%ieyQltsn,wVEKWY]YS?9Po^OV\Z73=Ve8?6VCXH]55*Oi{}Ub>nQbarvfvZrhx&hrxhQltsn,flrXk}xg#~]KA558\I^NW?;$Ec}{_h0`[hgt|lxTxb~ bxvf[frud&hbxRm{rm-pWAGXOGNT=?;Po^OV\Z73?Ve?;6VCXH]55*Oi{}Ub>nQbarvfvZrhx&hrxhQltsn,flrXk}xg#~]KA^EM@Z75=VeTAXVP15:\k10=Sb=9;YN[MZ06'@dxxRg=c^obwqcuW}e{#ow{e^awvi)ea}Uhxb sec\gmm3i2RGTDQ91.KmwqYn:jUfm~zjr^vlt*d~|lUhxb bhv\gqtk'znjSnfd_FLG[442WfUFYUQ>52]l7a=_DQCT:8%Bb~zPi3a\idusm{Uc}!myug\gqtk'jeyiRmbd=2=74=_DQCT:8%Bb~zPi3a\idusm{Uc}!myug\gqtk'jeyiRmbd^204>^KP@U=="Gasu]j6fYjiz~n~Rz`p.`zp`Yd|{f$ob|j_bog[4573QFSER8>/HlppZo5kVgjyk}_ums+gsmVi~a!losg\ghbX:::0TAVF_73,MkusW`8hS`o|tdp\pjv(jp~nSnz}l.alv`YdemU8>h5WLYK\24)Nfz~Te?mPm`qwawYsgy%iuykPcupo+fiumV~sh?j4XMZJ[37(AgySdnQbarvfvZrhx&hrxhQltsn,`fhsS;WTKCJP136\kZkrpV2TCXZ32?0`?]J_AV<:#D`|t^k1gZkf{}oySya/c{waZesze%ooczP03a8\I^NW?;$Ec}{_h0`[hgt|lxTxb~ bxvf[frud&nhbyQ>2b9[H]OX>8%Bb~zPi3a\idusm{Uc}!myug\gqtk'miexR<=e:ZO\LY19&CeyQf2b]nevrbzV~d|"lvtd]`pwj(`fySlmd299[H]OX>8%Bb~zPi3a\idusm{Uc}!myug\gqtk'en9n6VCXH]55*Oi{}Ub>nQbarvfvZrhx&hrxhQltsn,wmoa|;h0TAVF_73,MkusW`8hS`o|tdp\pjv(jp~nSnz}l.qq8585j2RGTDQ91.KmwqYn:jUfm~zjr^vlt*d~|lUhxb ss>2:7d^KP@U=="Gasu]j6fYjiz~n~Rz`p.`zp`Yd|{f$2<>3`8\I^NW?;$Ec}{_h0`[hgt|lxTxb~ bxvf[frud&yy090=b:ZO\LY19&CeyQf2b]nevrbzV~d|"lvtd]`pwj({{6>2?l4XMZJ[37(AgySdnQbarvfvZrhx&hrxhQltsn,ww:06=80TAVF_73,MkusW`8hS`o|tdp\pjv(jp~nSnz}l.qq_2[XOGNT=?:Po^ov|Z5XG\^7<3:=;YN[MZ06'@dxxRg=c^obwqcuW}e{#ow{e^awvi)tzR=VSJ@K_007[jYj}qU8SB[[<0<76>^KP@U=="Gasu]j6fYjiz~n~Rz`p.`zp`Yd|{f$U8]^EM@Z759Q`_lw{[6YH]]6829<4XMZJ[37(AgySdWTKCJP136\kZkrpV9TCXZ34?61?]J_AV<:#D`|t^k1gZkf{}oySya/c{waZesze%x~V9R_FLG[443WfUfyuQ<_NWW8083:2RGTDQ91.KmwqYn:jUfm~zjr^vlt*d~|lUhxb ssY4YZAILV;98RaPmtz\7ZIR\5<58?5WLYK\24)Nfz~Te?mPm`qwawYsgy%iuykPcupo+vt\?TULBIQ>25]l[hsW:UDYY28>3c8\I^NW?;$Ec}{_h0`[hgt|lxTxb~ bxvf[frud&yyS=nQbarvfvZrhx&hrxhQltsn,wwY5:h1S@UGP60-JjvrXa;iTal}{es]wku)eq}oToy|c/rp\77gl5WLYK\24)Nfz~Te?mPm`qwawYsgy%iuykPcupo+vtX?<;0TAVF_73,MkusW`8hS`o|tdp\pjv(jp~nSnz}l.qweqcjijbbbh l_rvbp`]6UVMEHR?=4^m\IP^X:;:Tc8?4XMZJ[37(AgySd<7Po438\I^NW?;$Ec}{_h0`[hgt|lxTxb~ bxvf[frud&ymykbabjjj`(dWz~jxhU=]^EM@Z75478\I^NW?;$Ec}{_h0`[hgt|lxTxb~ bxvf[frud&ymykbabjjj`(dWz~jxhU=]^EM@Z75478\I^NW?;$Ec}{_h0`[hgt|lxTxb~ bxvf[frud&ymykbabjjj`(dWz~jxhU=]^EM@Z751S@UGP60-JjvrXa;iTal}{es]wku)eq}oToy|c/rvbp`kfkacei#mPsucwaZ@TEVLMh<#Fn064?]J_AV<:#D`|t^k1gZkf{}oySya/c{waZesze%xxlzjm`akmkc)kVymykPFRO\BCb6%@d98:5WLYK\24)Nfz~Te?mPm`qwawYsgy%iuykPcupo+vrf|lgjoegae/a\wqgsmVLXARHId0/Jj6243QFSER8>/HlppZo5kVgjyk}_ums+gsmVi~a!|t`vfideoago%oR}{aug\BVKXNOn98;5WLYK\24)Nfz~Te?mPm`qwawYsgy%iuykPcupo+vrf|lgjoegae/a\wqgsmVLXARHId3/Jj11/HlppZo5kVgjyk}_ums+gsmVi~a!|t`vfideoago%oR}{aug\BVKXNOn8!D`>499[H]OX>8%Bb~zPi3a\idusm{Uc}!myug\gqtk'z~jxhcncikma+eX{}kiRH\M^DE`6+Nf8;?;6VCXH]55*Oi{}Ub>nQbarvfvZrhx&hrxhQltsn,wqgsmdkhdd`j.b]ppdrbWOYFSKHk3,Km611^KP@U=="Gasu]j6fYjiz~n~Rz`p.aq848592RGTDQ91.KmwqYn:jUfm~zjr^vlt*eu4;49=6VCXH]55*Oi{}Ub>nQbarvfvZrhx&iy0>0=1:ZO\LY19&CeyQf2b]nevrbzV~d|"m}<5<15>^KP@U=="Gasu]j6fYjiz~n~Rz`p.aq808592RGTDQ91.KmwqYn:jUfm~zjr^vlt*eu4?49=6VCXH]55*Oi{}Ub>nQbarvfvZrhx&iy0:0<5:ZO\LY19&CeyQf2b]nevrbzV~d|"m}[6_\gw]0UVg~tR?8_NWW8584=2RGTDQ91.KmwqYn:jUfm~zjr^vlt*euS>WToU8]^ov|Z70WF__0<0<5:ZO\LY19&CeyQf2b]nevrbzV~d|"m}[6_\gw]0UVg~tR?8_NWW8784=2RGTDQ91.KmwqYn:jUfm~zjr^vlt*euS>WToU8]^ov|Z70WF__0>0<5:ZO\LY19&CeyQf2b]nevrbzV~d|"m}[6_\gw]0UVg~tR?8_NWW8184=2RGTDQ91.KmwqYn:jUfm~zjr^vlt*euS>WToU8]^ov|Z70WF__080<5:ZO\LY19&CeyQf2b]nevrbzV~d|"m}[6_\gw]0UVg~tR?8_NWW8384=2RGTDQ91.KmwqYn:jUfm~zjr^vlt*euS>WToU8]^ov|Z70WF__0:0=0:ZO\LY19&CeyQf2b]nevrbzV~d|"m}_103?]J_AV<:#D`|t^k1gZkf{}oySya/bp\576nQbarvfvZrhx&iyS9;YN[MZ06'@dxxRg=c^obwqcuW}e{#n|P5328\I^NW?;$Ec}{_h0`[hgt|lxTxb~ cs]565=_DQCT:?5WLYK\24)Nfz~Te?mPm`qwawYsgy%hx2>>308\I^NW?;$Ec}{_h0`[hgt|lxTxb~ cup?6;453QFSER8>/HlppZo5kVgjyk}_ums+fru4:49>6VCXH]55*Oi{}Ub>nQbarvfvZrhx&i~1:1239[H]OX>8%Bb~zPi3a\idusm{Uc}!lts>6:747897UBWI^42+Lht|Vc9oRcnsugq[qiw'j~y0:0=1:ZO\LY19&CeyQf2b]nevrbzV~d|"m{r^215>^KP@U=="Gasu]j6fYjiz~n~Rz`p.awvZ7592RGTDQ91.KmwqYn:jUfm~zjr^vlt*eszV89=6VCXH]55*Oi{}Ub>nQbarvfvZrhx&i~R==1:ZO\LY19&CeyQf2b]nevrbzV~d|"m{r^615>^KP@U=="Gasu]j6fYjiz~n~Rz`p.awvZ3592RGTDQ91.KmwqYn:jUfm~zjr^vlt*eszV<9=6VCXH]55*Oi{}Ub>nQbarvfvZrhx&i~R9=d:ZO\LY19&CeyQf2b]nevrbzV~d|"g=c^co[djXG[U>8Ra=e:ZO\LY19&CeyQf2b]nevrbzV~d|"g=c^co[djXG[U>8Ra>239[H]OX>8%Bb~zPi3a\idusm{Uc}!fabi\k72o5WLYK\24)Nfz~Te?mPm`qwawYsgy%b~|Qil`e\vvrwg}8:7UBWI^42+Lht|Vc9oRcnsugq[qiw'ds=<<=;YN[MZ06'@dxxRg=c^obwqcuW}e{#`{w10317>^KP@U=="Gasu]j6fYjiz~n~Rz`p.ov|4769;90TAVF_73,MkusW`8hS`o|tdp\pjv(e|r:=<<=3:ZO\LY19&CeyQf2b]nevrbzV~d|"czx032774^KP@U=="Gasu]j6fYjiz~n~Rz`p.ov|776:;1S@UGP60-JjvrXa;iTal}{es]wku)j}q8:>??4XMZJ[37(AgySd/HlppZo5kVgjyk}_ums+hs;889=6VCXH]55*Oi{}Ub>nQbarvfvZrhx&g~t9?=2:ZO\LY19&CeyQf2b]nevrbzV~d|"czx53267=_DQCT:=?<4XMZJ[37(AgySd<5WLYK\24)Nfz~Te?mPm`qwawYsgy%fyu8>239[H]OX>8%Bb~zPi3a\idusm{Uc}!buy42574nQbarvfvZrhx&g~t:?<_F00?]J_AV<:#D`|t^k1gZkf{}oySya/qpfv969:=1S@UGP60-JjvrXa;iTal}{es]wku)wzlx7==0=4:ZO\LY19&CeyQf2b]nevrbzV~d|"~}es>25;433QFSER8>/HlppZo5kVgjyk}_ums+utbz5;92?:4XMZJ[37(AgySdnQbarvfvZrhx&zyi2>5?00?]J_AV<:#D`|t^k1gZkf{}oySya/qpfv979::1S@UGP60-JjvrXa;iTal}{es]wku)wzlx7>3<<;YN[MZ06'@dxxRg=c^obwqcuW}e{#}|jr=1=66=_DQCT:8%Bb~zPi3a\idusm{Uc}!rdp?2;443QFSER8>/HlppZo5kVgjyk}_ums+utbz5=5>>5WLYK\24)Nfz~Te?mPm`qwawYsgy%{~h|38?00?]J_AV<:#D`|t^k1gZkf{}oySya/qpfv9?9:;1S@UGP60-JjvrXa;iTal}{es]wku)wzlxT<4XMZJ[37(AgySd8%Bb~zPi3a\idusm{Uc}!rdp\50453QFSER8>/HlppZo5kVgjyk}_ums+utbzV89>6VCXH]55*Oi{}Ub>nQbarvfvZrhx&zyiQ<239[H]OX>8%Bb~zPi3a\idusm{Uc}!rdp\074nQbarvfvZrhx&~b|?<4XMZJ[37(AgySd?5WLYK\24)Nfz~Te?mPm`qwawYsgy%t2<>308\I^NW?;$Ec}{_h0`[hgt|lxTxb~ typ?0;453QFSER8>/HlppZo5kVgjyk}_ums+q~u4<49>6VCXH]55*Oi{}Ub>nQbarvfvZrhx&~s~181239[H]OX>8%Bb~zPi3a\idusm{Uc}!{xs>4:77nQbarvfvZrhx&}iSlj}_hY1YZAILV;9?RaPwhff[hsW8UDYY2>>518\I^NW?;$Ec}{_h0`[hgt|lxTxb~ wc]b`wYnS;WTKCJP131\kZqnllUfyuQ>_NWW8783;2RGTDQ91.KmwqYn:jUfm~zjr^vlt*qeWhnySdU=]^EM@Z75;VeT{djj_lw{[4YH]]6829=4XMZJ[37(AgySd^KP@U=="Gasu]j6fYjiz~n~Rz`p.ua[dbuW`Q9QRIAD^317ZiX`nnS`{w_0]LQQ:26=90TAVF_73,MkusW`8hS`o|tdp\pjv(kUjhQf[3_\CKBX9;9TcRyfdd]nq}Y6WF__0;0;3:ZO\LY19&CeyQf2b]nevrbzV~d|"ym_`fq[l]5UVMEHR?=3^m\slbbWdsS4:625^m262=_DQCT:1S@UGP60-JjvrXa;iTal}{es]wku)pjVnjxRa32?04?]J_AV<:#D`|t^k1gZkf{}oySya/v`\`drXg595>:5WLYK\24)Nfz~Te?mPm`qwawYsgy%|nRjnt^m?0;403QFSER8>/HlppZo5kVgjyk}_ums+rdXlh~Tc1;1269[H]OX>8%Bb~zPi3a\idusm{Uc}!xb^fbpZi;>78<7UBWI^42+Lht|Vc9oRcnsugq[qiw'~hThlzPo=5=63=_DQCT:/HlppZo5kVgjyk}_ums+rdXlh~TcR<=6:ZO\LY19&CeyQf2b]nevrbzV~d|"ym_ecw[jY4:?1S@UGP60-JjvrXa;iTal}{es]wku)pjVnjxRaP4348\I^NW?;$Ec}{_h0`[hgt|lxTxb~ wc]geqYhW<8=7UBWI^42+Lht|Vc9oRcnsugq[qiw'~hThlzPo^412>^KP@U=="Gasu]j6fYjiz~n~Rz`p.ua[agsWfU<>85WLYK\24)Nfz~Te?mPm`qwawYsgy%|nRgat`]l6f=_DQCT:^KP@U=="~fnRAO+vik&lm=<94XMZJ[37(x`dXOA!|yoa,bc46=2RGTDQ91.rjjVEK'zseo"}>7:ZO\LY19&zbb^JN/r{mg*`a98=0TAVF_73,tlhTLH%xucm fg021>^KP@U=="~fnRFB+vik&y:=6VCXH]55*uddVzjhRg>1:ZO\LY19&yomR~nd^ka?]J_FV>?51;1b:ZO\KY3<06=2o5WLYL\01?;?7h0TAVA_4;;858d3QFSBR;68=33:f=_DQDT946310<`?]J_FV?241?=>b9[H]HX=027=>0l;YN[JZ3>05;?2n5WLYL\1<>;9<4h7UBWN^7:<9716j1S@U@P58:?528d3QFSBR;68=3;:f=_DQDT94631810;e^KPGU>552=6?a8\I^IW<330?91c:ZO\KY2116943m4XMZM[0??4;35n6VCXO]6==:56j1S@U@P58:?758d3QFSBR;68=12:f=_DQDT946333<`?]J_FV?241=<>b9[H]HX=027?90l;YN[JZ3>059>2n5WLYL\1<>;;?4h7UBWN^7:<9506j1S@U@P58:?7=8d3QFSBR;68=1::g=_DQDT94633?a8\I^IW<3309>1c:ZO\KY2116?=3m4XMZM[0??4=85o6VCXO]6==:3;7i0TAVA_4;;8129k2RGTCQ:99>71;e^KPGU>552;7?a8\I^IW<330961c:ZO\KY2116?53l4XMZM[0??4=4h7UBWN^7:<9376j1S@U@P58:?148d3QFSBR;68=71:f=_DQDT946352;?7h0TAVA_4;;8=8e3QFSBR;68=;=`>^KPGU>542>01=>e9[H]HX=037===1d:ZO\KY2106:<90k;YN[JZ3>15;;93j4XMZM[0?>48:=2i5WLYL\1;99=5h6VCXO]6=<:6814o7UBWN^7:=97687n0TAVA_4;:84766m1S@U@P58;?5449l2RGTCQ:98>2568c3QFSBR;69=320;b^KPGU>542>168?f8\I^IW<3206>e9[H]HX=037=?>1d:ZO\KY2106:><0k;YN[JZ3>15;9>3j4XMZM[0?>48882i5WLYL\1;9;>5h6VCXO]6=<:6:<4o7UBWN^7:=975>7n0TAVA_4;:84406m1S@U@P58;?57>9l2RGTCQ:98>26<8c3QFSBR;69=304;b^KPGU>542>32e9[H]HX=037=>81d:ZO\KY2106:?:0k;YN[JZ3>15;843j4XMZM[0?>48922i5WLYL\1;9=:5h6VCXO]6=<:6<84o7UBWN^7:=973:7n0TAVA_4;:84246m1S@U@P58;?5129l2RGTCQ:98>2008c3QFSBR;69=372;b^KPGU>542>48>e9[H]HX=037=8<1d:ZO\KY2106:9>0k;YN[JZ3>15;>83j4XMZM[0?>48?>2i5WLYL\1;9<<5h6VCXO]6=<:6=>4o7UBWN^7:=97207n0TAVA_4;:843>6m1S@U@P58;?5369l2RGTCQ:98>2248c3QFSBR;69=356;b^KPGU>542:5?a8\I^IW<320881c:ZO\KY2106>;3m4XMZM[0?>4<25o6VCXO]6=<:217i0TAVA_4;:8369k2RGTCQ:98>55;e^KPGU>54293?a8\I^IW<320;:1c:ZO\KY2106=93m4XMZM[0?>4?<5o6VCXO]6=<:1?7i0TAVA_4;:83>9k2RGTCQ:98>5=;e