Commit 46afb46e1f8038fb288428ece10369bee8f78656
1 parent
171e196a90
Exists in
master
Fixed the brain deadly terrible tile map system I was using to plain ASCII... MU…
…CH easier to maintain.
Showing 4 changed files with 104 additions and 2067 deletions Inline Diff
data/data.s
View file @
46afb46
.arm | 1 | 1 | .arm | |
.align | 2 | 2 | .align | |
.data | 3 | 3 | .data | |
4 | 4 | |||
.global notesettings | 5 | 5 | .global notesettings | |
.global octave | 6 | 6 | .global octave | |
.global key | 7 | 7 | .global key | |
.global keystates | 8 | 8 | .global keystates | |
.global soundRegUsage | 9 | 9 | .global soundRegUsage | |
.global setupBit | 10 | 10 | .global setupBit | |
.global synthText | 11 | 11 | .global synthText | |
.global setupText | 12 | 12 | .global setupText | |
.global fontBMP | 13 | 13 | .global fontBMP | |
.global fontPAL | 14 | 14 | .global fontPAL | |
15 | 15 | |||
16 | 16 | |||
#include "../src/defines.h" | 17 | 17 | #include "../src/defines.h" | |
18 | 18 | |||
.ltorg | 19 | 19 | .ltorg | |
20 | 20 | |||
21 | ||||
octave: | 22 | 21 | octave: | |
.word 4 @ current octave | 23 | 22 | .word 4 @ current octave | |
24 | 23 | |||
key: | 25 | 24 | key: | |
.word 0 @ 0=C 1=G | 26 | 25 | .word 0 @ 0=C 1=G | |
.word 0 @ 0=maj 1=min | 27 | 26 | .word 0 @ 0=maj 1=min | |
28 | 27 | |||
keystates: | 29 | 28 | keystates: | |
.word 0 @L | 30 | 29 | .word 0 @L | |
.word 0 @Left | 31 | 30 | .word 0 @Left | |
.word 0 @Down | 32 | 31 | .word 0 @Down | |
.word 0 @Right | 33 | 32 | .word 0 @Right | |
.word 0 @B | 34 | 33 | .word 0 @B | |
.word 0 @A | 35 | 34 | .word 0 @A | |
.word 0 @R | 36 | 35 | .word 0 @R | |
.word 0 @Select | 37 | 36 | .word 0 @Select | |
.word 0 @Start | 38 | 37 | .word 0 @Start | |
39 | 38 | |||
40 | 39 | |||
fontBMP: | 41 | 40 | fontBMP: | |
.incbin "../gfx/8x8font.img.bin" | 42 | 41 | .incbin "../gfx/8x8font.img.bin" | |
fontPAL: | 43 | 42 | fontPAL: | |
.incbin "../gfx/8x8font.pal.bin" | 44 | 43 | .incbin "../gfx/8x8font.pal.bin" | |
45 | 44 | |||
@@@@@ BE WARNED!!! COMMENTS ARE MOSTLY WAY WRONG FOR THE REST OF THIS FILE!!! @@@ | 46 | 45 | .align 1 | |
synthText: @@ Map 1 | 47 | 46 | synthText: @@ Map 1 | |
@@ Row 1 | 48 | 47 | .ascii "@@@@@@@ SynthGBA Play @@@@@@@@--" | |
.hword 64 @ @ | 49 | 48 | .ascii " --" | |
.hword 64 @ @ | 50 | 49 | .ascii " --" | |
.hword 64 @ @ | 51 | 50 | .ascii " --" | |
.hword 64 @ @ | 52 | 51 | .ascii " --" | |
.hword 64 @ @ | 53 | 52 | .ascii " --" | |
.hword 64 @ @ | 54 | 53 | .ascii " --" | |
.hword 64 @ @ | 55 | 54 | .ascii "Select + Start = maj <-> min --" | |
.hword 32 @ Space | 56 | 55 | .ascii " Select + L + R = Setup --" | |
.hword 83 @ S | 57 | 56 | .ascii "Select + <- or -> = Key Change--" | |
.hword 121 @ y | 58 | 57 | .ascii "Select + ^ or v = Octv Change --" | |
.hword 110 @ n | 59 | 58 | .ascii " --" | |
.hword 116 @ t | 60 | 59 | .ascii " --" | |
.hword 104 @ h | 61 | 60 | .ascii " --" | |
.hword 71 @ G | 62 | 61 | .ascii " --" | |
.hword 66 @ B | 63 | 62 | .ascii " --" | |
.hword 65 @ A | 64 | 63 | .ascii " --" | |
.hword 32 @ Space | 65 | 64 | .ascii " --" | |
.hword 80 @ P | 66 | 65 | .ascii " --" | |
.hword 108 @ l | 67 | 66 | .ascii " --" | |
.hword 97 @ a | 68 | |||
.hword 121 @ y | 69 | |||
.hword 32 @ Space | 70 | |||
.hword 64 @ @ | 71 | |||
.hword 64 @ @ | 72 | |||
.hword 64 @ @ | 73 | |||
.hword 64 @ @ | 74 | |||
.hword 64 @ @ | 75 | |||
.hword 64 @ @ | 76 | |||
.hword 64 @ @ | 77 | |||
.hword 64 @ @ | 78 | |||
.hword 64 @ @ | 79 | |||
.hword 64 @ @ | 80 | |||
.hword 32 @ Space | 81 | |||
.hword 32 @ Space | 82 | |||
.hword 32 @ Space | 83 | |||
.hword 32 @ Space | 84 | |||
.hword 32 @ Space | 85 | |||
.hword 32 @ Space | 86 | |||
.hword 32 @ Space | 87 | |||
.hword 32 @ Space | 88 | |||
.hword 32 @ Space | 89 | |||
.hword 32 @ Space | 90 | |||
.hword 32 @ Space | 91 | |||
.hword 32 @ Space | 92 | |||
.hword 32 @ Space | 93 | |||
.hword 32 @ Space | 94 | |||
.hword 32 @ Space | 95 | |||
.hword 32 @ Space | 96 | |||
.hword 32 @ Space | 97 | |||
.hword 32 @ Space | 98 | |||
.hword 32 @ Space | 99 | |||
.hword 32 @ Space | 100 | |||
.hword 32 @ Space | 101 | |||
.hword 32 @ Space | 102 | |||
.hword 32 @ Space | 103 | |||
.hword 32 @ Space | 104 | |||
.hword 32 @ Space | 105 | |||
.hword 32 @ Space | 106 | |||
.hword 32 @ Space | 107 | |||
.hword 32 @ Space | 108 | |||
.hword 32 @ Space | 109 | |||
.hword 32 @ Space | 110 | |||
.hword 32 @ Space | 111 | |||
.hword 32 @ Space | 112 | |||
.hword 32 @ Space | 113 | |||
.hword 32 @ Space | 114 | |||
.hword 32 @ Space | 115 | |||
.hword 32 @ Space | 116 | |||
.hword 32 @ Space | 117 | |||
.hword 32 @ Space | 118 | |||
.hword 32 @ Space | 119 | |||
.hword 32 @ Space | 120 | |||
.hword 32 @ Space | 121 | |||
.hword 32 @ Space | 122 | |||
.hword 32 @ Space | 123 | |||
.hword 32 @ Space | 124 | |||
.hword 32 @ Space | 125 | |||
.hword 32 @ Space | 126 | |||
.hword 32 @ Space | 127 | |||
.hword 32 @ Space | 128 | |||
.hword 32 @ Space | 129 | |||
.hword 32 @ Space | 130 | |||
.hword 32 @ Space | 131 | |||
.hword 32 @ Space | 132 | |||
.hword 32 @ Space | 133 | |||
.hword 32 @ Space | 134 | |||
.hword 32 @ Space | 135 | |||
.hword 32 @ Space | 136 | |||
.hword 32 @ Space | 137 | |||
.hword 32 @ Space | 138 | |||
.hword 32 @ Space | 139 | |||
.hword 32 @ Space | 140 | |||
.hword 32 @ Space | 141 | |||
.hword 32 @ Space | 142 | |||
.hword 32 @ Space | 143 | |||
.hword 32 @ Space | 144 | |||
.hword 32 @ Space | 145 | |||
.hword 32 @ Space | 146 | |||
.hword 32 @ Space .hword 32 @ Space | 147 | |||
.hword 32 @ Space | 148 | |||
.hword 32 @ Space | 149 | |||
.hword 32 @ Space | 150 | |||
.hword 32 @ Space | 151 | |||
.hword 32 @ Space | 152 | |||
.hword 32 @ Space | 153 | |||
.hword 32 @ Space | 154 | |||
.hword 32 @ Space | 155 | |||
.hword 32 @ Space | 156 | |||
.hword 32 @ Space | 157 | |||
.hword 32 @ Space | 158 | |||
.hword 32 @ Space | 159 | |||
.hword 32 @ Space | 160 | |||
.hword 32 @ Space | 161 | |||
.hword 32 @ Space | 162 | |||
.hword 32 @ Space | 163 | |||
.hword 32 @ Space | 164 | |||
.hword 32 @ Space | 165 | |||
.hword 32 @ Space | 166 | |||
.hword 32 @ Space | 167 | |||
.hword 32 @ Space | 168 | |||
.hword 32 @ Space | 169 | |||
.hword 32 @ Space | 170 | |||
.hword 32 @ Space | 171 | |||
.hword 32 @ Space | 172 | |||
.hword 32 @ Space | 173 | |||
.hword 32 @ Space | 174 | |||
.hword 32 @ Space | 175 | |||
.hword 32 @ Space | 176 | |||
.hword 32 @ Space | 177 | |||
.hword 32 @ Space | 178 | |||
.hword 32 @ Space | 179 | |||
.hword 32 @ Space | 180 | |||
.hword 32 @ Space | 181 | |||
.hword 32 @ Space | 182 | |||
.hword 32 @ Space | 183 | |||
.hword 32 @ Space | 184 | |||
@@ Row 2 | 185 | |||
.hword 32 @ Space | 186 | |||
.hword 32 @ Space | 187 | |||
.hword 32 @ Space | 188 | |||
.hword 32 @ Space | 189 | |||
.hword 32 @ Space | 190 | |||
.hword 32 @ Space | 191 | |||
.hword 32 @ Space | 192 | |||
.hword 32 @ Space | 193 | |||
.hword 32 @ Space | 194 | |||
.hword 32 @ Space | 195 | |||
.hword 32 @ Space | 196 | |||
.hword 32 @ Space | 197 | |||
.hword 32 @ Space | 198 | |||
.hword 32 @ Space | 199 | |||
.hword 32 @ Space | 200 | |||
.hword 32 @ Space | 201 | |||
.hword 32 @ L | 202 | |||
.hword 32 @ e | 203 | |||
.hword 32 @ f | 204 | |||
.hword 32 @ t | 205 | |||
.hword 32 @ Space | 206 | |||
.hword 32 @ = | 207 | |||
.hword 32 @ Space | 208 | |||
.hword 32 @ D | 209 | |||
.hword 32 @ Space | 210 | |||
.hword 32 @ Space | 211 | |||
.hword 32 @ Space | 212 | |||
.hword 32 @ Space | 213 | |||
.hword 32 @ Space | 214 | |||
.hword 32 @ Space | 215 | |||
.hword 32 @ Space | 216 | |||
.hword 32 @ Space | 217 | |||
.hword 32 @ Space | 218 | |||
.hword 32 @ Space | 219 | |||
.hword 32 @ Space | 220 | |||
.hword 32 @ Space | 221 | |||
.hword 32 @ Space | 222 | |||
.hword 32 @ Space | 223 | |||
.hword 32 @ Space | 224 | |||
.hword 32 @ Space | 225 | |||
.hword 32 @ Space | 226 | |||
.hword 32 @ Space | 227 | |||
.hword 32 @ Space | 228 | |||
.hword 32 @ Space | 229 | |||
.hword 32 @ Space | 230 | |||
.hword 32 @ Space | 231 | |||
.hword 32 @ Space | 232 | |||
.hword 32 @ Space | 233 | |||
.hword 32 @ D | 234 | |||
.hword 32 @ o | 235 | |||
.hword 32 @ w | 236 | |||
.hword 32 @ n | 237 | |||
.hword 32 @ Space | 238 | |||
.hword 32 @ = | 239 | |||
.hword 32 @ Space | 240 | |||
.hword 32 @ E | 241 | |||
.hword 32 @ Space | 242 | |||
.hword 32 @ Space | 243 | |||
.hword 32 @ Space | 244 | |||
.hword 32 @ Space | 245 | |||
.hword 32 @ Space | 246 | |||
.hword 32 @ Space | 247 | |||
.hword 32 @ Space | 248 | |||
.hword 32 @ Space | 249 | |||
.hword 32 @ Space | 250 | |||
.hword 32 @ Space | 251 | |||
.hword 32 @ Space | 252 | |||
.hword 32 @ Space | 253 | |||
.hword 32 @ Space | 254 | |||
.hword 32 @ Space | 255 | |||
.hword 32 @ Space | 256 | |||
.hword 32 @ Space | 257 | |||
.hword 32 @ Space | 258 | |||
.hword 32 @ Space | 259 | |||
.hword 32 @ Space | 260 | |||
.hword 32 @ Space | 261 | |||
.hword 32 @ Space | 262 | |||
.hword 32 @ Space | 263 | |||
.hword 32 @ Space | 264 | |||
.hword 32 @ R | 265 | |||
.hword 32 @ i | 266 | |||
.hword 32 @ g | 267 | |||
.hword 32 @ h | 268 | |||
.hword 32 @ t | 269 | |||
.hword 32 @ Space | 270 | |||
.hword 32 @ = | 271 | |||
.hword 32 @ Space | 272 | |||
.hword 32 @ F | 273 | |||
.hword 32 @ Space | 274 | |||
.hword 32 @ Space | 275 | |||
.hword 32 @ Space | 276 | |||
.hword 32 @ Space | 277 | |||
.hword 32 @ Space | 278 | |||
.hword 32 @ Space | 279 | |||
.hword 32 @ Space | 280 | |||
.hword 32 @ Space | 281 | |||
.hword 32 @ Space | 282 | |||
.hword 32 @ Space | 283 | |||
.hword 32 @ Space | 284 | |||
.hword 32 @ Space | 285 | |||
.hword 32 @ Space | 286 | |||
.hword 32 @ Space | 287 | |||
.hword 32 @ Space | 288 | |||
.hword 32 @ Space | 289 | |||
.hword 32 @ Space | 290 | |||
.hword 32 @ Space | 291 | |||
.hword 32 @ Space | 292 | |||
.hword 32 @ Space | 293 | |||
.hword 32 @ Space | 294 | |||
.hword 32 @ Space | 295 | |||
.hword 32 @ Space | 296 | |||
.hword 32 @ Space | 297 | |||
.hword 32 @ Space | 298 | |||
.hword 32 @ Space | 299 | |||
.hword 32 @ U | 300 | |||
.hword 32 @ p | 301 | |||
.hword 32 @ Space | 302 | |||
.hword 32 @ = | 303 | |||
.hword 32 @ Space | 304 | |||
.hword 32 @ G | 305 | |||
.hword 32 @ Space | 306 | |||
.hword 32 @ Space | 307 | |||
.hword 32 @ Space | 308 | |||
.hword 32 @ Space | 309 | |||
.hword 32 @ Space | 310 | |||
.hword 32 @ Space | 311 | |||
.hword 32 @ Space | 312 | |||
.hword 32 @ Space | 313 | |||
.hword 32 @ Space | 314 | |||
.hword 32 @ Space | 315 | |||
.hword 32 @ Space | 316 | |||
.hword 32 @ Space | 317 | |||
.hword 32 @ Space | 318 | |||
.hword 32 @ Space | 319 | |||
.hword 32 @ Space | 320 | |||
.hword 32 @ Space | 321 | |||
.hword 32 @ Space | 322 | |||
.hword 32 @ Space | 323 | |||
.hword 32 @ Space | 324 | |||
.hword 32 @ Space | 325 | |||
.hword 32 @ Space | 326 | |||
.hword 32 @ Space | 327 | |||
.hword 32 @ Space | 328 | |||
.hword 32 @ Space | 329 | |||
.hword 32 @ Space | 330 | |||
.hword 32 @ Space | 331 | |||
.hword 32 @ Space | 332 | |||
.hword 32 @ B | 333 | |||
.hword 32 @ Space | 334 | |||
.hword 32 @ = | 335 | |||
.hword 32 @ Space | 336 | |||
.hword 32 @ A | 337 | |||
.hword 32 @ Space | 338 | |||
.hword 32 @ Space | 339 | |||
.hword 32 @ Space | 340 | |||
.hword 32 @ Space | 341 | |||
.hword 32 @ Space | 342 | |||
.hword 32 @ Space | 343 | |||
.hword 32 @ Space | 344 | |||
.hword 32 @ Space | 345 | |||
.hword 32 @ Space | 346 | |||
.hword 32 @ Space | 347 | |||
.hword 32 @ Space | 348 | |||
.hword 32 @ Space | 349 | |||
.hword 32 @ Space | 350 | |||
.hword 32 @ Space | 351 | |||
.hword 32 @ Space | 352 | |||
.hword 32 @ Space | 353 | |||
.hword 32 @ Space | 354 | |||
.hword 32 @ Space | 355 | |||
.hword 32 @ Space | 356 | |||
.hword 32 @ Space | 357 | |||
.hword 32 @ Space | 358 | |||
.hword 32 @ Space | 359 | |||
.hword 32 @ Space | 360 | |||
.hword 32 @ Space | 361 | |||
.hword 32 @ Space | 362 | |||
.hword 32 @ Space | 363 | |||
.hword 32 @ Space | 364 | |||
.hword 32 @ Space | 365 | |||
.hword 32 @ Space | 366 | |||
.hword 32 @ Space | 367 | |||
.hword 32 @ Space | 368 | |||
.hword 32 @ Space | 369 | |||
.hword 32 @ Space | 370 | |||
.hword 32 @ Space | 371 | |||
.hword 32 @ Space | 372 | |||
373 | ||||
.hword 83 @ S | 374 | |||
.hword 101 @ e | 375 | |||
.hword 108 @ l | 376 | |||
.hword 101 @ e | 377 | |||
.hword 99 @ c | 378 | |||
.hword 116 @ t | 379 | |||
.hword 32 @ Space | 380 | |||
.hword 43 @ + | 381 | |||
.hword 32 @ Space | 382 | |||
.hword 65 @ A | 383 | |||
.hword 32 @ Space | 384 | |||
.hword 61 @ = | 385 | |||
.hword 32 @ Space | 386 | |||
.hword 109 @ m | 387 | |||
.hword 97 @ a | 388 | |||
.hword 106 @ j | 389 | |||
.hword 32 @ Space | 390 | |||
.hword 60 @ < | 391 | |||
.hword 45 @ - | 392 | |||
.hword 62 @ < | 393 | |||
.hword 32 @ Space | 394 | |||
.hword 109 @ m | 395 | |||
.hword 105 @ i | 396 | |||
.hword 110 @ n | 397 | |||
.hword 32 @ Space | 398 | |||
.hword 32 @ Space | 399 | |||
.hword 32 @ Space | 400 | |||
.hword 32 @ Space | 401 | |||
.hword 32 @ Space | 402 | |||
.hword 32 @ Space | 403 | |||
.hword 32 @ Space | 404 | |||
.hword 32 @ Space | 405 | |||
.hword 32 @ Space | 406 | |||
.hword 83 @ S | 407 | |||
.hword 101 @ e | 408 | |||
.hword 108 @ l | 409 | |||
.hword 101 @ e | 410 | |||
.hword 99 @ c | 411 | |||
.hword 116 @ t | 412 | |||
.hword 32 @ Space | 413 | |||
.hword 43 @ + | 414 | |||
.hword 32 @ Space | 415 | |||
.hword 76 @ L | 416 | |||
.hword 32 @ Space | 417 | |||
.hword 43 @ + | 418 | |||
.hword 32 @ Space | 419 | |||
.hword 82 @ R | 420 | |||
.hword 32 @ Space | 421 | |||
.hword 61 @ = | 422 | |||
.hword 32 @ Space | 423 | |||
.hword 83 @ S | 424 | |||
.hword 101 @ e | 425 | |||
.hword 116 @ t | 426 | |||
.hword 117 @ u | 427 | |||
.hword 112 @ p | 428 | |||
.hword 32 @ Space | 429 | |||
.hword 32 @ Space | 430 | |||
.hword 32 @ Space | 431 | |||
.hword 32 @ Space | 432 | |||
.hword 32 @ Space | 433 | |||
.hword 32 @ Space | 434 | |||
@@ Row 4 | 435 | |||
.hword 83 @ S | 436 | |||
.hword 101 @ e | 437 | |||
.hword 108 @ l | 438 | |||
.hword 101 @ e | 439 | |||
.hword 99 @ c | 440 | |||
.hword 116 @ t | 441 | |||
.hword 32 @ Space | 442 | |||
.hword 43 @ + | 443 | |||
.hword 32 @ Space | 444 | |||
.hword 60 @ < | 445 | |||
.hword 45 @ - | 446 | |||
.hword 32 | 447 | |||
.hword 111 @ o | 448 | |||
.hword 114 @ r | 449 | |||
.hword 32 @ Space | 450 | |||
.hword 45 @ - | 451 | |||
.hword 62 @ Space | 452 | |||
.hword 32 @ Space | 453 | |||
.hword 61 @ = | 454 | |||
.hword 32 @ Space | 455 | |||
.hword 75 @ K | 456 | |||
.hword 101 @ e | 457 | |||
.hword 121 @ y | 458 | |||
.hword 32 @ Space | 459 | |||
.hword 67 @ C | 460 | |||
.hword 104 @ h | 461 | |||
.hword 97 @ a | 462 | |||
.hword 110 @ n | 463 | |||
.hword 103 @ g | 464 | |||
.hword 101 @ e | 465 | |||
.hword 32 @ Space | 466 | |||
.hword 32 @ Space | 467 | |||
.hword 32 @ Space | 468 | |||
@@ Row 4 | 469 | |||
.hword 83 @ S | 470 | |||
.hword 101 @ e | 471 | |||
.hword 108 @ l | 472 | |||
.hword 101 @ e | 473 | |||
.hword 99 @ c | 474 | |||
.hword 116 @ t | 475 | |||
.hword 32 @ Space | 476 | |||
.hword 43 @ + | 477 | |||
.hword 32 @ Space | 478 | |||
.hword 94 @ ^ | 479 | |||
.hword 32 | 480 | |||
.hword 111 @ o | 481 | |||
.hword 114 @ r | 482 | |||
.hword 32 @ Space | 483 | |||
.hword 118 @ v | 484 | |||
.hword 32 @ Space | 485 | |||
.hword 61 @ = | 486 | |||
.hword 32 @ Space | 487 | |||
.hword 79 @ O | 488 | |||
.hword 99 @ c | 489 | |||
.hword 116 @ t | 490 | |||
.hword 32 @ Space | 491 | |||
.hword 67 @ C | 492 | |||
.hword 104 @ h | 493 | |||
.hword 97 @ a | 494 | |||
.hword 110 @ n | 495 | |||
.hword 103 @ g | 496 | |||
.hword 101 @ e | 497 | |||
.hword 32 @ Space | 498 | |||
.hword 32 @ Space | 499 | |||
500 | ||||
@@ Row 15 | 501 | |||
.hword 32 @ Space | 502 | |||
.hword 32 @ Space | 503 | |||
.hword 32 @ Space | 504 | |||
.hword 32 @ Space | 505 | |||
.hword 32 @ Space | 506 | |||
.hword 32 @ Space | 507 | |||
.hword 32 @ Space | 508 | |||
.hword 32 @ Space | 509 | |||
.hword 32 @ Space | 510 | |||
.hword 32 @ Space | 511 | |||
.hword 32 @ Space | 512 | |||
.hword 32 @ Space | 513 | |||
.hword 32 @ Space | 514 | |||
.hword 32 @ Space | 515 | |||
.hword 32 @ Space | 516 | |||
.hword 32 @ Space | 517 | |||
.hword 32 @ Space | 518 | |||
.hword 32 @ Space | 519 | |||
.hword 32 @ Space | 520 | |||
.hword 32 @ Space | 521 | |||
.hword 32 @ Space | 522 | |||
.hword 32 @ Space | 523 | |||
.hword 32 @ Space | 524 | |||
.hword 32 @ Space | 525 | |||
.hword 32 @ Space | 526 | |||
.hword 32 @ Space | 527 | |||
.hword 32 @ Space | 528 | |||
.hword 32 @ Space | 529 | |||
.hword 32 @ Space | 530 | |||
.hword 32 @ Space | 531 | |||
.hword 32 @ Space | 532 | |||
.hword 32 @ Space | 533 | |||
@@ Row 16 | 534 | |||
.hword 32 @ Space | 535 | |||
.hword 32 @ Space | 536 | |||
.hword 32 @ Space | 537 | |||
.hword 32 @ Space | 538 | |||
.hword 32 @ Space | 539 | |||
.hword 32 @ Space | 540 | |||
.hword 32 @ Space | 541 | |||
.hword 32 @ Space | 542 | |||
.hword 32 @ Space | 543 | |||
.hword 32 @ Space | 544 | |||
.hword 32 @ Space | 545 | |||
.hword 32 @ Space | 546 | |||
.hword 32 @ Space | 547 | |||
.hword 32 @ Space | 548 | |||
.hword 32 @ Space | 549 | |||
.hword 32 @ Space | 550 | |||
.hword 32 @ Space | 551 | |||
.hword 32 @ Space | 552 | |||
.hword 32 @ Space | 553 | |||
.hword 32 @ Space | 554 | |||
.hword 32 @ Space | 555 | |||
.hword 32 @ Space | 556 | |||
.hword 32 @ Space | 557 | |||
.hword 32 @ Space | 558 | |||
.hword 32 @ Space | 559 | |||
.hword 32 @ Space | 560 | |||
.hword 32 @ Space | 561 | |||
.hword 32 @ Space | 562 | |||
.hword 32 @ Space | 563 | |||
.hword 32 @ Space | 564 | |||
.hword 32 @ Space | 565 | |||
.hword 32 @ Space | 566 | |||
@@ Row 17 | 567 | |||
.hword 32 @ Space | 568 | |||
.hword 32 @ Space | 569 | |||
.hword 32 @ Space | 570 | |||
.hword 32 @ Space | 571 | |||
.hword 32 @ Space | 572 | |||
.hword 32 @ Space | 573 | |||
.hword 32 @ Space | 574 | |||
.hword 32 @ Space | 575 | |||
.hword 32 @ Space | 576 | |||
.hword 32 @ Space | 577 | |||
.hword 32 @ Space | 578 | |||
.hword 32 @ Space | 579 | |||
.hword 32 @ Space | 580 | |||
.hword 32 @ Space | 581 | |||
.hword 32 @ Space | 582 | |||
.hword 32 @ Space | 583 | |||
.hword 32 @ Space | 584 | |||
.hword 32 @ Space | 585 | |||
.hword 32 @ Space | 586 | |||
.hword 32 @ Space | 587 | |||
.hword 32 @ Space | 588 | |||
.hword 32 @ Space | 589 | |||
.hword 32 @ Space | 590 | |||
.hword 32 @ Space | 591 | |||
.hword 32 @ Space | 592 | |||
.hword 32 @ Space | 593 | |||
.hword 32 @ Space | 594 | |||
.hword 32 @ Space | 595 | |||
.hword 32 @ Space | 596 | |||
.hword 32 @ Space | 597 | |||
.hword 32 @ Space | 598 | |||
.hword 32 @ Space | 599 | |||
@@ Row 18 | 600 | |||
.hword 32 @ Space | 601 | |||
.hword 32 @ Space | 602 | |||
.hword 32 @ Space | 603 | |||
.hword 32 @ Space | 604 | |||
.hword 32 @ Space | 605 | |||
.hword 32 @ Space | 606 | |||
.hword 32 @ Space | 607 | |||
.hword 32 @ Space | 608 | |||
.hword 32 @ Space | 609 | |||
.hword 32 @ Space | 610 | |||
.hword 32 @ Space | 611 | |||
.hword 32 @ Space | 612 | |||
.hword 32 @ Space | 613 | |||
.hword 32 @ Space | 614 | |||
.hword 32 @ Space | 615 | |||
.hword 32 @ Space | 616 | |||
.hword 32 @ Space | 617 | |||
.hword 32 @ Space | 618 | |||
.hword 32 @ Space | 619 | |||
.hword 32 @ Space | 620 | |||
.hword 32 @ Space | 621 | |||
.hword 32 @ Space | 622 | |||
.hword 32 @ Space | 623 | |||
.hword 32 @ Space | 624 | |||
.hword 32 @ Space | 625 | |||
.hword 32 @ Space | 626 | |||
.hword 32 @ Space | 627 | |||
.hword 32 @ Space | 628 | |||
.hword 32 @ Space | 629 | |||
.hword 32 @ Space | 630 | |||
.hword 32 @ Space | 631 | |||
.hword 32 @ Space | 632 | |||
@@ Row 19 | 633 | |||
.hword 32 @ Space | 634 | |||
.hword 32 @ Space | 635 | |||
.hword 32 @ Space | 636 | |||
.hword 32 @ Space | 637 | |||
.hword 32 @ Space | 638 | |||
.hword 32 @ Space | 639 | |||
.hword 32 @ Space | 640 | |||
.hword 32 @ Space | 641 | |||
.hword 32 @ Space | 642 | |||
.hword 32 @ Space | 643 | |||
.hword 32 @ Space | 644 | |||
.hword 32 @ Space | 645 | |||
.hword 32 @ Space | 646 | |||
.hword 32 @ Space | 647 | |||
.hword 32 @ Space | 648 | |||
.hword 32 @ Space | 649 | |||
.hword 32 @ Space | 650 | |||
.hword 32 @ Space | 651 | |||
.hword 32 @ Space | 652 | |||
.hword 32 @ Space | 653 | |||
.hword 32 @ Space | 654 | |||
.hword 32 @ Space | 655 | |||
.hword 32 @ Space | 656 | |||
.hword 32 @ Space | 657 | |||
.hword 32 @ Space | 658 | |||
.hword 32 @ Space | 659 | |||
.hword 32 @ Space | 660 | |||
.hword 32 @ Space | 661 | |||
.hword 32 @ Space | 662 | |||
.hword 32 @ Space | 663 | |||
.hword 32 @ Space | 664 | |||
.hword 32 @ Space | 665 | |||
@@ Row 20 | 666 | |||
.hword 32 @ Space | 667 | |||
.hword 32 @ Space | 668 | |||
.hword 32 @ Space | 669 | |||
.hword 32 @ Space | 670 | |||
.hword 32 @ Space | 671 | |||
.hword 32 @ Space | 672 | |||
.hword 32 @ Space | 673 | |||
.hword 32 @ Space | 674 | |||
.hword 32 @ Space | 675 | |||
.hword 32 @ Space | 676 | |||
.hword 32 @ Space | 677 | |||
.hword 32 @ Space | 678 | |||
.hword 32 @ Space | 679 | |||
.hword 32 @ Space | 680 | |||
.hword 32 @ Space | 681 | |||
.hword 32 @ Space | 682 | |||
.hword 32 @ Space | 683 | |||
.hword 32 @ Space | 684 | |||
.hword 32 @ Space | 685 | |||
.hword 32 @ Space | 686 | |||
.hword 32 @ Space | 687 | |||
.hword 32 @ Space | 688 | |||
.hword 32 @ Space | 689 | |||
.hword 32 @ Space | 690 | |||
.hword 32 @ Space | 691 | |||
.hword 32 @ Space | 692 | |||
.hword 32 @ Space | 693 | |||
.hword 32 @ Space | 694 | |||
.hword 32 @ Space | 695 | |||
.hword 32 @ Space | 696 | |||
.hword 32 @ Space | 697 | |||
.hword 32 @ Space | 698 | |||
@@ Row 21 | 699 | |||
.hword 32 @ Space | 700 | |||
.hword 32 @ Space | 701 | |||
.hword 32 @ Space | 702 | |||
.hword 32 @ Space | 703 | |||
.hword 32 @ Space | 704 | |||
.hword 32 @ Space | 705 | |||
.hword 32 @ Space | 706 | |||
.hword 32 @ Space | 707 | |||
.hword 32 @ Space | 708 | |||
.hword 32 @ Space | 709 | |||
.hword 32 @ Space | 710 | |||
.hword 32 @ Space | 711 | |||
.hword 32 @ Space | 712 | |||
.hword 32 @ Space | 713 | |||
.hword 32 @ Space | 714 | |||
.hword 32 @ Space | 715 | |||
.hword 32 @ Space | 716 | |||
.hword 32 @ Space | 717 | |||
.hword 32 @ Space | 718 | |||
.hword 32 @ Space | 719 | |||
.hword 32 @ Space | 720 | |||
.hword 32 @ Space | 721 | |||
.hword 32 @ Space | 722 | |||
.hword 32 @ Space | 723 | |||
.hword 32 @ Space | 724 | |||
.hword 32 @ Space | 725 | |||
.hword 32 @ Space | 726 | |||
.hword 32 @ Space | 727 | |||
.hword 32 @ Space | 728 | |||
.hword 32 @ Space | 729 | |||
.hword 32 @ Space | 730 | |||
.hword 32 @ Space | 731 | |||
@@ Row 22 @@ LAST VISIBLE W/O SCROLLING | 732 | |||
.hword 32 @ Space | 733 | |||
.hword 32 @ Space | 734 | |||
.hword 32 @ Space | 735 | |||
.hword 32 @ Space | 736 | |||
.hword 32 @ Space | 737 | |||
.hword 32 @ Space | 738 | |||
.hword 32 @ Space | 739 | |||
.hword 32 @ Space | 740 | |||
.hword 32 @ Space | 741 | |||
.hword 32 @ Space | 742 | |||
.hword 32 @ Space | 743 | |||
.hword 32 @ Space | 744 | |||
.hword 32 @ Space | 745 | |||
.hword 32 @ Space | 746 | |||
.hword 32 @ Space | 747 | |||
.hword 32 @ Space | 748 | |||
.hword 32 @ Space | 749 | |||
.hword 32 @ Space | 750 | |||
.hword 32 @ Space | 751 | |||
.hword 32 @ Space | 752 | |||
.hword 32 @ Space | 753 | |||
.hword 32 @ Space | 754 | |||
.hword 32 @ Space | 755 | |||
.hword 32 @ Space | 756 | |||
.hword 32 @ Space | 757 | |||
.hword 32 @ Space | 758 | |||
.hword 32 @ Space | 759 | |||
.hword 32 @ Space | 760 | |||
.hword 32 @ Space | 761 | |||
.hword 32 @ Space | 762 | |||
.hword 32 @ Space | 763 | |||
.hword 32 @ Space | 764 | |||
@@ Row 23 | 765 | |||
.hword 32 @ Space | 766 | |||
.hword 32 @ Space | 767 | |||
.hword 32 @ Space | 768 | |||
.hword 32 @ Space | 769 | |||
.hword 32 @ Space | 770 | |||
.hword 32 @ Space | 771 | |||
.hword 32 @ Space | 772 | |||
.hword 32 @ Space | 773 | |||
.hword 32 @ Space | 774 | |||
.hword 32 @ Space | 775 | |||
.hword 32 @ Space | 776 | |||
.hword 32 @ Space | 777 | |||
.hword 32 @ Space | 778 | |||
.hword 32 @ Space | 779 | |||
.hword 32 @ Space | 780 | |||
.hword 32 @ Space | 781 | |||
.hword 32 @ Space | 782 | |||
.hword 32 @ Space | 783 | |||
.hword 32 @ Space | 784 | |||
.hword 32 @ Space | 785 | |||
.hword 32 @ Space | 786 | |||
.hword 32 @ Space | 787 | |||
.hword 32 @ Space | 788 | |||
.hword 32 @ Space | 789 | |||
.hword 32 @ Space | 790 | |||
.hword 32 @ Space | 791 | |||
.hword 32 @ Space | 792 | |||
.hword 32 @ Space | 793 | |||
.hword 32 @ Space | 794 | |||
.hword 32 @ Space | 795 | |||
.hword 32 @ Space | 796 | |||
.hword 32 @ Space | 797 | |||
@@ Row 24 | 798 | |||
.hword 32 @ Space | 799 | |||
.hword 32 @ Space | 800 | |||
.hword 32 @ Space | 801 | |||
.hword 32 @ Space | 802 | |||
.hword 32 @ Space | 803 | |||
.hword 32 @ Space | 804 | |||
.hword 32 @ Space | 805 | |||
.hword 32 @ Space | 806 | |||
.hword 32 @ Space | 807 | |||
.hword 32 @ Space | 808 | |||
.hword 32 @ Space | 809 | |||
.hword 32 @ Space | 810 | |||
.hword 32 @ Space | 811 | |||
.hword 32 @ Space | 812 | |||
.hword 32 @ Space | 813 | |||
.hword 32 @ Space | 814 | |||
.hword 32 @ Space | 815 | |||
.hword 32 @ Space | 816 | |||
.hword 32 @ Space | 817 | |||
.hword 32 @ Space | 818 | |||
.hword 32 @ Space | 819 | |||
.hword 32 @ Space | 820 | |||
.hword 32 @ Space | 821 | |||
.hword 32 @ Space | 822 | |||
.hword 32 @ Space | 823 | |||
.hword 32 @ Space | 824 | |||
.hword 32 @ Space | 825 | |||
.hword 32 @ Space | 826 | |||
.hword 32 @ Space | 827 | |||
.hword 32 @ Space | 828 | |||
.hword 32 @ Space | 829 | |||
.hword 32 @ Space | 830 | |||
@@ Row 25 | 831 | |||
.hword 32 @ Space | 832 | |||
.hword 32 @ Space | 833 | |||
.hword 32 @ Space | 834 | |||
.hword 32 @ Space | 835 | |||
.hword 32 @ Space | 836 | |||
.hword 32 @ Space | 837 | |||
.hword 32 @ Space | 838 | |||
.hword 32 @ Space | 839 | |||
.hword 32 @ Space | 840 | |||
.hword 32 @ Space | 841 | |||
.hword 32 @ Space | 842 | |||
.hword 32 @ Space | 843 | |||
.hword 32 @ Space | 844 | |||
.hword 32 @ Space | 845 | |||
.hword 32 @ Space | 846 | |||
.hword 32 @ Space | 847 | |||
.hword 32 @ Space | 848 | |||
.hword 32 @ Space | 849 | |||
.hword 32 @ Space | 850 | |||
.hword 32 @ Space | 851 | |||
.hword 32 @ Space | 852 | |||
.hword 32 @ Space | 853 | |||
.hword 32 @ Space | 854 | |||
.hword 32 @ Space | 855 | |||
.hword 32 @ Space | 856 | |||
.hword 32 @ Space | 857 | |||
.hword 32 @ Space | 858 | |||
.hword 32 @ Space | 859 | |||
.hword 32 @ Space | 860 | |||
.hword 32 @ Space | 861 | |||
.hword 32 @ Space | 862 | |||
.hword 32 @ Space | 863 | |||
@@ Row 26 | 864 | |||
.hword 32 @ Space | 865 | |||
.hword 32 @ Space | 866 | |||
.hword 32 @ Space | 867 | |||
.hword 32 @ Space | 868 | |||
.hword 32 @ Space | 869 | |||
.hword 32 @ Space | 870 | |||
.hword 32 @ Space | 871 | |||
.hword 32 @ Space | 872 | |||
.hword 32 @ Space | 873 | |||
.hword 32 @ Space | 874 | |||
.hword 32 @ Space | 875 | |||
.hword 32 @ Space | 876 | |||
.hword 32 @ Space | 877 | |||
.hword 32 @ Space | 878 | |||
.hword 32 @ Space | 879 | |||
.hword 32 @ Space | 880 | |||
.hword 32 @ Space | 881 | |||
.hword 32 @ Space | 882 | |||
.hword 32 @ Space | 883 | |||
.hword 32 @ Space | 884 | |||
.hword 32 @ Space | 885 | |||
.hword 32 @ Space | 886 | |||
.hword 32 @ Space | 887 | |||
.hword 32 @ Space | 888 | |||
.hword 32 @ Space | 889 | |||
.hword 32 @ Space | 890 | |||
.hword 32 @ Space | 891 | |||
.hword 32 @ Space | 892 | |||
.hword 32 @ Space | 893 | |||
.hword 32 @ Space | 894 | |||
.hword 32 @ Space | 895 | |||
.hword 32 @ Space | 896 | |||
@@ Row 27 | 897 | |||
.hword 32 @ Space | 898 | |||
.hword 32 @ Space | 899 | |||
.hword 32 @ Space | 900 | |||
.hword 32 @ Space | 901 | |||
.hword 32 @ Space | 902 | |||
.hword 32 @ Space | 903 | |||
.hword 32 @ Space | 904 | |||
.hword 32 @ Space | 905 | |||
.hword 32 @ Space | 906 | |||
.hword 32 @ Space | 907 | |||
.hword 32 @ Space | 908 | |||
.hword 32 @ Space | 909 | |||
.hword 32 @ Space | 910 | |||
.hword 32 @ Space | 911 | |||
.hword 32 @ Space | 912 | |||
.hword 32 @ Space | 913 | |||
.hword 32 @ Space | 914 | |||
.hword 32 @ Space | 915 | |||
.hword 32 @ Space | 916 | |||
.hword 32 @ Space | 917 | |||
.hword 32 @ Space | 918 | |||
.hword 32 @ Space | 919 | |||
.hword 32 @ Space | 920 | |||
.hword 32 @ Space | 921 | |||
.hword 32 @ Space | 922 | |||
.hword 32 @ Space | 923 | |||
.hword 32 @ Space | 924 | |||
.hword 32 @ Space | 925 | |||
.hword 32 @ Space | 926 | |||
.hword 32 @ Space | 927 | |||
.hword 32 @ Space | 928 | |||
.hword 32 @ Space | 929 | |||
@@ Row 28 | 930 | |||
.hword 32 @ Space | 931 | |||
.hword 32 @ Space | 932 | |||
.hword 32 @ Space | 933 | |||
.hword 32 @ Space | 934 | |||
.hword 32 @ Space | 935 | |||
.hword 32 @ Space | 936 | |||
.hword 32 @ Space | 937 | |||
.hword 32 @ Space | 938 | |||
.hword 32 @ Space | 939 | |||
.hword 32 @ Space | 940 | |||
.hword 32 @ Space | 941 | |||
.hword 32 @ Space | 942 | |||
.hword 32 @ Space | 943 | |||
.hword 32 @ Space | 944 | |||
.hword 32 @ Space | 945 | |||
.hword 32 @ Space | 946 | |||
.hword 32 @ Space | 947 | |||
.hword 32 @ Space | 948 | |||
.hword 32 @ Space | 949 | |||
.hword 32 @ Space | 950 | |||
.hword 32 @ Space | 951 | |||
.hword 32 @ Space | 952 | |||
.hword 32 @ Space | 953 | |||
.hword 32 @ Space | 954 | |||
.hword 32 @ Space | 955 | |||
.hword 32 @ Space | 956 | |||
.hword 32 @ Space | 957 | |||
.hword 32 @ Space | 958 | |||
.hword 32 @ Space | 959 | |||
.hword 32 @ Space | 960 | |||
.hword 32 @ Space | 961 | |||
.hword 32 @ Space | 962 | |||
@@ Row 31 | 963 | |||
.hword 32 @ Space | 964 | |||
.hword 32 @ Space | 965 | |||
.hword 32 @ Space | 966 | |||
.hword 32 @ Space | 967 | |||
.hword 32 @ Space | 968 | |||
.hword 32 @ Space | 969 | |||
.hword 32 @ Space | 970 | |||
.hword 32 @ Space | 971 | |||
.hword 32 @ Space | 972 | |||
.hword 32 @ Space | 973 | |||
.hword 32 @ Space | 974 | |||
.hword 32 @ Space | 975 | |||
.hword 32 @ Space | 976 | |||
.hword 32 @ Space | 977 | |||
.hword 32 @ Space | 978 | |||
.hword 32 @ Space | 979 | |||
.hword 32 @ Space | 980 | |||
.hword 32 @ Space | 981 | |||
.hword 32 @ Space | 982 | |||
.hword 32 @ Space | 983 | |||
.hword 32 @ Space | 984 | |||
.hword 32 @ Space | 985 | |||
.hword 32 @ Space | 986 | |||
.hword 32 @ Space | 987 | |||
.hword 32 @ Space | 988 | |||
.hword 32 @ Space | 989 | |||
.hword 32 @ Space | 990 | |||
.hword 32 @ Space | 991 | |||
.hword 32 @ Space | 992 | |||
.hword 32 @ Space | 993 | |||
.hword 32 @ Space | 994 | |||
.hword 32 @ Space | 995 | |||
@@ Row 32 | 996 | |||
.hword 32 @ Space | 997 | |||
.hword 32 @ Space | 998 | |||
.hword 32 @ Space | 999 | |||
.hword 32 @ Space | 1000 | |||
.hword 32 @ Space | 1001 | |||
.hword 32 @ Space | 1002 | |||
.hword 32 @ Space | 1003 | |||
.hword 32 @ Space | 1004 | |||
.hword 32 @ Space | 1005 | |||
.hword 32 @ Space | 1006 | |||
.hword 32 @ Space | 1007 | |||
.hword 32 @ Space | 1008 | |||
.hword 32 @ Space | 1009 | |||
.hword 32 @ Space | 1010 | |||
.hword 32 @ Space | 1011 | |||
.hword 32 @ Space | 1012 | |||
.hword 32 @ Space | 1013 | |||
.hword 32 @ Space | 1014 | |||
.hword 32 @ Space | 1015 | |||
.hword 32 @ Space | 1016 | |||
.hword 32 @ Space | 1017 | |||
.hword 32 @ Space | 1018 | |||
.hword 32 @ Space | 1019 | |||
.hword 32 @ Space | 1020 | |||
.hword 32 @ Space | 1021 | |||
.hword 32 @ Space | 1022 | |||
.hword 32 @ Space | 1023 | |||
.hword 32 @ Space | 1024 | |||
.hword 32 @ Space | 1025 | |||
.hword 32 @ Space | 1026 | |||
.hword 32 @ Space | 1027 | |||
.hword 32 @ Space | 1028 | |||
@@ | 1029 | |||
.hword 32 @ Space | 1030 | |||
.hword 32 @ Space | 1031 | |||
.hword 32 @ Space | 1032 | |||
.hword 32 @ Space | 1033 | |||
.hword 32 @ Space | 1034 | |||
.hword 32 @ Space | 1035 | |||
.hword 32 @ Space | 1036 | |||
.hword 32 @ Space | 1037 | |||
.hword 32 @ Space | 1038 | |||
.hword 32 @ Space | 1039 | |||
.hword 32 @ Space | 1040 | |||
.hword 32 @ Space | 1041 | |||
.hword 32 @ Space | 1042 | |||
.hword 32 @ Space | 1043 | |||
.hword 32 @ Space | 1044 | |||
.hword 32 @ Space | 1045 | |||
.hword 32 @ Space | 1046 | |||
.hword 32 @ Space | 1047 | |||
.hword 32 @ Space | 1048 | |||
.hword 32 @ Space | 1049 | |||
.hword 32 @ Space | 1050 | |||
.hword 32 @ Space | 1051 | |||
.hword 32 @ Space | 1052 | |||
.hword 32 @ Space | 1053 | |||
.hword 32 @ Space | 1054 | |||
.hword 32 @ Space | 1055 | |||
.hword 32 @ Space | 1056 | |||
.hword 32 @ Space | 1057 | |||
.hword 32 @ Space | 1058 | |||
.hword 32 @ Space | 1059 | |||
.hword 32 @ Space | 1060 | |||
.hword 32 @ Space | 1061 | |||
1062 | ||||
notesettings: | 1063 | 67 | notesettings: | |
.hword 0b1111010011111111 @Note Settings 1 | 1064 | 68 | .hword 0b1111010011111111 @Note Settings 1 | |
.hword 0b1000000000000000 @Note Settings 2 | 1065 | 69 | .hword 0b1000000000000000 @Note Settings 2 | |
.hword 0 @ length flag | 1066 | 70 | .hword 0 @ length flag | |
1067 | 71 | |||
setupText: @ Map 0 | 1068 | 72 | setupText: @ Map 0 | |
@@ Row 1 | 1069 | 73 | .ascii "@@@@@@@ SynthGBA Setup @@@@@@@--" | |
.hword 64 @ @ | 1070 | 74 | .ascii " --" | |
.hword 64 @ @ | 1071 | 75 | .ascii " --" | |
.hword 64 @ @ | 1072 | 76 | .ascii " --" | |
.hword 64 @ @ | 1073 | 77 | .ascii " IIIIMTTTDDLLLLLL --" | |
.hword 64 @ @ | 1074 | 78 | .ascii " --" | |
.hword 64 @ @ | 1075 | 79 | .ascii " 0b0000000000000000 --" | |
.hword 64 @ @ | 1076 | 80 | .ascii " ^ --" | |
.hword 32 @ Space | 1077 | 81 | .ascii " --" | |
.hword 83 @ S | 1078 | 82 | .ascii " L = Sound Length --" | |
.hword 121 @ y | 1079 | 83 | .ascii " D = Wave Duty Cycle --" | |
.hword 110 @ n | 1080 | 84 | .ascii " T = Envelope Step Time --" | |
.hword 116 @ t | 1081 | 85 | .ascii " M = Envelope Mode --" | |
.hword 104 @ h | 1082 | 86 | .ascii " I = Initial Envelope Value --" | |
.hword 71 @ G | 1083 | 87 | .ascii " --" | |
.hword 66 @ B | 1084 | 88 | .ascii " --" | |
.hword 65 @ A | 1085 | 89 | .ascii " Press Start to begin. --" | |
.hword 32 @ Space | 1086 | 90 | .ascii " --" | |
.hword 83 @ S | 1087 | 91 | .ascii " --" | |
.hword 101 @ e | 1088 | 92 | .ascii "L<= Press B to toggle len flag--" | |
.hword 116 @ t | 1089 | |||
.hword 117 @ u | 1090 | |||
.hword 112 @ p | 1091 | |||
.hword 32 @ Space | 1092 | |||
.hword 64 @ @ | 1093 | |||
.hword 64 @ @ | 1094 | |||
.hword 64 @ @ | 1095 | |||
.hword 64 @ @ | 1096 | |||
.hword 64 @ @ | 1097 | |||
.hword 64 @ @ | 1098 | |||
.hword 64 @ @ | 1099 | |||
.hword 64 @ @ | 1100 | |||
.hword 64 @ @ | 1101 | |||
@@ Row 6 | 1102 | |||
.hword 32 @ Space | 1103 | |||
.hword 32 @ Space | 1104 | |||
.hword 32 @ Space | 1105 | |||
.hword 32 @ Space | 1106 | |||
.hword 32 @ Space | 1107 | |||
.hword 32 @ Space | 1108 | |||
.hword 32 @ Space | 1109 | |||
.hword 32 @ Space | 1110 | |||
.hword 32 @ Space | 1111 | |||
.hword 32 @ Space | 1112 | |||
.hword 32 @ Space | 1113 | |||
.hword 32 @ Space | 1114 | |||
.hword 32 @ Space | 1115 | |||
.hword 32 @ Space | 1116 | |||
.hword 32 @ Space | 1117 | |||
.hword 32 @ Space | 1118 | |||
.hword 32 @ Space | 1119 | |||
.hword 32 @ Space | 1120 | |||
.hword 32 @ Space | 1121 | |||
.hword 32 @ Space | 1122 | |||
.hword 32 @ Space | 1123 | |||
.hword 32 @ Space | 1124 | |||
.hword 32 @ Space | 1125 | |||
.hword 32 @ Space | 1126 | |||
.hword 32 @ Space | 1127 | |||
.hword 32 @ Space | 1128 | |||
.hword 32 @ Space | 1129 | |||
.hword 32 @ Space | 1130 | |||
.hword 32 @ Space | 1131 | |||
.hword 32 @ Space | 1132 | |||
.hword 32 @ Space | 1133 | |||
.hword 32 @ Space | 1134 | |||
@@ Row 7 | 1135 | |||
.hword 32 @ Space | 1136 | |||
.hword 32 @ Space | 1137 | |||
.hword 32 @ Space | 1138 | |||
.hword 32 @ Space | 1139 | |||
.hword 32 @ Space | 1140 | |||
.hword 32 @ Space | 1141 | |||
.hword 32 @ Space | 1142 | |||
.hword 32 @ Space | 1143 | |||
.hword 32 @ Space | 1144 | |||
.hword 32 @ Space | 1145 | |||
.hword 32 @ Space | 1146 | |||
.hword 32 @ Space | 1147 | |||
.hword 32 @ Space | 1148 | |||
.hword 32 @ Space | 1149 | |||
.hword 32 @ Space | 1150 | |||
.hword 32 @ Space | 1151 | |||
.hword 32 @ Space | 1152 | |||
.hword 32 @ Space | 1153 | |||
.hword 32 @ Space | 1154 | |||
.hword 32 @ Space | 1155 | |||
.hword 32 @ Space | 1156 | |||
.hword 32 @ Space | 1157 | |||
.hword 32 @ Space | 1158 | |||
.hword 32 @ Space | 1159 | |||
.hword 32 @ Space | 1160 | |||
.hword 32 @ Space | 1161 | |||
.hword 32 @ Space | 1162 | |||
.hword 32 @ Space | 1163 | |||
.hword 32 @ Space | 1164 | |||
.hword 32 @ Space | 1165 | |||
.hword 32 @ Space | 1166 | |||
.hword 32 @ Space | 1167 | |||
@@ Row 2 | 1168 | |||
.hword 32 @ Space | 1169 | |||
.hword 32 @ Space | 1170 | |||
.hword 32 @ Space | 1171 | |||
.hword 32 @ Space | 1172 | |||
.hword 32 @ Space | 1173 | |||
.hword 32 @ Space | 1174 | |||
.hword 32 @ Space | 1175 | |||
.hword 32 @ Space | 1176 | |||
.hword 32 @ Space | 1177 | |||
.hword 32 @ Space | 1178 | |||
.hword 32 @ Space | 1179 | |||
.hword 32 @ Space | 1180 | |||
.hword 32 @ Space | 1181 | |||
.hword 32 @ Space | 1182 | |||
.hword 32 @ Space | 1183 | |||
.hword 32 @ Space | 1184 | |||
.hword 32 @ Space | 1185 | |||
.hword 32 @ Space | 1186 | |||
.hword 32 @ Space | 1187 | |||
.hword 32 @ Space | 1188 | |||
.hword 32 @ Space | 1189 | |||
.hword 32 @ Space | 1190 | |||
.hword 32 @ Space | 1191 | |||
.hword 32 @ Space | 1192 | |||
.hword 32 @ Space | 1193 | |||
.hword 32 @ Space | 1194 | |||
.hword 32 @ Space | 1195 | |||
.hword 32 @ Space | 1196 | |||
.hword 32 @ Space | 1197 | |||
.hword 32 @ Space | 1198 | |||
.hword 32 @ Space | 1199 | |||
.hword 32 @ Space | 1200 | |||
@@ Row 3 | 1201 | |||
.hword 32 @ Space | 1202 | |||
.hword 32 @ Space | 1203 | |||
.hword 32 @ Space | 1204 | |||
.hword 32 @ Space | 1205 | |||
.hword 32 @ Space | 1206 | |||
.hword 32 @ Space | 1207 | |||
.hword 32 @ Space | 1208 | |||
.hword 32 @ Space | 1209 | |||
.hword 73 @ I | 1210 | |||
.hword 73 @ I | 1211 | |||
.hword 73 @ I | 1212 | |||
.hword 73 @ I | 1213 | |||
.hword 77 @ M | 1214 | |||
.hword 84 @ T | 1215 | |||
.hword 84 @ T | 1216 | |||
.hword 84 @ T | 1217 | |||
.hword 68 @ D | 1218 | |||
.hword 68 @ D | 1219 | |||
.hword 76 @ L | 1220 | |||
.hword 76 @ L | 1221 | |||
.hword 76 @ L | 1222 | |||
.hword 76 @ L | 1223 | |||
.hword 76 @ L | 1224 | |||
.hword 76 @ L | 1225 | |||
.hword 32 @ Space | 1226 | |||
.hword 32 @ Space | 1227 | |||
.hword 32 @ Space | 1228 | |||
.hword 32 @ Space | 1229 | |||
.hword 32 @ Space | 1230 | |||
.hword 32 @ Space | 1231 | |||
.hword 32 @ Space | 1232 | |||
.hword 32 @ Space | 1233 | |||
@@ Row 8 | 1234 | |||
.hword 32 @ Space | 1235 | |||
.hword 32 @ Space | 1236 | |||
.hword 32 @ Space | 1237 | |||
.hword 32 @ Space | 1238 | |||
.hword 32 @ Space | 1239 | |||
.hword 32 @ Space | 1240 | |||
.hword 32 @ Space | 1241 | |||
.hword 32 @ Space | 1242 | |||
.hword 32 @ Space | 1243 | |||
.hword 32 @ Space | 1244 | |||
.hword 32 @ Space | 1245 | |||
.hword 32 @ Space | 1246 | |||
.hword 32 @ Space | 1247 | |||
.hword 32 @ Space | 1248 | |||
.hword 32 @ Space | 1249 | |||
.hword 32 @ Space | 1250 | |||
.hword 32 @ Space | 1251 | |||
.hword 32 @ Space | 1252 | |||
.hword 32 @ Space | 1253 | |||
.hword 32 @ Space | 1254 | |||
.hword 32 @ Space | 1255 | |||
.hword 32 @ Space | 1256 | |||
.hword 32 @ Space | 1257 | |||
.hword 32 @ Space | 1258 | |||
.hword 32 @ Space | 1259 | |||
.hword 32 @ Space | 1260 | |||
.hword 32 @ Space | 1261 | |||
.hword 32 @ Space | 1262 | |||
.hword 32 @ Space | 1263 | |||
.hword 32 @ Space | 1264 | |||
.hword 32 @ Space | 1265 | |||
.hword 32 @ Space | 1266 | |||
@@ Row 4 | 1267 | |||
.hword 32 @ Space | 1268 | |||
.hword 32 @ Space | 1269 | |||
.hword 32 @ Space | 1270 | |||
.hword 32 @ Space | 1271 | |||
.hword 32 @ Space | 1272 | |||
.hword 32 @ Space | 1273 | |||
.hword 48 @ 0 | 1274 | |||
.hword 98 @ b | 1275 | |||
.hword 48 @ 0 | 1276 | |||
.hword 48 @ 0 | 1277 | |||
.hword 48 @ 0 | 1278 | |||
.hword 48 @ 0 | 1279 | |||
.hword 48 @ 0 | 1280 | |||
.hword 48 @ 0 | 1281 | |||
.hword 48 @ 0 | 1282 | |||
.hword 48 @ 0 | 1283 | |||
.hword 48 @ 0 | 1284 | |||
.hword 48 @ 0 | 1285 | |||
.hword 48 @ 0 | 1286 | |||
.hword 48 @ 0 | 1287 | |||
.hword 48 @ 0 | 1288 | |||
.hword 48 @ 0 | 1289 | |||
.hword 48 @ 0 | 1290 | |||
.hword 48 @ 0 | 1291 | |||
.hword 32 @ Space | 1292 | |||
.hword 32 @ Space | 1293 | |||
.hword 32 @ Space | 1294 | |||
.hword 32 @ Space | 1295 | |||
.hword 32 @ Space | 1296 | |||
.hword 32 @ Space | 1297 | |||
.hword 32 @ Space | 1298 | |||
.hword 32 @ Space | 1299 | |||
@@ Row 9 | 1300 | |||
.hword 32 @ Space | 1301 | |||
.hword 32 @ Space | 1302 | |||
.hword 32 @ Space | 1303 | |||
.hword 32 @ Space | 1304 | |||
.hword 32 @ Space | 1305 | |||
.hword 32 @ Space | 1306 | |||
.hword 32 @ Space | 1307 | |||
.hword 32 @ Space | 1308 | |||
.hword 32 @ Space | 1309 | |||
.hword 32 @ Space | 1310 | |||
.hword 32 @ Space | 1311 | |||
.hword 32 @ Space | 1312 | |||
.hword 32 @ Space | 1313 | |||
.hword 32 @ Space | 1314 | |||
.hword 32 @ Space | 1315 | |||
.hword 32 @ Space | 1316 | |||
.hword 32 @ Space | 1317 | |||
.hword 32 @ Space | 1318 | |||
.hword 32 @ Space | 1319 | |||
.hword 32 @ Space | 1320 | |||
.hword 32 @ Space | 1321 | |||
.hword 32 @ Space | 1322 | |||
.hword 32 @ Space | 1323 | |||
.hword 94 @ ^ | 1324 | |||
.hword 32 @ Space | 1325 | |||
.hword 32 @ Space | 1326 | |||
.hword 32 @ Space | 1327 | |||
.hword 32 @ Space | 1328 | |||
.hword 32 @ Space | 1329 | |||
.hword 32 @ Space | 1330 | |||
.hword 32 @ Space | 1331 | |||
.hword 32 @ Space | 1332 | |||
@@ Row 10 | 1333 | |||
.hword 32 @ Space | 1334 | |||
.hword 32 @ Space | 1335 | |||
.hword 32 @ Space | 1336 | |||
.hword 32 @ Space | 1337 | |||
.hword 32 @ Space | 1338 | |||
.hword 32 @ Space | 1339 | |||
.hword 32 @ Space | 1340 | |||
.hword 32 @ Space | 1341 | |||
.hword 32 @ Space | 1342 | |||
.hword 32 @ Space | 1343 | |||
.hword 32 @ Space | 1344 | |||
.hword 32 @ Space | 1345 | |||
.hword 32 @ Space | 1346 | |||
.hword 32 @ Space | 1347 | |||
.hword 32 @ Space | 1348 | |||
.hword 32 @ Space | 1349 | |||
.hword 32 @ Space | 1350 | |||
.hword 32 @ Space | 1351 | |||
.hword 32 @ Space | 1352 | |||
.hword 32 @ Space | 1353 | |||
.hword 32 @ Space | 1354 | |||
.hword 32 @ Space | 1355 | |||
.hword 32 @ Space | 1356 | |||
.hword 32 @ Space | 1357 | |||
.hword 32 @ Space | 1358 | |||
.hword 32 @ Space | 1359 | |||
.hword 32 @ Space | 1360 | |||
.hword 32 @ Space | 1361 | |||
.hword 32 @ Space | 1362 | |||
.hword 32 @ Space | 1363 | |||
.hword 32 @ Space | 1364 | |||
.hword 32 @ Space | 1365 | |||
@@ Row 11 | 1366 | |||
.hword 32 @ Space | 1367 | |||
.hword 32 @ Space | 1368 | |||
.hword 76 @ L | 1369 | |||
.hword 32 @ Space | 1370 | |||
.hword 61 @ = | 1371 | |||
.hword 32 @ Space | 1372 | |||
.hword 83 @ S | 1373 | |||
.hword 111 @ o | 1374 | |||
.hword 117 @ u | 1375 | |||
.hword 110 @ n | 1376 | |||
.hword 100 @ d | 1377 | |||
.hword 32 @ Space | 1378 | |||
.hword 76 @ L | 1379 | |||
.hword 101 @ e | 1380 | |||
.hword 110 @ n | 1381 | |||
.hword 103 @ g | 1382 | |||
.hword 116 @ t | 1383 | |||
.hword 104 @ h | 1384 | |||
.hword 32 @ Space | 1385 | |||
.hword 32 @ Space | 1386 | |||
.hword 32 @ Space | 1387 | |||
.hword 32 @ Space | 1388 | |||
.hword 32 @ Space | 1389 | |||
.hword 32 @ Space | 1390 | |||
.hword 32 @ Space | 1391 | |||
.hword 32 @ Space | 1392 | |||
.hword 32 @ Space | 1393 | |||
.hword 32 @ Space | 1394 | |||
.hword 32 @ Space | 1395 | |||
.hword 32 @ Space | 1396 | |||
.hword 32 @ Space | 1397 | |||
.hword 32 @ Space | 1398 | |||
@@ Row 12 | 1399 | |||
.hword 32 @ Space | 1400 | |||
.hword 32 @ Space | 1401 | |||
.hword 68 @ D | 1402 | |||
.hword 32 @ Space | 1403 | |||
.hword 61 @ = | 1404 | |||
.hword 32 @ Space | 1405 | |||
.hword 87 @ W | 1406 | |||
.hword 97 @ a | 1407 | |||
.hword 118 @ v | 1408 | |||
.hword 101 @ e | 1409 | |||
.hword 32 @ Space | 1410 | |||
.hword 68 @ D | 1411 | |||
.hword 117 @ u | 1412 | |||
.hword 116 @ t | 1413 | |||
.hword 121 @ y | 1414 | |||
.hword 32 @ Space | 1415 | |||
.hword 67 @ C | 1416 | |||
.hword 121 @ y | 1417 | |||
.hword 99 @ c | 1418 | |||
.hword 108 @ l | 1419 | |||
.hword 101 @ e | 1420 | |||
.hword 32 @ Space | 1421 | |||
.hword 32 @ Space | 1422 | |||
.hword 32 @ Space | 1423 | |||
.hword 32 @ Space | 1424 | |||
.hword 32 @ Space | 1425 | |||
.hword 32 @ Space | 1426 | |||
.hword 32 @ Space | 1427 | |||
.hword 32 @ Space | 1428 | |||
.hword 32 @ Space | 1429 | |||
.hword 32 @ Space | 1430 | |||
.hword 32 @ Space | 1431 | |||
@@ Row 13 | 1432 | |||
.hword 32 @ Space | 1433 | |||
.hword 32 @ Space | 1434 | |||
.hword 84 @ T | 1435 | |||
.hword 32 @ Space | 1436 | |||
.hword 61 @ = | 1437 | |||
.hword 32 @ Space | 1438 | |||
.hword 69 @ E | 1439 | |||
.hword 110 @ n | 1440 | |||
.hword 118 @ v | 1441 | |||
.hword 101 @ e | 1442 | |||
.hword 108 @ l | 1443 | |||
.hword 111 @ o | 1444 | |||
.hword 112 @ p | 1445 | |||
.hword 101 @ e | 1446 | |||
.hword 32 @ Space | 1447 | |||
.hword 83 @ S | 1448 | |||
.hword 116 @ t | 1449 | |||
.hword 101 @ e | 1450 | |||
.hword 112 @ p | 1451 | |||
.hword 32 @ Space | 1452 | |||
.hword 84 @ T | 1453 | |||
.hword 105 @ i | 1454 | |||
.hword 109 @ m | 1455 | |||
.hword 101 @ e | 1456 | |||
.hword 32 @ Space | 1457 | |||
.hword 32 @ Space | 1458 | |||
.hword 32 @ Space | 1459 | |||
.hword 32 @ Space | 1460 | |||
.hword 32 @ Space | 1461 | |||
.hword 32 @ Space | 1462 | |||
.hword 32 @ Space | 1463 | |||
.hword 32 @ Space | 1464 | |||
@@ Row 15 | 1465 | |||
.hword 32 @ Space | 1466 | |||
.hword 32 @ Space | 1467 | |||
.hword 77 @ M | 1468 | |||
.hword 32 @ Space | 1469 | |||
.hword 61 @ = | 1470 | |||
.hword 32 @ Space | 1471 | |||
.hword 69 @ E | 1472 | |||
.hword 110 @ n | 1473 | |||
.hword 118 @ v | 1474 | |||
.hword 101 @ e | 1475 | |||
.hword 108 @ l | 1476 | |||
.hword 111 @ o | 1477 | |||
.hword 112 @ p | 1478 | |||
.hword 101 @ e | 1479 | |||
.hword 32 @ Space | 1480 | |||
.hword 77 @ M | 1481 | |||
.hword 111 @ o | 1482 | |||
.hword 100 @ d | 1483 | |||
.hword 101 @ e | 1484 | |||
.hword 32 @ Space | 1485 | |||
.hword 32 @ Space | 1486 | |||
.hword 32 @ Space | 1487 | |||
.hword 32 @ Space | 1488 | |||
.hword 32 @ Space | 1489 | |||
.hword 32 @ Space | 1490 | |||
.hword 32 @ Space | 1491 | |||
.hword 32 @ Space | 1492 | |||
.hword 32 @ Space | 1493 | |||
.hword 32 @ Space | 1494 | |||
.hword 32 @ Space | 1495 | |||
.hword 32 @ Space | 1496 | |||
.hword 32 @ Space | 1497 | |||
@@ Row 16 | 1498 | |||
.hword 32 @ Space | 1499 | |||
.hword 32 @ Space | 1500 | |||
.hword 73 @ I | 1501 | |||
.hword 32 @ Space | 1502 | |||
.hword 61 @ = | 1503 | |||
.hword 32 @ Space | 1504 | |||
.hword 73 @ I | 1505 | |||
.hword 110 @ n | 1506 | |||
.hword 105 @ i | 1507 | |||
.hword 116 @ t | 1508 | |||
.hword 105 @ i | 1509 | |||
.hword 97 @ a | 1510 | |||
.hword 108 @ l | 1511 | |||
.hword 32 @ Space | 1512 | |||
.hword 69 @ E | 1513 | |||
.hword 110 @ n | 1514 | |||
.hword 118 @ v | 1515 | |||
.hword 101 @ e | 1516 | |||
.hword 108 @ l | 1517 | |||
.hword 111 @ o | 1518 | |||
.hword 112 @ p | 1519 | |||
.hword 101 @ e | 1520 | |||
.hword 32 @ Space | 1521 | |||
.hword 86 @ V | 1522 | |||
.hword 97 @ a | 1523 | |||
.hword 108 @ l | 1524 | |||
.hword 117 @ u | 1525 | |||
.hword 101 @ e | 1526 | |||
.hword 32 @ Space | 1527 | |||
.hword 32 @ Space | 1528 | |||
.hword 32 @ Space | 1529 | |||
.hword 32 @ Space | 1530 | |||
@@ Row 17 | 1531 | |||
.hword 32 @ Space | 1532 | |||
.hword 32 @ Space | 1533 | |||
.hword 32 @ Space | 1534 | |||
.hword 32 @ Space | 1535 | |||
.hword 32 @ Space | 1536 | |||
.hword 32 @ Space | 1537 | |||
.hword 32 @ Space | 1538 | |||
.hword 32 @ Space | 1539 | |||
.hword 32 @ Space | 1540 | |||
.hword 32 @ Space | 1541 | |||
.hword 32 @ Space | 1542 | |||
.hword 32 @ Space | 1543 | |||
.hword 32 @ Space | 1544 | |||
.hword 32 @ Space | 1545 | |||
.hword 32 @ Space | 1546 | |||
.hword 32 @ Space | 1547 | |||
.hword 32 @ Space | 1548 | |||
.hword 32 @ Space | 1549 | |||
.hword 32 @ Space | 1550 | |||
.hword 32 @ Space | 1551 | |||
.hword 32 @ Space | 1552 | |||
.hword 32 @ Space | 1553 | |||
.hword 32 @ Space | 1554 | |||
.hword 32 @ Space | 1555 | |||
.hword 32 @ Space | 1556 | |||
.hword 32 @ Space | 1557 | |||
.hword 32 @ Space | 1558 | |||
.hword 32 @ Space | 1559 | |||
.hword 32 @ Space | 1560 | |||
.hword 32 @ Space | 1561 | |||
.hword 32 @ Space | 1562 | |||
.hword 32 @ Space | 1563 | |||
@@ Row 18 | 1564 | |||
.hword 32 @ Space | 1565 | |||
.hword 32 @ Space | 1566 | |||
.hword 32 @ Space | 1567 | |||
.hword 32 @ Space | 1568 | |||
.hword 32 @ Space | 1569 | |||
.hword 32 @ Space | 1570 | |||
.hword 32 @ Space | 1571 | |||
.hword 32 @ Space | 1572 | |||
.hword 32 @ Space | 1573 | |||
.hword 32 @ Space | 1574 | |||
.hword 32 @ Space | 1575 | |||
.hword 32 @ Space | 1576 | |||
.hword 32 @ Space | 1577 | |||
.hword 32 @ Space | 1578 | |||
.hword 32 @ Space | 1579 | |||
.hword 32 @ Space | 1580 | |||
.hword 32 @ Space | 1581 | |||
.hword 32 @ Space | 1582 | |||
.hword 32 @ Space | 1583 | |||
.hword 32 @ Space | 1584 | |||
.hword 32 @ Space | 1585 | |||
.hword 32 @ Space | 1586 | |||
.hword 32 @ Space | 1587 | |||
.hword 32 @ Space | 1588 | |||
.hword 32 @ Space | 1589 | |||
.hword 32 @ Space | 1590 | |||
.hword 32 @ Space | 1591 | |||
.hword 32 @ Space | 1592 | |||
.hword 32 @ Space | 1593 | |||
.hword 32 @ Space | 1594 | |||
.hword 32 @ Space | 1595 | |||
.hword 32 @ Space | 1596 | |||
@@ Row 19 | 1597 | |||
.hword 32 @ Space | 1598 | |||
.hword 32 @ Space | 1599 | |||
.hword 32 @ Space | 1600 | |||
.hword 32 @ Space | 1601 | |||
.hword 80 | 1602 | |||
.hword 114 | 1603 | |||
.hword 101 | 1604 | |||
.hword 115 | 1605 | |||
.hword 115 | 1606 | |||
.hword 32 @space | 1607 | |||
.hword 83 | 1608 | |||
.hword 116 | 1609 | |||
.hword 97 | 1610 | |||
.hword 114 | 1611 | |||
.hword 116 | 1612 | |||
.hword 32 @space | 1613 | |||
.hword 116 | 1614 | |||
.hword 111 | 1615 | |||
.hword 32 @ Space | 1616 | |||
.hword 98 | 1617 | |||
.hword 101 | 1618 | |||
.hword 103 | 1619 | |||
.hword 105 | 1620 | |||
.hword 110 | 1621 | |||
.hword 46 | 1622 | |||
.hword 32 @ Space | 1623 | |||
.hword 32 @ Space | 1624 | |||
.hword 32 @ Space | 1625 | |||
.hword 32 @ Space | 1626 | |||
.hword 32 @ Space | 1627 | |||
.hword 32 @ Space | 1628 | |||
.hword 32 @ Space | 1629 | |||
@@ Row 20 | 1630 | |||
.hword 32 @ Space | 1631 | |||
.hword 32 @ Space | 1632 | |||
.hword 32 @ Space | 1633 | |||
.hword 32 @ Space | 1634 | |||
.hword 32 @ Space | 1635 | |||
.hword 32 @ Space | 1636 | |||
.hword 32 @ Space | 1637 | |||
.hword 32 @ Space | 1638 | |||
.hword 32 @ Space | 1639 | |||
.hword 32 @ Space | 1640 | |||
.hword 32 @ Space | 1641 | |||
.hword 32 @ Space | 1642 | |||
.hword 32 @ Space | 1643 | |||
.hword 32 @ Space | 1644 | |||
.hword 32 @ Space | 1645 | |||
.hword 32 @ Space | 1646 | |||
.hword 32 @ Space | 1647 | |||
.hword 32 @ Space | 1648 | |||
.hword 32 @ Space | 1649 | |||
.hword 32 @ Space | 1650 | |||
.hword 32 @ Space | 1651 | |||
.hword 32 @ Space | 1652 | |||
.hword 32 @ Space | 1653 | |||
.hword 32 @ Space | 1654 | |||
.hword 32 @ Space | 1655 | |||
.hword 32 @ Space | 1656 | |||
.hword 32 @ Space | 1657 | |||
.hword 32 @ Space | 1658 | |||
.hword 32 @ Space | 1659 | |||
.hword 32 @ Space | 1660 | |||
.hword 32 @ Space | 1661 | |||
.hword 32 @ Space | 1662 | |||
@@ Row 21 | 1663 | |||
.hword 32 @ Space | 1664 | |||
.hword 32 @ Space | 1665 | |||
.hword 32 @ Space | 1666 | |||
.hword 32 @ Space | 1667 | |||
.hword 32 @ Space | 1668 | |||
.hword 32 @ Space | 1669 | |||
.hword 32 @ Space | 1670 | |||
.hword 32 @ Space | 1671 | |||
.hword 32 @ Space | 1672 | |||
.hword 32 @ Space | 1673 | |||
.hword 32 @ Space | 1674 | |||
.hword 32 @ Space | 1675 | |||
.hword 32 @ Space | 1676 | |||
.hword 32 @ Space | 1677 | |||
.hword 32 @ Space | 1678 | |||
.hword 32 @ Space | 1679 | |||
.hword 32 @ Space | 1680 | |||
.hword 32 @ Space | 1681 | |||
.hword 32 @ Space | 1682 | |||
.hword 32 @ Space | 1683 | |||
.hword 32 @ Space | 1684 | |||
.hword 32 @ Space | 1685 | |||
.hword 32 @ Space | 1686 | |||
.hword 32 @ Space | 1687 | |||
.hword 32 @ Space | 1688 | |||
.hword 32 @ Space | 1689 | |||
.hword 32 @ Space | 1690 | |||
.hword 32 @ Space | 1691 | |||
.hword 32 @ Space | 1692 | |||
.hword 32 @ Space | 1693 | |||
.hword 32 @ Space | 1694 | |||
.hword 32 @ Space | 1695 | |||
@@ Row 22 @@ LAST VISIBLE W/O SCROLLING | 1696 | |||
.hword 32 @ Space | 1697 | |||
.hword 60 @ Space | 1698 | |||
.hword 61 @ Space | 1699 | |||
.hword 32 @ Space | 1700 | |||
.hword 80 @ P | 1701 | |||
.hword 114 @ r | 1702 | |||
.hword 101 @ e | 1703 | |||
.hword 115 @ s | 1704 | |||
.hword 115 @ s | 1705 | |||
.hword 32 @ Space | 1706 | |||
.hword 66 @ B | 1707 | |||
.hword 32 @ Space | 1708 | |||
.hword 116 @ t | 1709 | |||
.hword 111 @ o | 1710 | |||
.hword 32 @ Space | 1711 | |||
.hword 116 @ t | 1712 | |||
.hword 111 @ o | 1713 | |||
.hword 103 @ g | 1714 | |||
.hword 103 @ g | 1715 | |||
.hword 108 @ l | 1716 | |||
.hword 101 @ e | 1717 | |||
.hword 32 @ Space | 1718 | |||
.hword 108 @ l | 1719 | |||
.hword 101 @ e | 1720 | |||
.hword 110 @ n | 1721 | |||
.hword 32 @ Space | 1722 | |||
.hword 102 @ f | 1723 | |||
.hword 108 @ l | 1724 | |||
.hword 103 @ g | 1725 | |||
@@ Row 23 | 1726 | |||
.hword 32 @ Space | 1727 | |||
.hword 32 @ Space | 1728 | |||
.hword 32 @ Space | 1729 | |||
.hword 32 @ Space | 1730 | |||
.hword 32 @ Space | 1731 | |||
.hword 32 @ Space | 1732 | |||
.hword 32 @ Space | 1733 | |||
.hword 32 @ Space | 1734 | |||
.hword 32 @ Space | 1735 | |||
.hword 32 @ Space | 1736 | |||
.hword 32 @ Space | 1737 | |||
.hword 32 @ Space | 1738 | |||
.hword 32 @ Space | 1739 | |||
.hword 32 @ Space | 1740 | |||
.hword 32 @ Space | 1741 | |||
.hword 32 @ Space | 1742 | |||
.hword 32 @ Space | 1743 | |||
.hword 32 @ Space | 1744 | |||
.hword 32 @ Space | 1745 | |||
.hword 32 @ Space | 1746 | |||
.hword 32 @ Space | 1747 | |||
.hword 32 @ Space | 1748 | |||
.hword 32 @ Space | 1749 | |||
.hword 32 @ Space | 1750 | |||
.hword 32 @ Space | 1751 | |||
.hword 32 @ Space | 1752 | |||
.hword 32 @ Space | 1753 | |||
.hword 32 @ Space | 1754 | |||
.hword 32 @ Space | 1755 | |||
.hword 32 @ Space | 1756 | |||
.hword 32 @ Space | 1757 | |||
.hword 32 @ Space | 1758 | |||
@@ Row 24 | 1759 | |||
.hword 32 @ Space | 1760 | |||
.hword 32 @ Space | 1761 | |||
.hword 32 @ Space | 1762 | |||
.hword 32 @ Space | 1763 | |||
.hword 32 @ Space | 1764 | |||
.hword 32 @ Space | 1765 | |||
.hword 32 @ Space | 1766 | |||
.hword 32 @ Space | 1767 | |||
.hword 32 @ Space | 1768 | |||
.hword 32 @ Space | 1769 | |||
.hword 32 @ Space | 1770 | |||
.hword 32 @ Space | 1771 | |||
.hword 32 @ Space | 1772 | |||
.hword 32 @ Space | 1773 | |||
.hword 32 @ Space | 1774 | |||
.hword 32 @ Space | 1775 | |||
.hword 32 @ Space | 1776 | |||
.hword 32 @ Space | 1777 | |||
.hword 32 @ Space | 1778 | |||
.hword 32 @ Space | 1779 | |||
.hword 32 @ Space | 1780 | |||
.hword 32 @ Space | 1781 | |||
.hword 32 @ Space | 1782 | |||
.hword 32 @ Space | 1783 | |||
.hword 32 @ Space | 1784 | |||
.hword 32 @ Space | 1785 | |||
.hword 32 @ Space | 1786 | |||
.hword 32 @ Space | 1787 | |||
.hword 32 @ Space | 1788 | |||
.hword 32 @ Space | 1789 | |||
.hword 32 @ Space | 1790 | |||
.hword 32 @ Space | 1791 | |||
@@ Row 25 | 1792 | |||
.hword 32 @ Space | 1793 | |||
.hword 32 @ Space | 1794 | |||
.hword 32 @ Space | 1795 | |||
.hword 32 @ Space | 1796 | |||
.hword 32 @ Space | 1797 | |||
.hword 32 @ Space | 1798 | |||
.hword 32 @ Space | 1799 | |||
.hword 32 @ Space | 1800 | |||
.hword 32 @ Space | 1801 | |||
.hword 32 @ Space | 1802 | |||
.hword 32 @ Space | 1803 | |||
.hword 32 @ Space | 1804 | |||
.hword 32 @ Space | 1805 | |||
.hword 32 @ Space | 1806 | |||
.hword 32 @ Space | 1807 | |||
.hword 32 @ Space | 1808 | |||
.hword 32 @ Space | 1809 | |||
.hword 32 @ Space | 1810 | |||
.hword 32 @ Space | 1811 | |||
.hword 32 @ Space | 1812 | |||
.hword 32 @ Space | 1813 | |||
.hword 32 @ Space | 1814 | |||
.hword 32 @ Space | 1815 | |||
.hword 32 @ Space | 1816 | |||
.hword 32 @ Space | 1817 | |||
.hword 32 @ Space | 1818 | |||
.hword 32 @ Space | 1819 | |||
.hword 32 @ Space | 1820 | |||
.hword 32 @ Space | 1821 | |||
.hword 32 @ Space | 1822 | |||
.hword 32 @ Space | 1823 | |||
.hword 32 @ Space | 1824 | |||
@@ Row 26 | 1825 | |||
.hword 32 @ Space | 1826 | |||
.hword 32 @ Space | 1827 | |||
.hword 32 @ Space | 1828 | |||
.hword 32 @ Space | 1829 | |||
.hword 32 @ Space | 1830 | |||
.hword 32 @ Space | 1831 | |||
.hword 32 @ Space | 1832 | |||
.hword 32 @ Space | 1833 | |||
.hword 32 @ Space | 1834 | |||
.hword 32 @ Space | 1835 | |||
.hword 32 @ Space | 1836 | |||
.hword 32 @ Space | 1837 | |||
.hword 32 @ Space | 1838 | |||
.hword 32 @ Space | 1839 | |||
.hword 32 @ Space | 1840 | |||
.hword 32 @ Space | 1841 | |||
.hword 32 @ Space | 1842 | |||
.hword 32 @ Space | 1843 | |||
.hword 32 @ Space | 1844 | |||
.hword 32 @ Space | 1845 | |||
.hword 32 @ Space | 1846 | |||
.hword 32 @ Space | 1847 | |||
.hword 32 @ Space | 1848 | |||
.hword 32 @ Space | 1849 | |||
.hword 32 @ Space | 1850 | |||
.hword 32 @ Space | 1851 | |||
.hword 32 @ Space | 1852 | |||
.hword 32 @ Space | 1853 | |||
.hword 32 @ Space | 1854 | |||
.hword 32 @ Space | 1855 | |||
.hword 32 @ Space | 1856 | |||
.hword 32 @ Space | 1857 | |||
@@ Row 27 | 1858 | |||
.hword 32 @ Space | 1859 | |||
.hword 32 @ Space | 1860 | |||
.hword 32 @ Space | 1861 | |||
.hword 32 @ Space | 1862 | |||
.hword 32 @ Space | 1863 | |||
.hword 32 @ Space | 1864 | |||
.hword 32 @ Space | 1865 | |||
.hword 32 @ Space | 1866 | |||
.hword 32 @ Space | 1867 | |||
.hword 32 @ Space | 1868 | |||
.hword 32 @ Space | 1869 | |||
.hword 32 @ Space | 1870 | |||
.hword 32 @ Space | 1871 | |||
.hword 32 @ Space | 1872 | |||
.hword 32 @ Space | 1873 | |||
.hword 32 @ Space | 1874 | |||
.hword 32 @ Space | 1875 | |||
.hword 32 @ Space | 1876 | |||
.hword 32 @ Space | 1877 | |||
.hword 32 @ Space | 1878 | |||
.hword 32 @ Space | 1879 | |||
.hword 32 @ Space | 1880 | |||
.hword 32 @ Space | 1881 | |||
.hword 32 @ Space | 1882 | |||
.hword 32 @ Space | 1883 | |||
.hword 32 @ Space | 1884 | |||
.hword 32 @ Space | 1885 | |||
.hword 32 @ Space | 1886 | |||
.hword 32 @ Space | 1887 | |||
.hword 32 @ Space | 1888 | |||
.hword 32 @ Space | 1889 | |||
.hword 32 @ Space | 1890 | |||
@@ Row 28 | 1891 | |||
.hword 32 @ Space | 1892 | |||
.hword 32 @ Space | 1893 | |||
.hword 32 @ Space | 1894 | |||
.hword 32 @ Space | 1895 | |||
.hword 32 @ Space | 1896 | |||
.hword 32 @ Space | 1897 | |||
.hword 32 @ Space | 1898 | |||
.hword 32 @ Space | 1899 | |||
.hword 32 @ Space | 1900 | |||
.hword 32 @ Space | 1901 | |||
.hword 32 @ Space | 1902 | |||
.hword 32 @ Space | 1903 | |||
.hword 32 @ Space | 1904 | |||
.hword 32 @ Space | 1905 | |||
.hword 32 @ Space | 1906 | |||
.hword 32 @ Space | 1907 | |||
.hword 32 @ Space | 1908 | |||
.hword 32 @ Space | 1909 | |||
.hword 32 @ Space | 1910 | |||
.hword 32 @ Space | 1911 | |||
.hword 32 @ Space | 1912 | |||
.hword 32 @ Space | 1913 | |||
.hword 32 @ Space | 1914 | |||
.hword 32 @ Space | 1915 | |||
.hword 32 @ Space | 1916 | |||
.hword 32 @ Space | 1917 | |||
.hword 32 @ Space | 1918 | |||
.hword 32 @ Space | 1919 | |||
.hword 32 @ Space | 1920 | |||
.hword 32 @ Space | 1921 | |||
.hword 32 @ Space | 1922 | |||
.hword 32 @ Space | 1923 | |||
@@ Row 29 | 1924 | |||
.hword 32 @ Space | 1925 | |||
.hword 32 @ Space | 1926 | |||
.hword 32 @ Space | 1927 | |||
.hword 32 @ Space | 1928 | |||
.hword 32 @ Space | 1929 | |||
.hword 32 @ Space | 1930 | |||
.hword 32 @ Space | 1931 | |||
.hword 32 @ Space | 1932 | |||
.hword 32 @ Space | 1933 | |||
.hword 32 @ Space | 1934 | |||
.hword 32 @ Space | 1935 | |||
.hword 32 @ Space | 1936 | |||
.hword 32 @ Space | 1937 | |||
.hword 32 @ Space | 1938 | |||
.hword 32 @ Space | 1939 | |||
.hword 32 @ Space | 1940 | |||
.hword 32 @ Space | 1941 | |||
.hword 32 @ Space | 1942 | |||
.hword 32 @ Space | 1943 | |||
.hword 32 @ Space | 1944 | |||
.hword 32 @ Space | 1945 | |||
.hword 32 @ Space | 1946 | |||
.hword 32 @ Space | 1947 | |||
.hword 32 @ Space | 1948 | |||
.hword 32 @ Space | 1949 | |||
.hword 32 @ Space | 1950 | |||
.hword 32 @ Space | 1951 | |||
.hword 32 @ Space | 1952 | |||
.hword 32 @ Space | 1953 | |||
.hword 32 @ Space | 1954 | |||
.hword 32 @ Space | 1955 | |||
.hword 32 @ Space | 1956 | |||
@@ Row 30 | 1957 | |||
.hword 32 @ Space | 1958 | |||
.hword 32 @ Space | 1959 | |||
.hword 32 @ Space | 1960 | |||
.hword 32 @ Space | 1961 | |||
.hword 32 @ Space | 1962 | |||
.hword 32 @ Space | 1963 | |||
.hword 32 @ Space | 1964 | |||
.hword 32 @ Space | 1965 | |||
.hword 32 @ Space | 1966 | |||
.hword 32 @ Space | 1967 | |||
.hword 32 @ Space | 1968 | |||
.hword 32 @ Space | 1969 | |||
.hword 32 @ Space | 1970 | |||
.hword 32 @ Space | 1971 | |||
.hword 32 @ Space | 1972 | |||
.hword 32 @ Space | 1973 | |||
.hword 32 @ Space | 1974 | |||
.hword 32 @ Space | 1975 | |||
.hword 32 @ Space | 1976 | |||
.hword 32 @ Space | 1977 | |||
.hword 32 @ Space | 1978 | |||
.hword 32 @ Space | 1979 | |||
.hword 32 @ Space | 1980 | |||
.hword 32 @ Space | 1981 | |||
.hword 32 @ Space | 1982 | |||
.hword 32 @ Space | 1983 | |||
.hword 32 @ Space | 1984 | |||
.hword 32 @ Space | 1985 | |||
.hword 32 @ Space | 1986 | |||
.hword 32 @ Space | 1987 | |||
.hword 32 @ Space | 1988 | |||
.hword 32 @ Space | 1989 | |||
@@ Row 31 | 1990 | |||
.hword 32 @ Space | 1991 | |||
.hword 32 @ Space | 1992 | |||
.hword 32 @ Space | 1993 | |||
.hword 32 @ Space | 1994 | |||
.hword 32 @ Space | 1995 | |||
.hword 32 @ Space | 1996 | |||
.hword 32 @ Space | 1997 | |||
.hword 32 @ Space | 1998 | |||
.hword 32 @ Space | 1999 | |||
.hword 32 @ Space | 2000 | |||
.hword 32 @ Space | 2001 | |||
.hword 32 @ Space | 2002 | |||
.hword 32 @ Space | 2003 | |||
.hword 32 @ Space | 2004 | |||
.hword 32 @ Space | 2005 | |||
.hword 32 @ Space | 2006 | |||
.hword 32 @ Space | 2007 | |||
.hword 32 @ Space | 2008 | |||
.hword 32 @ Space | 2009 | |||
.hword 32 @ Space | 2010 | |||
.hword 32 @ Space | 2011 | |||
.hword 32 @ Space | 2012 | |||
.hword 32 @ Space | 2013 | |||
.hword 32 @ Space | 2014 | |||
.hword 32 @ Space | 2015 | |||
.hword 32 @ Space | 2016 | |||
.hword 32 @ Space | 2017 | |||
.hword 32 @ Space | 2018 | |||
.hword 32 @ Space | 2019 | |||
.hword 32 @ Space | 2020 | |||
.hword 32 @ Space | 2021 | |||
.hword 32 @ Space | 2022 | |||
@@ | 2023 | |||
.hword 32 @ Space | 2024 | |||
.hword 32 @ Space | 2025 | |||
.hword 32 @ Space | 2026 | |||
.hword 32 @ Space | 2027 | |||
.hword 32 @ Space | 2028 | |||
.hword 32 @ Space | 2029 | |||
.hword 32 @ Space | 2030 | |||
.hword 32 @ Space | 2031 | |||
.hword 32 @ Space | 2032 | |||
.hword 32 @ Space | 2033 | |||
.hword 32 @ Space | 2034 | |||
.hword 32 @ Space | 2035 | |||
.hword 32 @ Space | 2036 | |||
.hword 32 @ Space | 2037 | |||
.hword 32 @ Space | 2038 | |||
.hword 32 @ Space | 2039 | |||
.hword 32 @ Space | 2040 | |||
.hword 32 @ Space | 2041 | |||
.hword 32 @ Space | 2042 | |||
.hword 32 @ Space | 2043 | |||
.hword 32 @ Space | 2044 | |||
.hword 32 @ Space | 2045 | |||
.hword 32 @ Space | 2046 | |||
.hword 32 @ Space | 2047 | |||
.hword 32 @ Space | 2048 | |||
.hword 32 @ Space | 2049 | |||
.hword 32 @ Space | 2050 | |||
.hword 32 @ Space | 2051 | |||
.hword 32 @ Space | 2052 | |||
.hword 32 @ Space | 2053 | |||
.hword 32 @ Space | 2054 | |||
.hword 32 @ Space | 2055 | |||
2056 | 93 | |||
setupBit: | 2057 | 94 | setupBit: | |
.hword 0b0000000000000001 @ Don't change unless you want the cursor to be offset wrong | 2058 | 95 | .hword 0b0000000000000001 @ Don't change unless you want the cursor to be offset wrong | |
soundRegUsage: | 2059 | 96 | soundRegUsage: | |
.hword 0 | 2060 | 97 | .hword 0 | |
@ vim: syntax=armasm | 2061 | 98 | @ vim: syntax=armasm | |
2062 | 99 | |||
src/gfx.s
View file @
46afb46
#include "defines.h" | 1 | 1 | #include "defines.h" | |
.arm | 2 | 2 | .arm | |
.align | 3 | 3 | .align | |
.text | 4 | 4 | .text | |
.global showText | 5 | 5 | .global showText | |
.global updateSetup | 6 | 6 | .global updateSetup | |
7 | 7 | |||
@@ | 8 | 8 | @@ | |
@ r11 = map flag | 9 | 9 | @ r11 = map flag | |
@@ | 10 | 10 | @@ | |
showText: | 11 | 11 | showText: | |
push {r0-r10,r12,lr} | 12 | 12 | push {r0-r10,r12,lr} | |
13 | 13 | |||
@ Wait for VBlank before we continue | 14 | 14 | @ Wait for VBlank before we continue | |
swi 0x50000 | 15 | 15 | swi 0x50000 | |
16 | 16 | |||
mov r0, #PAL_RAM | 17 | 17 | mov r0, #PAL_RAM | |
ldr r1, =fontPAL | 18 | 18 | ldr r1, =fontPAL | |
mov r2, #1 | 19 | 19 | mov r2, #1 | |
@ Load the palette | 20 | 20 | @ Load the palette | |
fontPALLoop: | 21 | 21 | fontPALLoop: | |
ldmia r1!, { r3,r4,r5,r6,r7,r8,r9,r10 } | 22 | 22 | ldmia r1!, { r3,r4,r5,r6,r7,r8,r9,r10 } | |
stmia r0!, { r3,r4,r5,r6,r7,r8,r9,r10 } | 23 | 23 | stmia r0!, { r3,r4,r5,r6,r7,r8,r9,r10 } | |
subs r2, r2, #1 | 24 | 24 | subs r2, r2, #1 | |
bne fontPALLoop | 25 | 25 | bne fontPALLoop | |
ldr r0, =VRAM | 26 | 26 | ldr r0, =VRAM | |
ldr r1, =fontBMP | 27 | 27 | ldr r1, =fontBMP | |
mov r2, #0x82 | 28 | 28 | mov r2, #0x82 | |
@ Load the bitmap | 29 | 29 | @ Load the bitmap | |
fontBMPLoop: | 30 | 30 | fontBMPLoop: | |
ldmia r1!, { r3,r4,r5,r6,r7,r8,r9,r10 } | 31 | 31 | ldmia r1!, { r3,r4,r5,r6,r7,r8,r9,r10 } | |
stmia r0!, { r3,r4,r5,r6,r7,r8,r9,r10 } | 32 | 32 | stmia r0!, { r3,r4,r5,r6,r7,r8,r9,r10 } | |
subs r2, r2, #1 | 33 | 33 | subs r2, r2, #1 | |
bne fontBMPLoop | 34 | 34 | bne fontBMPLoop | |
35 | 35 | |||
@ prepare to load tile map into VRAM | 36 | 36 | @ prepare to load tile map into VRAM | |
textLoad: | 37 | 37 | textLoad: | |
ldr r0, =BG2CNT | 38 | 38 | ldr r0, =BG2CNT | |
ldr r1, =0b000001000000000000 | 39 | 39 | ldr r1, =0b000001000000000000 | |
strh r1, [r0] | 40 | 40 | strh r1, [r0] | |
textMap: | 41 | 41 | textMap: | |
@ Load the appropriate screen into the Background 2 map | 42 | 42 | @ Load the appropriate screen into the Background 2 map | |
ldr r0, =0x06008000 @ BG2 Map Location | 43 | 43 | ldr r0, =0x06008000 @ BG2 Map Location | |
@ zero means setup, anything else is the synth | 44 | 44 | @ zero means setup, anything else is the synth | |
cmp r11, #0 | 45 | 45 | cmp r11, #0 | |
ldreq r1, =setupText | 46 | 46 | ldreq r1, =setupText | |
ldrne r1, =synthText | 47 | 47 | ldrne r1, =synthText | |
mov r12, #1024 | 48 | 48 | mov r12, #1024 | |
@ Load the tile map into VRAM | 49 | 49 | @ Load the tile map into VRAM | |
textMapLoop: | 50 | 50 | textMapLoop: | |
ldrh r3, [r1],#2 | 51 | 51 | ldrb r3, [r1],#1 | |
strh r3, [r0],#2 | 52 | 52 | strh r3, [r0],#2 | |
subs r12, r12,#1 | 53 | 53 | subs r12, r12,#1 | |
bne textMapLoop | 54 | 54 | bne textMapLoop | |
pop {r0-r10,r12,lr} | 55 | 55 | pop {r0-r10,r12,lr} | |
bx lr | 56 | 56 | bx lr | |
57 | 57 | |||
binaryLocate: @ returns address of b in r5 | 58 | 58 | binaryLocate: @ returns address of b in r5 | |
push {r0-r4,r6-r12,lr} | 59 | 59 | push {r0-r4,r6-r12,lr} | |
ldr r5, =setupText @ Load setup bg map | 60 | 60 | ldr r5, =setupText @ Load setup bg map | |
binaryLocateLoop: | 61 | 61 | binaryLocateLoop: | |
ldrh r0,[r5],#2 | 62 | 62 | ldrb r0,[r5],#1 | |
cmp r0,#98 | 63 | 63 | cmp r0,#98 | |
bne binaryLocateLoop | 64 | 64 | bne binaryLocateLoop | |
sub r5, r5, #2 | 65 | 65 | sub r5, r5, #1 | |
pop {r0-r4,r6-r12,lr} | 66 | 66 | pop {r0-r4,r6-r12,lr} | |
bx lr | 67 | 67 | bx lr | |
68 | 68 | |||
updateSetup: @ updates the bg map to show the correct bits on the screen | 69 | 69 | updateSetup: @ updates the bg map to show the correct bits on the screen | |
push {r0-r12,lr} | 70 | 70 | push {r0-r12,lr} | |
ldr r0, =notesettings | 71 | 71 | ldr r0, =notesettings | |
ldrh r2,[r0] | 72 | 72 | ldrh r2,[r0] | |
eor r1, r1, r1 | 73 | 73 | eor r1, r1, r1 | |
bl binaryLocate | 74 | 74 | bl binaryLocate | |
add r5, r5, #32 @ r5 is bit 0, sub 2 to move down a bit | 75 | 75 | add r5, r5, #16 @ r5 is bit 0, sub 2 to move down a bit | |
updateLoop: | 76 | 76 | updateLoop: | |
77 | 77 | |||
and r3, r2, #1 @ get bit to test | 78 | 78 | and r3, r2, #1 @ get bit to test | |
mov r2, r2, ROR #1 @ move r2 to next bit we will need | 79 | 79 | mov r2, r2, ROR #1 @ move r2 to next bit we will need | |
tst r3, #1 | 80 | 80 | tst r3, #1 | |
movne r4, #49 @ 49 is the code for "1" | 81 | 81 | movne r4, #49 @ 49 is the code for "1" | |
moveq r4, #48 @ 48 is the code for "0" | 82 | 82 | moveq r4, #48 @ 48 is the code for "0" | |
strh r4, [r5] @ update the bg map | 83 | 83 | strb r4, [r5] @ update the bg map | |
84 | 84 | |||
sub r5, r5, #2 @ next entry to update | 85 | 85 | sub r5, r5, #1 @ next entry to update | |
add r1, #1 | 86 | 86 | add r1, #1 | |
cmp r1, #16 | 87 | 87 | cmp r1, #16 | |
88 | 88 | |||
bne updateLoop | 89 | 89 | bne updateLoop | |
90 | 90 | |||
bl displayLengthFlag | 91 | 91 | bl displayLengthFlag |
src/setup.s
View file @
46afb46
.arm | 1 | 1 | .arm | |
.align | 2 | 2 | .align | |
.text | 3 | 3 | .text | |
4 | 4 | |||
.global keyCheckSetup | 5 | 5 | .global keyCheckSetup | |
.global displayLengthFlag | 6 | 6 | .global displayLengthFlag | |
7 | 7 | |||
#include "defines.h" | 8 | 8 | #include "defines.h" | |
9 | 9 | |||
cursorLocate: @ returns address of ^ in r5 | 10 | 10 | cursorLocate: @ returns address of ^ in r5 | |
push {r0-r4,r6-r12,lr} | 11 | 11 | push {r0-r4,r6-r12,lr} | |
ldr r5, =setupText @ Load setup bg map | 12 | 12 | ldr r5, =setupText @ Load setup bg map | |
cursorLocateLoop: | 13 | 13 | cursorLocateLoop: | |
ldrh r0,[r5],#2 | 14 | 14 | ldrb r0,[r5],#1 | |
cmp r0,#94 | 15 | 15 | cmp r0,#94 | |
bne cursorLocateLoop | 16 | 16 | bne cursorLocateLoop | |
sub r5, r5, #2 | 17 | 17 | sub r5, r5, #1 | |
pop {r0-r4,r6-r12,lr} | 18 | 18 | pop {r0-r4,r6-r12,lr} | |
bx lr | 19 | 19 | bx lr | |
20 | 20 | |||
cursorJump: | 21 | 21 | cursorJump: | |
push {r0-r12} | 22 | 22 | push {r0-r12} | |
23 | 23 | |||
mov r0,#32 | 24 | 24 | mov r0,#14 | |
strh r0,[r5] @ erase cursor | 25 | 25 | strb r0,[r5] @ erase cursor | |
26 | 26 | |||
cmp r4,#4 | 27 | 27 | cmp r4,#4 | |
addeq r5,r5,#30 @redraw in proper place | 28 | 28 | addeq r5,r5,#15 @redraw in proper place | |
moveq r2,#0x0001 | 29 | 29 | moveq r2,#0x0001 | |
subne r5,r5,#30 | 30 | 30 | subne r5,r5,#15 | |
movne r2,#0x8000 | 31 | 31 | movne r2,#0x8000 | |
mov r0,#94 | 32 | 32 | mov r0,#94 | |
strh r0,[r5] | 33 | 33 | strb r0,[r5] | |
strh r2,[r1] | 34 | 34 | strh r2,[r1] | |
35 | 35 | |||
36 | 36 | |||
pop {r0-r12} | 37 | 37 | pop {r0-r12} | |
b cursorMoveExit | 38 | 38 | b cursorMoveExit | |
39 | 39 | |||
cursorMove: | 40 | 40 | cursorMove: | |
push {r0-r12,lr} | 41 | 41 | push {r0-r12,lr} | |
42 | 42 | |||
bl keySet @ marks key as down | 43 | 43 | bl keySet @ marks key as down | |
cmp r7, #1 | 44 | 44 | cmp r7, #1 | |
beq cursorMoveExit @ branch if down keeping cursor in place if key is held | 45 | 45 | beq cursorMoveExit @ branch if down keeping cursor in place if key is held | |
46 | 46 | |||
@@@ Do cursor processes to move if tests are passed | 47 | 47 | @@@ Do cursor processes to move if tests are passed | |
bl cursorLocate @ returns cursor address in r5 | 48 | 48 | bl cursorLocate @ returns cursor address in r5 | |
49 | 49 | |||
ldr r1, =setupBit @ Load setupBit so se can keep track of what bit we're editing | 50 | 50 | ldr r1, =setupBit @ Load setupBit so se can keep track of what bit we're editing | |
ldrh r2, [r1] @ | and make sure we aren't exceeding bounds | 51 | 51 | ldrh r2, [r1] @ | and make sure we aren't exceeding bounds | |
cmp r4, #4 @ | | 52 | 52 | cmp r4, #4 @ | | |
cmpeq r2, #0x8000 @ | | 53 | 53 | cmpeq r2, #0x8000 @ | | |
beq cursorJump @ | | 54 | 54 | beq cursorJump @ | | |
cmp r4, #12 @ | | 55 | 55 | cmp r4, #12 @ | | |
cmpeq r2, #0x0001 @ | | 56 | 56 | cmpeq r2, #0x0001 @ | | |
beq cursorJump @ / | 57 | 57 | beq cursorJump @ / | |
58 | 58 | |||
mov r0, #32 @ erase current location of ^ | 59 | 59 | mov r0, #16 @ erase current location of ^ | |
strh r0, [r5] @ / | 60 | 60 | strb r0, [r5] @ / | |
cmp r4, #4 @ Draw new position of ^ and keep track of current bit | 61 | 61 | cmp r4, #4 @ Draw new position of ^ and keep track of current bit | |
subeq r5, r5, #2 @ | | 62 | 62 | subeq r5, r5, #1 @ | | |
moveq r2, r2, LSL #1 @ | | 63 | 63 | moveq r2, r2, LSL #1 @ | | |
addne r5, r5, #2 @ | | 64 | 64 | addne r5, r5, #1 @ | | |
movne r2, r2, LSR #1 @ | | 65 | 65 | movne r2, r2, LSR #1 @ | | |
mov r0, #94 @ | | 66 | 66 | mov r0, #94 @ | | |
strh r0, [r5] @ | | 67 | 67 | strb r0, [r5] @ | | |
strh r2, [r1] @ / | 68 | 68 | strh r2, [r1] @ / | |
69 | 69 | |||
70 | 70 | |||
cursorMoveExit: | 71 | 71 | cursorMoveExit: | |
pop {r0-r12,lr} | 72 | 72 | pop {r0-r12,lr} | |
bx lr | 73 | 73 | bx lr | |
74 | 74 | |||
75 | 75 | |||
flipBit: @ changes a 1 to a 0 and a 0 to a 1 | 76 | 76 | flipBit: @ changes a 1 to a 0 and a 0 to a 1 | |
push {r0-r12,lr} | 77 | 77 | push {r0-r12,lr} | |
78 | 78 | |||
bl keySet @ marks key as down | 79 | 79 | bl keySet @ marks key as down | |
cmp r7, #1 | 80 | 80 | cmp r7, #1 | |
beq flipBitExit @ branch if down keeping cursor in place if key is held | 81 | 81 | beq flipBitExit @ branch if down keeping cursor in place if key is held | |
82 | 82 | |||
83 | 83 | |||
ldr r0, =setupBit | 84 | 84 | ldr r0, =setupBit | |
ldrh r0, [r0] | 85 | 85 | ldrh r0, [r0] | |
ldr r1, =notesettings | 86 | 86 | ldr r1, =notesettings | |
ldrh r2, [r1] | 87 | 87 | ldrh r2, [r1] | |
88 | 88 | |||
eor r2, r2, r0 @ isolate the bit to flip | 89 | 89 | eor r2, r2, r0 @ isolate the bit to flip | |
strh r2, [r1] @ store it | 90 | 90 | strh r2, [r1] @ store it | |
flipBitExit: | 91 | 91 | flipBitExit: | |
pop {r0-r12,lr} | 92 | 92 | pop {r0-r12,lr} | |
bx lr | 93 | 93 | bx lr | |
94 | 94 | |||
keyClear: | 95 | 95 | keyClear: | |
push {r0-r12,lr} | 96 | 96 | push {r0-r12,lr} | |
ldr r6,=keystates | 97 | 97 | ldr r6,=keystates | |
mov r0,#0 | 98 | 98 | mov r0,#0 | |
str r0,[r6,r4] | 99 | 99 | str r0,[r6,r4] | |
pop {r0-r12,lr} | 100 | 100 | pop {r0-r12,lr} | |
bx lr | 101 | 101 | bx lr | |
102 | 102 | |||
keySet: @ marks key as down | 103 | 103 | keySet: @ marks key as down | |
push {r0-r6,r8-r12,lr} | 104 | 104 | push {r0-r6,r8-r12,lr} | |
ldr r6,=keystates | 105 | 105 | ldr r6,=keystates | |
ldr r0,[r6,r4] @@ set key used flag | 106 | 106 | ldr r0,[r6,r4] @@ set key used flag | |
cmp r0,#1 | 107 | 107 | cmp r0,#1 | |
moveq r7,#1 | 108 | 108 | moveq r7,#1 | |
mov r0,#1 | 109 | 109 | mov r0,#1 | |
str r0,[r6,r4] | 110 | 110 | str r0,[r6,r4] | |
pop {r0-r6,r8-r12,lr} | 111 | 111 | pop {r0-r6,r8-r12,lr} | |
bx lr | 112 | 112 | bx lr | |
113 | 113 | |||
@@@@@@@@ | 114 | 114 | @@@@@@@@ | |
@ | 115 | 115 | @ | |
@ r4=offset for keystates and notes | 116 | 116 | @ r4=offset for keystates and notes | |
@ | 117 | 117 | @ | |
@@@@@@@@ | 118 | 118 | @@@@@@@@ | |
keyCheckSetup: @ Load keycheck routine and also call respective handlers | 119 | 119 | keyCheckSetup: @ Load keycheck routine and also call respective handlers | |
push {r0-r12,lr} @ Save link reg | 120 | 120 | push {r0-r12,lr} @ Save link reg | |
ldr r0, =KEYINPUT | 121 | 121 | ldr r0, =KEYINPUT | |
ldrh r1, [r0] | 122 | 122 | ldrh r1, [r0] | |
123 | 123 | |||
@@@ Change Settings / Move Cursor | 124 | 124 | @@@ Change Settings / Move Cursor | |
mov r4, #4 @ keystates offset for key | 125 | 125 | mov r4, #4 @ keystates offset for key | |
ands r0, r1, #0b100000 @ AND key left | 126 | 126 | ands r0, r1, #0b100000 @ AND key left | |
blne keyClear | 127 | 127 | blne keyClear | |
bleq cursorMove | 128 | 128 | bleq cursorMove | |
129 | 129 | |||
mov r4, #12 @ keystates offset for key | 130 | 130 | mov r4, #12 @ keystates offset for key | |
ands r0, r1, #0b10000 @ AND key right | 131 | 131 | ands r0, r1, #0b10000 @ AND key right | |
blne keyClear | 132 | 132 | blne keyClear | |
bleq cursorMove | 133 | 133 | bleq cursorMove | |
134 | 134 | |||
mov r4, #24 @ keystates offset for key | 135 | 135 | mov r4, #24 @ keystates offset for key | |
ands r0, r1, #0b1 @ AND key A | 136 | 136 | ands r0, r1, #0b1 @ AND key A | |
blne keyClear | 137 | 137 | blne keyClear | |
bleq flipBit | 138 | 138 | bleq flipBit | |
139 | 139 | |||
@@@ Start | 140 | 140 | @@@ Start | |
mov r4, #36 | 141 | 141 | mov r4, #36 | |
ands r0, r1, #0b1000 @ key start | 142 | 142 | ands r0, r1, #0b1000 @ key start | |
blne keyClear | 143 | 143 | blne keyClear | |
bleq keySet | 144 | 144 | bleq keySet | |
beq synth | 145 | 145 | beq synth | |
146 | 146 | |||
@@@ Length Flag | 147 | 147 | @@@ Length Flag | |
mov r4, #20 | 148 | 148 | mov r4, #20 | |
ands r0, r1, #0b10 @ AND key select | 149 | 149 | ands r0, r1, #0b10 @ AND key select | |
blne keyClear | 150 | 150 | blne keyClear | |
bleq flipLengthFlag | 151 | 151 | bleq flipLengthFlag | |
152 | 152 | |||
153 | 153 | |||
pop {r0-r12,lr} @ Recover link reg | 154 | 154 | pop {r0-r12,lr} @ Recover link reg | |
bx lr | 155 | 155 | bx lr | |
156 | 156 | |||
flipLengthFlag: | 157 | 157 | flipLengthFlag: | |
push {r0-r12,lr} | 158 | 158 | push {r0-r12,lr} | |
bleq keySet | 159 | 159 | bleq keySet | |
cmp r7,#1 | 160 | 160 | cmp r7,#1 | |
beq flipLengthFlagExit | 161 | 161 | beq flipLengthFlagExit | |
162 | 162 | |||
ldr r0,=notesettings @ Toggle bit | 163 | 163 | ldr r0,=notesettings @ Toggle bit | |
ldrh r1,[r0,#4] | 164 | 164 | ldrh r1,[r0,#4] | |
cmp r1,#0 | 165 | 165 | cmp r1,#0 | |
moveq r3,#1 | 166 | 166 | moveq r3,#1 | |
movne r3,#0 | 167 | 167 | movne r3,#0 | |
strh r3,[r0,#4] | 168 | 168 | strh r3,[r0,#4] | |
169 | 169 | |||
ldr r0,=REG_SOUND1CNT_X | 170 | 170 | ldr r0,=REG_SOUND1CNT_X | |
ldr r2,=REG_SOUND2CNT_H | 171 | 171 | ldr r2,=REG_SOUND2CNT_H | |
ldrh r1,[r0] | 172 | 172 | ldrh r1,[r0] | |
orreq r1,r1,#0b100000000000000 | 173 | 173 | orreq r1,r1,#0b100000000000000 | |
eorne r1,r1,#0b100000000000000 | 174 | 174 | eorne r1,r1,#0b100000000000000 | |
strh r1,[r0] | 175 | 175 | strh r1,[r0] |
src/synth.s
View file @
46afb46
#include "defines.h" | 1 | 1 | #include "defines.h" | |
.arm | 2 | 2 | .arm | |
.align | 3 | 3 | .align | |
.text | 4 | 4 | .text | |
5 | 5 | |||
.global keyCheckSynth | 6 | 6 | .global keyCheckSynth | |
.global displayData | 7 | 7 | .global displayData | |
8 | 8 | |||
notePlay: | 9 | 9 | notePlay: | |
push {r0-r12,lr} | 10 | 10 | push {r0-r12,lr} | |
ldr r0,[r6,r4] @@ set key used flag | 11 | 11 | ldr r0,[r6,r4] @@ set key used flag | |
cmp r0,#1 | 12 | 12 | cmp r0,#1 | |
beq notePlayExit | 13 | 13 | beq notePlayExit | |
mov r0,#1 | 14 | 14 | mov r0,#1 | |
str r0,[r6,r4] | 15 | 15 | str r0,[r6,r4] | |
ldr r7,=soundRegUsage @@ holds info about what sound registers are used | 16 | 16 | ldr r7,=soundRegUsage @@ holds info about what sound registers are used | |
ldrh r0,[r7] | 17 | 17 | ldrh r0,[r7] | |
eors r0, r0, #1 | 18 | 18 | eors r0, r0, #1 | |
strh r0,[r7] | 19 | 19 | strh r0,[r7] | |
ldrh r5, [r5, r4] @ Load Note | 20 | 20 | ldrh r5, [r5, r4] @ Load Note | |
21 | 21 | |||
ldreq r1,=REG_SOUND1CNT_H | 22 | 22 | ldreq r1,=REG_SOUND1CNT_H | |
ldrne r1,=REG_SOUND2CNT_L | 23 | 23 | ldrne r1,=REG_SOUND2CNT_L | |
ldr r2,=notesettings | 24 | 24 | ldr r2,=notesettings | |
ldrh r3,[r2] | 25 | 25 | ldrh r3,[r2] | |
strh r3,[r1] | 26 | 26 | strh r3,[r1] | |
ldreq r1,=REG_SOUND1CNT_X | 27 | 27 | ldreq r1,=REG_SOUND1CNT_X | |
ldrne r1,=REG_SOUND2CNT_H | 28 | 28 | ldrne r1,=REG_SOUND2CNT_H | |
ldrh r3, [r2,#2] @ get note settings | 29 | 29 | ldrh r3, [r2,#2] @ get note settings | |
mov r0, r5 | 30 | 30 | mov r0, r5 | |
orr r0, r3, r5 | 31 | 31 | orr r0, r3, r5 | |
ldrh r3,[r2,#4] | 32 | 32 | ldrh r3,[r2,#4] | |
cmp r3,#0 | 33 | 33 | cmp r3,#0 | |
orrne r0,r0,#0b100000000000000 | 34 | 34 | orrne r0,r0,#0b100000000000000 | |
str r0,[r1] | 35 | 35 | str r0,[r1] | |
36 | 36 | |||
notePlayExit: | 37 | 37 | notePlayExit: | |
pop {r0-r12,lr} | 38 | 38 | pop {r0-r12,lr} | |
bx lr | 39 | 39 | bx lr | |
40 | 40 | |||
41 | 41 | |||
keyClear: | 42 | 42 | keyClear: | |
push {r0-r12,lr} | 43 | 43 | push {r0-r12,lr} | |
mov r0,#0 | 44 | 44 | mov r0,#0 | |
str r0,[r6,r4] | 45 | 45 | str r0,[r6,r4] | |
pop {r0-r12,lr} | 46 | 46 | pop {r0-r12,lr} | |
bx lr | 47 | 47 | bx lr | |
48 | 48 | |||
@@@@@@@@ | 49 | 49 | @@@@@@@@ | |
@ | 50 | 50 | @ | |
@ r4=offset for keystates and notes | 51 | 51 | @ r4=offset for keystates and notes | |
@ | 52 | 52 | @ | |
@@@@@@@@ | 53 | 53 | @@@@@@@@ | |
keyCheckSynth: @ Load keycheck routine and also call respective handlers | 54 | 54 | keyCheckSynth: @ Load keycheck routine and also call respective handlers | |
push {r0-r12,lr} @ Save link reg | 55 | 55 | push {r0-r12,lr} @ Save link reg | |
ldr r0, =KEYINPUT | 56 | 56 | ldr r0, =KEYINPUT | |
ldr r1, [r0] | 57 | 57 | ldr r1, [r0] | |
58 | 58 | |||
ldr r6,=keystates | 59 | 59 | ldr r6,=keystates | |
bl getScale | 60 | 60 | bl getScale | |
61 | 61 | |||
@@@ setup | 62 | 62 | @@@ setup | |
ands r0,r1,#0b100 | 63 | 63 | ands r0,r1,#0b100 | |
beq settingChange | 64 | 64 | beq settingChange | |
65 | 65 | |||
@@@ Play Notes | 66 | 66 | @@@ Play Notes | |
mov r4, #0 @ keystates offset for key | 67 | 67 | mov r4, #0 @ keystates offset for key | |
ands r0, r1, #0b1000000000 @ AND key L | 68 | 68 | ands r0, r1, #0b1000000000 @ AND key L | |
blne keyClear | 69 | 69 | blne keyClear | |
bleq notePlay | 70 | 70 | bleq notePlay | |
mov r4, #4 @ keystates offset for key | 71 | 71 | mov r4, #4 @ keystates offset for key | |
ands r0, r1, #0b100000 @ AND key left | 72 | 72 | ands r0, r1, #0b100000 @ AND key left | |
blne keyClear | 73 | 73 | blne keyClear | |
bleq notePlay | 74 | 74 | bleq notePlay | |
mov r4, #8 @ keystates offset for key | 75 | 75 | mov r4, #8 @ keystates offset for key | |
ands r0, r1, #0b10000000 @ AND key down | 76 | 76 | ands r0, r1, #0b10000000 @ AND key down | |
blne keyClear | 77 | 77 | blne keyClear | |
bleq notePlay | 78 | 78 | bleq notePlay | |
mov r4, #12 @ keystates offset for key | 79 | 79 | mov r4, #12 @ keystates offset for key | |
ands r0, r1, #0b10000 @ AND key right | 80 | 80 | ands r0, r1, #0b10000 @ AND key right | |
blne keyClear | 81 | 81 | blne keyClear | |
bleq notePlay | 82 | 82 | bleq notePlay | |
mov r4, #16 @ keystates offset for key | 83 | 83 | mov r4, #16 @ keystates offset for key | |
ands r0, r1, #0b1000000 @ AND key up | 84 | 84 | ands r0, r1, #0b1000000 @ AND key up | |
blne keyClear | 85 | 85 | blne keyClear | |
bleq notePlay | 86 | 86 | bleq notePlay | |
mov r4, #20 @ keystates offset for key | 87 | 87 | mov r4, #20 @ keystates offset for key | |
ands r0, r1, #0b10 @ AND key B | 88 | 88 | ands r0, r1, #0b10 @ AND key B | |
blne keyClear | 89 | 89 | blne keyClear | |
bleq notePlay | 90 | 90 | bleq notePlay | |
mov r4, #24 @ keystates offset for key | 91 | 91 | mov r4, #24 @ keystates offset for key | |
ands r0, r1, #0b1 @ AND key A | 92 | 92 | ands r0, r1, #0b1 @ AND key A | |
blne keyClear | 93 | 93 | blne keyClear | |
bleq notePlay | 94 | 94 | bleq notePlay | |
mov r4, #28 @ keystates offset for key | 95 | 95 | mov r4, #28 @ keystates offset for key | |
ands r0, r1, #0b100000000 @ AND key R | 96 | 96 | ands r0, r1, #0b100000000 @ AND key R | |
blne keyClear | 97 | 97 | blne keyClear | |
bleq notePlay | 98 | 98 | bleq notePlay | |
pop {r0-r12,lr} @ Recover link reg | 99 | 99 | pop {r0-r12,lr} @ Recover link reg | |
bx lr | 100 | 100 | bx lr | |
101 | 101 | |||
@@ While Select is held settings can be changed | 102 | 102 | @@ While Select is held settings can be changed | |
settingChange: | 103 | 103 | settingChange: | |
ldr r0,=0b1100000100 | 104 | 104 | ldr r0,=0b1100000100 | |
ands r0,r1,r0 @ A+B+start+select = Reset | 105 | 105 | ands r0,r1,r0 @ L+R+Select = Setup Menu | |
swieq 0x00000 | 106 | 106 | swieq 0x00000 | |
107 | 107 | |||
mov r4, #36 | 108 | 108 | mov r4, #36 | |
ands r0, r1, #0b1 @ A = toggle Major/Minor | 109 | 109 | ands r0, r1, #0b1000 @ A = toggle Major/Minor | |
blne keyClear | 110 | 110 | blne keyClear | |
bleq toggleMajMin | 111 | 111 | bleq toggleMajMin | |
112 | 112 | |||
mov r4, #16 | 113 | 113 | mov r4, #16 | |
ands r0, r1, #0b1000000 @ AND key up | 114 | 114 | ands r0, r1, #0b1000000 @ AND key up | |
blne keyClear | 115 | 115 | blne keyClear | |
bleq octaveUp | 116 | 116 | bleq octaveUp | |
mov r4, #8 | 117 | 117 | mov r4, #8 | |
ands r0, r1, #0b10000000 @ AND key down | 118 | 118 | ands r0, r1, #0b10000000 @ AND key down | |
blne keyClear | 119 | 119 | blne keyClear | |
bleq octaveDown | 120 | 120 | bleq octaveDown | |
mov r4, #12 | 121 | 121 | mov r4, #12 | |
ands r0, r1, #0b10000 @ AND key right | 122 | 122 | ands r0, r1, #0b10000 @ AND key right | |
blne keyClear | 123 | 123 | blne keyClear | |
bleq musicalkeyUp | 124 | 124 | bleq musicalkeyUp | |
mov r4, #4 | 125 | 125 | mov r4, #4 | |
ands r0, r1, #0b100000 @ AND key left | 126 | 126 | ands r0, r1, #0b100000 @ AND key left | |
blne keyClear | 127 | 127 | blne keyClear | |
bleq musicalkeyDown | 128 | 128 | bleq musicalkeyDown | |
pop {r0-r12,lr} @ Recover link reg | 129 | 129 | pop {r0-r12,lr} @ Recover link reg | |
bx lr | 130 | 130 | bx lr | |
131 | 131 | |||
toggleMajMin: @ toggle major minor flag | 132 | 132 | toggleMajMin: @ toggle major minor flag | |
push {r0-r12,lr} | 133 | 133 | push {r0-r12,lr} | |
ldr r0,[r6,r4] @ Checks if held | 134 | 134 | ldr r0,[r6,r4] @ Checks if held | |
cmp r0,#1 | 135 | 135 | cmp r0,#1 | |
bxeq lr | 136 | 136 | bxeq lr | |
mov r0,#1 | 137 | 137 | mov r0,#1 | |
str r0,[r6,r4] | 138 | 138 | str r0,[r6,r4] | |
ldr r0,=key | 139 | 139 | ldr r0,=key | |
ldr r1,[r0,#4] | 140 | 140 | ldr r1,[r0,#4] | |
cmp r1,#0 | 141 | 141 | cmp r1,#0 | |
moveq r1,#1 | 142 | 142 | moveq r1,#1 | |
movne r1,#0 | 143 | 143 | movne r1,#0 | |
str r1,[r0,#4] | 144 | 144 | str r1,[r0,#4] | |
pop {r0-r12,lr} | 145 | 145 | pop {r0-r12,lr} | |
146 | 146 | |||
getScale: | 147 | 147 | getScale: | |
push {r0-r4,r6-r12,lr} | 148 | 148 | push {r0-r4,r6-r12,lr} | |
ldr r0,=key @ load address of key variable | 149 | 149 | ldr r0,=key @ load address of key variable | |
ldr r0,[r0,#4] @ load maj/min flag | 150 | 150 | ldr r0,[r0,#4] @ load maj/min flag | |
cmp r0,#0 @ 0 = major | 151 | 151 | cmp r0,#0 @ 0 = major | |
beq getMajScale @ branch to getMajScale if == | 152 | 152 | beq getMajScale @ branch to getMajScale if == | |
bne getMinScale @ branch to getMinSvale otherwise | 153 | 153 | bne getMinScale @ branch to getMinSvale otherwise | |
154 | 154 | |||
getMajScale: | 155 | 155 | getMajScale: | |
ldr r0, =key | 156 | 156 | ldr r0, =key | |
ldr r1, [r0] | 157 | 157 | ldr r1, [r0] | |
cmp r1, #0 @ if r1 = 0 get Cmaj | 158 | 158 | cmp r1, #0 @ if r1 = 0 get Cmaj | |
bleq getCmaj | 159 | 159 | bleq getCmaj | |
cmp r1, #1 @ if r1 = 1 get Gmaj | 160 | 160 | cmp r1, #1 @ if r1 = 1 get Gmaj | |
bleq getGmaj | 161 | 161 | bleq getGmaj | |
cmp r1, #2 @ Dmaj | 162 | 162 | cmp r1, #2 @ Dmaj | |
bleq getDmaj | 163 | 163 | bleq getDmaj | |
cmp r1, #3 @ Amaj | 164 | 164 | cmp r1, #3 @ Amaj | |
bleq getAmaj | 165 | 165 | bleq getAmaj | |
cmp r1, #4 @ Emaj | 166 | 166 | cmp r1, #4 @ Emaj | |
bleq getEmaj | 167 | 167 | bleq getEmaj | |
cmp r1, #5 @ Bmaj | 168 | 168 | cmp r1, #5 @ Bmaj | |
bleq getBmaj | 169 | 169 | bleq getBmaj | |
cmp r1, #6 @ F#maj | 170 | 170 | cmp r1, #6 @ F#maj | |
bleq getFsharpmaj | 171 | 171 | bleq getFsharpmaj | |
cmp r1, #7 @ C#maj | 172 | 172 | cmp r1, #7 @ C#maj | |
bleq getCsharpmaj | 173 | 173 | bleq getCsharpmaj | |
cmp r1, #8 @ Fmaj | 174 | 174 | cmp r1, #8 @ Fmaj | |
bleq getFmaj | 175 | 175 | bleq getFmaj | |
cmp r1, #9 @ Bflatmaj | 176 | 176 | cmp r1, #9 @ Bflatmaj | |
bleq getBflatmaj | 177 | 177 | bleq getBflatmaj | |
cmp r1, #10 @ Eflatmaj | 178 | 178 | cmp r1, #10 @ Eflatmaj | |
bleq getEflatmaj | 179 | 179 | bleq getEflatmaj | |
cmp r1, #11 @ Aflatmaj | 180 | 180 | cmp r1, #11 @ Aflatmaj | |
bleq getAflatmaj | 181 | 181 | bleq getAflatmaj | |
cmp r1, #12 @ Dflatmaj | 182 | 182 | cmp r1, #12 @ Dflatmaj | |
bleq getDflatmaj | 183 | 183 | bleq getDflatmaj | |
cmp r1, #13 @ Gflatmaj | 184 | 184 | cmp r1, #13 @ Gflatmaj | |
bleq getGflatmaj | 185 | 185 | bleq getGflatmaj | |
cmp r1, #14 @ Cflatmaj | 186 | 186 | cmp r1, #14 @ Cflatmaj | |
bleq getCflatmaj | 187 | 187 | bleq getCflatmaj | |
pop {r0-r4,r6-r12,lr} | 188 | 188 | pop {r0-r4,r6-r12,lr} | |
bx lr | 189 | 189 | bx lr | |
190 | 190 | |||
getMinScale: | 191 | 191 | getMinScale: | |
ldr r0, =key | 192 | 192 | ldr r0, =key | |
ldr r1, [r0] | 193 | 193 | ldr r1, [r0] | |
cmp r1, #0 @ if r1 = 0 get Amin | 194 | 194 | cmp r1, #0 @ if r1 = 0 get Amin | |
bleq getAmin | 195 | 195 | bleq getAmin | |
cmp r1, #1 @ if r1 = 1 get Emin | 196 | 196 | cmp r1, #1 @ if r1 = 1 get Emin | |
bleq getEmin | 197 | 197 | bleq getEmin | |
cmp r1, #2 @ Bmin | 198 | 198 | cmp r1, #2 @ Bmin | |
bleq getBmin | 199 | 199 | bleq getBmin | |
cmp r1, #3 @ F#min | 200 | 200 | cmp r1, #3 @ F#min | |
bleq getFsharpmin | 201 | 201 | bleq getFsharpmin | |
cmp r1, #4 @ C#min | 202 | 202 | cmp r1, #4 @ C#min | |
bleq getCsharpmin | 203 | 203 | bleq getCsharpmin | |
cmp r1, #5 @ G#min | 204 | 204 | cmp r1, #5 @ G#min | |
bleq getGsharpmin | 205 | 205 | bleq getGsharpmin | |
cmp r1, #6 @ D#min | 206 | 206 | cmp r1, #6 @ D#min | |
bleq getDsharpmin | 207 | 207 | bleq getDsharpmin | |
cmp r1, #7 @ A#min | 208 | 208 | cmp r1, #7 @ A#min | |
bleq getAsharpmin | 209 | 209 | bleq getAsharpmin | |
cmp r1, #8 @ Dmin | 210 | 210 | cmp r1, #8 @ Dmin | |
bleq getDmin | 211 | 211 | bleq getDmin | |
cmp r1, #9 @ Gmin | 212 | 212 | cmp r1, #9 @ Gmin | |
bleq getGmin | 213 | 213 | bleq getGmin | |
cmp r1, #10 @ Cmin | 214 | 214 | cmp r1, #10 @ Cmin | |
bleq getCmin | 215 | 215 | bleq getCmin | |
cmp r1, #11 @ Fmin | 216 | 216 | cmp r1, #11 @ Fmin | |
bleq getFmin | 217 | 217 | bleq getFmin | |
cmp r1, #12 @ Bbmin | 218 | 218 | cmp r1, #12 @ Bbmin | |
bleq getBflatmin | 219 | 219 | bleq getBflatmin | |
cmp r1, #13 @ Eflatmin | 220 | 220 | cmp r1, #13 @ Eflatmin | |
bleq getEflatmin | 221 | 221 | bleq getEflatmin | |
cmp r1, #14 @ Abmin | 222 | 222 | cmp r1, #14 @ Abmin | |
bleq getAflatmin | 223 | 223 | bleq getAflatmin | |
pop {r0-r4,r6-r12,lr} | 224 | 224 | pop {r0-r4,r6-r12,lr} | |
bx lr | 225 | 225 | bx lr | |
226 | 226 | |||
@@ Major Scale Loads | 227 | 227 | @@ Major Scale Loads | |
getCmaj: | 228 | 228 | getCmaj: | |
push {r0-r4,r6-r12,lr} | 229 | 229 | push {r0-r4,r6-r12,lr} | |
ldr r0, =octave | 230 | 230 | ldr r0, =octave | |
ldr r1, [r0] | 231 | 231 | ldr r1, [r0] | |
cmp r1, #2 | 232 | 232 | cmp r1, #2 | |
ldreq r5, =notesOct2_Cmaj | 233 | 233 | ldreq r5, =notesOct2_Cmaj | |
cmp r1, #3 | 234 | 234 | cmp r1, #3 | |
ldreq r5, =notesOct3_Cmaj | 235 | 235 | ldreq r5, =notesOct3_Cmaj | |
cmp r1, #4 | 236 | 236 | cmp r1, #4 | |
ldreq r5, =notesOct4_Cmaj | 237 | 237 | ldreq r5, =notesOct4_Cmaj | |
cmp r1, #5 | 238 | 238 | cmp r1, #5 | |
ldreq r5, =notesOct5_Cmaj | 239 | 239 | ldreq r5, =notesOct5_Cmaj | |
cmp r1, #6 | 240 | 240 | cmp r1, #6 | |
ldreq r5, =notesOct6_Cmaj | 241 | 241 | ldreq r5, =notesOct6_Cmaj | |
pop {r0-r4,r6-r12,lr} | 242 | 242 | pop {r0-r4,r6-r12,lr} | |
bx lr | 243 | 243 | bx lr | |
getGmaj: | 244 | 244 | getGmaj: | |
push {r0-r4,r6-r12,lr} | 245 | 245 | push {r0-r4,r6-r12,lr} | |
ldr r0, =octave | 246 | 246 | ldr r0, =octave | |
ldr r1, [r0] | 247 | 247 | ldr r1, [r0] | |
cmp r1, #2 | 248 | 248 | cmp r1, #2 | |
ldreq r5, =notesOct2_Gmaj | 249 | 249 | ldreq r5, =notesOct2_Gmaj | |
cmp r1, #3 | 250 | 250 | cmp r1, #3 | |
ldreq r5, =notesOct3_Gmaj | 251 | 251 | ldreq r5, =notesOct3_Gmaj | |
cmp r1, #4 | 252 | 252 | cmp r1, #4 | |
ldreq r5, =notesOct4_Gmaj | 253 | 253 | ldreq r5, =notesOct4_Gmaj | |
cmp r1, #5 | 254 | 254 | cmp r1, #5 | |
ldreq r5, =notesOct5_Gmaj | 255 | 255 | ldreq r5, =notesOct5_Gmaj | |
cmp r1, #6 | 256 | 256 | cmp r1, #6 | |
ldreq r5, =notesOct6_Gmaj | 257 | 257 | ldreq r5, =notesOct6_Gmaj | |
pop {r0-r4,r6-r12,lr} | 258 | 258 | pop {r0-r4,r6-r12,lr} | |
bx lr | 259 | 259 | bx lr | |
getDmaj: | 260 | 260 | getDmaj: | |
push {r0-r4,r6-r12,lr} | 261 | 261 | push {r0-r4,r6-r12,lr} | |
ldr r0, =octave | 262 | 262 | ldr r0, =octave | |
ldr r1, [r0] | 263 | 263 | ldr r1, [r0] | |
cmp r1, #2 | 264 | 264 | cmp r1, #2 | |
ldreq r5, =notesOct2_Dmaj | 265 | 265 | ldreq r5, =notesOct2_Dmaj | |
cmp r1, #3 | 266 | 266 | cmp r1, #3 | |
ldreq r5, =notesOct3_Dmaj | 267 | 267 | ldreq r5, =notesOct3_Dmaj | |
cmp r1, #4 | 268 | 268 | cmp r1, #4 | |
ldreq r5, =notesOct4_Dmaj | 269 | 269 | ldreq r5, =notesOct4_Dmaj | |
cmp r1, #5 | 270 | 270 | cmp r1, #5 | |
ldreq r5, =notesOct5_Dmaj | 271 | 271 | ldreq r5, =notesOct5_Dmaj | |
cmp r1, #6 | 272 | 272 | cmp r1, #6 | |
ldreq r5, =notesOct6_Dmaj | 273 | 273 | ldreq r5, =notesOct6_Dmaj | |
pop {r0-r4,r6-r12,lr} | 274 | 274 | pop {r0-r4,r6-r12,lr} | |
bx lr | 275 | 275 | bx lr | |
getAmaj: | 276 | 276 | getAmaj: | |
push {r0-r4,r6-r12,lr} | 277 | 277 | push {r0-r4,r6-r12,lr} | |
ldr r0, =octave | 278 | 278 | ldr r0, =octave | |
ldr r1, [r0] | 279 | 279 | ldr r1, [r0] | |
cmp r1, #2 | 280 | 280 | cmp r1, #2 | |
ldreq r5, =notesOct2_Amaj | 281 | 281 | ldreq r5, =notesOct2_Amaj | |
cmp r1, #3 | 282 | 282 | cmp r1, #3 | |
ldreq r5, =notesOct3_Amaj | 283 | 283 | ldreq r5, =notesOct3_Amaj | |
cmp r1, #4 | 284 | 284 | cmp r1, #4 | |
ldreq r5, =notesOct4_Amaj | 285 | 285 | ldreq r5, =notesOct4_Amaj | |
cmp r1, #5 | 286 | 286 | cmp r1, #5 | |
ldreq r5, =notesOct5_Amaj | 287 | 287 | ldreq r5, =notesOct5_Amaj | |
cmp r1, #6 | 288 | 288 | cmp r1, #6 | |
ldreq r5, =notesOct6_Amaj | 289 | 289 | ldreq r5, =notesOct6_Amaj | |
pop {r0-r4,r6-r12,lr} | 290 | 290 | pop {r0-r4,r6-r12,lr} | |
bx lr | 291 | 291 | bx lr | |
getEmaj: | 292 | 292 | getEmaj: | |
push {r0-r4,r6-r12,lr} | 293 | 293 | push {r0-r4,r6-r12,lr} | |
ldr r0, =octave | 294 | 294 | ldr r0, =octave | |
ldr r1, [r0] | 295 | 295 | ldr r1, [r0] | |
cmp r1, #2 | 296 | 296 | cmp r1, #2 | |
ldreq r5, =notesOct2_Emaj | 297 | 297 | ldreq r5, =notesOct2_Emaj | |
cmp r1, #3 | 298 | 298 | cmp r1, #3 | |
ldreq r5, =notesOct3_Emaj | 299 | 299 | ldreq r5, =notesOct3_Emaj | |
cmp r1, #4 | 300 | 300 | cmp r1, #4 | |
ldreq r5, =notesOct4_Emaj | 301 | 301 | ldreq r5, =notesOct4_Emaj | |
cmp r1, #5 | 302 | 302 | cmp r1, #5 | |
ldreq r5, =notesOct5_Emaj | 303 | 303 | ldreq r5, =notesOct5_Emaj | |
cmp r1, #6 | 304 | 304 | cmp r1, #6 | |
ldreq r5, =notesOct6_Emaj | 305 | 305 | ldreq r5, =notesOct6_Emaj | |
pop {r0-r4,r6-r12,lr} | 306 | 306 | pop {r0-r4,r6-r12,lr} | |
bx lr | 307 | 307 | bx lr | |
getBmaj: | 308 | 308 | getBmaj: | |
push {r0-r4,r6-r12,lr} | 309 | 309 | push {r0-r4,r6-r12,lr} | |
ldr r0, =octave | 310 | 310 | ldr r0, =octave | |
ldr r1, [r0] | 311 | 311 | ldr r1, [r0] | |
cmp r1, #2 | 312 | 312 | cmp r1, #2 | |
ldreq r5, =notesOct2_Bmaj | 313 | 313 | ldreq r5, =notesOct2_Bmaj | |
cmp r1, #3 | 314 | 314 | cmp r1, #3 | |
ldreq r5, =notesOct3_Bmaj | 315 | 315 | ldreq r5, =notesOct3_Bmaj | |
cmp r1, #4 | 316 | 316 | cmp r1, #4 | |
ldreq r5, =notesOct4_Bmaj | 317 | 317 | ldreq r5, =notesOct4_Bmaj | |
cmp r1, #5 | 318 | 318 | cmp r1, #5 | |
ldreq r5, =notesOct5_Bmaj | 319 | 319 | ldreq r5, =notesOct5_Bmaj | |
cmp r1, #6 | 320 | 320 | cmp r1, #6 | |
ldreq r5, =notesOct6_Bmaj | 321 | 321 | ldreq r5, =notesOct6_Bmaj | |
pop {r0-r4,r6-r12,lr} | 322 | 322 | pop {r0-r4,r6-r12,lr} | |
bx lr | 323 | 323 | bx lr | |
getFsharpmaj: | 324 | 324 | getFsharpmaj: | |
push {r0-r4,r6-r12,lr} | 325 | 325 | push {r0-r4,r6-r12,lr} | |
ldr r0, =octave | 326 | 326 | ldr r0, =octave | |
ldr r1, [r0] | 327 | 327 | ldr r1, [r0] | |
cmp r1, #2 | 328 | 328 | cmp r1, #2 | |
ldreq r5, =notesOct2_Fsharpmaj | 329 | 329 | ldreq r5, =notesOct2_Fsharpmaj | |
cmp r1, #3 | 330 | 330 | cmp r1, #3 | |
ldreq r5, =notesOct3_Fsharpmaj | 331 | 331 | ldreq r5, =notesOct3_Fsharpmaj | |
cmp r1, #4 | 332 | 332 | cmp r1, #4 | |
ldreq r5, =notesOct4_Fsharpmaj | 333 | 333 | ldreq r5, =notesOct4_Fsharpmaj | |
cmp r1, #5 | 334 | 334 | cmp r1, #5 | |
ldreq r5, =notesOct5_Fsharpmaj | 335 | 335 | ldreq r5, =notesOct5_Fsharpmaj | |
cmp r1, #6 | 336 | 336 | cmp r1, #6 | |
ldreq r5, =notesOct6_Fsharpmaj | 337 | 337 | ldreq r5, =notesOct6_Fsharpmaj | |
pop {r0-r4,r6-r12,lr} | 338 | 338 | pop {r0-r4,r6-r12,lr} | |
bx lr | 339 | 339 | bx lr | |
getCsharpmaj: | 340 | 340 | getCsharpmaj: | |
push {r0-r4,r6-r12,lr} | 341 | 341 | push {r0-r4,r6-r12,lr} | |
ldr r0, =octave | 342 | 342 | ldr r0, =octave | |
ldr r1, [r0] | 343 | 343 | ldr r1, [r0] | |
cmp r1, #2 | 344 | 344 | cmp r1, #2 | |
ldreq r5, =notesOct2_Csharpmaj | 345 | 345 | ldreq r5, =notesOct2_Csharpmaj | |
cmp r1, #3 | 346 | 346 | cmp r1, #3 | |
ldreq r5, =notesOct3_Csharpmaj | 347 | 347 | ldreq r5, =notesOct3_Csharpmaj | |
cmp r1, #4 | 348 | 348 | cmp r1, #4 | |
ldreq r5, =notesOct4_Csharpmaj | 349 | 349 | ldreq r5, =notesOct4_Csharpmaj | |
cmp r1, #5 | 350 | 350 | cmp r1, #5 | |
ldreq r5, =notesOct5_Csharpmaj | 351 | 351 | ldreq r5, =notesOct5_Csharpmaj | |
cmp r1, #6 | 352 | 352 | cmp r1, #6 | |
ldreq r5, =notesOct6_Csharpmaj | 353 | 353 | ldreq r5, =notesOct6_Csharpmaj | |
pop {r0-r4,r6-r12,lr} | 354 | 354 | pop {r0-r4,r6-r12,lr} | |
bx lr | 355 | 355 | bx lr | |
getFmaj: | 356 | 356 | getFmaj: | |
push {r0-r4,r6-r12,lr} | 357 | 357 | push {r0-r4,r6-r12,lr} | |
ldr r0, =octave | 358 | 358 | ldr r0, =octave | |
ldr r1, [r0] | 359 | 359 | ldr r1, [r0] | |
cmp r1, #2 | 360 | 360 | cmp r1, #2 | |
ldreq r5, =notesOct2_Fmaj | 361 | 361 | ldreq r5, =notesOct2_Fmaj | |
cmp r1, #3 | 362 | 362 | cmp r1, #3 | |
ldreq r5, =notesOct3_Fmaj | 363 | 363 | ldreq r5, =notesOct3_Fmaj | |
cmp r1, #4 | 364 | 364 | cmp r1, #4 | |
ldreq r5, =notesOct4_Fmaj | 365 | 365 | ldreq r5, =notesOct4_Fmaj | |
cmp r1, #5 | 366 | 366 | cmp r1, #5 | |
ldreq r5, =notesOct5_Fmaj | 367 | 367 | ldreq r5, =notesOct5_Fmaj | |
cmp r1, #6 | 368 | 368 | cmp r1, #6 | |
ldreq r5, =notesOct6_Fmaj | 369 | 369 | ldreq r5, =notesOct6_Fmaj | |
pop {r0-r4,r6-r12,lr} | 370 | 370 | pop {r0-r4,r6-r12,lr} | |
bx lr | 371 | 371 | bx lr | |
getBflatmaj: | 372 | 372 | getBflatmaj: | |
push {r0-r4,r6-r12,lr} | 373 | 373 | push {r0-r4,r6-r12,lr} | |
ldr r0, =octave | 374 | 374 | ldr r0, =octave | |
ldr r1, [r0] | 375 | 375 | ldr r1, [r0] | |
cmp r1, #2 | 376 | 376 | cmp r1, #2 | |
ldreq r5, =notesOct2_Bflatmaj | 377 | 377 | ldreq r5, =notesOct2_Bflatmaj | |
cmp r1, #3 | 378 | 378 | cmp r1, #3 | |
ldreq r5, =notesOct3_Bflatmaj | 379 | 379 | ldreq r5, =notesOct3_Bflatmaj | |
cmp r1, #4 | 380 | 380 | cmp r1, #4 | |
ldreq r5, =notesOct4_Bflatmaj | 381 | 381 | ldreq r5, =notesOct4_Bflatmaj | |
cmp r1, #5 | 382 | 382 | cmp r1, #5 | |
ldreq r5, =notesOct5_Bflatmaj | 383 | 383 | ldreq r5, =notesOct5_Bflatmaj | |
cmp r1, #6 | 384 | 384 | cmp r1, #6 | |
ldreq r5, =notesOct6_Bflatmaj | 385 | 385 | ldreq r5, =notesOct6_Bflatmaj | |
pop {r0-r4,r6-r12,lr} | 386 | 386 | pop {r0-r4,r6-r12,lr} | |
bx lr | 387 | 387 | bx lr | |
getEflatmaj: | 388 | 388 | getEflatmaj: | |
push {r0-r4,r6-r12,lr} | 389 | 389 | push {r0-r4,r6-r12,lr} | |
ldr r0, =octave | 390 | 390 | ldr r0, =octave | |
ldr r1, [r0] | 391 | 391 | ldr r1, [r0] | |
cmp r1, #2 | 392 | 392 | cmp r1, #2 | |
ldreq r5, =notesOct2_Eflatmaj | 393 | 393 | ldreq r5, =notesOct2_Eflatmaj | |
cmp r1, #3 | 394 | 394 | cmp r1, #3 | |
ldreq r5, =notesOct3_Eflatmaj | 395 | 395 | ldreq r5, =notesOct3_Eflatmaj | |
cmp r1, #4 | 396 | 396 | cmp r1, #4 | |
ldreq r5, =notesOct4_Eflatmaj | 397 | 397 | ldreq r5, =notesOct4_Eflatmaj | |
cmp r1, #5 | 398 | 398 | cmp r1, #5 | |
ldreq r5, =notesOct5_Eflatmaj | 399 | 399 | ldreq r5, =notesOct5_Eflatmaj | |
cmp r1, #6 | 400 | 400 | cmp r1, #6 | |
ldreq r5, =notesOct6_Eflatmaj | 401 | 401 | ldreq r5, =notesOct6_Eflatmaj | |
pop {r0-r4,r6-r12,lr} | 402 | 402 | pop {r0-r4,r6-r12,lr} | |
bx lr | 403 | 403 | bx lr | |
getAflatmaj: | 404 | 404 | getAflatmaj: | |
push {r0-r4,r6-r12,lr} | 405 | 405 | push {r0-r4,r6-r12,lr} | |
ldr r0, =octave | 406 | 406 | ldr r0, =octave | |
ldr r1, [r0] | 407 | 407 | ldr r1, [r0] | |
cmp r1, #2 | 408 | 408 | cmp r1, #2 | |
ldreq r5, =notesOct2_Aflatmaj | 409 | 409 | ldreq r5, =notesOct2_Aflatmaj | |
cmp r1, #3 | 410 | 410 | cmp r1, #3 | |
ldreq r5, =notesOct3_Aflatmaj | 411 | 411 | ldreq r5, =notesOct3_Aflatmaj | |
cmp r1, #4 | 412 | 412 | cmp r1, #4 | |
ldreq r5, =notesOct4_Aflatmaj | 413 | 413 | ldreq r5, =notesOct4_Aflatmaj | |
cmp r1, #5 | 414 | 414 | cmp r1, #5 | |
ldreq r5, =notesOct5_Aflatmaj | 415 | 415 | ldreq r5, =notesOct5_Aflatmaj | |
cmp r1, #6 | 416 | 416 | cmp r1, #6 | |
ldreq r5, =notesOct6_Aflatmaj | 417 | 417 | ldreq r5, =notesOct6_Aflatmaj | |
pop {r0-r4,r6-r12,lr} | 418 | 418 | pop {r0-r4,r6-r12,lr} | |
bx lr | 419 | 419 | bx lr | |
getDflatmaj: | 420 | 420 | getDflatmaj: | |
push {r0-r4,r6-r12,lr} | 421 | 421 | push {r0-r4,r6-r12,lr} | |
ldr r0, =octave | 422 | 422 | ldr r0, =octave | |
ldr r1, [r0] | 423 | 423 | ldr r1, [r0] | |
cmp r1, #2 | 424 | 424 | cmp r1, #2 | |
ldreq r5, =notesOct2_Dflatmaj | 425 | 425 | ldreq r5, =notesOct2_Dflatmaj | |
cmp r1, #3 | 426 | 426 | cmp r1, #3 | |
ldreq r5, =notesOct3_Dflatmaj | 427 | 427 | ldreq r5, =notesOct3_Dflatmaj | |
cmp r1, #4 | 428 | 428 | cmp r1, #4 | |
ldreq r5, =notesOct4_Dflatmaj | 429 | 429 | ldreq r5, =notesOct4_Dflatmaj | |
cmp r1, #5 | 430 | 430 | cmp r1, #5 | |
ldreq r5, =notesOct5_Dflatmaj | 431 | 431 | ldreq r5, =notesOct5_Dflatmaj | |
cmp r1, #6 | 432 | 432 | cmp r1, #6 | |
ldreq r5, =notesOct6_Dflatmaj | 433 | 433 | ldreq r5, =notesOct6_Dflatmaj | |
pop {r0-r4,r6-r12,lr} | 434 | 434 | pop {r0-r4,r6-r12,lr} | |
bx lr | 435 | 435 | bx lr | |
getGflatmaj: | 436 | 436 | getGflatmaj: | |
push {r0-r4,r6-r12,lr} | 437 | 437 | push {r0-r4,r6-r12,lr} | |
ldr r0, =octave | 438 | 438 | ldr r0, =octave | |
ldr r1, [r0] | 439 | 439 | ldr r1, [r0] | |
cmp r1, #2 | 440 | 440 | cmp r1, #2 | |
ldreq r5, =notesOct2_Gflatmaj | 441 | 441 | ldreq r5, =notesOct2_Gflatmaj | |
cmp r1, #3 | 442 | 442 | cmp r1, #3 | |
ldreq r5, =notesOct3_Gflatmaj | 443 | 443 | ldreq r5, =notesOct3_Gflatmaj | |
cmp r1, #4 | 444 | 444 | cmp r1, #4 | |
ldreq r5, =notesOct4_Gflatmaj | 445 | 445 | ldreq r5, =notesOct4_Gflatmaj | |
cmp r1, #5 | 446 | 446 | cmp r1, #5 | |
ldreq r5, =notesOct5_Gflatmaj | 447 | 447 | ldreq r5, =notesOct5_Gflatmaj | |
cmp r1, #6 | 448 | 448 | cmp r1, #6 | |
ldreq r5, =notesOct6_Gflatmaj | 449 | 449 | ldreq r5, =notesOct6_Gflatmaj | |
pop {r0-r4,r6-r12,lr} | 450 | 450 | pop {r0-r4,r6-r12,lr} | |
bx lr | 451 | 451 | bx lr | |
getCflatmaj: | 452 | 452 | getCflatmaj: | |
push {r0-r4,r6-r12,lr} | 453 | 453 | push {r0-r4,r6-r12,lr} | |
ldr r0, =octave | 454 | 454 | ldr r0, =octave | |
ldr r1, [r0] | 455 | 455 | ldr r1, [r0] | |
cmp r1, #2 | 456 | 456 | cmp r1, #2 | |
ldreq r5, =notesOct2_Cflatmaj | 457 | 457 | ldreq r5, =notesOct2_Cflatmaj | |
cmp r1, #3 | 458 | 458 | cmp r1, #3 | |
ldreq r5, =notesOct3_Cflatmaj | 459 | 459 | ldreq r5, =notesOct3_Cflatmaj | |
cmp r1, #4 | 460 | 460 | cmp r1, #4 | |
ldreq r5, =notesOct4_Cflatmaj | 461 | 461 | ldreq r5, =notesOct4_Cflatmaj | |
cmp r1, #5 | 462 | 462 | cmp r1, #5 | |
ldreq r5, =notesOct5_Cflatmaj | 463 | 463 | ldreq r5, =notesOct5_Cflatmaj | |
cmp r1, #6 | 464 | 464 | cmp r1, #6 | |
ldreq r5, =notesOct6_Cflatmaj | 465 | 465 | ldreq r5, =notesOct6_Cflatmaj | |
pop {r0-r4,r6-r12,lr} | 466 | 466 | pop {r0-r4,r6-r12,lr} | |
bx lr | 467 | 467 | bx lr | |
@@ Minor Scale Loads | 468 | 468 | @@ Minor Scale Loads | |
getAmin: | 469 | 469 | getAmin: | |
push {r0-r4,r6-r12,lr} | 470 | 470 | push {r0-r4,r6-r12,lr} | |
ldr r0, =octave | 471 | 471 | ldr r0, =octave | |
ldr r1, [r0] | 472 | 472 | ldr r1, [r0] | |
cmp r1, #2 | 473 | 473 | cmp r1, #2 | |
ldreq r5, =notesOct2_Amin | 474 | 474 | ldreq r5, =notesOct2_Amin | |
cmp r1, #3 | 475 | 475 | cmp r1, #3 | |
ldreq r5, =notesOct3_Amin | 476 | 476 | ldreq r5, =notesOct3_Amin | |
cmp r1, #4 | 477 | 477 | cmp r1, #4 | |
ldreq r5, =notesOct4_Amin | 478 | 478 | ldreq r5, =notesOct4_Amin | |
cmp r1, #5 | 479 | 479 | cmp r1, #5 | |
ldreq r5, =notesOct5_Amin | 480 | 480 | ldreq r5, =notesOct5_Amin | |
cmp r1, #6 | 481 | 481 | cmp r1, #6 | |
ldreq r5, =notesOct6_Amin | 482 | 482 | ldreq r5, =notesOct6_Amin | |
pop {r0-r4,r6-r12,lr} | 483 | 483 | pop {r0-r4,r6-r12,lr} | |
bx lr | 484 | 484 | bx lr | |
getEmin: | 485 | 485 | getEmin: | |
push {r0-r4,r6-r12,lr} | 486 | 486 | push {r0-r4,r6-r12,lr} | |
ldr r0, =octave | 487 | 487 | ldr r0, =octave | |
ldr r1, [r0] | 488 | 488 | ldr r1, [r0] | |
cmp r1, #2 | 489 | 489 | cmp r1, #2 | |
ldreq r5, =notesOct2_Emin | 490 | 490 | ldreq r5, =notesOct2_Emin | |
cmp r1, #3 | 491 | 491 | cmp r1, #3 | |
ldreq r5, =notesOct3_Emin | 492 | 492 | ldreq r5, =notesOct3_Emin | |
cmp r1, #4 | 493 | 493 | cmp r1, #4 | |
ldreq r5, =notesOct4_Emin | 494 | 494 | ldreq r5, =notesOct4_Emin | |
cmp r1, #5 | 495 | 495 | cmp r1, #5 | |
ldreq r5, =notesOct5_Emin | 496 | 496 | ldreq r5, =notesOct5_Emin | |
cmp r1, #6 | 497 | 497 | cmp r1, #6 | |
ldreq r5, =notesOct6_Emin | 498 | 498 | ldreq r5, =notesOct6_Emin | |
pop {r0-r4,r6-r12,lr} | 499 | 499 | pop {r0-r4,r6-r12,lr} | |
bx lr | 500 | 500 | bx lr | |
getBmin: | 501 | 501 | getBmin: | |
push {r0-r4,r6-r12,lr} | 502 | 502 | push {r0-r4,r6-r12,lr} | |
ldr r0, =octave | 503 | 503 | ldr r0, =octave | |
ldr r1, [r0] | 504 | 504 | ldr r1, [r0] | |
cmp r1, #2 | 505 | 505 | cmp r1, #2 | |
ldreq r5, =notesOct2_Bmin | 506 | 506 | ldreq r5, =notesOct2_Bmin | |
cmp r1, #3 | 507 | 507 | cmp r1, #3 | |
ldreq r5, =notesOct3_Bmin | 508 | 508 | ldreq r5, =notesOct3_Bmin | |
cmp r1, #4 | 509 | 509 | cmp r1, #4 | |
ldreq r5, =notesOct4_Bmin | 510 | 510 | ldreq r5, =notesOct4_Bmin | |
cmp r1, #5 | 511 | 511 | cmp r1, #5 | |
ldreq r5, =notesOct5_Bmin | 512 | 512 | ldreq r5, =notesOct5_Bmin | |
cmp r1, #6 | 513 | 513 | cmp r1, #6 | |
ldreq r5, =notesOct6_Bmin | 514 | 514 | ldreq r5, =notesOct6_Bmin | |
pop {r0-r4,r6-r12,lr} | 515 | 515 | pop {r0-r4,r6-r12,lr} | |
bx lr | 516 | 516 | bx lr | |
getFsharpmin: | 517 | 517 | getFsharpmin: | |
push {r0-r4,r6-r12,lr} | 518 | 518 | push {r0-r4,r6-r12,lr} | |
ldr r0, =octave | 519 | 519 | ldr r0, =octave | |
ldr r1, [r0] | 520 | 520 | ldr r1, [r0] | |
cmp r1, #2 | 521 | 521 | cmp r1, #2 | |
ldreq r5, =notesOct2_Fsharpmin | 522 | 522 | ldreq r5, =notesOct2_Fsharpmin | |
cmp r1, #3 | 523 | 523 | cmp r1, #3 | |
ldreq r5, =notesOct3_Fsharpmin | 524 | 524 | ldreq r5, =notesOct3_Fsharpmin | |
cmp r1, #4 | 525 | 525 | cmp r1, #4 | |
ldreq r5, =notesOct4_Fsharpmin | 526 | 526 | ldreq r5, =notesOct4_Fsharpmin | |
cmp r1, #5 | 527 | 527 | cmp r1, #5 | |
ldreq r5, =notesOct5_Fsharpmin | 528 | 528 | ldreq r5, =notesOct5_Fsharpmin | |
cmp r1, #6 | 529 | 529 | cmp r1, #6 | |
ldreq r5, =notesOct6_Fsharpmin | 530 | 530 | ldreq r5, =notesOct6_Fsharpmin | |
pop {r0-r4,r6-r12,lr} | 531 | 531 | pop {r0-r4,r6-r12,lr} | |
bx lr | 532 | 532 | bx lr | |
getCsharpmin: | 533 | 533 | getCsharpmin: | |
push {r0-r4,r6-r12,lr} | 534 | 534 | push {r0-r4,r6-r12,lr} | |
ldr r0, =octave | 535 | 535 | ldr r0, =octave | |
ldr r1, [r0] | 536 | 536 | ldr r1, [r0] | |
cmp r1, #2 | 537 | 537 | cmp r1, #2 | |
ldreq r5, =notesOct2_Csharpmin | 538 | 538 | ldreq r5, =notesOct2_Csharpmin | |
cmp r1, #3 | 539 | 539 | cmp r1, #3 | |
ldreq r5, =notesOct3_Csharpmin | 540 | 540 | ldreq r5, =notesOct3_Csharpmin | |
cmp r1, #4 | 541 | 541 | cmp r1, #4 | |
ldreq r5, =notesOct4_Csharpmin | 542 | 542 | ldreq r5, =notesOct4_Csharpmin | |
cmp r1, #5 | 543 | 543 | cmp r1, #5 | |
ldreq r5, =notesOct5_Csharpmin | 544 | 544 | ldreq r5, =notesOct5_Csharpmin | |
cmp r1, #6 | 545 | 545 | cmp r1, #6 | |
ldreq r5, =notesOct6_Csharpmin | 546 | 546 | ldreq r5, =notesOct6_Csharpmin | |
pop {r0-r4,r6-r12,lr} | 547 | 547 | pop {r0-r4,r6-r12,lr} | |
bx lr | 548 | 548 | bx lr | |
getGsharpmin: | 549 | 549 | getGsharpmin: | |
push {r0-r4,r6-r12,lr} | 550 | 550 | push {r0-r4,r6-r12,lr} | |
ldr r0, =octave | 551 | 551 | ldr r0, =octave | |
ldr r1, [r0] | 552 | 552 | ldr r1, [r0] | |
cmp r1, #2 | 553 | 553 | cmp r1, #2 | |
ldreq r5, =notesOct2_Gsharpmin | 554 | 554 | ldreq r5, =notesOct2_Gsharpmin | |
cmp r1, #3 | 555 | 555 | cmp r1, #3 | |
ldreq r5, =notesOct3_Gsharpmin | 556 | 556 | ldreq r5, =notesOct3_Gsharpmin | |
cmp r1, #4 | 557 | 557 | cmp r1, #4 | |
ldreq r5, =notesOct4_Gsharpmin | 558 | 558 | ldreq r5, =notesOct4_Gsharpmin | |
cmp r1, #5 | 559 | 559 | cmp r1, #5 | |
ldreq r5, =notesOct5_Gsharpmin | 560 | 560 | ldreq r5, =notesOct5_Gsharpmin | |
cmp r1, #6 | 561 | 561 | cmp r1, #6 | |
ldreq r5, =notesOct6_Gsharpmin | 562 | 562 | ldreq r5, =notesOct6_Gsharpmin | |
pop {r0-r4,r6-r12,lr} | 563 | 563 | pop {r0-r4,r6-r12,lr} | |
bx lr | 564 | 564 | bx lr | |
getDsharpmin: | 565 | 565 | getDsharpmin: | |
push {r0-r4,r6-r12,lr} | 566 | 566 | push {r0-r4,r6-r12,lr} | |
ldr r0, =octave | 567 | 567 | ldr r0, =octave | |
ldr r1, [r0] | 568 | 568 | ldr r1, [r0] | |
cmp r1, #2 | 569 | 569 | cmp r1, #2 | |
ldreq r5, =notesOct2_Dsharpmin | 570 | 570 | ldreq r5, =notesOct2_Dsharpmin | |
cmp r1, #3 | 571 | 571 | cmp r1, #3 | |
ldreq r5, =notesOct3_Dsharpmin | 572 | 572 | ldreq r5, =notesOct3_Dsharpmin | |
cmp r1, #4 | 573 | 573 | cmp r1, #4 | |
ldreq r5, =notesOct4_Dsharpmin | 574 | 574 | ldreq r5, =notesOct4_Dsharpmin | |
cmp r1, #5 | 575 | 575 | cmp r1, #5 | |
ldreq r5, =notesOct5_Dsharpmin | 576 | 576 | ldreq r5, =notesOct5_Dsharpmin | |
cmp r1, #6 | 577 | 577 | cmp r1, #6 | |
ldreq r5, =notesOct6_Dsharpmin | 578 | 578 | ldreq r5, =notesOct6_Dsharpmin | |
pop {r0-r4,r6-r12,lr} | 579 | 579 | pop {r0-r4,r6-r12,lr} | |
bx lr | 580 | 580 | bx lr | |
getAsharpmin: | 581 | 581 | getAsharpmin: | |
push {r0-r4,r6-r12,lr} | 582 | 582 | push {r0-r4,r6-r12,lr} | |
ldr r0, =octave | 583 | 583 | ldr r0, =octave | |
ldr r1, [r0] | 584 | 584 | ldr r1, [r0] | |
cmp r1, #2 | 585 | 585 | cmp r1, #2 | |
ldreq r5, =notesOct2_Asharpmin | 586 | 586 | ldreq r5, =notesOct2_Asharpmin | |
cmp r1, #3 | 587 | 587 | cmp r1, #3 | |
ldreq r5, =notesOct3_Asharpmin | 588 | 588 | ldreq r5, =notesOct3_Asharpmin | |
cmp r1, #4 | 589 | 589 | cmp r1, #4 | |
ldreq r5, =notesOct4_Asharpmin | 590 | 590 | ldreq r5, =notesOct4_Asharpmin | |
cmp r1, #5 | 591 | 591 | cmp r1, #5 | |
ldreq r5, =notesOct5_Asharpmin | 592 | 592 | ldreq r5, =notesOct5_Asharpmin | |
cmp r1, #6 | 593 | 593 | cmp r1, #6 | |
ldreq r5, =notesOct6_Asharpmin | 594 | 594 | ldreq r5, =notesOct6_Asharpmin | |
pop {r0-r4,r6-r12,lr} | 595 | 595 | pop {r0-r4,r6-r12,lr} | |
bx lr | 596 | 596 | bx lr | |
getDmin: | 597 | 597 | getDmin: | |
push {r0-r4,r6-r12,lr} | 598 | 598 | push {r0-r4,r6-r12,lr} | |
ldr r0, =octave | 599 | 599 | ldr r0, =octave | |
ldr r1, [r0] | 600 | 600 | ldr r1, [r0] | |
cmp r1, #2 | 601 | 601 | cmp r1, #2 | |
ldreq r5, =notesOct2_Dmin | 602 | 602 | ldreq r5, =notesOct2_Dmin | |
cmp r1, #3 | 603 | 603 | cmp r1, #3 | |
ldreq r5, =notesOct3_Dmin | 604 | 604 | ldreq r5, =notesOct3_Dmin | |
cmp r1, #4 | 605 | 605 | cmp r1, #4 | |
ldreq r5, =notesOct4_Dmin | 606 | 606 | ldreq r5, =notesOct4_Dmin | |
cmp r1, #5 | 607 | 607 | cmp r1, #5 | |
ldreq r5, =notesOct5_Dmin | 608 | 608 | ldreq r5, =notesOct5_Dmin | |
cmp r1, #6 | 609 | 609 | cmp r1, #6 | |
ldreq r5, =notesOct6_Dmin | 610 | 610 | ldreq r5, =notesOct6_Dmin | |
pop {r0-r4,r6-r12,lr} | 611 | 611 | pop {r0-r4,r6-r12,lr} | |
bx lr | 612 | 612 | bx lr | |
getGmin: | 613 | 613 | getGmin: | |
push {r0-r4,r6-r12,lr} | 614 | 614 | push {r0-r4,r6-r12,lr} | |
ldr r0, =octave | 615 | 615 | ldr r0, =octave | |
ldr r1, [r0] | 616 | 616 | ldr r1, [r0] | |
cmp r1, #2 | 617 | 617 | cmp r1, #2 | |
ldreq r5, =notesOct2_Gmin | 618 | 618 | ldreq r5, =notesOct2_Gmin | |
cmp r1, #3 | 619 | 619 | cmp r1, #3 | |
ldreq r5, =notesOct3_Gmin | 620 | 620 | ldreq r5, =notesOct3_Gmin | |
cmp r1, #4 | 621 | 621 | cmp r1, #4 | |
ldreq r5, =notesOct4_Gmin | 622 | 622 | ldreq r5, =notesOct4_Gmin | |
cmp r1, #5 | 623 | 623 | cmp r1, #5 | |
ldreq r5, =notesOct5_Gmin | 624 | 624 | ldreq r5, =notesOct5_Gmin | |
cmp r1, #6 | 625 | 625 | cmp r1, #6 | |
ldreq r5, =notesOct6_Gmin | 626 | 626 | ldreq r5, =notesOct6_Gmin | |
pop {r0-r4,r6-r12,lr} | 627 | 627 | pop {r0-r4,r6-r12,lr} | |
bx lr | 628 | 628 | bx lr | |
getCmin: | 629 | 629 | getCmin: | |
push {r0-r4,r6-r12,lr} | 630 | 630 | push {r0-r4,r6-r12,lr} | |
ldr r0, =octave | 631 | 631 | ldr r0, =octave | |
ldr r1, [r0] | 632 | 632 | ldr r1, [r0] | |
cmp r1, #2 | 633 | 633 | cmp r1, #2 | |
ldreq r5, =notesOct2_Cmin | 634 | 634 | ldreq r5, =notesOct2_Cmin | |
cmp r1, #3 | 635 | 635 | cmp r1, #3 | |
ldreq r5, =notesOct3_Cmin | 636 | 636 | ldreq r5, =notesOct3_Cmin | |
cmp r1, #4 | 637 | 637 | cmp r1, #4 | |
ldreq r5, =notesOct4_Cmin | 638 | 638 | ldreq r5, =notesOct4_Cmin | |
cmp r1, #5 | 639 | 639 | cmp r1, #5 | |
ldreq r5, =notesOct5_Cmin | 640 | 640 | ldreq r5, =notesOct5_Cmin | |
cmp r1, #6 | 641 | 641 | cmp r1, #6 | |
ldreq r5, =notesOct6_Cmin | 642 | 642 | ldreq r5, =notesOct6_Cmin | |
pop {r0-r4,r6-r12,lr} | 643 | 643 | pop {r0-r4,r6-r12,lr} | |
bx lr | 644 | 644 | bx lr | |
getFmin: | 645 | 645 | getFmin: | |
push {r0-r4,r6-r12,lr} | 646 | 646 | push {r0-r4,r6-r12,lr} | |
ldr r0, =octave | 647 | 647 | ldr r0, =octave | |
ldr r1, [r0] | 648 | 648 | ldr r1, [r0] | |
cmp r1, #2 | 649 | 649 | cmp r1, #2 | |
ldreq r5, =notesOct2_Fmin | 650 | 650 | ldreq r5, =notesOct2_Fmin | |
cmp r1, #3 | 651 | 651 | cmp r1, #3 | |
ldreq r5, =notesOct3_Fmin | 652 | 652 | ldreq r5, =notesOct3_Fmin | |
cmp r1, #4 | 653 | 653 | cmp r1, #4 | |
ldreq r5, =notesOct4_Fmin | 654 | 654 | ldreq r5, =notesOct4_Fmin | |
cmp r1, #5 | 655 | 655 | cmp r1, #5 | |
ldreq r5, =notesOct5_Fmin | 656 | 656 | ldreq r5, =notesOct5_Fmin | |
cmp r1, #6 | 657 | 657 | cmp r1, #6 | |
ldreq r5, =notesOct6_Fmin | 658 | 658 | ldreq r5, =notesOct6_Fmin | |
pop {r0-r4,r6-r12,lr} | 659 | 659 | pop {r0-r4,r6-r12,lr} | |
bx lr | 660 | 660 | bx lr | |
getBflatmin: | 661 | 661 | getBflatmin: | |
push {r0-r4,r6-r12,lr} | 662 | 662 | push {r0-r4,r6-r12,lr} | |
ldr r0, =octave | 663 | 663 | ldr r0, =octave | |
ldr r1, [r0] | 664 | 664 | ldr r1, [r0] | |
cmp r1, #2 | 665 | 665 | cmp r1, #2 | |
ldreq r5, =notesOct2_Bflatmin | 666 | 666 | ldreq r5, =notesOct2_Bflatmin | |
cmp r1, #3 | 667 | 667 | cmp r1, #3 | |
ldreq r5, =notesOct3_Bflatmin | 668 | 668 | ldreq r5, =notesOct3_Bflatmin | |
cmp r1, #4 | 669 | 669 | cmp r1, #4 | |
ldreq r5, =notesOct4_Bflatmin | 670 | 670 | ldreq r5, =notesOct4_Bflatmin | |
cmp r1, #5 | 671 | 671 | cmp r1, #5 | |
ldreq r5, =notesOct5_Bflatmin | 672 | 672 | ldreq r5, =notesOct5_Bflatmin | |
cmp r1, #6 | 673 | 673 | cmp r1, #6 | |
ldreq r5, =notesOct6_Bflatmin | 674 | 674 | ldreq r5, =notesOct6_Bflatmin | |
pop {r0-r4,r6-r12,lr} | 675 | 675 | pop {r0-r4,r6-r12,lr} | |
bx lr | 676 | 676 | bx lr | |
getEflatmin: | 677 | 677 | getEflatmin: | |
push {r0-r4,r6-r12,lr} | 678 | 678 | push {r0-r4,r6-r12,lr} | |
ldr r0, =octave | 679 | 679 | ldr r0, =octave | |
ldr r1, [r0] | 680 | 680 | ldr r1, [r0] | |
cmp r1, #2 | 681 | 681 | cmp r1, #2 | |
ldreq r5, =notesOct2_Eflatmin | 682 | 682 | ldreq r5, =notesOct2_Eflatmin | |
cmp r1, #3 | 683 | 683 | cmp r1, #3 | |
ldreq r5, =notesOct3_Eflatmin | 684 | 684 | ldreq r5, =notesOct3_Eflatmin | |
cmp r1, #4 | 685 | 685 | cmp r1, #4 | |
ldreq r5, =notesOct4_Eflatmin | 686 | 686 | ldreq r5, =notesOct4_Eflatmin | |
cmp r1, #5 | 687 | 687 | cmp r1, #5 | |
ldreq r5, =notesOct5_Eflatmin | 688 | 688 | ldreq r5, =notesOct5_Eflatmin | |
cmp r1, #6 | 689 | 689 | cmp r1, #6 | |
ldreq r5, =notesOct6_Eflatmin | 690 | 690 | ldreq r5, =notesOct6_Eflatmin | |
pop {r0-r4,r6-r12,lr} | 691 | 691 | pop {r0-r4,r6-r12,lr} | |
bx lr | 692 | 692 | bx lr | |
getAflatmin: | 693 | 693 | getAflatmin: | |
push {r0-r4,r6-r12,lr} | 694 | 694 | push {r0-r4,r6-r12,lr} | |
ldr r0, =octave | 695 | 695 | ldr r0, =octave | |
ldr r1, [r0] | 696 | 696 | ldr r1, [r0] | |
cmp r1, #2 | 697 | 697 | cmp r1, #2 | |
ldreq r5, =notesOct2_Aflatmin | 698 | 698 | ldreq r5, =notesOct2_Aflatmin | |
cmp r1, #3 | 699 | 699 | cmp r1, #3 | |
ldreq r5, =notesOct3_Aflatmin | 700 | 700 | ldreq r5, =notesOct3_Aflatmin | |
cmp r1, #4 | 701 | 701 | cmp r1, #4 | |
ldreq r5, =notesOct4_Aflatmin | 702 | 702 | ldreq r5, =notesOct4_Aflatmin | |
cmp r1, #5 | 703 | 703 | cmp r1, #5 | |
ldreq r5, =notesOct5_Aflatmin | 704 | 704 | ldreq r5, =notesOct5_Aflatmin | |
cmp r1, #6 | 705 | 705 | cmp r1, #6 | |
ldreq r5, =notesOct6_Aflatmin | 706 | 706 | ldreq r5, =notesOct6_Aflatmin | |
pop {r0-r4,r6-r12,lr} | 707 | 707 | pop {r0-r4,r6-r12,lr} | |
bx lr | 708 | 708 | bx lr | |
709 | 709 | |||
octaveUp: | 710 | 710 | octaveUp: | |
push {r0-r12,lr} | 711 | 711 | push {r0-r12,lr} | |
ldr r0,[r6,r4] @ Checks if held | 712 | 712 | ldr r0,[r6,r4] @ Checks if held | |
cmp r0,#1 | 713 | 713 | cmp r0,#1 | |
bxeq lr | 714 | 714 | bxeq lr | |
mov r0,#1 | 715 | 715 | mov r0,#1 | |
str r0,[r6,r4] | 716 | 716 | str r0,[r6,r4] | |
ldr r0, =octave | 717 | 717 | ldr r0, =octave | |
ldr r1, [r0] | 718 | 718 | ldr r1, [r0] | |
cmp r1, #6 @ if it's already at the highest... | 719 | 719 | cmp r1, #6 @ if it's already at the highest... | |
moveq r1, #3 @ go to lowest | 720 | 720 | moveq r1, #3 @ go to lowest | |
addne r1, r1, #1 | 721 | 721 | addne r1, r1, #1 | |
str r1,[r0] | 722 | 722 | str r1,[r0] | |
mov r9,r1 | 723 | 723 | mov r9,r1 | |
bl saveSettings @ save to sram | 724 | 724 | bl saveSettings @ save to sram | |
pop {r0-r12,lr} | 725 | 725 | pop {r0-r12,lr} | |
bx lr | 726 | 726 | bx lr | |
octaveDown: | 727 | 727 | octaveDown: | |
push {r0-r12,lr} | 728 | 728 | push {r0-r12,lr} | |
ldr r0,[r6,r4] @ Checks if held | 729 | 729 | ldr r0,[r6,r4] @ Checks if held | |
cmp r0,#1 | 730 | 730 | cmp r0,#1 | |
bxeq lr | 731 | 731 | bxeq lr | |
mov r0,#1 | 732 | 732 | mov r0,#1 | |
str r0,[r6,r4] | 733 | 733 | str r0,[r6,r4] | |
ldr r0, =octave | 734 | 734 | ldr r0, =octave | |
ldr r1, [r0] | 735 | 735 | ldr r1, [r0] | |
cmp r1, #3 @ if it's already at the lowest... | 736 | 736 | cmp r1, #3 @ if it's already at the lowest... | |
moveq r1, #6 @ go to highest | 737 | 737 | moveq r1, #6 @ go to highest | |
subne r1, r1, #1 | 738 | 738 | subne r1, r1, #1 | |
str r1,[r0] | 739 | 739 | str r1,[r0] | |
mov r9,r1 | 740 | 740 | mov r9,r1 | |
bl saveSettings @ save to sram | 741 | 741 | bl saveSettings @ save to sram | |
pop {r0-r12,lr} | 742 | 742 | pop {r0-r12,lr} | |
bx lr | 743 | 743 | bx lr | |
musicalkeyUp: | 744 | 744 | musicalkeyUp: | |
push {r0-r12,lr} | 745 | 745 | push {r0-r12,lr} | |
ldr r0,[r6,r4] @ Checks if held. | 746 | 746 | ldr r0,[r6,r4] @ Checks if held. | |
cmp r0,#1 | 747 | 747 | cmp r0,#1 | |
bxeq lr | 748 | 748 | bxeq lr | |
mov r0,#1 | 749 | 749 | mov r0,#1 | |
str r0,[r6,r4] | 750 | 750 | str r0,[r6,r4] | |
ldr r0, =key | 751 | 751 | ldr r0, =key | |
ldr r1, [r0] | 752 | 752 | ldr r1, [r0] | |
cmp r1, #14 @ if it's already at the highest... | 753 | 753 | cmp r1, #14 @ if it's already at the highest... | |
moveq r1, #0 @ go to lowest | 754 | 754 | moveq r1, #0 @ go to lowest | |
addne r1, r1, #1 | 755 | 755 | addne r1, r1, #1 | |
str r1,[r0] | 756 | 756 | str r1,[r0] | |
mov r9,r1 | 757 | 757 | mov r9,r1 | |
bl saveSettings @save to sram | 758 | 758 | bl saveSettings @save to sram | |
pop {r0-r12,lr} | 759 | 759 | pop {r0-r12,lr} | |
bx lr | 760 | 760 | bx lr | |
musicalkeyDown: | 761 | 761 | musicalkeyDown: | |
push {r0-r12,lr} | 762 | 762 | push {r0-r12,lr} | |
ldr r0,[r6,r4] @ Checks if held. | 763 | 763 | ldr r0,[r6,r4] @ Checks if held. | |
cmp r0,#1 | 764 | 764 | cmp r0,#1 | |
bxeq lr | 765 | 765 | bxeq lr | |
mov r0,#1 | 766 | 766 | mov r0,#1 | |
str r0,[r6,r4] | 767 | 767 | str r0,[r6,r4] | |
ldr r0, =key | 768 | 768 | ldr r0, =key | |
ldr r1, [r0] | 769 | 769 | ldr r1, [r0] | |
cmp r1, #0 @ if it's already at the lowest... | 770 | 770 | cmp r1, #0 @ if it's already at the lowest... | |
moveq r1, #14 @ go to highest | 771 | 771 | moveq r1, #14 @ go to highest | |
subne r1, r1, #1 | 772 | 772 | subne r1, r1, #1 | |
str r1,[r0] | 773 | 773 | str r1,[r0] | |
mov r9,r1 | 774 | 774 | mov r9,r1 | |
bl saveSettings @save to sram | 775 | 775 | bl saveSettings @save to sram | |
pop {r0-r12,lr} | 776 | 776 | pop {r0-r12,lr} | |
bx lr | 777 | 777 | bx lr | |
778 | 778 | |||
displayData: @ edit synthText to show Key and Oct | 779 | 779 | displayData: @ edit synthText to show Key and Oct | |
push {r0-r12,lr} | 780 | 780 | push {r0-r12,lr} | |
781 | 781 | |||
ldr r0,=key @ get address of key | 782 | 782 | ldr r0,=key @ get address of key | |
ldr r0,[r0,#4] @ load maj/min flag | 783 | 783 | ldr r0,[r0,#4] @ load maj/min flag | |
cmp r0,#0 @ is it major? | 784 | 784 | cmp r0,#0 @ is it major? | |
bleq displayKeyMaj @if it is show the key's base note | 785 | 785 | bleq displayKeyMaj @if it is show the key's base note | |
cmp r0,#1 | 786 | 786 | cmp r0,#1 | |
bleq displayKeyMin @ else show the minor version | 787 | 787 | bleq displayKeyMin @ else show the minor version | |
788 | 788 | |||
ldr r4,=synthText | 789 | 789 | ldr r4,=synthText | |
790 | 790 | |||
add r6,r6,#2 @ inc location | 791 | 791 | add r6,r6,#1 @ inc location | |
ldr r0,=octave @ get address of octave | 792 | 792 | ldr r0,=octave @ get address of octave | |
ldrh r0,[r0] @ load octave's content | 793 | 793 | ldrh r0,[r0] @ load octave's content | |
add r0,r0,#48 @ add 0's tile number | 794 | 794 | add r0,r0,#48 @ add 0's tile number | |
strh r0,[r4,r6] @ store it | 795 | 795 | strb r0,[r4,r6] @ store it | |
@@ if key is major display maj | 796 | 796 | @@ if key is major display maj | |
ldr r0,=key | 797 | 797 | ldr r0,=key | |
ldr r0,[r0,#4] | 798 | 798 | ldr r0,[r0,#4] | |
cmp r0,#0 | 799 | 799 | cmp r0,#0 | |
blne displayMin @ display minor | 800 | 800 | blne displayMin @ display minor | |
bleq displayMaj @ display major | 801 | 801 | bleq displayMaj @ display major | |
802 | 802 | |||
pop {r0-r12,lr} | 803 | 803 | pop {r0-r12,lr} | |
bx lr | 804 | 804 | bx lr | |
805 | 805 | |||
displayMaj: @ display "maj" r4 must be address of synthText r6 must be current map index | 806 | 806 | displayMaj: @ display "maj" r4 must be address of synthText r6 must be current map index | |
push {r0-r5,r7-r12,lr} | 807 | 807 | push {r0-r5,r7-r12,lr} | |
add r6,r6,#2 @ load location to place tile | 808 | 808 | add r6,r6,#1 @ load location to place tile | |
ldrh r0,=109 @ load index for 'm' | 809 | 809 | ldrh r0,=109 @ load index for 'm' | |
strh r0,[r4,r6] @ change tile map | 810 | 810 | strb r0,[r4,r6] @ change tile map | |
add r6,r6,#2 | 811 | 811 | add r6,r6,#1 | |
ldrh r0,=97 @ load index for 'a' | 812 | 812 | ldrh r0,=97 @ load index for 'a' | |
strh r0,[r4,r6] @ change tile map | 813 | 813 | strb r0,[r4,r6] @ change tile map | |
add r6,r6,#2 | 814 | 814 | add r6,r6,#1 | |
ldrh r0,=106 @ load index for 'j' | 815 | 815 | ldrh r0,=106 @ load index for 'j' | |
strh r0,[r4,r6] @ change tile map | 816 | 816 | strb r0,[r4,r6] @ change tile map | |
pop {r0-r5,r7-r12,lr} | 817 | 817 | pop {r0-r5,r7-r12,lr} | |
bx lr | 818 | 818 | bx lr | |
819 | 819 | |||
displayMin: @ same as displayMaj | 820 | 820 | displayMin: @ same as displayMaj but for minor scales | |
push {r0-r5,r7-r12,lr} | 821 | 821 | push {r0-r5,r7-r12,lr} | |
add r6,r6,#2 @ load location to place tile | 822 | 822 | add r6,r6,#1 @ load location to place tile | |
ldrh r0,=109 @ load index for 'm' | 823 | 823 | ldrh r0,=109 @ load index for 'm' | |
strh r0,[r4,r6] @ change tile map | 824 | 824 | strb r0,[r4,r6] @ change tile map | |
add r6,r6,#2 @ inc location | 825 | 825 | add r6,r6,#1 @ inc location | |
ldrh r0,=105 @ load index for 'i' | 826 | 826 | ldrh r0,=105 @ load index for 'i' | |
strh r0,[r4,r6] @ change tile map | 827 | 827 | strb r0,[r4,r6] @ change tile map | |
add r6,r6,#2 @ inc location | 828 | 828 | add r6,r6,#1 @ inc location | |
ldrh r0,=110 @ load index for 'n' | 829 | 829 | ldrh r0,=110 @ load index for 'n' | |
strh r0,[r4,r6] @ change tile map | 830 | 830 | strb r0,[r4,r6] @ change tile map | |
pop {r0-r5,r7-r12,lr} | 831 | 831 | pop {r0-r5,r7-r12,lr} | |
bx lr | 832 | 832 | bx lr | |
833 | 833 | |||
displayKeyMaj: | 834 | 834 | displayKeyMaj: | |
push {r0-r5,r7-r12,lr} | 835 | 835 | push {r0-r5,r7-r12,lr} | |
ldr r4,=synthText | 836 | 836 | ldr r4,=synthText | |
ldr r0,=key | 837 | 837 | ldr r0,=key | |
ldr r0,[r0] | 838 | 838 | ldr r0,[r0] | |
cmp r0,#0 | 839 | 839 | cmp r0,#0 | |
ldreqh r0,=67 @ C | 840 | 840 | ldreqh r0,=67 @ C | |
@@ Sharp Key Sigs Major @@ | 841 | 841 | @@ Sharp Key Sigs Major @@ | |
cmp r0,#1 | 842 | 842 | cmp r0,#1 | |
ldreqh r0,=71 @ G | 843 | 843 | ldreqh r0,=71 @ G | |
cmp r0,#2 | 844 | 844 | cmp r0,#2 | |
ldreqh r0,=68 @ Dmaj | 845 | 845 | ldreqh r0,=68 @ Dmaj | |
cmp r0,#3 | 846 | 846 | cmp r0,#3 | |
ldreqh r0,=65 @ Amaj | 847 | 847 | ldreqh r0,=65 @ Amaj | |
cmp r0,#4 | 848 | 848 | cmp r0,#4 | |
ldreqh r0,=69 @ Emaj | 849 | 849 | ldreqh r0,=69 @ Emaj | |
cmp r0,#5 | 850 | 850 | cmp r0,#5 | |
ldreqh r0,=66 @ Bmaj | 851 | 851 | ldreqh r0,=66 @ Bmaj | |
cmp r0,#6 | 852 | 852 | cmp r0,#6 | |
ldreqh r0,=70 @ F#maj | 853 | 853 | ldreqh r0,=70 @ F#maj | |
moveq r3,#1 @ sharp flag | 854 | 854 | moveq r3,#1 @ sharp flag | |
cmp r0,#7 | 855 | 855 | cmp r0,#7 | |
ldreqh r0,=67 @ C#maj | 856 | 856 | ldreqh r0,=67 @ C#maj | |
moveq r3,#1 @ sharp flag | 857 | 857 | moveq r3,#1 @ sharp flag | |
@@ Flat Key Sigs Major @@ | 858 | 858 | @@ Flat Key Sigs Major @@ | |
cmp r0,#8 | 859 | 859 | cmp r0,#8 | |
ldreqh r0,=70 @ Fmaj | 860 | 860 | ldreqh r0,=70 @ Fmaj | |
cmp r0,#9 | 861 | 861 | cmp r0,#9 | |
ldreqh r0,=66 @ Bbmaj | 862 | 862 | ldreqh r0,=66 @ Bbmaj | |
moveq r3,#2 @ flat flag | 863 | 863 | moveq r3,#2 @ flat flag | |
cmp r0,#10 | 864 | 864 | cmp r0,#10 | |
ldreqh r0,=69 @ Ebmaj | 865 | 865 | ldreqh r0,=69 @ Ebmaj | |
moveq r3,#2 @ flat flag | 866 | 866 | moveq r3,#2 @ flat flag | |
cmp r0,#11 | 867 | 867 | cmp r0,#11 | |
ldreqh r0,=65 @ Abmaj | 868 | 868 | ldreqh r0,=65 @ Abmaj | |
moveq r3,#2 @ flat flag | 869 | 869 | moveq r3,#2 @ flat flag | |
cmp r0,#12 | 870 | 870 | cmp r0,#12 | |
ldreqh r0,=68 @ Dbmaj | 871 | 871 | ldreqh r0,=68 @ Dbmaj | |
moveq r3,#2 @ flat flag | 872 | 872 | moveq r3,#2 @ flat flag | |
cmp r0,#13 | 873 | 873 | cmp r0,#13 | |
ldreqh r0,=71 @ Gbmaj | 874 | 874 | ldreqh r0,=71 @ Gbmaj | |
moveq r3,#2 @ flat flag | 875 | 875 | moveq r3,#2 @ flat flag | |
cmp r0,#14 | 876 | 876 | cmp r0,#14 | |
ldreqh r0,=67 @ Cbmaj | 877 | 877 | ldreqh r0,=67 @ Cbmaj | |
moveq r3,#2 @ flat flag | 878 | 878 | moveq r3,#2 @ flat flag | |
879 | 879 | |||
ldr r6,=1216 @ Store the tile id | 880 | 880 | ldr r6,=608 @ Store the tile id | |
strh r0,[r4,r6] | 881 | 881 | strb r0,[r4,r6] | |
882 | 882 | |||
add r6,r6,#2 | 883 | 883 | add r6,r6,#1 | |
ldrh r0,=32 | 884 | 884 | ldrb r0,=32 | |
strh r0,[r4,r6] | 885 | 885 | strb r0,[r4,r6] | |
@@ Display # or b if sharp or flat | 886 | 886 | @@ Display # or b if sharp or flat | |
cmp r3,#1 | 887 | 887 | cmp r3,#1 | |
ldreqh r0,=128 @@ sharp sign | 888 | 888 | ldreqb r0,=128 @@ sharp sign | |
streqh r0,[r4,r6] | 889 | 889 | streqb r0,[r4,r6] | |
cmp r3,#2 | 890 | 890 | cmp r3,#2 | |
ldreqh r0,=129 @@ flat sign | 891 | 891 | ldreqb r0,=129 @@ flat sign | |
streqh r0,[r4,r6] | 892 | 892 | streqb r0,[r4,r6] | |
pop {r0-r5,r7-r12,lr} | 893 | 893 | pop {r0-r5,r7-r12,lr} | |
bx lr | 894 | 894 | bx lr | |
895 | 895 | |||
displayKeyMin: | 896 | 896 | displayKeyMin: | |
push {r0-r5,r7-r12,lr} | 897 | 897 | push {r0-r5,r7-r12,lr} | |
ldr r4,=synthText | 898 | 898 | ldr r4,=synthText | |
ldr r0,=key | 899 | 899 | ldr r0,=key | |
ldr r0,[r0] | 900 | 900 | ldr r0,[r0] | |
cmp r0,#0 | 901 | 901 | cmp r0,#0 | |
ldreqh r0,=65 @ A | 902 | 902 | ldreqh r0,=65 @ A | |
@@ Sharp Key Sigs Major @@ | 903 | 903 | @@ Sharp Key Sigs Major @@ | |
cmp r0,#1 | 904 | 904 | cmp r0,#1 | |
ldreqh r0,=69 @ E | 905 | 905 | ldreqh r0,=69 @ E | |
cmp r0,#2 | 906 | 906 | cmp r0,#2 | |
ldreqh r0,=66 @ B | 907 | 907 | ldreqh r0,=66 @ B | |
cmp r0,#3 | 908 | 908 | cmp r0,#3 | |
ldreqh r0,=70 @ F# | 909 | 909 | ldreqh r0,=70 @ F# | |
moveq r3,#1 @ sharp flag | 910 | 910 | moveq r3,#1 @ sharp flag | |
cmp r0,#4 | 911 | 911 | cmp r0,#4 | |
ldreqh r0,=67 @ C# | 912 | 912 | ldreqh r0,=67 @ C# | |
moveq r3,#1 @ sharp flag | 913 | 913 | moveq r3,#1 @ sharp flag | |
cmp r0,#5 | 914 | 914 | cmp r0,#5 | |
ldreqh r0,=71 @ G# | 915 | 915 | ldreqh r0,=71 @ G# | |
moveq r3,#1 @ sharp flag | 916 | 916 | moveq r3,#1 @ sharp flag | |
cmp r0,#6 | 917 | 917 | cmp r0,#6 | |
ldreqh r0,=68 @ D# | 918 | 918 | ldreqh r0,=68 @ D# | |
moveq r3,#1 @ sharp flag | 919 | 919 | moveq r3,#1 @ sharp flag | |
cmp r0,#7 | 920 | 920 | cmp r0,#7 | |
ldreqh r0,=65 @ A# | 921 | 921 | ldreqh r0,=65 @ A# | |
moveq r3,#1 @ sharp flag | 922 | 922 | moveq r3,#1 @ sharp flag | |
@@ Flat Key Sigs Major @@ | 923 | 923 | @@ Flat Key Sigs Major @@ | |
cmp r0,#8 | 924 | 924 | cmp r0,#8 | |
ldreqh r0,=68 @ D | 925 | 925 | ldreqh r0,=68 @ D | |
cmp r0,#9 | 926 | 926 | cmp r0,#9 | |
ldreqh r0,=71 @ G | 927 | 927 | ldreqh r0,=71 @ G | |
cmp r0,#10 | 928 | 928 | cmp r0,#10 | |
ldreqh r0,=67 @ C | 929 | 929 | ldreqh r0,=67 @ C | |
cmp r0,#11 | 930 | 930 | cmp r0,#11 | |
ldreqh r0,=70 @ F | 931 | 931 | ldreqh r0,=70 @ F | |
cmp r0,#12 | 932 | 932 | cmp r0,#12 | |
ldreqh r0,=66 @ Bb | 933 | 933 | ldreqh r0,=66 @ Bb | |
moveq r3,#2 @ flat flag | 934 | 934 | moveq r3,#2 @ flat flag | |
cmp r0,#13 | 935 | 935 | cmp r0,#13 | |
ldreqh r0,=69 @ Eb | 936 | 936 | ldreqh r0,=69 @ Eb | |
moveq r3,#2 @ flat flag | 937 | 937 | moveq r3,#2 @ flat flag | |
cmp r0,#14 | 938 | 938 | cmp r0,#14 | |
ldreqh r0,=65 @ Ab | 939 | 939 | ldreqh r0,=65 @ Ab | |
moveq r3,#2 @ flat flag | 940 | 940 | moveq r3,#2 @ flat flag | |
941 | 941 | |||
ldr r6,=1216 @ Store the tile id | 942 | 942 | ldr r6,=608 @ Store the tile id | |
strh r0,[r4,r6] | 943 | 943 | strb r0,[r4,r6] | |
944 | 944 | |||
add r6,r6,#2 | 945 | 945 | add r6,r6,#1 | |
ldrh r0,=32 | 946 | 946 | ldrb r0,=32 | |
strh r0,[r4,r6] | 947 | 947 | strb r0,[r4,r6] | |
@@ Display # or b if sharp or flat | 948 | 948 | @@ Display # or b if sharp or flat | |
cmp r3,#1 | 949 | 949 | cmp r3,#1 | |
ldreqh r0,=128 @@ sharp sign | 950 | 950 | ldreqb r0,=128 @@ sharp sign | |
streqh r0,[r4,r6] | 951 | 951 | streqb r0,[r4,r6] | |
cmp r3,#2 | 952 | 952 | cmp r3,#2 | |
ldreqh r0,=129 @@ flat sign | 953 | 953 | ldreqb r0,=129 @@ flat sign | |
streqh r0,[r4,r6] | 954 | 954 | streqb r0,[r4,r6] | |
pop {r0-r5,r7-r12,lr} | 955 | 955 | pop {r0-r5,r7-r12,lr} | |
bx lr | 956 | 956 | bx lr | |
957 | 957 | |||
@ vim: syntax=armasm | 958 | 958 | @ vim: syntax=armasm | |
959 | 959 | |||