My actor.rpg avatar walking around on a GBA game
2
fork

Configure Feed

Select the types of activity you want to include in your feed.

Update to v0.8.0-27-g6988b51

GBA bot 3ce8ee3d 48733b45

+610
+10
.cargo/config.toml
··· 1 + [unstable] 2 + build-std = ["core", "alloc"] 3 + build-std-features = ["compiler-builtins-mem"] 4 + 5 + [build] 6 + target = "thumbv4t-none-eabi" 7 + 8 + [target.thumbv4t-none-eabi] 9 + rustflags = ["-Clink-arg=-Tgba.ld"] 10 + runner = "mgba-qt"
+1
.gitignore
··· 1 + target
+344
Cargo.lock
··· 1 + # This file is automatically @generated by Cargo. 2 + # It is not intended for manual editing. 3 + version = 3 4 + 5 + [[package]] 6 + name = "adler32" 7 + version = "1.2.0" 8 + source = "registry+https://github.com/rust-lang/crates.io-index" 9 + checksum = "aae1277d39aeec15cb388266ecc24b11c80469deae6067e17a1a7aa9e5c1f234" 10 + 11 + [[package]] 12 + name = "agb" 13 + version = "0.8.0" 14 + source = "registry+https://github.com/rust-lang/crates.io-index" 15 + checksum = "105dc954f84db09e9bb378517885dc5223c0fffe1dcbba0cd3722e498110ac72" 16 + dependencies = [ 17 + "agb_image_converter", 18 + "agb_macros", 19 + "agb_sound_converter", 20 + "bitflags", 21 + ] 22 + 23 + [[package]] 24 + name = "agb_image_converter" 25 + version = "0.6.0" 26 + source = "registry+https://github.com/rust-lang/crates.io-index" 27 + checksum = "ab0d6246badd0ae94dbf8516be9481f39d9e7fef4eb73baab8354036c181c346" 28 + dependencies = [ 29 + "image", 30 + "proc-macro2", 31 + "quote", 32 + "serde", 33 + "syn", 34 + "toml", 35 + ] 36 + 37 + [[package]] 38 + name = "agb_macros" 39 + version = "0.1.0" 40 + source = "registry+https://github.com/rust-lang/crates.io-index" 41 + checksum = "55c40973cf943837a761387fcd0b34d0a2681cbe328a7ee05a0da4c618d70454" 42 + dependencies = [ 43 + "proc-macro2", 44 + "quote", 45 + "rand", 46 + "syn", 47 + ] 48 + 49 + [[package]] 50 + name = "agb_sound_converter" 51 + version = "0.1.0" 52 + source = "registry+https://github.com/rust-lang/crates.io-index" 53 + checksum = "3f6238331cc0c863fc2e5da89d93debbb171fa8d939fed71f713c1cb4942b05a" 54 + dependencies = [ 55 + "hound", 56 + "proc-macro2", 57 + "quote", 58 + "siphasher", 59 + "syn", 60 + ] 61 + 62 + [[package]] 63 + name = "agb_template" 64 + version = "0.1.0" 65 + dependencies = [ 66 + "agb", 67 + ] 68 + 69 + [[package]] 70 + name = "autocfg" 71 + version = "1.0.1" 72 + source = "registry+https://github.com/rust-lang/crates.io-index" 73 + checksum = "cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a" 74 + 75 + [[package]] 76 + name = "bitflags" 77 + version = "1.2.1" 78 + source = "registry+https://github.com/rust-lang/crates.io-index" 79 + checksum = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693" 80 + 81 + [[package]] 82 + name = "bytemuck" 83 + version = "1.7.0" 84 + source = "registry+https://github.com/rust-lang/crates.io-index" 85 + checksum = "9966d2ab714d0f785dbac0a0396251a35280aeb42413281617d0209ab4898435" 86 + 87 + [[package]] 88 + name = "byteorder" 89 + version = "1.4.3" 90 + source = "registry+https://github.com/rust-lang/crates.io-index" 91 + checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" 92 + 93 + [[package]] 94 + name = "cfg-if" 95 + version = "1.0.0" 96 + source = "registry+https://github.com/rust-lang/crates.io-index" 97 + checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" 98 + 99 + [[package]] 100 + name = "color_quant" 101 + version = "1.1.0" 102 + source = "registry+https://github.com/rust-lang/crates.io-index" 103 + checksum = "3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b" 104 + 105 + [[package]] 106 + name = "crc32fast" 107 + version = "1.2.1" 108 + source = "registry+https://github.com/rust-lang/crates.io-index" 109 + checksum = "81156fece84ab6a9f2afdb109ce3ae577e42b1228441eded99bd77f627953b1a" 110 + dependencies = [ 111 + "cfg-if", 112 + ] 113 + 114 + [[package]] 115 + name = "deflate" 116 + version = "0.8.6" 117 + source = "registry+https://github.com/rust-lang/crates.io-index" 118 + checksum = "73770f8e1fe7d64df17ca66ad28994a0a623ea497fa69486e14984e715c5d174" 119 + dependencies = [ 120 + "adler32", 121 + "byteorder", 122 + ] 123 + 124 + [[package]] 125 + name = "getrandom" 126 + version = "0.2.3" 127 + source = "registry+https://github.com/rust-lang/crates.io-index" 128 + checksum = "7fcd999463524c52659517fe2cea98493cfe485d10565e7b0fb07dbba7ad2753" 129 + dependencies = [ 130 + "cfg-if", 131 + "libc", 132 + "wasi", 133 + ] 134 + 135 + [[package]] 136 + name = "hound" 137 + version = "3.4.0" 138 + source = "registry+https://github.com/rust-lang/crates.io-index" 139 + checksum = "8a164bb2ceaeff4f42542bdb847c41517c78a60f5649671b2a07312b6e117549" 140 + 141 + [[package]] 142 + name = "image" 143 + version = "0.23.14" 144 + source = "registry+https://github.com/rust-lang/crates.io-index" 145 + checksum = "24ffcb7e7244a9bf19d35bf2883b9c080c4ced3c07a9895572178cdb8f13f6a1" 146 + dependencies = [ 147 + "bytemuck", 148 + "byteorder", 149 + "color_quant", 150 + "num-iter", 151 + "num-rational", 152 + "num-traits", 153 + "png", 154 + ] 155 + 156 + [[package]] 157 + name = "libc" 158 + version = "0.2.104" 159 + source = "registry+https://github.com/rust-lang/crates.io-index" 160 + checksum = "7b2f96d100e1cf1929e7719b7edb3b90ab5298072638fccd77be9ce942ecdfce" 161 + 162 + [[package]] 163 + name = "miniz_oxide" 164 + version = "0.3.7" 165 + source = "registry+https://github.com/rust-lang/crates.io-index" 166 + checksum = "791daaae1ed6889560f8c4359194f56648355540573244a5448a83ba1ecc7435" 167 + dependencies = [ 168 + "adler32", 169 + ] 170 + 171 + [[package]] 172 + name = "num-integer" 173 + version = "0.1.44" 174 + source = "registry+https://github.com/rust-lang/crates.io-index" 175 + checksum = "d2cc698a63b549a70bc047073d2949cce27cd1c7b0a4a862d08a8031bc2801db" 176 + dependencies = [ 177 + "autocfg", 178 + "num-traits", 179 + ] 180 + 181 + [[package]] 182 + name = "num-iter" 183 + version = "0.1.42" 184 + source = "registry+https://github.com/rust-lang/crates.io-index" 185 + checksum = "b2021c8337a54d21aca0d59a92577a029af9431cb59b909b03252b9c164fad59" 186 + dependencies = [ 187 + "autocfg", 188 + "num-integer", 189 + "num-traits", 190 + ] 191 + 192 + [[package]] 193 + name = "num-rational" 194 + version = "0.3.2" 195 + source = "registry+https://github.com/rust-lang/crates.io-index" 196 + checksum = "12ac428b1cb17fce6f731001d307d351ec70a6d202fc2e60f7d4c5e42d8f4f07" 197 + dependencies = [ 198 + "autocfg", 199 + "num-integer", 200 + "num-traits", 201 + ] 202 + 203 + [[package]] 204 + name = "num-traits" 205 + version = "0.2.14" 206 + source = "registry+https://github.com/rust-lang/crates.io-index" 207 + checksum = "9a64b1ec5cda2586e284722486d802acf1f7dbdc623e2bfc57e65ca1cd099290" 208 + dependencies = [ 209 + "autocfg", 210 + ] 211 + 212 + [[package]] 213 + name = "png" 214 + version = "0.16.8" 215 + source = "registry+https://github.com/rust-lang/crates.io-index" 216 + checksum = "3c3287920cb847dee3de33d301c463fba14dda99db24214ddf93f83d3021f4c6" 217 + dependencies = [ 218 + "bitflags", 219 + "crc32fast", 220 + "deflate", 221 + "miniz_oxide", 222 + ] 223 + 224 + [[package]] 225 + name = "ppv-lite86" 226 + version = "0.2.14" 227 + source = "registry+https://github.com/rust-lang/crates.io-index" 228 + checksum = "c3ca011bd0129ff4ae15cd04c4eef202cadf6c51c21e47aba319b4e0501db741" 229 + 230 + [[package]] 231 + name = "proc-macro2" 232 + version = "1.0.27" 233 + source = "registry+https://github.com/rust-lang/crates.io-index" 234 + checksum = "f0d8caf72986c1a598726adc988bb5984792ef84f5ee5aa50209145ee8077038" 235 + dependencies = [ 236 + "unicode-xid", 237 + ] 238 + 239 + [[package]] 240 + name = "quote" 241 + version = "1.0.9" 242 + source = "registry+https://github.com/rust-lang/crates.io-index" 243 + checksum = "c3d0b9745dc2debf507c8422de05d7226cc1f0644216dfdfead988f9b1ab32a7" 244 + dependencies = [ 245 + "proc-macro2", 246 + ] 247 + 248 + [[package]] 249 + name = "rand" 250 + version = "0.8.4" 251 + source = "registry+https://github.com/rust-lang/crates.io-index" 252 + checksum = "2e7573632e6454cf6b99d7aac4ccca54be06da05aca2ef7423d22d27d4d4bcd8" 253 + dependencies = [ 254 + "libc", 255 + "rand_chacha", 256 + "rand_core", 257 + "rand_hc", 258 + ] 259 + 260 + [[package]] 261 + name = "rand_chacha" 262 + version = "0.3.1" 263 + source = "registry+https://github.com/rust-lang/crates.io-index" 264 + checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" 265 + dependencies = [ 266 + "ppv-lite86", 267 + "rand_core", 268 + ] 269 + 270 + [[package]] 271 + name = "rand_core" 272 + version = "0.6.3" 273 + source = "registry+https://github.com/rust-lang/crates.io-index" 274 + checksum = "d34f1408f55294453790c48b2f1ebbb1c5b4b7563eb1f418bcfcfdbb06ebb4e7" 275 + dependencies = [ 276 + "getrandom", 277 + ] 278 + 279 + [[package]] 280 + name = "rand_hc" 281 + version = "0.3.1" 282 + source = "registry+https://github.com/rust-lang/crates.io-index" 283 + checksum = "d51e9f596de227fda2ea6c84607f5558e196eeaf43c986b724ba4fb8fdf497e7" 284 + dependencies = [ 285 + "rand_core", 286 + ] 287 + 288 + [[package]] 289 + name = "serde" 290 + version = "1.0.127" 291 + source = "registry+https://github.com/rust-lang/crates.io-index" 292 + checksum = "f03b9878abf6d14e6779d3f24f07b2cfa90352cfec4acc5aab8f1ac7f146fae8" 293 + dependencies = [ 294 + "serde_derive", 295 + ] 296 + 297 + [[package]] 298 + name = "serde_derive" 299 + version = "1.0.127" 300 + source = "registry+https://github.com/rust-lang/crates.io-index" 301 + checksum = "a024926d3432516606328597e0f224a51355a493b49fdd67e9209187cbe55ecc" 302 + dependencies = [ 303 + "proc-macro2", 304 + "quote", 305 + "syn", 306 + ] 307 + 308 + [[package]] 309 + name = "siphasher" 310 + version = "0.3.7" 311 + source = "registry+https://github.com/rust-lang/crates.io-index" 312 + checksum = "533494a8f9b724d33625ab53c6c4800f7cc445895924a8ef649222dcb76e938b" 313 + 314 + [[package]] 315 + name = "syn" 316 + version = "1.0.73" 317 + source = "registry+https://github.com/rust-lang/crates.io-index" 318 + checksum = "f71489ff30030d2ae598524f61326b902466f72a0fb1a8564c001cc63425bcc7" 319 + dependencies = [ 320 + "proc-macro2", 321 + "quote", 322 + "unicode-xid", 323 + ] 324 + 325 + [[package]] 326 + name = "toml" 327 + version = "0.5.8" 328 + source = "registry+https://github.com/rust-lang/crates.io-index" 329 + checksum = "a31142970826733df8241ef35dc040ef98c679ab14d7c3e54d827099b3acecaa" 330 + dependencies = [ 331 + "serde", 332 + ] 333 + 334 + [[package]] 335 + name = "unicode-xid" 336 + version = "0.2.2" 337 + source = "registry+https://github.com/rust-lang/crates.io-index" 338 + checksum = "8ccb82d61f80a663efe1f787a51b16b5a51e3314d6ac365b08639f52387b33f3" 339 + 340 + [[package]] 341 + name = "wasi" 342 + version = "0.10.2+wasi-snapshot-preview1" 343 + source = "registry+https://github.com/rust-lang/crates.io-index" 344 + checksum = "fd6fbd9a79829dd1ad0cc20627bf1ed606756a7f77edff7b66b7064f9cb327c6"
+14
Cargo.toml
··· 1 + [package] 2 + name = "agb_template" 3 + version = "0.1.0" 4 + authors = [""] 5 + edition = "2018" 6 + 7 + # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html 8 + 9 + [dependencies] 10 + agb = "0.8.0" 11 + 12 + [profile.release] 13 + panic = "abort" 14 + lto = true
+109
gba.ld
··· 1 + OUTPUT_FORMAT("elf32-littlearm", "elf32-bigarm", "elf32-littlearm") 2 + OUTPUT_ARCH(arm) 3 + 4 + ENTRY(__start) 5 + EXTERN(__RUST_INTERRUPT_HANDLER) 6 + 7 + MEMORY { 8 + ewram (w!x) : ORIGIN = 0x02000000, LENGTH = 256K 9 + iwram (w!x) : ORIGIN = 0x03000000, LENGTH = 32K 10 + rom (rx) : ORIGIN = 0x08000000, LENGTH = 32M 11 + } 12 + 13 + __text_start = ORIGIN(rom); 14 + 15 + SECTIONS { 16 + . = __text_start; 17 + 18 + .crt0 : { 19 + KEEP (crt0.o(.text)); 20 + . = ALIGN(4); 21 + } > rom 22 + 23 + .text : { 24 + *(.text .text*); 25 + . = ALIGN(4); 26 + } > rom 27 + __text_end = .; 28 + 29 + .rodata : { 30 + *(.rodata .rodata.*); 31 + . = ALIGN(4); 32 + } > rom 33 + 34 + __iwram_rom_start = .; 35 + .iwram : { 36 + __iwram_data_start = ABSOLUTE(.); 37 + 38 + *(.iwram .iwram.*); 39 + . = ALIGN(4); 40 + 41 + *(.text_iwram .text_iwram.*); 42 + . = ALIGN(4); 43 + 44 + __iwram_data_end = ABSOLUTE(.); 45 + } > iwram AT>rom 46 + 47 + . = __iwram_rom_start + (__iwram_data_end - __iwram_data_start); 48 + 49 + __ewram_rom_start = .; 50 + .ewram : { 51 + __ewram_data_start = ABSOLUTE(.); 52 + 53 + *(.ewram .ewram.*); 54 + . = ALIGN(4); 55 + 56 + *(.data .data.*); 57 + . = ALIGN(4); 58 + 59 + __ewram_data_end = ABSOLUTE(.); 60 + } > ewram AT>rom 61 + 62 + .bss : { 63 + *(.bss .bss.*); 64 + . = ALIGN(4); 65 + } > iwram 66 + 67 + __iwram_rom_length_bytes = __iwram_data_end - __iwram_data_start; 68 + __iwram_rom_length_halfwords = (__iwram_rom_length_bytes + 1) / 2; 69 + 70 + __ewram_rom_length_bytes = __ewram_data_end - __ewram_data_start; 71 + __ewram_rom_length_halfwords = (__ewram_rom_length_bytes + 1) / 2; 72 + 73 + /* debugging sections */ 74 + /* Stabs */ 75 + .stab 0 : { *(.stab) } 76 + .stabstr 0 : { *(.stabstr) } 77 + .stab.excl 0 : { *(.stab.excl) } 78 + .stab.exclstr 0 : { *(.stab.exclstr) } 79 + .stab.index 0 : { *(.stab.index) } 80 + .stab.indexstr 0 : { *(.stab.indexstr) } 81 + .comment 0 : { *(.comment) } 82 + /* DWARF 1 */ 83 + .debug 0 : { *(.debug) } 84 + .line 0 : { *(.line) } 85 + /* GNU DWARF 1 extensions */ 86 + .debug_srcinfo 0 : { *(.debug_srcinfo) } 87 + .debug_sfnames 0 : { *(.debug_sfnames) } 88 + /* DWARF 1.1 and DWARF 2 */ 89 + .debug_aranges 0 : { *(.debug_aranges) } 90 + .debug_pubnames 0 : { *(.debug_pubnames) } 91 + /* DWARF 2 */ 92 + .debug_info 0 : { *(.debug_info) } 93 + .debug_abbrev 0 : { *(.debug_abbrev) } 94 + .debug_line 0 : { *(.debug_line) } 95 + .debug_frame 0 : { *(.debug_frame) } 96 + .debug_str 0 : { *(.debug_str) } 97 + .debug_loc 0 : { *(.debug_loc) } 98 + .debug_macinfo 0 : { *(.debug_macinfo) } 99 + /* SGI/MIPS DWARF 2 extensions */ 100 + .debug_weaknames 0 : { *(.debug_weaknames) } 101 + .debug_funcnames 0 : { *(.debug_funcnames) } 102 + .debug_typenames 0 : { *(.debug_typenames) } 103 + .debug_varnames 0 : { *(.debug_varnames) } 104 + 105 + .debug_ranges 0 : { *(.debug_ranges) } 106 + 107 + /* discard anything not already mentioned */ 108 + /DISCARD/ : { *(*) } 109 + }
+108
gba_mb.ld
··· 1 + OUTPUT_FORMAT("elf32-littlearm", "elf32-bigarm", "elf32-littlearm") 2 + OUTPUT_ARCH(arm) 3 + 4 + ENTRY(__start) 5 + EXTERN(__RUST_INTERRUPT_HANDLER) 6 + 7 + MEMORY { 8 + ewram (w!x) : ORIGIN = 0x02000000, LENGTH = 256K 9 + iwram (w!x) : ORIGIN = 0x03000000, LENGTH = 32K 10 + } 11 + 12 + __text_start = ORIGIN(ewram); 13 + 14 + SECTIONS { 15 + . = __text_start; 16 + 17 + .crt0 : { 18 + KEEP (crt0.o(.text)); 19 + . = ALIGN(4); 20 + } > ewram 21 + 22 + .text : { 23 + *(.text .text*); 24 + . = ALIGN(4); 25 + } > ewram 26 + __text_end = .; 27 + 28 + .rodata : { 29 + *(.rodata .rodata.*); 30 + . = ALIGN(4); 31 + } > ewram 32 + 33 + __iwram_rom_start = .; 34 + .iwram : { 35 + __iwram_data_start = ABSOLUTE(.); 36 + 37 + *(.iwram .iwram.*); 38 + . = ALIGN(4); 39 + 40 + *(.text_iwram .text_iwram.*); 41 + . = ALIGN(4); 42 + 43 + __iwram_data_end = ABSOLUTE(.); 44 + } > iwram AT>ewram 45 + 46 + . = __iwram_rom_start + (__iwram_data_end - __iwram_data_start); 47 + 48 + __ewram_rom_start = .; 49 + .ewram : { 50 + __ewram_data_start = ABSOLUTE(.); 51 + 52 + *(.ewram .ewram.*); 53 + . = ALIGN(4); 54 + 55 + *(.data .data.*); 56 + . = ALIGN(4); 57 + 58 + __ewram_data_end = ABSOLUTE(.); 59 + } > ewram AT>ewram 60 + 61 + .bss : { 62 + *(.bss .bss.*); 63 + . = ALIGN(4); 64 + } > iwram 65 + 66 + __iwram_rom_length_bytes = __iwram_data_end - __iwram_data_start; 67 + __iwram_rom_length_halfwords = (__iwram_rom_length_bytes + 1) / 2; 68 + 69 + __ewram_rom_length_bytes = __ewram_data_end - __ewram_data_start; 70 + __ewram_rom_length_halfwords = (__ewram_rom_length_bytes + 1) / 2; 71 + 72 + /* debugging sections */ 73 + /* Stabs */ 74 + .stab 0 : { *(.stab) } 75 + .stabstr 0 : { *(.stabstr) } 76 + .stab.excl 0 : { *(.stab.excl) } 77 + .stab.exclstr 0 : { *(.stab.exclstr) } 78 + .stab.index 0 : { *(.stab.index) } 79 + .stab.indexstr 0 : { *(.stab.indexstr) } 80 + .comment 0 : { *(.comment) } 81 + /* DWARF 1 */ 82 + .debug 0 : { *(.debug) } 83 + .line 0 : { *(.line) } 84 + /* GNU DWARF 1 extensions */ 85 + .debug_srcinfo 0 : { *(.debug_srcinfo) } 86 + .debug_sfnames 0 : { *(.debug_sfnames) } 87 + /* DWARF 1.1 and DWARF 2 */ 88 + .debug_aranges 0 : { *(.debug_aranges) } 89 + .debug_pubnames 0 : { *(.debug_pubnames) } 90 + /* DWARF 2 */ 91 + .debug_info 0 : { *(.debug_info) } 92 + .debug_abbrev 0 : { *(.debug_abbrev) } 93 + .debug_line 0 : { *(.debug_line) } 94 + .debug_frame 0 : { *(.debug_frame) } 95 + .debug_str 0 : { *(.debug_str) } 96 + .debug_loc 0 : { *(.debug_loc) } 97 + .debug_macinfo 0 : { *(.debug_macinfo) } 98 + /* SGI/MIPS DWARF 2 extensions */ 99 + .debug_weaknames 0 : { *(.debug_weaknames) } 100 + .debug_funcnames 0 : { *(.debug_funcnames) } 101 + .debug_typenames 0 : { *(.debug_typenames) } 102 + .debug_varnames 0 : { *(.debug_varnames) } 103 + 104 + .debug_ranges 0 : { *(.debug_ranges) } 105 + 106 + /* discard anything not already mentioned */ 107 + /DISCARD/ : { *(*) } 108 + }
+3
rust-toolchain.toml
··· 1 + [toolchain] 2 + channel = "nightly" 3 + components = ["rust-src", "clippy"]
+21
src/main.rs
··· 1 + #![no_std] 2 + #![no_main] 3 + 4 + extern crate agb; 5 + use agb::{display, syscall}; 6 + 7 + #[agb::entry] 8 + fn main() -> ! { 9 + let mut gba = agb::Gba::new(); 10 + let mut bitmap = gba.display.video.bitmap3(); 11 + 12 + for x in 0..display::WIDTH { 13 + let y = syscall::sqrt(x << 6); 14 + let y = (display::HEIGHT - y).clamp(0, display::HEIGHT - 1); 15 + bitmap.draw_point(x, y, 0x001F); 16 + } 17 + 18 + loop { 19 + syscall::halt(); 20 + } 21 + }