#wxSand: Owen Piette's Falling Sand Game
#Version 4.4, File subversion 2
group Logic Trans1 Trans1a Trans3 if not Switch or and
group Microchip Note Case 8way
#Empty.
element Empty 0 0 0 0.000 1.000 0.000 0.000 1
#Physical Elements
#Connects transistors and other such items.
element SC 128 128 128 0.000 1.000 0.000 0.000 1
#Wire Guard. Turns adjacent SCa to SC in direct SC -> SCa transfers.
element WG 126 126 126 0.000 1.000 0.000 0.000 1
neighbor 1.0 WG SCa 1.0 WG SC
neighbor 1.0 WG Buffr2a 1.0 WG Buffer2
neighbor 1.0 WG Buffr3a 1.0 WG Buffer3
#Buffer create. Creates buffer when turned 'on'.
element BC 194 194 194 0.000 1.000 0.000 0.000 1
element BCa 194 195 194 0.000 1.000 0.000 0.000 0
neighbor 1.0 BC Bit11 1.0 BCa Buffer5
neighbor 1.0 BCa SC 1.0 BC Buffer1
neighbor 0.5 BC Buffer2 1.0 BC Buffer4
#Data Block. Stops buffer, freezing the bits into storage.
element DB 192 192 192 0.000 1.000 0.000 0.000 1
element 10f 1 1 0 0.000 1.000 0.000 0.000 0
element 11f 254 254 255 0.000 1.000 0.000 0.000 0
element 20f 0 1 1 0.000 1.000 0.000 0.000 0
element 21f 255 255 254 0.000 1.000 0.000 0.000 0
neighbor 1.0 Buffer1 DB 1.0 Buffer2 DB
neighbor 1.0 Bit10 DB 1.0 10f DB
neighbor 1.0 Bit11 DB 1.0 11f DB
neighbor 1.0 Bit20 10f 1.0 20f 10f
neighbor 1.0 Bit21 10f 1.0 21f 10f
neighbor 1.0 Bit20 11f 1.0 20f 11f
neighbor 1.0 Bit21 11f 1.0 21f 11f
neighbor 1.0 Bit10 20f 1.0 10f 20f
neighbor 1.0 Bit11 20f 1.0 11f 20f
neighbor 1.0 Bit10 21f 1.0 10f 21f
neighbor 1.0 Bit11 21f 1.0 11f 21f
neighbor 1.0 Buffer4 20f 1.0 SC 20f
neighbor 1.0 Buffer4 21f 1.0 SC 21f
neighbor 1.0 Buffer1 10f 1.0 Buffer2 Buffer1
neighbor 1.0 Buffer1 11f 1.0 Buffer2 Buffer1
neighbor 1.0 Buffer1 20f 1.0 Buffer2 Buffer1
neighbor 1.0 Buffer1 21f 1.0 Buffer2 Buffer1
#Data Transfer. Takes frozen bits and copies them to an adjacent wire.
element DT 192 193 192 0.000 1.000 0.000 0.000 0
element DTo 192 193 193 0.000 1.000 0.000 0.000 0
element DT0 1 1 1 0.000 1.000 0.000 0.000 0
element DT1 254 254 254 0.000 1.000 0.000 0.000 0
#Wire Manipulators.
element SCa 128 129 128 0.000 1.000 0.000 0.000 1
element Ent 129 129 128 0.000 1.000 0.000 0.000 1
element Ext 128 129 129 0.000 1.000 0.000 0.000 1
neighbor 1.0 Buffer1 Ent 1.0 Buffr1c Ent
neighbor 1.0 Buffr1c SCa 1.0 Buffr1a Buffer2
neighbor 1.0 Buffr1a SCa 1.0 Buffr1a Buffr2a
neighbor 0.5 Buffr1a Ext 1.0 Buffr1b Ext
neighbor 0.5 Bit10a Ext 1.0 Bit10b Ext
neighbor 0.5 Bit11a Ext 1.0 Bit11b Ext
neighbor 0.5 Bit10b Ext 1.0 Bit10a Ext
neighbor 0.5 Bit11b Ext 1.0 Bit11a Ext
neighbor 1.0 Buffr1b SC 1.0 Buffr2a Buffer1
neighbor 1.0 Buffer2 Ext 1.0 Buffr2a Ext
neighbor 1.0 Buffer3 Ext 1.0 Buffr3a Ext
neighbor 1.0 SC Ext 1.0 SCa Ext
#Wire Copier. Takes info from a stream and copies it to a new stream.
element WC 129 129 129 0.000 1.000 0.000 0.000 1
element WCB 129 129 129 0.000 1.000 0.000 0.000 0
element W10 130 129 129 0.000 1.000 0.000 0.000 0
element W20 129 130 129 0.000 1.000 0.000 0.000 0
element W11 129 129 130 0.000 1.000 0.000 0.000 0
element W21 129 130 130 0.000 1.000 0.000 0.000 0
neighbor 1.0 WC Buffer1 1.0 WCB Buffer1
neighbor 1.0 WCB SCa 1.0 WCB Buffr1a
neighbor 1.0 WCB Bit10 1.0 W10 Bit10
neighbor 1.0 WCB Bit20 1.0 W20 Bit20
neighbor 1.0 WCB Bit11 1.0 W11 Bit11
neighbor 1.0 WCB Bit21 1.0 W21 Bit21
neighbor 1.0 W20 Bit10 1.0 W10 Bit10
neighbor 1.0 W10 Bit20 1.0 W20 Bit20
neighbor 1.0 W20 Bit11 1.0 W11 Bit11
neighbor 1.0 W10 Bit21 1.0 W21 Bit21
neighbor 1.0 W21 Bit10 1.0 W10 Bit10
neighbor 1.0 W11 Bit20 1.0 W20 Bit20
neighbor 1.0 W21 Bit11 1.0 W11 Bit11
neighbor 1.0 W11 Bit21 1.0 W21 Bit21
neighbor 1.0 W10 Buffer4 1.0 WC Buffer4
neighbor 1.0 W11 Buffer4 1.0 WC Buffer4
neighbor 1.0 W20 Buffer4 1.0 WC Buffer4
neighbor 1.0 W21 Buffer4 1.0 WC Buffer4
neighbor 1.0 WC Buffr2a 1.0 WC Buffr4a
neighbor 1.0 WC Buffr3a 1.0 WC Buffr4a
neighbor 1.0 W10 Buffr2a 1.0 W10 Bit10
neighbor 1.0 W20 Buffr3a 1.0 W20 Bit20
neighbor 1.0 W11 Buffr2a 1.0 W11 Bit11
neighbor 1.0 W21 Buffr3a 1.0 W21 Bit21
neighbor 1.0 WC Bit10 1.0 W10 Bit10
neighbor 1.0 WC Bit11 1.0 W10 Bit11
neighbor 1.0 W10 SCa 1.0 W10 Bit10a
neighbor 1.0 W11 SCa 1.0 W11 Bit11a
#Bit Splitter. Splits a byte into 8 bits. The bits need to be re-routed, as they are all on the same line.
element BS 162 161 161 0.000 1.000 0.000 0.000 0
#Bit Detector. If buffer is detected travelling down the line, it sends an 'on' upwards.
element BD 162 162 162 0.000 1.000 0.000 0.000 0
element BDa 162 163 162 0.000 1.000 0.000 0.000 0
#Bit Rerouter. Makes one go up, one go right.
element BR 164 165 164 0.000 1.000 0.000 0.000 0
element BRa 165 165 164 0.000 1.000 0.000 0.000 0
element BRb 164 165 165 0.000 1.000 0.000 0.000 0
#Case. Does nothing but look nice.
element Case 0 128 64 0.000 1.000 0.000 0.000 1
element Case2 192 192 128 0.000 1.000 0.000 0.000 0
neighbor 1.0 Case SC 1.0 Case2 SC
neighbor 1.0 Case SCa 1.0 Case2 SCa
#No items under the "Microchip" section work yet, as per pending Bit Splitter, Detector, Rerouter, and Data Transfer.
element Note 0 0 0 0.000 1.000 0.000 0.000 1
#Begin Transistor Parts. Based off of Purple100's concepts.
#The transistor is always left to right processing. The a type deletes the bits instead of simply not letting them pass.
#Transistors allow current to pass under certain conditions. Used in conjunction with logic.
element Trans1 177 176 176 0.000 1.000 0.000 0.000 1
element Trans2 176 177 176 0.000 1.000 0.000 0.000 0
element Trans1a 175 174 174 0.000 1.000 0.000 0.000 1
element Trans2a 174 175 174 0.000 1.000 0.000 0.000 0
neighbor 1.0 Trans1 Buffer1 1.0 Trans1 Buffr1a
neighbor 1.0 Trans1a Buffer1 1.0 Trans1a Buffr1a
neighbor 1.0 Trans2a Buffer1 1.0 Trans2a Buffer5
neighbor 1.0 Trans2a Bit10 1.0 Trans2a Buffer5
neighbor 1.0 Trans2a Bit11 1.0 Trans2a Buffer5
neighbor 1.0 Trans2a Bit20 1.0 Trans2a Buffer5
neighbor 1.0 Trans2a Bit21 1.0 Trans2a Buffer5
#Put this adjacent to Trans1, or adjacent to SCa to send bits for true/false.
element Trans3 178 177 176 0.000 1.000 0.000 0.000 1
element Trans3a 178 177 177 0.000 1.000 0.000 0.000 0
element Trans4 178 177 176 0.000 1.000 0.000 0.000 0
element Trans4a 178 178 176 0.000 1.000 0.000 0.000 0
neighbor 1.0 Trans4 Trans2 1.0 Trans4 Trans1
neighbor 1.0 Trans3 Trans1 1.0 Trans3 Trans2
neighbor 1.0 Trans4 Trans2a 1.0 Trans4 Trans1a
neighbor 1.0 Trans3 Trans1a 1.0 Trans3 Trans2a
neighbor 1.0 Trans4a SCa 1.0 Trans4 Bit11
neighbor 1.0 Trans3a SCa 1.0 Trans3 Bit10
neighbor 1.0 Trans4 Buffer2 1.0 Trans4 Buffer4
#The 'If' Gate gives 'on' when the input is 'on'.
element If 255 0 0 0.000 1.000 0.000 0.000 0
element if 255 1 1 0.000 1.000 0.000 0.000 1
neighbor 1.0 If Bit10 1.0 if Buffer5
neighbor 1.0 if Bit10 1.0 if Buffer5
neighbor 1.0 If Bit11 1.0 If Buffer5
neighbor 1.0 if Bit11 1.0 If Buffer5
neighbor 1.0 If Trans3 1.0 If Trans4a
neighbor 1.0 if Trans4 1.0 if Trans3a
#The 'Not' Gate gives 'on' when the input is 'off'.
element Not 0 255 0 0.000 1.000 0.000 0.000 0
element not 1 255 1 0.000 1.000 0.000 0.000 1
neighbor 1.0 Not Bit10 1.0 not Buffer5
neighbor 1.0 not Bit10 1.0 not Buffer5
neighbor 1.0 Not Bit11 1.0 Not Buffer5
neighbor 1.0 not Bit11 1.0 Not Buffer5
neighbor 1.0 Not Trans4 1.0 Not Trans3a
neighbor 1.0 not Trans3 1.0 not Trans4a
#The 'Switch' Gate switches every time a bit touches it, regardless of value.
element Switch 0 0 255 0.000 1.000 0.000 0.000 1
element switch 1 1 255 0.000 1.000 0.000 0.000 0
neighbor 1.0 Switch Trans3 1.0 Switch Trans4a
neighbor 1.0 switch Trans4 1.0 switch Trans3a
neighbor 1.0 Bit10 Switch 1.0 Buffer5 switch
neighbor 1.0 Bit11 Switch 1.0 Buffer5 switch
neighbor 1.0 Bit10 switch 1.0 Buffer5 Switch
neighbor 1.0 Bit11 switch 1.0 Buffer5 Switch
#The 'Else' logic sends an 'on' when an adjacent logic is 'off'. Placeholder.
#The 'Or' logic gives an 'on' when either input is 'on'.
element Or 255 255 0 0.000 1.000 0.000 0.000 0
element or 255 255 1 0.000 1.000 0.000 0.000 1
element ora 255 255 2 0.000 1.000 0.000 0.000 0
neighbor 1.0 Or Trans3 1.0 Or Trans4a
neighbor 1.0 ora Trans4 1.0 or Trans3a
neighbor 1.0 Or Bit11 1.0 Or Buffer5
neighbor 1.0 or Bit11 1.0 Or Buffer5
neighbor 1.0 Or Bit10 1.0 or Buffer5
neighbor 1.0 or Bit10 1.0 ora Buffer5
#The 'And' logic gives an 'on' when both inputs are 'on'.
element And 0 255 255 0.000 1.000 0.000 0.000 0
element AND 1 255 255 0.000 1.000 0.000 0.000 0
element and 2 255 255 0.000 1.000 0.000 0.000 1
neighbor 1.0 AND Trans3 1.0 And Trans4
neighbor 1.0 And Trans4 1.0 And Trans4a
neighbor 1.0 and Trans4 1.0 and Trans3a
neighbor 1.0 And Bit11 1.0 AND Buffer5
neighbor 1.0 and Bit11 1.0 AND Buffer5
neighbor 1.0 And Bit10 1.0 and Buffer5
neighbor 1.0 and Bit10 1.0 and Buffer5
#Non-physical Elements
#Bit-code, Buffer
element Buffer1 191 191 127 0.000 1.000 0.000 0.000 1
element Buffer2 127 127 63 0.000 1.000 0.000 0.000 0
element Buffer3 127 127 63 0.000 1.000 0.000 0.000 0
element Buffer4 191 191 127 0.000 1.000 0.000 0.000 0
neighbor 0.7 Buffer1 SC 1.0 Buffer2 Buffer1
neighbor 0.7 Buffer4 Buffer2 1.0 SC Buffer4
neighbor 0.7 Buffer4 Buffer3 1.0 SC Buffer4
neighbor 0.7 Buffer4 Buffer4 1.0 SC SC
neighbor 0.7 Buffer2 SC 1.0 Buffer2 Buffer4
neighbor 0.7 Buffer3 SC 1.0 Buffer3 Buffer4
neighbor 1.0 Buffer4 Buffr2a 1.0 SC Buffr4a
neighbor 1.0 Buffer4 Buffr3a 1.0 SC Buffr4a
neighbor 1.0 Buffr4a Buffr2a 1.0 SCa Buffr4a
neighbor 1.0 Buffr4a Buffr3a 1.0 SCa Buffr4a
neighbor 1.0 Buffr4a Buffer2 1.0 SCa Buffer4
neighbor 1.0 Buffr4a Buffer3 1.0 SCa Buffer4
#Buffer Clear
element Buffer5 127 127 191 0.000 1.000 0.000 0.000 0
neighbor 0.7 Buffer5 Bit10 1.0 Buffer5 Buffer2
neighbor 0.7 Buffer5 Bit11 1.0 Buffer5 Buffer2
neighbor 0.7 Buffer5 Bit20 1.0 Buffer5 Buffer3
neighbor 0.7 Buffer5 Bit21 1.0 Buffer5 Buffer3
neighbor 0.7 Buffer5 Buffer4 1.0 Buffer4 SC
#Extra Buffers
element Buffr1a 191 191 127 0.000 1.000 0.000 0.000 0
element Buffr1b 191 191 127 0.000 1.000 0.000 0.000 0
element Buffr1c 191 191 127 0.000 1.000 0.000 0.000 0
element Buffr2a 127 127 63 0.000 1.000 0.000 0.000 0
element Buffr3a 127 127 63 0.000 1.000 0.000 0.000 0
element Buffr4a 191 191 127 0.000 1.000 0.000 0.000 0
neighbor 1.0 Buffr1a SCa 1.0 Buffr2a Buffr1a
neighbor 1.0 Buffr1b SC 1.0 Buffr2a Buffer1
neighbor 1.0 Buffr1b SCa 1.0 Buffr2a Buffr1b
#Bit-code, Bit Odd
element Bit10 1 0 0 0.000 1.000 0.000 0.000 0
element Bit11 254 255 255 0.000 1.000 0.000 0.000 0
element Bit10a 2 0 0 0.000 1.000 0.000 0.000 0
element Bit11a 253 255 255 0.000 1.000 0.000 0.000 0
element Bit10b 3 0 0 0.000 1.000 0.000 0.000 0
element Bit11b 252 255 255 0.000 1.000 0.000 0.000 0
neighbor 0.7 Bit10 Buffer2 1.0 Buffer3 Bit10
neighbor 0.7 Bit11 Buffer2 1.0 Buffer3 Bit11
neighbor 1.0 Bit10 Buffr2a 1.0 Buffr3a Bit10
neighbor 1.0 Bit11 Buffr2a 1.0 Buffr3a Bit11
neighbor 0.7 Bit10 SC 1.0 Buffer3 Bit10
neighbor 0.7 Bit11 SC 1.0 Buffer3 Bit11
neighbor 0.7 Bit10b SC 1.0 Buffr3a Bit10
neighbor 0.7 Bit11b SC 1.0 Buffr3a Bit11
neighbor 0.7 Bit10a SCa 1.0 Buffr3a Bit10a
neighbor 0.7 Bit11a SCa 1.0 Buffr3a Bit11a
#Bit-code, Bit Even
element Bit20 0 0 1 0.000 1.000 0.000 0.000 0
element Bit21 255 255 254 0.000 1.000 0.000 0.000 0
neighbor 0.7 Bit20 Buffer3 1.0 Buffer2 Bit20
neighbor 0.7 Bit21 Buffer3 1.0 Buffer2 Bit21
neighbor 1.0 Bit20 Buffr3a 1.0 Buffr2a Bit20
neighbor 1.0 Bit21 Buffr3a 1.0 Buffr2a Bit21
neighbor 0.7 Bit20 SC 1.0 Buffer3 Bit10
neighbor 0.7 Bit21 SC 1.0 Buffer3 Bit11
#Test bit false
item TestBit0 1
Buffer4 4 Bit10 Q
"4Q"
#Test bit true
item TestBit1 1
Buffer4 4 Bit11 W
"4W"
#Test byte 51
item TestByte 1
Buffer1 1 Buffer4 4 Bit10 Q Bit11 W Bit20 E Bit21 R
"4RQEWRQEW1"
#Items Section
#All Microchip items created with Purple100's "Itemizer 1.2" program.
#None of the microchip items work yet (at least not yet), they just simply serve as examples.
#The 8-way splitter reroutes split bits from a byte into order from top to bottom.
item 8way 1
Case # SC % BRa & BR * BRb + SCa , Ext - Ent .
"####################################",
"####################,,,,,,,,,,,,,,##",
"##############&,,,,,##.####%%%##-#%%",
"##########,,,%*######%,,,,%##-%%%###",
"#########-##+,,,,,%####%,,,,###%%%",
"####,,,,%*#########%,,,,%#####%%####",
"####,#-##+#-##&,,,%####%,,,,,###%%%%",
"####,#####,,,%*#-####,,######,%#####",
"############+,,,%%,#-###,,%%,%%%%%",
"%%%*###############,%%%##,-####,####",
"###+##########&,,,,####%,#######,%%%",
"####,#####,,,%*########,%######-####",
"####,#-##-##+,,,,,%%,##%##,,,,,%%%",
"####,,,,%*#########%,#.###%,########",
"#########+#-##&,,,%##,####,%%%%%%%%%",
"##########,,,%*#-#####,,,,##########",
"##############+,,,%%%%%%%%%%%%%%%%%%",
"####################################"
#End
               (
geocities.com/normandy_333)