├── LICENSE ├── README.md ├── firmware ├── 888.c ├── 8X8X8.hex ├── v2-sdcc │ ├── compile.bat │ ├── firmware.c │ └── firmware.ihx └── v2 │ ├── 888_v2.c │ ├── ledcube8.hex │ ├── ledcube8.uvopt │ └── ledcube8.uvproj ├── help ├── howto_stc.png ├── install_headers.png └── programming_ok.png ├── manual ├── 74HC573.pdf ├── Installation Manual.pdf ├── Introduction Manual.pdf ├── STC12C5A60S2-datasheet.pdf └── uln2803ap_tosh.pdf ├── schematics ├── 8X8X8 schematic and PCB │ ├── 8x8x8.ddb │ └── 8x8x8.ddp ├── led grid.ai └── schematic.pdf ├── software ├── alpha │ ├── 3D8S_alpha.exe │ ├── 3D8S_alpha.pdb │ ├── 3D8S_alpha.vshost.exe │ ├── A3d8Test_M328.hex │ ├── Bass.Net.dll │ ├── bass.dll │ └── 重要 注意.txt └── original │ ├── 3D8_Win.application │ ├── 3D8_Win.exe │ ├── 3D8_Win.exe.manifest │ ├── 3D8_Win.vshost.exe │ └── 3D8_Win.vshost.exe.manifest └── tools ├── c51v953.exe └── stc-isp-15xx-v6.85.zip /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2015 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | 23 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | About 2 | --------- 3 | Source code and all files for the generic 8x8x8 3D LED Cube found on eBay 4 | (having STC 8051-based STC12C5A60S2 mcu), aka. 3D LightSquared 8x8x8 LED Cube DIY kit, ideasoft etc. 5 | 6 | `Note`: as received from manufacturer with additional cleanups/optimizations. 7 | 8 | Firmware v2 9 | --------- 10 | The `firmware/v2` directory contains an optimized and more advanced version of the ledcube firmware. 11 | All animations were removed except one and UART/serial based control was implemented. 12 | So the cube can be controlled with Arduino/Atmega or simple PC serial console. 13 | 14 | `Note`: The ledcube UART control mode is activated once the first command comes over serial connection. 15 | 16 | The new firmware can be flashed/written to STC MCU through UART/serial connection. 17 | Software such as STC-ISP is required to transfer the hex file (machinecode) to the STC microcontroller. 18 | 19 | `Download here`: http://www.stcmcudata.com/STCISP/stc-isp-15xx-v6.86R.zip 20 | 21 | ##### Serial connection: 22 | * USB-2-TTL converter/adapter/module can be used to connect to PC (e.g. search eBay) 23 | * Parameters: baud - 9600 bps, 1 stop bit, no parity 24 | * Cube UART pins: VCC, GND, P30(RXD), P31(TXD) 25 | 26 | ##### Programming STC 27 | * Connect serial module to ledcube serial pins, RX to TX, TX to RX 28 | * Open STC-ISP and select STC12C5A60S2 and serial port 29 | * Select HEX file: ledcube8.hex and press `Download/Program` or `Re-Program` 30 | * Reset power to MCU to start programming 31 | 32 | ![Alt text](/help/howto_stc.png "Programming the STC mcu") 33 | 34 | ![Alt text](/help/programming_ok.png "Programming successful") 35 | 36 | ##### Alternative programming/flashing tool: STCGAL 37 | If you have trouble with the official STC-ISP, try using: 38 | https://github.com/grigorig/stcgal 39 | 40 | ##### Extra - C51 project 41 | Keil uVision C51 project file is also available in the `firmware/v2` directory if compiling the source code is a must. 42 | Keil C51 compiler tools are required to open the project. 43 | 44 | `Download here`: https://www.keil.com/demo/eval/c51.htm 45 | 46 | The required STC mcu C headers need to be installed from the STC-ISP tool via "Keil ICE Settings" tab. 47 | Use the "Add MCU type to Keil" button and point to your Keil install directory. 48 | 49 | ![Alt text](/help/install_headers.png "Install required STC headers to Keil") 50 | 51 | Firmware v2 for SDCC 52 | --------- 53 | SDCC compiler supports compiling code for STC12C5A60S2.
54 | Adapted version of v2 firmware for SDCC can be found in `firmware/v2-sdcc` folder (created by Michael Knyazev). 55 | 56 | LED Cube control 57 | --------- 58 | ![Control program](https://raw.githubusercontent.com/tomazas/DotMatrixJava/master/help/program_view.png) 59 | 60 | The cube (with Firmware v2) can be controlled over serial port/console with: [PC Program](https://github.com/tomazas/DotMatrixJava).
61 | Program allows to create animations and playback them. 62 | 63 | 64 | -------------------------------------------------------------------------------- /firmware/888.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomazas/ledcube8x8x8/713520a53c29152e65716aa0a5c851ceb1e4d571/firmware/888.c -------------------------------------------------------------------------------- /firmware/8X8X8.hex: -------------------------------------------------------------------------------- 1 | :101164005151514A4A4A4444181C18181818183C3A 2 | :101174003C666630180C06F63C6660386060663C77 3 | :1011840030383C3E367E30303C3C181818183C3C15 4 | :1011940066FFFFFF7E3C18186666666666667E3CE0 5 | :1011A40081FF8100FF81817E00FF898900F8272764 6 | :1011B400F8008F8989F900FF8181FF00FF0909097F 7 | :1011C40001000101FF0101000020406080A0C0E097 8 | :1011D400E4E8ECF0F4F8FCDCBC9C7C5C3C1C1814EB 9 | :1011E400100C080425456585A5C5C9CDD1D5D9B947 10 | :1011F4009979593935312D294A6A8AAAAEB2B696F7 11 | :101204007656524E6F8F93736F8F93734A6A8AAA7E 12 | :10121400AEB2B6967656524E25456585A5C5C9CD5E 13 | :10122400D1D5D9B99979593935312D290020406062 14 | :1012340080A0C0E0E4E8ECF0F4F8FCDCBC9C7C5C4E 15 | :101244003C1C1814100C08040020406080A0C0E06E 16 | :10125400E4E8ECF0F4F8FCDCBC9C7C5C3C1C18146A 17 | :10126400100C08040001020304050616263646562F 18 | :10127400666564636261605040302010FF89F593B5 19 | :1012840093F589FF0E1F3F7E7E3F1F0E183C7EFFA5 20 | :101294001818181800010223050607060523020181 21 | :0112A4000049 22 | :03000300010800F1 23 | :0F21080075A882758801758CC0E4F58AD28C2287 24 | :082133007F077E02DEFEDFFAE9 25 | :01213B002281 26 | :0720A5001220877F107E2747 27 | :1020AC00AD07AC06ED1DAE0470011C4E600512218F 28 | :0420BC003380F1225A 29 | :1020C0007401A805088002C333D8FC5207EF6004EE 30 | :0820D0007E018002E4FEAF0670 31 | :0120D80022E5 32 | :1020F100EF75F00A84FE75F00AA4FDC3EF9DC39449 33 | :062101000540010EAF06CF 34 | :0121070022B5 35 | :0D212600C3EF648094805004EFF404FF22A6 36 | :061FBE008B618A62896359 37 | :101FC400AB64AA65A96612198DFFAB61AA62A96305 38 | :101FD40012198DFED39F400EEF1219A6AB64AA65A9 39 | :061FE400A966EE1219A629 40 | :011FEA0022D4 41 | :0F211700EFC39D5002AF05EFC39B5002AF0322F1 42 | :1020D900E4FEE4FDEE75F008A424092DF8A6070D29 43 | :0720E900BD08F10EBE08EB7B 44 | :0120F00022CD 45 | :041EEC008F828E83D0 46 | :101EF0007A06C3EA6480947D4046EA648094804018 47 | :101F00001CE4FBEB75F008A4240A2AF8E6FFEB7545 48 | :101F1000F008A424092AF8A6070BBB08E6C3EA6464 49 | :101F20008094845011E4FBEB75F008A4240D2AF88A 50 | :101F3000E4F60BBB08F1AF82AE831220AC1A80B27C 51 | :011F4000227E 52 | :102018007401A807088002C333D8FCFFF4FEE572F8 53 | :10202800600DEB75F008A424092DF8E64FF622EBB5 54 | :0B20380075F008A424092DF8E65EF600 55 | :01204300227A 56 | :101FEB00E4FEEF75F008A42464F582E43411F58364 57 | :101FFB00E5822EF582E43583F583E493FCEE75F0F0 58 | :0C200B0008A424092DF8A6040EBE08D677 59 | :0120170022A6 60 | :091E2C00E54924FEFF7B01E4FD01 61 | :041E3500AE07A90348 62 | :101E3900EEFB3395E0FAC3EB9480EA64809480501A 63 | :101E4900047F0180027F00C3EE6480948040047B9C 64 | :101E59000180027B00EF5B6033ED6007C3747F9EF6 65 | :101E6900FC8002AC06EC9011CC93FDC4135407FF1F 66 | :101E7900ED13135407FDEC935403FBD3EE648094E4 67 | :0C1E8900BF400474079BFB8972122018F4 68 | :011E9500222A 69 | :1012A500744B254AF8E6FF75F01C8485F055E55525 70 | :1012B50090124C93FEC4135407F553EE13135407C1 71 | :1012C500F554EF24F2FFE434FFFE7C007D1C121977 72 | :1012D500CA8D55E55593FFC4135407F556EF1313FF 73 | :1012E5005407F557855664F565854A66756701ABFC 74 | :0512F5004AAD54AF53A7 75 | :0612FA00A907AE03AC05DC 76 | :10130000C3E56499F56CC3E5659CF56DC3E5669E20 77 | :10131000F56EAF6C122126AA07AF6D122126AD071C 78 | :10132000AF6E122126AB07AF021221178F68E97545 79 | :10133000F00AA4F569EC75F00AA4F56AEE75F00AF6 80 | :10134000A4F56BAF6CEF3395E0FE7C007D0A1219BB 81 | :10135000B8E568FB3395E0FAAD03FC121A1F8F6CF9 82 | :10136000AF6DEF3395E0FE7C007D0A1219B8AD0336 83 | :10137000AC02121A1F8F6DAF6EEF3395E0FE7C004A 84 | :101380007D0A1219B8AD68ED3395E0FC121A1F8F73 85 | :101390006EE4FAC3E5686480F8EA6480985034AF7C 86 | :1013A000691220F1C007AF6A1220F1AC07AF6B12CF 87 | :1013B00020F1AB07856772AD04D007122018E56CE9 88 | :1013C0002569F569E56D256AF56AE56E256BF56BAE 89 | :0F13D0000A80C0856772AB66AD65AF64022018F6 90 | :100BF700744B254AF8E675F0188485F051E5519055 91 | :100C0700126893FFC4540FF54FEF540FF550E54F9B 92 | :100C170004F55BE55004F55C755D01755E01755F74 93 | :070C270001E4FBAD50AF4FEB 94 | :060C2E008F588D598B5A0E 95 | :100C3400E4F560F56475650075665BFB7A007958C8 96 | :100C4400121FBE75640075650075665C7B007A00D2 97 | :100C54007959121FBE75640075650075665D7B0069 98 | :100C64007A00795A121FBEAF58EFD3955B501074B7 99 | :100C740001A807088002C333D8FC42600F80EAE56C 100 | :100C84005F70036360FFE55E6050E55F6026AF5A06 101 | :100C9400EFD3955D4003020E29AC59ECD3955C501B 102 | :100CA40010EC75F008A424092FF8E64560F60C80D2 103 | :100CB400EA0F80DCAF5AEFD3955D4003020E29ACF6 104 | :100CC40059ECD3955C5010EC75F008A424092FF866 105 | :100CD400E65560F60C80EA0F80DCE55F603EE5597E 106 | :100CE40075F008A42409255AF8E64560F6E55C7514 107 | :100CF400F008A42409255AF8E64560F6E55975F08C 108 | :100D040008A42409255DF8E64560F6E55C75F0085D 109 | :100D1400A42409255DF8E64560F6803CE55975F0A4 110 | :100D240008A42409255AF8E65560F6E55C75F00830 111 | :100D3400A42409255AF8E65560F6E55975F008A487 112 | :100D44002409255DF8E65560F6E55C75F008A424F1 113 | :100D540009255DF8E65560F6AE5B7401A8060880C7 114 | :100D640002C333D8FCFEAD587401A805088002C341 115 | :100D740033D8FC4EF560E55F70036360FFE55F60A8 116 | :100D840052AC5AECD3955D5021AF59EFD3955C50DA 117 | :100D940010EF75F008A424092CF8E64560F60F80DE 118 | :100DA400EAC3E55D955A2CFC80D9AC59ECD3955C2B 119 | :100DB4005073AF5AEFD3955D5010EC75F008A4242E 120 | :100DC400092FF8E64560F60F80EAC3E55C95592CD7 121 | :100DD400FC80D9AC5AECD3955D5021AF59EFD39533 122 | :100DE4005C5010EF75F008A424092CF8E65560F661 123 | :100DF4000F80EAC3E55D955A2CFC80D9AC59ECD33D 124 | :100E0400955C5021AF5AEFD3955D5010EC75F00806 125 | :100E1400A424092FF8E65560F60F80EAC3E55C9533 126 | :050E2400592CFC80D9EF 127 | :010E290022A6 128 | :101A5500744D254CF8E6FDC37407954CF55B8D5C1C 129 | :0C1A6500F55DE4F55E755F01AB4CAF4C25 130 | :061A71008F588D598B5ABD 131 | :101A770075640075650075665D7B007A00795A129A 132 | :101A87001FBEE55E6023855A60E560D3955D506DA6 133 | :101A9700855B64855C65856066855F67AB60AD590E 134 | :101AA700AF581212FA056080E0855B64855C658536 135 | :101AB7005A66855F67AB5AAD59AF581212FA855B04 136 | :101AC70064855C65855D66855F67AB5DAD59AF58BD 137 | :101AD7001212FA855B64855C65855D66855F67AB19 138 | :101AE7005AAD5CAF5B1212FA855864855965855DFE 139 | :0D1AF70066855F67AB5AAD59AF581212FA01 140 | :011B040022BE 141 | :062068008F79AC03AA050C 142 | :10206E00E4F9AD01AF791220C08F72AF02AD04ABAF 143 | :08207E000112201809B908EA5B 144 | :012086002237 145 | :101B9E008F778D78C3E5776480948040047F0180D1 146 | :101BAE00027F00C3E5776480948850047E01800232 147 | :101BBE007E00EE5F600DC374079577FBE4FDAF7892 148 | :101BCE00122068C3E5776480948840047F01800208 149 | :101BDE007F00C3E5776480949050047E0180027E7E 150 | :101BEE0000EE5F600CE57724F8FDE4FBAF78122081 151 | :101BFE0068C3E5776480949040047F0180027F0083 152 | :101C0E00C3E5776480949850047E0180027E00EED6 153 | :101C1E005F600CE57724F0FB7D07AF781220682219 154 | :041E96008E738F7444 155 | :101E9A00757617D3E576648094584045E4F575E580 156 | :101EAA00762575FFC36480948040047E0180027E9B 157 | :101EBA0000C3EF6480949850047D0180027D00ED98 158 | :101ECA005E600AE5759011A493FD121B9E0575E5E7 159 | :101EDA0075C3942840C9AF74AE731220AC157680CE 160 | :011EEA00B245 161 | :011EEB0022D4 162 | :1017F0007D107C277F011218237D107C277F021229 163 | :1018000018237D107C277F031218237D107C27E48A 164 | :10181000FF1218237D107C277F011218237D107C76 165 | :03182000277F021D 166 | :041823008D828C83A3 167 | :10182700EF607C24FE602F146054240260030218CA 168 | :10183700C3E4FBEB75F008A42410F8E4F6EBFFC350 169 | :1018470074069FFF74412FF876FFAF82AE83122094 170 | :10185700AC0BBB07DE22E4FBEBFFC374079FFF74EF 171 | :10186700412FF8E4F6C374069B75F008A42409F821 172 | :1018770076FFAF82AE831220AC0BBB07DB22E4FB03 173 | :10188700C374079B75F008A42409F8E4F6740A2BBF 174 | :10189700F876FFAF82AE831220AC0BBB07E222E4DF 175 | :1018A700FB74092BF8E4F6EB75F008A42418F87616 176 | :0C18B700FFAF82AE831220AC0BBB07E534 177 | :0118C3002202 178 | :0613DF007D107C277F0158 179 | :0413E5008D828C83E6 180 | :1013E900EF70030214BD24FE604914700302147CDB 181 | :1013F900240260030214F9E4F558E4F5648558659C 182 | :10140900756607F567FBAD58FF1212FAE55804FF38 183 | :10141900F564756507756607756701E4FB7D071255 184 | :1014290012FAAF82AE831220AC0558E558C394076F 185 | :1014390040C822E4F558855864756507756607E460 186 | :10144900F567FB7D07AF581212FAC374069558FD6C 187 | :10145900756407F565756607756701E4FB7F071213 188 | :1014690012FAAF82AE831220AC0558E558C394072F 189 | :1014790040C422E4F558C374079558FD756407F50F 190 | :1014890065756607E4F567FB7F071212FAC37406F0 191 | :101499009558FFF564E4F565756607756701FBFD09 192 | :1014A9001212FAAF82AE831220AC0558E558C394E4 193 | :1014B9000740C322E4F558C374079558FFF564E45F 194 | :1014C900F565756607F567FBFD1212FAE55804FD27 195 | :1014D900E4F5648D65756607756701FBFF1212FAFD 196 | :1014E900AF82AE831220AC0558E558C3940740C7B4 197 | :0114F90022D0 198 | :0D1002007F307E751220ACAD4BAC4A7F01F3 199 | :04100F008C4C8D4D2B 200 | :10101300EF700302111424FE60591470030210C30D 201 | :1010230024026003021163E4F54E755B07C3740782 202 | :10103300954EF55C755D07755E01755F01E4FBAD6B 203 | :101043004EFF121A71AF4DAE4C1220ACE54EC39455 204 | :10105300075016E4F55B854E5C755D07755E01F51B 205 | :101063005FFB7D037F03121A71054EE54EC394089F 206 | :1010730040B822E4F54EC37407954EFF854E5B7569 207 | :101083005C07755D07755E01755F01E4FBFD121A70 208 | :1010930071AF4DAE4C1220ACE54EC394075017858B 209 | :1010A3004E5B755C07755D07755E01E4F55FFB7D5F 210 | :1010B300047F03121A71054EE54EC3940840B7220C 211 | :1010C300E4F54E755B07C37407954EF55C755D07D4 212 | :1010D300755E01755F01E4FBAD4EFF121A71AF4DF2 213 | :1010E300AE4C1220ACE54EC39407501B755B07C38F 214 | :1010F3007407954EF55C755D07755E01E4F55FFB5E 215 | :101103007D047F04121A71054EE54EC3940840B363 216 | :1011130022E4F54EC37407954EFF854E5B755C075D 217 | :10112300755D07755E01755F01E4FBFD121A71AF12 218 | :101133004DAE4C1220ACE54EC39407501AC374074E 219 | :10114300954EF55BE4F55C755D07755E01F55FFB38 220 | :101153007D037F04121A71054EE54EC3940840B413 221 | :011163002269 222 | :061F8C008F4BAB05AA0417 223 | :101F9200E4F54CE4FFE54B75F008A424092FF8C0E2 224 | :101FA20000E6C313D000F60FBF08EAAF03AE021279 225 | :0B1FB20020AC054CE54CC3940840D85F 226 | :011FBD002201 227 | :0618C4008F4A8C4B8D4C95 228 | :1018CA00E4F54EF54DE54DC394075018E54D04FF78 229 | :1018DA00F55B755C07755D07755E01755F01E4FB75 230 | :1018EA00FD121A71854E5B755C07755D07755E01A1 231 | :1018FA00E4F55FFBFDAF4E121A71E4FFE54D04F506 232 | :10190A004EE4FEEED3954D50107401A806088002ED 233 | :10191A00C333D8FC42070E80EAE4FEEE75F008A451 234 | :10192A00240CF8E6FDE54A75F008A42464F582E47F 235 | :10193A003411F583E5822EF582E43583F583E49349 236 | :10194A005F4DF6EE75F008A4240DF8E6FDE54A753C 237 | :10195A00F008A42464F582E43411F583E5822EF5B7 238 | :10196A0082E43583F583E4935F4DF60EBE08ACAF8F 239 | :10197A004CAE4B1220AC054DE54DC3940850030202 240 | :02198A0018CF74 241 | :01198C002238 242 | :10208700E4FFE4FEEF75F008A424092EF8C000E68B 243 | :0D20970025E0D000F60EBE08EB0FBF08E5F7 244 | :0120A4002219 245 | :101DC100E4FF1220D9E4FD0F121FEB7F607EEA12BF 246 | :101DD10020ACE4FD7F02121FEB7F607EEA1220AC93 247 | :101DE100E4FD7F03121FEB7F607EEA1220ACE4FD6D 248 | :101DF1007F04121FEB7F607EEA1220AC7F607EEAD7 249 | :101E01001220ACE4FF1220D97F307E75121E967D20 250 | :101E110007E4FF121FEB7F607EEA1220AC7F707E29 251 | :0B1E210017121EEC7F607EEA0220AC6E 252 | :101B0500754981121E2C7F407E1F1220ACE54914B9 253 | :101B1500FFE4FBFD121E351549E549D3940050E35A 254 | :101B25007F407E1F1220ACE4F5497B017D01AF4962 255 | :101B3500121E357F407E1F1220ACE54924F8FFE4D4 256 | :101B4500FB7D01121E350549E549C3948840DB7FBD 257 | :101B5500407E1F1220AC754981121E2C7F407E1FCE 258 | :101B65001220AC1549E549D3940050ED7F407E1F06 259 | :101B75001220ACE4F549E54924F8FFE4FB7D0112A8 260 | :101B85001E357F407E1F1220AC0549E549C3948070 261 | :091B950040E47F607EEA0220AC0E 262 | :10170E00E4F549755B0785495C755D07755E017586 263 | :10171E005F01E4FBAD49FF121A717F207E4E12204D 264 | :10172E00ACC3E549648094875016755B0785495CA8 265 | :10173E00755D07755E01E4F55FFBAD49FF121A7129 266 | :10174E000549C3E5496480948840B8754907755BBF 267 | :10175E000785495C755D07755E01755F01E4FBAD3C 268 | :10176E0049FF121A717F207E4E1220ACD3E54964D8 269 | :10177E008094804016755B0785495C755D07755EC4 270 | :10178E0001E4F55FFBAD49FF121A711549C3E54936 271 | :10179E006480948050B8E4F549755B0785495C75A3 272 | :1017AE005D07755E01755F01E4FBAD49FF121A71AD 273 | :1017BE007F207E4E1220ACC3E5496480948750167C 274 | :1017CE00755B0785495C755D07755E01E4F55FFB2A 275 | :1017DE00AD49FF121A710549C3E5496480948840EA 276 | :0117EE00B842 277 | :0117EF0022D7 278 | :100E2A00754A077444254AF8A64A054AE54AB40FA2 279 | :100E3A00F2E4F549E4F54A744B254AF8E6FFC3643F 280 | :100E4A0080948040047E0180027E00C3EF64809417 281 | :100E5A008850047F0180027F00EF5E6019744B2581 282 | :100E6A004AF8E6FD756407F565854A66756701AB5C 283 | :100E7A004AE4FF1212FA054AC3E54A64809488409C 284 | :100E8A00B6E4F54A744B254AF8E6FFFD3395E0FCD3 285 | :100E9A00ED2401FDE43CFCC3ED9408EC64809480ED 286 | :100EAA0050047E0180027E00C3EF64809480400477 287 | :100EBA007F0180027F00EE5F6019744B254AF8E6D5 288 | :100ECA0004FD756407F565854A66E4F567AB4AFF74 289 | :100EDA001212FA054AC3E54A6480948840A6E4F5EA 290 | :100EEA004A744B254AF8E6D3648094804006744BD2 291 | :100EFA00254AF816054AE54AB408E67F987E3A126A 292 | :100F0A0020AC0549D3E549648094905003020E3E13 293 | :100F1A00E4F54AC37401954AFF744B254AF8A607BB 294 | :100F2A00054AE54AB408ECE4F549E4F54A744B2568 295 | :100F3A004AF8E6FFC36480948040047E0180027E02 296 | :100F4A0000C3EF6480948850047F0180027F00EF21 297 | :100F5A005E6019744B254AF8E6FD756407F56585E8 298 | :100F6A004A66756701AB4AE4FF1212FA054AC3E5FD 299 | :100F7A004A6480948840B6E4F54A744B254AF8E6F8 300 | :100F8A00FF14C36480948750047E0180027E00D3DC 301 | :100F9A00EF6480948040047F0180027F00EE5F60EE 302 | :100FAA0019744B254AF8E614FD756407F565854AF8 303 | :100FBA0066E4F567AB4AFF1212FA054AC3E54A64CA 304 | :100FCA0080948840B5E4F54A744B254AF8E6C36430 305 | :100FDA008094875006744B254AF806054AE54AB4B8 306 | :100FEA0008E67F987E3A1220AC0549D3E549648029 307 | :070FFA0094905003020F3434 308 | :0110010022CC 309 | :10000E0075493A754A98754B08754C077446254CD8 310 | :10001E00F8A64C054CE54CB40BF2AF4B154BEF600C 311 | :10002E0069E4F54C744D254CF8E6C3648094885011 312 | :10003E0003121A55744D254CF8E6FFC3648094875D 313 | :10004E005016EF04FDC37407954CF55B8D5CF55DA2 314 | :10005E00E4F55EF55F121A6D054CC3E54C648094B1 315 | :10006E008440C1E4F54C744D254CF8E6D36480947D 316 | :10007E00834006744D254CF816054CE54CB404E649 317 | :10008E00AF4AAE491220AC020028754B03E4F54C82 318 | :10009E00C37405954CFF744D254CF8A607054CE529 319 | :1000AE004CB404ECAF4B154BEF6069754C01744DBD 320 | :1000BE00254CF8E6C3648094845003121A55744D8F 321 | :1000CE00254CF8E6FFC3648094835016EF04FDC3FD 322 | :1000DE007407954CF55B8D5CF55DE4F55EF55F128E 323 | :1000EE001A6D054CC3E54C6480948440C1E4F54C14 324 | :1000FE00744D254CF8E6D3648094804006744D25EB 325 | :10010E004CF816054CE54CB404E6AF4AAE49122045 326 | :10011E00AC0200B2754B03754C01C37404954CFFD1 327 | :10012E00744D254CF8A607054CE54CB404ECAF4BCA 328 | :10013E00154BEF6068754C01744D254CF8E6C364A1 329 | :10014E008094804003121A55744D254CF8E6FFD367 330 | :10015E00648094804015EF14FD7407954CF55B8D0B 331 | :10016E005CF55DE4F55EF55F121A6D054CC3E54C6A 332 | :10017E006480948440C2754C01744D254CF8E6C3DE 333 | :10018E00648094835006744D254CF806054CE54C5E 334 | :10019E00B404E6AF4AAE491220AC02013C754B03E3 335 | :1001AE00E4F54CE54C04FF744D254CF8A607054CC0 336 | :1001BE00E54CB404EEAF4B154BEF605B754C017420 337 | :1001CE004D254CF8E6D3648094834003121A55747F 338 | :1001DE004D254CF8E6FFD3648094834015EF14FD53 339 | :1001EE007407954CF55B8D5CF55DE4F55EF55F127D 340 | :1001FE001A6D054CC3E54C6480948440C2E4F54C02 341 | :10020E00744D254CF806054CE54CB404F3AF4AAEDC 342 | :10021E00491220AC0201C3754B03754C03744B2578 343 | :10022E004CF8A64C054CE54CB406F2AF4B154BEF13 344 | :10023E006052754C01121A55744D254CF8E604FDAA 345 | :10024E00C37407954CF55B8D5CF55DE4F55EF55F6B 346 | :10025E00121A6D054CC3E54C6480948440D7E4F5C6 347 | :10026E004C744D254CF8E6D3648094834006744D4F 348 | :10027E00254CF816054CE54CB404E6AF4AAE4912CF 349 | :10028E0020AC80A7754B03E4F54CC37405954CFF69 350 | :10029E00744D254CF8A607054CE54CB404ECAF4B59 351 | :1002AE00154BEF6069754C01744D254CF8E6C3642F 352 | :1002BE008094845003121A55744D254CF8E6FFC3F2 353 | :1002CE00648094835016EF04FDC37407954CF55B60 354 | :1002DE008D5CF55DE4F55EF55F121A6D054CC3E5B8 355 | :1002EE004C6480948440C1E4F54C744D254CF8E682 356 | :1002FE00D3648094804006744D254CF816054CE569 357 | :10030E004CB404E6AF4AAE491220AC0202AC754BB7 358 | :10031E0003E4F54CC37403954CFF744D254CF8A6BD 359 | :10032E0007054CE54CB404EC754D02AF4B154BEF85 360 | :10033E00606BE4F54C744D254CF8E6C364809480F4 361 | :10034E004003121A55744D254CF8E6FFC364809491 362 | :10035E00804015EF04FD7407954CF55B8D5CF55DE3 363 | :10036E00E4F55EF55F121A6D054CC3E54C6480949E 364 | :10037E008340C2E4F54CC37405954BC36480F8E525 365 | :10038E004C6480985006744D254CF816054CE54C7F 366 | :10039E00B404E3AF4AAE491220AC020339754B0ADE 367 | :1003AE00E4F54CE54C24FEFF744D254CF8A60705EC 368 | :1003BE004CE54CB404EDAF4B154BEF6068E4F54CD7 369 | :1003CE00744D254CF8E6C3648094804003121A5590 370 | :1003DE00744D254CF8E6FFC3648094804015EF14ED 371 | :1003EE00FD7407954CF55B8D5CF55DE4F55EF55F90 372 | :1003FE00121A6D054CC3E54C6480948440C2E4F53A 373 | :10040E004C744D254CF8E6C3648094875006744DA9 374 | :10041E00254CF806054CE54CB404E6AF4AAE49123D 375 | :05042E0020AC0203C434 376 | :0104330022A6 377 | :101CBA001217F07D107C277F03121823E4F549E4FC 378 | :101CCA00F54AE4F9E54975F008A42480F582E4347C 379 | :101CDA0012F583E582254AF582E43583F583E49398 380 | :101CEA00FFA801088002C313D8FC30E02E7A01C392 381 | :101CFA00740799FDAB02757201AF4A122018EA14F3 382 | :101D0A00FB600DC3740799FDE4F572AF4A122018FF 383 | :101D1A007F887E131220AC0ABA08D409B908A5052F 384 | :101D2A004AE54AC39408409A7D987C3A7F07121F75 385 | :0A1D3A008C0549E549C39403408578 386 | :011D4400227C 387 | :1014FA00754A0B754BB87D107C27E4FF121823122E 388 | :10150A0017F01218027D107C27E4FF1213E512135C 389 | :10151A00DF7D107C277F021213E57D107C277F0375 390 | :10152A001213E57D107C27E4FF1213E51213DF7D09 391 | :10153A00107C277F021213E57D107C277F0312138C 392 | :10154A00E5E4F549C374079549F55B85495C755D22 393 | :10155A0007755E01755F01E4FBAD49FF121A71AFB1 394 | :10156A004BAE4A1220AC0549E549C3940840D57FE1 395 | :10157A00307E751220ACAD4BAC4AE4FF12100F124C 396 | :10158A0010027F307E751220ACAD4BAC4A7F02123E 397 | :10159A00100F7F307E751220ACAD4BAC4A7F031220 398 | :1015AA00100F7F307E751220ACAD4BAC4AE4FF12AF 399 | :1015BA00100F1210027F307E751220ACAD4BAC4A70 400 | :1015CA007F0212100F7F307E751220ACAD4BAC4AF1 401 | :1015DA007F0312100F75490785495B755C07755DB6 402 | :1015EA0007755E01E4F55FFBFDAF49121A71AF4B57 403 | :0E15FA00AE4A1220AC1549E549D3940050DAF0 404 | :0116080022BF 405 | :102044007549057D107C27AF491218C47F607EEA6C 406 | :102054001220AC7F607EEA1220AC0549E549C394A6 407 | :032064000840E051 408 | :012067002256 409 | :10043400E4F54985495B755C07755D07755E017573 410 | :100444005F01E4FBFDAF49121A71E549601514FF21 411 | :10045400F55B755C07755D07755E01E4F55FFBFD93 412 | :10046400121A711220A80549C3E549648094884092 413 | :10047400C27D107C277F031213E57D107C27E4FFE7 414 | :100484001213E51213DFE4F549C374069549FDFF21 415 | :10049400C374069549F564F565756607756701E4E7 416 | :1004A400FB1212FA854964756507756607E4F567FA 417 | :1004B400FB7D07AF491212FA1220A80549C3E5498A 418 | :1004C4006480948740C3E4F549744B2549F8760E5B 419 | :1004D4000549E549B408F2E4F549E4FF1220D9E4FA 420 | :1004E400F54A1212A5054AE54AC3940840F4E4F516 421 | :1004F4004AAD49ED3395E0FCD3ED954A7480F86C30 422 | :100504009840047F0180027F00E54924B9D36480C8 423 | :10051400F8E54A64809840047E0180027E00EF5E24 424 | :100524006006744B254AF806054AE54AB408C27FBA 425 | :10053400887E131220AC0549C3E549648094D540F4 426 | :1005440099E4F549E4FF1220D9E4F54A1212A5050D 427 | :100554004AE54AC3940840F4E4F54AAD49ED3395BD 428 | :10056400E0FCD3ED954A7480F86C9840047F0180D8 429 | :10057400027F00E54924B9D36480F8E54A64809891 430 | :1005840040047E0180027E00EF5E6006744B254AC3 431 | :10059400F816054AE54AB408C27F887E131220ACD7 432 | :1005A4000549C3E549648094D54099E4F549E4FFDD 433 | :1005B4001220D9E54B75F01C8485F055E555901251 434 | :1005C4004C93FFC4135407F553EF13135407F55416 435 | :1005D400E54B24F2FFE434FFFE7C007D1C1219CAB3 436 | :1005E4008D55E55593FFC4135407F556EF13135473 437 | :1005F40007F55785565BF55C755D07E4F55E755F39 438 | :1006040001FBAD54AF53121A7185565B85575C7567 439 | :100614005D06E4F55E755F017B01AD54AF53121ABC 440 | :1006240071054B7F887E131220AC0549C3E54964EC 441 | :1006340080949D50030205B2E4F549E4FF1220D9E9 442 | :10064400E54B75F01C8485F055E55590124C93FFED 443 | :10065400C4135407F553EF13135407F554E54B240F 444 | :10066400F2FFE434FFFE7C007D1C1219CA8D55E5AF 445 | :100674005593FFC4135407F556EF13135407F55756 446 | :1006840085565BF55C755D07755E01755F01E4FB7E 447 | :10069400AD54AF53121A71154B7F887E131220ACE0 448 | :1006A4000549C3E549648094904090E4F549E4F534 449 | :1006B40064F565854966F567FBAD49AF491212FAE1 450 | :1006C4007F887E131220AC0549C3E5496480948871 451 | :1006D40040DC754901756407756507854966E4F56D 452 | :1006E400677B07AD49AF491212FA7F887E13122047 453 | :1006F400AC0549C3E5496480948740D9754901E450 454 | :10070400FF1220D9C374079549F55BF55CC37407E0 455 | :100714009549F55DE4F55E755F017B077D077F070D 456 | :10072400120C2E1220A80549C3E549648094884020 457 | :10073400CE754901E4FF1220D9C374079549F55BCE 458 | :10074400F55CC374079549F55DE4F55E755F01FBDF 459 | :10075400FD120C2E1220A80549C3E5496480948734 460 | :1007640040D2754901E4FF1220D985495B85495C73 461 | :1007740085495DE4F55E755F01FBFD120C2E1220C8 462 | :10078400A80549C3E5496480948840D9754901E4C2 463 | :10079400FF1220D985495BC374079549F55CF55D63 464 | :1007A400E4F55E755F01FBFD7F07120C2E1220A895 465 | :1007B4000549C3E5496480948740D4754901C374ED 466 | :1007C400079549F55B85495C85495D755E01755FF3 467 | :1007D40001E4FBFD7F07120C2E1220A80549C3E596 468 | :1007E400496480948840D7754901E4FF1220D9C335 469 | :1007F40074079549F55B85495C85495D755E0175AE 470 | :100804005F017B077D07120C2E1220A80549C3E562 471 | :07081400496480948740D382 472 | :01081B0022BA 473 | :10081C00754901E4FF1220D9755B01755C07755DA4 474 | :10082C0007755E01755F017B067D06120C2EC37485 475 | :10083C00069549FBE54904F55B755C07C3740795A0 476 | :10084C0049F55D755E01755F017D06AF49120C2E91 477 | :10085C00E54904F55B755C07755D07755E01755FB1 478 | :10086C00017B067D06AF49120C2EC374069549FB1D 479 | :10087C00755B01755C07C374079549F55D755E0181 480 | :10088C00755F017D06E4FF120C2EC374069549FDBD 481 | :10089C00755B01C374079549F55C755D07755E0161 482 | :1008AC00755F017B06E4FF120C2EC374069549FBA1 483 | :1008BC00FDE54904F55BC374079549F55CF55D7579 484 | :1008CC005E01755F01AF49120C2EC374069549FD8C 485 | :1008DC00E54904F55BC374079549F55C755D0775CF 486 | :1008EC005E01755F017B06AF49120C2EC374069531 487 | :1008FC0049FBFD755B01C374079549F55CF55D75A6 488 | :10090C005E01755F01E4FF120C2E7F307E751220A4 489 | :10091C00AC0549E549C39407500302081FE4F549A7 490 | :10092C00E54975F006A4FF744B2549F8A60705495F 491 | :10093C00E549B404EBE4F549E4FF1220D9E4F54AA7 492 | :10094C00120BF7E54F04F55BE55004F55C755D079C 493 | :10095C00755E01755F017B06120C2A054AE54AC3D8 494 | :10096C00940440DCE4F54A744B254AF806054AE544 495 | :10097C004AB404F31220A80549E549C3942340B8AE 496 | :10098C00E4F549E4FF1220D9E4F54A120BF7E54FE0 497 | :10099C0004F55BE55004F55C755D07755E01755FEC 498 | :1009AC00017B06120C2A054AE54AC3940440DCE498 499 | :1009BC00F54A744B254AF816054AE54AB404F31275 500 | :1009CC0020A80549E549C3942340B8E4F549E4FF60 501 | :1009DC001220D9E4F54A744B254AF8E675F01884D0 502 | :1009EC0085F051E55190126893FFC4540FF54FEF09 503 | :1009FC00540FF550E54F04F55B755C01E55004F5BB 504 | :100A0C005D755E01755F01AB50E4FDAF4F120C2EAE 505 | :100A1C00E54F04F55B755C07E55004F55D755E010B 506 | :100A2C00755F01AB507D06AF4F120C2E054AE54A9F 507 | :100A3C00C3940440A1E4F54A744B254AF806054AD0 508 | :100A4C00E54AB404F31220A80549E549C3942350A0 509 | :100A5C00030209DAE4F549E4FF1220D9E4F54A74FB 510 | :100A6C004B254AF8E675F0188485F051E551901243 511 | :100A7C006893FFC4540FF54FEF540FF550E54F0436 512 | :100A8C00F55B755C01E55004F55D755E01755F0104 513 | :100A9C00AB50E4FDAF4F120C2EE54F04F55B755CCB 514 | :100AAC0007E55004F55D755E01755F01AB507D0681 515 | :100ABC00AF4F120C2E054AE54AC3940440A1E4F54D 516 | :100ACC004A744B254AF816054AE54AB404F3122039 517 | :100ADC00A80549E549C394245003020A63754906E5 518 | :100AEC00E4FF1220D9755B01755C07755D07755EB7 519 | :100AFC0001755F017B067D06120C2EC374069549A9 520 | :100B0C00FBE54904F55B755C07C374079549F55D16 521 | :100B1C00755E01755F017D06AF49120C2EE5490427 522 | :100B2C00F55B755C07755D07755E01755F017B068E 523 | :100B3C007D06AF49120C2EC374069549FB755B01FB 524 | :100B4C00755C07C374079549F55D755E01755F01AA 525 | :100B5C007D06E4FF120C2EC374069549FD755B01EE 526 | :100B6C00C374079549F55C755D07755E01755F018A 527 | :100B7C007B06E4FF120C2EC374069549FBFDE54978 528 | :100B8C0004F55BC374079549F55CF55D755E0175FD 529 | :100B9C005F01AF49120C2EC374069549FDE549045B 530 | :100BAC00F55BC374079549F55C755D07755E01755A 531 | :100BBC005F017B06AF49120C2EC374069549FBFDF1 532 | :100BCC00755B01C374079549F55CF55D755E017540 533 | :100BDC005F01E4FF120C2E7F307E751220AC15499C 534 | :0A0BEC00E549D394004003020AEC2F 535 | :010BF60022DC 536 | :10160900E4F54AE4F549E54990129893FFC4540F6B 537 | :101619006019EF540FF54B04FBE4F5647565078B0E 538 | :1016290066756701FDFF1212FA8008E54990129864 539 | :1016390093F54BE4F564756507854B66756701ABF2 540 | :101649004BFDFF1212FA1220A50549E549C3940D75 541 | :1016590040B4054AE54AC3940540A8754A01E54ADC 542 | :10166900D394034005754B048003854A4BE4F5493F 543 | :10167900E549C394185038E54990126893FFC4545A 544 | :101689000FF54CEF540FF54DE4F55BE54C04F55CB3 545 | :10169900E54D04F55D755E01755F01AB4DAD4CE43B 546 | :1016A900FF121A711220A5E54A2549F54980C1059D 547 | :1016B9004AE54AC3940840A6754A01E54AD394030A 548 | :1016C9004005754B048003854A4BE4F549E549C358 549 | :1016D90094185027E54990126893FFC4540FF54CAC 550 | :1016E900EF540FF54D757201FBAD4CE4FF12201854 551 | :1016F9001220A5E54A2549F54980D2054AE54AC39C 552 | :04170900940840B749 553 | :01170D0022B9 554 | :101F4100122108E4FF1220D9121B0512170E120EDE 555 | :101F51002A120E2A12000E12000E121CBA1214FAC4 556 | :101F610012204412043412081CE4FF1220D9121664 557 | :101F71000912043412000E1214FA12000E121CBAC5 558 | :0B1F810012204412043412081C80B827 559 | :03000B00021D458E 560 | :101D4500C0E0C0F0C0D075D000C000C003C004C062 561 | :051D550005C006C007F7 562 | :101D5A00759000E4FB7401A803088002C333D8FC21 563 | :101D6A00F5A07F037E001220ACE50875F008A424D4 564 | :101D7A00092BF8E6F5807F037E001220AC0BBB0826 565 | :101D8A00D4AF087401A807088002C333D8FCF590C1 566 | :101D9A00E508C39407500405088003750800758C8C 567 | :041DAA00C0758A0076 568 | :101DAE00D007D006D005D004D003D000D0D0D0F0CC 569 | :031DBE00D0E03240 570 | :03000000021C2EB1 571 | :0C1C2E00787FE4F6D8FD758179021C7502 572 | :10198D00BB010689828A83E0225002E722BBFE0258 573 | :09199D00E32289828A83E493228B 574 | :1019A600BB010689828A83F0225002F722BBFE0120 575 | :0219B600F3221A 576 | :1019B800EF8DF0A4A8F0CF8CF0A428CE8DF0A42E43 577 | :0219C800FE22FD 578 | :1019CA00BC000BBE0029EF8DF084FFADF022E4CC01 579 | :1019DA00F875F008EF2FFFEE33FEEC33FCEE9DECCA 580 | :1019EA00984005FCEE9DFE0FD5F0E9E4CEFD22ED10 581 | :1019FA00F8F5F0EE8420D21CFEADF075F008EF2F5A 582 | :101A0A00FFED33FD4007985006D5F0F222C398FD4A 583 | :051A1A000FD5F0EA22E7 584 | :101A1F00C2D5EC30E709B2D5E4C39DFDE49CFCEEE2 585 | :101A2F0030E715B2D5E4C39FFFE49EFE1219CAC377 586 | :101A3F00E49DFDE49CFC80031219CA30D507C3E472 587 | :061A4F009FFFE49EFE2251 588 | :101C3A00021F41E493A3F8E493A34003F68001F260 589 | :101C4A0008DFF48029E493A3F85407240CC8C333AB 590 | :101C5A00C4540F4420C8834004F456800146F6DF7A 591 | :101C6A00E4800B0102040810204080900003E47E07 592 | :101C7A00019360BCA3FF543F30E509541FFEE4936F 593 | :101C8A00A360010ECF54C025E060A840B8E493A336 594 | :101C9A00FAE493A3F8E493A3C8C582C8CAC583CA61 595 | :101CAA00F0A3C8C582C8CAC583CADFE9DEE780BE19 596 | :0100060000F9 597 | :00000001FF 598 | -------------------------------------------------------------------------------- /firmware/v2-sdcc/compile.bat: -------------------------------------------------------------------------------- 1 | sdcc -mmcs51 --std-c99 firmware.c -------------------------------------------------------------------------------- /firmware/v2-sdcc/firmware.c: -------------------------------------------------------------------------------- 1 | // Copyright(C) Tomas Uktveris 2015 2 | // www.wzona.info 3 | 4 | #include 5 | 6 | #define uchar unsigned char 7 | #define uint unsigned int 8 | __xdata volatile uchar display[2][8][8]; // 8x8x8 = (Z,Y,X) 9 | volatile uchar frame = 0; // current visible frame (frontbuffer) index 10 | volatile uchar temp = 1; // not visible frame (backbuffer) index 11 | volatile uchar layer = 0; // layer, that is being re-painted 12 | 13 | #define MAX_BUFFER 128 // UART ring buffer size 14 | //#define TX_ENABLED // uncomment to enable uart TX function 15 | 16 | __xdata volatile uchar rx_buffer[MAX_BUFFER]; 17 | volatile int rx_read = 0; 18 | volatile int rx_write = 0; 19 | volatile int rx_in = 0; 20 | 21 | #ifdef TX_ENABLED 22 | volatile uchar tx_buffer[MAX_BUFFER]; 23 | volatile int tx_read = 0; 24 | volatile int tx_write = 0; 25 | volatile int tx_out = 0; 26 | #endif 27 | 28 | /////////////////////////////////////////////////////////// 29 | // interrupt driven uart with ring buffer 30 | void uart_isr() __interrupt (4) 31 | { 32 | EA = 0; 33 | 34 | if (RI) // received a byte 35 | { 36 | RI = 0; // Clear receive interrupt flag 37 | 38 | if (!(rx_write == rx_read && rx_in > 0)) { 39 | rx_buffer[rx_write] = SBUF; 40 | rx_write = (rx_write+1)%MAX_BUFFER; 41 | rx_in++; 42 | } 43 | } 44 | #ifdef TX_ENABLED 45 | else if (TI) // byte was sent 46 | { 47 | TI = 0; // Clear transmit interrupt flag 48 | 49 | if (tx_out > 0) { 50 | SBUF = tx_buffer[tx_read]; 51 | tx_read = (tx_read+1)%MAX_BUFFER; 52 | tx_out--; 53 | } 54 | } 55 | #endif 56 | 57 | EA = 1; 58 | } 59 | 60 | /////////////////////////////////////////////////////////// 61 | #ifdef TX_ENABLED 62 | // send a byte via uart (returns -1 if TX buffer full, otherwise 0 on success) [non blocking] 63 | int send_uart(uchar dat) 64 | { 65 | int res; 66 | EA = 0; 67 | 68 | if (tx_read == tx_write && tx_out > 0) { 69 | // buffer is full 70 | res = -1; 71 | } 72 | else { 73 | tx_buffer[tx_write] = dat; 74 | tx_write = (tx_write+1)%MAX_BUFFER; 75 | tx_out++; 76 | res = 0; 77 | 78 | if (TI == 0) { 79 | TI = 1; // instruct to run interrupt & send the data 80 | } 81 | } 82 | 83 | EA = 1; 84 | return res; 85 | } 86 | 87 | /////////////////////////////////////////////////////////// 88 | // send a string via uart [is blocking] 89 | void send_str(char* s) 90 | { 91 | while (*s) 92 | { 93 | while (send_uart(*s++) != 0) 94 | { 95 | __asm__("nop"); 96 | } 97 | } 98 | } 99 | 100 | /////////////////////////////////////////////////////////// 101 | // send a byte via uart [is blocking] 102 | void send_serial(uchar dat) 103 | { 104 | while(send_uart(dat) != 0) 105 | { 106 | __asm__("nop"); 107 | } 108 | } 109 | #endif 110 | 111 | /////////////////////////////////////////////////////////// 112 | // check if a byte is available in uart receive buffer 113 | // returns -1 if not, otherwise - the byte value [non blocking] 114 | int recv_uart() 115 | { 116 | int value; 117 | EA = 0; 118 | 119 | if (rx_in == 0) 120 | { 121 | value = -1; 122 | } 123 | else 124 | { 125 | value = rx_buffer[rx_read]; 126 | rx_read = (rx_read+1)%MAX_BUFFER; 127 | rx_in--; 128 | } 129 | 130 | EA = 1; 131 | return value; 132 | } 133 | 134 | /////////////////////////////////////////////////////////// 135 | // blocks until a byte is received from uart, returns the byte 136 | uchar read_serial() 137 | { 138 | int value; 139 | while ((value = recv_uart()) == -1) 140 | { 141 | __asm__("nop"); 142 | } 143 | return (uchar)(value & 0xFF); 144 | } 145 | 146 | /////////////////////////////////////////////////////////// 147 | 148 | void delay5us(void) // some magic wait - as in original code 149 | { 150 | unsigned char a,b; 151 | for(b=7; b>0; b--) 152 | for(a=2; a>0; a--); 153 | } 154 | 155 | /////////////////////////////////////////////////////////// 156 | 157 | void delay(uint i) 158 | { 159 | while (i--) 160 | { 161 | delay5us(); 162 | } 163 | } 164 | 165 | /////////////////////////////////////////////////////////// 166 | // assign all cube registers/rows the same value, usually 0, idx - 0/1 for front/back buffer 167 | void clear(char idx, char val) 168 | { 169 | uchar i,j; 170 | for (j = 0; j < 8; ++j) { 171 | for (i=0; i<8; ++i) { 172 | display[idx][j][i] = val; 173 | } 174 | } 175 | } 176 | 177 | /////////////////////////////////////////////////////////// 178 | 179 | // light a specific point on the cube (x,y,z), enable = on/off 180 | void point(uchar x, uchar y, uchar z, uchar enable) 181 | { 182 | uchar ch1 = 1 << x; 183 | if (enable) { 184 | display[frame][z][y] = display[frame][z][y] | ch1; 185 | } 186 | else { 187 | display[frame][z][y] = display[frame][z][y] & (~ch1); 188 | } 189 | } 190 | 191 | /////////////////////////////////////////////////////////// 192 | // sets one row of a layer to the specified value, 193 | // i.e. value = 0 (all 8 leds off), value = 0xFF (all 8 leds on), etc. 194 | void line(uchar y, uchar z, uchar value) 195 | { 196 | display[frame][z][y] = value; 197 | } 198 | 199 | /////////////////////////////////////////////////////////// 200 | // swap back buffer with front buffer (i.e. show contents of back buffer) 201 | void swap() 202 | { 203 | if (frame) { 204 | frame = 0; 205 | temp = 1; 206 | } 207 | else { 208 | frame = 1; 209 | temp = 0; 210 | } 211 | 212 | clear(temp, 0); // start painting on new clean backbuffer 213 | } 214 | 215 | /////////////////////////////////////////////////////////// 216 | 217 | __code uchar dat[128]= { /*railway*/ 218 | 0x0,0x20,0x40,0x60,0x80,0xa0,0xc0,0xe0,0xe4,0xe8,0xec,0xf0,0xf4,0xf8,0xfc,0xdc,0xbc,0x9c,0x7c,0x5c,0x3c, 219 | 0x1c,0x18,0x14,0x10,0xc,0x8,0x4,0x25,0x45,0x65,0x85,0xa5,0xc5,0xc9,0xcd,0xd1,0xd5,0xd9,0xb9,0x99,0x79,0x59,0x39,0x35,0x31, 220 | 0x2d,0x29,0x4a,0x6a,0x8a,0xaa,0xae,0xb2,0xb6,0x96,0x76,0x56,0x52,0x4e,0x6f,0x8f,0x93,0x73,0x6f,0x8f,0x93,0x73,0x4a,0x6a, 221 | 0x8a,0xaa,0xae,0xb2,0xb6,0x96,0x76,0x56,0x52,0x4e,0x25,0x45,0x65,0x85,0xa5,0xc5,0xc9,0xcd,0xd1,0xd5,0xd9,0xb9,0x99,0x79, 222 | 0x59,0x39,0x35,0x31,0x2d,0x29,0x0,0x20,0x40,0x60,0x80,0xa0,0xc0,0xe0,0xe4,0xe8,0xec,0xf0,0xf4,0xf8,0xfc,0xdc,0xbc,0x9c, 223 | 0x7c,0x5c,0x3c,0x1c,0x18,0x14,0x10,0xc,0x8,0x4 224 | }; 225 | 226 | /* 227 | cpp - distance from the midpoint 228 | le - draw or clean. 229 | */ 230 | 231 | void cirp(char cpp, uchar dir, uchar le) 232 | { 233 | uchar a, b, c, cp; 234 | if ((cpp < 128) & (cpp >= 0)) { 235 | if (dir) { 236 | cp = 127 - cpp; 237 | } 238 | else { 239 | cp = cpp; 240 | } 241 | 242 | a = (dat[cp] >> 5) & 0x07; 243 | b = (dat[cp] >> 2) & 0x07; 244 | c = dat[cp] & 0x03; 245 | if (cpp > 63) { 246 | c=7-c; 247 | } 248 | point(a,b,c,le); 249 | } 250 | } 251 | 252 | /////////////////////////////////////////////////////////// 253 | // default animation included in with the ledcube with some modifications 254 | __bit flash_2() 255 | { 256 | uchar i; 257 | for (i=129; i>0; i--) 258 | { 259 | if (rx_in > 0) return 1; // RX command detected 260 | cirp(i-2,0,1); 261 | delay(8000); 262 | cirp(i-1,0,0); 263 | } 264 | 265 | delay(8000); 266 | 267 | for (i=0; i<136; i++) 268 | { 269 | if (rx_in > 0) return 1; // RX command detected 270 | cirp(i,1,1); 271 | delay(8000); 272 | cirp(i-8,1,0); 273 | } 274 | 275 | delay(8000); 276 | 277 | for (i=129; i>0; i--) 278 | { 279 | if (rx_in > 0) return 1; // RX command detected 280 | cirp(i-2,0,1); 281 | delay(8000); 282 | } 283 | 284 | delay(8000); 285 | 286 | for (i=0; i<128; i++) 287 | { 288 | if (rx_in > 0) return 1; // RX command detected 289 | cirp(i-8,1,0); 290 | delay(8000); 291 | } 292 | 293 | delay(60000); 294 | return 0; 295 | } 296 | 297 | /////////////////////////////////////////////////////////// 298 | 299 | void main() 300 | { 301 | int value; 302 | 303 | __bit uart_detected = 0; 304 | __bit frame_started = 0; 305 | 306 | uchar received = 0; 307 | 308 | // init uart - 9600bps@12.000MHz MCU 309 | PCON &= 0x7F; //Baudrate no doubled 310 | SCON = 0x50; //8bit and variable baudrate, 1 stop __bit, no parity 311 | AUXR |= 0x04; //BRT's clock is Fosc (1T) 312 | BRT = 0xD9; //Set BRT's reload value 313 | AUXR |= 0x01; //Use BRT as baudrate generator 314 | AUXR |= 0x10; //BRT running 315 | 316 | ES = 1; // enable UART interrupt 317 | 318 | // setup timer0 319 | TH0 = 0xc0; // reload value 320 | TL0 = 0; 321 | TR0 = 1; // timer0 start 322 | 323 | ET0 = 1; // enable timer0 interrupt 324 | EA = 1; // enable global interrupts 325 | 326 | // clear main buffer and back buffer 327 | clear(frame, 0); 328 | clear(temp, 0); 329 | 330 | while(1) 331 | { 332 | if (uart_detected) // is the cube is being controlled via uart? 333 | { 334 | value = read_serial(); // blocks until a byte comes 335 | 336 | if (!frame_started) 337 | { 338 | if (value == 0xF2) // start receiving batch 339 | { 340 | frame_started = 1; // begin reiving frame data 341 | received = 0; // no rows received 342 | } 343 | } 344 | else 345 | { 346 | if (received < 64) // full cube data still not processed 347 | { 348 | display[temp][received/8][received%8] = value; 349 | received++; // one more row/byte received 350 | } 351 | 352 | if (received >= 64) // full cube info received 353 | { 354 | swap(); // show leds lights 355 | frame_started = 0; // need new frame data 356 | } 357 | } 358 | } 359 | else 360 | { 361 | // run default animation if no UART commands 362 | // if detected - switch working mode 363 | uart_detected = flash_2(); 364 | } 365 | } 366 | } 367 | 368 | /////////////////////////////////////////////////////////// 369 | 370 | //P0; //573 in 371 | //P1; //uln2803 372 | //P2; //573 LE 373 | 374 | void print() __interrupt (1) // timer0 interrupt 375 | { 376 | uchar y; 377 | P1 = 0; 378 | 379 | // update one layer at a time 380 | for (y=0; y<8; y++) 381 | { 382 | P2 = 1< 5 | #include 6 | 7 | #define uchar unsigned char 8 | #define uint unsigned int 9 | 10 | volatile uchar display[2][8][8]; // 8x8x8 = (Z,Y,X) 11 | volatile uchar frame = 0; // current visible frame (frontbuffer) index 12 | volatile uchar temp = 1; // not visible frame (backbuffer) index 13 | volatile uchar layer = 0; // layer, that is being re-painted 14 | 15 | #define MAX_BUFFER 128 // UART ring buffer size 16 | //#define TX_ENABLED // uncomment to enable uart TX function 17 | 18 | volatile uchar rx_buffer[MAX_BUFFER]; 19 | volatile int rx_read = 0; 20 | volatile int rx_write = 0; 21 | volatile int rx_in = 0; 22 | 23 | #ifdef TX_ENABLED 24 | volatile uchar tx_buffer[MAX_BUFFER]; 25 | volatile int tx_read = 0; 26 | volatile int tx_write = 0; 27 | volatile int tx_out = 0; 28 | #endif 29 | 30 | /////////////////////////////////////////////////////////// 31 | // interrupt driven uart with ring buffer 32 | void uart_isr() interrupt 4 33 | { 34 | EA = 0; 35 | 36 | if (RI) // received a byte 37 | { 38 | RI = 0; //Clear receive interrupt flag 39 | 40 | if (!(rx_write == rx_read && rx_in > 0)) 41 | { 42 | rx_buffer[rx_write] = SBUF; 43 | rx_write = (rx_write+1)%MAX_BUFFER; 44 | rx_in++; 45 | } 46 | } 47 | #ifdef TX_ENABLED 48 | else if (TI) // byte was sent 49 | { 50 | TI = 0; //Clear transmit interrupt flag 51 | 52 | if (tx_out > 0) 53 | { 54 | SBUF = tx_buffer[tx_read]; 55 | tx_read = (tx_read+1)%MAX_BUFFER; 56 | tx_out--; 57 | } 58 | } 59 | #endif 60 | 61 | EA = 1; 62 | } 63 | 64 | /////////////////////////////////////////////////////////// 65 | #ifdef TX_ENABLED 66 | // send a byte via uart (returns -1 if TX buffer full, otherwise 0 on success) [non blocking] 67 | int send_uart(uchar dat) 68 | { 69 | int res; 70 | EA = 0; 71 | 72 | if (tx_read == tx_write && tx_out > 0) 73 | { 74 | // buffer is full 75 | res = -1; 76 | } 77 | else 78 | { 79 | tx_buffer[tx_write] = dat; 80 | tx_write = (tx_write+1)%MAX_BUFFER; 81 | tx_out++; 82 | res = 0; 83 | 84 | if (TI == 0) 85 | { 86 | TI = 1; // instruct to run interrupt & send the data 87 | } 88 | } 89 | 90 | EA = 1; 91 | return res; 92 | } 93 | 94 | /////////////////////////////////////////////////////////// 95 | // send a string via uart [is blocking] 96 | void send_str(char* s) 97 | { 98 | while (*s) 99 | { 100 | while (send_uart(*s++) != 0) 101 | { 102 | _nop_(); 103 | } 104 | } 105 | } 106 | 107 | /////////////////////////////////////////////////////////// 108 | // send a byte via uart [is blocking] 109 | void send_serial(uchar dat) 110 | { 111 | while(send_uart(dat) != 0) 112 | { 113 | _nop_(); 114 | } 115 | } 116 | #endif 117 | 118 | /////////////////////////////////////////////////////////// 119 | // check if a byte is available in uart receive buffer 120 | // returns -1 if not, otherwise - the byte value [non blocking] 121 | int recv_uart() 122 | { 123 | int value; 124 | EA = 0; 125 | 126 | if (rx_in == 0) 127 | { 128 | value = -1; 129 | } 130 | else 131 | { 132 | value = rx_buffer[rx_read]; 133 | rx_read = (rx_read+1)%MAX_BUFFER; 134 | rx_in--; 135 | } 136 | 137 | EA = 1; 138 | return value; 139 | } 140 | 141 | /////////////////////////////////////////////////////////// 142 | // blocks until a byte is received from uart, returns the byte 143 | uchar read_serial() 144 | { 145 | int value; 146 | while ((value = recv_uart()) == -1) 147 | { 148 | _nop_(); 149 | } 150 | return (uchar)(value & 0xFF); 151 | } 152 | 153 | /////////////////////////////////////////////////////////// 154 | 155 | void delay5us(void) // some magic wait - as in original code 156 | { 157 | unsigned char a,b; 158 | for(b=7; b>0; b--) 159 | for(a=2; a>0; a--); 160 | } 161 | 162 | /////////////////////////////////////////////////////////// 163 | 164 | void delay(uint i) 165 | { 166 | while (i--) 167 | { 168 | delay5us(); 169 | } 170 | } 171 | 172 | /////////////////////////////////////////////////////////// 173 | // assign all cube registers/rows the same value, usually 0, idx - 0/1 for front/back buffer 174 | void clear(char idx, char val) 175 | { 176 | uchar i,j; 177 | for (j=0; j<8; j++) 178 | { 179 | for (i=0; i<8; i++) 180 | display[idx][j][i] = val; 181 | } 182 | } 183 | 184 | /////////////////////////////////////////////////////////// 185 | 186 | // light a specific point on the cube (x,y,z), enable = on/off 187 | void point(uchar x, uchar y, uchar z, uchar enable) 188 | { 189 | uchar ch1 = 1<=0)) { 242 | if (dir) 243 | cp=127-cpp; 244 | else 245 | cp=cpp; 246 | a=(dat[cp]>>5)&0x07; 247 | b=(dat[cp]>>2)&0x07; 248 | c=dat[cp]&0x03; 249 | if (cpp>63) 250 | c=7-c; 251 | point (a,b,c,le); 252 | } 253 | } 254 | 255 | /////////////////////////////////////////////////////////// 256 | // default animation included in with the ledcube with some modifications 257 | bit flash_2() 258 | { 259 | uchar i; 260 | for (i=129; i>0; i--) 261 | { 262 | if (rx_in > 0) return 1; // RX command detected 263 | cirp(i-2,0,1); 264 | delay(8000); 265 | cirp(i-1,0,0); 266 | } 267 | 268 | delay(8000); 269 | 270 | for (i=0; i<136; i++) 271 | { 272 | if (rx_in > 0) return 1; // RX command detected 273 | cirp(i,1,1); 274 | delay(8000); 275 | cirp(i-8,1,0); 276 | } 277 | 278 | delay(8000); 279 | 280 | for (i=129; i>0; i--) 281 | { 282 | if (rx_in > 0) return 1; // RX command detected 283 | cirp(i-2,0,1); 284 | delay(8000); 285 | } 286 | 287 | delay(8000); 288 | 289 | for (i=0; i<128; i++) 290 | { 291 | if (rx_in > 0) return 1; // RX command detected 292 | cirp(i-8,1,0); 293 | delay(8000); 294 | } 295 | 296 | delay(60000); 297 | return 0; 298 | } 299 | 300 | /////////////////////////////////////////////////////////// 301 | 302 | void main() 303 | { 304 | int value; 305 | 306 | bit uart_detected = 0, 307 | frame_started = 0; 308 | 309 | uchar received = 0; 310 | 311 | // init uart - 9600bps@12.000MHz MCU 312 | PCON &= 0x7F; //Baudrate no doubled 313 | SCON = 0x50; //8bit and variable baudrate, 1 stop bit, no parity 314 | AUXR |= 0x04; //BRT's clock is Fosc (1T) 315 | BRT = 0xD9; //Set BRT's reload value 316 | AUXR |= 0x01; //Use BRT as baudrate generator 317 | AUXR |= 0x10; //BRT running 318 | 319 | ES = 1; // enable UART interrupt 320 | 321 | // setup timer0 322 | TH0 = 0xc0; // reload value 323 | TL0 = 0; 324 | TR0 = 1; // timer0 start 325 | 326 | ET0 = 1; // enable timer0 interrupt 327 | EA = 1; // enable global interrupts 328 | 329 | // clear main buffer and back buffer 330 | clear(frame, 0); 331 | clear(temp, 0); 332 | 333 | while(1) 334 | { 335 | if (uart_detected) // is the cube is being controlled via uart? 336 | { 337 | value = read_serial(); // blocks until a byte comes 338 | 339 | if (!frame_started) 340 | { 341 | if (value == 0xF2) // start receiving batch 342 | { 343 | frame_started = 1; // begin reiving frame data 344 | received = 0; // no rows received 345 | } 346 | } 347 | else 348 | { 349 | if (received < 64) // full cube data still not processed 350 | { 351 | display[temp][received/8][received%8] = value; 352 | received++; // one more row/byte received 353 | } 354 | 355 | if (received >= 64) // full cube info received 356 | { 357 | swap(); // show leds lights 358 | frame_started = 0; // need new frame data 359 | } 360 | } 361 | } 362 | else 363 | { 364 | // run default animation if no UART commands 365 | // if detected - switch working mode 366 | uart_detected = flash_2(); 367 | } 368 | } 369 | } 370 | 371 | /////////////////////////////////////////////////////////// 372 | 373 | //P0; //573 in 374 | //P1; //uln2803 375 | //P2; //573 LE 376 | 377 | void print() interrupt 1 // timer0 interrupt 378 | { 379 | uchar y; 380 | P1 = 0; 381 | 382 | // update one layer at a time 383 | for (y=0; y<8; y++) 384 | { 385 | P2 = 1< 2 | 3 | 4 | 1.0 5 | 6 |
### uVision Project, (C) Keil Software
7 | 8 | 9 | *.c 10 | *.s*; *.src; *.a* 11 | *.obj 12 | *.lib 13 | *.txt; *.h; *.inc 14 | *.plm 15 | *.cpp 16 | 17 | 18 | 19 | 0 20 | 0 21 | 22 | 23 | 24 | Target 1 25 | 0x0 26 | MCS-51 27 | 28 | 12000000 29 | 30 | 1 31 | 1 32 | 1 33 | 0 34 | 35 | 36 | 0 37 | 65535 38 | 0 39 | 0 40 | 0 41 | 42 | 43 | 120 44 | 65 45 | 8 46 | .\ 47 | 48 | 49 | 0 50 | 0 51 | 0 52 | 0 53 | 1 54 | 1 55 | 0 56 | 1 57 | 0 58 | 0 59 | 0 60 | 0 61 | 62 | 63 | 1 64 | 1 65 | 1 66 | 1 67 | 1 68 | 1 69 | 1 70 | 0 71 | 0 72 | 73 | 74 | 1 75 | 0 76 | 1 77 | 78 | 255 79 | 80 | 1 81 | 0 82 | 1 83 | 1 84 | 1 85 | 1 86 | 1 87 | 1 88 | 1 89 | 1 90 | 0 91 | 1 92 | 1 93 | 1 94 | 0 95 | 1 96 | 1 97 | 1 98 | 1 99 | 1 100 | 0 101 | 0 102 | -1 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 0 118 | 119 | 120 | 0 121 | 1 122 | 0 123 | 0 124 | 0 125 | 0 126 | 0 127 | 0 128 | 0 129 | 0 130 | 0 131 | 0 132 | 0 133 | 0 134 | 0 135 | 0 136 | 0 137 | 0 138 | 0 139 | 0 140 | 0 141 | 0 142 | 0 143 | 0 144 | 145 | 146 | 147 | 148 | 149 | 150 | 151 | Source Group 1 152 | 1 153 | 0 154 | 0 155 | 0 156 | 157 | 1 158 | 1 159 | 1 160 | 0 161 | 0 162 | 0 163 | 0 164 | .\888_v2.c 165 | 888_v2.c 166 | 0 167 | 0 168 | 169 | 170 | 171 |
172 | -------------------------------------------------------------------------------- /firmware/v2/ledcube8.uvproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 1.1 5 | 6 |
### uVision Project, (C) Keil Software
7 | 8 | 9 | 10 | Target 1 11 | 0x0 12 | MCS-51 13 | 14 | 15 | STC12C5A60S2 16 | STC 17 | IRAM(0-0xFF) XRAM(0-0x3FF) IROM(0-0xEFFF) CLOCK(45000000) MODP2 18 | 19 | "LIB\STARTUP.A51" ("Standard 8051 Startup Code") 20 | 21 | 53630 22 | STC12C5A60S2.H 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 0 34 | 0 35 | 36 | 37 | 38 | STC\ 39 | STC\ 40 | 41 | 0 42 | 0 43 | 0 44 | 0 45 | 1 46 | 47 | .\ 48 | ledcube8 49 | 1 50 | 0 51 | 1 52 | 0 53 | 0 54 | .\ 55 | 0 56 | 0 57 | 0 58 | 59 | 0 60 | 0 61 | 62 | 63 | 0 64 | 0 65 | 0 66 | 0 67 | 68 | 69 | 0 70 | 0 71 | 72 | 73 | 0 74 | 0 75 | 0 76 | 0 77 | 78 | 79 | 0 80 | 0 81 | 82 | 83 | 0 84 | 0 85 | 86 | 0 87 | 88 | 89 | 90 | 0 91 | 0 92 | 0 93 | 0 94 | 0 95 | 1 96 | 0 97 | 0 98 | 0 99 | 0 100 | 3 101 | 102 | 103 | 1 104 | 65535 105 | 106 | 107 | S8051.DLL 108 | 109 | DP51.DLL 110 | -pDR8051 111 | S8051.DLL 112 | 113 | TP51.DLL 114 | -p51 115 | 116 | 117 | 118 | 0 119 | 0 120 | 0 121 | 0 122 | 16 123 | 124 | 125 | 1 126 | 1 127 | 1 128 | 1 129 | 1 130 | 1 131 | 1 132 | 1 133 | 0 134 | 1 135 | 136 | 137 | 0 138 | 1 139 | 0 140 | 1 141 | 1 142 | 1 143 | 0 144 | 1 145 | 1 146 | 1 147 | 1 148 | 149 | 0 150 | -1 151 | 152 | 153 | 154 | 155 | 156 | 157 | 158 | 159 | 160 | 161 | 162 | 163 | 164 | 165 | 166 | 167 | 168 | 169 | 0 170 | 0 171 | 0 172 | 0 173 | 0 174 | -1 175 | 176 | 0 177 | 178 | "" () 179 | 180 | 181 | 182 | 183 | 0 184 | 185 | 186 | 187 | 2 188 | 0 189 | 2 190 | 0 191 | 0 192 | 0 193 | 0 194 | 0 195 | 0 196 | 1 197 | 1 198 | 1 199 | 0 200 | 0 201 | 1 202 | 0 203 | 0 204 | 0 205 | 0 206 | 0 207 | 0 208 | 0 209 | 0 210 | 0 211 | 0 212 | 0 213 | 0 214 | 0 215 | 0 216 | 0 217 | 0 218 | 0 219 | 0 220 | 0 221 | 0 222 | 0 223 | 0 224 | 0 225 | 0 226 | 0 227 | 0 228 | 229 | 230 | 0 231 | 0x0 232 | 0xffff 233 | 234 | 235 | 0 236 | 0x0 237 | 0x0 238 | 239 | 240 | 0 241 | 0x0 242 | 0x0 243 | 244 | 245 | 0 246 | 0x0 247 | 0x0 248 | 249 | 250 | 0 251 | 0x0 252 | 0x0 253 | 254 | 255 | 0 256 | 0x0 257 | 0x0 258 | 259 | 260 | 0 261 | 0x0 262 | 0x0 263 | 264 | 265 | 0 266 | 0x0 267 | 0x0 268 | 269 | 270 | 1 271 | 0x0 272 | 0xf000 273 | 274 | 275 | 0 276 | 0x0 277 | 0x100 278 | 279 | 280 | 0 281 | 0x0 282 | 0x400 283 | 284 | 285 | 0 286 | 0x0 287 | 0x0 288 | 289 | 290 | 0 291 | 0x0 292 | 0x0 293 | 294 | 295 | 296 | 297 | 0 298 | 0 299 | 1 300 | 0 301 | 1 302 | 3 303 | 8 304 | 2 305 | 1 306 | 1 307 | 0 308 | 0 309 | 310 | 311 | 312 | 313 | 314 | 315 | 316 | 317 | 0 318 | 1 319 | 0 320 | 0 321 | 322 | 323 | 324 | 325 | 326 | 327 | 328 | 329 | 0 330 | 0 331 | 1 332 | 0 333 | 2 334 | 1 335 | 336 | 337 | 16 338 | 339 | 340 | 341 | 342 | 343 | 344 | 345 | 346 | 347 | 348 | 349 | 350 | 351 | 352 | 353 | 354 | 355 | 356 | 357 | 358 | 359 | 360 | 361 | 362 | 363 | Source Group 1 364 | 365 | 366 | 888_v2.c 367 | 1 368 | .\888_v2.c 369 | 370 | 371 | 372 | 373 | 374 | 375 | 376 |
377 | -------------------------------------------------------------------------------- /help/howto_stc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomazas/ledcube8x8x8/713520a53c29152e65716aa0a5c851ceb1e4d571/help/howto_stc.png -------------------------------------------------------------------------------- /help/install_headers.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomazas/ledcube8x8x8/713520a53c29152e65716aa0a5c851ceb1e4d571/help/install_headers.png -------------------------------------------------------------------------------- /help/programming_ok.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomazas/ledcube8x8x8/713520a53c29152e65716aa0a5c851ceb1e4d571/help/programming_ok.png -------------------------------------------------------------------------------- /manual/74HC573.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomazas/ledcube8x8x8/713520a53c29152e65716aa0a5c851ceb1e4d571/manual/74HC573.pdf -------------------------------------------------------------------------------- /manual/Installation Manual.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomazas/ledcube8x8x8/713520a53c29152e65716aa0a5c851ceb1e4d571/manual/Installation Manual.pdf -------------------------------------------------------------------------------- /manual/Introduction Manual.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomazas/ledcube8x8x8/713520a53c29152e65716aa0a5c851ceb1e4d571/manual/Introduction Manual.pdf -------------------------------------------------------------------------------- /manual/STC12C5A60S2-datasheet.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomazas/ledcube8x8x8/713520a53c29152e65716aa0a5c851ceb1e4d571/manual/STC12C5A60S2-datasheet.pdf -------------------------------------------------------------------------------- /manual/uln2803ap_tosh.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomazas/ledcube8x8x8/713520a53c29152e65716aa0a5c851ceb1e4d571/manual/uln2803ap_tosh.pdf -------------------------------------------------------------------------------- /schematics/8X8X8 schematic and PCB/8x8x8.ddb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomazas/ledcube8x8x8/713520a53c29152e65716aa0a5c851ceb1e4d571/schematics/8X8X8 schematic and PCB/8x8x8.ddb -------------------------------------------------------------------------------- /schematics/8X8X8 schematic and PCB/8x8x8.ddp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomazas/ledcube8x8x8/713520a53c29152e65716aa0a5c851ceb1e4d571/schematics/8X8X8 schematic and PCB/8x8x8.ddp -------------------------------------------------------------------------------- /schematics/led grid.ai: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomazas/ledcube8x8x8/713520a53c29152e65716aa0a5c851ceb1e4d571/schematics/led grid.ai -------------------------------------------------------------------------------- /schematics/schematic.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomazas/ledcube8x8x8/713520a53c29152e65716aa0a5c851ceb1e4d571/schematics/schematic.pdf -------------------------------------------------------------------------------- /software/alpha/3D8S_alpha.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomazas/ledcube8x8x8/713520a53c29152e65716aa0a5c851ceb1e4d571/software/alpha/3D8S_alpha.exe -------------------------------------------------------------------------------- /software/alpha/3D8S_alpha.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomazas/ledcube8x8x8/713520a53c29152e65716aa0a5c851ceb1e4d571/software/alpha/3D8S_alpha.pdb -------------------------------------------------------------------------------- /software/alpha/3D8S_alpha.vshost.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomazas/ledcube8x8x8/713520a53c29152e65716aa0a5c851ceb1e4d571/software/alpha/3D8S_alpha.vshost.exe -------------------------------------------------------------------------------- /software/alpha/A3d8Test_M328.hex: -------------------------------------------------------------------------------- 1 | :100000000C9465000C948D000C948D000C948D0064 2 | :100010000C948D000C948D000C948D000C94200990 3 | :100020000C948D000C948D000C948D000C948D001C 4 | :100030000C948D000C948D000C948D000C948D000C 5 | :100040000C948E090C948D000C94C1060C94080736 6 | :100050000C948D000C948D000C948D000C948D00EC 7 | :100060000C948D000C948D000200000000240027E9 8 | :10007000002A0000000000250028002B00000000DE 9 | :1000800000230026002900040404040404040402DC 10 | :100090000202020202030303030303010204081025 11 | :1000A00020408001020408102001020408102000F2 12 | :1000B0000000070002010000030406000000000029 13 | :1000C000000000008A056E08830511241FBECFEFD3 14 | :1000D000D8E0DEBFCDBF11E0A0E0B1E0EEEBF6E18D 15 | :1000E00002C005900D92A832B107D9F712E0A8E23C 16 | :1000F000B1E001C01D92A230B107E1F710E0C8ECF9 17 | :10010000D0E004C02297FE010E944E0BC43CD107F0 18 | :10011000C9F70E947C090C94520B0C940000CF93F9 19 | :10012000DF93BC018230910510F462E070E0A09191 20 | :100130000002B0910102ED01E0E0F0E040E050E0AB 21 | :1001400021C0888199818617970769F48A819B81EC 22 | :10015000309719F09383828304C0909301028093B7 23 | :100160000002FE0134C06817790738F441155105C3 24 | :1001700019F08417950708F4AC01FE018A819B8170 25 | :100180009C01E9012097E9F641155105A9F1CA0141 26 | :10019000861B970B049708F4BA01E0E0F0E02AC050 27 | :1001A0008D919C91119784179507F9F46417750741 28 | :1001B00081F412968D919C911397309719F0938347 29 | :1001C000828304C09093010280930002FD01329665 30 | :1001D0004CC0CA01861B970BFD01E80FF91F619304 31 | :1001E000719302978D939C9340C0FD01828193810E 32 | :1001F0009C01D9011097A1F68091FE019091FF0119 33 | :10020000892B41F480910201909103019093FF01A9 34 | :100210008093FE0140910401509105014115510563 35 | :1002200041F44DB75EB78091000190910101481BE8 36 | :10023000590B2091FE013091FF01CA01821B930BE3 37 | :100240008617970780F0AB014E5F5F4F84179507C5 38 | :1002500050F0420F531F5093FF014093FE01F901EC 39 | :100260006193719302C0E0E0F0E0CF01DF91CF91A4 40 | :100270000895CF93DF93009709F450C0EC012297C3 41 | :100280001B821A82A0910002B0910102109709F11D 42 | :1002900040E050E0AC17BD0708F1BB83AA83FE0124 43 | :1002A00021913191E20FF31FAE17BF0779F48D91C1 44 | :1002B0009C911197280F391F2E5F3F4F3983288358 45 | :1002C00012968D919C9113979B838A8341155105BA 46 | :1002D00071F4D0930102C093000220C012968D9158 47 | :1002E0009C911397AD01009711F0DC01D3CFFA0177 48 | :1002F000D383C28321913191E20FF31FCE17DF0721 49 | :1003000069F488819981280F391F2E5F3F4FFA01C8 50 | :10031000318320838A819B8193838283DF91CF9174 51 | :100320000895DC0101C06D9341505040E0F70895FD 52 | :10033000FC018CE091E0918380830895FC0163834C 53 | :1003400082810E94D60A089560E00E949E0108956D 54 | :10035000FC018CE091E091838083CF010E948B09A6 55 | :1003600008950F931F938C01862F2CE031E0F80144 56 | :10037000318320836283138261E00E94970AC8015F 57 | :100380000E94A4011F910F910895FC0184E191E066 58 | :10039000918380830895FC0184E191E091838083BF 59 | :1003A000CF010E948B090895FC01828170E00E94B8 60 | :1003B000370A0895FC01862F24E131E03183208340 61 | :1003C000628361E00E94970A0895CF93DF93DC0176 62 | :1003D0001496EC91149760FF16C02E2F30E0F901AF 63 | :1003E000E957FF4FE4918E2F90E0880F991F8D58A9 64 | :1003F0009F4FFC01C591D491888125563F4FF9014B 65 | :100400009491892B16C02E2F30E0F901E957FF4F48 66 | :10041000E4918E2F90E0880F991F8D589F4FFC011B 67 | :10042000C591D491888125563F4FF90194919095BB 68 | :10043000892388831596EC91159761FF16C02E2F9E 69 | :1004400030E0F901E957FF4FE4918E2F90E0880FDB 70 | :10045000991F8D589F4FFC01C591D49188812556D5 71 | :100460003F4FF9019491892B16C02E2F30E0F901EE 72 | :10047000E957FF4FE4918E2F90E0880F991F8D5818 73 | :100480009F4FFC01C591D491888125563F4FF901BA 74 | :10049000949190958923888316968C9162FF16C05B 75 | :1004A000282F30E0F901E957FF4FE4918E2F90E0BB 76 | :1004B000880F991F8D589F4FFC01A591B4918C9185 77 | :1004C00025563F4FF9019491892B16C0282F30E013 78 | :1004D000F901E957FF4FE4918E2F90E0880F991FA3 79 | :1004E0008D589F4FFC01A591B4918C9125563F4F9B 80 | :1004F000F9019491909589238C93DF91CF91089580 81 | :100500006F73DC011796ED91FC911897E60FF11DC2 82 | :1005100040830895CF93DF93742FE62FF0E0669524 83 | :100520006695669521E030E040E050E004C0220F7F 84 | :10053000331F441F551F6A95D2F7322F3095E7704D 85 | :10054000F07063E0EE0FFF1F6A95E1F7EC01AF81F9 86 | :10055000B885AE0FBF1F98E0672F70E08C9160FFE9 87 | :1005600002C0822B01C083238C9391501196992352 88 | :1005700021F075956795762FEFCFDF91CF91089594 89 | :10058000262F30E0E3E035952795EA95E1F7DC0189 90 | :100590001796ED91FC911897E20FF31F677081E0B9 91 | :1005A00090E0A0E0B0E001C0880F6A95EAF7382F2C 92 | :1005B000309528E050E0908140FF02C0982B01C0A8 93 | :1005C00093239083215021F0389655954795F2CF8B 94 | :1005D0000895742F262F30E0B3E035952795BA950E 95 | :1005E000E1F74FE350E0421B530BDC011796ED910E 96 | :1005F000FC911897E40FF51F6095677081E090E01B 97 | :10060000A0E0B0E001C0880F6A95EAF7382F309576 98 | :1006100028E0472F50E0908170FF02C0982B01C066 99 | :1006200093239083215029F055954795742F38973F 100 | :10063000F0CF08950F931F93CF93DF93DC01EB016D 101 | :1006400074E0888168E0482F50E0EC9180FF17C08B 102 | :100650002E2F30E0F901E957FF4FE4918E2F90E003 103 | :10066000880F991F8D589F4FFC0105911491F80137 104 | :10067000808125563F4FF9019491892B17C02E2F69 105 | :1006800030E0F901E957FF4FE4918E2F90E0880F99 106 | :10069000991F8D589F4FFC0105911491F80180819D 107 | :1006A00025563F4FF901949190958923F801808355 108 | :1006B0001396EC9113972E2F30E0F901E957FF4F75 109 | :1006C000E4918E2F90E0880F991F8D589F4FFC0169 110 | :1006D00005911491F801808125563F4FF9019491BD 111 | :1006E00090958923F80180831396EC9113972E2F10 112 | :1006F00030E0F901E957FF4FE4918E2F90E0880F29 113 | :10070000991F8D589F4FFC0105911491F80180812C 114 | :1007100025563F4FF9019491892BF8018083615050 115 | :1007200021F055954795842F8ECF598148E0EC9163 116 | :1007300057FF17C02E2F30E0F901E957FF4FE49122 117 | :100740008E2F90E0880F991F8D589F4FFC010591C7 118 | :100750001491F801808125563F4FF9019491892B1E 119 | :1007600017C02E2F30E0F901E957FF4FE4918E2F8B 120 | :1007700090E0880F991F8D589F4FFC0105911491AF 121 | :10078000F801808125563F4FF90194919095892376 122 | :10079000F80180831396EC9113972E2F30E0F90126 123 | :1007A000E957FF4FE4918E2F90E0880F991F8D58E5 124 | :1007B0009F4FFC0105911491F801808125563F4F10 125 | :1007C000F901949190958923F80180831396EC9117 126 | :1007D00013972E2F30E0F901E957FF4FE4918E2F48 127 | :1007E00090E0880F991F8D589F4FFC01059114913F 128 | :1007F000F801808125563F4FF9019491892BF8012A 129 | :100800008083415011F0550F92CF715011F0229614 130 | :1008100018CFDF91CF911F910F910895AF92BF92A2 131 | :10082000DF92EF92FF920F931F93CF93DF938C0190 132 | :10083000D62E862F90E0E3E0880F991FEA95E1F726 133 | :10084000F80167817085680F791FC8010E941A033B 134 | :10085000F8018181282F30E077E8A72E70E0B72ECD 135 | :10086000F501E20FF31FE4918E2F90E0880F991F9E 136 | :1008700053E7E52E50E0F52E8E0D9F1DFC01A5914E 137 | :10088000B4918C91CBE9D0E02C0F3D1FF9019491EC 138 | :10089000892B8C93F8018281282F30E0F501E20F3B 139 | :1008A000F31FE4918E2F90E0880F991F8E0D9F1DEE 140 | :1008B000FC01A591B4918C912C0F3D1FF9019491ED 141 | :1008C000892B8C93F8018281282F30E0F501E20F0B 142 | :1008D000F31FE4918E2F90E0880F991F8E0D9F1DBE 143 | :1008E000FC01A591B4918C912C0F3D1FF9019491BD 144 | :1008F000909589238C93C8016D2D0E94E501F80124 145 | :10090000818190E0A80EB91EF501249130E0220FFC 146 | :10091000331F2E0D3F1DF901A591B4912C91C80FE5 147 | :10092000D91FFE018491809528232C93DF91CF91CC 148 | :100930001F910F91FF90EF90DF90BF90AF900895BF 149 | :10094000FC018781908570E040E450E00E949101B5 150 | :100950000895FC01878190850E94390108958F9246 151 | :100960009F92AF92CF92EF920F934C01DC016C9368 152 | :1009700011964C93119712962C93129713960C93F1 153 | :1009800013971496EC9214971596CC921597169689 154 | :10099000AC9280E490E00E948F00F40187839087FE 155 | :1009A000808161E00E94970AD40111968C9161E0E8 156 | :1009B0000E94970AF401828161E00E94970AD401A3 157 | :1009C00013968C9161E00E94970AF401848161E0A2 158 | :1009D0000E94970AD40115968C9161E00E94970AB3 159 | :1009E000F401868161E00E94970AD4011196EC918E 160 | :1009F0002E2F30E0F901E957FF4FE4918E2F90E060 161 | :100A0000880F991F8D589F4FFC01A591B4918C912F 162 | :100A100025563F4FF9019491909589238C93C401F9 163 | :100A20006FEF0E94A0040F91EF90CF90AF909F9036 164 | :100A30008F900895813061F0813018F08230B1F4E8 165 | :100A40000EC010923F0110923E0180E892E014C067 166 | :100A500010923F0110923E018AE892E00DC0109280 167 | :100A60003F0110923E0180EC92E006C010923F01DF 168 | :100A700010923E0189EE92E090933D0180933C01FB 169 | :100A80000895AF92CF92EF920F938130910509F5BF 170 | :100A90006F5F7F4F99F588E291E069E048E021E1DE 171 | :100AA0000AE073E0E72E54E0C52E35E0A32E0E9445 172 | :100AB000AF0481E391E066E00E94B10185E391E03B 173 | :100AC00067E00E94B10189E391E06BE00E94DA01E6 174 | :100AD00015C0892B99F46F5F7F4F81F489E391E012 175 | :100AE0000E94C50185E391E00E94980181E391E0B5 176 | :100AF0000E94980188E291E00E94A9040F91EF9072 177 | :100B0000CF90AF90089580E090E06FEF7FEF0E946C 178 | :100B10004105089581E090E06FEF7FEF0E9441056D 179 | :100B20000895EF92FF920F931F93609146016F5FBC 180 | :100B300060934601615088E291E00E940E0452E009 181 | :100B4000E52EFF24F394D5C08FEC91E00E94FA07C4 182 | :100B5000082F60914101662349F4803F38F0863FB9 183 | :100B600028F480930601F0924101BCC080910601F7 184 | :100B7000823F09F46CC0833F30F4803F71F0813FC5 185 | :100B800009F0AEC033C0843F09F494C0843F08F438 186 | :100B90008DC0853F09F0A4C093C010E020913E01B4 187 | :100BA00030913F0120FF12C0F901F595E795E85D0E 188 | :100BB000FE4F0190F081E02D80913C0190913D012C 189 | :100BC000E80FF91F0190F081E02D04C0E0913C0195 190 | :100BD000F0913D0135952795C901885D9E4F612FA4 191 | :100BE000402F09951F5F1034C9F67AC0613031F487 192 | :100BF0000F7300934001E092410174C0623009F02C 193 | :100C000071C020913E0130913F0120FF12C0F901D7 194 | :100C1000F595E795E85DFE4F0190F081E02D80911C 195 | :100C20003C0190913D01E80FF91F0190F081E02D0A 196 | :100C300004C0E0913C01F0913D0135952795C90133 197 | :100C4000885D9E4F60914001402F099549C02091D9 198 | :100C50003E0130913F0120FF12C0F901F595E79563 199 | :100C6000E85DFE4F0190F081E02D80913C01909174 200 | :100C70003D01E80FF91F0190F081E02D04C0E091E3 201 | :100C80003C01F0913D013595279561506F73C90185 202 | :100C9000885D9E4F402F099580914101803410F06E 203 | :100CA00080E001C08F5F809341011CC0802F0E94B3 204 | :100CB0001A0516C089E391E0602F0E94D40110C08C 205 | :100CC00010E0B8016170707081E391E00E949E01B4 206 | :100CD00016950795017085E391E0602F0E949E01B3 207 | :100CE000109241018FEC91E00E94C907892B09F015 208 | :100CF0002BCF0E94D60920914201309143014091AF 209 | :100D00004401509145012050384F4F4F5F4F6217BB 210 | :100D100073078407950730F30E94D6096093420158 211 | :100D20007093430180934401909345018091460163 212 | :100D3000883010F0109246011F910F91FF90EF90B4 213 | :100D4000089581E391E00E94A40185E391E00E946F 214 | :100D5000A40189E391E06FEF0E94D401E1EBF0E0A0 215 | :100D60008081887F8360808383E00E941A058FECF6 216 | :100D700091E040E051EE60E070E00E94430708958A 217 | :100D800008951F920F920FB60F9211242F933F9345 218 | :100D90004F938F939F93EF93FF934091C6002091C1 219 | :100DA0008701309188012F5F3F4F2F733070809102 220 | :100DB000890190918A012817390759F0E09187013C 221 | :100DC000F0918801E95BFE4F4083309388012093C6 222 | :100DD0008701FF91EF919F918F914F913F912F91BB 223 | :100DE0000F900FBE0F901F901895E091DB01F091CE 224 | :100DF000DC01E05CFF4F8191919120813181821B68 225 | :100E0000930B8F739070892B11F00E94C006089588 226 | :100E10001F920F920FB60F9211242F933F938F932F 227 | :100E20009F93EF93FF932091CB013091CC01809160 228 | :100E3000CD019091CE012817390731F48091C1007E 229 | :100E40008F7D8093C10014C0E091CD01F091CE015F 230 | :100E5000E557FE4F20818091CD019091CE01019602 231 | :100E60008F7390709093CE018093CD012093C60034 232 | :100E7000FF91EF919F918F913F912F910F900FBE16 233 | :100E80000F901F901895AF92BF92DF92EF92FF9252 234 | :100E90000F931F93CF93DF93EC017A018B01DD2435 235 | :100EA000403081EE580780E0680780E0780711F055 236 | :100EB000DD24D39491E0A92EB12CEC89FD89DD20AD 237 | :100EC00069F0C5010E8C02C0880F991F0A94E2F7E1 238 | :100ED000808360E079E08DE390E005C0108260E8F7 239 | :100EE00074E88EE190E0A80197010E942A0B21503E 240 | :100EF000304040405040569547953795279580E1C2 241 | :100F00002030380720F0DD2011F0DD24D6CFE8892D 242 | :100F1000F9893083EA89FB892083EE89FF89408142 243 | :100F200021E030E0C9010A8C02C0880F991F0A94A1 244 | :100F3000E2F7482B4083EE89FF894081C9010B8C81 245 | :100F400002C0880F991F0A94E2F7482B4083EE896C 246 | :100F5000FF894081C9010C8C02C0880F991F0A9437 247 | :100F6000E2F7482B4083EE89FF8980810D8C02C017 248 | :100F7000220F331F0A94E2F7209528232083DF9164 249 | :100F8000CF911F910F91FF90EF90DF90BF90AF90A6 250 | :100F90000895DC011C96ED91FC911D97E05CFF4FDC 251 | :100FA0002191319180819181281B390B2F733070F1 252 | :100FB000C9010895DC011C96ED91FC911D97E05C40 253 | :100FC000FF4F20813181E054F040DF01AE5BBF4F25 254 | :100FD0008D919C9111972817390719F42FEF3FEF46 255 | :100FE00007C08D919C91E80FF91F8081282F30E078 256 | :100FF000C9010895DC011C96ED91FC911D97E05C00 257 | :10100000FF4F20813181E054F040DF01AE5BBF4FE4 258 | :101010008D919C9111972817390719F42FEF3FEF05 259 | :1010200010C08D919C911197E80FF91F20818D912F 260 | :101030009C91119701968F73907011969C938E934B 261 | :1010400030E0C9010895FC0186859785DC01A05C2C 262 | :10105000BF4FFC01EE5BFF4F2D913C9111978081BA 263 | :10106000918128173907C1F70895CF93DF93EC01D9 264 | :10107000EE85FF85E05CFF4F20813181E054F04038 265 | :101080002F5F3F4F2F733070DF01AE5BBF4F8D91ED 266 | :101090009C91119728173907D1F3E05CFF4F8081AD 267 | :1010A0009181E054F040E80FF91F6083EE85FF85E1 268 | :1010B000E05CFF4F31832083EE89FF89208181E04E 269 | :1010C00090E00D8C02C0880F991F0A94E2F7282B3C 270 | :1010D000208381E090E0DF91CF9108951092D201BA 271 | :1010E0001092D10188EE93E0A0E0B0E08093D301AC 272 | :1010F0009093D401A093D501B093D6018CE191E0F7 273 | :101100009093D0018093CF0187E491E09093DC012C 274 | :101110008093DB018BE891E09093DE018093DD0109 275 | :1011200085EC90E09093E0018093DF0184EC90E007 276 | :101130009093E2018093E10180EC90E09093E401D0 277 | :101140008093E30181EC90E09093E6018093E501C8 278 | :1011500086EC90E09093E8018093E70184E080932F 279 | :10116000E90183E08093EA0187E08093EB0185E069 280 | :101170008093EC0181E08093ED010895CF92DF929E 281 | :10118000EF92FF920F931F93CF93DF937C016B013C 282 | :101190008A01C0E0D0E00FC0D6016D916D01D7018A 283 | :1011A000ED91FC910190F081E02DC7010995C80FE8 284 | :1011B000D91F015010400115110571F7CE01DF91C3 285 | :1011C000CF911F910F91FF90EF90DF90CF900895F6 286 | :1011D000813041F0813018F08230D1F409C0109292 287 | :1011E0006E00089580916F008D7F80936F00089549 288 | :1011F000809170008D7F8093700081E08093B000BB 289 | :101200008091B100887F84608093B1001092B30018 290 | :1012100008951F93182F80910701811711F09FEFF8 291 | :1012200006C0E8E6F0E094918FEF80930701892FE4 292 | :101230000E94E808812F60E00E94D60A1F9108955D 293 | :101240001F920F920FB60F9211242F933F934F933B 294 | :101250005F936F937F938F939F93AF93BF93EF931E 295 | :10126000FF938091EE019091EF01A091F001B09178 296 | :10127000F1010097A105B10551F1E091F201F09162 297 | :10128000F30180819091F401892780838091EE01A0 298 | :101290009091EF01A091F001B091F101181619069B 299 | :1012A0001A061B06C4F48091EE019091EF01A09103 300 | :1012B000F001B091F1010197A109B1098093EE010C 301 | :1012C0009093EF01A093F001B093F10104C08091DD 302 | :1012D00007010E940909FF91EF91BF91AF919F9182 303 | :1012E0008F917F916F915F914F913F912F910F90CF 304 | :1012F0000FBE0F901F901895CF93DF930E94FC09AB 305 | :101300000E94A106C5EFD6E00E9491052097E1F367 306 | :101310000E94F506F9CF0E94390108951F920F929D 307 | :101320000FB60F9211242F933F938F939F93AF93F8 308 | :10133000BF938091F9019091FA01A091FB01B091C6 309 | :10134000FC013091FD010196A11DB11D232F2D5FE0 310 | :101350002D3720F02D570196A11DB11D2093FD01C1 311 | :101360008093F9019093FA01A093FB01B093FC01E3 312 | :101370008091F5019091F601A091F701B091F801EB 313 | :101380000196A11DB11D8093F5019093F601A093E4 314 | :10139000F701B093F801BF91AF919F918F913F9169 315 | :1013A0002F910F900FBE0F901F9018959FB7F89434 316 | :1013B0002091F5013091F6014091F7015091F8012B 317 | :1013C00086B5A89B06C08F3F21F02F5F3F4F4F4F40 318 | :1013D0005F4F9FBF542F432F322F2227280F311DDD 319 | :1013E000411D511D82E0220F331F441F551F8A9556 320 | :1013F000D1F7B901CA010895789484B5826084BD9B 321 | :1014000084B5816084BD85B5826085BD85B5816008 322 | :1014100085BDEEE6F0E0808181608083E1E8F0E068 323 | :101420001082808182608083808181608083E0E897 324 | :10143000F0E0808181608083E1EBF0E08081846076 325 | :101440008083E0EBF0E0808181608083EAE7F0E078 326 | :1014500080818460808380818260808380818160DC 327 | :1014600080838081806880831092C10008951F93DB 328 | :10147000CF93DF93182FEB0161E00E94970A20972A 329 | :1014800009F44AC0CF3FD10509F449C0E12FF0E08B 330 | :10149000E155FF4F84918330C1F0843028F48130CE 331 | :1014A00051F08230B1F50CC0863019F1873049F126 332 | :1014B000843079F514C084B5806884BDC7BD33C05D 333 | :1014C00084B5806284BDC8BD2EC0809180008068D4 334 | :1014D00080938000D0938900C093880024C08091BD 335 | :1014E0008000806280938000D0938B00C0938A003C 336 | :1014F0001AC08091B00080688093B000C093B300A0 337 | :1015000012C08091B00080628093B000C093B4009C 338 | :101510000AC0C038D1051CF4812F60E002C0812FC1 339 | :1015200061E00E94D60ADF91CF911F910895CF9379 340 | :10153000DF93482F50E0CA0185569F4FFC0134913C 341 | :1015400049575F4FFA018491882369F190E0880F31 342 | :10155000991FFC01E759FF4FA591B491FC01ED588B 343 | :10156000FF4FC591D491662351F42FB7F8948C9115 344 | :10157000932F909589238C93888189230BC06230A7 345 | :1015800061F42FB7F8948C91932F909589238C93C5 346 | :101590008881832B88832FBF06C09FB7F8948C91D6 347 | :1015A000832B8C939FBFDF91CF910895482F50E0FC 348 | :1015B000CA0181559F4FFC012491CA0185569F4F56 349 | :1015C000FC01949149575F4FFA013491332309F498 350 | :1015D00040C0222351F1233071F0243028F421300F 351 | :1015E000A1F0223011F514C02630B1F02730C1F03F 352 | :1015F0002430D9F404C0809180008F7703C080919B 353 | :1016000080008F7D8093800010C084B58F7702C0EA 354 | :1016100084B58F7D84BD09C08091B0008F7703C0F1 355 | :101620008091B0008F7D8093B000E32FF0E0EE0F4B 356 | :10163000FF1FED58FF4FA591B4912FB7F894662383 357 | :1016400021F48C919095892302C08C91892B8C93E5 358 | :101650002FBF0895A1E21A2EAA1BBB1BFD010DC0CE 359 | :10166000AA1FBB1FEE1FFF1FA217B307E407F50752 360 | :1016700020F0A21BB30BE40BF50B661F771F881F2E 361 | :10168000991F1A9469F760957095809590959B01C4 362 | :10169000AC01BD01CF010895EE0FFF1F0590F4913D 363 | :1016A000E02D099410E0C8ECD0E004C0FE010E94D7 364 | :0E16B0004E0B2296CA3CD107C9F7F894FFCF23 365 | :1016BE00200002020000F0FF000000009801A801C7 366 | :1016CE0000000000C501CB01000000003508BE0877 367 | :0816DE00C907FA07DA07230827 368 | :107E0000112484B714BE81FFF0D085E080938100F7 369 | :107E100082E08093C00088E18093C10086E0809377 370 | :107E2000C20080E18093C4008EE0C9D0259A86E02C 371 | :107E300020E33CEF91E0309385002093840096BBD3 372 | :107E4000B09BFECF1D9AA8958150A9F7CC24DD24C4 373 | :107E500088248394B5E0AB2EA1E19A2EF3E0BF2EE7 374 | :107E6000A2D0813461F49FD0082FAFD0023811F036 375 | :107E7000013811F484E001C083E08DD089C08234E0 376 | :107E800011F484E103C0853419F485E0A6D080C0E4 377 | :107E9000853579F488D0E82EFF2485D0082F10E0AE 378 | :107EA000102F00270E291F29000F111F8ED06801E7 379 | :107EB0006FC0863521F484E090D080E0DECF843638 380 | :107EC00009F040C070D06FD0082F6DD080E0C81688 381 | :107ED00080E7D80618F4F601B7BEE895C0E0D1E017 382 | :107EE00062D089930C17E1F7F0E0CF16F0E7DF06D8 383 | :107EF00018F0F601B7BEE89568D007B600FCFDCFD4 384 | :107F0000A601A0E0B1E02C9130E011968C91119780 385 | :107F100090E0982F8827822B932B1296FA010C0160 386 | :107F200087BEE89511244E5F5F4FF1E0A038BF0790 387 | :107F300051F7F601A7BEE89507B600FCFDCF97BE46 388 | :107F4000E89526C08437B1F42ED02DD0F82E2BD052 389 | :107F50003CD0F601EF2C8F010F5F1F4F84911BD097 390 | :107F6000EA94F801C1F70894C11CD11CFA94CF0C13 391 | :107F7000D11C0EC0853739F428D08EE10CD085E9AC 392 | :107F80000AD08FE07ACF813511F488E018D01DD067 393 | :107F900080E101D065CF982F8091C00085FFFCCF94 394 | :107FA0009093C60008958091C00087FFFCCF809118 395 | :107FB000C00084FD01C0A8958091C6000895E0E648 396 | :107FC000F0E098E1908380830895EDDF803219F02E 397 | :107FD00088E0F5DFFFCF84E1DECF1F93182FE3DFCA 398 | :107FE0001150E9F7F2DF1F91089580E0E8DFEE27F6 399 | :047FF000FF270994CA 400 | :027FFE00040479 401 | :0400000300007E007B 402 | :00000001FF 403 | 404 | -------------------------------------------------------------------------------- /software/alpha/Bass.Net.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomazas/ledcube8x8x8/713520a53c29152e65716aa0a5c851ceb1e4d571/software/alpha/Bass.Net.dll -------------------------------------------------------------------------------- /software/alpha/bass.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomazas/ledcube8x8x8/713520a53c29152e65716aa0a5c851ceb1e4d571/software/alpha/bass.dll -------------------------------------------------------------------------------- /software/alpha/重要 注意.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomazas/ledcube8x8x8/713520a53c29152e65716aa0a5c851ceb1e4d571/software/alpha/重要 注意.txt -------------------------------------------------------------------------------- /software/original/3D8_Win.application: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 3XKu7bczUnRTicISOYu4BrN7PUI= 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /software/original/3D8_Win.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomazas/ledcube8x8x8/713520a53c29152e65716aa0a5c851ceb1e4d571/software/original/3D8_Win.exe -------------------------------------------------------------------------------- /software/original/3D8_Win.exe.manifest: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | BnsMnqdq+V8TgisBEIiesbfh/oU= 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 5lXmGCaZ6d/nnhQmTR1Pd9GAhGA= 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | Z0G6ALZFhNe2EIfEKfPq8O7cfow= 85 | 86 | 87 | -------------------------------------------------------------------------------- /software/original/3D8_Win.vshost.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomazas/ledcube8x8x8/713520a53c29152e65716aa0a5c851ceb1e4d571/software/original/3D8_Win.vshost.exe -------------------------------------------------------------------------------- /software/original/3D8_Win.vshost.exe.manifest: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /tools/c51v953.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomazas/ledcube8x8x8/713520a53c29152e65716aa0a5c851ceb1e4d571/tools/c51v953.exe -------------------------------------------------------------------------------- /tools/stc-isp-15xx-v6.85.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomazas/ledcube8x8x8/713520a53c29152e65716aa0a5c851ceb1e4d571/tools/stc-isp-15xx-v6.85.zip --------------------------------------------------------------------------------