diff --git a/background/Makefile b/background/Makefile new file mode 100644 index 0000000..62c6241 --- /dev/null +++ b/background/Makefile @@ -0,0 +1,16 @@ +AS = lcc -c +CC = lcc -Wa-l -Wl-m + +BIN = background.gb +OBJS = background.o + +all: $(BIN) + +$.s: %.ms + maccer -o $@ $< + +$(BIN): $(OBJS) + $(CC) -o $(BIN) $(OBJS) + +clean: + rm -rf $(BIN) $(OBJS) *~ diff --git a/background/background.c b/background/background.c new file mode 100644 index 0000000..a8d5803 --- /dev/null +++ b/background/background.c @@ -0,0 +1,13 @@ +#include +#include "bg_data.c" +#include "bg_data.map" + +void main() { + set_bkg_data(0, 131, tiledata); + VBK_REG = 1; + VBK_REG = 0; + set_bkg_tiles(0, 0, 20, 18, tilemap); + + SHOW_BKG; + DISPLAY_ON; +} diff --git a/background/background.gb b/background/background.gb new file mode 100644 index 0000000..998ee97 Binary files /dev/null and b/background/background.gb differ diff --git a/background/background.lst b/background/background.lst new file mode 100644 index 0000000..a41a031 --- /dev/null +++ b/background/background.lst @@ -0,0 +1,2642 @@ + 1 ;-------------------------------------------------------- + 2 ; File Created by SDCC : FreeWare ANSI-C Compiler + 3 ; Version 2.3.1 Wed Jul 8 08:46:26 2020 + 4 + 5 ;-------------------------------------------------------- + 6 .module lcc2248360 + 7 + 8 ;-------------------------------------------------------- + 9 ; Public variables in this module + 10 ;-------------------------------------------------------- + 11 .globl _main + 12 .globl _tilemap + 13 .globl _tiledata + 14 ;-------------------------------------------------------- + 15 ; special function registers + 16 ;-------------------------------------------------------- + 17 ;-------------------------------------------------------- + 18 ; special function bits + 19 ;-------------------------------------------------------- + 20 ;-------------------------------------------------------- + 21 ; internal ram data + 22 ;-------------------------------------------------------- + 23 .area _DATA + 24 ;-------------------------------------------------------- + 25 ; overlayable items in internal ram + 26 ;-------------------------------------------------------- + 27 .area _OVERLAY + 28 ;-------------------------------------------------------- + 29 ; indirectly addressable internal ram data + 30 ;-------------------------------------------------------- + 31 .area _ISEG + 32 ;-------------------------------------------------------- + 33 ; bit data + 34 ;-------------------------------------------------------- + 35 .area _BSEG + 36 ;-------------------------------------------------------- + 37 ; external ram data + 38 ;-------------------------------------------------------- + 39 .area _XSEG + 40 ;-------------------------------------------------------- + 41 ; global & static initialisations + 42 ;-------------------------------------------------------- + 43 .area _GSINIT + 44 .area _GSFINAL + 45 .area _GSINIT + 46 ;-------------------------------------------------------- + 47 ; Home + 48 ;-------------------------------------------------------- + 49 .area _HOME + 50 .area _CODE + 51 ;-------------------------------------------------------- + 52 ; code + 53 ;-------------------------------------------------------- + 54 .area _CODE + 55 ; background.c 5 + 56 ; genLabel + 57 ; genFunction + 58 ; --------------------------------- + 59 ; Function main + 60 ; --------------------------------- + 0000 61 ___main_start: + 0000 62 _main: + 0000 E8 FD 63 lda sp,-3(sp) + 64 ; background.c 6 + 65 ; genIpush + 66 ; _saveRegsForCall: sendSetSize: 0 deInUse: 0 bcInUse: 0 deSending: 0 + 0002 21 5A 00 67 ld hl,#_tiledata + 0005 E5 68 push hl + 69 ; genIpush + 0006 21 00 83 70 ld hl,#0x8300 + 0009 E5 71 push hl + 72 ; genCall + 000A CD 00 00 73 call _set_bkg_data + 000D E8 04 74 lda sp,4(sp) + 75 ; background.c 7 + 76 ; genAssign + 000F 01 4F FF 77 ld bc,#0xFF4F + 78 ; genAssign (pointer) + 0012 3E 01 79 ld a,#0x01 + 0014 02 80 ld (bc),a + 81 ; background.c 8 + 82 ; genAssign + 0015 01 4F FF 83 ld bc,#0xFF4F + 84 ; genAssign (pointer) + 0018 3E 00 85 ld a,#0x00 + 001A 02 86 ld (bc),a + 87 ; background.c 9 + 88 ; genIpush + 89 ; _saveRegsForCall: sendSetSize: 0 deInUse: 0 bcInUse: 0 deSending: 0 + 001B 21 8A 08 90 ld hl,#_tilemap + 001E E5 91 push hl + 92 ; genIpush + 001F 21 14 12 93 ld hl,#0x1214 + 0022 E5 94 push hl + 95 ; genIpush + 0023 21 00 00 96 ld hl,#0x0000 + 0026 E5 97 push hl + 98 ; genCall + 0027 CD 00 00 99 call _set_bkg_tiles + 002A E8 06 100 lda sp,6(sp) + 101 ; background.c 11 + 102 ; genAssign + 002C 01 40 FF 103 ld bc,#0xFF40 + 104 ; genAssign + 105 ; AOP_STK for _main_sloc0_1_0 + 002F F8 01 106 lda hl,1(sp) + 0031 36 40 107 ld (hl),#0x40 + 0033 23 108 inc hl + 0034 36 FF 109 ld (hl),#0xFF + 110 ; genPointerGet + 111 ; AOP_STK for _main_sloc0_1_0 + 112 ; AOP_STK for _main_sloc1_1_0 + 0036 2B 113 dec hl + 0037 5E 114 ld e,(hl) + 0038 23 115 inc hl + 0039 56 116 ld d,(hl) + 003A 1A 117 ld a,(de) + 003B 2B 118 dec hl + 003C 2B 119 dec hl + 120 ; genOr + 121 ; AOP_STK for _main_sloc1_1_0 + 003D 77 122 ld (hl),a + 003E 7F 123 ld a,a + 003F F6 01 124 or a,#0x01 + 125 ; genAssign (pointer) + 0041 02 126 ld (bc),a + 127 ; background.c 12 + 128 ; genAssign + 0042 01 40 FF 129 ld bc,#0xFF40 + 130 ; genAssign + 131 ; AOP_STK for _main_sloc0_1_0 + 0045 23 132 inc hl + 0046 36 40 133 ld (hl),#0x40 + 0048 23 134 inc hl + 0049 36 FF 135 ld (hl),#0xFF + 136 ; genPointerGet + 137 ; AOP_STK for _main_sloc0_1_0 + 138 ; AOP_STK for _main_sloc1_1_0 + 004B 2B 139 dec hl + 004C 5E 140 ld e,(hl) + 004D 23 141 inc hl + 004E 56 142 ld d,(hl) + 004F 1A 143 ld a,(de) + 0050 2B 144 dec hl + 0051 2B 145 dec hl + 146 ; genOr + 147 ; AOP_STK for _main_sloc1_1_0 + 0052 77 148 ld (hl),a + 0053 7F 149 ld a,a + 0054 F6 80 150 or a,#0x80 + 151 ; genAssign (pointer) + 0056 02 152 ld (bc),a + 153 ; genLabel + 0057 154 00101$: + 155 ; genEndFunction + 0057 E8 03 156 lda sp,3(sp) + 0059 C9 157 ret + 005A 158 ___main_end: + 005A 159 _tiledata: + 005A 00 160 .db #0x00 + 005B 00 161 .db #0x00 + 005C 00 162 .db #0x00 + 005D 00 163 .db #0x00 + 005E 00 164 .db #0x00 + 005F 00 165 .db #0x00 + 0060 00 166 .db #0x00 + 0061 00 167 .db #0x00 + 0062 00 168 .db #0x00 + 0063 00 169 .db #0x00 + 0064 00 170 .db #0x00 + 0065 00 171 .db #0x00 + 0066 00 172 .db #0x00 + 0067 00 173 .db #0x00 + 0068 00 174 .db #0x00 + 0069 00 175 .db #0x00 + 006A DF 176 .db #0xDF + 006B DF 177 .db #0xDF + 006C C1 178 .db #0xC1 + 006D C1 179 .db #0xC1 + 006E C0 180 .db #0xC0 + 006F C0 181 .db #0xC0 + 0070 C0 182 .db #0xC0 + 0071 C0 183 .db #0xC0 + 0072 E0 184 .db #0xE0 + 0073 E0 185 .db #0xE0 + 0074 E0 186 .db #0xE0 + 0075 E0 187 .db #0xE0 + 0076 E0 188 .db #0xE0 + 0077 E0 189 .db #0xE0 + 0078 E0 190 .db #0xE0 + 0079 E0 191 .db #0xE0 + 007A FF 192 .db #0xFF + 007B FF 193 .db #0xFF + 007C FF 194 .db #0xFF + 007D FF 195 .db #0xFF + 007E FF 196 .db #0xFF + 007F FF 197 .db #0xFF + 0080 3F 198 .db #0x3F + 0081 3F 199 .db #0x3F + 0082 0F 200 .db #0x0F + 0083 0F 201 .db #0x0F + 0084 01 202 .db #0x01 + 0085 01 203 .db #0x01 + 0086 00 204 .db #0x00 + 0087 00 205 .db #0x00 + 0088 00 206 .db #0x00 + 0089 00 207 .db #0x00 + 008A FF 208 .db #0xFF + 008B FF 209 .db #0xFF + 008C FF 210 .db #0xFF + 008D FF 211 .db #0xFF + 008E FF 212 .db #0xFF + 008F FF 213 .db #0xFF + 0090 FF 214 .db #0xFF + 0091 FF 215 .db #0xFF + 0092 FF 216 .db #0xFF + 0093 FF 217 .db #0xFF + 0094 FF 218 .db #0xFF + 0095 FF 219 .db #0xFF + 0096 7F 220 .db #0x7F + 0097 7F 221 .db #0x7F + 0098 1F 222 .db #0x1F + 0099 1F 223 .db #0x1F + 009A FF 224 .db #0xFF + 009B FF 225 .db #0xFF + 009C FF 226 .db #0xFF + 009D FF 227 .db #0xFF + 009E FF 228 .db #0xFF + 009F FF 229 .db #0xFF + 00A0 FF 230 .db #0xFF + 00A1 FF 231 .db #0xFF + 00A2 FF 232 .db #0xFF + 00A3 FF 233 .db #0xFF + 00A4 FF 234 .db #0xFF + 00A5 FF 235 .db #0xFF + 00A6 FF 236 .db #0xFF + 00A7 FF 237 .db #0xFF + 00A8 FF 238 .db #0xFF + 00A9 FF 239 .db #0xFF + 00AA FF 240 .db #0xFF + 00AB FF 241 .db #0xFF + 00AC FF 242 .db #0xFF + 00AD FF 243 .db #0xFF + 00AE FF 244 .db #0xFF + 00AF FF 245 .db #0xFF + 00B0 FF 246 .db #0xFF + 00B1 FF 247 .db #0xFF + 00B2 FF 248 .db #0xFF + 00B3 FF 249 .db #0xFF + 00B4 FF 250 .db #0xFF + 00B5 FF 251 .db #0xFF + 00B6 FE 252 .db #0xFE + 00B7 FE 253 .db #0xFE + 00B8 F8 254 .db #0xF8 + 00B9 F8 255 .db #0xF8 + 00BA FE 256 .db #0xFE + 00BB FE 257 .db #0xFE + 00BC FC 258 .db #0xFC + 00BD FC 259 .db #0xFC + 00BE F8 260 .db #0xF8 + 00BF F8 261 .db #0xF8 + 00C0 F0 262 .db #0xF0 + 00C1 F0 263 .db #0xF0 + 00C2 C0 264 .db #0xC0 + 00C3 C0 265 .db #0xC0 + 00C4 00 266 .db #0x00 + 00C5 00 267 .db #0x00 + 00C6 00 268 .db #0x00 + 00C7 00 269 .db #0x00 + 00C8 00 270 .db #0x00 + 00C9 00 271 .db #0x00 + 00CA 00 272 .db #0x00 + 00CB 00 273 .db #0x00 + 00CC 00 274 .db #0x00 + 00CD 00 275 .db #0x00 + 00CE 01 276 .db #0x01 + 00CF 01 277 .db #0x01 + 00D0 01 278 .db #0x01 + 00D1 01 279 .db #0x01 + 00D2 03 280 .db #0x03 + 00D3 03 281 .db #0x03 + 00D4 07 282 .db #0x07 + 00D5 07 283 .db #0x07 + 00D6 07 284 .db #0x07 + 00D7 07 285 .db #0x07 + 00D8 0F 286 .db #0x0F + 00D9 0F 287 .db #0x0F + 00DA E0 288 .db #0xE0 + 00DB E0 289 .db #0xE0 + 00DC E0 290 .db #0xE0 + 00DD E0 291 .db #0xE0 + 00DE F0 292 .db #0xF0 + 00DF F0 293 .db #0xF0 + 00E0 F0 294 .db #0xF0 + 00E1 F0 295 .db #0xF0 + 00E2 F0 296 .db #0xF0 + 00E3 F0 297 .db #0xF0 + 00E4 F8 298 .db #0xF8 + 00E5 F8 299 .db #0xF8 + 00E6 F8 300 .db #0xF8 + 00E7 F8 301 .db #0xF8 + 00E8 F8 302 .db #0xF8 + 00E9 F8 303 .db #0xF8 + 00EA 03 304 .db #0x03 + 00EB 03 305 .db #0x03 + 00EC 00 306 .db #0x00 + 00ED 00 307 .db #0x00 + 00EE 00 308 .db #0x00 + 00EF 00 309 .db #0x00 + 00F0 00 310 .db #0x00 + 00F1 00 311 .db #0x00 + 00F2 00 312 .db #0x00 + 00F3 00 313 .db #0x00 + 00F4 00 314 .db #0x00 + 00F5 00 315 .db #0x00 + 00F6 00 316 .db #0x00 + 00F7 00 317 .db #0x00 + 00F8 00 318 .db #0x00 + 00F9 00 319 .db #0x00 + 00FA FF 320 .db #0xFF + 00FB FF 321 .db #0xFF + 00FC 0F 322 .db #0x0F + 00FD 0F 323 .db #0x0F + 00FE 00 324 .db #0x00 + 00FF 00 325 .db #0x00 + 0100 00 326 .db #0x00 + 0101 00 327 .db #0x00 + 0102 00 328 .db #0x00 + 0103 00 329 .db #0x00 + 0104 00 330 .db #0x00 + 0105 00 331 .db #0x00 + 0106 00 332 .db #0x00 + 0107 00 333 .db #0x00 + 0108 00 334 .db #0x00 + 0109 00 335 .db #0x00 + 010A FF 336 .db #0xFF + 010B FF 337 .db #0xFF + 010C FF 338 .db #0xFF + 010D FF 339 .db #0xFF + 010E 7F 340 .db #0x7F + 010F 7F 341 .db #0x7F + 0110 07 342 .db #0x07 + 0111 07 343 .db #0x07 + 0112 00 344 .db #0x00 + 0113 00 345 .db #0x00 + 0114 00 346 .db #0x00 + 0115 00 347 .db #0x00 + 0116 00 348 .db #0x00 + 0117 00 349 .db #0x00 + 0118 00 350 .db #0x00 + 0119 00 351 .db #0x00 + 011A FF 352 .db #0xFF + 011B FF 353 .db #0xFF + 011C FF 354 .db #0xFF + 011D FF 355 .db #0xFF + 011E FF 356 .db #0xFF + 011F FF 357 .db #0xFF + 0120 FF 358 .db #0xFF + 0121 FF 359 .db #0xFF + 0122 7F 360 .db #0x7F + 0123 7F 361 .db #0x7F + 0124 0F 362 .db #0x0F + 0125 0F 363 .db #0x0F + 0126 00 364 .db #0x00 + 0127 00 365 .db #0x00 + 0128 00 366 .db #0x00 + 0129 00 367 .db #0x00 + 012A FF 368 .db #0xFF + 012B FF 369 .db #0xFF + 012C FF 370 .db #0xFF + 012D FF 371 .db #0xFF + 012E FF 372 .db #0xFF + 012F FF 373 .db #0xFF + 0130 FF 374 .db #0xFF + 0131 FF 375 .db #0xFF + 0132 FF 376 .db #0xFF + 0133 FF 377 .db #0xFF + 0134 FF 378 .db #0xFF + 0135 FF 379 .db #0xFF + 0136 FF 380 .db #0xFF + 0137 FF 381 .db #0xFF + 0138 0F 382 .db #0x0F + 0139 0F 383 .db #0x0F + 013A FF 384 .db #0xFF + 013B FF 385 .db #0xFF + 013C FF 386 .db #0xFF + 013D FF 387 .db #0xFF + 013E FF 388 .db #0xFF + 013F FF 389 .db #0xFF + 0140 FF 390 .db #0xFF + 0141 FF 391 .db #0xFF + 0142 FF 392 .db #0xFF + 0143 FF 393 .db #0xFF + 0144 FF 394 .db #0xFF + 0145 FF 395 .db #0xFF + 0146 FF 396 .db #0xFF + 0147 FF 397 .db #0xFF + 0148 F8 398 .db #0xF8 + 0149 F8 399 .db #0xF8 + 014A FF 400 .db #0xFF + 014B FF 401 .db #0xFF + 014C FF 402 .db #0xFF + 014D FF 403 .db #0xFF + 014E FF 404 .db #0xFF + 014F FF 405 .db #0xFF + 0150 FF 406 .db #0xFF + 0151 FF 407 .db #0xFF + 0152 FF 408 .db #0xFF + 0153 FF 409 .db #0xFF + 0154 FF 410 .db #0xFF + 0155 FF 411 .db #0xFF + 0156 E0 412 .db #0xE0 + 0157 E0 413 .db #0xE0 + 0158 00 414 .db #0x00 + 0159 00 415 .db #0x00 + 015A FF 416 .db #0xFF + 015B FF 417 .db #0xFF + 015C FF 418 .db #0xFF + 015D FF 419 .db #0xFF + 015E FF 420 .db #0xFF + 015F FF 421 .db #0xFF + 0160 FC 422 .db #0xFC + 0161 FC 423 .db #0xFC + 0162 F0 424 .db #0xF0 + 0163 F0 425 .db #0xF0 + 0164 00 426 .db #0x00 + 0165 00 427 .db #0x00 + 0166 00 428 .db #0x00 + 0167 00 429 .db #0x00 + 0168 00 430 .db #0x00 + 0169 00 431 .db #0x00 + 016A E0 432 .db #0xE0 + 016B E0 433 .db #0xE0 + 016C C0 434 .db #0xC0 + 016D C0 435 .db #0xC0 + 016E 00 436 .db #0x00 + 016F 00 437 .db #0x00 + 0170 00 438 .db #0x00 + 0171 00 439 .db #0x00 + 0172 00 440 .db #0x00 + 0173 00 441 .db #0x00 + 0174 00 442 .db #0x00 + 0175 00 443 .db #0x00 + 0176 00 444 .db #0x00 + 0177 00 445 .db #0x00 + 0178 00 446 .db #0x00 + 0179 00 447 .db #0x00 + 017A 00 448 .db #0x00 + 017B 00 449 .db #0x00 + 017C 00 450 .db #0x00 + 017D 00 451 .db #0x00 + 017E 00 452 .db #0x00 + 017F 00 453 .db #0x00 + 0180 00 454 .db #0x00 + 0181 00 455 .db #0x00 + 0182 00 456 .db #0x00 + 0183 00 457 .db #0x00 + 0184 00 458 .db #0x00 + 0185 00 459 .db #0x00 + 0186 00 460 .db #0x00 + 0187 00 461 .db #0x00 + 0188 01 462 .db #0x01 + 0189 01 463 .db #0x01 + 018A 0F 464 .db #0x0F + 018B 0F 465 .db #0x0F + 018C 1F 466 .db #0x1F + 018D 1F 467 .db #0x1F + 018E 3F 468 .db #0x3F + 018F 3F 469 .db #0x3F + 0190 3F 470 .db #0x3F + 0191 3F 471 .db #0x3F + 0192 7F 472 .db #0x7F + 0193 7F 473 .db #0x7F + 0194 FF 474 .db #0xFF + 0195 FF 475 .db #0xFF + 0196 FF 476 .db #0xFF + 0197 FF 477 .db #0xFF + 0198 FF 478 .db #0xFF + 0199 FF 479 .db #0xFF + 019A F8 480 .db #0xF8 + 019B F8 481 .db #0xF8 + 019C FC 482 .db #0xFC + 019D FC 483 .db #0xFC + 019E FC 484 .db #0xFC + 019F FC 485 .db #0xFC + 01A0 FC 486 .db #0xFC + 01A1 FC 487 .db #0xFC + 01A2 FC 488 .db #0xFC + 01A3 FC 489 .db #0xFC + 01A4 FC 490 .db #0xFC + 01A5 FC 491 .db #0xFC + 01A6 FC 492 .db #0xFC + 01A7 FC 493 .db #0xFC + 01A8 FE 494 .db #0xFE + 01A9 FE 495 .db #0xFE + 01AA 00 496 .db #0x00 + 01AB 00 497 .db #0x00 + 01AC 00 498 .db #0x00 + 01AD 00 499 .db #0x00 + 01AE 00 500 .db #0x00 + 01AF 00 501 .db #0x00 + 01B0 00 502 .db #0x00 + 01B1 00 503 .db #0x00 + 01B2 40 504 .db #0x40 + 01B3 40 505 .db #0x40 + 01B4 40 506 .db #0x40 + 01B5 40 507 .db #0x40 + 01B6 C0 508 .db #0xC0 + 01B7 C0 509 .db #0xC0 + 01B8 80 510 .db #0x80 + 01B9 80 511 .db #0x80 + 01BA FF 512 .db #0xFF + 01BB FF 513 .db #0xFF + 01BC 01 514 .db #0x01 + 01BD 01 515 .db #0x01 + 01BE 00 516 .db #0x00 + 01BF 00 517 .db #0x00 + 01C0 00 518 .db #0x00 + 01C1 00 519 .db #0x00 + 01C2 00 520 .db #0x00 + 01C3 00 521 .db #0x00 + 01C4 00 522 .db #0x00 + 01C5 00 523 .db #0x00 + 01C6 00 524 .db #0x00 + 01C7 00 525 .db #0x00 + 01C8 00 526 .db #0x00 + 01C9 00 527 .db #0x00 + 01CA FF 528 .db #0xFF + 01CB FF 529 .db #0xFF + 01CC FF 530 .db #0xFF + 01CD FF 531 .db #0xFF + 01CE 00 532 .db #0x00 + 01CF 00 533 .db #0x00 + 01D0 00 534 .db #0x00 + 01D1 00 535 .db #0x00 + 01D2 00 536 .db #0x00 + 01D3 00 537 .db #0x00 + 01D4 00 538 .db #0x00 + 01D5 00 539 .db #0x00 + 01D6 00 540 .db #0x00 + 01D7 00 541 .db #0x00 + 01D8 00 542 .db #0x00 + 01D9 00 543 .db #0x00 + 01DA FF 544 .db #0xFF + 01DB FF 545 .db #0xFF + 01DC F0 546 .db #0xF0 + 01DD F0 547 .db #0xF0 + 01DE 00 548 .db #0x00 + 01DF 00 549 .db #0x00 + 01E0 00 550 .db #0x00 + 01E1 00 551 .db #0x00 + 01E2 00 552 .db #0x00 + 01E3 00 553 .db #0x00 + 01E4 00 554 .db #0x00 + 01E5 00 555 .db #0x00 + 01E6 00 556 .db #0x00 + 01E7 00 557 .db #0x00 + 01E8 00 558 .db #0x00 + 01E9 00 559 .db #0x00 + 01EA C0 560 .db #0xC0 + 01EB C0 561 .db #0xC0 + 01EC 00 562 .db #0x00 + 01ED 00 563 .db #0x00 + 01EE 00 564 .db #0x00 + 01EF 00 565 .db #0x00 + 01F0 00 566 .db #0x00 + 01F1 00 567 .db #0x00 + 01F2 00 568 .db #0x00 + 01F3 00 569 .db #0x00 + 01F4 04 570 .db #0x04 + 01F5 04 571 .db #0x04 + 01F6 0C 572 .db #0x0C + 01F7 0C 573 .db #0x0C + 01F8 18 574 .db #0x18 + 01F9 18 575 .db #0x18 + 01FA 01 576 .db #0x01 + 01FB 01 577 .db #0x01 + 01FC 03 578 .db #0x03 + 01FD 03 579 .db #0x03 + 01FE 07 580 .db #0x07 + 01FF 07 581 .db #0x07 + 0200 07 582 .db #0x07 + 0201 07 583 .db #0x07 + 0202 0F 584 .db #0x0F + 0203 0F 585 .db #0x0F + 0204 0F 586 .db #0x0F + 0205 0F 587 .db #0x0F + 0206 1F 588 .db #0x1F + 0207 1F 589 .db #0x1F + 0208 1F 590 .db #0x1F + 0209 1F 591 .db #0x1F + 020A FE 592 .db #0xFE + 020B FE 593 .db #0xFE + 020C FE 594 .db #0xFE + 020D FE 595 .db #0xFE + 020E FE 596 .db #0xFE + 020F FE 597 .db #0xFE + 0210 FF 598 .db #0xFF + 0211 FF 599 .db #0xFF + 0212 FF 600 .db #0xFF + 0213 FF 601 .db #0xFF + 0214 FF 602 .db #0xFF + 0215 FF 603 .db #0xFF + 0216 FF 604 .db #0xFF + 0217 FF 605 .db #0xFF + 0218 FF 606 .db #0xFF + 0219 FF 607 .db #0xFF + 021A 02 608 .db #0x02 + 021B 02 609 .db #0x02 + 021C 06 610 .db #0x06 + 021D 06 611 .db #0x06 + 021E 0C 612 .db #0x0C + 021F 0C 613 .db #0x0C + 0220 08 614 .db #0x08 + 0221 08 615 .db #0x08 + 0222 18 616 .db #0x18 + 0223 18 617 .db #0x18 + 0224 30 618 .db #0x30 + 0225 30 619 .db #0x30 + 0226 20 620 .db #0x20 + 0227 20 621 .db #0x20 + 0228 20 622 .db #0x20 + 0229 20 623 .db #0x20 + 022A 0C 624 .db #0x0C + 022B 0C 625 .db #0x0C + 022C 18 626 .db #0x18 + 022D 18 627 .db #0x18 + 022E 10 628 .db #0x10 + 022F 10 629 .db #0x10 + 0230 20 630 .db #0x20 + 0231 20 631 .db #0x20 + 0232 60 632 .db #0x60 + 0233 60 633 .db #0x60 + 0234 40 634 .db #0x40 + 0235 40 635 .db #0x40 + 0236 C0 636 .db #0xC0 + 0237 C0 637 .db #0xC0 + 0238 80 638 .db #0x80 + 0239 80 639 .db #0x80 + 023A 00 640 .db #0x00 + 023B 00 641 .db #0x00 + 023C 00 642 .db #0x00 + 023D 00 643 .db #0x00 + 023E 00 644 .db #0x00 + 023F 00 645 .db #0x00 + 0240 00 646 .db #0x00 + 0241 00 647 .db #0x00 + 0242 01 648 .db #0x01 + 0243 01 649 .db #0x01 + 0244 03 650 .db #0x03 + 0245 03 651 .db #0x03 + 0246 02 652 .db #0x02 + 0247 02 653 .db #0x02 + 0248 04 654 .db #0x04 + 0249 04 655 .db #0x04 + 024A 30 656 .db #0x30 + 024B 30 657 .db #0x30 + 024C 20 658 .db #0x20 + 024D 20 659 .db #0x20 + 024E 60 660 .db #0x60 + 024F 60 661 .db #0x60 + 0250 C0 662 .db #0xC0 + 0251 C0 663 .db #0xC0 + 0252 80 664 .db #0x80 + 0253 80 665 .db #0x80 + 0254 00 666 .db #0x00 + 0255 00 667 .db #0x00 + 0256 00 668 .db #0x00 + 0257 00 669 .db #0x00 + 0258 00 670 .db #0x00 + 0259 00 671 .db #0x00 + 025A 3F 672 .db #0x3F + 025B 3F 673 .db #0x3F + 025C 3F 674 .db #0x3F + 025D 3F 675 .db #0x3F + 025E 3F 676 .db #0x3F + 025F 3F 677 .db #0x3F + 0260 7F 678 .db #0x7F + 0261 7F 679 .db #0x7F + 0262 7F 680 .db #0x7F + 0263 7F 681 .db #0x7F + 0264 FF 682 .db #0xFF + 0265 FF 683 .db #0xFF + 0266 FF 684 .db #0xFF + 0267 FF 685 .db #0xFF + 0268 FF 686 .db #0xFF + 0269 FF 687 .db #0xFF + 026A 00 688 .db #0x00 + 026B 00 689 .db #0x00 + 026C 00 690 .db #0x00 + 026D 00 691 .db #0x00 + 026E 80 692 .db #0x80 + 026F 80 693 .db #0x80 + 0270 80 694 .db #0x80 + 0271 80 695 .db #0x80 + 0272 80 696 .db #0x80 + 0273 80 697 .db #0x80 + 0274 80 698 .db #0x80 + 0275 80 699 .db #0x80 + 0276 80 700 .db #0x80 + 0277 80 701 .db #0x80 + 0278 80 702 .db #0x80 + 0279 80 703 .db #0x80 + 027A 00 704 .db #0x00 + 027B 00 705 .db #0x00 + 027C 00 706 .db #0x00 + 027D 00 707 .db #0x00 + 027E 00 708 .db #0x00 + 027F 00 709 .db #0x00 + 0280 00 710 .db #0x00 + 0281 00 711 .db #0x00 + 0282 01 712 .db #0x01 + 0283 01 713 .db #0x01 + 0284 02 714 .db #0x02 + 0285 02 715 .db #0x02 + 0286 02 716 .db #0x02 + 0287 02 717 .db #0x02 + 0288 06 718 .db #0x06 + 0289 06 719 .db #0x06 + 028A 40 720 .db #0x40 + 028B 40 721 .db #0x40 + 028C C0 722 .db #0xC0 + 028D C0 723 .db #0xC0 + 028E 80 724 .db #0x80 + 028F 80 725 .db #0x80 + 0290 80 726 .db #0x80 + 0291 80 727 .db #0x80 + 0292 80 728 .db #0x80 + 0293 80 729 .db #0x80 + 0294 00 730 .db #0x00 + 0295 00 731 .db #0x00 + 0296 00 732 .db #0x00 + 0297 00 733 .db #0x00 + 0298 00 734 .db #0x00 + 0299 00 735 .db #0x00 + 029A 01 736 .db #0x01 + 029B 01 737 .db #0x01 + 029C 02 738 .db #0x02 + 029D 02 739 .db #0x02 + 029E 06 740 .db #0x06 + 029F 06 741 .db #0x06 + 02A0 08 742 .db #0x08 + 02A1 08 743 .db #0x08 + 02A2 18 744 .db #0x18 + 02A3 18 745 .db #0x18 + 02A4 30 746 .db #0x30 + 02A5 30 747 .db #0x30 + 02A6 60 748 .db #0x60 + 02A7 60 749 .db #0x60 + 02A8 40 750 .db #0x40 + 02A9 40 751 .db #0x40 + 02AA 08 752 .db #0x08 + 02AB 08 753 .db #0x08 + 02AC 18 754 .db #0x18 + 02AD 18 755 .db #0x18 + 02AE 30 756 .db #0x30 + 02AF 30 757 .db #0x30 + 02B0 60 758 .db #0x60 + 02B1 60 759 .db #0x60 + 02B2 40 760 .db #0x40 + 02B3 40 761 .db #0x40 + 02B4 C0 762 .db #0xC0 + 02B5 C0 763 .db #0xC0 + 02B6 80 764 .db #0x80 + 02B7 80 765 .db #0x80 + 02B8 00 766 .db #0x00 + 02B9 00 767 .db #0x00 + 02BA 00 768 .db #0x00 + 02BB 00 769 .db #0x00 + 02BC 01 770 .db #0x01 + 02BD 01 771 .db #0x01 + 02BE 01 772 .db #0x01 + 02BF 01 773 .db #0x01 + 02C0 03 774 .db #0x03 + 02C1 03 775 .db #0x03 + 02C2 03 776 .db #0x03 + 02C3 03 777 .db #0x03 + 02C4 03 778 .db #0x03 + 02C5 03 779 .db #0x03 + 02C6 07 780 .db #0x07 + 02C7 07 781 .db #0x07 + 02C8 07 782 .db #0x07 + 02C9 07 783 .db #0x07 + 02CA C0 784 .db #0xC0 + 02CB C0 785 .db #0xC0 + 02CC C0 786 .db #0xC0 + 02CD C0 787 .db #0xC0 + 02CE C0 788 .db #0xC0 + 02CF C0 789 .db #0xC0 + 02D0 C0 790 .db #0xC0 + 02D1 C0 791 .db #0xC0 + 02D2 C0 792 .db #0xC0 + 02D3 C0 793 .db #0xC0 + 02D4 C0 794 .db #0xC0 + 02D5 C0 795 .db #0xC0 + 02D6 C0 796 .db #0xC0 + 02D7 C0 797 .db #0xC0 + 02D8 C0 798 .db #0xC0 + 02D9 C0 799 .db #0xC0 + 02DA 04 800 .db #0x04 + 02DB 04 801 .db #0x04 + 02DC 08 802 .db #0x08 + 02DD 08 803 .db #0x08 + 02DE 08 804 .db #0x08 + 02DF 08 805 .db #0x08 + 02E0 10 806 .db #0x10 + 02E1 10 807 .db #0x10 + 02E2 30 808 .db #0x30 + 02E3 30 809 .db #0x30 + 02E4 20 810 .db #0x20 + 02E5 20 811 .db #0x20 + 02E6 00 812 .db #0x00 + 02E7 00 813 .db #0x00 + 02E8 00 814 .db #0x00 + 02E9 00 815 .db #0x00 + 02EA 00 816 .db #0x00 + 02EB 00 817 .db #0x00 + 02EC 01 818 .db #0x01 + 02ED 01 819 .db #0x01 + 02EE 03 820 .db #0x03 + 02EF 03 821 .db #0x03 + 02F0 02 822 .db #0x02 + 02F1 02 823 .db #0x02 + 02F2 06 824 .db #0x06 + 02F3 06 825 .db #0x06 + 02F4 04 826 .db #0x04 + 02F5 04 827 .db #0x04 + 02F6 08 828 .db #0x08 + 02F7 08 829 .db #0x08 + 02F8 18 830 .db #0x18 + 02F9 18 831 .db #0x18 + 02FA 80 832 .db #0x80 + 02FB 80 833 .db #0x80 + 02FC 80 834 .db #0x80 + 02FD 80 835 .db #0x80 + 02FE 00 836 .db #0x00 + 02FF 00 837 .db #0x00 + 0300 00 838 .db #0x00 + 0301 00 839 .db #0x00 + 0302 00 840 .db #0x00 + 0303 00 841 .db #0x00 + 0304 00 842 .db #0x00 + 0305 00 843 .db #0x00 + 0306 00 844 .db #0x00 + 0307 00 845 .db #0x00 + 0308 00 846 .db #0x00 + 0309 00 847 .db #0x00 + 030A 02 848 .db #0x02 + 030B 02 849 .db #0x02 + 030C 02 850 .db #0x02 + 030D 02 851 .db #0x02 + 030E 06 852 .db #0x06 + 030F 06 853 .db #0x06 + 0310 04 854 .db #0x04 + 0311 04 855 .db #0x04 + 0312 0C 856 .db #0x0C + 0313 0C 857 .db #0x0C + 0314 18 858 .db #0x18 + 0315 18 859 .db #0x18 + 0316 10 860 .db #0x10 + 0317 10 861 .db #0x10 + 0318 20 862 .db #0x20 + 0319 20 863 .db #0x20 + 031A 00 864 .db #0x00 + 031B 00 865 .db #0x00 + 031C 00 866 .db #0x00 + 031D 00 867 .db #0x00 + 031E 00 868 .db #0x00 + 031F 00 869 .db #0x00 + 0320 00 870 .db #0x00 + 0321 00 871 .db #0x00 + 0322 01 872 .db #0x01 + 0323 01 873 .db #0x01 + 0324 00 874 .db #0x00 + 0325 00 875 .db #0x00 + 0326 00 876 .db #0x00 + 0327 00 877 .db #0x00 + 0328 00 878 .db #0x00 + 0329 00 879 .db #0x00 + 032A 00 880 .db #0x00 + 032B 00 881 .db #0x00 + 032C 00 882 .db #0x00 + 032D 00 883 .db #0x00 + 032E 00 884 .db #0x00 + 032F 00 885 .db #0x00 + 0330 00 886 .db #0x00 + 0331 00 887 .db #0x00 + 0332 80 888 .db #0x80 + 0333 80 889 .db #0x80 + 0334 C0 890 .db #0xC0 + 0335 C0 891 .db #0xC0 + 0336 20 892 .db #0x20 + 0337 20 893 .db #0x20 + 0338 18 894 .db #0x18 + 0339 18 895 .db #0x18 + 033A 07 896 .db #0x07 + 033B 07 897 .db #0x07 + 033C 07 898 .db #0x07 + 033D 07 899 .db #0x07 + 033E 0F 900 .db #0x0F + 033F 0F 901 .db #0x0F + 0340 0F 902 .db #0x0F + 0341 0F 903 .db #0x0F + 0342 0F 904 .db #0x0F + 0343 0F 905 .db #0x0F + 0344 0F 906 .db #0x0F + 0345 0F 907 .db #0x0F + 0346 0F 908 .db #0x0F + 0347 0F 909 .db #0x0F + 0348 0F 910 .db #0x0F + 0349 0F 911 .db #0x0F + 034A E0 912 .db #0xE0 + 034B E0 913 .db #0xE0 + 034C E0 914 .db #0xE0 + 034D E0 915 .db #0xE0 + 034E E0 916 .db #0xE0 + 034F E0 917 .db #0xE0 + 0350 E0 918 .db #0xE0 + 0351 E0 919 .db #0xE0 + 0352 E0 920 .db #0xE0 + 0353 E0 921 .db #0xE0 + 0354 E0 922 .db #0xE0 + 0355 E0 923 .db #0xE0 + 0356 E0 924 .db #0xE0 + 0357 E0 925 .db #0xE0 + 0358 E0 926 .db #0xE0 + 0359 E0 927 .db #0xE0 + 035A 00 928 .db #0x00 + 035B 00 929 .db #0x00 + 035C 00 930 .db #0x00 + 035D 00 931 .db #0x00 + 035E 00 932 .db #0x00 + 035F 00 933 .db #0x00 + 0360 00 934 .db #0x00 + 0361 00 935 .db #0x00 + 0362 00 936 .db #0x00 + 0363 00 937 .db #0x00 + 0364 00 938 .db #0x00 + 0365 00 939 .db #0x00 + 0366 01 940 .db #0x01 + 0367 01 941 .db #0x01 + 0368 01 942 .db #0x01 + 0369 01 943 .db #0x01 + 036A 10 944 .db #0x10 + 036B 10 945 .db #0x10 + 036C 20 946 .db #0x20 + 036D 20 947 .db #0x20 + 036E 20 948 .db #0x20 + 036F 20 949 .db #0x20 + 0370 40 950 .db #0x40 + 0371 40 951 .db #0x40 + 0372 C0 952 .db #0xC0 + 0373 C0 953 .db #0xC0 + 0374 80 954 .db #0x80 + 0375 80 955 .db #0x80 + 0376 80 956 .db #0x80 + 0377 80 957 .db #0x80 + 0378 00 958 .db #0x00 + 0379 00 959 .db #0x00 + 037A 00 960 .db #0x00 + 037B 00 961 .db #0x00 + 037C 00 962 .db #0x00 + 037D 00 963 .db #0x00 + 037E 00 964 .db #0x00 + 037F 00 965 .db #0x00 + 0380 00 966 .db #0x00 + 0381 00 967 .db #0x00 + 0382 00 968 .db #0x00 + 0383 00 969 .db #0x00 + 0384 01 970 .db #0x01 + 0385 01 971 .db #0x01 + 0386 01 972 .db #0x01 + 0387 01 973 .db #0x01 + 0388 02 974 .db #0x02 + 0389 02 975 .db #0x02 + 038A 60 976 .db #0x60 + 038B 60 977 .db #0x60 + 038C 40 978 .db #0x40 + 038D 40 979 .db #0x40 + 038E 40 980 .db #0x40 + 038F 40 981 .db #0x40 + 0390 C0 982 .db #0xC0 + 0391 C0 983 .db #0xC0 + 0392 80 984 .db #0x80 + 0393 80 985 .db #0x80 + 0394 00 986 .db #0x00 + 0395 00 987 .db #0x00 + 0396 00 988 .db #0x00 + 0397 00 989 .db #0x00 + 0398 00 990 .db #0x00 + 0399 00 991 .db #0x00 + 039A 0C 992 .db #0x0C + 039B 0C 993 .db #0x0C + 039C 02 994 .db #0x02 + 039D 02 995 .db #0x02 + 039E 01 996 .db #0x01 + 039F 01 997 .db #0x01 + 03A0 00 998 .db #0x00 + 03A1 00 999 .db #0x00 + 03A2 00 1000 .db #0x00 + 03A3 00 1001 .db #0x00 + 03A4 00 1002 .db #0x00 + 03A5 00 1003 .db #0x00 + 03A6 00 1004 .db #0x00 + 03A7 00 1005 .db #0x00 + 03A8 00 1006 .db #0x00 + 03A9 00 1007 .db #0x00 + 03AA 00 1008 .db #0x00 + 03AB 00 1009 .db #0x00 + 03AC 00 1010 .db #0x00 + 03AD 00 1011 .db #0x00 + 03AE 80 1012 .db #0x80 + 03AF 80 1013 .db #0x80 + 03B0 80 1014 .db #0x80 + 03B1 80 1015 .db #0x80 + 03B2 60 1016 .db #0x60 + 03B3 60 1017 .db #0x60 + 03B4 18 1018 .db #0x18 + 03B5 18 1019 .db #0x18 + 03B6 04 1020 .db #0x04 + 03B7 04 1021 .db #0x04 + 03B8 03 1022 .db #0x03 + 03B9 03 1023 .db #0x03 + 03BA 1F 1024 .db #0x1F + 03BB 1F 1025 .db #0x1F + 03BC 1F 1026 .db #0x1F + 03BD 1F 1027 .db #0x1F + 03BE 1F 1028 .db #0x1F + 03BF 1F 1029 .db #0x1F + 03C0 1F 1030 .db #0x1F + 03C1 1F 1031 .db #0x1F + 03C2 1F 1032 .db #0x1F + 03C3 1F 1033 .db #0x1F + 03C4 1F 1034 .db #0x1F + 03C5 1F 1035 .db #0x1F + 03C6 1F 1036 .db #0x1F + 03C7 1F 1037 .db #0x1F + 03C8 1F 1038 .db #0x1F + 03C9 1F 1039 .db #0x1F + 03CA E0 1040 .db #0xE0 + 03CB E0 1041 .db #0xE0 + 03CC E0 1042 .db #0xE0 + 03CD E0 1043 .db #0xE0 + 03CE E0 1044 .db #0xE0 + 03CF E0 1045 .db #0xE0 + 03D0 E0 1046 .db #0xE0 + 03D1 E0 1047 .db #0xE0 + 03D2 E0 1048 .db #0xE0 + 03D3 E0 1049 .db #0xE0 + 03D4 F0 1050 .db #0xF0 + 03D5 F0 1051 .db #0xF0 + 03D6 F0 1052 .db #0xF0 + 03D7 F0 1053 .db #0xF0 + 03D8 F0 1054 .db #0xF0 + 03D9 F0 1055 .db #0xF0 + 03DA 02 1056 .db #0x02 + 03DB 02 1057 .db #0x02 + 03DC 06 1058 .db #0x06 + 03DD 06 1059 .db #0x06 + 03DE 0C 1060 .db #0x0C + 03DF 0C 1061 .db #0x0C + 03E0 08 1062 .db #0x08 + 03E1 08 1063 .db #0x08 + 03E2 18 1064 .db #0x18 + 03E3 18 1065 .db #0x18 + 03E4 30 1066 .db #0x30 + 03E5 30 1067 .db #0x30 + 03E6 20 1068 .db #0x20 + 03E7 20 1069 .db #0x20 + 03E8 40 1070 .db #0x40 + 03E9 40 1071 .db #0x40 + 03EA 02 1072 .db #0x02 + 03EB 02 1073 .db #0x02 + 03EC 06 1074 .db #0x06 + 03ED 06 1075 .db #0x06 + 03EE 0C 1076 .db #0x0C + 03EF 0C 1077 .db #0x0C + 03F0 08 1078 .db #0x08 + 03F1 08 1079 .db #0x08 + 03F2 18 1080 .db #0x18 + 03F3 18 1081 .db #0x18 + 03F4 10 1082 .db #0x10 + 03F5 10 1083 .db #0x10 + 03F6 10 1084 .db #0x10 + 03F7 10 1085 .db #0x10 + 03F8 20 1086 .db #0x20 + 03F9 20 1087 .db #0x20 + 03FA 01 1088 .db #0x01 + 03FB 01 1089 .db #0x01 + 03FC 00 1090 .db #0x00 + 03FD 00 1091 .db #0x00 + 03FE 00 1092 .db #0x00 + 03FF 00 1093 .db #0x00 + 0400 00 1094 .db #0x00 + 0401 00 1095 .db #0x00 + 0402 00 1096 .db #0x00 + 0403 00 1097 .db #0x00 + 0404 00 1098 .db #0x00 + 0405 00 1099 .db #0x00 + 0406 00 1100 .db #0x00 + 0407 00 1101 .db #0x00 + 0408 00 1102 .db #0x00 + 0409 00 1103 .db #0x00 + 040A 80 1104 .db #0x80 + 040B 80 1105 .db #0x80 + 040C 60 1106 .db #0x60 + 040D 60 1107 .db #0x60 + 040E 30 1108 .db #0x30 + 040F 30 1109 .db #0x30 + 0410 18 1110 .db #0x18 + 0411 18 1111 .db #0x18 + 0412 0E 1112 .db #0x0E + 0413 0E 1113 .db #0x0E + 0414 01 1114 .db #0x01 + 0415 01 1115 .db #0x01 + 0416 00 1116 .db #0x00 + 0417 00 1117 .db #0x00 + 0418 00 1118 .db #0x00 + 0419 00 1119 .db #0x00 + 041A 00 1120 .db #0x00 + 041B 00 1121 .db #0x00 + 041C 00 1122 .db #0x00 + 041D 00 1123 .db #0x00 + 041E 00 1124 .db #0x00 + 041F 00 1125 .db #0x00 + 0420 00 1126 .db #0x00 + 0421 00 1127 .db #0x00 + 0422 00 1128 .db #0x00 + 0423 00 1129 .db #0x00 + 0424 80 1130 .db #0x80 + 0425 80 1131 .db #0x80 + 0426 C0 1132 .db #0xC0 + 0427 C0 1133 .db #0xC0 + 0428 60 1134 .db #0x60 + 0429 60 1135 .db #0x60 + 042A 1F 1136 .db #0x1F + 042B 1F 1137 .db #0x1F + 042C 1F 1138 .db #0x1F + 042D 1F 1139 .db #0x1F + 042E 3F 1140 .db #0x3F + 042F 3F 1141 .db #0x3F + 0430 3F 1142 .db #0x3F + 0431 3F 1143 .db #0x3F + 0432 3F 1144 .db #0x3F + 0433 3F 1145 .db #0x3F + 0434 3F 1146 .db #0x3F + 0435 3F 1147 .db #0x3F + 0436 3F 1148 .db #0x3F + 0437 3F 1149 .db #0x3F + 0438 3F 1150 .db #0x3F + 0439 3F 1151 .db #0x3F + 043A F0 1152 .db #0xF0 + 043B F0 1153 .db #0xF0 + 043C F0 1154 .db #0xF0 + 043D F0 1155 .db #0xF0 + 043E F0 1156 .db #0xF0 + 043F F0 1157 .db #0xF0 + 0440 F0 1158 .db #0xF0 + 0441 F0 1159 .db #0xF0 + 0442 F0 1160 .db #0xF0 + 0443 F0 1161 .db #0xF0 + 0444 F0 1162 .db #0xF0 + 0445 F0 1163 .db #0xF0 + 0446 F0 1164 .db #0xF0 + 0447 F0 1165 .db #0xF0 + 0448 F0 1166 .db #0xF0 + 0449 F0 1167 .db #0xF0 + 044A 00 1168 .db #0x00 + 044B 00 1169 .db #0x00 + 044C 00 1170 .db #0x00 + 044D 00 1171 .db #0x00 + 044E 00 1172 .db #0x00 + 044F 00 1173 .db #0x00 + 0450 01 1174 .db #0x01 + 0451 01 1175 .db #0x01 + 0452 01 1176 .db #0x01 + 0453 01 1177 .db #0x01 + 0454 02 1178 .db #0x02 + 0455 02 1179 .db #0x02 + 0456 02 1180 .db #0x02 + 0457 02 1181 .db #0x02 + 0458 04 1182 .db #0x04 + 0459 04 1183 .db #0x04 + 045A 40 1184 .db #0x40 + 045B 40 1185 .db #0x40 + 045C 80 1186 .db #0x80 + 045D 80 1187 .db #0x80 + 045E 80 1188 .db #0x80 + 045F 80 1189 .db #0x80 + 0460 00 1190 .db #0x00 + 0461 00 1191 .db #0x00 + 0462 00 1192 .db #0x00 + 0463 00 1193 .db #0x00 + 0464 00 1194 .db #0x00 + 0465 00 1195 .db #0x00 + 0466 00 1196 .db #0x00 + 0467 00 1197 .db #0x00 + 0468 00 1198 .db #0x00 + 0469 00 1199 .db #0x00 + 046A 40 1200 .db #0x40 + 046B 40 1201 .db #0x40 + 046C 40 1202 .db #0x40 + 046D 40 1203 .db #0x40 + 046E 80 1204 .db #0x80 + 046F 80 1205 .db #0x80 + 0470 00 1206 .db #0x00 + 0471 00 1207 .db #0x00 + 0472 00 1208 .db #0x00 + 0473 00 1209 .db #0x00 + 0474 00 1210 .db #0x00 + 0475 00 1211 .db #0x00 + 0476 00 1212 .db #0x00 + 0477 00 1213 .db #0x00 + 0478 00 1214 .db #0x00 + 0479 00 1215 .db #0x00 + 047A 1C 1216 .db #0x1C + 047B 1C 1217 .db #0x1C + 047C 06 1218 .db #0x06 + 047D 06 1219 .db #0x06 + 047E 01 1220 .db #0x01 + 047F 01 1221 .db #0x01 + 0480 00 1222 .db #0x00 + 0481 00 1223 .db #0x00 + 0482 00 1224 .db #0x00 + 0483 00 1225 .db #0x00 + 0484 00 1226 .db #0x00 + 0485 00 1227 .db #0x00 + 0486 00 1228 .db #0x00 + 0487 00 1229 .db #0x00 + 0488 00 1230 .db #0x00 + 0489 00 1231 .db #0x00 + 048A 00 1232 .db #0x00 + 048B 00 1233 .db #0x00 + 048C 00 1234 .db #0x00 + 048D 00 1235 .db #0x00 + 048E C0 1236 .db #0xC0 + 048F C0 1237 .db #0xC0 + 0490 70 1238 .db #0x70 + 0491 70 1239 .db #0x70 + 0492 1C 1240 .db #0x1C + 0493 1C 1241 .db #0x1C + 0494 07 1242 .db #0x07 + 0495 07 1243 .db #0x07 + 0496 01 1244 .db #0x01 + 0497 01 1245 .db #0x01 + 0498 00 1246 .db #0x00 + 0499 00 1247 .db #0x00 + 049A 00 1248 .db #0x00 + 049B 00 1249 .db #0x00 + 049C 00 1250 .db #0x00 + 049D 00 1251 .db #0x00 + 049E 00 1252 .db #0x00 + 049F 00 1253 .db #0x00 + 04A0 00 1254 .db #0x00 + 04A1 00 1255 .db #0x00 + 04A2 00 1256 .db #0x00 + 04A3 00 1257 .db #0x00 + 04A4 00 1258 .db #0x00 + 04A5 00 1259 .db #0x00 + 04A6 C0 1260 .db #0xC0 + 04A7 C0 1261 .db #0xC0 + 04A8 60 1262 .db #0x60 + 04A9 60 1263 .db #0x60 + 04AA 3F 1264 .db #0x3F + 04AB 3F 1265 .db #0x3F + 04AC 3F 1266 .db #0x3F + 04AD 3F 1267 .db #0x3F + 04AE 3F 1268 .db #0x3F + 04AF 3F 1269 .db #0x3F + 04B0 3F 1270 .db #0x3F + 04B1 3F 1271 .db #0x3F + 04B2 3F 1272 .db #0x3F + 04B3 3F 1273 .db #0x3F + 04B4 3F 1274 .db #0x3F + 04B5 3F 1275 .db #0x3F + 04B6 1F 1276 .db #0x1F + 04B7 1F 1277 .db #0x1F + 04B8 1F 1278 .db #0x1F + 04B9 1F 1279 .db #0x1F + 04BA 08 1280 .db #0x08 + 04BB 08 1281 .db #0x08 + 04BC 10 1282 .db #0x10 + 04BD 10 1283 .db #0x10 + 04BE 10 1284 .db #0x10 + 04BF 10 1285 .db #0x10 + 04C0 10 1286 .db #0x10 + 04C1 10 1287 .db #0x10 + 04C2 20 1288 .db #0x20 + 04C3 20 1289 .db #0x20 + 04C4 20 1290 .db #0x20 + 04C5 20 1291 .db #0x20 + 04C6 40 1292 .db #0x40 + 04C7 40 1293 .db #0x40 + 04C8 40 1294 .db #0x40 + 04C9 40 1295 .db #0x40 + 04CA 0C 1296 .db #0x0C + 04CB 0C 1297 .db #0x0C + 04CC 08 1298 .db #0x08 + 04CD 08 1299 .db #0x08 + 04CE 10 1300 .db #0x10 + 04CF 10 1301 .db #0x10 + 04D0 10 1302 .db #0x10 + 04D1 10 1303 .db #0x10 + 04D2 30 1304 .db #0x30 + 04D3 30 1305 .db #0x30 + 04D4 60 1306 .db #0x60 + 04D5 60 1307 .db #0x60 + 04D6 40 1308 .db #0x40 + 04D7 40 1309 .db #0x40 + 04D8 40 1310 .db #0x40 + 04D9 40 1311 .db #0x40 + 04DA 00 1312 .db #0x00 + 04DB 00 1313 .db #0x00 + 04DC 01 1314 .db #0x01 + 04DD 01 1315 .db #0x01 + 04DE 01 1316 .db #0x01 + 04DF 01 1317 .db #0x01 + 04E0 03 1318 .db #0x03 + 04E1 03 1319 .db #0x03 + 04E2 02 1320 .db #0x02 + 04E3 02 1321 .db #0x02 + 04E4 04 1322 .db #0x04 + 04E5 04 1323 .db #0x04 + 04E6 04 1324 .db #0x04 + 04E7 04 1325 .db #0x04 + 04E8 08 1326 .db #0x08 + 04E9 08 1327 .db #0x08 + 04EA 80 1328 .db #0x80 + 04EB 80 1329 .db #0x80 + 04EC 00 1330 .db #0x00 + 04ED 00 1331 .db #0x00 + 04EE 00 1332 .db #0x00 + 04EF 00 1333 .db #0x00 + 04F0 00 1334 .db #0x00 + 04F1 00 1335 .db #0x00 + 04F2 00 1336 .db #0x00 + 04F3 00 1337 .db #0x00 + 04F4 00 1338 .db #0x00 + 04F5 00 1339 .db #0x00 + 04F6 00 1340 .db #0x00 + 04F7 00 1341 .db #0x00 + 04F8 00 1342 .db #0x00 + 04F9 00 1343 .db #0x00 + 04FA 01 1344 .db #0x01 + 04FB 01 1345 .db #0x01 + 04FC 01 1346 .db #0x01 + 04FD 01 1347 .db #0x01 + 04FE 01 1348 .db #0x01 + 04FF 01 1349 .db #0x01 + 0500 02 1350 .db #0x02 + 0501 02 1351 .db #0x02 + 0502 04 1352 .db #0x04 + 0503 04 1353 .db #0x04 + 0504 04 1354 .db #0x04 + 0505 04 1355 .db #0x04 + 0506 08 1356 .db #0x08 + 0507 08 1357 .db #0x08 + 0508 10 1358 .db #0x10 + 0509 10 1359 .db #0x10 + 050A 00 1360 .db #0x00 + 050B 00 1361 .db #0x00 + 050C 00 1362 .db #0x00 + 050D 00 1363 .db #0x00 + 050E 0E 1364 .db #0x0E + 050F 0E 1365 .db #0x0E + 0510 01 1366 .db #0x01 + 0511 01 1367 .db #0x01 + 0512 00 1368 .db #0x00 + 0513 00 1369 .db #0x00 + 0514 00 1370 .db #0x00 + 0515 00 1371 .db #0x00 + 0516 00 1372 .db #0x00 + 0517 00 1373 .db #0x00 + 0518 00 1374 .db #0x00 + 0519 00 1375 .db #0x00 + 051A 00 1376 .db #0x00 + 051B 00 1377 .db #0x00 + 051C 00 1378 .db #0x00 + 051D 00 1379 .db #0x00 + 051E 00 1380 .db #0x00 + 051F 00 1381 .db #0x00 + 0520 00 1382 .db #0x00 + 0521 00 1383 .db #0x00 + 0522 80 1384 .db #0x80 + 0523 80 1385 .db #0x80 + 0524 40 1386 .db #0x40 + 0525 40 1387 .db #0x40 + 0526 30 1388 .db #0x30 + 0527 30 1389 .db #0x30 + 0528 08 1390 .db #0x08 + 0529 08 1391 .db #0x08 + 052A 1F 1392 .db #0x1F + 052B 1F 1393 .db #0x1F + 052C 1F 1394 .db #0x1F + 052D 1F 1395 .db #0x1F + 052E 0F 1396 .db #0x0F + 052F 0F 1397 .db #0x0F + 0530 0F 1398 .db #0x0F + 0531 0F 1399 .db #0x0F + 0532 0F 1400 .db #0x0F + 0533 0F 1401 .db #0x0F + 0534 0F 1402 .db #0x0F + 0535 0F 1403 .db #0x0F + 0536 0F 1404 .db #0x0F + 0537 0F 1405 .db #0x0F + 0538 0F 1406 .db #0x0F + 0539 0F 1407 .db #0x0F + 053A 08 1408 .db #0x08 + 053B 08 1409 .db #0x08 + 053C 10 1410 .db #0x10 + 053D 10 1411 .db #0x10 + 053E 20 1412 .db #0x20 + 053F 20 1413 .db #0x20 + 0540 00 1414 .db #0x00 + 0541 00 1415 .db #0x00 + 0542 00 1416 .db #0x00 + 0543 00 1417 .db #0x00 + 0544 00 1418 .db #0x00 + 0545 00 1419 .db #0x00 + 0546 00 1420 .db #0x00 + 0547 00 1421 .db #0x00 + 0548 00 1422 .db #0x00 + 0549 00 1423 .db #0x00 + 054A 00 1424 .db #0x00 + 054B 00 1425 .db #0x00 + 054C 00 1426 .db #0x00 + 054D 00 1427 .db #0x00 + 054E 00 1428 .db #0x00 + 054F 00 1429 .db #0x00 + 0550 00 1430 .db #0x00 + 0551 00 1431 .db #0x00 + 0552 00 1432 .db #0x00 + 0553 00 1433 .db #0x00 + 0554 00 1434 .db #0x00 + 0555 00 1435 .db #0x00 + 0556 03 1436 .db #0x03 + 0557 03 1437 .db #0x03 + 0558 02 1438 .db #0x02 + 0559 02 1439 .db #0x02 + 055A 10 1440 .db #0x10 + 055B 10 1441 .db #0x10 + 055C 20 1442 .db #0x20 + 055D 20 1443 .db #0x20 + 055E 60 1444 .db #0x60 + 055F 60 1445 .db #0x60 + 0560 40 1446 .db #0x40 + 0561 40 1447 .db #0x40 + 0562 80 1448 .db #0x80 + 0563 80 1449 .db #0x80 + 0564 80 1450 .db #0x80 + 0565 80 1451 .db #0x80 + 0566 00 1452 .db #0x00 + 0567 00 1453 .db #0x00 + 0568 00 1454 .db #0x00 + 0569 00 1455 .db #0x00 + 056A 0E 1456 .db #0x0E + 056B 0E 1457 .db #0x0E + 056C 01 1458 .db #0x01 + 056D 01 1459 .db #0x01 + 056E 00 1460 .db #0x00 + 056F 00 1461 .db #0x00 + 0570 00 1462 .db #0x00 + 0571 00 1463 .db #0x00 + 0572 00 1464 .db #0x00 + 0573 00 1465 .db #0x00 + 0574 00 1466 .db #0x00 + 0575 00 1467 .db #0x00 + 0576 00 1468 .db #0x00 + 0577 00 1469 .db #0x00 + 0578 00 1470 .db #0x00 + 0579 00 1471 .db #0x00 + 057A 00 1472 .db #0x00 + 057B 00 1473 .db #0x00 + 057C 80 1474 .db #0x80 + 057D 80 1475 .db #0x80 + 057E 60 1476 .db #0x60 + 057F 60 1477 .db #0x60 + 0580 38 1478 .db #0x38 + 0581 38 1479 .db #0x38 + 0582 0C 1480 .db #0x0C + 0583 0C 1481 .db #0x0C + 0584 07 1482 .db #0x07 + 0585 07 1483 .db #0x07 + 0586 00 1484 .db #0x00 + 0587 00 1485 .db #0x00 + 0588 00 1486 .db #0x00 + 0589 00 1487 .db #0x00 + 058A 00 1488 .db #0x00 + 058B 00 1489 .db #0x00 + 058C 00 1490 .db #0x00 + 058D 00 1491 .db #0x00 + 058E 00 1492 .db #0x00 + 058F 00 1493 .db #0x00 + 0590 00 1494 .db #0x00 + 0591 00 1495 .db #0x00 + 0592 00 1496 .db #0x00 + 0593 00 1497 .db #0x00 + 0594 80 1498 .db #0x80 + 0595 80 1499 .db #0x80 + 0596 E0 1500 .db #0xE0 + 0597 E0 1501 .db #0xE0 + 0598 30 1502 .db #0x30 + 0599 30 1503 .db #0x30 + 059A 07 1504 .db #0x07 + 059B 07 1505 .db #0x07 + 059C 07 1506 .db #0x07 + 059D 07 1507 .db #0x07 + 059E 07 1508 .db #0x07 + 059F 07 1509 .db #0x07 + 05A0 07 1510 .db #0x07 + 05A1 07 1511 .db #0x07 + 05A2 07 1512 .db #0x07 + 05A3 07 1513 .db #0x07 + 05A4 03 1514 .db #0x03 + 05A5 03 1515 .db #0x03 + 05A6 03 1516 .db #0x03 + 05A7 03 1517 .db #0x03 + 05A8 03 1518 .db #0x03 + 05A9 03 1519 .db #0x03 + 05AA F0 1520 .db #0xF0 + 05AB F0 1521 .db #0xF0 + 05AC F0 1522 .db #0xF0 + 05AD F0 1523 .db #0xF0 + 05AE F0 1524 .db #0xF0 + 05AF F0 1525 .db #0xF0 + 05B0 F0 1526 .db #0xF0 + 05B1 F0 1527 .db #0xF0 + 05B2 F0 1528 .db #0xF0 + 05B3 F0 1529 .db #0xF0 + 05B4 F0 1530 .db #0xF0 + 05B5 F0 1531 .db #0xF0 + 05B6 E0 1532 .db #0xE0 + 05B7 E0 1533 .db #0xE0 + 05B8 E0 1534 .db #0xE0 + 05B9 E0 1535 .db #0xE0 + 05BA 02 1536 .db #0x02 + 05BB 02 1537 .db #0x02 + 05BC 04 1538 .db #0x04 + 05BD 04 1539 .db #0x04 + 05BE 08 1540 .db #0x08 + 05BF 08 1541 .db #0x08 + 05C0 18 1542 .db #0x18 + 05C1 18 1543 .db #0x18 + 05C2 10 1544 .db #0x10 + 05C3 10 1545 .db #0x10 + 05C4 20 1546 .db #0x20 + 05C5 20 1547 .db #0x20 + 05C6 40 1548 .db #0x40 + 05C7 40 1549 .db #0x40 + 05C8 40 1550 .db #0x40 + 05C9 40 1551 .db #0x40 + 05CA 18 1552 .db #0x18 + 05CB 18 1553 .db #0x18 + 05CC 06 1554 .db #0x06 + 05CD 06 1555 .db #0x06 + 05CE 03 1556 .db #0x03 + 05CF 03 1557 .db #0x03 + 05D0 00 1558 .db #0x00 + 05D1 00 1559 .db #0x00 + 05D2 00 1560 .db #0x00 + 05D3 00 1561 .db #0x00 + 05D4 00 1562 .db #0x00 + 05D5 00 1563 .db #0x00 + 05D6 00 1564 .db #0x00 + 05D7 00 1565 .db #0x00 + 05D8 00 1566 .db #0x00 + 05D9 00 1567 .db #0x00 + 05DA 00 1568 .db #0x00 + 05DB 00 1569 .db #0x00 + 05DC 00 1570 .db #0x00 + 05DD 00 1571 .db #0x00 + 05DE 80 1572 .db #0x80 + 05DF 80 1573 .db #0x80 + 05E0 C0 1574 .db #0xC0 + 05E1 C0 1575 .db #0xC0 + 05E2 20 1576 .db #0x20 + 05E3 20 1577 .db #0x20 + 05E4 1C 1578 .db #0x1C + 05E5 1C 1579 .db #0x1C + 05E6 06 1580 .db #0x06 + 05E7 06 1581 .db #0x06 + 05E8 03 1582 .db #0x03 + 05E9 03 1583 .db #0x03 + 05EA 03 1584 .db #0x03 + 05EB 03 1585 .db #0x03 + 05EC 01 1586 .db #0x01 + 05ED 01 1587 .db #0x01 + 05EE 01 1588 .db #0x01 + 05EF 01 1589 .db #0x01 + 05F0 01 1590 .db #0x01 + 05F1 01 1591 .db #0x01 + 05F2 01 1592 .db #0x01 + 05F3 01 1593 .db #0x01 + 05F4 01 1594 .db #0x01 + 05F5 01 1595 .db #0x01 + 05F6 01 1596 .db #0x01 + 05F7 01 1597 .db #0x01 + 05F8 00 1598 .db #0x00 + 05F9 00 1599 .db #0x00 + 05FA 00 1600 .db #0x00 + 05FB 00 1601 .db #0x00 + 05FC 00 1602 .db #0x00 + 05FD 00 1603 .db #0x00 + 05FE 01 1604 .db #0x01 + 05FF 01 1605 .db #0x01 + 0600 02 1606 .db #0x02 + 0601 02 1607 .db #0x02 + 0602 02 1608 .db #0x02 + 0603 02 1609 .db #0x02 + 0604 04 1610 .db #0x04 + 0605 04 1611 .db #0x04 + 0606 08 1612 .db #0x08 + 0607 08 1613 .db #0x08 + 0608 08 1614 .db #0x08 + 0609 08 1615 .db #0x08 + 060A 00 1616 .db #0x00 + 060B 00 1617 .db #0x00 + 060C 00 1618 .db #0x00 + 060D 00 1619 .db #0x00 + 060E 00 1620 .db #0x00 + 060F 00 1621 .db #0x00 + 0610 00 1622 .db #0x00 + 0611 00 1623 .db #0x00 + 0612 00 1624 .db #0x00 + 0613 00 1625 .db #0x00 + 0614 01 1626 .db #0x01 + 0615 01 1627 .db #0x01 + 0616 00 1628 .db #0x00 + 0617 00 1629 .db #0x00 + 0618 00 1630 .db #0x00 + 0619 00 1631 .db #0x00 + 061A 00 1632 .db #0x00 + 061B 00 1633 .db #0x00 + 061C 00 1634 .db #0x00 + 061D 00 1635 .db #0x00 + 061E 00 1636 .db #0x00 + 061F 00 1637 .db #0x00 + 0620 00 1638 .db #0x00 + 0621 00 1639 .db #0x00 + 0622 00 1640 .db #0x00 + 0623 00 1641 .db #0x00 + 0624 C0 1642 .db #0xC0 + 0625 C0 1643 .db #0xC0 + 0626 78 1644 .db #0x78 + 0627 78 1645 .db #0x78 + 0628 07 1646 .db #0x07 + 0629 07 1647 .db #0x07 + 062A C0 1648 .db #0xC0 + 062B C0 1649 .db #0xC0 + 062C 60 1650 .db #0x60 + 062D 60 1651 .db #0x60 + 062E 30 1652 .db #0x30 + 062F 30 1653 .db #0x30 + 0630 08 1654 .db #0x08 + 0631 08 1655 .db #0x08 + 0632 0E 1656 .db #0x0E + 0633 0E 1657 .db #0x0E + 0634 03 1658 .db #0x03 + 0635 03 1659 .db #0x03 + 0636 01 1660 .db #0x01 + 0637 01 1661 .db #0x01 + 0638 00 1662 .db #0x00 + 0639 00 1663 .db #0x00 + 063A FF 1664 .db #0xFF + 063B FF 1665 .db #0xFF + 063C FF 1666 .db #0xFF + 063D FF 1667 .db #0xFF + 063E FF 1668 .db #0xFF + 063F FF 1669 .db #0xFF + 0640 FF 1670 .db #0xFF + 0641 FF 1671 .db #0xFF + 0642 FF 1672 .db #0xFF + 0643 FF 1673 .db #0xFF + 0644 7F 1674 .db #0x7F + 0645 7F 1675 .db #0x7F + 0646 7F 1676 .db #0x7F + 0647 7F 1677 .db #0x7F + 0648 7F 1678 .db #0x7F + 0649 7F 1679 .db #0x7F + 064A E0 1680 .db #0xE0 + 064B E0 1681 .db #0xE0 + 064C E0 1682 .db #0xE0 + 064D E0 1683 .db #0xE0 + 064E E0 1684 .db #0xE0 + 064F E0 1685 .db #0xE0 + 0650 C0 1686 .db #0xC0 + 0651 C0 1687 .db #0xC0 + 0652 C0 1688 .db #0xC0 + 0653 C0 1689 .db #0xC0 + 0654 C0 1690 .db #0xC0 + 0655 C0 1691 .db #0xC0 + 0656 C0 1692 .db #0xC0 + 0657 C0 1693 .db #0xC0 + 0658 C0 1694 .db #0xC0 + 0659 C0 1695 .db #0xC0 + 065A 10 1696 .db #0x10 + 065B 10 1697 .db #0x10 + 065C 20 1698 .db #0x20 + 065D 20 1699 .db #0x20 + 065E 20 1700 .db #0x20 + 065F 20 1701 .db #0x20 + 0660 40 1702 .db #0x40 + 0661 40 1703 .db #0x40 + 0662 80 1704 .db #0x80 + 0663 80 1705 .db #0x80 + 0664 00 1706 .db #0x00 + 0665 00 1707 .db #0x00 + 0666 00 1708 .db #0x00 + 0667 00 1709 .db #0x00 + 0668 00 1710 .db #0x00 + 0669 00 1711 .db #0x00 + 066A C0 1712 .db #0xC0 + 066B C0 1713 .db #0xC0 + 066C 40 1714 .db #0x40 + 066D 40 1715 .db #0x40 + 066E 60 1716 .db #0x60 + 066F 60 1717 .db #0x60 + 0670 30 1718 .db #0x30 + 0671 30 1719 .db #0x30 + 0672 0C 1720 .db #0x0C + 0673 0C 1721 .db #0x0C + 0674 02 1722 .db #0x02 + 0675 02 1723 .db #0x02 + 0676 03 1724 .db #0x03 + 0677 03 1725 .db #0x03 + 0678 00 1726 .db #0x00 + 0679 00 1727 .db #0x00 + 067A 00 1728 .db #0x00 + 067B 00 1729 .db #0x00 + 067C 00 1730 .db #0x00 + 067D 00 1731 .db #0x00 + 067E 00 1732 .db #0x00 + 067F 00 1733 .db #0x00 + 0680 00 1734 .db #0x00 + 0681 00 1735 .db #0x00 + 0682 00 1736 .db #0x00 + 0683 00 1737 .db #0x00 + 0684 00 1738 .db #0x00 + 0685 00 1739 .db #0x00 + 0686 80 1740 .db #0x80 + 0687 80 1741 .db #0x80 + 0688 E0 1742 .db #0xE0 + 0689 E0 1743 .db #0xE0 + 068A 18 1744 .db #0x18 + 068B 18 1745 .db #0x18 + 068C 0E 1746 .db #0x0E + 068D 0E 1747 .db #0x0E + 068E 03 1748 .db #0x03 + 068F 03 1749 .db #0x03 + 0690 00 1750 .db #0x00 + 0691 00 1751 .db #0x00 + 0692 00 1752 .db #0x00 + 0693 00 1753 .db #0x00 + 0694 00 1754 .db #0x00 + 0695 00 1755 .db #0x00 + 0696 00 1756 .db #0x00 + 0697 00 1757 .db #0x00 + 0698 00 1758 .db #0x00 + 0699 00 1759 .db #0x00 + 069A 00 1760 .db #0x00 + 069B 00 1761 .db #0x00 + 069C 00 1762 .db #0x00 + 069D 00 1763 .db #0x00 + 069E 80 1764 .db #0x80 + 069F 80 1765 .db #0x80 + 06A0 E0 1766 .db #0xE0 + 06A1 E0 1767 .db #0xE0 + 06A2 38 1768 .db #0x38 + 06A3 38 1769 .db #0x38 + 06A4 0E 1770 .db #0x0E + 06A5 0E 1771 .db #0x0E + 06A6 03 1772 .db #0x03 + 06A7 03 1773 .db #0x03 + 06A8 00 1774 .db #0x00 + 06A9 00 1775 .db #0x00 + 06AA 3F 1776 .db #0x3F + 06AB 3F 1777 .db #0x3F + 06AC 3F 1778 .db #0x3F + 06AD 3F 1779 .db #0x3F + 06AE 3F 1780 .db #0x3F + 06AF 3F 1781 .db #0x3F + 06B0 3F 1782 .db #0x3F + 06B1 3F 1783 .db #0x3F + 06B2 1F 1784 .db #0x1F + 06B3 1F 1785 .db #0x1F + 06B4 1F 1786 .db #0x1F + 06B5 1F 1787 .db #0x1F + 06B6 0F 1788 .db #0x0F + 06B7 0F 1789 .db #0x0F + 06B8 0F 1790 .db #0x0F + 06B9 0F 1791 .db #0x0F + 06BA C0 1792 .db #0xC0 + 06BB C0 1793 .db #0xC0 + 06BC C0 1794 .db #0xC0 + 06BD C0 1795 .db #0xC0 + 06BE C0 1796 .db #0xC0 + 06BF C0 1797 .db #0xC0 + 06C0 C0 1798 .db #0xC0 + 06C1 C0 1799 .db #0xC0 + 06C2 C0 1800 .db #0xC0 + 06C3 C0 1801 .db #0xC0 + 06C4 C0 1802 .db #0xC0 + 06C5 C0 1803 .db #0xC0 + 06C6 C0 1804 .db #0xC0 + 06C7 C0 1805 .db #0xC0 + 06C8 80 1806 .db #0x80 + 06C9 80 1807 .db #0x80 + 06CA 02 1808 .db #0x02 + 06CB 02 1809 .db #0x02 + 06CC 04 1810 .db #0x04 + 06CD 04 1811 .db #0x04 + 06CE 08 1812 .db #0x08 + 06CF 08 1813 .db #0x08 + 06D0 18 1814 .db #0x18 + 06D1 18 1815 .db #0x18 + 06D2 10 1816 .db #0x10 + 06D3 10 1817 .db #0x10 + 06D4 20 1818 .db #0x20 + 06D5 20 1819 .db #0x20 + 06D6 20 1820 .db #0x20 + 06D7 20 1821 .db #0x20 + 06D8 40 1822 .db #0x40 + 06D9 40 1823 .db #0x40 + 06DA 38 1824 .db #0x38 + 06DB 38 1825 .db #0x38 + 06DC 0C 1826 .db #0x0C + 06DD 0C 1827 .db #0x0C + 06DE 00 1828 .db #0x00 + 06DF 00 1829 .db #0x00 + 06E0 00 1830 .db #0x00 + 06E1 00 1831 .db #0x00 + 06E2 00 1832 .db #0x00 + 06E3 00 1833 .db #0x00 + 06E4 00 1834 .db #0x00 + 06E5 00 1835 .db #0x00 + 06E6 00 1836 .db #0x00 + 06E7 00 1837 .db #0x00 + 06E8 00 1838 .db #0x00 + 06E9 00 1839 .db #0x00 + 06EA 38 1840 .db #0x38 + 06EB 38 1841 .db #0x38 + 06EC 06 1842 .db #0x06 + 06ED 06 1843 .db #0x06 + 06EE 03 1844 .db #0x03 + 06EF 03 1845 .db #0x03 + 06F0 00 1846 .db #0x00 + 06F1 00 1847 .db #0x00 + 06F2 00 1848 .db #0x00 + 06F3 00 1849 .db #0x00 + 06F4 00 1850 .db #0x00 + 06F5 00 1851 .db #0x00 + 06F6 00 1852 .db #0x00 + 06F7 00 1853 .db #0x00 + 06F8 00 1854 .db #0x00 + 06F9 00 1855 .db #0x00 + 06FA 00 1856 .db #0x00 + 06FB 00 1857 .db #0x00 + 06FC 00 1858 .db #0x00 + 06FD 00 1859 .db #0x00 + 06FE 80 1860 .db #0x80 + 06FF 80 1861 .db #0x80 + 0700 C0 1862 .db #0xC0 + 0701 C0 1863 .db #0xC0 + 0702 40 1864 .db #0x40 + 0703 40 1865 .db #0x40 + 0704 00 1866 .db #0x00 + 0705 00 1867 .db #0x00 + 0706 00 1868 .db #0x00 + 0707 00 1869 .db #0x00 + 0708 00 1870 .db #0x00 + 0709 00 1871 .db #0x00 + 070A 07 1872 .db #0x07 + 070B 07 1873 .db #0x07 + 070C 07 1874 .db #0x07 + 070D 07 1875 .db #0x07 + 070E 03 1876 .db #0x03 + 070F 03 1877 .db #0x03 + 0710 03 1878 .db #0x03 + 0711 03 1879 .db #0x03 + 0712 03 1880 .db #0x03 + 0713 03 1881 .db #0x03 + 0714 01 1882 .db #0x01 + 0715 01 1883 .db #0x01 + 0716 01 1884 .db #0x01 + 0717 01 1885 .db #0x01 + 0718 00 1886 .db #0x00 + 0719 00 1887 .db #0x00 + 071A 80 1888 .db #0x80 + 071B 80 1889 .db #0x80 + 071C 80 1890 .db #0x80 + 071D 80 1891 .db #0x80 + 071E 80 1892 .db #0x80 + 071F 80 1893 .db #0x80 + 0720 00 1894 .db #0x00 + 0721 00 1895 .db #0x00 + 0722 00 1896 .db #0x00 + 0723 00 1897 .db #0x00 + 0724 00 1898 .db #0x00 + 0725 00 1899 .db #0x00 + 0726 00 1900 .db #0x00 + 0727 00 1901 .db #0x00 + 0728 00 1902 .db #0x00 + 0729 00 1903 .db #0x00 + 072A 00 1904 .db #0x00 + 072B 00 1905 .db #0x00 + 072C 01 1906 .db #0x01 + 072D 01 1907 .db #0x01 + 072E 03 1908 .db #0x03 + 072F 03 1909 .db #0x03 + 0730 00 1910 .db #0x00 + 0731 00 1911 .db #0x00 + 0732 00 1912 .db #0x00 + 0733 00 1913 .db #0x00 + 0734 00 1914 .db #0x00 + 0735 00 1915 .db #0x00 + 0736 00 1916 .db #0x00 + 0737 00 1917 .db #0x00 + 0738 00 1918 .db #0x00 + 0739 00 1919 .db #0x00 + 073A 80 1920 .db #0x80 + 073B 80 1921 .db #0x80 + 073C 80 1922 .db #0x80 + 073D 80 1923 .db #0x80 + 073E 00 1924 .db #0x00 + 073F 00 1925 .db #0x00 + 0740 00 1926 .db #0x00 + 0741 00 1927 .db #0x00 + 0742 00 1928 .db #0x00 + 0743 00 1929 .db #0x00 + 0744 00 1930 .db #0x00 + 0745 00 1931 .db #0x00 + 0746 03 1932 .db #0x03 + 0747 03 1933 .db #0x03 + 0748 0F 1934 .db #0x0F + 0749 0F 1935 .db #0x0F + 074A 00 1936 .db #0x00 + 074B 00 1937 .db #0x00 + 074C 00 1938 .db #0x00 + 074D 00 1939 .db #0x00 + 074E 00 1940 .db #0x00 + 074F 00 1941 .db #0x00 + 0750 00 1942 .db #0x00 + 0751 00 1943 .db #0x00 + 0752 00 1944 .db #0x00 + 0753 00 1945 .db #0x00 + 0754 0F 1946 .db #0x0F + 0755 0F 1947 .db #0x0F + 0756 FF 1948 .db #0xFF + 0757 FF 1949 .db #0xFF + 0758 FF 1950 .db #0xFF + 0759 FF 1951 .db #0xFF + 075A 00 1952 .db #0x00 + 075B 00 1953 .db #0x00 + 075C 00 1954 .db #0x00 + 075D 00 1955 .db #0x00 + 075E 00 1956 .db #0x00 + 075F 00 1957 .db #0x00 + 0760 00 1958 .db #0x00 + 0761 00 1959 .db #0x00 + 0762 3F 1960 .db #0x3F + 0763 3F 1961 .db #0x3F + 0764 FF 1962 .db #0xFF + 0765 FF 1963 .db #0xFF + 0766 FF 1964 .db #0xFF + 0767 FF 1965 .db #0xFF + 0768 FF 1966 .db #0xFF + 0769 FF 1967 .db #0xFF + 076A 00 1968 .db #0x00 + 076B 00 1969 .db #0x00 + 076C 00 1970 .db #0x00 + 076D 00 1971 .db #0x00 + 076E 00 1972 .db #0x00 + 076F 00 1973 .db #0x00 + 0770 3F 1974 .db #0x3F + 0771 3F 1975 .db #0x3F + 0772 FF 1976 .db #0xFF + 0773 FF 1977 .db #0xFF + 0774 FF 1978 .db #0xFF + 0775 FF 1979 .db #0xFF + 0776 FF 1980 .db #0xFF + 0777 FF 1981 .db #0xFF + 0778 FF 1982 .db #0xFF + 0779 FF 1983 .db #0xFF + 077A 00 1984 .db #0x00 + 077B 00 1985 .db #0x00 + 077C 00 1986 .db #0x00 + 077D 00 1987 .db #0x00 + 077E 1F 1988 .db #0x1F + 077F 1F 1989 .db #0x1F + 0780 FF 1990 .db #0xFF + 0781 FF 1991 .db #0xFF + 0782 FF 1992 .db #0xFF + 0783 FF 1993 .db #0xFF + 0784 FF 1994 .db #0xFF + 0785 FF 1995 .db #0xFF + 0786 FF 1996 .db #0xFF + 0787 FF 1997 .db #0xFF + 0788 FF 1998 .db #0xFF + 0789 FF 1999 .db #0xFF + 078A 00 2000 .db #0x00 + 078B 00 2001 .db #0x00 + 078C 00 2002 .db #0x00 + 078D 00 2003 .db #0x00 + 078E FF 2004 .db #0xFF + 078F FF 2005 .db #0xFF + 0790 FF 2006 .db #0xFF + 0791 FF 2007 .db #0xFF + 0792 FF 2008 .db #0xFF + 0793 FF 2009 .db #0xFF + 0794 FF 2010 .db #0xFF + 0795 FF 2011 .db #0xFF + 0796 FF 2012 .db #0xFF + 0797 FF 2013 .db #0xFF + 0798 FF 2014 .db #0xFF + 0799 FF 2015 .db #0xFF + 079A 00 2016 .db #0x00 + 079B 00 2017 .db #0x00 + 079C 00 2018 .db #0x00 + 079D 00 2019 .db #0x00 + 079E F0 2020 .db #0xF0 + 079F F0 2021 .db #0xF0 + 07A0 FF 2022 .db #0xFF + 07A1 FF 2023 .db #0xFF + 07A2 FF 2024 .db #0xFF + 07A3 FF 2025 .db #0xFF + 07A4 FF 2026 .db #0xFF + 07A5 FF 2027 .db #0xFF + 07A6 FF 2028 .db #0xFF + 07A7 FF 2029 .db #0xFF + 07A8 FF 2030 .db #0xFF + 07A9 FF 2031 .db #0xFF + 07AA 00 2032 .db #0x00 + 07AB 00 2033 .db #0x00 + 07AC 00 2034 .db #0x00 + 07AD 00 2035 .db #0x00 + 07AE 00 2036 .db #0x00 + 07AF 00 2037 .db #0x00 + 07B0 FF 2038 .db #0xFF + 07B1 FF 2039 .db #0xFF + 07B2 FF 2040 .db #0xFF + 07B3 FF 2041 .db #0xFF + 07B4 FF 2042 .db #0xFF + 07B5 FF 2043 .db #0xFF + 07B6 FF 2044 .db #0xFF + 07B7 FF 2045 .db #0xFF + 07B8 FF 2046 .db #0xFF + 07B9 FF 2047 .db #0xFF + 07BA 00 2048 .db #0x00 + 07BB 00 2049 .db #0x00 + 07BC 00 2050 .db #0x00 + 07BD 00 2051 .db #0x00 + 07BE 00 2052 .db #0x00 + 07BF 00 2053 .db #0x00 + 07C0 80 2054 .db #0x80 + 07C1 80 2055 .db #0x80 + 07C2 FF 2056 .db #0xFF + 07C3 FF 2057 .db #0xFF + 07C4 FF 2058 .db #0xFF + 07C5 FF 2059 .db #0xFF + 07C6 FF 2060 .db #0xFF + 07C7 FF 2061 .db #0xFF + 07C8 FF 2062 .db #0xFF + 07C9 FF 2063 .db #0xFF + 07CA 00 2064 .db #0x00 + 07CB 00 2065 .db #0x00 + 07CC 00 2066 .db #0x00 + 07CD 00 2067 .db #0x00 + 07CE 00 2068 .db #0x00 + 07CF 00 2069 .db #0x00 + 07D0 00 2070 .db #0x00 + 07D1 00 2071 .db #0x00 + 07D2 FF 2072 .db #0xFF + 07D3 FF 2073 .db #0xFF + 07D4 FF 2074 .db #0xFF + 07D5 FF 2075 .db #0xFF + 07D6 FF 2076 .db #0xFF + 07D7 FF 2077 .db #0xFF + 07D8 FF 2078 .db #0xFF + 07D9 FF 2079 .db #0xFF + 07DA 00 2080 .db #0x00 + 07DB 00 2081 .db #0x00 + 07DC 00 2082 .db #0x00 + 07DD 00 2083 .db #0x00 + 07DE 00 2084 .db #0x00 + 07DF 00 2085 .db #0x00 + 07E0 00 2086 .db #0x00 + 07E1 00 2087 .db #0x00 + 07E2 F8 2088 .db #0xF8 + 07E3 F8 2089 .db #0xF8 + 07E4 FF 2090 .db #0xFF + 07E5 FF 2091 .db #0xFF + 07E6 FF 2092 .db #0xFF + 07E7 FF 2093 .db #0xFF + 07E8 FF 2094 .db #0xFF + 07E9 FF 2095 .db #0xFF + 07EA 00 2096 .db #0x00 + 07EB 00 2097 .db #0x00 + 07EC 00 2098 .db #0x00 + 07ED 00 2099 .db #0x00 + 07EE 00 2100 .db #0x00 + 07EF 00 2101 .db #0x00 + 07F0 00 2102 .db #0x00 + 07F1 00 2103 .db #0x00 + 07F2 00 2104 .db #0x00 + 07F3 00 2105 .db #0x00 + 07F4 FC 2106 .db #0xFC + 07F5 FC 2107 .db #0xFC + 07F6 FF 2108 .db #0xFF + 07F7 FF 2109 .db #0xFF + 07F8 FF 2110 .db #0xFF + 07F9 FF 2111 .db #0xFF + 07FA 00 2112 .db #0x00 + 07FB 00 2113 .db #0x00 + 07FC 00 2114 .db #0x00 + 07FD 00 2115 .db #0x00 + 07FE 00 2116 .db #0x00 + 07FF 00 2117 .db #0x00 + 0800 00 2118 .db #0x00 + 0801 00 2119 .db #0x00 + 0802 00 2120 .db #0x00 + 0803 00 2121 .db #0x00 + 0804 00 2122 .db #0x00 + 0805 00 2123 .db #0x00 + 0806 C0 2124 .db #0xC0 + 0807 C0 2125 .db #0xC0 + 0808 FE 2126 .db #0xFE + 0809 FE 2127 .db #0xFE + 080A FF 2128 .db #0xFF + 080B FF 2129 .db #0xFF + 080C 7F 2130 .db #0x7F + 080D 7F 2131 .db #0x7F + 080E 7F 2132 .db #0x7F + 080F 7F 2133 .db #0x7F + 0810 7F 2134 .db #0x7F + 0811 7F 2135 .db #0x7F + 0812 3F 2136 .db #0x3F + 0813 3F 2137 .db #0x3F + 0814 3F 2138 .db #0x3F + 0815 3F 2139 .db #0x3F + 0816 1F 2140 .db #0x1F + 0817 1F 2141 .db #0x1F + 0818 1F 2142 .db #0x1F + 0819 1F 2143 .db #0x1F + 081A FF 2144 .db #0xFF + 081B FF 2145 .db #0xFF + 081C FE 2146 .db #0xFE + 081D FE 2147 .db #0xFE + 081E FE 2148 .db #0xFE + 081F FE 2149 .db #0xFE + 0820 FE 2150 .db #0xFE + 0821 FE 2151 .db #0xFE + 0822 FE 2152 .db #0xFE + 0823 FE 2153 .db #0xFE + 0824 FE 2154 .db #0xFE + 0825 FE 2155 .db #0xFE + 0826 FC 2156 .db #0xFC + 0827 FC 2157 .db #0xFC + 0828 FD 2158 .db #0xFD + 0829 FD 2159 .db #0xFD + 082A 00 2160 .db #0x00 + 082B 00 2161 .db #0x00 + 082C 00 2162 .db #0x00 + 082D 00 2163 .db #0x00 + 082E 00 2164 .db #0x00 + 082F 00 2165 .db #0x00 + 0830 00 2166 .db #0x00 + 0831 00 2167 .db #0x00 + 0832 03 2168 .db #0x03 + 0833 03 2169 .db #0x03 + 0834 1F 2170 .db #0x1F + 0835 1F 2171 .db #0x1F + 0836 7F 2172 .db #0x7F + 0837 7F 2173 .db #0x7F + 0838 FF 2174 .db #0xFF + 0839 FF 2175 .db #0xFF + 083A 00 2176 .db #0x00 + 083B 00 2177 .db #0x00 + 083C 03 2178 .db #0x03 + 083D 03 2179 .db #0x03 + 083E 0F 2180 .db #0x0F + 083F 0F 2181 .db #0x0F + 0840 FF 2182 .db #0xFF + 0841 FF 2183 .db #0xFF + 0842 FF 2184 .db #0xFF + 0843 FF 2185 .db #0xFF + 0844 FF 2186 .db #0xFF + 0845 FF 2187 .db #0xFF + 0846 FF 2188 .db #0xFF + 0847 FF 2189 .db #0xFF + 0848 FF 2190 .db #0xFF + 0849 FF 2191 .db #0xFF + 084A 7F 2192 .db #0x7F + 084B 7F 2193 .db #0x7F + 084C FF 2194 .db #0xFF + 084D FF 2195 .db #0xFF + 084E FF 2196 .db #0xFF + 084F FF 2197 .db #0xFF + 0850 FF 2198 .db #0xFF + 0851 FF 2199 .db #0xFF + 0852 FF 2200 .db #0xFF + 0853 FF 2201 .db #0xFF + 0854 FF 2202 .db #0xFF + 0855 FF 2203 .db #0xFF + 0856 FF 2204 .db #0xFF + 0857 FF 2205 .db #0xFF + 0858 FF 2206 .db #0xFF + 0859 FF 2207 .db #0xFF + 085A 80 2208 .db #0x80 + 085B 80 2209 .db #0x80 + 085C F8 2210 .db #0xF8 + 085D F8 2211 .db #0xF8 + 085E FE 2212 .db #0xFE + 085F FE 2213 .db #0xFE + 0860 FF 2214 .db #0xFF + 0861 FF 2215 .db #0xFF + 0862 FF 2216 .db #0xFF + 0863 FF 2217 .db #0xFF + 0864 FF 2218 .db #0xFF + 0865 FF 2219 .db #0xFF + 0866 FF 2220 .db #0xFF + 0867 FF 2221 .db #0xFF + 0868 FF 2222 .db #0xFF + 0869 FF 2223 .db #0xFF + 086A 00 2224 .db #0x00 + 086B 00 2225 .db #0x00 + 086C 00 2226 .db #0x00 + 086D 00 2227 .db #0x00 + 086E 00 2228 .db #0x00 + 086F 00 2229 .db #0x00 + 0870 C0 2230 .db #0xC0 + 0871 C0 2231 .db #0xC0 + 0872 FC 2232 .db #0xFC + 0873 FC 2233 .db #0xFC + 0874 FF 2234 .db #0xFF + 0875 FF 2235 .db #0xFF + 0876 FF 2236 .db #0xFF + 0877 FF 2237 .db #0xFF + 0878 FF 2238 .db #0xFF + 0879 FF 2239 .db #0xFF + 087A 0F 2240 .db #0x0F + 087B 0F 2241 .db #0x0F + 087C 0F 2242 .db #0x0F + 087D 0F 2243 .db #0x0F + 087E 07 2244 .db #0x07 + 087F 07 2245 .db #0x07 + 0880 07 2246 .db #0x07 + 0881 07 2247 .db #0x07 + 0882 03 2248 .db #0x03 + 0883 03 2249 .db #0x03 + 0884 01 2250 .db #0x01 + 0885 01 2251 .db #0x01 + 0886 E1 2252 .db #0xE1 + 0887 E1 2253 .db #0xE1 + 0888 F8 2254 .db #0xF8 + 0889 F8 2255 .db #0xF8 + 088A 2256 _tilemap: + 088A 01 2257 .db #0x01 + 088B 02 2258 .db #0x02 + 088C 03 2259 .db #0x03 + 088D 04 2260 .db #0x04 + 088E 04 2261 .db #0x04 + 088F 04 2262 .db #0x04 + 0890 04 2263 .db #0x04 + 0891 04 2264 .db #0x04 + 0892 04 2265 .db #0x04 + 0893 04 2266 .db #0x04 + 0894 04 2267 .db #0x04 + 0895 04 2268 .db #0x04 + 0896 04 2269 .db #0x04 + 0897 04 2270 .db #0x04 + 0898 04 2271 .db #0x04 + 0899 04 2272 .db #0x04 + 089A 04 2273 .db #0x04 + 089B 05 2274 .db #0x05 + 089C 06 2275 .db #0x06 + 089D 07 2276 .db #0x07 + 089E 08 2277 .db #0x08 + 089F 00 2278 .db #0x00 + 08A0 09 2279 .db #0x09 + 08A1 0A 2280 .db #0x0A + 08A2 0B 2281 .db #0x0B + 08A3 0C 2282 .db #0x0C + 08A4 0D 2283 .db #0x0D + 08A5 04 2284 .db #0x04 + 08A6 04 2285 .db #0x04 + 08A7 04 2286 .db #0x04 + 08A8 04 2287 .db #0x04 + 08A9 04 2288 .db #0x04 + 08AA 04 2289 .db #0x04 + 08AB 04 2290 .db #0x04 + 08AC 0E 2291 .db #0x0E + 08AD 0F 2292 .db #0x0F + 08AE 10 2293 .db #0x10 + 08AF 11 2294 .db #0x11 + 08B0 12 2295 .db #0x12 + 08B1 13 2296 .db #0x13 + 08B2 14 2297 .db #0x14 + 08B3 00 2298 .db #0x00 + 08B4 00 2299 .db #0x00 + 08B5 12 2300 .db #0x12 + 08B6 15 2301 .db #0x15 + 08B7 00 2302 .db #0x00 + 08B8 00 2303 .db #0x00 + 08B9 16 2304 .db #0x16 + 08BA 17 2305 .db #0x17 + 08BB 17 2306 .db #0x17 + 08BC 18 2307 .db #0x18 + 08BD 19 2308 .db #0x19 + 08BE 00 2309 .db #0x00 + 08BF 00 2310 .db #0x00 + 08C0 00 2311 .db #0x00 + 08C1 00 2312 .db #0x00 + 08C2 00 2313 .db #0x00 + 08C3 00 2314 .db #0x00 + 08C4 1A 2315 .db #0x1A + 08C5 04 2316 .db #0x04 + 08C6 1B 2317 .db #0x1B + 08C7 00 2318 .db #0x00 + 08C8 00 2319 .db #0x00 + 08C9 1C 2320 .db #0x1C + 08CA 00 2321 .db #0x00 + 08CB 00 2322 .db #0x00 + 08CC 00 2323 .db #0x00 + 08CD 1D 2324 .db #0x1D + 08CE 00 2325 .db #0x00 + 08CF 00 2326 .db #0x00 + 08D0 1E 2327 .db #0x1E + 08D1 1F 2328 .db #0x1F + 08D2 00 2329 .db #0x00 + 08D3 00 2330 .db #0x00 + 08D4 00 2331 .db #0x00 + 08D5 00 2332 .db #0x00 + 08D6 00 2333 .db #0x00 + 08D7 00 2334 .db #0x00 + 08D8 20 2335 .db #0x20 + 08D9 04 2336 .db #0x04 + 08DA 04 2337 .db #0x04 + 08DB 21 2338 .db #0x21 + 08DC 22 2339 .db #0x22 + 08DD 23 2340 .db #0x23 + 08DE 00 2341 .db #0x00 + 08DF 00 2342 .db #0x00 + 08E0 24 2343 .db #0x24 + 08E1 00 2344 .db #0x00 + 08E2 00 2345 .db #0x00 + 08E3 12 2346 .db #0x12 + 08E4 25 2347 .db #0x25 + 08E5 00 2348 .db #0x00 + 08E6 00 2349 .db #0x00 + 08E7 00 2350 .db #0x00 + 08E8 00 2351 .db #0x00 + 08E9 00 2352 .db #0x00 + 08EA 00 2353 .db #0x00 + 08EB 26 2354 .db #0x26 + 08EC 04 2355 .db #0x04 + 08ED 04 2356 .db #0x04 + 08EE 04 2357 .db #0x04 + 08EF 27 2358 .db #0x27 + 08F0 28 2359 .db #0x28 + 08F1 00 2360 .db #0x00 + 08F2 00 2361 .db #0x00 + 08F3 29 2362 .db #0x29 + 08F4 2A 2363 .db #0x2A + 08F5 00 2364 .db #0x00 + 08F6 00 2365 .db #0x00 + 08F7 2B 2366 .db #0x2B + 08F8 2C 2367 .db #0x2C + 08F9 2D 2368 .db #0x2D + 08FA 00 2369 .db #0x00 + 08FB 00 2370 .db #0x00 + 08FC 00 2371 .db #0x00 + 08FD 00 2372 .db #0x00 + 08FE 00 2373 .db #0x00 + 08FF 2E 2374 .db #0x2E + 0900 04 2375 .db #0x04 + 0901 04 2376 .db #0x04 + 0902 04 2377 .db #0x04 + 0903 2F 2378 .db #0x2F + 0904 00 2379 .db #0x00 + 0905 00 2380 .db #0x00 + 0906 30 2381 .db #0x30 + 0907 31 2382 .db #0x31 + 0908 00 2383 .db #0x00 + 0909 00 2384 .db #0x00 + 090A 32 2385 .db #0x32 + 090B 33 2386 .db #0x33 + 090C 00 2387 .db #0x00 + 090D 34 2388 .db #0x34 + 090E 35 2389 .db #0x35 + 090F 00 2390 .db #0x00 + 0910 00 2391 .db #0x00 + 0911 00 2392 .db #0x00 + 0912 00 2393 .db #0x00 + 0913 36 2394 .db #0x36 + 0914 04 2395 .db #0x04 + 0915 04 2396 .db #0x04 + 0916 04 2397 .db #0x04 + 0917 37 2398 .db #0x37 + 0918 00 2399 .db #0x00 + 0919 00 2400 .db #0x00 + 091A 38 2401 .db #0x38 + 091B 00 2402 .db #0x00 + 091C 00 2403 .db #0x00 + 091D 00 2404 .db #0x00 + 091E 39 2405 .db #0x39 + 091F 00 2406 .db #0x00 + 0920 00 2407 .db #0x00 + 0921 00 2408 .db #0x00 + 0922 3A 2409 .db #0x3A + 0923 3B 2410 .db #0x3B + 0924 3C 2411 .db #0x3C + 0925 00 2412 .db #0x00 + 0926 00 2413 .db #0x00 + 0927 3D 2414 .db #0x3D + 0928 04 2415 .db #0x04 + 0929 04 2416 .db #0x04 + 092A 04 2417 .db #0x04 + 092B 3E 2418 .db #0x3E + 092C 00 2419 .db #0x00 + 092D 3F 2420 .db #0x3F + 092E 40 2421 .db #0x40 + 092F 00 2422 .db #0x00 + 0930 00 2423 .db #0x00 + 0931 3F 2424 .db #0x3F + 0932 41 2425 .db #0x41 + 0933 00 2426 .db #0x00 + 0934 00 2427 .db #0x00 + 0935 00 2428 .db #0x00 + 0936 00 2429 .db #0x00 + 0937 00 2430 .db #0x00 + 0938 42 2431 .db #0x42 + 0939 43 2432 .db #0x43 + 093A 44 2433 .db #0x44 + 093B 45 2434 .db #0x45 + 093C 04 2435 .db #0x04 + 093D 04 2436 .db #0x04 + 093E 04 2437 .db #0x04 + 093F 3E 2438 .db #0x3E + 0940 00 2439 .db #0x00 + 0941 46 2440 .db #0x46 + 0942 00 2441 .db #0x00 + 0943 00 2442 .db #0x00 + 0944 00 2443 .db #0x00 + 0945 47 2444 .db #0x47 + 0946 00 2445 .db #0x00 + 0947 00 2446 .db #0x00 + 0948 00 2447 .db #0x00 + 0949 00 2448 .db #0x00 + 094A 00 2449 .db #0x00 + 094B 00 2450 .db #0x00 + 094C 00 2451 .db #0x00 + 094D 00 2452 .db #0x00 + 094E 00 2453 .db #0x00 + 094F 36 2454 .db #0x36 + 0950 04 2455 .db #0x04 + 0951 04 2456 .db #0x04 + 0952 04 2457 .db #0x04 + 0953 3E 2458 .db #0x3E + 0954 48 2459 .db #0x48 + 0955 49 2460 .db #0x49 + 0956 00 2461 .db #0x00 + 0957 00 2462 .db #0x00 + 0958 4A 2463 .db #0x4A + 0959 49 2464 .db #0x49 + 095A 4B 2465 .db #0x4B + 095B 4C 2466 .db #0x4C + 095C 00 2467 .db #0x00 + 095D 00 2468 .db #0x00 + 095E 00 2469 .db #0x00 + 095F 00 2470 .db #0x00 + 0960 00 2471 .db #0x00 + 0961 00 2472 .db #0x00 + 0962 00 2473 .db #0x00 + 0963 4D 2474 .db #0x4D + 0964 04 2475 .db #0x04 + 0965 04 2476 .db #0x04 + 0966 04 2477 .db #0x04 + 0967 3E 2478 .db #0x3E + 0968 4E 2479 .db #0x4E + 0969 00 2480 .db #0x00 + 096A 00 2481 .db #0x00 + 096B 4F 2482 .db #0x4F + 096C 50 2483 .db #0x50 + 096D 00 2484 .db #0x00 + 096E 00 2485 .db #0x00 + 096F 51 2486 .db #0x51 + 0970 52 2487 .db #0x52 + 0971 53 2488 .db #0x53 + 0972 00 2489 .db #0x00 + 0973 00 2490 .db #0x00 + 0974 00 2491 .db #0x00 + 0975 00 2492 .db #0x00 + 0976 00 2493 .db #0x00 + 0977 54 2494 .db #0x54 + 0978 04 2495 .db #0x04 + 0979 04 2496 .db #0x04 + 097A 04 2497 .db #0x04 + 097B 55 2498 .db #0x55 + 097C 00 2499 .db #0x00 + 097D 00 2500 .db #0x00 + 097E 00 2501 .db #0x00 + 097F 56 2502 .db #0x56 + 0980 00 2503 .db #0x00 + 0981 00 2504 .db #0x00 + 0982 00 2505 .db #0x00 + 0983 00 2506 .db #0x00 + 0984 00 2507 .db #0x00 + 0985 57 2508 .db #0x57 + 0986 58 2509 .db #0x58 + 0987 00 2510 .db #0x00 + 0988 00 2511 .db #0x00 + 0989 00 2512 .db #0x00 + 098A 00 2513 .db #0x00 + 098B 59 2514 .db #0x59 + 098C 04 2515 .db #0x04 + 098D 04 2516 .db #0x04 + 098E 04 2517 .db #0x04 + 098F 2F 2518 .db #0x2F + 0990 00 2519 .db #0x00 + 0991 00 2520 .db #0x00 + 0992 5A 2521 .db #0x5A + 0993 2A 2522 .db #0x2A + 0994 5B 2523 .db #0x5B + 0995 5C 2524 .db #0x5C + 0996 00 2525 .db #0x00 + 0997 00 2526 .db #0x00 + 0998 00 2527 .db #0x00 + 0999 00 2528 .db #0x00 + 099A 00 2529 .db #0x00 + 099B 5D 2530 .db #0x5D + 099C 44 2531 .db #0x44 + 099D 00 2532 .db #0x00 + 099E 00 2533 .db #0x00 + 099F 00 2534 .db #0x00 + 09A0 5E 2535 .db #0x5E + 09A1 04 2536 .db #0x04 + 09A2 04 2537 .db #0x04 + 09A3 5F 2538 .db #0x5F + 09A4 00 2539 .db #0x00 + 09A5 32 2540 .db #0x32 + 09A6 60 2541 .db #0x60 + 09A7 00 2542 .db #0x00 + 09A8 00 2543 .db #0x00 + 09A9 3A 2544 .db #0x3A + 09AA 61 2545 .db #0x61 + 09AB 62 2546 .db #0x62 + 09AC 00 2547 .db #0x00 + 09AD 00 2548 .db #0x00 + 09AE 00 2549 .db #0x00 + 09AF 00 2550 .db #0x00 + 09B0 63 2551 .db #0x63 + 09B1 64 2552 .db #0x64 + 09B2 62 2553 .db #0x62 + 09B3 00 2554 .db #0x00 + 09B4 65 2555 .db #0x65 + 09B5 04 2556 .db #0x04 + 09B6 04 2557 .db #0x04 + 09B7 66 2558 .db #0x66 + 09B8 00 2559 .db #0x00 + 09B9 67 2560 .db #0x67 + 09BA 00 2561 .db #0x00 + 09BB 00 2562 .db #0x00 + 09BC 00 2563 .db #0x00 + 09BD 00 2564 .db #0x00 + 09BE 00 2565 .db #0x00 + 09BF 68 2566 .db #0x68 + 09C0 00 2567 .db #0x00 + 09C1 00 2568 .db #0x00 + 09C2 00 2569 .db #0x00 + 09C3 00 2570 .db #0x00 + 09C4 00 2571 .db #0x00 + 09C5 00 2572 .db #0x00 + 09C6 69 2573 .db #0x69 + 09C7 6A 2574 .db #0x6A + 09C8 6B 2575 .db #0x6B + 09C9 04 2576 .db #0x04 + 09CA 04 2577 .db #0x04 + 09CB 6C 2578 .db #0x6C + 09CC 6D 2579 .db #0x6D + 09CD 6E 2580 .db #0x6E + 09CE 6F 2581 .db #0x6F + 09CF 70 2582 .db #0x70 + 09D0 71 2583 .db #0x71 + 09D1 72 2584 .db #0x72 + 09D2 73 2585 .db #0x73 + 09D3 73 2586 .db #0x73 + 09D4 74 2587 .db #0x74 + 09D5 75 2588 .db #0x75 + 09D6 76 2589 .db #0x76 + 09D7 77 2590 .db #0x77 + 09D8 78 2591 .db #0x78 + 09D9 79 2592 .db #0x79 + 09DA 7A 2593 .db #0x7A + 09DB 00 2594 .db #0x00 + 09DC 00 2595 .db #0x00 + 09DD 7B 2596 .db #0x7B + 09DE 7C 2597 .db #0x7C + 09DF 7D 2598 .db #0x7D + 09E0 7E 2599 .db #0x7E + 09E1 7F 2600 .db #0x7F + 09E2 04 2601 .db #0x04 + 09E3 04 2602 .db #0x04 + 09E4 04 2603 .db #0x04 + 09E5 04 2604 .db #0x04 + 09E6 04 2605 .db #0x04 + 09E7 04 2606 .db #0x04 + 09E8 04 2607 .db #0x04 + 09E9 04 2608 .db #0x04 + 09EA 04 2609 .db #0x04 + 09EB 04 2610 .db #0x04 + 09EC 04 2611 .db #0x04 + 09ED 04 2612 .db #0x04 + 09EE 04 2613 .db #0x04 + 09EF 80 2614 .db #0x80 + 09F0 81 2615 .db #0x81 + 09F1 82 2616 .db #0x82 + 2617 .area _CODE + ASxxxx Assembler V01.75 (GameBoy Z80-like CPU), page 1. + +Symbol Table + + 0 ___main_end 005A R + 0 ___main_start 0000 R + 0 _main 0000 GR + _set_bkg_data **** GX + _set_bkg_tiles **** GX + 0 _tiledata 005A GR + 0 _tilemap 088A GR + + ASxxxx Assembler V01.75 (GameBoy Z80-like CPU), page 2. + +Area Table + + 0 _CODE size 9F2 flags 0 + 1 _DATA size 0 flags 0 + 2 _OVERLAY size 0 flags 0 + 3 _ISEG size 0 flags 0 + 4 _BSEG size 0 flags 0 + 5 _XSEG size 0 flags 0 + 6 _GSINIT size 0 flags 0 + 7 _GSFINAL size 0 flags 0 + 8 _HOME size 0 flags 0 diff --git a/background/bg_data.c b/background/bg_data.c new file mode 100644 index 0000000..f2da816 --- /dev/null +++ b/background/bg_data.c @@ -0,0 +1,132 @@ +unsigned const char tiledata[] = { +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0xDF,0xDF,0xC1,0xC1,0xC0,0xC0,0xC0,0xC0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x3F,0x3F,0x0F,0x0F,0x01,0x01,0x00,0x00,0x00,0x00, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x7F,0x1F,0x1F, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0xFE,0xF8,0xF8, +0xFE,0xFE,0xFC,0xFC,0xF8,0xF8,0xF0,0xF0,0xC0,0xC0,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x01,0x03,0x03,0x07,0x07,0x07,0x07,0x0F,0x0F, +0xE0,0xE0,0xE0,0xE0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF8,0xF8,0xF8,0xF8,0xF8,0xF8, +0x03,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0xFF,0xFF,0x0F,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0xFF,0xFF,0xFF,0xFF,0x7F,0x7F,0x07,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x7F,0x0F,0x0F,0x00,0x00,0x00,0x00, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F,0x0F, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF8,0xF8, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xE0,0xE0,0x00,0x00, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFC,0xFC,0xF0,0xF0,0x00,0x00,0x00,0x00,0x00,0x00, +0xE0,0xE0,0xC0,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01, +0x0F,0x0F,0x1F,0x1F,0x3F,0x3F,0x3F,0x3F,0x7F,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xF8,0xF8,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFE,0xFE, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x40,0x40,0x40,0xC0,0xC0,0x80,0x80, +0xFF,0xFF,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0xFF,0xFF,0xF0,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0xC0,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x04,0x0C,0x0C,0x18,0x18, +0x01,0x01,0x03,0x03,0x07,0x07,0x07,0x07,0x0F,0x0F,0x0F,0x0F,0x1F,0x1F,0x1F,0x1F, +0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0x02,0x02,0x06,0x06,0x0C,0x0C,0x08,0x08,0x18,0x18,0x30,0x30,0x20,0x20,0x20,0x20, +0x0C,0x0C,0x18,0x18,0x10,0x10,0x20,0x20,0x60,0x60,0x40,0x40,0xC0,0xC0,0x80,0x80, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x03,0x03,0x02,0x02,0x04,0x04, +0x30,0x30,0x20,0x20,0x60,0x60,0xC0,0xC0,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x00, +0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x7F,0x7F,0x7F,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0x00,0x00,0x00,0x00,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x02,0x02,0x02,0x02,0x06,0x06, +0x40,0x40,0xC0,0xC0,0x80,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x00, +0x01,0x01,0x02,0x02,0x06,0x06,0x08,0x08,0x18,0x18,0x30,0x30,0x60,0x60,0x40,0x40, +0x08,0x08,0x18,0x18,0x30,0x30,0x60,0x60,0x40,0x40,0xC0,0xC0,0x80,0x80,0x00,0x00, +0x00,0x00,0x01,0x01,0x01,0x01,0x03,0x03,0x03,0x03,0x03,0x03,0x07,0x07,0x07,0x07, +0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0, +0x04,0x04,0x08,0x08,0x08,0x08,0x10,0x10,0x30,0x30,0x20,0x20,0x00,0x00,0x00,0x00, +0x00,0x00,0x01,0x01,0x03,0x03,0x02,0x02,0x06,0x06,0x04,0x04,0x08,0x08,0x18,0x18, +0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x02,0x02,0x02,0x02,0x06,0x06,0x04,0x04,0x0C,0x0C,0x18,0x18,0x10,0x10,0x20,0x20, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0xC0,0xC0,0x20,0x20,0x18,0x18, +0x07,0x07,0x07,0x07,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F, +0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x01, +0x10,0x10,0x20,0x20,0x20,0x20,0x40,0x40,0xC0,0xC0,0x80,0x80,0x80,0x80,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x01,0x02,0x02, +0x60,0x60,0x40,0x40,0x40,0x40,0xC0,0xC0,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x00, +0x0C,0x0C,0x02,0x02,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x80,0x80,0x80,0x80,0x60,0x60,0x18,0x18,0x04,0x04,0x03,0x03, +0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, +0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0, +0x02,0x02,0x06,0x06,0x0C,0x0C,0x08,0x08,0x18,0x18,0x30,0x30,0x20,0x20,0x40,0x40, +0x02,0x02,0x06,0x06,0x0C,0x0C,0x08,0x08,0x18,0x18,0x10,0x10,0x10,0x10,0x20,0x20, +0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x80,0x80,0x60,0x60,0x30,0x30,0x18,0x18,0x0E,0x0E,0x01,0x01,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0xC0,0xC0,0x60,0x60, +0x1F,0x1F,0x1F,0x1F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F, +0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0, +0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x01,0x02,0x02,0x02,0x02,0x04,0x04, +0x40,0x40,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x40,0x40,0x40,0x40,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x1C,0x1C,0x06,0x06,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0xC0,0xC0,0x70,0x70,0x1C,0x1C,0x07,0x07,0x01,0x01,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xC0,0x60,0x60, +0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x1F,0x1F,0x1F,0x1F, +0x08,0x08,0x10,0x10,0x10,0x10,0x10,0x10,0x20,0x20,0x20,0x20,0x40,0x40,0x40,0x40, +0x0C,0x0C,0x08,0x08,0x10,0x10,0x10,0x10,0x30,0x30,0x60,0x60,0x40,0x40,0x40,0x40, +0x00,0x00,0x01,0x01,0x01,0x01,0x03,0x03,0x02,0x02,0x04,0x04,0x04,0x04,0x08,0x08, +0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x01,0x01,0x01,0x01,0x01,0x01,0x02,0x02,0x04,0x04,0x04,0x04,0x08,0x08,0x10,0x10, +0x00,0x00,0x00,0x00,0x0E,0x0E,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0x40,0x40,0x30,0x30,0x08,0x08, +0x1F,0x1F,0x1F,0x1F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F, +0x08,0x08,0x10,0x10,0x20,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x03,0x02,0x02, +0x10,0x10,0x20,0x20,0x60,0x60,0x40,0x40,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x00, +0x0E,0x0E,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x80,0x80,0x60,0x60,0x38,0x38,0x0C,0x0C,0x07,0x07,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0xE0,0xE0,0x30,0x30, +0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x03,0x03,0x03,0x03,0x03,0x03, +0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xE0,0xE0,0xE0,0xE0, +0x02,0x02,0x04,0x04,0x08,0x08,0x18,0x18,0x10,0x10,0x20,0x20,0x40,0x40,0x40,0x40, +0x18,0x18,0x06,0x06,0x03,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x80,0x80,0xC0,0xC0,0x20,0x20,0x1C,0x1C,0x06,0x06,0x03,0x03, +0x03,0x03,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x00,0x00, +0x00,0x00,0x00,0x00,0x01,0x01,0x02,0x02,0x02,0x02,0x04,0x04,0x08,0x08,0x08,0x08, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xC0,0x78,0x78,0x07,0x07, +0xC0,0xC0,0x60,0x60,0x30,0x30,0x08,0x08,0x0E,0x0E,0x03,0x03,0x01,0x01,0x00,0x00, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F, +0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0, +0x10,0x10,0x20,0x20,0x20,0x20,0x40,0x40,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x00, +0xC0,0xC0,0x40,0x40,0x60,0x60,0x30,0x30,0x0C,0x0C,0x02,0x02,0x03,0x03,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0xE0,0xE0, +0x18,0x18,0x0E,0x0E,0x03,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x80,0x80,0xE0,0xE0,0x38,0x38,0x0E,0x0E,0x03,0x03,0x00,0x00, +0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x1F,0x1F,0x1F,0x1F,0x0F,0x0F,0x0F,0x0F, +0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0x80,0x80, +0x02,0x02,0x04,0x04,0x08,0x08,0x18,0x18,0x10,0x10,0x20,0x20,0x20,0x20,0x40,0x40, +0x38,0x38,0x0C,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x38,0x38,0x06,0x06,0x03,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x80,0x80,0xC0,0xC0,0x40,0x40,0x00,0x00,0x00,0x00,0x00,0x00, +0x07,0x07,0x07,0x07,0x03,0x03,0x03,0x03,0x03,0x03,0x01,0x01,0x01,0x01,0x00,0x00, +0x80,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x01,0x01,0x03,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x03,0x0F,0x0F, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x0F,0xFF,0xFF,0xFF,0xFF, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x3F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x3F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0x00,0x00,0x00,0x00,0x1F,0x1F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0x00,0x00,0x00,0x00,0xF0,0xF0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0xFC,0xFF,0xFF,0xFF,0xFF, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xC0,0xFE,0xFE, +0xFF,0xFF,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0x3F,0x3F,0x3F,0x3F,0x1F,0x1F,0x1F,0x1F, +0xFF,0xFF,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFC,0xFC,0xFD,0xFD, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x03,0x1F,0x1F,0x7F,0x7F,0xFF,0xFF, +0x00,0x00,0x03,0x03,0x0F,0x0F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0x7F,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0x80,0x80,0xF8,0xF8,0xFE,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xC0,0xFC,0xFC,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0x0F,0x0F,0x0F,0x0F,0x07,0x07,0x07,0x07,0x03,0x03,0x01,0x01,0xE1,0xE1,0xF8,0xF8}; diff --git a/beep/Makefile b/beep/Makefile new file mode 100644 index 0000000..b006540 --- /dev/null +++ b/beep/Makefile @@ -0,0 +1,16 @@ +AS = lcc -c +CC = lcc -Wa-l -Wl-m + +BIN = beep.gb +OBJS = main.o + +all: $(BIN) + +%.s: %.ms + maccer -o $@ $< + +$(BIN): $(OBJS) + $(CC) -o $(BIN) $(OBJS) + +clean: + rm -rf $(BIN) $(OBJS) *~ diff --git a/beep/beep.gb b/beep/beep.gb new file mode 100644 index 0000000..a0f1139 Binary files /dev/null and b/beep/beep.gb differ diff --git a/beep/main.c b/beep/main.c new file mode 100644 index 0000000..a90b4e3 --- /dev/null +++ b/beep/main.c @@ -0,0 +1,29 @@ +#include +#include + +void main() { + NR50_REG = 0xFF; + NR51_REG = 0xFF; + NR52_REG = 0x80; + + gotogxy(1, 1); + gprintf("====== Beep ======"); + + gotogxy(2, 3); + gprintf("Press any button"); + + while(1) { + UBYTE joypad_state = joypad(); + if(joypad_state) { + NR10_REG = 0x38U; + NR11_REG = 0x70U; + NR12_REG = 0xE0U; + NR13_REG = 0x0AU; + NR14_REG = 0xC6U; + + NR51_REG |= 0x11; + + delay(200); + } + } +} diff --git a/beep/main.lst b/beep/main.lst new file mode 100644 index 0000000..61de547 --- /dev/null +++ b/beep/main.lst @@ -0,0 +1,235 @@ + 1 ;-------------------------------------------------------- + 2 ; File Created by SDCC : FreeWare ANSI-C Compiler + 3 ; Version 2.3.1 Wed Jul 8 09:50:25 2020 + 4 + 5 ;-------------------------------------------------------- + 6 .module lcc2312250 + 7 + 8 ;-------------------------------------------------------- + 9 ; Public variables in this module + 10 ;-------------------------------------------------------- + 11 .globl _main + 12 ;-------------------------------------------------------- + 13 ; special function registers + 14 ;-------------------------------------------------------- + 15 ;-------------------------------------------------------- + 16 ; special function bits + 17 ;-------------------------------------------------------- + 18 ;-------------------------------------------------------- + 19 ; internal ram data + 20 ;-------------------------------------------------------- + 21 .area _DATA + 22 ;-------------------------------------------------------- + 23 ; overlayable items in internal ram + 24 ;-------------------------------------------------------- + 25 .area _OVERLAY + 26 ;-------------------------------------------------------- + 27 ; indirectly addressable internal ram data + 28 ;-------------------------------------------------------- + 29 .area _ISEG + 30 ;-------------------------------------------------------- + 31 ; bit data + 32 ;-------------------------------------------------------- + 33 .area _BSEG + 34 ;-------------------------------------------------------- + 35 ; external ram data + 36 ;-------------------------------------------------------- + 37 .area _XSEG + 38 ;-------------------------------------------------------- + 39 ; global & static initialisations + 40 ;-------------------------------------------------------- + 41 .area _GSINIT + 42 .area _GSFINAL + 43 .area _GSINIT + 44 ;-------------------------------------------------------- + 45 ; Home + 46 ;-------------------------------------------------------- + 47 .area _HOME + 48 .area _CODE + 49 ;-------------------------------------------------------- + 50 ; code + 51 ;-------------------------------------------------------- + 52 .area _CODE + 53 ; main.c 4 + 54 ; genLabel + 55 ; genFunction + 56 ; --------------------------------- + 57 ; Function main + 58 ; --------------------------------- + 0000 59 ___main_start: + 0000 60 _main: + 0000 E8 FD 61 lda sp,-3(sp) + 62 ; main.c 5 + 63 ; genAssign + 0002 01 24 FF 64 ld bc,#0xFF24 + 65 ; genAssign (pointer) + 0005 3E FF 66 ld a,#0xFF + 0007 02 67 ld (bc),a + 68 ; main.c 6 + 69 ; genAssign + 0008 01 25 FF 70 ld bc,#0xFF25 + 71 ; genAssign (pointer) + 000B 3E FF 72 ld a,#0xFF + 000D 02 73 ld (bc),a + 74 ; main.c 7 + 75 ; genAssign + 000E 01 26 FF 76 ld bc,#0xFF26 + 77 ; genAssign (pointer) + 0011 3E 80 78 ld a,#0x80 + 0013 02 79 ld (bc),a + 80 ; main.c 9 + 81 ; genIpush + 82 ; _saveRegsForCall: sendSetSize: 0 deInUse: 0 bcInUse: 0 deSending: 0 + 0014 21 01 01 83 ld hl,#0x0101 + 0017 E5 84 push hl + 85 ; genCall + 0018 CD 00 00 86 call _gotogxy + 001B E8 02 87 lda sp,2(sp) + 88 ; main.c 10 + 89 ; genIpush + 90 ; _saveRegsForCall: sendSetSize: 0 deInUse: 0 bcInUse: 0 deSending: 0 + 001D 21 84 00 91 ld hl,#__str_0 + 0020 E5 92 push hl + 93 ; genCall + 0021 CD 00 00 94 call _gprintf + 0024 E8 02 95 lda sp,2(sp) + 96 ; main.c 12 + 97 ; genIpush + 98 ; _saveRegsForCall: sendSetSize: 0 deInUse: 0 bcInUse: 0 deSending: 0 + 0026 21 02 03 99 ld hl,#0x0302 + 0029 E5 100 push hl + 101 ; genCall + 002A CD 00 00 102 call _gotogxy + 002D E8 02 103 lda sp,2(sp) + 104 ; main.c 13 + 105 ; genIpush + 106 ; _saveRegsForCall: sendSetSize: 0 deInUse: 0 bcInUse: 0 deSending: 0 + 002F 21 97 00 107 ld hl,#__str_1 + 0032 E5 108 push hl + 109 ; genCall + 0033 CD 00 00 110 call _gprintf + 0036 E8 02 111 lda sp,2(sp) + 112 ; main.c 15 + 113 ; genLabel + 0038 114 00104$: + 115 ; main.c 16 + 116 ; genCall + 117 ; _saveRegsForCall: sendSetSize: 0 deInUse: 0 bcInUse: 0 deSending: 0 + 0038 CD 00 00 118 call _joypad + 003B 4B 119 ld c,e + 120 ; genAssign + 003C 79 121 ld a,c + 122 ; main.c 17 + 123 ; genIfx + 003D B7 124 or a,a + 003E CA 38 00 125 jp z,00104$ + 126 ; main.c 18 + 127 ; genAssign + 0041 01 10 FF 128 ld bc,#0xFF10 + 129 ; genAssign (pointer) + 0044 3E 38 130 ld a,#0x38 + 0046 02 131 ld (bc),a + 132 ; main.c 19 + 133 ; genAssign + 0047 01 11 FF 134 ld bc,#0xFF11 + 135 ; genAssign (pointer) + 004A 3E 70 136 ld a,#0x70 + 004C 02 137 ld (bc),a + 138 ; main.c 20 + 139 ; genAssign + 004D 01 12 FF 140 ld bc,#0xFF12 + 141 ; genAssign (pointer) + 0050 3E E0 142 ld a,#0xE0 + 0052 02 143 ld (bc),a + 144 ; main.c 21 + 145 ; genAssign + 0053 01 13 FF 146 ld bc,#0xFF13 + 147 ; genAssign (pointer) + 0056 3E 0A 148 ld a,#0x0A + 0058 02 149 ld (bc),a + 150 ; main.c 22 + 151 ; genAssign + 0059 01 14 FF 152 ld bc,#0xFF14 + 153 ; genAssign (pointer) + 005C 3E C6 154 ld a,#0xC6 + 005E 02 155 ld (bc),a + 156 ; main.c 24 + 157 ; genAssign + 005F 01 25 FF 158 ld bc,#0xFF25 + 159 ; genAssign + 160 ; AOP_STK for _main_sloc0_1_0 + 0062 F8 01 161 lda hl,1(sp) + 0064 36 25 162 ld (hl),#0x25 + 0066 23 163 inc hl + 0067 36 FF 164 ld (hl),#0xFF + 165 ; genPointerGet + 166 ; AOP_STK for _main_sloc0_1_0 + 167 ; AOP_STK for _main_sloc1_1_0 + 0069 2B 168 dec hl + 006A 5E 169 ld e,(hl) + 006B 23 170 inc hl + 006C 56 171 ld d,(hl) + 006D 1A 172 ld a,(de) + 006E 2B 173 dec hl + 006F 2B 174 dec hl + 175 ; genOr + 176 ; AOP_STK for _main_sloc1_1_0 + 0070 77 177 ld (hl),a + 0071 7F 178 ld a,a + 0072 F6 11 179 or a,#0x11 + 180 ; genAssign (pointer) + 0074 02 181 ld (bc),a + 182 ; main.c 26 + 183 ; genIpush + 184 ; _saveRegsForCall: sendSetSize: 0 deInUse: 0 bcInUse: 0 deSending: 0 + 0075 21 C8 00 185 ld hl,#0x00C8 + 0078 E5 186 push hl + 187 ; genCall + 0079 CD 00 00 188 call _delay + 007C E8 02 189 lda sp,2(sp) + 190 ; genGoto + 007E C3 38 00 191 jp 00104$ + 192 ; genLabel + 0081 193 00106$: + 194 ; genEndFunction + 0081 E8 03 195 lda sp,3(sp) + 0083 C9 196 ret + 0084 197 ___main_end: + 0084 198 __str_0: + 0084 3D 3D 3D 3D 3D 3D 199 .ascii "====== Beep ======" + 20 42 65 65 70 20 + 3D 3D 3D 3D 3D 3D + 0096 00 200 .db 0x00 + 0097 201 __str_1: + 0097 50 72 65 73 73 20 202 .ascii "Press any button" + 61 6E 79 20 62 75 + 74 74 6F 6E + 00A7 00 203 .db 0x00 + 204 .area _CODE + ASxxxx Assembler V01.75 (GameBoy Z80-like CPU), page 1. + +Symbol Table + + 0 ___main_end 0084 R + 0 ___main_start 0000 R + 0 __str_0 0084 R + 0 __str_1 0097 R + _delay **** GX + _gotogxy **** GX + _gprintf **** GX + _joypad **** GX + 0 _main 0000 GR + + ASxxxx Assembler V01.75 (GameBoy Z80-like CPU), page 2. + +Area Table + + 0 _CODE size A8 flags 0 + 1 _DATA size 0 flags 0 + 2 _OVERLAY size 0 flags 0 + 3 _ISEG size 0 flags 0 + 4 _BSEG size 0 flags 0 + 5 _XSEG size 0 flags 0 + 6 _GSINIT size 0 flags 0 + 7 _GSFINAL size 0 flags 0 + 8 _HOME size 0 flags 0 diff --git a/big_sprite/Makefile b/big_sprite/Makefile new file mode 100644 index 0000000..6946e93 --- /dev/null +++ b/big_sprite/Makefile @@ -0,0 +1,16 @@ +AS = lcc -c +CC = lcc -Wa-l -Wl-m + +BIN = big_sprite.gb +OBJS = big_sprite.o + +all: $(BIN) + +$.s: %.ms + maccer -o $@ $< + +$(BIN): $(OBJS) + $(CC) -o $(BIN) $(OBJS) + +clean: + rm -rf $(BIN) $(OBJS) *~ diff --git a/big_sprite/big_sprite.c b/big_sprite/big_sprite.c new file mode 100644 index 0000000..78163a0 --- /dev/null +++ b/big_sprite/big_sprite.c @@ -0,0 +1,11 @@ +#include +#include "sprite.c" +void main() { + SPRITES_8x16; + set_sprite_data(0, 4, sprite); + set_sprite_tile(0, 0); + move_sprite(0, 75, 75); + set_sprite_tile(1, 2); + move_sprite(1, 75 + 8, 75); + SHOW_SPRITES; +} diff --git a/big_sprite/big_sprite.gb b/big_sprite/big_sprite.gb new file mode 100644 index 0000000..504ee04 Binary files /dev/null and b/big_sprite/big_sprite.gb differ diff --git a/big_sprite/big_sprite.lst b/big_sprite/big_sprite.lst new file mode 100644 index 0000000..2f95632 --- /dev/null +++ b/big_sprite/big_sprite.lst @@ -0,0 +1,220 @@ + 1 ;-------------------------------------------------------- + 2 ; File Created by SDCC : FreeWare ANSI-C Compiler + 3 ; Version 2.3.1 Wed Jul 8 08:00:47 2020 + 4 + 5 ;-------------------------------------------------------- + 6 .module lcc2194330 + 7 + 8 ;-------------------------------------------------------- + 9 ; Public variables in this module + 10 ;-------------------------------------------------------- + 11 .globl _main + 12 .globl _sprite + 13 ;-------------------------------------------------------- + 14 ; special function registers + 15 ;-------------------------------------------------------- + 16 ;-------------------------------------------------------- + 17 ; special function bits + 18 ;-------------------------------------------------------- + 19 ;-------------------------------------------------------- + 20 ; internal ram data + 21 ;-------------------------------------------------------- + 22 .area _DATA + 0000 23 _sprite:: + 0000 24 .ds 64 + 25 ;-------------------------------------------------------- + 26 ; overlayable items in internal ram + 27 ;-------------------------------------------------------- + 28 .area _OVERLAY + 29 ;-------------------------------------------------------- + 30 ; indirectly addressable internal ram data + 31 ;-------------------------------------------------------- + 32 .area _ISEG + 33 ;-------------------------------------------------------- + 34 ; bit data + 35 ;-------------------------------------------------------- + 36 .area _BSEG + 37 ;-------------------------------------------------------- + 38 ; external ram data + 39 ;-------------------------------------------------------- + 40 .area _XSEG + 41 ;-------------------------------------------------------- + 42 ; global & static initialisations + 43 ;-------------------------------------------------------- + 44 .area _GSINIT + 45 .area _GSFINAL + 46 .area _GSINIT + 47 ; big_sprite.c 1 + 48 ; big_sprite.c 12 + 49 ; genArrayInit + 50 ; _saveRegsForCall: sendSetSize: 0 deInUse: 0 bcInUse: 0 deSending: 0 + 0000 21 00 00 51 ld hl,#_sprite + 0003 CD 00 00 52 call __initrleblock + 0006 0C 53 .db 12 + 0007 FF FF 80 80 80 80 54 .db 0xFF, 0xFF, 0x80, 0x80, 0x80, 0x80, 0x81, 0x81 + 81 81 + 000F 83 83 87 87 55 .db 0x83, 0x83, 0x87, 0x87 + 0013 F4 81 56 .db -12,0x81 + 0015 0C 57 .db 12 + 0016 83 83 87 87 80 80 58 .db 0x83, 0x83, 0x87, 0x87, 0x80, 0x80, 0xFF, 0xFF + FF FF + 001E FF FF 01 01 59 .db 0xFF, 0xFF, 0x01, 0x01 + 0022 EC C1 60 .db -20,0xC1 + 0024 08 61 .db 8 + 0025 E1 E1 F1 F1 01 01 62 .db 0xE1, 0xE1, 0xF1, 0xF1, 0x01, 0x01, 0xFF, 0xFF + FF FF + 002D 00 63 .db 0 + 64 ;-------------------------------------------------------- + 65 ; Home + 66 ;-------------------------------------------------------- + 67 .area _HOME + 68 .area _CODE + 69 ;-------------------------------------------------------- + 70 ; code + 71 ;-------------------------------------------------------- + 72 .area _CODE + 73 ; big_sprite.c 3 + 74 ; genLabel + 75 ; genFunction + 76 ; --------------------------------- + 77 ; Function main + 78 ; --------------------------------- + 0000 79 ___main_start: + 0000 80 _main: + 0000 E8 FD 81 lda sp,-3(sp) + 82 ; big_sprite.c 4 + 83 ; genAssign + 0002 01 40 FF 84 ld bc,#0xFF40 + 85 ; genAssign + 86 ; AOP_STK for _main_sloc0_1_0 + 0005 F8 01 87 lda hl,1(sp) + 0007 36 40 88 ld (hl),#0x40 + 0009 23 89 inc hl + 000A 36 FF 90 ld (hl),#0xFF + 91 ; genPointerGet + 92 ; AOP_STK for _main_sloc0_1_0 + 93 ; AOP_STK for _main_sloc1_1_0 + 000C 2B 94 dec hl + 000D 5E 95 ld e,(hl) + 000E 23 96 inc hl + 000F 56 97 ld d,(hl) + 0010 1A 98 ld a,(de) + 0011 2B 99 dec hl + 0012 2B 100 dec hl + 101 ; genOr + 102 ; AOP_STK for _main_sloc1_1_0 + 0013 77 103 ld (hl),a + 0014 7F 104 ld a,a + 0015 F6 04 105 or a,#0x04 + 106 ; genAssign (pointer) + 0017 02 107 ld (bc),a + 108 ; big_sprite.c 5 + 109 ; genIpush + 110 ; _saveRegsForCall: sendSetSize: 0 deInUse: 0 bcInUse: 0 deSending: 0 + 0018 21 00 00 111 ld hl,#_sprite + 001B E5 112 push hl + 113 ; genIpush + 001C 21 00 04 114 ld hl,#0x0400 + 001F E5 115 push hl + 116 ; genCall + 0020 CD 00 00 117 call _set_sprite_data + 0023 E8 04 118 lda sp,4(sp) + 119 ; big_sprite.c 6 + 120 ; genIpush + 121 ; _saveRegsForCall: sendSetSize: 0 deInUse: 0 bcInUse: 0 deSending: 0 + 0025 21 00 00 122 ld hl,#0x0000 + 0028 E5 123 push hl + 124 ; genCall + 0029 CD 00 00 125 call _set_sprite_tile + 002C E8 02 126 lda sp,2(sp) + 127 ; big_sprite.c 7 + 128 ; genIpush + 129 ; _saveRegsForCall: sendSetSize: 0 deInUse: 0 bcInUse: 0 deSending: 0 + 002E 21 4B 4B 130 ld hl,#0x4B4B + 0031 E5 131 push hl + 132 ; genIpush + 0032 3E 00 133 ld a,#0x00 + 0034 F5 134 push af + 0035 33 135 inc sp + 136 ; genCall + 0036 CD 00 00 137 call _move_sprite + 0039 E8 03 138 lda sp,3(sp) + 139 ; big_sprite.c 8 + 140 ; genIpush + 141 ; _saveRegsForCall: sendSetSize: 0 deInUse: 0 bcInUse: 0 deSending: 0 + 003B 21 01 02 142 ld hl,#0x0201 + 003E E5 143 push hl + 144 ; genCall + 003F CD 00 00 145 call _set_sprite_tile + 0042 E8 02 146 lda sp,2(sp) + 147 ; big_sprite.c 9 + 148 ; genIpush + 149 ; _saveRegsForCall: sendSetSize: 0 deInUse: 0 bcInUse: 0 deSending: 0 + 0044 21 53 4B 150 ld hl,#0x4B53 + 0047 E5 151 push hl + 152 ; genIpush + 0048 3E 01 153 ld a,#0x01 + 004A F5 154 push af + 004B 33 155 inc sp + 156 ; genCall + 004C CD 00 00 157 call _move_sprite + 004F E8 03 158 lda sp,3(sp) + 159 ; big_sprite.c 10 + 160 ; genAssign + 0051 01 40 FF 161 ld bc,#0xFF40 + 162 ; genAssign + 163 ; AOP_STK for _main_sloc0_1_0 + 0054 F8 01 164 lda hl,1(sp) + 0056 36 40 165 ld (hl),#0x40 + 0058 23 166 inc hl + 0059 36 FF 167 ld (hl),#0xFF + 168 ; genPointerGet + 169 ; AOP_STK for _main_sloc0_1_0 + 170 ; AOP_STK for _main_sloc1_1_0 + 005B 2B 171 dec hl + 005C 5E 172 ld e,(hl) + 005D 23 173 inc hl + 005E 56 174 ld d,(hl) + 005F 1A 175 ld a,(de) + 0060 2B 176 dec hl + 0061 2B 177 dec hl + 178 ; genOr + 179 ; AOP_STK for _main_sloc1_1_0 + 0062 77 180 ld (hl),a + 0063 7F 181 ld a,a + 0064 F6 02 182 or a,#0x02 + 183 ; genAssign (pointer) + 0066 02 184 ld (bc),a + 185 ; genLabel + 0067 186 00101$: + 187 ; genEndFunction + 0067 E8 03 188 lda sp,3(sp) + 0069 C9 189 ret + 006A 190 ___main_end: + 191 .area _CODE + ASxxxx Assembler V01.75 (GameBoy Z80-like CPU), page 1. + +Symbol Table + + 0 ___main_end 006A R + 0 ___main_start 0000 R + __initrleblock **** GX + 0 _main 0000 GR + _move_sprite **** GX + _set_sprite_data **** GX + _set_sprite_tile **** GX + 1 _sprite 0000 GR + + ASxxxx Assembler V01.75 (GameBoy Z80-like CPU), page 2. + +Area Table + + 0 _CODE size 6A flags 0 + 1 _DATA size 40 flags 0 + 2 _OVERLAY size 0 flags 0 + 3 _ISEG size 0 flags 0 + 4 _BSEG size 0 flags 0 + 5 _XSEG size 0 flags 0 + 6 _GSINIT size 2E flags 0 + 7 _GSFINAL size 0 flags 0 + 8 _HOME size 0 flags 0 diff --git a/big_sprite/sprite.c b/big_sprite/sprite.c new file mode 100644 index 0000000..2342495 --- /dev/null +++ b/big_sprite/sprite.c @@ -0,0 +1,11 @@ +unsigned char sprite[] = +{ + 0xFF,0xFF,0x80,0x80,0x80,0x80,0x81,0x81, + 0x83,0x83,0x87,0x87,0x81,0x81,0x81,0x81, + 0x81,0x81,0x81,0x81,0x81,0x81,0x81,0x81, + 0x83,0x83,0x87,0x87,0x80,0x80,0xFF,0xFF, + 0xFF,0xFF,0x01,0x01,0xC1,0xC1,0xC1,0xC1, + 0xC1,0xC1,0xC1,0xC1,0xC1,0xC1,0xC1,0xC1, + 0xC1,0xC1,0xC1,0xC1,0xC1,0xC1,0xC1,0xC1, + 0xE1,0xE1,0xF1,0xF1,0x01,0x01,0xFF,0xFF +}; diff --git a/big_sprite_animation/Makefile b/big_sprite_animation/Makefile new file mode 100644 index 0000000..c1cdaef --- /dev/null +++ b/big_sprite_animation/Makefile @@ -0,0 +1,16 @@ +AS = lcc -c +CC = lcc -Wa-l -Wl-m + +BIN = big_sprite_animation.gb +OBJS = big_sprite_animation.o + +all: $(BIN) + +$.s: %.ms + maccer -o $@ $< + +$(BIN): $(OBJS) + $(CC) -o $(BIN) $(OBJS) + +clean: + rm -rf $(BIN) $(OBJS) *~ diff --git a/big_sprite_animation/big_sprite_animation.c b/big_sprite_animation/big_sprite_animation.c new file mode 100644 index 0000000..61c2a3d --- /dev/null +++ b/big_sprite_animation/big_sprite_animation.c @@ -0,0 +1,21 @@ +#include +#include "cards.c" + +void main() { + SPRITES_8x16; + set_sprite_data(0, 8, cards); + set_sprite_tile(0, 0); + move_sprite(0, 75, 75); + set_sprite_tile(1, 2); + move_sprite(1, 75 + 8, 75); + SHOW_SPRITES; + + while(1) { + set_sprite_tile(0, 3); + set_sprite_tile(1, 5); + delay(500); + set_sprite_tile(0, 0); + set_sprite_tile(1, 2); + delay(500); + } +} diff --git a/big_sprite_animation/big_sprite_animation.gb b/big_sprite_animation/big_sprite_animation.gb new file mode 100644 index 0000000..8b5db10 Binary files /dev/null and b/big_sprite_animation/big_sprite_animation.gb differ diff --git a/big_sprite_animation/big_sprite_animation.lst b/big_sprite_animation/big_sprite_animation.lst new file mode 100644 index 0000000..1e5d782 --- /dev/null +++ b/big_sprite_animation/big_sprite_animation.lst @@ -0,0 +1,290 @@ + 1 ;-------------------------------------------------------- + 2 ; File Created by SDCC : FreeWare ANSI-C Compiler + 3 ; Version 2.3.1 Wed Jul 8 08:05:34 2020 + 4 + 5 ;-------------------------------------------------------- + 6 .module lcc2202740 + 7 + 8 ;-------------------------------------------------------- + 9 ; Public variables in this module + 10 ;-------------------------------------------------------- + 11 .globl _main + 12 .globl _cards + 13 ;-------------------------------------------------------- + 14 ; special function registers + 15 ;-------------------------------------------------------- + 16 ;-------------------------------------------------------- + 17 ; special function bits + 18 ;-------------------------------------------------------- + 19 ;-------------------------------------------------------- + 20 ; internal ram data + 21 ;-------------------------------------------------------- + 22 .area _DATA + 0000 23 _cards:: + 0000 24 .ds 128 + 25 ;-------------------------------------------------------- + 26 ; overlayable items in internal ram + 27 ;-------------------------------------------------------- + 28 .area _OVERLAY + 29 ;-------------------------------------------------------- + 30 ; indirectly addressable internal ram data + 31 ;-------------------------------------------------------- + 32 .area _ISEG + 33 ;-------------------------------------------------------- + 34 ; bit data + 35 ;-------------------------------------------------------- + 36 .area _BSEG + 37 ;-------------------------------------------------------- + 38 ; external ram data + 39 ;-------------------------------------------------------- + 40 .area _XSEG + 41 ;-------------------------------------------------------- + 42 ; global & static initialisations + 43 ;-------------------------------------------------------- + 44 .area _GSINIT + 45 .area _GSFINAL + 46 .area _GSINIT + 47 ; big_sprite_animation.c 1 + 48 ; big_sprite_animation.c 22 + 49 ; genArrayInit + 50 ; _saveRegsForCall: sendSetSize: 0 deInUse: 0 bcInUse: 0 deSending: 0 + 0000 21 00 00 51 ld hl,#_cards + 0003 CD 00 00 52 call __initrleblock + 0006 0C 53 .db 12 + 0007 FF FF 80 80 80 80 54 .db 0xFF, 0xFF, 0x80, 0x80, 0x80, 0x80, 0x81, 0x81 + 81 81 + 000F 83 83 87 87 55 .db 0x83, 0x83, 0x87, 0x87 + 0013 F4 81 56 .db -12,0x81 + 0015 0C 57 .db 12 + 0016 83 83 87 87 80 80 58 .db 0x83, 0x83, 0x87, 0x87, 0x80, 0x80, 0xFF, 0xFF + FF FF + 001E FF FF 01 01 59 .db 0xFF, 0xFF, 0x01, 0x01 + 0022 EC C1 60 .db -20,0xC1 + 0024 14 61 .db 20 + 0025 E1 E1 F1 F1 01 01 62 .db 0xE1, 0xE1, 0xF1, 0xF1, 0x01, 0x01, 0xFF, 0xFF + FF FF + 002D FF FF 80 80 83 83 63 .db 0xFF, 0xFF, 0x80, 0x80, 0x83, 0x83, 0x87, 0x87 + 87 87 + 0035 8E 8E 8C 8C 64 .db 0x8E, 0x8E, 0x8C, 0x8C + 0039 F8 80 65 .db -8,0x80 + 003B 16 66 .db 22 + 003C 81 81 83 83 87 87 67 .db 0x81, 0x81, 0x83, 0x83, 0x87, 0x87, 0x8F, 0x8F + 8F 8F + 0044 80 80 FF FF FF FF 68 .db 0x80, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0x01, 0x01 + 01 01 + 004C C1 C1 E1 E1 71 71 69 .db 0xC1, 0xC1, 0xE1, 0xE1, 0x71, 0x71 + 0052 FA 31 70 .db -6,0x31 + 0054 10 71 .db 16 + 0055 71 71 E1 E1 C1 C1 72 .db 0x71, 0x71, 0xE1, 0xE1, 0xC1, 0xC1, 0x81, 0x81 + 81 81 + 005D F1 F1 F1 F1 01 01 73 .db 0xF1, 0xF1, 0xF1, 0xF1, 0x01, 0x01, 0xFF, 0xFF + FF FF + 0065 00 74 .db 0 + 75 ;-------------------------------------------------------- + 76 ; Home + 77 ;-------------------------------------------------------- + 78 .area _HOME + 79 .area _CODE + 80 ;-------------------------------------------------------- + 81 ; code + 82 ;-------------------------------------------------------- + 83 .area _CODE + 84 ; big_sprite_animation.c 4 + 85 ; genLabel + 86 ; genFunction + 87 ; --------------------------------- + 88 ; Function main + 89 ; --------------------------------- + 0000 90 ___main_start: + 0000 91 _main: + 0000 E8 FD 92 lda sp,-3(sp) + 93 ; big_sprite_animation.c 5 + 94 ; genAssign + 0002 01 40 FF 95 ld bc,#0xFF40 + 96 ; genAssign + 97 ; AOP_STK for _main_sloc0_1_0 + 0005 F8 01 98 lda hl,1(sp) + 0007 36 40 99 ld (hl),#0x40 + 0009 23 100 inc hl + 000A 36 FF 101 ld (hl),#0xFF + 102 ; genPointerGet + 103 ; AOP_STK for _main_sloc0_1_0 + 104 ; AOP_STK for _main_sloc1_1_0 + 000C 2B 105 dec hl + 000D 5E 106 ld e,(hl) + 000E 23 107 inc hl + 000F 56 108 ld d,(hl) + 0010 1A 109 ld a,(de) + 0011 2B 110 dec hl + 0012 2B 111 dec hl + 112 ; genOr + 113 ; AOP_STK for _main_sloc1_1_0 + 0013 77 114 ld (hl),a + 0014 7F 115 ld a,a + 0015 F6 04 116 or a,#0x04 + 117 ; genAssign (pointer) + 0017 02 118 ld (bc),a + 119 ; big_sprite_animation.c 6 + 120 ; genIpush + 121 ; _saveRegsForCall: sendSetSize: 0 deInUse: 0 bcInUse: 0 deSending: 0 + 0018 21 00 00 122 ld hl,#_cards + 001B E5 123 push hl + 124 ; genIpush + 001C 21 00 08 125 ld hl,#0x0800 + 001F E5 126 push hl + 127 ; genCall + 0020 CD 00 00 128 call _set_sprite_data + 0023 E8 04 129 lda sp,4(sp) + 130 ; big_sprite_animation.c 7 + 131 ; genIpush + 132 ; _saveRegsForCall: sendSetSize: 0 deInUse: 0 bcInUse: 0 deSending: 0 + 0025 21 00 00 133 ld hl,#0x0000 + 0028 E5 134 push hl + 135 ; genCall + 0029 CD 00 00 136 call _set_sprite_tile + 002C E8 02 137 lda sp,2(sp) + 138 ; big_sprite_animation.c 8 + 139 ; genIpush + 140 ; _saveRegsForCall: sendSetSize: 0 deInUse: 0 bcInUse: 0 deSending: 0 + 002E 21 4B 4B 141 ld hl,#0x4B4B + 0031 E5 142 push hl + 143 ; genIpush + 0032 3E 00 144 ld a,#0x00 + 0034 F5 145 push af + 0035 33 146 inc sp + 147 ; genCall + 0036 CD 00 00 148 call _move_sprite + 0039 E8 03 149 lda sp,3(sp) + 150 ; big_sprite_animation.c 9 + 151 ; genIpush + 152 ; _saveRegsForCall: sendSetSize: 0 deInUse: 0 bcInUse: 0 deSending: 0 + 003B 21 01 02 153 ld hl,#0x0201 + 003E E5 154 push hl + 155 ; genCall + 003F CD 00 00 156 call _set_sprite_tile + 0042 E8 02 157 lda sp,2(sp) + 158 ; big_sprite_animation.c 10 + 159 ; genIpush + 160 ; _saveRegsForCall: sendSetSize: 0 deInUse: 0 bcInUse: 0 deSending: 0 + 0044 21 53 4B 161 ld hl,#0x4B53 + 0047 E5 162 push hl + 163 ; genIpush + 0048 3E 01 164 ld a,#0x01 + 004A F5 165 push af + 004B 33 166 inc sp + 167 ; genCall + 004C CD 00 00 168 call _move_sprite + 004F E8 03 169 lda sp,3(sp) + 170 ; big_sprite_animation.c 11 + 171 ; genAssign + 0051 01 40 FF 172 ld bc,#0xFF40 + 173 ; genAssign + 174 ; AOP_STK for _main_sloc0_1_0 + 0054 F8 01 175 lda hl,1(sp) + 0056 36 40 176 ld (hl),#0x40 + 0058 23 177 inc hl + 0059 36 FF 178 ld (hl),#0xFF + 179 ; genPointerGet + 180 ; AOP_STK for _main_sloc0_1_0 + 181 ; AOP_STK for _main_sloc1_1_0 + 005B 2B 182 dec hl + 005C 5E 183 ld e,(hl) + 005D 23 184 inc hl + 005E 56 185 ld d,(hl) + 005F 1A 186 ld a,(de) + 0060 2B 187 dec hl + 0061 2B 188 dec hl + 189 ; genOr + 190 ; AOP_STK for _main_sloc1_1_0 + 0062 77 191 ld (hl),a + 0063 7F 192 ld a,a + 0064 F6 02 193 or a,#0x02 + 194 ; genAssign (pointer) + 0066 02 195 ld (bc),a + 196 ; big_sprite_animation.c 13 + 197 ; genLabel + 0067 198 00102$: + 199 ; big_sprite_animation.c 14 + 200 ; genIpush + 201 ; _saveRegsForCall: sendSetSize: 0 deInUse: 0 bcInUse: 0 deSending: 0 + 0067 21 00 03 202 ld hl,#0x0300 + 006A E5 203 push hl + 204 ; genCall + 006B CD 00 00 205 call _set_sprite_tile + 006E E8 02 206 lda sp,2(sp) + 207 ; big_sprite_animation.c 15 + 208 ; genIpush + 209 ; _saveRegsForCall: sendSetSize: 0 deInUse: 0 bcInUse: 0 deSending: 0 + 0070 21 01 05 210 ld hl,#0x0501 + 0073 E5 211 push hl + 212 ; genCall + 0074 CD 00 00 213 call _set_sprite_tile + 0077 E8 02 214 lda sp,2(sp) + 215 ; big_sprite_animation.c 16 + 216 ; genIpush + 217 ; _saveRegsForCall: sendSetSize: 0 deInUse: 0 bcInUse: 0 deSending: 0 + 0079 21 F4 01 218 ld hl,#0x01F4 + 007C E5 219 push hl + 220 ; genCall + 007D CD 00 00 221 call _delay + 0080 E8 02 222 lda sp,2(sp) + 223 ; big_sprite_animation.c 17 + 224 ; genIpush + 225 ; _saveRegsForCall: sendSetSize: 0 deInUse: 0 bcInUse: 0 deSending: 0 + 0082 21 00 00 226 ld hl,#0x0000 + 0085 E5 227 push hl + 228 ; genCall + 0086 CD 00 00 229 call _set_sprite_tile + 0089 E8 02 230 lda sp,2(sp) + 231 ; big_sprite_animation.c 18 + 232 ; genIpush + 233 ; _saveRegsForCall: sendSetSize: 0 deInUse: 0 bcInUse: 0 deSending: 0 + 008B 21 01 02 234 ld hl,#0x0201 + 008E E5 235 push hl + 236 ; genCall + 008F CD 00 00 237 call _set_sprite_tile + 0092 E8 02 238 lda sp,2(sp) + 239 ; big_sprite_animation.c 19 + 240 ; genIpush + 241 ; _saveRegsForCall: sendSetSize: 0 deInUse: 0 bcInUse: 0 deSending: 0 + 0094 21 F4 01 242 ld hl,#0x01F4 + 0097 E5 243 push hl + 244 ; genCall + 0098 CD 00 00 245 call _delay + 009B E8 02 246 lda sp,2(sp) + 247 ; genGoto + 009D C3 67 00 248 jp 00102$ + 249 ; genLabel + 00A0 250 00104$: + 251 ; genEndFunction + 00A0 E8 03 252 lda sp,3(sp) + 00A2 C9 253 ret + 00A3 254 ___main_end: + 255 .area _CODE + ASxxxx Assembler V01.75 (GameBoy Z80-like CPU), page 1. + +Symbol Table + + 0 ___main_end 00A3 R + 0 ___main_start 0000 R + __initrleblock **** GX + 1 _cards 0000 GR + _delay **** GX + 0 _main 0000 GR + _move_sprite **** GX + _set_sprite_data **** GX + _set_sprite_tile **** GX + + ASxxxx Assembler V01.75 (GameBoy Z80-like CPU), page 2. + +Area Table + + 0 _CODE size A3 flags 0 + 1 _DATA size 80 flags 0 + 2 _OVERLAY size 0 flags 0 + 3 _ISEG size 0 flags 0 + 4 _BSEG size 0 flags 0 + 5 _XSEG size 0 flags 0 + 6 _GSINIT size 66 flags 0 + 7 _GSFINAL size 0 flags 0 + 8 _HOME size 0 flags 0 diff --git a/big_sprite_animation/cards.c b/big_sprite_animation/cards.c new file mode 100644 index 0000000..3b7c13c --- /dev/null +++ b/big_sprite_animation/cards.c @@ -0,0 +1,19 @@ +unsigned char cards[] = +{ + 0xFF,0xFF,0x80,0x80,0x80,0x80,0x81,0x81, + 0x83,0x83,0x87,0x87,0x81,0x81,0x81,0x81, + 0x81,0x81,0x81,0x81,0x81,0x81,0x81,0x81, + 0x83,0x83,0x87,0x87,0x80,0x80,0xFF,0xFF, + 0xFF,0xFF,0x01,0x01,0xC1,0xC1,0xC1,0xC1, + 0xC1,0xC1,0xC1,0xC1,0xC1,0xC1,0xC1,0xC1, + 0xC1,0xC1,0xC1,0xC1,0xC1,0xC1,0xC1,0xC1, + 0xE1,0xE1,0xF1,0xF1,0x01,0x01,0xFF,0xFF, + 0xFF,0xFF,0x80,0x80,0x83,0x83,0x87,0x87, + 0x8E,0x8E,0x8C,0x8C,0x80,0x80,0x80,0x80, + 0x80,0x80,0x80,0x80,0x81,0x81,0x83,0x83, + 0x87,0x87,0x8F,0x8F,0x80,0x80,0xFF,0xFF, + 0xFF,0xFF,0x01,0x01,0xC1,0xC1,0xE1,0xE1, + 0x71,0x71,0x31,0x31,0x31,0x31,0x31,0x31, + 0x71,0x71,0xE1,0xE1,0xC1,0xC1,0x81,0x81, + 0xF1,0xF1,0xF1,0xF1,0x01,0x01,0xFF,0xFF +}; diff --git a/blank/Makefile b/blank/Makefile new file mode 100644 index 0000000..f20e938 --- /dev/null +++ b/blank/Makefile @@ -0,0 +1,16 @@ +AS = lcc -c +CC = lcc -Wa-l -Wl-m + +BIN = blank.gb +OBJS = blank.o + +all: $(BIN) + +$.s: %.ms + maccer -o $@ $< + +$(BIN): $(OBJS) + $(CC) -o $(BIN) $(OBJS) + +clean: + rm -rf $(BIN) $(OBJS) *~ diff --git a/blank/blank.c b/blank/blank.c new file mode 100644 index 0000000..34f46e2 --- /dev/null +++ b/blank/blank.c @@ -0,0 +1,2 @@ +void main() { +} diff --git a/blank/blank.gb b/blank/blank.gb new file mode 100644 index 0000000..e7f9c97 Binary files /dev/null and b/blank/blank.gb differ diff --git a/blank/blank.lst b/blank/blank.lst new file mode 100644 index 0000000..ac4f94a --- /dev/null +++ b/blank/blank.lst @@ -0,0 +1,90 @@ + 1 ;-------------------------------------------------------- + 2 ; File Created by SDCC : FreeWare ANSI-C Compiler + 3 ; Version 2.3.1 Wed Jul 8 07:28:28 2020 + 4 + 5 ;-------------------------------------------------------- + 6 .module lcc2137180 + 7 + 8 ;-------------------------------------------------------- + 9 ; Public variables in this module + 10 ;-------------------------------------------------------- + 11 .globl _main + 12 ;-------------------------------------------------------- + 13 ; special function registers + 14 ;-------------------------------------------------------- + 15 ;-------------------------------------------------------- + 16 ; special function bits + 17 ;-------------------------------------------------------- + 18 ;-------------------------------------------------------- + 19 ; internal ram data + 20 ;-------------------------------------------------------- + 21 .area _DATA + 22 ;-------------------------------------------------------- + 23 ; overlayable items in internal ram + 24 ;-------------------------------------------------------- + 25 .area _OVERLAY + 26 ;-------------------------------------------------------- + 27 ; indirectly addressable internal ram data + 28 ;-------------------------------------------------------- + 29 .area _ISEG + 30 ;-------------------------------------------------------- + 31 ; bit data + 32 ;-------------------------------------------------------- + 33 .area _BSEG + 34 ;-------------------------------------------------------- + 35 ; external ram data + 36 ;-------------------------------------------------------- + 37 .area _XSEG + 38 ;-------------------------------------------------------- + 39 ; global & static initialisations + 40 ;-------------------------------------------------------- + 41 .area _GSINIT + 42 .area _GSFINAL + 43 .area _GSINIT + 44 ;-------------------------------------------------------- + 45 ; Home + 46 ;-------------------------------------------------------- + 47 .area _HOME + 48 .area _CODE + 49 ;-------------------------------------------------------- + 50 ; code + 51 ;-------------------------------------------------------- + 52 .area _CODE + 53 ; blank.c 1 + 54 ; genLabel + 55 ; genFunction + 56 ; --------------------------------- + 57 ; Function main + 58 ; --------------------------------- + 0000 59 ___main_start: + 0000 60 _main: + 61 + 62 ; blank.c 2 + 63 ; genLabel + 0000 64 00101$: + 65 ; genEndFunction + 66 + 0000 C9 67 ret + 0001 68 ___main_end: + 69 .area _CODE + ASxxxx Assembler V01.75 (GameBoy Z80-like CPU), page 1. + +Symbol Table + + 0 ___main_end 0001 R + 0 ___main_start 0000 R + 0 _main 0000 GR + + ASxxxx Assembler V01.75 (GameBoy Z80-like CPU), page 2. + +Area Table + + 0 _CODE size 1 flags 0 + 1 _DATA size 0 flags 0 + 2 _OVERLAY size 0 flags 0 + 3 _ISEG size 0 flags 0 + 4 _BSEG size 0 flags 0 + 5 _XSEG size 0 flags 0 + 6 _GSINIT size 0 flags 0 + 7 _GSFINAL size 0 flags 0 + 8 _HOME size 0 flags 0 diff --git a/hello_world/Makefile b/hello_world/Makefile new file mode 100644 index 0000000..b853edc --- /dev/null +++ b/hello_world/Makefile @@ -0,0 +1,16 @@ +AS = lcc -c +CC = lcc -Wa-l -Wl-m + +BIN = hello_world.gb +OBJS = hello_world.o + +all: $(BIN) + +$.s: %.ms + maccer -o $@ $< + +$(BIN): $(OBJS) + $(CC) -o $(BIN) $(OBJS) + +clean: + rm -rf $(BIN) $(OBJS) *~ diff --git a/hello_world/hello_world.c b/hello_world/hello_world.c new file mode 100644 index 0000000..ec909de --- /dev/null +++ b/hello_world/hello_world.c @@ -0,0 +1,7 @@ +#include +#include + +void main() { + printf("Hello World!"); + printf("\n\nPress Start"); +} diff --git a/hello_world/hello_world.gb b/hello_world/hello_world.gb new file mode 100644 index 0000000..24e6f9b Binary files /dev/null and b/hello_world/hello_world.gb differ diff --git a/hello_world/hello_world.lst b/hello_world/hello_world.lst new file mode 100644 index 0000000..c4dfab4 --- /dev/null +++ b/hello_world/hello_world.lst @@ -0,0 +1,118 @@ + 1 ;-------------------------------------------------------- + 2 ; File Created by SDCC : FreeWare ANSI-C Compiler + 3 ; Version 2.3.1 Wed Jul 8 07:41:10 2020 + 4 + 5 ;-------------------------------------------------------- + 6 .module lcc2164950 + 7 + 8 ;-------------------------------------------------------- + 9 ; Public variables in this module + 10 ;-------------------------------------------------------- + 11 .globl _main + 12 ;-------------------------------------------------------- + 13 ; special function registers + 14 ;-------------------------------------------------------- + 15 ;-------------------------------------------------------- + 16 ; special function bits + 17 ;-------------------------------------------------------- + 18 ;-------------------------------------------------------- + 19 ; internal ram data + 20 ;-------------------------------------------------------- + 21 .area _DATA + 22 ;-------------------------------------------------------- + 23 ; overlayable items in internal ram + 24 ;-------------------------------------------------------- + 25 .area _OVERLAY + 26 ;-------------------------------------------------------- + 27 ; indirectly addressable internal ram data + 28 ;-------------------------------------------------------- + 29 .area _ISEG + 30 ;-------------------------------------------------------- + 31 ; bit data + 32 ;-------------------------------------------------------- + 33 .area _BSEG + 34 ;-------------------------------------------------------- + 35 ; external ram data + 36 ;-------------------------------------------------------- + 37 .area _XSEG + 38 ;-------------------------------------------------------- + 39 ; global & static initialisations + 40 ;-------------------------------------------------------- + 41 .area _GSINIT + 42 .area _GSFINAL + 43 .area _GSINIT + 44 ;-------------------------------------------------------- + 45 ; Home + 46 ;-------------------------------------------------------- + 47 .area _HOME + 48 .area _CODE + 49 ;-------------------------------------------------------- + 50 ; code + 51 ;-------------------------------------------------------- + 52 .area _CODE + 53 ; hello_world.c 4 + 54 ; genLabel + 55 ; genFunction + 56 ; --------------------------------- + 57 ; Function main + 58 ; --------------------------------- + 0000 59 ___main_start: + 0000 60 _main: + 61 + 62 ; hello_world.c 5 + 63 ; genIpush + 64 ; _saveRegsForCall: sendSetSize: 0 deInUse: 0 bcInUse: 0 deSending: 0 + 0000 21 13 00 65 ld hl,#__str_0 + 0003 E5 66 push hl + 67 ; genCall + 0004 CD 00 00 68 call _printf + 0007 E8 02 69 lda sp,2(sp) + 70 ; hello_world.c 6 + 71 ; genIpush + 72 ; _saveRegsForCall: sendSetSize: 0 deInUse: 0 bcInUse: 0 deSending: 0 + 0009 21 20 00 73 ld hl,#__str_1 + 000C E5 74 push hl + 75 ; genCall + 000D CD 00 00 76 call _printf + 0010 E8 02 77 lda sp,2(sp) + 78 ; genLabel + 0012 79 00101$: + 80 ; genEndFunction + 81 + 0012 C9 82 ret + 0013 83 ___main_end: + 0013 84 __str_0: + 0013 48 65 6C 6C 6F 20 85 .ascii "Hello World!" + 57 6F 72 6C 64 21 + 001F 00 86 .db 0x00 + 0020 87 __str_1: + 0020 0A 88 .db 0x0A + 0021 0A 89 .db 0x0A + 0022 50 72 65 73 73 20 90 .ascii "Press Start" + 53 74 61 72 74 + 002D 00 91 .db 0x00 + 92 .area _CODE + ASxxxx Assembler V01.75 (GameBoy Z80-like CPU), page 1. + +Symbol Table + + 0 ___main_end 0013 R + 0 ___main_start 0000 R + 0 __str_0 0013 R + 0 __str_1 0020 R + 0 _main 0000 GR + _printf **** GX + + ASxxxx Assembler V01.75 (GameBoy Z80-like CPU), page 2. + +Area Table + + 0 _CODE size 2E flags 0 + 1 _DATA size 0 flags 0 + 2 _OVERLAY size 0 flags 0 + 3 _ISEG size 0 flags 0 + 4 _BSEG size 0 flags 0 + 5 _XSEG size 0 flags 0 + 6 _GSINIT size 0 flags 0 + 7 _GSFINAL size 0 flags 0 + 8 _HOME size 0 flags 0 diff --git a/input_state/Makefile b/input_state/Makefile new file mode 100644 index 0000000..042d0e0 --- /dev/null +++ b/input_state/Makefile @@ -0,0 +1,16 @@ +AS = lcc -c +CC = lcc -Wa-l -Wl-m + +BIN = input_state.gb +OBJS = input_state.o + +all: $(BIN) + +$.s: %.ms + maccer -o $@ $< + +$(BIN): $(OBJS) + $(CC) -o $(BIN) $(OBJS) + +clean: + rm -rf $(BIN) $(OBJS) *~ diff --git a/input_state/input_state.c b/input_state/input_state.c new file mode 100644 index 0000000..2811a8a --- /dev/null +++ b/input_state/input_state.c @@ -0,0 +1,39 @@ +#include +#include + +void printAndWait(char* text) { + printf(text); + delay(100); +} + +void main() { + while(1) { + switch(joypad()) { + case J_LEFT: + printAndWait("Left!\n"); + break; + case J_RIGHT: + printAndWait("Right!\n"); + break; + case J_UP: + printAndWait("Up!\n"); + break; + case J_DOWN: + printAndWait("Down!\n"); + break; + case J_START: + printAndWait("Start!\n"); + break; + case J_SELECT: + printAndWait("Select!\n"); + break; + case J_A: + printAndWait("A!\n"); + break; + case J_B: + printAndWait("B!\n"); + break; + } + } +} + diff --git a/input_state/input_state.gb b/input_state/input_state.gb new file mode 100644 index 0000000..fcb1d86 Binary files /dev/null and b/input_state/input_state.gb differ diff --git a/input_state/input_state.lst b/input_state/input_state.lst new file mode 100644 index 0000000..54ac873 --- /dev/null +++ b/input_state/input_state.lst @@ -0,0 +1,334 @@ + 1 ;-------------------------------------------------------- + 2 ; File Created by SDCC : FreeWare ANSI-C Compiler + 3 ; Version 2.3.1 Wed Jul 8 08:36:18 2020 + 4 + 5 ;-------------------------------------------------------- + 6 .module lcc2232240 + 7 + 8 ;-------------------------------------------------------- + 9 ; Public variables in this module + 10 ;-------------------------------------------------------- + 11 .globl _main + 12 .globl _printAndWait + 13 ;-------------------------------------------------------- + 14 ; special function registers + 15 ;-------------------------------------------------------- + 16 ;-------------------------------------------------------- + 17 ; special function bits + 18 ;-------------------------------------------------------- + 19 ;-------------------------------------------------------- + 20 ; internal ram data + 21 ;-------------------------------------------------------- + 22 .area _DATA + 23 ;-------------------------------------------------------- + 24 ; overlayable items in internal ram + 25 ;-------------------------------------------------------- + 26 .area _OVERLAY + 27 ;-------------------------------------------------------- + 28 ; indirectly addressable internal ram data + 29 ;-------------------------------------------------------- + 30 .area _ISEG + 31 ;-------------------------------------------------------- + 32 ; bit data + 33 ;-------------------------------------------------------- + 34 .area _BSEG + 35 ;-------------------------------------------------------- + 36 ; external ram data + 37 ;-------------------------------------------------------- + 38 .area _XSEG + 39 ;-------------------------------------------------------- + 40 ; global & static initialisations + 41 ;-------------------------------------------------------- + 42 .area _GSINIT + 43 .area _GSFINAL + 44 .area _GSINIT + 45 ;-------------------------------------------------------- + 46 ; Home + 47 ;-------------------------------------------------------- + 48 .area _HOME + 49 .area _CODE + 50 ;-------------------------------------------------------- + 51 ; code + 52 ;-------------------------------------------------------- + 53 .area _CODE + 54 ; input_state.c 4 + 55 ; genLabel + 56 ; genFunction + 57 ; --------------------------------- + 58 ; Function printAndWait + 59 ; --------------------------------- + 0000 60 ___printAndWait_start: + 0000 61 _printAndWait: + 62 + 63 ; input_state.c 5 + 64 ; genIpush + 65 ; _saveRegsForCall: sendSetSize: 0 deInUse: 0 bcInUse: 0 deSending: 0 + 66 ; AOP_STK for + 0000 F8 02 67 lda hl,2(sp) + 0002 2A 68 ld a,(hl+) + 0003 66 69 ld h,(hl) + 0004 6F 70 ld l,a + 0005 E5 71 push hl + 72 ; genCall + 0006 CD 00 00 73 call _printf + 0009 E8 02 74 lda sp,2(sp) + 75 ; input_state.c 6 + 76 ; genIpush + 77 ; _saveRegsForCall: sendSetSize: 0 deInUse: 0 bcInUse: 0 deSending: 0 + 000B 21 64 00 78 ld hl,#0x0064 + 000E E5 79 push hl + 80 ; genCall + 000F CD 00 00 81 call _delay + 0012 E8 02 82 lda sp,2(sp) + 83 ; genLabel + 0014 84 00101$: + 85 ; genEndFunction + 86 + 0014 C9 87 ret + 0015 88 ___printAndWait_end: + 89 ; input_state.c 9 + 90 ; genLabel + 91 ; genFunction + 92 ; --------------------------------- + 93 ; Function main + 94 ; --------------------------------- + 0015 95 ___main_start: + 0015 96 _main: + 97 + 98 ; input_state.c 10 + 99 ; genLabel + 0015 100 00111$: + 101 ; input_state.c 11 + 102 ; genCall + 103 ; _saveRegsForCall: sendSetSize: 0 deInUse: 0 bcInUse: 0 deSending: 0 + 0015 CD 00 00 104 call _joypad + 0018 4B 105 ld c,e + 106 ; genCmpEq + 107 ; genCmpEq: left 1, right 1, result 0 + 0019 79 108 ld a,c + 001A FE 01 109 cp a,#0x01 + 001C CA 58 00 110 jp z,00102$ + 001F 111 00124$: + 112 ; genCmpEq + 113 ; genCmpEq: left 1, right 1, result 0 + 001F 79 114 ld a,c + 0020 FE 02 115 cp a,#0x02 + 0022 CA 4C 00 116 jp z,00101$ + 0025 117 00125$: + 118 ; genCmpEq + 119 ; genCmpEq: left 1, right 1, result 0 + 0025 79 120 ld a,c + 0026 FE 04 121 cp a,#0x04 + 0028 CA 64 00 122 jp z,00103$ + 002B 123 00126$: + 124 ; genCmpEq + 125 ; genCmpEq: left 1, right 1, result 0 + 002B 79 126 ld a,c + 002C FE 08 127 cp a,#0x08 + 002E CA 70 00 128 jp z,00104$ + 0031 129 00127$: + 130 ; genCmpEq + 131 ; genCmpEq: left 1, right 1, result 0 + 0031 79 132 ld a,c + 0032 FE 10 133 cp a,#0x10 + 0034 CA 94 00 134 jp z,00107$ + 0037 135 00128$: + 136 ; genCmpEq + 137 ; genCmpEq: left 1, right 1, result 0 + 0037 79 138 ld a,c + 0038 FE 20 139 cp a,#0x20 + 003A CA A0 00 140 jp z,00108$ + 003D 141 00129$: + 142 ; genCmpEq + 143 ; genCmpEq: left 1, right 1, result 0 + 003D 79 144 ld a,c + 003E FE 40 145 cp a,#0x40 + 0040 CA 88 00 146 jp z,00106$ + 0043 147 00130$: + 148 ; genCmpEq + 149 ; genCmpEq: left 1, right 1, result 0 + 0043 79 150 ld a,c + 0044 FE 80 151 cp a,#0x80 + 0046 CA 7C 00 152 jp z,00105$ + 0049 153 00131$: + 154 ; genGoto + 0049 C3 15 00 155 jp 00111$ + 156 ; input_state.c 13 + 157 ; genLabel + 004C 158 00101$: + 159 ; genIpush + 160 ; _saveRegsForCall: sendSetSize: 0 deInUse: 0 bcInUse: 0 deSending: 0 + 004C 21 AD 00 161 ld hl,#__str_0 + 004F E5 162 push hl + 163 ; genCall + 0050 CD 00 00 164 call _printAndWait + 0053 E8 02 165 lda sp,2(sp) + 166 ; input_state.c 14 + 167 ; genGoto + 0055 C3 15 00 168 jp 00111$ + 169 ; input_state.c 16 + 170 ; genLabel + 0058 171 00102$: + 172 ; genIpush + 173 ; _saveRegsForCall: sendSetSize: 0 deInUse: 0 bcInUse: 0 deSending: 0 + 0058 21 B4 00 174 ld hl,#__str_1 + 005B E5 175 push hl + 176 ; genCall + 005C CD 00 00 177 call _printAndWait + 005F E8 02 178 lda sp,2(sp) + 179 ; input_state.c 17 + 180 ; genGoto + 0061 C3 15 00 181 jp 00111$ + 182 ; input_state.c 19 + 183 ; genLabel + 0064 184 00103$: + 185 ; genIpush + 186 ; _saveRegsForCall: sendSetSize: 0 deInUse: 0 bcInUse: 0 deSending: 0 + 0064 21 BC 00 187 ld hl,#__str_2 + 0067 E5 188 push hl + 189 ; genCall + 0068 CD 00 00 190 call _printAndWait + 006B E8 02 191 lda sp,2(sp) + 192 ; input_state.c 20 + 193 ; genGoto + 006D C3 15 00 194 jp 00111$ + 195 ; input_state.c 22 + 196 ; genLabel + 0070 197 00104$: + 198 ; genIpush + 199 ; _saveRegsForCall: sendSetSize: 0 deInUse: 0 bcInUse: 0 deSending: 0 + 0070 21 C1 00 200 ld hl,#__str_3 + 0073 E5 201 push hl + 202 ; genCall + 0074 CD 00 00 203 call _printAndWait + 0077 E8 02 204 lda sp,2(sp) + 205 ; input_state.c 23 + 206 ; genGoto + 0079 C3 15 00 207 jp 00111$ + 208 ; input_state.c 25 + 209 ; genLabel + 007C 210 00105$: + 211 ; genIpush + 212 ; _saveRegsForCall: sendSetSize: 0 deInUse: 0 bcInUse: 0 deSending: 0 + 007C 21 C8 00 213 ld hl,#__str_4 + 007F E5 214 push hl + 215 ; genCall + 0080 CD 00 00 216 call _printAndWait + 0083 E8 02 217 lda sp,2(sp) + 218 ; input_state.c 26 + 219 ; genGoto + 0085 C3 15 00 220 jp 00111$ + 221 ; input_state.c 28 + 222 ; genLabel + 0088 223 00106$: + 224 ; genIpush + 225 ; _saveRegsForCall: sendSetSize: 0 deInUse: 0 bcInUse: 0 deSending: 0 + 0088 21 D0 00 226 ld hl,#__str_5 + 008B E5 227 push hl + 228 ; genCall + 008C CD 00 00 229 call _printAndWait + 008F E8 02 230 lda sp,2(sp) + 231 ; input_state.c 29 + 232 ; genGoto + 0091 C3 15 00 233 jp 00111$ + 234 ; input_state.c 31 + 235 ; genLabel + 0094 236 00107$: + 237 ; genIpush + 238 ; _saveRegsForCall: sendSetSize: 0 deInUse: 0 bcInUse: 0 deSending: 0 + 0094 21 D9 00 239 ld hl,#__str_6 + 0097 E5 240 push hl + 241 ; genCall + 0098 CD 00 00 242 call _printAndWait + 009B E8 02 243 lda sp,2(sp) + 244 ; input_state.c 32 + 245 ; genGoto + 009D C3 15 00 246 jp 00111$ + 247 ; input_state.c 34 + 248 ; genLabel + 00A0 249 00108$: + 250 ; genIpush + 251 ; _saveRegsForCall: sendSetSize: 0 deInUse: 0 bcInUse: 0 deSending: 0 + 00A0 21 DD 00 252 ld hl,#__str_7 + 00A3 E5 253 push hl + 254 ; genCall + 00A4 CD 00 00 255 call _printAndWait + 00A7 E8 02 256 lda sp,2(sp) + 257 ; input_state.c 36 + 258 ; genGoto + 00A9 C3 15 00 259 jp 00111$ + 260 ; genLabel + 00AC 261 00113$: + 262 ; genEndFunction + 263 + 00AC C9 264 ret + 00AD 265 ___main_end: + 00AD 266 __str_0: + 00AD 4C 65 66 74 21 267 .ascii "Left!" + 00B2 0A 268 .db 0x0A + 00B3 00 269 .db 0x00 + 00B4 270 __str_1: + 00B4 52 69 67 68 74 21 271 .ascii "Right!" + 00BA 0A 272 .db 0x0A + 00BB 00 273 .db 0x00 + 00BC 274 __str_2: + 00BC 55 70 21 275 .ascii "Up!" + 00BF 0A 276 .db 0x0A + 00C0 00 277 .db 0x00 + 00C1 278 __str_3: + 00C1 44 6F 77 6E 21 279 .ascii "Down!" + 00C6 0A 280 .db 0x0A + 00C7 00 281 .db 0x00 + 00C8 282 __str_4: + 00C8 53 74 61 72 74 21 283 .ascii "Start!" + 00CE 0A 284 .db 0x0A + 00CF 00 285 .db 0x00 + 00D0 286 __str_5: + 00D0 53 65 6C 65 63 74 287 .ascii "Select!" + 21 + 00D7 0A 288 .db 0x0A + 00D8 00 289 .db 0x00 + 00D9 290 __str_6: + 00D9 41 21 291 .ascii "A!" + 00DB 0A 292 .db 0x0A + 00DC 00 293 .db 0x00 + 00DD 294 __str_7: + 00DD 42 21 295 .ascii "B!" + 00DF 0A 296 .db 0x0A + 00E0 00 297 .db 0x00 + 298 .area _CODE + ASxxxx Assembler V01.75 (GameBoy Z80-like CPU), page 1. + +Symbol Table + + 0 ___main_end 00AD R + 0 ___main_start 0015 R + 0 ___printAndWait_end 0015 R + 0 ___printAndWait_start 0000 R + 0 __str_0 00AD R + 0 __str_1 00B4 R + 0 __str_2 00BC R + 0 __str_3 00C1 R + 0 __str_4 00C8 R + 0 __str_5 00D0 R + 0 __str_6 00D9 R + 0 __str_7 00DD R + _delay **** GX + _joypad **** GX + 0 _main 0015 GR + 0 _printAndWait 0000 GR + _printf **** GX + + ASxxxx Assembler V01.75 (GameBoy Z80-like CPU), page 2. + +Area Table + + 0 _CODE size E1 flags 0 + 1 _DATA size 0 flags 0 + 2 _OVERLAY size 0 flags 0 + 3 _ISEG size 0 flags 0 + 4 _BSEG size 0 flags 0 + 5 _XSEG size 0 flags 0 + 6 _GSINIT size 0 flags 0 + 7 _GSFINAL size 0 flags 0 + 8 _HOME size 0 flags 0 diff --git a/input_wait/Makefile b/input_wait/Makefile new file mode 100644 index 0000000..7d12779 --- /dev/null +++ b/input_wait/Makefile @@ -0,0 +1,16 @@ +AS = lcc -c +CC = lcc -Wa-l -Wl-m + +BIN = input_wait.gb +OBJS = input_wait.o + +all: $(BIN) + +$.s: %.ms + maccer -o $@ $< + +$(BIN): $(OBJS) + $(CC) -o $(BIN) $(OBJS) + +clean: + rm -rf $(BIN) $(OBJS) *~ diff --git a/input_wait/input_wait.c b/input_wait/input_wait.c new file mode 100644 index 0000000..af1b002 --- /dev/null +++ b/input_wait/input_wait.c @@ -0,0 +1,15 @@ +#include +#include + +void main() { + while(1) { + printf("Press Start\n\n"); + waitpad(J_START); + + printf("Please hold down A!\n\n"); + waitpad(J_A); + printf("Holding down A!\n\n"); + waitpadup(); + printf("Tired already?\n\n\n"); + } +} diff --git a/input_wait/input_wait.gb b/input_wait/input_wait.gb new file mode 100644 index 0000000..dcf7e4e Binary files /dev/null and b/input_wait/input_wait.gb differ diff --git a/input_wait/input_wait.lst b/input_wait/input_wait.lst new file mode 100644 index 0000000..5b0917e --- /dev/null +++ b/input_wait/input_wait.lst @@ -0,0 +1,184 @@ + 1 ;-------------------------------------------------------- + 2 ; File Created by SDCC : FreeWare ANSI-C Compiler + 3 ; Version 2.3.1 Wed Jul 8 08:38:44 2020 + 4 + 5 ;-------------------------------------------------------- + 6 .module lcc2236500 + 7 + 8 ;-------------------------------------------------------- + 9 ; Public variables in this module + 10 ;-------------------------------------------------------- + 11 .globl _main + 12 ;-------------------------------------------------------- + 13 ; special function registers + 14 ;-------------------------------------------------------- + 15 ;-------------------------------------------------------- + 16 ; special function bits + 17 ;-------------------------------------------------------- + 18 ;-------------------------------------------------------- + 19 ; internal ram data + 20 ;-------------------------------------------------------- + 21 .area _DATA + 22 ;-------------------------------------------------------- + 23 ; overlayable items in internal ram + 24 ;-------------------------------------------------------- + 25 .area _OVERLAY + 26 ;-------------------------------------------------------- + 27 ; indirectly addressable internal ram data + 28 ;-------------------------------------------------------- + 29 .area _ISEG + 30 ;-------------------------------------------------------- + 31 ; bit data + 32 ;-------------------------------------------------------- + 33 .area _BSEG + 34 ;-------------------------------------------------------- + 35 ; external ram data + 36 ;-------------------------------------------------------- + 37 .area _XSEG + 38 ;-------------------------------------------------------- + 39 ; global & static initialisations + 40 ;-------------------------------------------------------- + 41 .area _GSINIT + 42 .area _GSFINAL + 43 .area _GSINIT + 44 ;-------------------------------------------------------- + 45 ; Home + 46 ;-------------------------------------------------------- + 47 .area _HOME + 48 .area _CODE + 49 ;-------------------------------------------------------- + 50 ; code + 51 ;-------------------------------------------------------- + 52 .area _CODE + 53 ; input_wait.c 4 + 54 ; genLabel + 55 ; genFunction + 56 ; --------------------------------- + 57 ; Function main + 58 ; --------------------------------- + 0000 59 ___main_start: + 0000 60 _main: + 61 + 62 ; input_wait.c 5 + 63 ; genLabel + 0000 64 00102$: + 65 ; input_wait.c 6 + 66 ; genIpush + 67 ; _saveRegsForCall: sendSetSize: 0 deInUse: 0 bcInUse: 0 deSending: 0 + 0000 21 3D 00 68 ld hl,#__str_0 + 0003 E5 69 push hl + 70 ; genCall + 0004 CD 00 00 71 call _printf + 0007 E8 02 72 lda sp,2(sp) + 73 ; input_wait.c 7 + 74 ; genIpush + 75 ; _saveRegsForCall: sendSetSize: 0 deInUse: 0 bcInUse: 0 deSending: 0 + 0009 3E 80 76 ld a,#0x80 + 000B F5 77 push af + 000C 33 78 inc sp + 79 ; genCall + 000D CD 00 00 80 call _waitpad + 0010 E8 01 81 lda sp,1(sp) + 82 ; input_wait.c 9 + 83 ; genIpush + 84 ; _saveRegsForCall: sendSetSize: 0 deInUse: 0 bcInUse: 0 deSending: 0 + 0012 21 4B 00 85 ld hl,#__str_1 + 0015 E5 86 push hl + 87 ; genCall + 0016 CD 00 00 88 call _printf + 0019 E8 02 89 lda sp,2(sp) + 90 ; input_wait.c 10 + 91 ; genIpush + 92 ; _saveRegsForCall: sendSetSize: 0 deInUse: 0 bcInUse: 0 deSending: 0 + 001B 3E 10 93 ld a,#0x10 + 001D F5 94 push af + 001E 33 95 inc sp + 96 ; genCall + 001F CD 00 00 97 call _waitpad + 0022 E8 01 98 lda sp,1(sp) + 99 ; input_wait.c 11 + 100 ; genIpush + 101 ; _saveRegsForCall: sendSetSize: 0 deInUse: 0 bcInUse: 0 deSending: 0 + 0024 21 61 00 102 ld hl,#__str_2 + 0027 E5 103 push hl + 104 ; genCall + 0028 CD 00 00 105 call _printf + 002B E8 02 106 lda sp,2(sp) + 107 ; input_wait.c 12 + 108 ; genCall + 109 ; _saveRegsForCall: sendSetSize: 0 deInUse: 0 bcInUse: 0 deSending: 0 + 002D CD 00 00 110 call _waitpadup + 111 ; input_wait.c 13 + 112 ; genIpush + 113 ; _saveRegsForCall: sendSetSize: 0 deInUse: 0 bcInUse: 0 deSending: 0 + 0030 21 73 00 114 ld hl,#__str_3 + 0033 E5 115 push hl + 116 ; genCall + 0034 CD 00 00 117 call _printf + 0037 E8 02 118 lda sp,2(sp) + 119 ; genGoto + 0039 C3 00 00 120 jp 00102$ + 121 ; genLabel + 003C 122 00104$: + 123 ; genEndFunction + 124 + 003C C9 125 ret + 003D 126 ___main_end: + 003D 127 __str_0: + 003D 50 72 65 73 73 20 128 .ascii "Press Start" + 53 74 61 72 74 + 0048 0A 129 .db 0x0A + 0049 0A 130 .db 0x0A + 004A 00 131 .db 0x00 + 004B 132 __str_1: + 004B 50 6C 65 61 73 65 133 .ascii "Please hold down A!" + 20 68 6F 6C 64 20 + 64 6F 77 6E 20 41 + 21 + 005E 0A 134 .db 0x0A + 005F 0A 135 .db 0x0A + 0060 00 136 .db 0x00 + 0061 137 __str_2: + 0061 48 6F 6C 64 69 6E 138 .ascii "Holding down A!" + 67 20 64 6F 77 6E + 20 41 21 + 0070 0A 139 .db 0x0A + 0071 0A 140 .db 0x0A + 0072 00 141 .db 0x00 + 0073 142 __str_3: + 0073 54 69 72 65 64 20 143 .ascii "Tired already?" + 61 6C 72 65 61 64 + 79 3F + 0081 0A 144 .db 0x0A + 0082 0A 145 .db 0x0A + 0083 0A 146 .db 0x0A + 0084 00 147 .db 0x00 + 148 .area _CODE + ASxxxx Assembler V01.75 (GameBoy Z80-like CPU), page 1. + +Symbol Table + + 0 ___main_end 003D R + 0 ___main_start 0000 R + 0 __str_0 003D R + 0 __str_1 004B R + 0 __str_2 0061 R + 0 __str_3 0073 R + 0 _main 0000 GR + _printf **** GX + _waitpad **** GX + _waitpadup **** GX + + ASxxxx Assembler V01.75 (GameBoy Z80-like CPU), page 2. + +Area Table + + 0 _CODE size 85 flags 0 + 1 _DATA size 0 flags 0 + 2 _OVERLAY size 0 flags 0 + 3 _ISEG size 0 flags 0 + 4 _BSEG size 0 flags 0 + 5 _XSEG size 0 flags 0 + 6 _GSINIT size 0 flags 0 + 7 _GSFINAL size 0 flags 0 + 8 _HOME size 0 flags 0 diff --git a/move_sprite/Makefile b/move_sprite/Makefile new file mode 100644 index 0000000..b6cfd2f --- /dev/null +++ b/move_sprite/Makefile @@ -0,0 +1,16 @@ +AS = lcc -c +CC = lcc -Wa-l -Wl-m + +BIN = move_sprite.gb +OBJS = move_sprite.o + +all: $(BIN) + +$.s: %.ms + maccer -o $@ $< + +$(BIN): $(OBJS) + $(CC) -o $(BIN) $(OBJS) + +clean: + rm -rf $(BIN) $(OBJS) *~ diff --git a/move_sprite/move_sprite.c b/move_sprite/move_sprite.c new file mode 100644 index 0000000..cd2aecf --- /dev/null +++ b/move_sprite/move_sprite.c @@ -0,0 +1,36 @@ +#include +#include "ufo.c" + +void main() { + int x = 55; + int y = 75; + + SPRITES_8x8; + set_sprite_data(0, 0, ufo); + set_sprite_tile(0, 0); + move_sprite(0, x, y); + SHOW_SPRITES; + + while(1) { + if(joypad() & J_RIGHT) { + x++; + move_sprite(0, x, y); + delay(10); + } + if(joypad() & J_LEFT) { + x--; + move_sprite(0, x, y); + delay(10); + } + if(joypad() & J_UP) { + y--; + move_sprite(0, x, y); + delay(10); + } + if(joypad() & J_DOWN) { + y++; + move_sprite(0, x, y); + delay(10); + } + } +} diff --git a/move_sprite/move_sprite.gb b/move_sprite/move_sprite.gb new file mode 100644 index 0000000..4b47200 Binary files /dev/null and b/move_sprite/move_sprite.gb differ diff --git a/move_sprite/move_sprite.lst b/move_sprite/move_sprite.lst new file mode 100644 index 0000000..7b5a63b --- /dev/null +++ b/move_sprite/move_sprite.lst @@ -0,0 +1,443 @@ + 1 ;-------------------------------------------------------- + 2 ; File Created by SDCC : FreeWare ANSI-C Compiler + 3 ; Version 2.3.1 Wed Jul 8 08:42:08 2020 + 4 + 5 ;-------------------------------------------------------- + 6 .module lcc2241580 + 7 + 8 ;-------------------------------------------------------- + 9 ; Public variables in this module + 10 ;-------------------------------------------------------- + 11 .globl _main + 12 .globl _ufo + 13 ;-------------------------------------------------------- + 14 ; special function registers + 15 ;-------------------------------------------------------- + 16 ;-------------------------------------------------------- + 17 ; special function bits + 18 ;-------------------------------------------------------- + 19 ;-------------------------------------------------------- + 20 ; internal ram data + 21 ;-------------------------------------------------------- + 22 .area _DATA + 0000 23 _ufo:: + 0000 24 .ds 16 + 25 ;-------------------------------------------------------- + 26 ; overlayable items in internal ram + 27 ;-------------------------------------------------------- + 28 .area _OVERLAY + 29 ;-------------------------------------------------------- + 30 ; indirectly addressable internal ram data + 31 ;-------------------------------------------------------- + 32 .area _ISEG + 33 ;-------------------------------------------------------- + 34 ; bit data + 35 ;-------------------------------------------------------- + 36 .area _BSEG + 37 ;-------------------------------------------------------- + 38 ; external ram data + 39 ;-------------------------------------------------------- + 40 .area _XSEG + 41 ;-------------------------------------------------------- + 42 ; global & static initialisations + 43 ;-------------------------------------------------------- + 44 .area _GSINIT + 45 .area _GSFINAL + 46 .area _GSINIT + 47 ; move_sprite.c 1 + 48 ; move_sprite.c 37 + 49 ; genArrayInit + 50 ; _saveRegsForCall: sendSetSize: 0 deInUse: 0 bcInUse: 0 deSending: 0 + 0000 21 00 00 51 ld hl,#_ufo + 0003 CD 00 00 52 call __initrleblock + 0006 10 53 .db 16 + 0007 5A 3C E3 42 7C 99 54 .db 0x5A, 0x3C, 0xE3, 0x42, 0x7C, 0x99, 0xEB, 0xA5 + EB A5 + 000F FB A5 66 99 E7 42 55 .db 0xFB, 0xA5, 0x66, 0x99, 0xE7, 0x42, 0x5A, 0x3C + 5A 3C + 0017 00 56 .db 0 + 57 ;-------------------------------------------------------- + 58 ; Home + 59 ;-------------------------------------------------------- + 60 .area _HOME + 61 .area _CODE + 62 ;-------------------------------------------------------- + 63 ; code + 64 ;-------------------------------------------------------- + 65 .area _CODE + 66 ; move_sprite.c 4 + 67 ; genLabel + 68 ; genFunction + 69 ; --------------------------------- + 70 ; Function main + 71 ; --------------------------------- + 0000 72 ___main_start: + 0000 73 _main: + 0000 E8 F9 74 lda sp,-7(sp) + 75 ; move_sprite.c 5 + 76 ; genAssign + 77 ; AOP_STK for _main_x_1_1 + 0002 F8 05 78 lda hl,5(sp) + 0004 36 37 79 ld (hl),#0x37 + 0006 23 80 inc hl + 0007 36 00 81 ld (hl),#0x00 + 82 ; move_sprite.c 6 + 83 ; genAssign + 84 ; AOP_STK for _main_y_1_1 + 0009 F8 03 85 lda hl,3(sp) + 000B 36 4B 86 ld (hl),#0x4B + 000D 23 87 inc hl + 000E 36 00 88 ld (hl),#0x00 + 89 ; move_sprite.c 8 + 90 ; genAssign + 0010 01 40 FF 91 ld bc,#0xFF40 + 92 ; genAssign + 93 ; AOP_STK for _main_sloc0_1_0 + 0013 F8 01 94 lda hl,1(sp) + 0015 36 40 95 ld (hl),#0x40 + 0017 23 96 inc hl + 0018 36 FF 97 ld (hl),#0xFF + 98 ; genPointerGet + 99 ; AOP_STK for _main_sloc0_1_0 + 100 ; AOP_STK for _main_sloc1_1_0 + 001A 2B 101 dec hl + 001B 5E 102 ld e,(hl) + 001C 23 103 inc hl + 001D 56 104 ld d,(hl) + 001E 1A 105 ld a,(de) + 001F 2B 106 dec hl + 0020 2B 107 dec hl + 108 ; genAnd + 109 ; AOP_STK for _main_sloc1_1_0 + 0021 77 110 ld (hl),a + 0022 7F 111 ld a,a + 0023 E6 FB 112 and a,#0xFB + 113 ; genAssign (pointer) + 0025 02 114 ld (bc),a + 115 ; move_sprite.c 9 + 116 ; genIpush + 117 ; _saveRegsForCall: sendSetSize: 0 deInUse: 0 bcInUse: 0 deSending: 0 + 0026 21 00 00 118 ld hl,#_ufo + 0029 E5 119 push hl + 120 ; genIpush + 002A 21 00 00 121 ld hl,#0x0000 + 002D E5 122 push hl + 123 ; genCall + 002E CD 00 00 124 call _set_sprite_data + 0031 E8 04 125 lda sp,4(sp) + 126 ; move_sprite.c 10 + 127 ; genIpush + 128 ; _saveRegsForCall: sendSetSize: 0 deInUse: 0 bcInUse: 0 deSending: 0 + 0033 21 00 00 129 ld hl,#0x0000 + 0036 E5 130 push hl + 131 ; genCall + 0037 CD 00 00 132 call _set_sprite_tile + 003A E8 02 133 lda sp,2(sp) + 134 ; move_sprite.c 11 + 135 ; genIpush + 136 ; _saveRegsForCall: sendSetSize: 0 deInUse: 0 bcInUse: 0 deSending: 0 + 003C 21 37 4B 137 ld hl,#0x4B37 + 003F E5 138 push hl + 139 ; genIpush + 0040 3E 00 140 ld a,#0x00 + 0042 F5 141 push af + 0043 33 142 inc sp + 143 ; genCall + 0044 CD 00 00 144 call _move_sprite + 0047 E8 03 145 lda sp,3(sp) + 146 ; move_sprite.c 12 + 147 ; genAssign + 0049 01 40 FF 148 ld bc,#0xFF40 + 149 ; genAssign + 150 ; AOP_STK for _main_sloc0_1_0 + 004C F8 01 151 lda hl,1(sp) + 004E 36 40 152 ld (hl),#0x40 + 0050 23 153 inc hl + 0051 36 FF 154 ld (hl),#0xFF + 155 ; genPointerGet + 156 ; AOP_STK for _main_sloc0_1_0 + 157 ; AOP_STK for _main_sloc1_1_0 + 0053 2B 158 dec hl + 0054 5E 159 ld e,(hl) + 0055 23 160 inc hl + 0056 56 161 ld d,(hl) + 0057 1A 162 ld a,(de) + 0058 2B 163 dec hl + 0059 2B 164 dec hl + 165 ; genOr + 166 ; AOP_STK for _main_sloc1_1_0 + 005A 77 167 ld (hl),a + 005B 7F 168 ld a,a + 005C F6 02 169 or a,#0x02 + 170 ; genAssign (pointer) + 005E 02 171 ld (bc),a + 172 ; move_sprite.c 14 + 173 ; genLabel + 005F 174 00110$: + 175 ; move_sprite.c 15 + 176 ; genCall + 177 ; _saveRegsForCall: sendSetSize: 0 deInUse: 0 bcInUse: 0 deSending: 0 + 005F CD 00 00 178 call _joypad + 0062 4B 179 ld c,e + 180 ; genAnd + 0063 79 181 ld a,c + 0064 E6 01 182 and a,#0x01 + 0066 20 03 183 jr nz,00119$ + 0068 C3 90 00 184 jp 00102$ + 006B 185 00119$: + 186 ; move_sprite.c 16 + 187 ; genPlus + 188 ; AOP_STK for _main_x_1_1 + 189 ; genPlusIncr + 006B F8 05 190 lda hl,5(sp) + 006D 34 191 inc (hl) + 006E 20 02 192 jr nz,00120$ + 0070 23 193 inc hl + 0071 34 194 inc (hl) + 0072 195 00120$: + 196 ; move_sprite.c 17 + 197 ; genCast + 198 ; AOP_STK for _main_y_1_1 + 0072 F8 03 199 lda hl,3(sp) + 0074 4E 200 ld c,(hl) + 201 ; genCast + 202 ; AOP_STK for _main_x_1_1 + 0075 23 203 inc hl + 0076 23 204 inc hl + 0077 46 205 ld b,(hl) + 206 ; genIpush + 207 ; _saveRegsForCall: sendSetSize: 0 deInUse: 0 bcInUse: 0 deSending: 0 + 0078 79 208 ld a,c + 0079 F5 209 push af + 007A 33 210 inc sp + 211 ; genIpush + 007B 78 212 ld a,b + 007C F5 213 push af + 007D 33 214 inc sp + 215 ; genIpush + 007E 3E 00 216 ld a,#0x00 + 0080 F5 217 push af + 0081 33 218 inc sp + 219 ; genCall + 0082 CD 00 00 220 call _move_sprite + 0085 E8 03 221 lda sp,3(sp) + 222 ; move_sprite.c 18 + 223 ; genIpush + 224 ; _saveRegsForCall: sendSetSize: 0 deInUse: 0 bcInUse: 0 deSending: 0 + 0087 21 0A 00 225 ld hl,#0x000A + 008A E5 226 push hl + 227 ; genCall + 008B CD 00 00 228 call _delay + 008E E8 02 229 lda sp,2(sp) + 230 ; genLabel + 0090 231 00102$: + 232 ; move_sprite.c 20 + 233 ; genCall + 234 ; _saveRegsForCall: sendSetSize: 0 deInUse: 0 bcInUse: 0 deSending: 0 + 0090 CD 00 00 235 call _joypad + 0093 4B 236 ld c,e + 237 ; genAnd + 0094 79 238 ld a,c + 0095 E6 02 239 and a,#0x02 + 0097 20 03 240 jr nz,00121$ + 0099 C3 C4 00 241 jp 00104$ + 009C 242 00121$: + 243 ; move_sprite.c 21 + 244 ; genMinus + 245 ; AOP_STK for _main_x_1_1 + 009C F8 05 246 lda hl,5(sp) + 009E 5E 247 ld e,(hl) + 009F 23 248 inc hl + 00A0 56 249 ld d,(hl) + 00A1 1B 250 dec de + 00A2 2B 251 dec hl + 00A3 73 252 ld (hl),e + 00A4 23 253 inc hl + 00A5 72 254 ld (hl),d + 255 ; move_sprite.c 22 + 256 ; genCast + 257 ; AOP_STK for _main_y_1_1 + 00A6 F8 03 258 lda hl,3(sp) + 00A8 4E 259 ld c,(hl) + 260 ; genCast + 261 ; AOP_STK for _main_x_1_1 + 00A9 23 262 inc hl + 00AA 23 263 inc hl + 00AB 46 264 ld b,(hl) + 265 ; genIpush + 266 ; _saveRegsForCall: sendSetSize: 0 deInUse: 0 bcInUse: 0 deSending: 0 + 00AC 79 267 ld a,c + 00AD F5 268 push af + 00AE 33 269 inc sp + 270 ; genIpush + 00AF 78 271 ld a,b + 00B0 F5 272 push af + 00B1 33 273 inc sp + 274 ; genIpush + 00B2 3E 00 275 ld a,#0x00 + 00B4 F5 276 push af + 00B5 33 277 inc sp + 278 ; genCall + 00B6 CD 00 00 279 call _move_sprite + 00B9 E8 03 280 lda sp,3(sp) + 281 ; move_sprite.c 23 + 282 ; genIpush + 283 ; _saveRegsForCall: sendSetSize: 0 deInUse: 0 bcInUse: 0 deSending: 0 + 00BB 21 0A 00 284 ld hl,#0x000A + 00BE E5 285 push hl + 286 ; genCall + 00BF CD 00 00 287 call _delay + 00C2 E8 02 288 lda sp,2(sp) + 289 ; genLabel + 00C4 290 00104$: + 291 ; move_sprite.c 25 + 292 ; genCall + 293 ; _saveRegsForCall: sendSetSize: 0 deInUse: 0 bcInUse: 0 deSending: 0 + 00C4 CD 00 00 294 call _joypad + 00C7 4B 295 ld c,e + 296 ; genAnd + 00C8 79 297 ld a,c + 00C9 E6 04 298 and a,#0x04 + 00CB 20 03 299 jr nz,00122$ + 00CD C3 F7 00 300 jp 00106$ + 00D0 301 00122$: + 302 ; move_sprite.c 26 + 303 ; genMinus + 304 ; AOP_STK for _main_y_1_1 + 00D0 F8 03 305 lda hl,3(sp) + 00D2 5E 306 ld e,(hl) + 00D3 23 307 inc hl + 00D4 56 308 ld d,(hl) + 00D5 1B 309 dec de + 00D6 2B 310 dec hl + 00D7 73 311 ld (hl),e + 00D8 23 312 inc hl + 00D9 72 313 ld (hl),d + 314 ; move_sprite.c 27 + 315 ; genCast + 316 ; AOP_STK for _main_y_1_1 + 00DA 2B 317 dec hl + 00DB 4E 318 ld c,(hl) + 319 ; genCast + 320 ; AOP_STK for _main_x_1_1 + 00DC 23 321 inc hl + 00DD 23 322 inc hl + 00DE 46 323 ld b,(hl) + 324 ; genIpush + 325 ; _saveRegsForCall: sendSetSize: 0 deInUse: 0 bcInUse: 0 deSending: 0 + 00DF 79 326 ld a,c + 00E0 F5 327 push af + 00E1 33 328 inc sp + 329 ; genIpush + 00E2 78 330 ld a,b + 00E3 F5 331 push af + 00E4 33 332 inc sp + 333 ; genIpush + 00E5 3E 00 334 ld a,#0x00 + 00E7 F5 335 push af + 00E8 33 336 inc sp + 337 ; genCall + 00E9 CD 00 00 338 call _move_sprite + 00EC E8 03 339 lda sp,3(sp) + 340 ; move_sprite.c 28 + 341 ; genIpush + 342 ; _saveRegsForCall: sendSetSize: 0 deInUse: 0 bcInUse: 0 deSending: 0 + 00EE 21 0A 00 343 ld hl,#0x000A + 00F1 E5 344 push hl + 345 ; genCall + 00F2 CD 00 00 346 call _delay + 00F5 E8 02 347 lda sp,2(sp) + 348 ; genLabel + 00F7 349 00106$: + 350 ; move_sprite.c 30 + 351 ; genCall + 352 ; _saveRegsForCall: sendSetSize: 0 deInUse: 0 bcInUse: 0 deSending: 0 + 00F7 CD 00 00 353 call _joypad + 00FA 4B 354 ld c,e + 355 ; genAnd + 00FB 79 356 ld a,c + 00FC E6 08 357 and a,#0x08 + 00FE 20 03 358 jr nz,00123$ + 0100 C3 5F 00 359 jp 00110$ + 0103 360 00123$: + 361 ; move_sprite.c 31 + 362 ; genPlus + 363 ; AOP_STK for _main_y_1_1 + 364 ; genPlusIncr + 0103 F8 03 365 lda hl,3(sp) + 0105 34 366 inc (hl) + 0106 20 02 367 jr nz,00124$ + 0108 23 368 inc hl + 0109 34 369 inc (hl) + 010A 370 00124$: + 371 ; move_sprite.c 32 + 372 ; genCast + 373 ; AOP_STK for _main_y_1_1 + 010A F8 03 374 lda hl,3(sp) + 010C 4E 375 ld c,(hl) + 376 ; genCast + 377 ; AOP_STK for _main_x_1_1 + 010D 23 378 inc hl + 010E 23 379 inc hl + 010F 46 380 ld b,(hl) + 381 ; genIpush + 382 ; _saveRegsForCall: sendSetSize: 0 deInUse: 0 bcInUse: 0 deSending: 0 + 0110 79 383 ld a,c + 0111 F5 384 push af + 0112 33 385 inc sp + 386 ; genIpush + 0113 78 387 ld a,b + 0114 F5 388 push af + 0115 33 389 inc sp + 390 ; genIpush + 0116 3E 00 391 ld a,#0x00 + 0118 F5 392 push af + 0119 33 393 inc sp + 394 ; genCall + 011A CD 00 00 395 call _move_sprite + 011D E8 03 396 lda sp,3(sp) + 397 ; move_sprite.c 33 + 398 ; genIpush + 399 ; _saveRegsForCall: sendSetSize: 0 deInUse: 0 bcInUse: 0 deSending: 0 + 011F 21 0A 00 400 ld hl,#0x000A + 0122 E5 401 push hl + 402 ; genCall + 0123 CD 00 00 403 call _delay + 0126 E8 02 404 lda sp,2(sp) + 405 ; genGoto + 0128 C3 5F 00 406 jp 00110$ + 407 ; genLabel + 012B 408 00112$: + 409 ; genEndFunction + 012B E8 07 410 lda sp,7(sp) + 012D C9 411 ret + 012E 412 ___main_end: + 413 .area _CODE + ASxxxx Assembler V01.75 (GameBoy Z80-like CPU), page 1. + +Symbol Table + + 0 ___main_end 012E R + 0 ___main_start 0000 R + __initrleblock **** GX + _delay **** GX + _joypad **** GX + 0 _main 0000 GR + _move_sprite **** GX + _set_sprite_data **** GX + _set_sprite_tile **** GX + 1 _ufo 0000 GR + + ASxxxx Assembler V01.75 (GameBoy Z80-like CPU), page 2. + +Area Table + + 0 _CODE size 12E flags 0 + 1 _DATA size 10 flags 0 + 2 _OVERLAY size 0 flags 0 + 3 _ISEG size 0 flags 0 + 4 _BSEG size 0 flags 0 + 5 _XSEG size 0 flags 0 + 6 _GSINIT size 18 flags 0 + 7 _GSFINAL size 0 flags 0 + 8 _HOME size 0 flags 0 diff --git a/move_sprite/ufo.c b/move_sprite/ufo.c new file mode 100644 index 0000000..fcb6c1d --- /dev/null +++ b/move_sprite/ufo.c @@ -0,0 +1,5 @@ +unsigned char ufo[] = +{ + 0x5A,0x3C,0xE3,0x42,0x7C,0x99,0xEB,0xA5, + 0xFB,0xA5,0x66,0x99,0xE7,0x42,0x5A,0x3C +}; diff --git a/small_sprite/Makefile b/small_sprite/Makefile new file mode 100644 index 0000000..c235420 --- /dev/null +++ b/small_sprite/Makefile @@ -0,0 +1,16 @@ +AS = lcc -c +CC = lcc -Wa-l -Wl-m + +BIN = small_sprite.gb +OBJS = small_sprite.o sprite.o + +all: $(BIN) + +$.s: %.ms + maccer -o $@ $< + +$(BIN): $(OBJS) + $(CC) -o $(BIN) $(OBJS) + +clean: + rm -rf $(BIN) $(OBJS) *~ diff --git a/small_sprite/small_sprite.c b/small_sprite/small_sprite.c new file mode 100644 index 0000000..be9293e --- /dev/null +++ b/small_sprite/small_sprite.c @@ -0,0 +1,10 @@ +#include +#include "sprite.c" + +void main() { + SPRITES_8x8; + set_sprite_data(0, 8, sprite); + set_sprite_tile(0, 0); + move_sprite(0, 50, 50); + SHOW_SPRITES; +} diff --git a/small_sprite/small_sprite.gb b/small_sprite/small_sprite.gb new file mode 100644 index 0000000..5ab1e83 Binary files /dev/null and b/small_sprite/small_sprite.gb differ diff --git a/small_sprite/small_sprite.lst b/small_sprite/small_sprite.lst new file mode 100644 index 0000000..30c76f6 --- /dev/null +++ b/small_sprite/small_sprite.lst @@ -0,0 +1,192 @@ + 1 ;-------------------------------------------------------- + 2 ; File Created by SDCC : FreeWare ANSI-C Compiler + 3 ; Version 2.3.1 Wed Jul 8 07:53:24 2020 + 4 + 5 ;-------------------------------------------------------- + 6 .module lcc2182930 + 7 + 8 ;-------------------------------------------------------- + 9 ; Public variables in this module + 10 ;-------------------------------------------------------- + 11 .globl _main + 12 .globl _sprite + 13 ;-------------------------------------------------------- + 14 ; special function registers + 15 ;-------------------------------------------------------- + 16 ;-------------------------------------------------------- + 17 ; special function bits + 18 ;-------------------------------------------------------- + 19 ;-------------------------------------------------------- + 20 ; internal ram data + 21 ;-------------------------------------------------------- + 22 .area _DATA + 0000 23 _sprite:: + 0000 24 .ds 16 + 25 ;-------------------------------------------------------- + 26 ; overlayable items in internal ram + 27 ;-------------------------------------------------------- + 28 .area _OVERLAY + 29 ;-------------------------------------------------------- + 30 ; indirectly addressable internal ram data + 31 ;-------------------------------------------------------- + 32 .area _ISEG + 33 ;-------------------------------------------------------- + 34 ; bit data + 35 ;-------------------------------------------------------- + 36 .area _BSEG + 37 ;-------------------------------------------------------- + 38 ; external ram data + 39 ;-------------------------------------------------------- + 40 .area _XSEG + 41 ;-------------------------------------------------------- + 42 ; global & static initialisations + 43 ;-------------------------------------------------------- + 44 .area _GSINIT + 45 .area _GSFINAL + 46 .area _GSINIT + 47 ; small_sprite.c 1 + 48 ; small_sprite.c 11 + 49 ; genArrayInit + 50 ; _saveRegsForCall: sendSetSize: 0 deInUse: 0 bcInUse: 0 deSending: 0 + 0000 21 00 00 51 ld hl,#_sprite + 0003 CD 00 00 52 call __initrleblock + 0006 10 53 .db 16 + 0007 7E 00 99 00 81 00 54 .db 0x7E, 0x00, 0x99, 0x00, 0x81, 0x00, 0xA5, 0x00 + A5 00 + 000F 81 00 DB 00 C3 00 55 .db 0x81, 0x00, 0xDB, 0x00, 0xC3, 0x00, 0x3C, 0x00 + 3C 00 + 0017 00 56 .db 0 + 57 ;-------------------------------------------------------- + 58 ; Home + 59 ;-------------------------------------------------------- + 60 .area _HOME + 61 .area _CODE + 62 ;-------------------------------------------------------- + 63 ; code + 64 ;-------------------------------------------------------- + 65 .area _CODE + 66 ; small_sprite.c 4 + 67 ; genLabel + 68 ; genFunction + 69 ; --------------------------------- + 70 ; Function main + 71 ; --------------------------------- + 0000 72 ___main_start: + 0000 73 _main: + 0000 E8 FD 74 lda sp,-3(sp) + 75 ; small_sprite.c 5 + 76 ; genAssign + 0002 01 40 FF 77 ld bc,#0xFF40 + 78 ; genAssign + 79 ; AOP_STK for _main_sloc0_1_0 + 0005 F8 01 80 lda hl,1(sp) + 0007 36 40 81 ld (hl),#0x40 + 0009 23 82 inc hl + 000A 36 FF 83 ld (hl),#0xFF + 84 ; genPointerGet + 85 ; AOP_STK for _main_sloc0_1_0 + 86 ; AOP_STK for _main_sloc1_1_0 + 000C 2B 87 dec hl + 000D 5E 88 ld e,(hl) + 000E 23 89 inc hl + 000F 56 90 ld d,(hl) + 0010 1A 91 ld a,(de) + 0011 2B 92 dec hl + 0012 2B 93 dec hl + 94 ; genAnd + 95 ; AOP_STK for _main_sloc1_1_0 + 0013 77 96 ld (hl),a + 0014 7F 97 ld a,a + 0015 E6 FB 98 and a,#0xFB + 99 ; genAssign (pointer) + 0017 02 100 ld (bc),a + 101 ; small_sprite.c 6 + 102 ; genIpush + 103 ; _saveRegsForCall: sendSetSize: 0 deInUse: 0 bcInUse: 0 deSending: 0 + 0018 21 00 00 104 ld hl,#_sprite + 001B E5 105 push hl + 106 ; genIpush + 001C 21 00 08 107 ld hl,#0x0800 + 001F E5 108 push hl + 109 ; genCall + 0020 CD 00 00 110 call _set_sprite_data + 0023 E8 04 111 lda sp,4(sp) + 112 ; small_sprite.c 7 + 113 ; genIpush + 114 ; _saveRegsForCall: sendSetSize: 0 deInUse: 0 bcInUse: 0 deSending: 0 + 0025 21 00 00 115 ld hl,#0x0000 + 0028 E5 116 push hl + 117 ; genCall + 0029 CD 00 00 118 call _set_sprite_tile + 002C E8 02 119 lda sp,2(sp) + 120 ; small_sprite.c 8 + 121 ; genIpush + 122 ; _saveRegsForCall: sendSetSize: 0 deInUse: 0 bcInUse: 0 deSending: 0 + 002E 21 32 32 123 ld hl,#0x3232 + 0031 E5 124 push hl + 125 ; genIpush + 0032 3E 00 126 ld a,#0x00 + 0034 F5 127 push af + 0035 33 128 inc sp + 129 ; genCall + 0036 CD 00 00 130 call _move_sprite + 0039 E8 03 131 lda sp,3(sp) + 132 ; small_sprite.c 9 + 133 ; genAssign + 003B 01 40 FF 134 ld bc,#0xFF40 + 135 ; genAssign + 136 ; AOP_STK for _main_sloc0_1_0 + 003E F8 01 137 lda hl,1(sp) + 0040 36 40 138 ld (hl),#0x40 + 0042 23 139 inc hl + 0043 36 FF 140 ld (hl),#0xFF + 141 ; genPointerGet + 142 ; AOP_STK for _main_sloc0_1_0 + 143 ; AOP_STK for _main_sloc1_1_0 + 0045 2B 144 dec hl + 0046 5E 145 ld e,(hl) + 0047 23 146 inc hl + 0048 56 147 ld d,(hl) + 0049 1A 148 ld a,(de) + 004A 2B 149 dec hl + 004B 2B 150 dec hl + 151 ; genOr + 152 ; AOP_STK for _main_sloc1_1_0 + 004C 77 153 ld (hl),a + 004D 7F 154 ld a,a + 004E F6 02 155 or a,#0x02 + 156 ; genAssign (pointer) + 0050 02 157 ld (bc),a + 158 ; genLabel + 0051 159 00101$: + 160 ; genEndFunction + 0051 E8 03 161 lda sp,3(sp) + 0053 C9 162 ret + 0054 163 ___main_end: + 164 .area _CODE + ASxxxx Assembler V01.75 (GameBoy Z80-like CPU), page 1. + +Symbol Table + + 0 ___main_end 0054 R + 0 ___main_start 0000 R + __initrleblock **** GX + 0 _main 0000 GR + _move_sprite **** GX + _set_sprite_data **** GX + _set_sprite_tile **** GX + 1 _sprite 0000 GR + + ASxxxx Assembler V01.75 (GameBoy Z80-like CPU), page 2. + +Area Table + + 0 _CODE size 54 flags 0 + 1 _DATA size 10 flags 0 + 2 _OVERLAY size 0 flags 0 + 3 _ISEG size 0 flags 0 + 4 _BSEG size 0 flags 0 + 5 _XSEG size 0 flags 0 + 6 _GSINIT size 18 flags 0 + 7 _GSFINAL size 0 flags 0 + 8 _HOME size 0 flags 0 diff --git a/small_sprite/sprite.c b/small_sprite/sprite.c new file mode 100644 index 0000000..a6b4b61 --- /dev/null +++ b/small_sprite/sprite.c @@ -0,0 +1 @@ +unsigned char sprite[] = { 0x7E, 0x00, 0x99, 0x00, 0x81, 0x00, 0xA5, 0x00, 0x81, 0x00, 0xDB, 0x00, 0xC3, 0x00, 0x3C, 0x00 }; diff --git a/small_sprite/sprite.lst b/small_sprite/sprite.lst new file mode 100644 index 0000000..6eb3881 --- /dev/null +++ b/small_sprite/sprite.lst @@ -0,0 +1,87 @@ + 1 ;-------------------------------------------------------- + 2 ; File Created by SDCC : FreeWare ANSI-C Compiler + 3 ; Version 2.3.1 Wed Jul 8 07:53:24 2020 + 4 + 5 ;-------------------------------------------------------- + 6 .module lcc2182970 + 7 + 8 ;-------------------------------------------------------- + 9 ; Public variables in this module + 10 ;-------------------------------------------------------- + 11 .globl _sprite + 12 ;-------------------------------------------------------- + 13 ; special function registers + 14 ;-------------------------------------------------------- + 15 ;-------------------------------------------------------- + 16 ; special function bits + 17 ;-------------------------------------------------------- + 18 ;-------------------------------------------------------- + 19 ; internal ram data + 20 ;-------------------------------------------------------- + 21 .area _DATA + 0000 22 _sprite:: + 0000 23 .ds 16 + 24 ;-------------------------------------------------------- + 25 ; overlayable items in internal ram + 26 ;-------------------------------------------------------- + 27 .area _OVERLAY + 28 ;-------------------------------------------------------- + 29 ; indirectly addressable internal ram data + 30 ;-------------------------------------------------------- + 31 .area _ISEG + 32 ;-------------------------------------------------------- + 33 ; bit data + 34 ;-------------------------------------------------------- + 35 .area _BSEG + 36 ;-------------------------------------------------------- + 37 ; external ram data + 38 ;-------------------------------------------------------- + 39 .area _XSEG + 40 ;-------------------------------------------------------- + 41 ; global & static initialisations + 42 ;-------------------------------------------------------- + 43 .area _GSINIT + 44 .area _GSFINAL + 45 .area _GSINIT + 46 ; sprite.c 1 + 47 ; sprite.c 2 + 48 ; genArrayInit + 49 ; _saveRegsForCall: sendSetSize: 0 deInUse: 0 bcInUse: 0 deSending: 0 + 0000 21 00 00 50 ld hl,#_sprite + 0003 CD 00 00 51 call __initrleblock + 0006 10 52 .db 16 + 0007 7E 00 99 00 81 00 53 .db 0x7E, 0x00, 0x99, 0x00, 0x81, 0x00, 0xA5, 0x00 + A5 00 + 000F 81 00 DB 00 C3 00 54 .db 0x81, 0x00, 0xDB, 0x00, 0xC3, 0x00, 0x3C, 0x00 + 3C 00 + 0017 00 55 .db 0 + 56 ;-------------------------------------------------------- + 57 ; Home + 58 ;-------------------------------------------------------- + 59 .area _HOME + 60 .area _CODE + 61 ;-------------------------------------------------------- + 62 ; code + 63 ;-------------------------------------------------------- + 64 .area _CODE + 65 .area _CODE + ASxxxx Assembler V01.75 (GameBoy Z80-like CPU), page 1. + +Symbol Table + + __initrleblock **** GX + 1 _sprite 0000 GR + + ASxxxx Assembler V01.75 (GameBoy Z80-like CPU), page 2. + +Area Table + + 0 _CODE size 0 flags 0 + 1 _DATA size 10 flags 0 + 2 _OVERLAY size 0 flags 0 + 3 _ISEG size 0 flags 0 + 4 _BSEG size 0 flags 0 + 5 _XSEG size 0 flags 0 + 6 _GSINIT size 18 flags 0 + 7 _GSFINAL size 0 flags 0 + 8 _HOME size 0 flags 0 diff --git a/small_sprite/sprite.png b/small_sprite/sprite.png new file mode 100644 index 0000000..c9335d6 Binary files /dev/null and b/small_sprite/sprite.png differ diff --git a/window/Makefile b/window/Makefile new file mode 100644 index 0000000..fdeba1f --- /dev/null +++ b/window/Makefile @@ -0,0 +1,16 @@ +AS = lcc -c +CC = lcc -Wa-l -Wl-m + +BIN = window.gb +OBJS = main.o + +all: $(BIN) + +%.s: %.ms + maccer -o $@ $< + +$(BIN): $(OBJS) + $(CC) -o $(BIN) $(OBJS) + +clean: + rm -rf $(BIN) $(OBJS) *~ diff --git a/window/bg.c b/window/bg.c new file mode 100644 index 0000000..ca50244 --- /dev/null +++ b/window/bg.c @@ -0,0 +1,153 @@ +const unsigned char bg_tiledata[] = { +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFC,0xFF,0xFE,0xFF,0xFC,0xFF,0xFE,0xFF,0xFC,0xFF,0xFE,0xFF,0xFC,0xFF,0xFE,0xFF, +0x00,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF, +0x3E,0xFF,0x3E,0xFF,0x3E,0xFF,0x3E,0xFF,0x3E,0xFF,0x3F,0xFF,0x1F,0xFF,0x3F,0xFF, +0x3F,0xFF,0x7F,0xFF,0x7F,0xFF,0xFD,0xFF,0xFA,0xFF,0xF9,0xFF,0xD4,0xFF,0xAA,0xFF, +0x00,0xFF,0x80,0xFF,0x00,0xFF,0x80,0xFF,0x80,0xFF,0x20,0xFF,0x40,0xFF,0x20,0xFF, +0x00,0xFF,0x00,0xFF,0x02,0xFF,0x00,0xFF,0x23,0xFF,0x01,0xFF,0x20,0xFF,0x15,0xFF, +0x80,0xFF,0x00,0xFF,0x81,0xFF,0x81,0xFF,0x04,0xFF,0x84,0xFF,0x88,0xFF,0x40,0xFF, +0x9E,0xFF,0x82,0xFF,0x3B,0xFE,0x12,0xFF,0x00,0xFF,0x04,0xFB,0x00,0xFF,0x40,0xFF, +0xFC,0x03,0xED,0x12,0xBC,0x43,0xEE,0x11,0x38,0xC7,0x0E,0xF1,0x01,0xFE,0x00,0xFF, +0x4A,0xB5,0x55,0xAA,0x2A,0xD5,0xAA,0x55,0x95,0x6A,0xCA,0xB5,0x2A,0xD5,0xAA,0x55, +0xB6,0x49,0x5B,0xA4,0xD5,0x2A,0xAF,0x50,0x4B,0xB4,0xAA,0x55,0xB7,0x58,0xA1,0x5E, +0x1F,0xE0,0xCD,0x32,0x5F,0xA0,0xED,0x12,0xBF,0x40,0x8F,0x70,0x16,0xE9,0xD7,0x28, +0xFF,0x00,0xF7,0x08,0xBE,0x41,0xFF,0x00,0xDF,0x20,0xED,0x12,0xFF,0x00,0xFF,0x00, +0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF,0x00, +0x78,0xFF,0xB8,0xFF,0x78,0xFF,0x78,0xFF,0x58,0xFF,0x58,0xFF,0x78,0xFF,0x58,0xFF, +0xFC,0xFF,0xFE,0xFF,0xFC,0xFF,0xFC,0xFF,0xFE,0xFF,0xFE,0xFF,0xFA,0xFF,0xFE,0xFF, +0x3F,0xFF,0x1F,0xFF,0x3F,0xFF,0x1F,0xFF,0x3F,0xFF,0x1E,0xFF,0x1E,0xFF,0x1F,0xFF, +0xD4,0xFF,0xC4,0xFF,0x90,0xFF,0x04,0xFF,0x08,0xFF,0x08,0xFF,0x00,0xFF,0x08,0xFF, +0x01,0xFF,0x00,0xFF,0x01,0xFF,0x08,0xFF,0x01,0xFF,0x00,0xFF,0x02,0xFF,0x00,0xFF, +0x20,0xFF,0xD0,0xFF,0x40,0xFF,0x48,0xF7,0x82,0xFF,0x88,0xF7,0x80,0xFF,0x0A,0xF7, +0x00,0xFF,0x80,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF,0x04,0xFB,0x01,0xFE,0x00,0xFF, +0x01,0xFE,0x00,0xFF,0x00,0xFF,0x00,0xFF,0x02,0xFD,0x40,0xBF,0x20,0xDF,0x10,0xEF, +0x55,0xAA,0x55,0xAA,0xAD,0x5A,0x2A,0xD5,0x2A,0xD5,0x2D,0xD6,0x15,0xEA,0x15,0xEE, +0x57,0xA8,0x48,0xB7,0x35,0xCA,0x95,0x6A,0xAA,0x5D,0x33,0xDC,0x8A,0xF5,0xB2,0xFD, +0xB7,0x48,0x93,0x6C,0x6F,0xD0,0xB6,0x49,0x7B,0xC4,0x89,0x76,0xBE,0x61,0xC6,0x39, +0xDB,0x24,0xFF,0x00,0xFD,0x02,0xDF,0x20,0xF5,0x0A,0x5F,0xA0,0xD5,0x2A,0xBD,0x42, +0x78,0xFF,0x58,0xFF,0x78,0xFF,0xB8,0xFF,0x78,0xFF,0x38,0xFF,0x78,0xFF,0x28,0xFF, +0x00,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF,0x06,0xF9,0x02,0xFD, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF, +0xFD,0xFF,0xFF,0xFF,0x6F,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF, +0xEC,0xFF,0xFE,0xFF,0xCC,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF, +0x1E,0xFF,0x1E,0xFF,0x1E,0xFF,0x1E,0xFF,0x1E,0xFF,0x1E,0xFF,0x1F,0xFF,0x1E,0xFF, +0x00,0xFF,0x00,0xFF,0x08,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF, +0x00,0xFF,0x00,0xFF,0x80,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF, +0x01,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF,0x01,0xFF,0x00,0xFF,0x00,0xFF, +0x00,0xFF,0x84,0xFF,0x00,0xFF,0x00,0xFF,0x20,0xFF,0x00,0xFF,0x00,0xFF,0x80,0xFF, +0x00,0xFF,0x3B,0xC4,0x3C,0xC3,0x3F,0xC0,0x70,0x8F,0x7C,0x83,0x7D,0x82,0xFF,0x00, +0x10,0xEF,0x9F,0x60,0x51,0xAE,0x29,0xD6,0x60,0x9F,0x70,0x8F,0xFF,0x00,0xF7,0x08, +0x0C,0xF7,0x0B,0xF6,0x06,0xFD,0xA2,0xDD,0x0C,0xFB,0x8D,0x7B,0x42,0xFF,0x15,0xEB, +0x55,0xEA,0x78,0xFF,0x96,0xED,0xF4,0x6F,0x1B,0xFE,0xCB,0x7F,0xB5,0xFF,0xBD,0x6F, +0x15,0xEA,0xB6,0x5B,0xAA,0x55,0xA7,0x5A,0x1C,0xEB,0xA6,0x5B,0x5A,0xAD,0x8A,0x75, +0xC5,0x3A,0x25,0xDA,0xF5,0xAA,0x49,0xF6,0xB5,0xEA,0xF5,0x7E,0xBD,0xFA,0xBD,0x5E, +0x78,0xFF,0x58,0xFF,0x70,0xFF,0x58,0xFF,0x78,0xFF,0x59,0xFE,0xFB,0xFC,0x5B,0xFC, +0x03,0xFC,0x03,0xFC,0x03,0xFC,0x03,0xFC,0x03,0xFC,0xFF,0x00,0xFF,0x00,0xFF,0x00, +0x00,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF,0x40,0xBF,0xF0,0x0F,0xF0,0x0F,0xF0,0x0F, +0x00,0xFF,0x00,0xFF,0x1F,0xFF,0x07,0xFF,0x30,0xFF,0x2B,0xFC,0x1A,0xF5,0x15,0xFA, +0x1F,0xFF,0x1E,0xFF,0xFF,0xFF,0xFF,0xFF,0x02,0xFF,0xF5,0x0A,0x11,0xEE,0xAD,0x52, +0x00,0xFF,0x08,0xFF,0xFF,0xFF,0xFF,0xFF,0x2B,0xFF,0xA9,0x57,0x13,0xEF,0x45,0xBB, +0x00,0xFF,0x00,0xFF,0x80,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF,0x80,0x7F, +0x04,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF, +0x22,0xDD,0x80,0xFF,0x01,0xFE,0x80,0xFF,0x10,0xFF,0x09,0xFE,0x00,0xFF,0x00,0xFF, +0xFE,0x01,0xFE,0x01,0xFD,0x02,0xFF,0x00,0xFD,0x02,0xFE,0x01,0xFD,0x02,0xFF,0x00, +0xD7,0x28,0x03,0xFC,0xDA,0x25,0xE9,0x16,0x04,0xFB,0x06,0xF9,0x00,0xFF,0x1E,0xFF, +0x1A,0xF7,0x9A,0x77,0x17,0xED,0x15,0xEA,0x14,0xFF,0x87,0xFD,0x04,0xFB,0x05,0xFA, +0xF5,0xFF,0xAA,0xFF,0xB5,0x5F,0xAD,0xD7,0x92,0x7F,0x5D,0xAB,0xB2,0x5D,0x1A,0xED, +0x5B,0xAD,0x49,0xB6,0x92,0x6D,0x4B,0xB4,0xB2,0x6D,0x5D,0xA6,0xA2,0x5F,0x56,0xAB, +0x55,0xFE,0x5D,0xAE,0xEB,0xBE,0x7D,0xAE,0x17,0xFC,0xFD,0xAE,0x95,0xFE,0xDD,0xFE, +0x73,0xFC,0x5B,0xFC,0xF3,0x7C,0xBB,0xFC,0xDB,0x7C,0x5B,0xFC,0xDB,0x7C,0x5B,0xFC, +0xF0,0x0F,0xF0,0x0F,0xF0,0x0F,0xF0,0x0F,0xF0,0x0F,0xF0,0x0F,0xF0,0x0F,0xF0,0x0F, +0x00,0xFF,0xD0,0xFF,0xFF,0xFF,0xFF,0xFF,0xEA,0xFF,0x80,0xFF,0x3F,0xC0,0xBF,0xC0, +0x00,0xFF,0x02,0xFF,0xFF,0xFF,0xFF,0xFF,0x95,0xFF,0x00,0xFF,0xFF,0x00,0xFF,0x00, +0x00,0xFF,0x00,0xFF,0xF0,0xFF,0xF8,0xFF,0x30,0xFF,0x10,0xFF,0x98,0x7F,0xB0,0x5F, +0x1A,0xF5,0x13,0xFC,0x2A,0xF5,0x1A,0xF5,0x0E,0xF9,0x12,0xFD,0x26,0xF9,0x3A,0xFD, +0xA2,0x5D,0x48,0xB7,0xB5,0x4E,0xA9,0x56,0x94,0x6B,0xAB,0x55,0x8A,0x7F,0xAB,0x57, +0x21,0xDF,0xA9,0x57,0x0B,0xF5,0x40,0xBF,0x56,0xEB,0x11,0xFF,0xCB,0x75,0x50,0xFF, +0x00,0xFF,0x80,0xFF,0x80,0x7F,0x80,0xFF,0x00,0xFF,0x80,0xFF,0x00,0xFF,0x80,0xFF, +0x00,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF,0x1F,0xFF,0x3B,0xC7, +0x80,0xFF,0x01,0xFE,0x03,0xFC,0x87,0xF8,0xBF,0xC0,0xBF,0xC0,0xBF,0xC0,0xDF,0xE0, +0xBF,0x7F,0xBF,0x7F,0xBF,0x7F,0x3F,0xFF,0x6D,0x97,0x6F,0x97,0xDE,0x27,0xF7,0x08, +0x35,0xEA,0x05,0xFA,0x39,0xEF,0x8C,0x7B,0x6A,0xD5,0x17,0xED,0xA8,0x57,0xCF,0x35, +0x4A,0xB5,0x3B,0xD5,0x92,0x6D,0xAA,0x55,0x6A,0xB5,0x52,0xBD,0x2B,0xD5,0x42,0xFD, +0x95,0x6F,0x56,0xAB,0xAB,0x5F,0x9D,0x6B,0xA7,0x5B,0x35,0xEF,0xDF,0x6B,0x8D,0x7B, +0xB5,0xFE,0xDF,0xFE,0x75,0xFE,0xBF,0xFE,0xF5,0xFE,0x7D,0xBE,0x6D,0xFA,0x7B,0xDC, +0x7B,0xFC,0x9B,0xFC,0x7B,0xFC,0x5B,0xFC,0x7B,0xFC,0x5B,0xFC,0x7B,0xFC,0x5B,0xFC, +0xE0,0x1F,0xE0,0x1F,0xF0,0x0F,0xF0,0x0F,0xF0,0x0F,0xF0,0x0F,0xF0,0x0F,0xF0,0x0F, +0xBF,0xC0,0xBF,0xC0,0xBE,0xC1,0x8F,0xF0,0xB5,0xCA,0xAA,0xD5,0xAA,0xD5,0xAA,0xD7, +0x7F,0x80,0xBF,0xC0,0x9F,0xE0,0xEF,0xB0,0x37,0xD8,0x27,0xD8,0xAF,0x50,0xAF,0xD0, +0xA8,0x5F,0x88,0x7F,0xD0,0x3F,0xA8,0x5F,0xB8,0x5F,0xC8,0x3F,0xB8,0x5F,0x88,0x7F, +0x0A,0xF5,0x2B,0xFC,0x12,0xFD,0x1B,0xFC,0x12,0xFD,0x2B,0xFC,0x12,0xFD,0x2B,0xFC, +0x45,0xFF,0x26,0xFD,0xA9,0xDE,0xA5,0xDF,0x4D,0xBE,0x54,0xEF,0x55,0xFF,0x4E,0xBB, +0x2B,0xF5,0xB2,0xFD,0xA9,0xF7,0x7B,0xF5,0x81,0xFF,0xFA,0x75,0x51,0xFF,0xBA,0xF5, +0x00,0xFF,0x80,0xFF,0x01,0xFE,0x81,0xFE,0x03,0xFC,0x83,0xFC,0x83,0xFC,0x83,0xFC, +0xFF,0x03,0xFD,0x03,0x7E,0x81,0x5E,0xA1,0xFF,0x00,0xBC,0x43,0x79,0x86,0xFD,0x02, +0xEF,0xF0,0xF7,0xF8,0xFF,0xF8,0xFB,0xFC,0xF9,0x7E,0x3D,0xFE,0x7F,0xBE,0x3E,0xFF, +0x61,0x9F,0x15,0xFB,0xF1,0x1E,0xFC,0x1F,0xF5,0x1A,0xED,0x1E,0xDA,0x3D,0xFC,0x1F, +0xA8,0x57,0x6D,0xDA,0x49,0xBF,0xD6,0xAD,0x34,0xEF,0x57,0xAD,0xC8,0x77,0xDE,0x75, +0x5B,0xEF,0x57,0xED,0x1F,0xFB,0xA5,0xDF,0x1D,0xFA,0xD6,0x6D,0x5A,0xB5,0xDF,0xAA, +0x69,0xF6,0x75,0xDA,0x93,0xEC,0xDB,0x74,0x55,0xAA,0x77,0xA8,0xAB,0x54,0x6F,0xB0, +0x7B,0xFC,0x9B,0xFC,0x7B,0xFC,0x58,0xFF,0xD8,0xFF,0x70,0xFF,0xB8,0xFF,0xD8,0xFF, +0xFF,0x00,0xFF,0x00,0xFF,0x00,0x00,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF, +0xF0,0x0F,0xF0,0x0F,0xC0,0x3F,0x00,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF, +0x97,0xEC,0xA2,0xDF,0x94,0xEF,0xAB,0xD4,0x9A,0xEF,0xAA,0xD7,0x9A,0xED,0xD6,0xEF, +0x57,0xA8,0xA7,0x58,0x7B,0xAC,0x23,0xFC,0xFB,0x74,0x51,0xFE,0xAB,0x54,0x89,0x76, +0xC8,0x3F,0xC8,0x3F,0x98,0x7F,0xC8,0x3F,0xA8,0x5F,0xC8,0x3F,0x98,0x7F,0xE8,0x1F, +0x12,0xFD,0x2B,0xFC,0x12,0xFD,0x1B,0xFC,0x15,0xFA,0x39,0xFE,0x16,0xF9,0x1B,0xFC, +0x31,0xEF,0xD5,0x3A,0xA8,0x57,0x4B,0xB4,0xF4,0x0B,0x55,0xAA,0xB5,0x4A,0xDA,0x25, +0xA1,0xFF,0xBB,0xF5,0xA0,0xFF,0x4A,0xB5,0xAB,0x55,0x50,0xAF,0x53,0xAD,0xA8,0x57, +0x07,0xF8,0x83,0xFC,0x86,0xF9,0x83,0xFC,0x85,0xFA,0x87,0xF8,0x83,0xFC,0x85,0xFA, +0x72,0x8D,0xF2,0x0D,0xF8,0x07,0xD4,0x2B,0xEF,0x19,0xF6,0x09,0xFF,0x00,0xFD,0x02, +0x3F,0xFF,0xBF,0x7F,0x9F,0x7F,0x3F,0xFF,0xDF,0x7F,0xDF,0x7F,0x8F,0xFF,0xAF,0x7F, +0x7F,0x80,0x7F,0x80,0xBF,0xC0,0xBF,0xC0,0xDF,0xE0,0x6F,0xF0,0xE7,0xF8,0x7F,0xF8, +0xFF,0x00,0xFE,0x01,0xFD,0x02,0xFD,0x02,0xFA,0x05,0xF9,0x06,0xF1,0x0E,0xF3,0x0C, +0xDA,0x3D,0x9D,0x7E,0x7F,0xBC,0x7D,0xBE,0x7D,0xBE,0x5D,0xFE,0x6F,0xFC,0xE9,0x7E, +0xA2,0x5F,0xFF,0x03,0x7A,0x85,0xFD,0x02,0xFF,0x00,0xFF,0x00,0x7F,0x80,0xFF,0x00, +0x54,0xEB,0xFF,0x00,0xFF,0x80,0x7F,0x80,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF,0x00, +0x78,0xFF,0x58,0xFF,0xF0,0xFF,0x38,0xFF,0xF8,0xFF,0x38,0xFF,0xF8,0xFF,0x98,0xFF, +0x93,0xEE,0xEE,0xD3,0x8B,0xF4,0xD0,0xEF,0xAA,0xD5,0xCA,0xF5,0x92,0xED,0x8A,0xF5, +0x65,0xDA,0x35,0xFA,0xAB,0x74,0xD5,0x2A,0x55,0xAA,0x94,0x6B,0xAA,0x55,0x95,0x6A, +0x88,0x7F,0xC8,0x3F,0xC8,0x3F,0x48,0xBF,0x88,0x7F,0xE8,0x1F,0x88,0x7F,0x48,0xBF, +0x12,0xFD,0x12,0xFD,0x1B,0xFC,0x0B,0xFF,0x2F,0xFF,0x16,0xFF,0x00,0xFF,0x00,0xFF, +0xAA,0x55,0xEA,0x15,0x10,0xEF,0x7F,0xFF,0xFF,0xFF,0xBA,0xFF,0x00,0xFF,0x00,0xFF, +0x52,0xAD,0xAA,0x55,0x57,0xFF,0xFF,0xFF,0xFE,0xFF,0xA8,0xFF,0x04,0xFF,0x00,0xFF, +0x83,0xFC,0x81,0xFE,0x41,0xFE,0x83,0xFC,0x83,0xFC,0x01,0xFE,0x01,0xFE,0x01,0xFE, +0x4F,0xBF,0xC7,0x3E,0xCF,0x3F,0xE6,0x1F,0xD7,0x2F,0xD6,0x2F,0xE7,0x1F,0xA6,0x5F, +0xD7,0xF8,0xFF,0xF0,0xEF,0xB0,0xEF,0xF0,0x7F,0xD0,0xBF,0xC8,0x7F,0x82,0xFF,0x00, +0xE7,0x18,0xE1,0x1F,0xEF,0x1F,0xAD,0x5F,0xD7,0x3F,0x9B,0x7F,0x3F,0xFB,0x3F,0xFF, +0x7F,0xFC,0xD9,0xFE,0xFB,0xEC,0xF9,0xFE,0xBA,0xED,0xE9,0xFE,0xF5,0x7E,0xF9,0xFE, +0x7F,0x80,0xFF,0x00,0x4A,0xB5,0xFF,0x3F,0xBF,0x7F,0xFF,0x3F,0x7F,0xBF,0x80,0x7F, +0xFF,0x00,0xFF,0x00,0x5F,0xA0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0xFF, +0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x10,0xFF, +0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFB,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xAD,0xFF, +0x70,0xFF,0xF8,0xFF,0xB8,0xFF,0xF8,0xFF,0xD8,0xFF,0xF0,0xFF,0xF8,0xFF,0x50,0xFF, +0x00,0xFF,0x00,0xFF,0x04,0xFF,0x00,0xFF,0x04,0xFF,0x00,0xFF,0x2A,0xFF,0x00,0xFF, +0xB2,0xDD,0x80,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x80,0xFF, +0x44,0xBB,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x6A,0xFF,0x01,0xFF, +0x18,0xFF,0x18,0xFF,0xF8,0xFF,0xF8,0xFF,0xF8,0xFF,0xC0,0xFF,0x00,0xFF,0x00,0xFF, +0x08,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF, +0xFF,0x00,0xFF,0x00,0xFF,0x00,0x3F,0xC0,0x7F,0x80,0x7F,0x80,0x3F,0xC0,0x3F,0xC0, +0xD5,0x2E,0xC3,0x3C,0x87,0x78,0x9F,0x60,0x7F,0x80,0x7F,0x80,0xFF,0x00,0xFF,0x00, +0xF8,0x07,0xFF,0x00,0xFA,0x05,0xFF,0x01,0xE9,0x17,0xFD,0x03,0xAB,0x57,0xDB,0x27, +0xFF,0x7F,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xBD,0xFE,0xF5,0xFE,0xFD,0xBE,0xFD,0xFE,0xFC,0xFF,0xFD,0xFE,0xF9,0xFE,0xF0,0xFF, +0x40,0xBF,0x40,0xBF,0x80,0x7F,0x80,0x7F,0xC0,0x3F,0x40,0xBF,0x80,0x7F,0xC2,0x3F, +0x10,0xFF,0x14,0xFF,0x80,0xFF,0x28,0xFF,0x10,0xFF,0x88,0xFF,0x00,0xFF,0x00,0xFF, +0x1F,0xE0,0x1F,0xE0,0x1F,0xE0,0x0F,0xF0,0x0E,0xF1,0x07,0xF8,0x07,0xF8,0x03,0xFC, +0xFF,0x00,0xFF,0x00,0xFE,0x01,0xFE,0x01,0xF5,0x0A,0xF5,0x0A,0xD8,0x27,0xEA,0x15, +0x6F,0x97,0xA7,0x5F,0xAF,0x5F,0x9F,0x7F,0x5F,0xBF,0x3F,0xFF,0xBF,0x7F,0x7F,0xFF, +0xF3,0xFC,0xF0,0xFF,0xE9,0xFE,0xF0,0xFF,0xE1,0xFE,0xF8,0xFF,0xF1,0xFE,0xF8,0xFF, +0x94,0x7F,0xDF,0x3F,0x9F,0x7F,0xDF,0x3F,0x5F,0xBF,0x5F,0xBF,0x7F,0x9F,0x4F,0xBF, +0x07,0xF8,0x01,0xFE,0x04,0xFF,0x06,0xFF,0x07,0xFF,0x07,0xFF,0x07,0xFF,0x03,0xFF, +0x84,0x7B,0x45,0xBB,0x13,0xEF,0x07,0xFF,0x0F,0xFF,0xFF,0xFF,0xFF,0xFF,0xBF,0xFF, +0xF9,0xFE,0xFC,0xFF,0xF9,0xFE,0xFE,0xFF,0xFC,0xFF,0xFF,0xFF,0xFD,0xFF,0xFD,0xFF, +0x6F,0x9F,0x2F,0xDF,0x57,0xAF,0x57,0xAF,0x17,0xEF,0x17,0xEF,0x2B,0xD7,0x8B,0xF7, +0x0F,0xFF,0x07,0xFF,0x0F,0xFF,0x07,0xFF,0x0F,0xFF,0x0F,0xFF,0x5F,0xFF,0x0F,0xF7, +0xAB,0xD7,0xCB,0xF7,0xDB,0xE7,0x4B,0xF7,0xCD,0xF3,0xC5,0xFB,0xC9,0x77,0xED,0xF3, +0x1F,0xFE,0x0F,0xFF,0x1B,0xFF,0x0F,0xFF,0x1F,0xFF,0x1F,0xFF,0x3F,0xFF,0x1F,0xEF, +0xE5,0xFB,0xF5,0xFB,0xF5,0xFB,0xF5,0xFB,0xE4,0xFB,0xF2,0xFD,0xF2,0xFD,0xF0,0xFF, +0x3F,0xFF,0x1F,0xFF,0x1F,0xFF,0x1F,0xFF,0x5F,0xFF,0x3F,0xFF,0x3F,0xFF,0x1F,0xFF, +0xF2,0xFD,0xF8,0xFF,0xF8,0xFF,0xFA,0xFD,0xF8,0xFF,0xF8,0xFF,0xF9,0xFE,0xFC,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0xFF,0x7F,0xFF,0x7F,0xFF}; diff --git a/window/border.c b/window/border.c new file mode 100644 index 0000000..7b542b6 --- /dev/null +++ b/window/border.c @@ -0,0 +1,21 @@ +const unsigned char border[] = +{ + 0x00,0x00,0x1F,0x1F,0x20,0x20,0x4F,0x4F, + 0x50,0x50,0x50,0x50,0x50,0x50,0x50,0x50, + 0x50,0x50,0x50,0x50,0x50,0x50,0x50,0x50, + 0x4F,0x4F,0x20,0x20,0x1F,0x1F,0x00,0x00, + 0x00,0x00,0xF8,0xF8,0x04,0x04,0xF2,0xF2, + 0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A, + 0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A, + 0xF2,0xF2,0x04,0x04,0xF8,0xF8,0x00,0x00, + 0x00,0x00,0xFF,0xFF,0x00,0x00,0xFF,0xFF, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0xFF,0xFF,0x00,0x00,0xFF,0xFF,0x00,0x00, + 0x50,0x50,0x50,0x50,0x50,0x50,0x50,0x50, + 0x50,0x50,0x50,0x50,0x50,0x50,0x50,0x50, + 0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A, + 0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 +}; diff --git a/window/main.c b/window/main.c new file mode 100644 index 0000000..108bf26 --- /dev/null +++ b/window/main.c @@ -0,0 +1,16 @@ +#include +#include "bg.c" +#include "bg.map" +#include "border.c" +#include "window.c" + +void main() { + set_bkg_data(0, 152, bg_tiledata); + set_bkg_tiles(0, 0, 20, 18, bg_tilemap); + SHOW_BKG; + + set_win_data(152, 9, border); + set_win_tiles(0, 0, 20, 4, window); + move_win(7, 112); + SHOW_WIN; +} diff --git a/window/main.lst b/window/main.lst new file mode 100644 index 0000000..59a0b85 --- /dev/null +++ b/window/main.lst @@ -0,0 +1,3232 @@ + 1 ;-------------------------------------------------------- + 2 ; File Created by SDCC : FreeWare ANSI-C Compiler + 3 ; Version 2.3.1 Wed Jul 8 08:59:48 2020 + 4 + 5 ;-------------------------------------------------------- + 6 .module lcc2264200 + 7 + 8 ;-------------------------------------------------------- + 9 ; Public variables in this module + 10 ;-------------------------------------------------------- + 11 .globl _main + 12 .globl _window + 13 .globl _border + 14 .globl _bg_tilemap + 15 .globl _bg_tiledata + 16 ;-------------------------------------------------------- + 17 ; special function registers + 18 ;-------------------------------------------------------- + 19 ;-------------------------------------------------------- + 20 ; special function bits + 21 ;-------------------------------------------------------- + 22 ;-------------------------------------------------------- + 23 ; internal ram data + 24 ;-------------------------------------------------------- + 25 .area _DATA + 26 ;-------------------------------------------------------- + 27 ; overlayable items in internal ram + 28 ;-------------------------------------------------------- + 29 .area _OVERLAY + 30 ;-------------------------------------------------------- + 31 ; indirectly addressable internal ram data + 32 ;-------------------------------------------------------- + 33 .area _ISEG + 34 ;-------------------------------------------------------- + 35 ; bit data + 36 ;-------------------------------------------------------- + 37 .area _BSEG + 38 ;-------------------------------------------------------- + 39 ; external ram data + 40 ;-------------------------------------------------------- + 41 .area _XSEG + 42 ;-------------------------------------------------------- + 43 ; global & static initialisations + 44 ;-------------------------------------------------------- + 45 .area _GSINIT + 46 .area _GSFINAL + 47 .area _GSINIT + 48 ;-------------------------------------------------------- + 49 ; Home + 50 ;-------------------------------------------------------- + 51 .area _HOME + 52 .area _CODE + 53 ;-------------------------------------------------------- + 54 ; code + 55 ;-------------------------------------------------------- + 56 .area _CODE + 57 ; main.c 7 + 58 ; genLabel + 59 ; genFunction + 60 ; --------------------------------- + 61 ; Function main + 62 ; --------------------------------- + 0000 63 ___main_start: + 0000 64 _main: + 0000 E8 FD 65 lda sp,-3(sp) + 66 ; main.c 8 + 67 ; genIpush + 68 ; _saveRegsForCall: sendSetSize: 0 deInUse: 0 bcInUse: 0 deSending: 0 + 0002 21 76 00 69 ld hl,#_bg_tiledata + 0005 E5 70 push hl + 71 ; genIpush + 0006 21 00 98 72 ld hl,#0x9800 + 0009 E5 73 push hl + 74 ; genCall + 000A CD 00 00 75 call _set_bkg_data + 000D E8 04 76 lda sp,4(sp) + 77 ; main.c 9 + 78 ; genIpush + 79 ; _saveRegsForCall: sendSetSize: 0 deInUse: 0 bcInUse: 0 deSending: 0 + 000F 21 F6 09 80 ld hl,#_bg_tilemap + 0012 E5 81 push hl + 82 ; genIpush + 0013 21 14 12 83 ld hl,#0x1214 + 0016 E5 84 push hl + 85 ; genIpush + 0017 21 00 00 86 ld hl,#0x0000 + 001A E5 87 push hl + 88 ; genCall + 001B CD 00 00 89 call _set_bkg_tiles + 001E E8 06 90 lda sp,6(sp) + 91 ; main.c 10 + 92 ; genAssign + 0020 01 40 FF 93 ld bc,#0xFF40 + 94 ; genAssign + 95 ; AOP_STK for _main_sloc0_1_0 + 0023 F8 01 96 lda hl,1(sp) + 0025 36 40 97 ld (hl),#0x40 + 0027 23 98 inc hl + 0028 36 FF 99 ld (hl),#0xFF + 100 ; genPointerGet + 101 ; AOP_STK for _main_sloc0_1_0 + 102 ; AOP_STK for _main_sloc1_1_0 + 002A 2B 103 dec hl + 002B 5E 104 ld e,(hl) + 002C 23 105 inc hl + 002D 56 106 ld d,(hl) + 002E 1A 107 ld a,(de) + 002F 2B 108 dec hl + 0030 2B 109 dec hl + 110 ; genOr + 111 ; AOP_STK for _main_sloc1_1_0 + 0031 77 112 ld (hl),a + 0032 7F 113 ld a,a + 0033 F6 01 114 or a,#0x01 + 115 ; genAssign (pointer) + 0035 02 116 ld (bc),a + 117 ; main.c 12 + 118 ; genIpush + 119 ; _saveRegsForCall: sendSetSize: 0 deInUse: 0 bcInUse: 0 deSending: 0 + 0036 21 5E 0B 120 ld hl,#_border + 0039 E5 121 push hl + 122 ; genIpush + 003A 21 98 09 123 ld hl,#0x0998 + 003D E5 124 push hl + 125 ; genCall + 003E CD 00 00 126 call _set_win_data + 0041 E8 04 127 lda sp,4(sp) + 128 ; main.c 13 + 129 ; genIpush + 130 ; _saveRegsForCall: sendSetSize: 0 deInUse: 0 bcInUse: 0 deSending: 0 + 0043 21 EE 0B 131 ld hl,#_window + 0046 E5 132 push hl + 133 ; genIpush + 0047 21 14 04 134 ld hl,#0x0414 + 004A E5 135 push hl + 136 ; genIpush + 004B 21 00 00 137 ld hl,#0x0000 + 004E E5 138 push hl + 139 ; genCall + 004F CD 00 00 140 call _set_win_tiles + 0052 E8 06 141 lda sp,6(sp) + 142 ; main.c 14 + 143 ; genIpush + 144 ; _saveRegsForCall: sendSetSize: 0 deInUse: 0 bcInUse: 0 deSending: 0 + 0054 21 07 70 145 ld hl,#0x7007 + 0057 E5 146 push hl + 147 ; genCall + 0058 CD 00 00 148 call _move_win + 005B E8 02 149 lda sp,2(sp) + 150 ; main.c 15 + 151 ; genAssign + 005D 01 40 FF 152 ld bc,#0xFF40 + 153 ; genAssign + 154 ; AOP_STK for _main_sloc0_1_0 + 0060 F8 01 155 lda hl,1(sp) + 0062 36 40 156 ld (hl),#0x40 + 0064 23 157 inc hl + 0065 36 FF 158 ld (hl),#0xFF + 159 ; genPointerGet + 160 ; AOP_STK for _main_sloc0_1_0 + 161 ; AOP_STK for _main_sloc1_1_0 + 0067 2B 162 dec hl + 0068 5E 163 ld e,(hl) + 0069 23 164 inc hl + 006A 56 165 ld d,(hl) + 006B 1A 166 ld a,(de) + 006C 2B 167 dec hl + 006D 2B 168 dec hl + 169 ; genOr + 170 ; AOP_STK for _main_sloc1_1_0 + 006E 77 171 ld (hl),a + 006F 7F 172 ld a,a + 0070 F6 20 173 or a,#0x20 + 174 ; genAssign (pointer) + 0072 02 175 ld (bc),a + 176 ; genLabel + 0073 177 00101$: + 178 ; genEndFunction + 0073 E8 03 179 lda sp,3(sp) + 0075 C9 180 ret + 0076 181 ___main_end: + 0076 182 _bg_tiledata: + 0076 00 183 .db #0x00 + 0077 00 184 .db #0x00 + 0078 00 185 .db #0x00 + 0079 00 186 .db #0x00 + 007A 00 187 .db #0x00 + 007B 00 188 .db #0x00 + 007C 00 189 .db #0x00 + 007D 00 190 .db #0x00 + 007E 00 191 .db #0x00 + 007F 00 192 .db #0x00 + 0080 00 193 .db #0x00 + 0081 00 194 .db #0x00 + 0082 00 195 .db #0x00 + 0083 00 196 .db #0x00 + 0084 00 197 .db #0x00 + 0085 00 198 .db #0x00 + 0086 FF 199 .db #0xFF + 0087 FF 200 .db #0xFF + 0088 FF 201 .db #0xFF + 0089 FF 202 .db #0xFF + 008A FF 203 .db #0xFF + 008B FF 204 .db #0xFF + 008C FF 205 .db #0xFF + 008D FF 206 .db #0xFF + 008E FF 207 .db #0xFF + 008F FF 208 .db #0xFF + 0090 FF 209 .db #0xFF + 0091 FF 210 .db #0xFF + 0092 FF 211 .db #0xFF + 0093 FF 212 .db #0xFF + 0094 FF 213 .db #0xFF + 0095 FF 214 .db #0xFF + 0096 FC 215 .db #0xFC + 0097 FF 216 .db #0xFF + 0098 FE 217 .db #0xFE + 0099 FF 218 .db #0xFF + 009A FC 219 .db #0xFC + 009B FF 220 .db #0xFF + 009C FE 221 .db #0xFE + 009D FF 222 .db #0xFF + 009E FC 223 .db #0xFC + 009F FF 224 .db #0xFF + 00A0 FE 225 .db #0xFE + 00A1 FF 226 .db #0xFF + 00A2 FC 227 .db #0xFC + 00A3 FF 228 .db #0xFF + 00A4 FE 229 .db #0xFE + 00A5 FF 230 .db #0xFF + 00A6 00 231 .db #0x00 + 00A7 FF 232 .db #0xFF + 00A8 00 233 .db #0x00 + 00A9 FF 234 .db #0xFF + 00AA 00 235 .db #0x00 + 00AB FF 236 .db #0xFF + 00AC 00 237 .db #0x00 + 00AD FF 238 .db #0xFF + 00AE 00 239 .db #0x00 + 00AF FF 240 .db #0xFF + 00B0 00 241 .db #0x00 + 00B1 FF 242 .db #0xFF + 00B2 00 243 .db #0x00 + 00B3 FF 244 .db #0xFF + 00B4 00 245 .db #0x00 + 00B5 FF 246 .db #0xFF + 00B6 3E 247 .db #0x3E + 00B7 FF 248 .db #0xFF + 00B8 3E 249 .db #0x3E + 00B9 FF 250 .db #0xFF + 00BA 3E 251 .db #0x3E + 00BB FF 252 .db #0xFF + 00BC 3E 253 .db #0x3E + 00BD FF 254 .db #0xFF + 00BE 3E 255 .db #0x3E + 00BF FF 256 .db #0xFF + 00C0 3F 257 .db #0x3F + 00C1 FF 258 .db #0xFF + 00C2 1F 259 .db #0x1F + 00C3 FF 260 .db #0xFF + 00C4 3F 261 .db #0x3F + 00C5 FF 262 .db #0xFF + 00C6 3F 263 .db #0x3F + 00C7 FF 264 .db #0xFF + 00C8 7F 265 .db #0x7F + 00C9 FF 266 .db #0xFF + 00CA 7F 267 .db #0x7F + 00CB FF 268 .db #0xFF + 00CC FD 269 .db #0xFD + 00CD FF 270 .db #0xFF + 00CE FA 271 .db #0xFA + 00CF FF 272 .db #0xFF + 00D0 F9 273 .db #0xF9 + 00D1 FF 274 .db #0xFF + 00D2 D4 275 .db #0xD4 + 00D3 FF 276 .db #0xFF + 00D4 AA 277 .db #0xAA + 00D5 FF 278 .db #0xFF + 00D6 00 279 .db #0x00 + 00D7 FF 280 .db #0xFF + 00D8 80 281 .db #0x80 + 00D9 FF 282 .db #0xFF + 00DA 00 283 .db #0x00 + 00DB FF 284 .db #0xFF + 00DC 80 285 .db #0x80 + 00DD FF 286 .db #0xFF + 00DE 80 287 .db #0x80 + 00DF FF 288 .db #0xFF + 00E0 20 289 .db #0x20 + 00E1 FF 290 .db #0xFF + 00E2 40 291 .db #0x40 + 00E3 FF 292 .db #0xFF + 00E4 20 293 .db #0x20 + 00E5 FF 294 .db #0xFF + 00E6 00 295 .db #0x00 + 00E7 FF 296 .db #0xFF + 00E8 00 297 .db #0x00 + 00E9 FF 298 .db #0xFF + 00EA 02 299 .db #0x02 + 00EB FF 300 .db #0xFF + 00EC 00 301 .db #0x00 + 00ED FF 302 .db #0xFF + 00EE 23 303 .db #0x23 + 00EF FF 304 .db #0xFF + 00F0 01 305 .db #0x01 + 00F1 FF 306 .db #0xFF + 00F2 20 307 .db #0x20 + 00F3 FF 308 .db #0xFF + 00F4 15 309 .db #0x15 + 00F5 FF 310 .db #0xFF + 00F6 80 311 .db #0x80 + 00F7 FF 312 .db #0xFF + 00F8 00 313 .db #0x00 + 00F9 FF 314 .db #0xFF + 00FA 81 315 .db #0x81 + 00FB FF 316 .db #0xFF + 00FC 81 317 .db #0x81 + 00FD FF 318 .db #0xFF + 00FE 04 319 .db #0x04 + 00FF FF 320 .db #0xFF + 0100 84 321 .db #0x84 + 0101 FF 322 .db #0xFF + 0102 88 323 .db #0x88 + 0103 FF 324 .db #0xFF + 0104 40 325 .db #0x40 + 0105 FF 326 .db #0xFF + 0106 9E 327 .db #0x9E + 0107 FF 328 .db #0xFF + 0108 82 329 .db #0x82 + 0109 FF 330 .db #0xFF + 010A 3B 331 .db #0x3B + 010B FE 332 .db #0xFE + 010C 12 333 .db #0x12 + 010D FF 334 .db #0xFF + 010E 00 335 .db #0x00 + 010F FF 336 .db #0xFF + 0110 04 337 .db #0x04 + 0111 FB 338 .db #0xFB + 0112 00 339 .db #0x00 + 0113 FF 340 .db #0xFF + 0114 40 341 .db #0x40 + 0115 FF 342 .db #0xFF + 0116 FC 343 .db #0xFC + 0117 03 344 .db #0x03 + 0118 ED 345 .db #0xED + 0119 12 346 .db #0x12 + 011A BC 347 .db #0xBC + 011B 43 348 .db #0x43 + 011C EE 349 .db #0xEE + 011D 11 350 .db #0x11 + 011E 38 351 .db #0x38 + 011F C7 352 .db #0xC7 + 0120 0E 353 .db #0x0E + 0121 F1 354 .db #0xF1 + 0122 01 355 .db #0x01 + 0123 FE 356 .db #0xFE + 0124 00 357 .db #0x00 + 0125 FF 358 .db #0xFF + 0126 4A 359 .db #0x4A + 0127 B5 360 .db #0xB5 + 0128 55 361 .db #0x55 + 0129 AA 362 .db #0xAA + 012A 2A 363 .db #0x2A + 012B D5 364 .db #0xD5 + 012C AA 365 .db #0xAA + 012D 55 366 .db #0x55 + 012E 95 367 .db #0x95 + 012F 6A 368 .db #0x6A + 0130 CA 369 .db #0xCA + 0131 B5 370 .db #0xB5 + 0132 2A 371 .db #0x2A + 0133 D5 372 .db #0xD5 + 0134 AA 373 .db #0xAA + 0135 55 374 .db #0x55 + 0136 B6 375 .db #0xB6 + 0137 49 376 .db #0x49 + 0138 5B 377 .db #0x5B + 0139 A4 378 .db #0xA4 + 013A D5 379 .db #0xD5 + 013B 2A 380 .db #0x2A + 013C AF 381 .db #0xAF + 013D 50 382 .db #0x50 + 013E 4B 383 .db #0x4B + 013F B4 384 .db #0xB4 + 0140 AA 385 .db #0xAA + 0141 55 386 .db #0x55 + 0142 B7 387 .db #0xB7 + 0143 58 388 .db #0x58 + 0144 A1 389 .db #0xA1 + 0145 5E 390 .db #0x5E + 0146 1F 391 .db #0x1F + 0147 E0 392 .db #0xE0 + 0148 CD 393 .db #0xCD + 0149 32 394 .db #0x32 + 014A 5F 395 .db #0x5F + 014B A0 396 .db #0xA0 + 014C ED 397 .db #0xED + 014D 12 398 .db #0x12 + 014E BF 399 .db #0xBF + 014F 40 400 .db #0x40 + 0150 8F 401 .db #0x8F + 0151 70 402 .db #0x70 + 0152 16 403 .db #0x16 + 0153 E9 404 .db #0xE9 + 0154 D7 405 .db #0xD7 + 0155 28 406 .db #0x28 + 0156 FF 407 .db #0xFF + 0157 00 408 .db #0x00 + 0158 F7 409 .db #0xF7 + 0159 08 410 .db #0x08 + 015A BE 411 .db #0xBE + 015B 41 412 .db #0x41 + 015C FF 413 .db #0xFF + 015D 00 414 .db #0x00 + 015E DF 415 .db #0xDF + 015F 20 416 .db #0x20 + 0160 ED 417 .db #0xED + 0161 12 418 .db #0x12 + 0162 FF 419 .db #0xFF + 0163 00 420 .db #0x00 + 0164 FF 421 .db #0xFF + 0165 00 422 .db #0x00 + 0166 FF 423 .db #0xFF + 0167 00 424 .db #0x00 + 0168 FF 425 .db #0xFF + 0169 00 426 .db #0x00 + 016A FF 427 .db #0xFF + 016B 00 428 .db #0x00 + 016C FF 429 .db #0xFF + 016D 00 430 .db #0x00 + 016E FF 431 .db #0xFF + 016F 00 432 .db #0x00 + 0170 FF 433 .db #0xFF + 0171 00 434 .db #0x00 + 0172 FF 435 .db #0xFF + 0173 00 436 .db #0x00 + 0174 FF 437 .db #0xFF + 0175 00 438 .db #0x00 + 0176 78 439 .db #0x78 + 0177 FF 440 .db #0xFF + 0178 B8 441 .db #0xB8 + 0179 FF 442 .db #0xFF + 017A 78 443 .db #0x78 + 017B FF 444 .db #0xFF + 017C 78 445 .db #0x78 + 017D FF 446 .db #0xFF + 017E 58 447 .db #0x58 + 017F FF 448 .db #0xFF + 0180 58 449 .db #0x58 + 0181 FF 450 .db #0xFF + 0182 78 451 .db #0x78 + 0183 FF 452 .db #0xFF + 0184 58 453 .db #0x58 + 0185 FF 454 .db #0xFF + 0186 FC 455 .db #0xFC + 0187 FF 456 .db #0xFF + 0188 FE 457 .db #0xFE + 0189 FF 458 .db #0xFF + 018A FC 459 .db #0xFC + 018B FF 460 .db #0xFF + 018C FC 461 .db #0xFC + 018D FF 462 .db #0xFF + 018E FE 463 .db #0xFE + 018F FF 464 .db #0xFF + 0190 FE 465 .db #0xFE + 0191 FF 466 .db #0xFF + 0192 FA 467 .db #0xFA + 0193 FF 468 .db #0xFF + 0194 FE 469 .db #0xFE + 0195 FF 470 .db #0xFF + 0196 3F 471 .db #0x3F + 0197 FF 472 .db #0xFF + 0198 1F 473 .db #0x1F + 0199 FF 474 .db #0xFF + 019A 3F 475 .db #0x3F + 019B FF 476 .db #0xFF + 019C 1F 477 .db #0x1F + 019D FF 478 .db #0xFF + 019E 3F 479 .db #0x3F + 019F FF 480 .db #0xFF + 01A0 1E 481 .db #0x1E + 01A1 FF 482 .db #0xFF + 01A2 1E 483 .db #0x1E + 01A3 FF 484 .db #0xFF + 01A4 1F 485 .db #0x1F + 01A5 FF 486 .db #0xFF + 01A6 D4 487 .db #0xD4 + 01A7 FF 488 .db #0xFF + 01A8 C4 489 .db #0xC4 + 01A9 FF 490 .db #0xFF + 01AA 90 491 .db #0x90 + 01AB FF 492 .db #0xFF + 01AC 04 493 .db #0x04 + 01AD FF 494 .db #0xFF + 01AE 08 495 .db #0x08 + 01AF FF 496 .db #0xFF + 01B0 08 497 .db #0x08 + 01B1 FF 498 .db #0xFF + 01B2 00 499 .db #0x00 + 01B3 FF 500 .db #0xFF + 01B4 08 501 .db #0x08 + 01B5 FF 502 .db #0xFF + 01B6 01 503 .db #0x01 + 01B7 FF 504 .db #0xFF + 01B8 00 505 .db #0x00 + 01B9 FF 506 .db #0xFF + 01BA 01 507 .db #0x01 + 01BB FF 508 .db #0xFF + 01BC 08 509 .db #0x08 + 01BD FF 510 .db #0xFF + 01BE 01 511 .db #0x01 + 01BF FF 512 .db #0xFF + 01C0 00 513 .db #0x00 + 01C1 FF 514 .db #0xFF + 01C2 02 515 .db #0x02 + 01C3 FF 516 .db #0xFF + 01C4 00 517 .db #0x00 + 01C5 FF 518 .db #0xFF + 01C6 20 519 .db #0x20 + 01C7 FF 520 .db #0xFF + 01C8 D0 521 .db #0xD0 + 01C9 FF 522 .db #0xFF + 01CA 40 523 .db #0x40 + 01CB FF 524 .db #0xFF + 01CC 48 525 .db #0x48 + 01CD F7 526 .db #0xF7 + 01CE 82 527 .db #0x82 + 01CF FF 528 .db #0xFF + 01D0 88 529 .db #0x88 + 01D1 F7 530 .db #0xF7 + 01D2 80 531 .db #0x80 + 01D3 FF 532 .db #0xFF + 01D4 0A 533 .db #0x0A + 01D5 F7 534 .db #0xF7 + 01D6 00 535 .db #0x00 + 01D7 FF 536 .db #0xFF + 01D8 80 537 .db #0x80 + 01D9 FF 538 .db #0xFF + 01DA 00 539 .db #0x00 + 01DB FF 540 .db #0xFF + 01DC 00 541 .db #0x00 + 01DD FF 542 .db #0xFF + 01DE 00 543 .db #0x00 + 01DF FF 544 .db #0xFF + 01E0 04 545 .db #0x04 + 01E1 FB 546 .db #0xFB + 01E2 01 547 .db #0x01 + 01E3 FE 548 .db #0xFE + 01E4 00 549 .db #0x00 + 01E5 FF 550 .db #0xFF + 01E6 01 551 .db #0x01 + 01E7 FE 552 .db #0xFE + 01E8 00 553 .db #0x00 + 01E9 FF 554 .db #0xFF + 01EA 00 555 .db #0x00 + 01EB FF 556 .db #0xFF + 01EC 00 557 .db #0x00 + 01ED FF 558 .db #0xFF + 01EE 02 559 .db #0x02 + 01EF FD 560 .db #0xFD + 01F0 40 561 .db #0x40 + 01F1 BF 562 .db #0xBF + 01F2 20 563 .db #0x20 + 01F3 DF 564 .db #0xDF + 01F4 10 565 .db #0x10 + 01F5 EF 566 .db #0xEF + 01F6 55 567 .db #0x55 + 01F7 AA 568 .db #0xAA + 01F8 55 569 .db #0x55 + 01F9 AA 570 .db #0xAA + 01FA AD 571 .db #0xAD + 01FB 5A 572 .db #0x5A + 01FC 2A 573 .db #0x2A + 01FD D5 574 .db #0xD5 + 01FE 2A 575 .db #0x2A + 01FF D5 576 .db #0xD5 + 0200 2D 577 .db #0x2D + 0201 D6 578 .db #0xD6 + 0202 15 579 .db #0x15 + 0203 EA 580 .db #0xEA + 0204 15 581 .db #0x15 + 0205 EE 582 .db #0xEE + 0206 57 583 .db #0x57 + 0207 A8 584 .db #0xA8 + 0208 48 585 .db #0x48 + 0209 B7 586 .db #0xB7 + 020A 35 587 .db #0x35 + 020B CA 588 .db #0xCA + 020C 95 589 .db #0x95 + 020D 6A 590 .db #0x6A + 020E AA 591 .db #0xAA + 020F 5D 592 .db #0x5D + 0210 33 593 .db #0x33 + 0211 DC 594 .db #0xDC + 0212 8A 595 .db #0x8A + 0213 F5 596 .db #0xF5 + 0214 B2 597 .db #0xB2 + 0215 FD 598 .db #0xFD + 0216 B7 599 .db #0xB7 + 0217 48 600 .db #0x48 + 0218 93 601 .db #0x93 + 0219 6C 602 .db #0x6C + 021A 6F 603 .db #0x6F + 021B D0 604 .db #0xD0 + 021C B6 605 .db #0xB6 + 021D 49 606 .db #0x49 + 021E 7B 607 .db #0x7B + 021F C4 608 .db #0xC4 + 0220 89 609 .db #0x89 + 0221 76 610 .db #0x76 + 0222 BE 611 .db #0xBE + 0223 61 612 .db #0x61 + 0224 C6 613 .db #0xC6 + 0225 39 614 .db #0x39 + 0226 DB 615 .db #0xDB + 0227 24 616 .db #0x24 + 0228 FF 617 .db #0xFF + 0229 00 618 .db #0x00 + 022A FD 619 .db #0xFD + 022B 02 620 .db #0x02 + 022C DF 621 .db #0xDF + 022D 20 622 .db #0x20 + 022E F5 623 .db #0xF5 + 022F 0A 624 .db #0x0A + 0230 5F 625 .db #0x5F + 0231 A0 626 .db #0xA0 + 0232 D5 627 .db #0xD5 + 0233 2A 628 .db #0x2A + 0234 BD 629 .db #0xBD + 0235 42 630 .db #0x42 + 0236 78 631 .db #0x78 + 0237 FF 632 .db #0xFF + 0238 58 633 .db #0x58 + 0239 FF 634 .db #0xFF + 023A 78 635 .db #0x78 + 023B FF 636 .db #0xFF + 023C B8 637 .db #0xB8 + 023D FF 638 .db #0xFF + 023E 78 639 .db #0x78 + 023F FF 640 .db #0xFF + 0240 38 641 .db #0x38 + 0241 FF 642 .db #0xFF + 0242 78 643 .db #0x78 + 0243 FF 644 .db #0xFF + 0244 28 645 .db #0x28 + 0245 FF 646 .db #0xFF + 0246 00 647 .db #0x00 + 0247 FF 648 .db #0xFF + 0248 00 649 .db #0x00 + 0249 FF 650 .db #0xFF + 024A 00 651 .db #0x00 + 024B FF 652 .db #0xFF + 024C 00 653 .db #0x00 + 024D FF 654 .db #0xFF + 024E 00 655 .db #0x00 + 024F FF 656 .db #0xFF + 0250 00 657 .db #0x00 + 0251 FF 658 .db #0xFF + 0252 06 659 .db #0x06 + 0253 F9 660 .db #0xF9 + 0254 02 661 .db #0x02 + 0255 FD 662 .db #0xFD + 0256 FF 663 .db #0xFF + 0257 FF 664 .db #0xFF + 0258 FF 665 .db #0xFF + 0259 FF 666 .db #0xFF + 025A FF 667 .db #0xFF + 025B FF 668 .db #0xFF + 025C 00 669 .db #0x00 + 025D FF 670 .db #0xFF + 025E 00 671 .db #0x00 + 025F FF 672 .db #0xFF + 0260 00 673 .db #0x00 + 0261 FF 674 .db #0xFF + 0262 00 675 .db #0x00 + 0263 FF 676 .db #0xFF + 0264 00 677 .db #0x00 + 0265 FF 678 .db #0xFF + 0266 FD 679 .db #0xFD + 0267 FF 680 .db #0xFF + 0268 FF 681 .db #0xFF + 0269 FF 682 .db #0xFF + 026A 6F 683 .db #0x6F + 026B FF 684 .db #0xFF + 026C 00 685 .db #0x00 + 026D FF 686 .db #0xFF + 026E 00 687 .db #0x00 + 026F FF 688 .db #0xFF + 0270 00 689 .db #0x00 + 0271 FF 690 .db #0xFF + 0272 00 691 .db #0x00 + 0273 FF 692 .db #0xFF + 0274 00 693 .db #0x00 + 0275 FF 694 .db #0xFF + 0276 EC 695 .db #0xEC + 0277 FF 696 .db #0xFF + 0278 FE 697 .db #0xFE + 0279 FF 698 .db #0xFF + 027A CC 699 .db #0xCC + 027B FF 700 .db #0xFF + 027C 00 701 .db #0x00 + 027D FF 702 .db #0xFF + 027E 00 703 .db #0x00 + 027F FF 704 .db #0xFF + 0280 00 705 .db #0x00 + 0281 FF 706 .db #0xFF + 0282 00 707 .db #0x00 + 0283 FF 708 .db #0xFF + 0284 00 709 .db #0x00 + 0285 FF 710 .db #0xFF + 0286 1E 711 .db #0x1E + 0287 FF 712 .db #0xFF + 0288 1E 713 .db #0x1E + 0289 FF 714 .db #0xFF + 028A 1E 715 .db #0x1E + 028B FF 716 .db #0xFF + 028C 1E 717 .db #0x1E + 028D FF 718 .db #0xFF + 028E 1E 719 .db #0x1E + 028F FF 720 .db #0xFF + 0290 1E 721 .db #0x1E + 0291 FF 722 .db #0xFF + 0292 1F 723 .db #0x1F + 0293 FF 724 .db #0xFF + 0294 1E 725 .db #0x1E + 0295 FF 726 .db #0xFF + 0296 00 727 .db #0x00 + 0297 FF 728 .db #0xFF + 0298 00 729 .db #0x00 + 0299 FF 730 .db #0xFF + 029A 08 731 .db #0x08 + 029B FF 732 .db #0xFF + 029C 00 733 .db #0x00 + 029D FF 734 .db #0xFF + 029E 00 735 .db #0x00 + 029F FF 736 .db #0xFF + 02A0 00 737 .db #0x00 + 02A1 FF 738 .db #0xFF + 02A2 00 739 .db #0x00 + 02A3 FF 740 .db #0xFF + 02A4 00 741 .db #0x00 + 02A5 FF 742 .db #0xFF + 02A6 00 743 .db #0x00 + 02A7 FF 744 .db #0xFF + 02A8 00 745 .db #0x00 + 02A9 FF 746 .db #0xFF + 02AA 80 747 .db #0x80 + 02AB FF 748 .db #0xFF + 02AC 00 749 .db #0x00 + 02AD FF 750 .db #0xFF + 02AE 00 751 .db #0x00 + 02AF FF 752 .db #0xFF + 02B0 00 753 .db #0x00 + 02B1 FF 754 .db #0xFF + 02B2 00 755 .db #0x00 + 02B3 FF 756 .db #0xFF + 02B4 00 757 .db #0x00 + 02B5 FF 758 .db #0xFF + 02B6 01 759 .db #0x01 + 02B7 FF 760 .db #0xFF + 02B8 00 761 .db #0x00 + 02B9 FF 762 .db #0xFF + 02BA 00 763 .db #0x00 + 02BB FF 764 .db #0xFF + 02BC 00 765 .db #0x00 + 02BD FF 766 .db #0xFF + 02BE 00 767 .db #0x00 + 02BF FF 768 .db #0xFF + 02C0 01 769 .db #0x01 + 02C1 FF 770 .db #0xFF + 02C2 00 771 .db #0x00 + 02C3 FF 772 .db #0xFF + 02C4 00 773 .db #0x00 + 02C5 FF 774 .db #0xFF + 02C6 00 775 .db #0x00 + 02C7 FF 776 .db #0xFF + 02C8 84 777 .db #0x84 + 02C9 FF 778 .db #0xFF + 02CA 00 779 .db #0x00 + 02CB FF 780 .db #0xFF + 02CC 00 781 .db #0x00 + 02CD FF 782 .db #0xFF + 02CE 20 783 .db #0x20 + 02CF FF 784 .db #0xFF + 02D0 00 785 .db #0x00 + 02D1 FF 786 .db #0xFF + 02D2 00 787 .db #0x00 + 02D3 FF 788 .db #0xFF + 02D4 80 789 .db #0x80 + 02D5 FF 790 .db #0xFF + 02D6 00 791 .db #0x00 + 02D7 FF 792 .db #0xFF + 02D8 3B 793 .db #0x3B + 02D9 C4 794 .db #0xC4 + 02DA 3C 795 .db #0x3C + 02DB C3 796 .db #0xC3 + 02DC 3F 797 .db #0x3F + 02DD C0 798 .db #0xC0 + 02DE 70 799 .db #0x70 + 02DF 8F 800 .db #0x8F + 02E0 7C 801 .db #0x7C + 02E1 83 802 .db #0x83 + 02E2 7D 803 .db #0x7D + 02E3 82 804 .db #0x82 + 02E4 FF 805 .db #0xFF + 02E5 00 806 .db #0x00 + 02E6 10 807 .db #0x10 + 02E7 EF 808 .db #0xEF + 02E8 9F 809 .db #0x9F + 02E9 60 810 .db #0x60 + 02EA 51 811 .db #0x51 + 02EB AE 812 .db #0xAE + 02EC 29 813 .db #0x29 + 02ED D6 814 .db #0xD6 + 02EE 60 815 .db #0x60 + 02EF 9F 816 .db #0x9F + 02F0 70 817 .db #0x70 + 02F1 8F 818 .db #0x8F + 02F2 FF 819 .db #0xFF + 02F3 00 820 .db #0x00 + 02F4 F7 821 .db #0xF7 + 02F5 08 822 .db #0x08 + 02F6 0C 823 .db #0x0C + 02F7 F7 824 .db #0xF7 + 02F8 0B 825 .db #0x0B + 02F9 F6 826 .db #0xF6 + 02FA 06 827 .db #0x06 + 02FB FD 828 .db #0xFD + 02FC A2 829 .db #0xA2 + 02FD DD 830 .db #0xDD + 02FE 0C 831 .db #0x0C + 02FF FB 832 .db #0xFB + 0300 8D 833 .db #0x8D + 0301 7B 834 .db #0x7B + 0302 42 835 .db #0x42 + 0303 FF 836 .db #0xFF + 0304 15 837 .db #0x15 + 0305 EB 838 .db #0xEB + 0306 55 839 .db #0x55 + 0307 EA 840 .db #0xEA + 0308 78 841 .db #0x78 + 0309 FF 842 .db #0xFF + 030A 96 843 .db #0x96 + 030B ED 844 .db #0xED + 030C F4 845 .db #0xF4 + 030D 6F 846 .db #0x6F + 030E 1B 847 .db #0x1B + 030F FE 848 .db #0xFE + 0310 CB 849 .db #0xCB + 0311 7F 850 .db #0x7F + 0312 B5 851 .db #0xB5 + 0313 FF 852 .db #0xFF + 0314 BD 853 .db #0xBD + 0315 6F 854 .db #0x6F + 0316 15 855 .db #0x15 + 0317 EA 856 .db #0xEA + 0318 B6 857 .db #0xB6 + 0319 5B 858 .db #0x5B + 031A AA 859 .db #0xAA + 031B 55 860 .db #0x55 + 031C A7 861 .db #0xA7 + 031D 5A 862 .db #0x5A + 031E 1C 863 .db #0x1C + 031F EB 864 .db #0xEB + 0320 A6 865 .db #0xA6 + 0321 5B 866 .db #0x5B + 0322 5A 867 .db #0x5A + 0323 AD 868 .db #0xAD + 0324 8A 869 .db #0x8A + 0325 75 870 .db #0x75 + 0326 C5 871 .db #0xC5 + 0327 3A 872 .db #0x3A + 0328 25 873 .db #0x25 + 0329 DA 874 .db #0xDA + 032A F5 875 .db #0xF5 + 032B AA 876 .db #0xAA + 032C 49 877 .db #0x49 + 032D F6 878 .db #0xF6 + 032E B5 879 .db #0xB5 + 032F EA 880 .db #0xEA + 0330 F5 881 .db #0xF5 + 0331 7E 882 .db #0x7E + 0332 BD 883 .db #0xBD + 0333 FA 884 .db #0xFA + 0334 BD 885 .db #0xBD + 0335 5E 886 .db #0x5E + 0336 78 887 .db #0x78 + 0337 FF 888 .db #0xFF + 0338 58 889 .db #0x58 + 0339 FF 890 .db #0xFF + 033A 70 891 .db #0x70 + 033B FF 892 .db #0xFF + 033C 58 893 .db #0x58 + 033D FF 894 .db #0xFF + 033E 78 895 .db #0x78 + 033F FF 896 .db #0xFF + 0340 59 897 .db #0x59 + 0341 FE 898 .db #0xFE + 0342 FB 899 .db #0xFB + 0343 FC 900 .db #0xFC + 0344 5B 901 .db #0x5B + 0345 FC 902 .db #0xFC + 0346 03 903 .db #0x03 + 0347 FC 904 .db #0xFC + 0348 03 905 .db #0x03 + 0349 FC 906 .db #0xFC + 034A 03 907 .db #0x03 + 034B FC 908 .db #0xFC + 034C 03 909 .db #0x03 + 034D FC 910 .db #0xFC + 034E 03 911 .db #0x03 + 034F FC 912 .db #0xFC + 0350 FF 913 .db #0xFF + 0351 00 914 .db #0x00 + 0352 FF 915 .db #0xFF + 0353 00 916 .db #0x00 + 0354 FF 917 .db #0xFF + 0355 00 918 .db #0x00 + 0356 00 919 .db #0x00 + 0357 FF 920 .db #0xFF + 0358 00 921 .db #0x00 + 0359 FF 922 .db #0xFF + 035A 00 923 .db #0x00 + 035B FF 924 .db #0xFF + 035C 00 925 .db #0x00 + 035D FF 926 .db #0xFF + 035E 40 927 .db #0x40 + 035F BF 928 .db #0xBF + 0360 F0 929 .db #0xF0 + 0361 0F 930 .db #0x0F + 0362 F0 931 .db #0xF0 + 0363 0F 932 .db #0x0F + 0364 F0 933 .db #0xF0 + 0365 0F 934 .db #0x0F + 0366 00 935 .db #0x00 + 0367 FF 936 .db #0xFF + 0368 00 937 .db #0x00 + 0369 FF 938 .db #0xFF + 036A 1F 939 .db #0x1F + 036B FF 940 .db #0xFF + 036C 07 941 .db #0x07 + 036D FF 942 .db #0xFF + 036E 30 943 .db #0x30 + 036F FF 944 .db #0xFF + 0370 2B 945 .db #0x2B + 0371 FC 946 .db #0xFC + 0372 1A 947 .db #0x1A + 0373 F5 948 .db #0xF5 + 0374 15 949 .db #0x15 + 0375 FA 950 .db #0xFA + 0376 1F 951 .db #0x1F + 0377 FF 952 .db #0xFF + 0378 1E 953 .db #0x1E + 0379 FF 954 .db #0xFF + 037A FF 955 .db #0xFF + 037B FF 956 .db #0xFF + 037C FF 957 .db #0xFF + 037D FF 958 .db #0xFF + 037E 02 959 .db #0x02 + 037F FF 960 .db #0xFF + 0380 F5 961 .db #0xF5 + 0381 0A 962 .db #0x0A + 0382 11 963 .db #0x11 + 0383 EE 964 .db #0xEE + 0384 AD 965 .db #0xAD + 0385 52 966 .db #0x52 + 0386 00 967 .db #0x00 + 0387 FF 968 .db #0xFF + 0388 08 969 .db #0x08 + 0389 FF 970 .db #0xFF + 038A FF 971 .db #0xFF + 038B FF 972 .db #0xFF + 038C FF 973 .db #0xFF + 038D FF 974 .db #0xFF + 038E 2B 975 .db #0x2B + 038F FF 976 .db #0xFF + 0390 A9 977 .db #0xA9 + 0391 57 978 .db #0x57 + 0392 13 979 .db #0x13 + 0393 EF 980 .db #0xEF + 0394 45 981 .db #0x45 + 0395 BB 982 .db #0xBB + 0396 00 983 .db #0x00 + 0397 FF 984 .db #0xFF + 0398 00 985 .db #0x00 + 0399 FF 986 .db #0xFF + 039A 80 987 .db #0x80 + 039B FF 988 .db #0xFF + 039C 00 989 .db #0x00 + 039D FF 990 .db #0xFF + 039E 00 991 .db #0x00 + 039F FF 992 .db #0xFF + 03A0 00 993 .db #0x00 + 03A1 FF 994 .db #0xFF + 03A2 00 995 .db #0x00 + 03A3 FF 996 .db #0xFF + 03A4 80 997 .db #0x80 + 03A5 7F 998 .db #0x7F + 03A6 04 999 .db #0x04 + 03A7 FF 1000 .db #0xFF + 03A8 00 1001 .db #0x00 + 03A9 FF 1002 .db #0xFF + 03AA 00 1003 .db #0x00 + 03AB FF 1004 .db #0xFF + 03AC 00 1005 .db #0x00 + 03AD FF 1006 .db #0xFF + 03AE 00 1007 .db #0x00 + 03AF FF 1008 .db #0xFF + 03B0 00 1009 .db #0x00 + 03B1 FF 1010 .db #0xFF + 03B2 00 1011 .db #0x00 + 03B3 FF 1012 .db #0xFF + 03B4 00 1013 .db #0x00 + 03B5 FF 1014 .db #0xFF + 03B6 22 1015 .db #0x22 + 03B7 DD 1016 .db #0xDD + 03B8 80 1017 .db #0x80 + 03B9 FF 1018 .db #0xFF + 03BA 01 1019 .db #0x01 + 03BB FE 1020 .db #0xFE + 03BC 80 1021 .db #0x80 + 03BD FF 1022 .db #0xFF + 03BE 10 1023 .db #0x10 + 03BF FF 1024 .db #0xFF + 03C0 09 1025 .db #0x09 + 03C1 FE 1026 .db #0xFE + 03C2 00 1027 .db #0x00 + 03C3 FF 1028 .db #0xFF + 03C4 00 1029 .db #0x00 + 03C5 FF 1030 .db #0xFF + 03C6 FE 1031 .db #0xFE + 03C7 01 1032 .db #0x01 + 03C8 FE 1033 .db #0xFE + 03C9 01 1034 .db #0x01 + 03CA FD 1035 .db #0xFD + 03CB 02 1036 .db #0x02 + 03CC FF 1037 .db #0xFF + 03CD 00 1038 .db #0x00 + 03CE FD 1039 .db #0xFD + 03CF 02 1040 .db #0x02 + 03D0 FE 1041 .db #0xFE + 03D1 01 1042 .db #0x01 + 03D2 FD 1043 .db #0xFD + 03D3 02 1044 .db #0x02 + 03D4 FF 1045 .db #0xFF + 03D5 00 1046 .db #0x00 + 03D6 D7 1047 .db #0xD7 + 03D7 28 1048 .db #0x28 + 03D8 03 1049 .db #0x03 + 03D9 FC 1050 .db #0xFC + 03DA DA 1051 .db #0xDA + 03DB 25 1052 .db #0x25 + 03DC E9 1053 .db #0xE9 + 03DD 16 1054 .db #0x16 + 03DE 04 1055 .db #0x04 + 03DF FB 1056 .db #0xFB + 03E0 06 1057 .db #0x06 + 03E1 F9 1058 .db #0xF9 + 03E2 00 1059 .db #0x00 + 03E3 FF 1060 .db #0xFF + 03E4 1E 1061 .db #0x1E + 03E5 FF 1062 .db #0xFF + 03E6 1A 1063 .db #0x1A + 03E7 F7 1064 .db #0xF7 + 03E8 9A 1065 .db #0x9A + 03E9 77 1066 .db #0x77 + 03EA 17 1067 .db #0x17 + 03EB ED 1068 .db #0xED + 03EC 15 1069 .db #0x15 + 03ED EA 1070 .db #0xEA + 03EE 14 1071 .db #0x14 + 03EF FF 1072 .db #0xFF + 03F0 87 1073 .db #0x87 + 03F1 FD 1074 .db #0xFD + 03F2 04 1075 .db #0x04 + 03F3 FB 1076 .db #0xFB + 03F4 05 1077 .db #0x05 + 03F5 FA 1078 .db #0xFA + 03F6 F5 1079 .db #0xF5 + 03F7 FF 1080 .db #0xFF + 03F8 AA 1081 .db #0xAA + 03F9 FF 1082 .db #0xFF + 03FA B5 1083 .db #0xB5 + 03FB 5F 1084 .db #0x5F + 03FC AD 1085 .db #0xAD + 03FD D7 1086 .db #0xD7 + 03FE 92 1087 .db #0x92 + 03FF 7F 1088 .db #0x7F + 0400 5D 1089 .db #0x5D + 0401 AB 1090 .db #0xAB + 0402 B2 1091 .db #0xB2 + 0403 5D 1092 .db #0x5D + 0404 1A 1093 .db #0x1A + 0405 ED 1094 .db #0xED + 0406 5B 1095 .db #0x5B + 0407 AD 1096 .db #0xAD + 0408 49 1097 .db #0x49 + 0409 B6 1098 .db #0xB6 + 040A 92 1099 .db #0x92 + 040B 6D 1100 .db #0x6D + 040C 4B 1101 .db #0x4B + 040D B4 1102 .db #0xB4 + 040E B2 1103 .db #0xB2 + 040F 6D 1104 .db #0x6D + 0410 5D 1105 .db #0x5D + 0411 A6 1106 .db #0xA6 + 0412 A2 1107 .db #0xA2 + 0413 5F 1108 .db #0x5F + 0414 56 1109 .db #0x56 + 0415 AB 1110 .db #0xAB + 0416 55 1111 .db #0x55 + 0417 FE 1112 .db #0xFE + 0418 5D 1113 .db #0x5D + 0419 AE 1114 .db #0xAE + 041A EB 1115 .db #0xEB + 041B BE 1116 .db #0xBE + 041C 7D 1117 .db #0x7D + 041D AE 1118 .db #0xAE + 041E 17 1119 .db #0x17 + 041F FC 1120 .db #0xFC + 0420 FD 1121 .db #0xFD + 0421 AE 1122 .db #0xAE + 0422 95 1123 .db #0x95 + 0423 FE 1124 .db #0xFE + 0424 DD 1125 .db #0xDD + 0425 FE 1126 .db #0xFE + 0426 73 1127 .db #0x73 + 0427 FC 1128 .db #0xFC + 0428 5B 1129 .db #0x5B + 0429 FC 1130 .db #0xFC + 042A F3 1131 .db #0xF3 + 042B 7C 1132 .db #0x7C + 042C BB 1133 .db #0xBB + 042D FC 1134 .db #0xFC + 042E DB 1135 .db #0xDB + 042F 7C 1136 .db #0x7C + 0430 5B 1137 .db #0x5B + 0431 FC 1138 .db #0xFC + 0432 DB 1139 .db #0xDB + 0433 7C 1140 .db #0x7C + 0434 5B 1141 .db #0x5B + 0435 FC 1142 .db #0xFC + 0436 F0 1143 .db #0xF0 + 0437 0F 1144 .db #0x0F + 0438 F0 1145 .db #0xF0 + 0439 0F 1146 .db #0x0F + 043A F0 1147 .db #0xF0 + 043B 0F 1148 .db #0x0F + 043C F0 1149 .db #0xF0 + 043D 0F 1150 .db #0x0F + 043E F0 1151 .db #0xF0 + 043F 0F 1152 .db #0x0F + 0440 F0 1153 .db #0xF0 + 0441 0F 1154 .db #0x0F + 0442 F0 1155 .db #0xF0 + 0443 0F 1156 .db #0x0F + 0444 F0 1157 .db #0xF0 + 0445 0F 1158 .db #0x0F + 0446 00 1159 .db #0x00 + 0447 FF 1160 .db #0xFF + 0448 D0 1161 .db #0xD0 + 0449 FF 1162 .db #0xFF + 044A FF 1163 .db #0xFF + 044B FF 1164 .db #0xFF + 044C FF 1165 .db #0xFF + 044D FF 1166 .db #0xFF + 044E EA 1167 .db #0xEA + 044F FF 1168 .db #0xFF + 0450 80 1169 .db #0x80 + 0451 FF 1170 .db #0xFF + 0452 3F 1171 .db #0x3F + 0453 C0 1172 .db #0xC0 + 0454 BF 1173 .db #0xBF + 0455 C0 1174 .db #0xC0 + 0456 00 1175 .db #0x00 + 0457 FF 1176 .db #0xFF + 0458 02 1177 .db #0x02 + 0459 FF 1178 .db #0xFF + 045A FF 1179 .db #0xFF + 045B FF 1180 .db #0xFF + 045C FF 1181 .db #0xFF + 045D FF 1182 .db #0xFF + 045E 95 1183 .db #0x95 + 045F FF 1184 .db #0xFF + 0460 00 1185 .db #0x00 + 0461 FF 1186 .db #0xFF + 0462 FF 1187 .db #0xFF + 0463 00 1188 .db #0x00 + 0464 FF 1189 .db #0xFF + 0465 00 1190 .db #0x00 + 0466 00 1191 .db #0x00 + 0467 FF 1192 .db #0xFF + 0468 00 1193 .db #0x00 + 0469 FF 1194 .db #0xFF + 046A F0 1195 .db #0xF0 + 046B FF 1196 .db #0xFF + 046C F8 1197 .db #0xF8 + 046D FF 1198 .db #0xFF + 046E 30 1199 .db #0x30 + 046F FF 1200 .db #0xFF + 0470 10 1201 .db #0x10 + 0471 FF 1202 .db #0xFF + 0472 98 1203 .db #0x98 + 0473 7F 1204 .db #0x7F + 0474 B0 1205 .db #0xB0 + 0475 5F 1206 .db #0x5F + 0476 1A 1207 .db #0x1A + 0477 F5 1208 .db #0xF5 + 0478 13 1209 .db #0x13 + 0479 FC 1210 .db #0xFC + 047A 2A 1211 .db #0x2A + 047B F5 1212 .db #0xF5 + 047C 1A 1213 .db #0x1A + 047D F5 1214 .db #0xF5 + 047E 0E 1215 .db #0x0E + 047F F9 1216 .db #0xF9 + 0480 12 1217 .db #0x12 + 0481 FD 1218 .db #0xFD + 0482 26 1219 .db #0x26 + 0483 F9 1220 .db #0xF9 + 0484 3A 1221 .db #0x3A + 0485 FD 1222 .db #0xFD + 0486 A2 1223 .db #0xA2 + 0487 5D 1224 .db #0x5D + 0488 48 1225 .db #0x48 + 0489 B7 1226 .db #0xB7 + 048A B5 1227 .db #0xB5 + 048B 4E 1228 .db #0x4E + 048C A9 1229 .db #0xA9 + 048D 56 1230 .db #0x56 + 048E 94 1231 .db #0x94 + 048F 6B 1232 .db #0x6B + 0490 AB 1233 .db #0xAB + 0491 55 1234 .db #0x55 + 0492 8A 1235 .db #0x8A + 0493 7F 1236 .db #0x7F + 0494 AB 1237 .db #0xAB + 0495 57 1238 .db #0x57 + 0496 21 1239 .db #0x21 + 0497 DF 1240 .db #0xDF + 0498 A9 1241 .db #0xA9 + 0499 57 1242 .db #0x57 + 049A 0B 1243 .db #0x0B + 049B F5 1244 .db #0xF5 + 049C 40 1245 .db #0x40 + 049D BF 1246 .db #0xBF + 049E 56 1247 .db #0x56 + 049F EB 1248 .db #0xEB + 04A0 11 1249 .db #0x11 + 04A1 FF 1250 .db #0xFF + 04A2 CB 1251 .db #0xCB + 04A3 75 1252 .db #0x75 + 04A4 50 1253 .db #0x50 + 04A5 FF 1254 .db #0xFF + 04A6 00 1255 .db #0x00 + 04A7 FF 1256 .db #0xFF + 04A8 80 1257 .db #0x80 + 04A9 FF 1258 .db #0xFF + 04AA 80 1259 .db #0x80 + 04AB 7F 1260 .db #0x7F + 04AC 80 1261 .db #0x80 + 04AD FF 1262 .db #0xFF + 04AE 00 1263 .db #0x00 + 04AF FF 1264 .db #0xFF + 04B0 80 1265 .db #0x80 + 04B1 FF 1266 .db #0xFF + 04B2 00 1267 .db #0x00 + 04B3 FF 1268 .db #0xFF + 04B4 80 1269 .db #0x80 + 04B5 FF 1270 .db #0xFF + 04B6 00 1271 .db #0x00 + 04B7 FF 1272 .db #0xFF + 04B8 00 1273 .db #0x00 + 04B9 FF 1274 .db #0xFF + 04BA 00 1275 .db #0x00 + 04BB FF 1276 .db #0xFF + 04BC 00 1277 .db #0x00 + 04BD FF 1278 .db #0xFF + 04BE 00 1279 .db #0x00 + 04BF FF 1280 .db #0xFF + 04C0 00 1281 .db #0x00 + 04C1 FF 1282 .db #0xFF + 04C2 1F 1283 .db #0x1F + 04C3 FF 1284 .db #0xFF + 04C4 3B 1285 .db #0x3B + 04C5 C7 1286 .db #0xC7 + 04C6 80 1287 .db #0x80 + 04C7 FF 1288 .db #0xFF + 04C8 01 1289 .db #0x01 + 04C9 FE 1290 .db #0xFE + 04CA 03 1291 .db #0x03 + 04CB FC 1292 .db #0xFC + 04CC 87 1293 .db #0x87 + 04CD F8 1294 .db #0xF8 + 04CE BF 1295 .db #0xBF + 04CF C0 1296 .db #0xC0 + 04D0 BF 1297 .db #0xBF + 04D1 C0 1298 .db #0xC0 + 04D2 BF 1299 .db #0xBF + 04D3 C0 1300 .db #0xC0 + 04D4 DF 1301 .db #0xDF + 04D5 E0 1302 .db #0xE0 + 04D6 BF 1303 .db #0xBF + 04D7 7F 1304 .db #0x7F + 04D8 BF 1305 .db #0xBF + 04D9 7F 1306 .db #0x7F + 04DA BF 1307 .db #0xBF + 04DB 7F 1308 .db #0x7F + 04DC 3F 1309 .db #0x3F + 04DD FF 1310 .db #0xFF + 04DE 6D 1311 .db #0x6D + 04DF 97 1312 .db #0x97 + 04E0 6F 1313 .db #0x6F + 04E1 97 1314 .db #0x97 + 04E2 DE 1315 .db #0xDE + 04E3 27 1316 .db #0x27 + 04E4 F7 1317 .db #0xF7 + 04E5 08 1318 .db #0x08 + 04E6 35 1319 .db #0x35 + 04E7 EA 1320 .db #0xEA + 04E8 05 1321 .db #0x05 + 04E9 FA 1322 .db #0xFA + 04EA 39 1323 .db #0x39 + 04EB EF 1324 .db #0xEF + 04EC 8C 1325 .db #0x8C + 04ED 7B 1326 .db #0x7B + 04EE 6A 1327 .db #0x6A + 04EF D5 1328 .db #0xD5 + 04F0 17 1329 .db #0x17 + 04F1 ED 1330 .db #0xED + 04F2 A8 1331 .db #0xA8 + 04F3 57 1332 .db #0x57 + 04F4 CF 1333 .db #0xCF + 04F5 35 1334 .db #0x35 + 04F6 4A 1335 .db #0x4A + 04F7 B5 1336 .db #0xB5 + 04F8 3B 1337 .db #0x3B + 04F9 D5 1338 .db #0xD5 + 04FA 92 1339 .db #0x92 + 04FB 6D 1340 .db #0x6D + 04FC AA 1341 .db #0xAA + 04FD 55 1342 .db #0x55 + 04FE 6A 1343 .db #0x6A + 04FF B5 1344 .db #0xB5 + 0500 52 1345 .db #0x52 + 0501 BD 1346 .db #0xBD + 0502 2B 1347 .db #0x2B + 0503 D5 1348 .db #0xD5 + 0504 42 1349 .db #0x42 + 0505 FD 1350 .db #0xFD + 0506 95 1351 .db #0x95 + 0507 6F 1352 .db #0x6F + 0508 56 1353 .db #0x56 + 0509 AB 1354 .db #0xAB + 050A AB 1355 .db #0xAB + 050B 5F 1356 .db #0x5F + 050C 9D 1357 .db #0x9D + 050D 6B 1358 .db #0x6B + 050E A7 1359 .db #0xA7 + 050F 5B 1360 .db #0x5B + 0510 35 1361 .db #0x35 + 0511 EF 1362 .db #0xEF + 0512 DF 1363 .db #0xDF + 0513 6B 1364 .db #0x6B + 0514 8D 1365 .db #0x8D + 0515 7B 1366 .db #0x7B + 0516 B5 1367 .db #0xB5 + 0517 FE 1368 .db #0xFE + 0518 DF 1369 .db #0xDF + 0519 FE 1370 .db #0xFE + 051A 75 1371 .db #0x75 + 051B FE 1372 .db #0xFE + 051C BF 1373 .db #0xBF + 051D FE 1374 .db #0xFE + 051E F5 1375 .db #0xF5 + 051F FE 1376 .db #0xFE + 0520 7D 1377 .db #0x7D + 0521 BE 1378 .db #0xBE + 0522 6D 1379 .db #0x6D + 0523 FA 1380 .db #0xFA + 0524 7B 1381 .db #0x7B + 0525 DC 1382 .db #0xDC + 0526 7B 1383 .db #0x7B + 0527 FC 1384 .db #0xFC + 0528 9B 1385 .db #0x9B + 0529 FC 1386 .db #0xFC + 052A 7B 1387 .db #0x7B + 052B FC 1388 .db #0xFC + 052C 5B 1389 .db #0x5B + 052D FC 1390 .db #0xFC + 052E 7B 1391 .db #0x7B + 052F FC 1392 .db #0xFC + 0530 5B 1393 .db #0x5B + 0531 FC 1394 .db #0xFC + 0532 7B 1395 .db #0x7B + 0533 FC 1396 .db #0xFC + 0534 5B 1397 .db #0x5B + 0535 FC 1398 .db #0xFC + 0536 E0 1399 .db #0xE0 + 0537 1F 1400 .db #0x1F + 0538 E0 1401 .db #0xE0 + 0539 1F 1402 .db #0x1F + 053A F0 1403 .db #0xF0 + 053B 0F 1404 .db #0x0F + 053C F0 1405 .db #0xF0 + 053D 0F 1406 .db #0x0F + 053E F0 1407 .db #0xF0 + 053F 0F 1408 .db #0x0F + 0540 F0 1409 .db #0xF0 + 0541 0F 1410 .db #0x0F + 0542 F0 1411 .db #0xF0 + 0543 0F 1412 .db #0x0F + 0544 F0 1413 .db #0xF0 + 0545 0F 1414 .db #0x0F + 0546 BF 1415 .db #0xBF + 0547 C0 1416 .db #0xC0 + 0548 BF 1417 .db #0xBF + 0549 C0 1418 .db #0xC0 + 054A BE 1419 .db #0xBE + 054B C1 1420 .db #0xC1 + 054C 8F 1421 .db #0x8F + 054D F0 1422 .db #0xF0 + 054E B5 1423 .db #0xB5 + 054F CA 1424 .db #0xCA + 0550 AA 1425 .db #0xAA + 0551 D5 1426 .db #0xD5 + 0552 AA 1427 .db #0xAA + 0553 D5 1428 .db #0xD5 + 0554 AA 1429 .db #0xAA + 0555 D7 1430 .db #0xD7 + 0556 7F 1431 .db #0x7F + 0557 80 1432 .db #0x80 + 0558 BF 1433 .db #0xBF + 0559 C0 1434 .db #0xC0 + 055A 9F 1435 .db #0x9F + 055B E0 1436 .db #0xE0 + 055C EF 1437 .db #0xEF + 055D B0 1438 .db #0xB0 + 055E 37 1439 .db #0x37 + 055F D8 1440 .db #0xD8 + 0560 27 1441 .db #0x27 + 0561 D8 1442 .db #0xD8 + 0562 AF 1443 .db #0xAF + 0563 50 1444 .db #0x50 + 0564 AF 1445 .db #0xAF + 0565 D0 1446 .db #0xD0 + 0566 A8 1447 .db #0xA8 + 0567 5F 1448 .db #0x5F + 0568 88 1449 .db #0x88 + 0569 7F 1450 .db #0x7F + 056A D0 1451 .db #0xD0 + 056B 3F 1452 .db #0x3F + 056C A8 1453 .db #0xA8 + 056D 5F 1454 .db #0x5F + 056E B8 1455 .db #0xB8 + 056F 5F 1456 .db #0x5F + 0570 C8 1457 .db #0xC8 + 0571 3F 1458 .db #0x3F + 0572 B8 1459 .db #0xB8 + 0573 5F 1460 .db #0x5F + 0574 88 1461 .db #0x88 + 0575 7F 1462 .db #0x7F + 0576 0A 1463 .db #0x0A + 0577 F5 1464 .db #0xF5 + 0578 2B 1465 .db #0x2B + 0579 FC 1466 .db #0xFC + 057A 12 1467 .db #0x12 + 057B FD 1468 .db #0xFD + 057C 1B 1469 .db #0x1B + 057D FC 1470 .db #0xFC + 057E 12 1471 .db #0x12 + 057F FD 1472 .db #0xFD + 0580 2B 1473 .db #0x2B + 0581 FC 1474 .db #0xFC + 0582 12 1475 .db #0x12 + 0583 FD 1476 .db #0xFD + 0584 2B 1477 .db #0x2B + 0585 FC 1478 .db #0xFC + 0586 45 1479 .db #0x45 + 0587 FF 1480 .db #0xFF + 0588 26 1481 .db #0x26 + 0589 FD 1482 .db #0xFD + 058A A9 1483 .db #0xA9 + 058B DE 1484 .db #0xDE + 058C A5 1485 .db #0xA5 + 058D DF 1486 .db #0xDF + 058E 4D 1487 .db #0x4D + 058F BE 1488 .db #0xBE + 0590 54 1489 .db #0x54 + 0591 EF 1490 .db #0xEF + 0592 55 1491 .db #0x55 + 0593 FF 1492 .db #0xFF + 0594 4E 1493 .db #0x4E + 0595 BB 1494 .db #0xBB + 0596 2B 1495 .db #0x2B + 0597 F5 1496 .db #0xF5 + 0598 B2 1497 .db #0xB2 + 0599 FD 1498 .db #0xFD + 059A A9 1499 .db #0xA9 + 059B F7 1500 .db #0xF7 + 059C 7B 1501 .db #0x7B + 059D F5 1502 .db #0xF5 + 059E 81 1503 .db #0x81 + 059F FF 1504 .db #0xFF + 05A0 FA 1505 .db #0xFA + 05A1 75 1506 .db #0x75 + 05A2 51 1507 .db #0x51 + 05A3 FF 1508 .db #0xFF + 05A4 BA 1509 .db #0xBA + 05A5 F5 1510 .db #0xF5 + 05A6 00 1511 .db #0x00 + 05A7 FF 1512 .db #0xFF + 05A8 80 1513 .db #0x80 + 05A9 FF 1514 .db #0xFF + 05AA 01 1515 .db #0x01 + 05AB FE 1516 .db #0xFE + 05AC 81 1517 .db #0x81 + 05AD FE 1518 .db #0xFE + 05AE 03 1519 .db #0x03 + 05AF FC 1520 .db #0xFC + 05B0 83 1521 .db #0x83 + 05B1 FC 1522 .db #0xFC + 05B2 83 1523 .db #0x83 + 05B3 FC 1524 .db #0xFC + 05B4 83 1525 .db #0x83 + 05B5 FC 1526 .db #0xFC + 05B6 FF 1527 .db #0xFF + 05B7 03 1528 .db #0x03 + 05B8 FD 1529 .db #0xFD + 05B9 03 1530 .db #0x03 + 05BA 7E 1531 .db #0x7E + 05BB 81 1532 .db #0x81 + 05BC 5E 1533 .db #0x5E + 05BD A1 1534 .db #0xA1 + 05BE FF 1535 .db #0xFF + 05BF 00 1536 .db #0x00 + 05C0 BC 1537 .db #0xBC + 05C1 43 1538 .db #0x43 + 05C2 79 1539 .db #0x79 + 05C3 86 1540 .db #0x86 + 05C4 FD 1541 .db #0xFD + 05C5 02 1542 .db #0x02 + 05C6 EF 1543 .db #0xEF + 05C7 F0 1544 .db #0xF0 + 05C8 F7 1545 .db #0xF7 + 05C9 F8 1546 .db #0xF8 + 05CA FF 1547 .db #0xFF + 05CB F8 1548 .db #0xF8 + 05CC FB 1549 .db #0xFB + 05CD FC 1550 .db #0xFC + 05CE F9 1551 .db #0xF9 + 05CF 7E 1552 .db #0x7E + 05D0 3D 1553 .db #0x3D + 05D1 FE 1554 .db #0xFE + 05D2 7F 1555 .db #0x7F + 05D3 BE 1556 .db #0xBE + 05D4 3E 1557 .db #0x3E + 05D5 FF 1558 .db #0xFF + 05D6 61 1559 .db #0x61 + 05D7 9F 1560 .db #0x9F + 05D8 15 1561 .db #0x15 + 05D9 FB 1562 .db #0xFB + 05DA F1 1563 .db #0xF1 + 05DB 1E 1564 .db #0x1E + 05DC FC 1565 .db #0xFC + 05DD 1F 1566 .db #0x1F + 05DE F5 1567 .db #0xF5 + 05DF 1A 1568 .db #0x1A + 05E0 ED 1569 .db #0xED + 05E1 1E 1570 .db #0x1E + 05E2 DA 1571 .db #0xDA + 05E3 3D 1572 .db #0x3D + 05E4 FC 1573 .db #0xFC + 05E5 1F 1574 .db #0x1F + 05E6 A8 1575 .db #0xA8 + 05E7 57 1576 .db #0x57 + 05E8 6D 1577 .db #0x6D + 05E9 DA 1578 .db #0xDA + 05EA 49 1579 .db #0x49 + 05EB BF 1580 .db #0xBF + 05EC D6 1581 .db #0xD6 + 05ED AD 1582 .db #0xAD + 05EE 34 1583 .db #0x34 + 05EF EF 1584 .db #0xEF + 05F0 57 1585 .db #0x57 + 05F1 AD 1586 .db #0xAD + 05F2 C8 1587 .db #0xC8 + 05F3 77 1588 .db #0x77 + 05F4 DE 1589 .db #0xDE + 05F5 75 1590 .db #0x75 + 05F6 5B 1591 .db #0x5B + 05F7 EF 1592 .db #0xEF + 05F8 57 1593 .db #0x57 + 05F9 ED 1594 .db #0xED + 05FA 1F 1595 .db #0x1F + 05FB FB 1596 .db #0xFB + 05FC A5 1597 .db #0xA5 + 05FD DF 1598 .db #0xDF + 05FE 1D 1599 .db #0x1D + 05FF FA 1600 .db #0xFA + 0600 D6 1601 .db #0xD6 + 0601 6D 1602 .db #0x6D + 0602 5A 1603 .db #0x5A + 0603 B5 1604 .db #0xB5 + 0604 DF 1605 .db #0xDF + 0605 AA 1606 .db #0xAA + 0606 69 1607 .db #0x69 + 0607 F6 1608 .db #0xF6 + 0608 75 1609 .db #0x75 + 0609 DA 1610 .db #0xDA + 060A 93 1611 .db #0x93 + 060B EC 1612 .db #0xEC + 060C DB 1613 .db #0xDB + 060D 74 1614 .db #0x74 + 060E 55 1615 .db #0x55 + 060F AA 1616 .db #0xAA + 0610 77 1617 .db #0x77 + 0611 A8 1618 .db #0xA8 + 0612 AB 1619 .db #0xAB + 0613 54 1620 .db #0x54 + 0614 6F 1621 .db #0x6F + 0615 B0 1622 .db #0xB0 + 0616 7B 1623 .db #0x7B + 0617 FC 1624 .db #0xFC + 0618 9B 1625 .db #0x9B + 0619 FC 1626 .db #0xFC + 061A 7B 1627 .db #0x7B + 061B FC 1628 .db #0xFC + 061C 58 1629 .db #0x58 + 061D FF 1630 .db #0xFF + 061E D8 1631 .db #0xD8 + 061F FF 1632 .db #0xFF + 0620 70 1633 .db #0x70 + 0621 FF 1634 .db #0xFF + 0622 B8 1635 .db #0xB8 + 0623 FF 1636 .db #0xFF + 0624 D8 1637 .db #0xD8 + 0625 FF 1638 .db #0xFF + 0626 FF 1639 .db #0xFF + 0627 00 1640 .db #0x00 + 0628 FF 1641 .db #0xFF + 0629 00 1642 .db #0x00 + 062A FF 1643 .db #0xFF + 062B 00 1644 .db #0x00 + 062C 00 1645 .db #0x00 + 062D FF 1646 .db #0xFF + 062E 00 1647 .db #0x00 + 062F FF 1648 .db #0xFF + 0630 00 1649 .db #0x00 + 0631 FF 1650 .db #0xFF + 0632 00 1651 .db #0x00 + 0633 FF 1652 .db #0xFF + 0634 00 1653 .db #0x00 + 0635 FF 1654 .db #0xFF + 0636 F0 1655 .db #0xF0 + 0637 0F 1656 .db #0x0F + 0638 F0 1657 .db #0xF0 + 0639 0F 1658 .db #0x0F + 063A C0 1659 .db #0xC0 + 063B 3F 1660 .db #0x3F + 063C 00 1661 .db #0x00 + 063D FF 1662 .db #0xFF + 063E 00 1663 .db #0x00 + 063F FF 1664 .db #0xFF + 0640 00 1665 .db #0x00 + 0641 FF 1666 .db #0xFF + 0642 00 1667 .db #0x00 + 0643 FF 1668 .db #0xFF + 0644 00 1669 .db #0x00 + 0645 FF 1670 .db #0xFF + 0646 97 1671 .db #0x97 + 0647 EC 1672 .db #0xEC + 0648 A2 1673 .db #0xA2 + 0649 DF 1674 .db #0xDF + 064A 94 1675 .db #0x94 + 064B EF 1676 .db #0xEF + 064C AB 1677 .db #0xAB + 064D D4 1678 .db #0xD4 + 064E 9A 1679 .db #0x9A + 064F EF 1680 .db #0xEF + 0650 AA 1681 .db #0xAA + 0651 D7 1682 .db #0xD7 + 0652 9A 1683 .db #0x9A + 0653 ED 1684 .db #0xED + 0654 D6 1685 .db #0xD6 + 0655 EF 1686 .db #0xEF + 0656 57 1687 .db #0x57 + 0657 A8 1688 .db #0xA8 + 0658 A7 1689 .db #0xA7 + 0659 58 1690 .db #0x58 + 065A 7B 1691 .db #0x7B + 065B AC 1692 .db #0xAC + 065C 23 1693 .db #0x23 + 065D FC 1694 .db #0xFC + 065E FB 1695 .db #0xFB + 065F 74 1696 .db #0x74 + 0660 51 1697 .db #0x51 + 0661 FE 1698 .db #0xFE + 0662 AB 1699 .db #0xAB + 0663 54 1700 .db #0x54 + 0664 89 1701 .db #0x89 + 0665 76 1702 .db #0x76 + 0666 C8 1703 .db #0xC8 + 0667 3F 1704 .db #0x3F + 0668 C8 1705 .db #0xC8 + 0669 3F 1706 .db #0x3F + 066A 98 1707 .db #0x98 + 066B 7F 1708 .db #0x7F + 066C C8 1709 .db #0xC8 + 066D 3F 1710 .db #0x3F + 066E A8 1711 .db #0xA8 + 066F 5F 1712 .db #0x5F + 0670 C8 1713 .db #0xC8 + 0671 3F 1714 .db #0x3F + 0672 98 1715 .db #0x98 + 0673 7F 1716 .db #0x7F + 0674 E8 1717 .db #0xE8 + 0675 1F 1718 .db #0x1F + 0676 12 1719 .db #0x12 + 0677 FD 1720 .db #0xFD + 0678 2B 1721 .db #0x2B + 0679 FC 1722 .db #0xFC + 067A 12 1723 .db #0x12 + 067B FD 1724 .db #0xFD + 067C 1B 1725 .db #0x1B + 067D FC 1726 .db #0xFC + 067E 15 1727 .db #0x15 + 067F FA 1728 .db #0xFA + 0680 39 1729 .db #0x39 + 0681 FE 1730 .db #0xFE + 0682 16 1731 .db #0x16 + 0683 F9 1732 .db #0xF9 + 0684 1B 1733 .db #0x1B + 0685 FC 1734 .db #0xFC + 0686 31 1735 .db #0x31 + 0687 EF 1736 .db #0xEF + 0688 D5 1737 .db #0xD5 + 0689 3A 1738 .db #0x3A + 068A A8 1739 .db #0xA8 + 068B 57 1740 .db #0x57 + 068C 4B 1741 .db #0x4B + 068D B4 1742 .db #0xB4 + 068E F4 1743 .db #0xF4 + 068F 0B 1744 .db #0x0B + 0690 55 1745 .db #0x55 + 0691 AA 1746 .db #0xAA + 0692 B5 1747 .db #0xB5 + 0693 4A 1748 .db #0x4A + 0694 DA 1749 .db #0xDA + 0695 25 1750 .db #0x25 + 0696 A1 1751 .db #0xA1 + 0697 FF 1752 .db #0xFF + 0698 BB 1753 .db #0xBB + 0699 F5 1754 .db #0xF5 + 069A A0 1755 .db #0xA0 + 069B FF 1756 .db #0xFF + 069C 4A 1757 .db #0x4A + 069D B5 1758 .db #0xB5 + 069E AB 1759 .db #0xAB + 069F 55 1760 .db #0x55 + 06A0 50 1761 .db #0x50 + 06A1 AF 1762 .db #0xAF + 06A2 53 1763 .db #0x53 + 06A3 AD 1764 .db #0xAD + 06A4 A8 1765 .db #0xA8 + 06A5 57 1766 .db #0x57 + 06A6 07 1767 .db #0x07 + 06A7 F8 1768 .db #0xF8 + 06A8 83 1769 .db #0x83 + 06A9 FC 1770 .db #0xFC + 06AA 86 1771 .db #0x86 + 06AB F9 1772 .db #0xF9 + 06AC 83 1773 .db #0x83 + 06AD FC 1774 .db #0xFC + 06AE 85 1775 .db #0x85 + 06AF FA 1776 .db #0xFA + 06B0 87 1777 .db #0x87 + 06B1 F8 1778 .db #0xF8 + 06B2 83 1779 .db #0x83 + 06B3 FC 1780 .db #0xFC + 06B4 85 1781 .db #0x85 + 06B5 FA 1782 .db #0xFA + 06B6 72 1783 .db #0x72 + 06B7 8D 1784 .db #0x8D + 06B8 F2 1785 .db #0xF2 + 06B9 0D 1786 .db #0x0D + 06BA F8 1787 .db #0xF8 + 06BB 07 1788 .db #0x07 + 06BC D4 1789 .db #0xD4 + 06BD 2B 1790 .db #0x2B + 06BE EF 1791 .db #0xEF + 06BF 19 1792 .db #0x19 + 06C0 F6 1793 .db #0xF6 + 06C1 09 1794 .db #0x09 + 06C2 FF 1795 .db #0xFF + 06C3 00 1796 .db #0x00 + 06C4 FD 1797 .db #0xFD + 06C5 02 1798 .db #0x02 + 06C6 3F 1799 .db #0x3F + 06C7 FF 1800 .db #0xFF + 06C8 BF 1801 .db #0xBF + 06C9 7F 1802 .db #0x7F + 06CA 9F 1803 .db #0x9F + 06CB 7F 1804 .db #0x7F + 06CC 3F 1805 .db #0x3F + 06CD FF 1806 .db #0xFF + 06CE DF 1807 .db #0xDF + 06CF 7F 1808 .db #0x7F + 06D0 DF 1809 .db #0xDF + 06D1 7F 1810 .db #0x7F + 06D2 8F 1811 .db #0x8F + 06D3 FF 1812 .db #0xFF + 06D4 AF 1813 .db #0xAF + 06D5 7F 1814 .db #0x7F + 06D6 7F 1815 .db #0x7F + 06D7 80 1816 .db #0x80 + 06D8 7F 1817 .db #0x7F + 06D9 80 1818 .db #0x80 + 06DA BF 1819 .db #0xBF + 06DB C0 1820 .db #0xC0 + 06DC BF 1821 .db #0xBF + 06DD C0 1822 .db #0xC0 + 06DE DF 1823 .db #0xDF + 06DF E0 1824 .db #0xE0 + 06E0 6F 1825 .db #0x6F + 06E1 F0 1826 .db #0xF0 + 06E2 E7 1827 .db #0xE7 + 06E3 F8 1828 .db #0xF8 + 06E4 7F 1829 .db #0x7F + 06E5 F8 1830 .db #0xF8 + 06E6 FF 1831 .db #0xFF + 06E7 00 1832 .db #0x00 + 06E8 FE 1833 .db #0xFE + 06E9 01 1834 .db #0x01 + 06EA FD 1835 .db #0xFD + 06EB 02 1836 .db #0x02 + 06EC FD 1837 .db #0xFD + 06ED 02 1838 .db #0x02 + 06EE FA 1839 .db #0xFA + 06EF 05 1840 .db #0x05 + 06F0 F9 1841 .db #0xF9 + 06F1 06 1842 .db #0x06 + 06F2 F1 1843 .db #0xF1 + 06F3 0E 1844 .db #0x0E + 06F4 F3 1845 .db #0xF3 + 06F5 0C 1846 .db #0x0C + 06F6 DA 1847 .db #0xDA + 06F7 3D 1848 .db #0x3D + 06F8 9D 1849 .db #0x9D + 06F9 7E 1850 .db #0x7E + 06FA 7F 1851 .db #0x7F + 06FB BC 1852 .db #0xBC + 06FC 7D 1853 .db #0x7D + 06FD BE 1854 .db #0xBE + 06FE 7D 1855 .db #0x7D + 06FF BE 1856 .db #0xBE + 0700 5D 1857 .db #0x5D + 0701 FE 1858 .db #0xFE + 0702 6F 1859 .db #0x6F + 0703 FC 1860 .db #0xFC + 0704 E9 1861 .db #0xE9 + 0705 7E 1862 .db #0x7E + 0706 A2 1863 .db #0xA2 + 0707 5F 1864 .db #0x5F + 0708 FF 1865 .db #0xFF + 0709 03 1866 .db #0x03 + 070A 7A 1867 .db #0x7A + 070B 85 1868 .db #0x85 + 070C FD 1869 .db #0xFD + 070D 02 1870 .db #0x02 + 070E FF 1871 .db #0xFF + 070F 00 1872 .db #0x00 + 0710 FF 1873 .db #0xFF + 0711 00 1874 .db #0x00 + 0712 7F 1875 .db #0x7F + 0713 80 1876 .db #0x80 + 0714 FF 1877 .db #0xFF + 0715 00 1878 .db #0x00 + 0716 54 1879 .db #0x54 + 0717 EB 1880 .db #0xEB + 0718 FF 1881 .db #0xFF + 0719 00 1882 .db #0x00 + 071A FF 1883 .db #0xFF + 071B 80 1884 .db #0x80 + 071C 7F 1885 .db #0x7F + 071D 80 1886 .db #0x80 + 071E FF 1887 .db #0xFF + 071F 00 1888 .db #0x00 + 0720 FF 1889 .db #0xFF + 0721 00 1890 .db #0x00 + 0722 FF 1891 .db #0xFF + 0723 00 1892 .db #0x00 + 0724 FF 1893 .db #0xFF + 0725 00 1894 .db #0x00 + 0726 78 1895 .db #0x78 + 0727 FF 1896 .db #0xFF + 0728 58 1897 .db #0x58 + 0729 FF 1898 .db #0xFF + 072A F0 1899 .db #0xF0 + 072B FF 1900 .db #0xFF + 072C 38 1901 .db #0x38 + 072D FF 1902 .db #0xFF + 072E F8 1903 .db #0xF8 + 072F FF 1904 .db #0xFF + 0730 38 1905 .db #0x38 + 0731 FF 1906 .db #0xFF + 0732 F8 1907 .db #0xF8 + 0733 FF 1908 .db #0xFF + 0734 98 1909 .db #0x98 + 0735 FF 1910 .db #0xFF + 0736 93 1911 .db #0x93 + 0737 EE 1912 .db #0xEE + 0738 EE 1913 .db #0xEE + 0739 D3 1914 .db #0xD3 + 073A 8B 1915 .db #0x8B + 073B F4 1916 .db #0xF4 + 073C D0 1917 .db #0xD0 + 073D EF 1918 .db #0xEF + 073E AA 1919 .db #0xAA + 073F D5 1920 .db #0xD5 + 0740 CA 1921 .db #0xCA + 0741 F5 1922 .db #0xF5 + 0742 92 1923 .db #0x92 + 0743 ED 1924 .db #0xED + 0744 8A 1925 .db #0x8A + 0745 F5 1926 .db #0xF5 + 0746 65 1927 .db #0x65 + 0747 DA 1928 .db #0xDA + 0748 35 1929 .db #0x35 + 0749 FA 1930 .db #0xFA + 074A AB 1931 .db #0xAB + 074B 74 1932 .db #0x74 + 074C D5 1933 .db #0xD5 + 074D 2A 1934 .db #0x2A + 074E 55 1935 .db #0x55 + 074F AA 1936 .db #0xAA + 0750 94 1937 .db #0x94 + 0751 6B 1938 .db #0x6B + 0752 AA 1939 .db #0xAA + 0753 55 1940 .db #0x55 + 0754 95 1941 .db #0x95 + 0755 6A 1942 .db #0x6A + 0756 88 1943 .db #0x88 + 0757 7F 1944 .db #0x7F + 0758 C8 1945 .db #0xC8 + 0759 3F 1946 .db #0x3F + 075A C8 1947 .db #0xC8 + 075B 3F 1948 .db #0x3F + 075C 48 1949 .db #0x48 + 075D BF 1950 .db #0xBF + 075E 88 1951 .db #0x88 + 075F 7F 1952 .db #0x7F + 0760 E8 1953 .db #0xE8 + 0761 1F 1954 .db #0x1F + 0762 88 1955 .db #0x88 + 0763 7F 1956 .db #0x7F + 0764 48 1957 .db #0x48 + 0765 BF 1958 .db #0xBF + 0766 12 1959 .db #0x12 + 0767 FD 1960 .db #0xFD + 0768 12 1961 .db #0x12 + 0769 FD 1962 .db #0xFD + 076A 1B 1963 .db #0x1B + 076B FC 1964 .db #0xFC + 076C 0B 1965 .db #0x0B + 076D FF 1966 .db #0xFF + 076E 2F 1967 .db #0x2F + 076F FF 1968 .db #0xFF + 0770 16 1969 .db #0x16 + 0771 FF 1970 .db #0xFF + 0772 00 1971 .db #0x00 + 0773 FF 1972 .db #0xFF + 0774 00 1973 .db #0x00 + 0775 FF 1974 .db #0xFF + 0776 AA 1975 .db #0xAA + 0777 55 1976 .db #0x55 + 0778 EA 1977 .db #0xEA + 0779 15 1978 .db #0x15 + 077A 10 1979 .db #0x10 + 077B EF 1980 .db #0xEF + 077C 7F 1981 .db #0x7F + 077D FF 1982 .db #0xFF + 077E FF 1983 .db #0xFF + 077F FF 1984 .db #0xFF + 0780 BA 1985 .db #0xBA + 0781 FF 1986 .db #0xFF + 0782 00 1987 .db #0x00 + 0783 FF 1988 .db #0xFF + 0784 00 1989 .db #0x00 + 0785 FF 1990 .db #0xFF + 0786 52 1991 .db #0x52 + 0787 AD 1992 .db #0xAD + 0788 AA 1993 .db #0xAA + 0789 55 1994 .db #0x55 + 078A 57 1995 .db #0x57 + 078B FF 1996 .db #0xFF + 078C FF 1997 .db #0xFF + 078D FF 1998 .db #0xFF + 078E FE 1999 .db #0xFE + 078F FF 2000 .db #0xFF + 0790 A8 2001 .db #0xA8 + 0791 FF 2002 .db #0xFF + 0792 04 2003 .db #0x04 + 0793 FF 2004 .db #0xFF + 0794 00 2005 .db #0x00 + 0795 FF 2006 .db #0xFF + 0796 83 2007 .db #0x83 + 0797 FC 2008 .db #0xFC + 0798 81 2009 .db #0x81 + 0799 FE 2010 .db #0xFE + 079A 41 2011 .db #0x41 + 079B FE 2012 .db #0xFE + 079C 83 2013 .db #0x83 + 079D FC 2014 .db #0xFC + 079E 83 2015 .db #0x83 + 079F FC 2016 .db #0xFC + 07A0 01 2017 .db #0x01 + 07A1 FE 2018 .db #0xFE + 07A2 01 2019 .db #0x01 + 07A3 FE 2020 .db #0xFE + 07A4 01 2021 .db #0x01 + 07A5 FE 2022 .db #0xFE + 07A6 4F 2023 .db #0x4F + 07A7 BF 2024 .db #0xBF + 07A8 C7 2025 .db #0xC7 + 07A9 3E 2026 .db #0x3E + 07AA CF 2027 .db #0xCF + 07AB 3F 2028 .db #0x3F + 07AC E6 2029 .db #0xE6 + 07AD 1F 2030 .db #0x1F + 07AE D7 2031 .db #0xD7 + 07AF 2F 2032 .db #0x2F + 07B0 D6 2033 .db #0xD6 + 07B1 2F 2034 .db #0x2F + 07B2 E7 2035 .db #0xE7 + 07B3 1F 2036 .db #0x1F + 07B4 A6 2037 .db #0xA6 + 07B5 5F 2038 .db #0x5F + 07B6 D7 2039 .db #0xD7 + 07B7 F8 2040 .db #0xF8 + 07B8 FF 2041 .db #0xFF + 07B9 F0 2042 .db #0xF0 + 07BA EF 2043 .db #0xEF + 07BB B0 2044 .db #0xB0 + 07BC EF 2045 .db #0xEF + 07BD F0 2046 .db #0xF0 + 07BE 7F 2047 .db #0x7F + 07BF D0 2048 .db #0xD0 + 07C0 BF 2049 .db #0xBF + 07C1 C8 2050 .db #0xC8 + 07C2 7F 2051 .db #0x7F + 07C3 82 2052 .db #0x82 + 07C4 FF 2053 .db #0xFF + 07C5 00 2054 .db #0x00 + 07C6 E7 2055 .db #0xE7 + 07C7 18 2056 .db #0x18 + 07C8 E1 2057 .db #0xE1 + 07C9 1F 2058 .db #0x1F + 07CA EF 2059 .db #0xEF + 07CB 1F 2060 .db #0x1F + 07CC AD 2061 .db #0xAD + 07CD 5F 2062 .db #0x5F + 07CE D7 2063 .db #0xD7 + 07CF 3F 2064 .db #0x3F + 07D0 9B 2065 .db #0x9B + 07D1 7F 2066 .db #0x7F + 07D2 3F 2067 .db #0x3F + 07D3 FB 2068 .db #0xFB + 07D4 3F 2069 .db #0x3F + 07D5 FF 2070 .db #0xFF + 07D6 7F 2071 .db #0x7F + 07D7 FC 2072 .db #0xFC + 07D8 D9 2073 .db #0xD9 + 07D9 FE 2074 .db #0xFE + 07DA FB 2075 .db #0xFB + 07DB EC 2076 .db #0xEC + 07DC F9 2077 .db #0xF9 + 07DD FE 2078 .db #0xFE + 07DE BA 2079 .db #0xBA + 07DF ED 2080 .db #0xED + 07E0 E9 2081 .db #0xE9 + 07E1 FE 2082 .db #0xFE + 07E2 F5 2083 .db #0xF5 + 07E3 7E 2084 .db #0x7E + 07E4 F9 2085 .db #0xF9 + 07E5 FE 2086 .db #0xFE + 07E6 7F 2087 .db #0x7F + 07E7 80 2088 .db #0x80 + 07E8 FF 2089 .db #0xFF + 07E9 00 2090 .db #0x00 + 07EA 4A 2091 .db #0x4A + 07EB B5 2092 .db #0xB5 + 07EC FF 2093 .db #0xFF + 07ED 3F 2094 .db #0x3F + 07EE BF 2095 .db #0xBF + 07EF 7F 2096 .db #0x7F + 07F0 FF 2097 .db #0xFF + 07F1 3F 2098 .db #0x3F + 07F2 7F 2099 .db #0x7F + 07F3 BF 2100 .db #0xBF + 07F4 80 2101 .db #0x80 + 07F5 7F 2102 .db #0x7F + 07F6 FF 2103 .db #0xFF + 07F7 00 2104 .db #0x00 + 07F8 FF 2105 .db #0xFF + 07F9 00 2106 .db #0x00 + 07FA 5F 2107 .db #0x5F + 07FB A0 2108 .db #0xA0 + 07FC FF 2109 .db #0xFF + 07FD FF 2110 .db #0xFF + 07FE FF 2111 .db #0xFF + 07FF FF 2112 .db #0xFF + 0800 FF 2113 .db #0xFF + 0801 FF 2114 .db #0xFF + 0802 FF 2115 .db #0xFF + 0803 FF 2116 .db #0xFF + 0804 00 2117 .db #0x00 + 0805 FF 2118 .db #0xFF + 0806 FF 2119 .db #0xFF + 0807 00 2120 .db #0x00 + 0808 FF 2121 .db #0xFF + 0809 00 2122 .db #0x00 + 080A FF 2123 .db #0xFF + 080B 00 2124 .db #0x00 + 080C FF 2125 .db #0xFF + 080D FF 2126 .db #0xFF + 080E FF 2127 .db #0xFF + 080F FF 2128 .db #0xFF + 0810 FF 2129 .db #0xFF + 0811 FF 2130 .db #0xFF + 0812 FF 2131 .db #0xFF + 0813 FF 2132 .db #0xFF + 0814 10 2133 .db #0x10 + 0815 FF 2134 .db #0xFF + 0816 FF 2135 .db #0xFF + 0817 00 2136 .db #0x00 + 0818 FF 2137 .db #0xFF + 0819 00 2138 .db #0x00 + 081A FF 2139 .db #0xFF + 081B 00 2140 .db #0x00 + 081C FB 2141 .db #0xFB + 081D FF 2142 .db #0xFF + 081E FF 2143 .db #0xFF + 081F FF 2144 .db #0xFF + 0820 FF 2145 .db #0xFF + 0821 FF 2146 .db #0xFF + 0822 FF 2147 .db #0xFF + 0823 FF 2148 .db #0xFF + 0824 AD 2149 .db #0xAD + 0825 FF 2150 .db #0xFF + 0826 70 2151 .db #0x70 + 0827 FF 2152 .db #0xFF + 0828 F8 2153 .db #0xF8 + 0829 FF 2154 .db #0xFF + 082A B8 2155 .db #0xB8 + 082B FF 2156 .db #0xFF + 082C F8 2157 .db #0xF8 + 082D FF 2158 .db #0xFF + 082E D8 2159 .db #0xD8 + 082F FF 2160 .db #0xFF + 0830 F0 2161 .db #0xF0 + 0831 FF 2162 .db #0xFF + 0832 F8 2163 .db #0xF8 + 0833 FF 2164 .db #0xFF + 0834 50 2165 .db #0x50 + 0835 FF 2166 .db #0xFF + 0836 00 2167 .db #0x00 + 0837 FF 2168 .db #0xFF + 0838 00 2169 .db #0x00 + 0839 FF 2170 .db #0xFF + 083A 04 2171 .db #0x04 + 083B FF 2172 .db #0xFF + 083C 00 2173 .db #0x00 + 083D FF 2174 .db #0xFF + 083E 04 2175 .db #0x04 + 083F FF 2176 .db #0xFF + 0840 00 2177 .db #0x00 + 0841 FF 2178 .db #0xFF + 0842 2A 2179 .db #0x2A + 0843 FF 2180 .db #0xFF + 0844 00 2181 .db #0x00 + 0845 FF 2182 .db #0xFF + 0846 B2 2183 .db #0xB2 + 0847 DD 2184 .db #0xDD + 0848 80 2185 .db #0x80 + 0849 FF 2186 .db #0xFF + 084A FF 2187 .db #0xFF + 084B FF 2188 .db #0xFF + 084C FF 2189 .db #0xFF + 084D FF 2190 .db #0xFF + 084E FF 2191 .db #0xFF + 084F FF 2192 .db #0xFF + 0850 FF 2193 .db #0xFF + 0851 FF 2194 .db #0xFF + 0852 FF 2195 .db #0xFF + 0853 FF 2196 .db #0xFF + 0854 80 2197 .db #0x80 + 0855 FF 2198 .db #0xFF + 0856 44 2199 .db #0x44 + 0857 BB 2200 .db #0xBB + 0858 00 2201 .db #0x00 + 0859 FF 2202 .db #0xFF + 085A FF 2203 .db #0xFF + 085B FF 2204 .db #0xFF + 085C FF 2205 .db #0xFF + 085D FF 2206 .db #0xFF + 085E FF 2207 .db #0xFF + 085F FF 2208 .db #0xFF + 0860 FF 2209 .db #0xFF + 0861 FF 2210 .db #0xFF + 0862 6A 2211 .db #0x6A + 0863 FF 2212 .db #0xFF + 0864 01 2213 .db #0x01 + 0865 FF 2214 .db #0xFF + 0866 18 2215 .db #0x18 + 0867 FF 2216 .db #0xFF + 0868 18 2217 .db #0x18 + 0869 FF 2218 .db #0xFF + 086A F8 2219 .db #0xF8 + 086B FF 2220 .db #0xFF + 086C F8 2221 .db #0xF8 + 086D FF 2222 .db #0xFF + 086E F8 2223 .db #0xF8 + 086F FF 2224 .db #0xFF + 0870 C0 2225 .db #0xC0 + 0871 FF 2226 .db #0xFF + 0872 00 2227 .db #0x00 + 0873 FF 2228 .db #0xFF + 0874 00 2229 .db #0x00 + 0875 FF 2230 .db #0xFF + 0876 08 2231 .db #0x08 + 0877 FF 2232 .db #0xFF + 0878 00 2233 .db #0x00 + 0879 FF 2234 .db #0xFF + 087A 00 2235 .db #0x00 + 087B FF 2236 .db #0xFF + 087C 00 2237 .db #0x00 + 087D FF 2238 .db #0xFF + 087E 00 2239 .db #0x00 + 087F FF 2240 .db #0xFF + 0880 00 2241 .db #0x00 + 0881 FF 2242 .db #0xFF + 0882 00 2243 .db #0x00 + 0883 FF 2244 .db #0xFF + 0884 00 2245 .db #0x00 + 0885 FF 2246 .db #0xFF + 0886 FF 2247 .db #0xFF + 0887 00 2248 .db #0x00 + 0888 FF 2249 .db #0xFF + 0889 00 2250 .db #0x00 + 088A FF 2251 .db #0xFF + 088B 00 2252 .db #0x00 + 088C 3F 2253 .db #0x3F + 088D C0 2254 .db #0xC0 + 088E 7F 2255 .db #0x7F + 088F 80 2256 .db #0x80 + 0890 7F 2257 .db #0x7F + 0891 80 2258 .db #0x80 + 0892 3F 2259 .db #0x3F + 0893 C0 2260 .db #0xC0 + 0894 3F 2261 .db #0x3F + 0895 C0 2262 .db #0xC0 + 0896 D5 2263 .db #0xD5 + 0897 2E 2264 .db #0x2E + 0898 C3 2265 .db #0xC3 + 0899 3C 2266 .db #0x3C + 089A 87 2267 .db #0x87 + 089B 78 2268 .db #0x78 + 089C 9F 2269 .db #0x9F + 089D 60 2270 .db #0x60 + 089E 7F 2271 .db #0x7F + 089F 80 2272 .db #0x80 + 08A0 7F 2273 .db #0x7F + 08A1 80 2274 .db #0x80 + 08A2 FF 2275 .db #0xFF + 08A3 00 2276 .db #0x00 + 08A4 FF 2277 .db #0xFF + 08A5 00 2278 .db #0x00 + 08A6 F8 2279 .db #0xF8 + 08A7 07 2280 .db #0x07 + 08A8 FF 2281 .db #0xFF + 08A9 00 2282 .db #0x00 + 08AA FA 2283 .db #0xFA + 08AB 05 2284 .db #0x05 + 08AC FF 2285 .db #0xFF + 08AD 01 2286 .db #0x01 + 08AE E9 2287 .db #0xE9 + 08AF 17 2288 .db #0x17 + 08B0 FD 2289 .db #0xFD + 08B1 03 2290 .db #0x03 + 08B2 AB 2291 .db #0xAB + 08B3 57 2292 .db #0x57 + 08B4 DB 2293 .db #0xDB + 08B5 27 2294 .db #0x27 + 08B6 FF 2295 .db #0xFF + 08B7 7F 2296 .db #0x7F + 08B8 7F 2297 .db #0x7F + 08B9 FF 2298 .db #0xFF + 08BA FF 2299 .db #0xFF + 08BB FF 2300 .db #0xFF + 08BC FF 2301 .db #0xFF + 08BD FF 2302 .db #0xFF + 08BE FF 2303 .db #0xFF + 08BF FF 2304 .db #0xFF + 08C0 FF 2305 .db #0xFF + 08C1 FF 2306 .db #0xFF + 08C2 FF 2307 .db #0xFF + 08C3 FF 2308 .db #0xFF + 08C4 FF 2309 .db #0xFF + 08C5 FF 2310 .db #0xFF + 08C6 BD 2311 .db #0xBD + 08C7 FE 2312 .db #0xFE + 08C8 F5 2313 .db #0xF5 + 08C9 FE 2314 .db #0xFE + 08CA FD 2315 .db #0xFD + 08CB BE 2316 .db #0xBE + 08CC FD 2317 .db #0xFD + 08CD FE 2318 .db #0xFE + 08CE FC 2319 .db #0xFC + 08CF FF 2320 .db #0xFF + 08D0 FD 2321 .db #0xFD + 08D1 FE 2322 .db #0xFE + 08D2 F9 2323 .db #0xF9 + 08D3 FE 2324 .db #0xFE + 08D4 F0 2325 .db #0xF0 + 08D5 FF 2326 .db #0xFF + 08D6 40 2327 .db #0x40 + 08D7 BF 2328 .db #0xBF + 08D8 40 2329 .db #0x40 + 08D9 BF 2330 .db #0xBF + 08DA 80 2331 .db #0x80 + 08DB 7F 2332 .db #0x7F + 08DC 80 2333 .db #0x80 + 08DD 7F 2334 .db #0x7F + 08DE C0 2335 .db #0xC0 + 08DF 3F 2336 .db #0x3F + 08E0 40 2337 .db #0x40 + 08E1 BF 2338 .db #0xBF + 08E2 80 2339 .db #0x80 + 08E3 7F 2340 .db #0x7F + 08E4 C2 2341 .db #0xC2 + 08E5 3F 2342 .db #0x3F + 08E6 10 2343 .db #0x10 + 08E7 FF 2344 .db #0xFF + 08E8 14 2345 .db #0x14 + 08E9 FF 2346 .db #0xFF + 08EA 80 2347 .db #0x80 + 08EB FF 2348 .db #0xFF + 08EC 28 2349 .db #0x28 + 08ED FF 2350 .db #0xFF + 08EE 10 2351 .db #0x10 + 08EF FF 2352 .db #0xFF + 08F0 88 2353 .db #0x88 + 08F1 FF 2354 .db #0xFF + 08F2 00 2355 .db #0x00 + 08F3 FF 2356 .db #0xFF + 08F4 00 2357 .db #0x00 + 08F5 FF 2358 .db #0xFF + 08F6 1F 2359 .db #0x1F + 08F7 E0 2360 .db #0xE0 + 08F8 1F 2361 .db #0x1F + 08F9 E0 2362 .db #0xE0 + 08FA 1F 2363 .db #0x1F + 08FB E0 2364 .db #0xE0 + 08FC 0F 2365 .db #0x0F + 08FD F0 2366 .db #0xF0 + 08FE 0E 2367 .db #0x0E + 08FF F1 2368 .db #0xF1 + 0900 07 2369 .db #0x07 + 0901 F8 2370 .db #0xF8 + 0902 07 2371 .db #0x07 + 0903 F8 2372 .db #0xF8 + 0904 03 2373 .db #0x03 + 0905 FC 2374 .db #0xFC + 0906 FF 2375 .db #0xFF + 0907 00 2376 .db #0x00 + 0908 FF 2377 .db #0xFF + 0909 00 2378 .db #0x00 + 090A FE 2379 .db #0xFE + 090B 01 2380 .db #0x01 + 090C FE 2381 .db #0xFE + 090D 01 2382 .db #0x01 + 090E F5 2383 .db #0xF5 + 090F 0A 2384 .db #0x0A + 0910 F5 2385 .db #0xF5 + 0911 0A 2386 .db #0x0A + 0912 D8 2387 .db #0xD8 + 0913 27 2388 .db #0x27 + 0914 EA 2389 .db #0xEA + 0915 15 2390 .db #0x15 + 0916 6F 2391 .db #0x6F + 0917 97 2392 .db #0x97 + 0918 A7 2393 .db #0xA7 + 0919 5F 2394 .db #0x5F + 091A AF 2395 .db #0xAF + 091B 5F 2396 .db #0x5F + 091C 9F 2397 .db #0x9F + 091D 7F 2398 .db #0x7F + 091E 5F 2399 .db #0x5F + 091F BF 2400 .db #0xBF + 0920 3F 2401 .db #0x3F + 0921 FF 2402 .db #0xFF + 0922 BF 2403 .db #0xBF + 0923 7F 2404 .db #0x7F + 0924 7F 2405 .db #0x7F + 0925 FF 2406 .db #0xFF + 0926 F3 2407 .db #0xF3 + 0927 FC 2408 .db #0xFC + 0928 F0 2409 .db #0xF0 + 0929 FF 2410 .db #0xFF + 092A E9 2411 .db #0xE9 + 092B FE 2412 .db #0xFE + 092C F0 2413 .db #0xF0 + 092D FF 2414 .db #0xFF + 092E E1 2415 .db #0xE1 + 092F FE 2416 .db #0xFE + 0930 F8 2417 .db #0xF8 + 0931 FF 2418 .db #0xFF + 0932 F1 2419 .db #0xF1 + 0933 FE 2420 .db #0xFE + 0934 F8 2421 .db #0xF8 + 0935 FF 2422 .db #0xFF + 0936 94 2423 .db #0x94 + 0937 7F 2424 .db #0x7F + 0938 DF 2425 .db #0xDF + 0939 3F 2426 .db #0x3F + 093A 9F 2427 .db #0x9F + 093B 7F 2428 .db #0x7F + 093C DF 2429 .db #0xDF + 093D 3F 2430 .db #0x3F + 093E 5F 2431 .db #0x5F + 093F BF 2432 .db #0xBF + 0940 5F 2433 .db #0x5F + 0941 BF 2434 .db #0xBF + 0942 7F 2435 .db #0x7F + 0943 9F 2436 .db #0x9F + 0944 4F 2437 .db #0x4F + 0945 BF 2438 .db #0xBF + 0946 07 2439 .db #0x07 + 0947 F8 2440 .db #0xF8 + 0948 01 2441 .db #0x01 + 0949 FE 2442 .db #0xFE + 094A 04 2443 .db #0x04 + 094B FF 2444 .db #0xFF + 094C 06 2445 .db #0x06 + 094D FF 2446 .db #0xFF + 094E 07 2447 .db #0x07 + 094F FF 2448 .db #0xFF + 0950 07 2449 .db #0x07 + 0951 FF 2450 .db #0xFF + 0952 07 2451 .db #0x07 + 0953 FF 2452 .db #0xFF + 0954 03 2453 .db #0x03 + 0955 FF 2454 .db #0xFF + 0956 84 2455 .db #0x84 + 0957 7B 2456 .db #0x7B + 0958 45 2457 .db #0x45 + 0959 BB 2458 .db #0xBB + 095A 13 2459 .db #0x13 + 095B EF 2460 .db #0xEF + 095C 07 2461 .db #0x07 + 095D FF 2462 .db #0xFF + 095E 0F 2463 .db #0x0F + 095F FF 2464 .db #0xFF + 0960 FF 2465 .db #0xFF + 0961 FF 2466 .db #0xFF + 0962 FF 2467 .db #0xFF + 0963 FF 2468 .db #0xFF + 0964 BF 2469 .db #0xBF + 0965 FF 2470 .db #0xFF + 0966 F9 2471 .db #0xF9 + 0967 FE 2472 .db #0xFE + 0968 FC 2473 .db #0xFC + 0969 FF 2474 .db #0xFF + 096A F9 2475 .db #0xF9 + 096B FE 2476 .db #0xFE + 096C FE 2477 .db #0xFE + 096D FF 2478 .db #0xFF + 096E FC 2479 .db #0xFC + 096F FF 2480 .db #0xFF + 0970 FF 2481 .db #0xFF + 0971 FF 2482 .db #0xFF + 0972 FD 2483 .db #0xFD + 0973 FF 2484 .db #0xFF + 0974 FD 2485 .db #0xFD + 0975 FF 2486 .db #0xFF + 0976 6F 2487 .db #0x6F + 0977 9F 2488 .db #0x9F + 0978 2F 2489 .db #0x2F + 0979 DF 2490 .db #0xDF + 097A 57 2491 .db #0x57 + 097B AF 2492 .db #0xAF + 097C 57 2493 .db #0x57 + 097D AF 2494 .db #0xAF + 097E 17 2495 .db #0x17 + 097F EF 2496 .db #0xEF + 0980 17 2497 .db #0x17 + 0981 EF 2498 .db #0xEF + 0982 2B 2499 .db #0x2B + 0983 D7 2500 .db #0xD7 + 0984 8B 2501 .db #0x8B + 0985 F7 2502 .db #0xF7 + 0986 0F 2503 .db #0x0F + 0987 FF 2504 .db #0xFF + 0988 07 2505 .db #0x07 + 0989 FF 2506 .db #0xFF + 098A 0F 2507 .db #0x0F + 098B FF 2508 .db #0xFF + 098C 07 2509 .db #0x07 + 098D FF 2510 .db #0xFF + 098E 0F 2511 .db #0x0F + 098F FF 2512 .db #0xFF + 0990 0F 2513 .db #0x0F + 0991 FF 2514 .db #0xFF + 0992 5F 2515 .db #0x5F + 0993 FF 2516 .db #0xFF + 0994 0F 2517 .db #0x0F + 0995 F7 2518 .db #0xF7 + 0996 AB 2519 .db #0xAB + 0997 D7 2520 .db #0xD7 + 0998 CB 2521 .db #0xCB + 0999 F7 2522 .db #0xF7 + 099A DB 2523 .db #0xDB + 099B E7 2524 .db #0xE7 + 099C 4B 2525 .db #0x4B + 099D F7 2526 .db #0xF7 + 099E CD 2527 .db #0xCD + 099F F3 2528 .db #0xF3 + 09A0 C5 2529 .db #0xC5 + 09A1 FB 2530 .db #0xFB + 09A2 C9 2531 .db #0xC9 + 09A3 77 2532 .db #0x77 + 09A4 ED 2533 .db #0xED + 09A5 F3 2534 .db #0xF3 + 09A6 1F 2535 .db #0x1F + 09A7 FE 2536 .db #0xFE + 09A8 0F 2537 .db #0x0F + 09A9 FF 2538 .db #0xFF + 09AA 1B 2539 .db #0x1B + 09AB FF 2540 .db #0xFF + 09AC 0F 2541 .db #0x0F + 09AD FF 2542 .db #0xFF + 09AE 1F 2543 .db #0x1F + 09AF FF 2544 .db #0xFF + 09B0 1F 2545 .db #0x1F + 09B1 FF 2546 .db #0xFF + 09B2 3F 2547 .db #0x3F + 09B3 FF 2548 .db #0xFF + 09B4 1F 2549 .db #0x1F + 09B5 EF 2550 .db #0xEF + 09B6 E5 2551 .db #0xE5 + 09B7 FB 2552 .db #0xFB + 09B8 F5 2553 .db #0xF5 + 09B9 FB 2554 .db #0xFB + 09BA F5 2555 .db #0xF5 + 09BB FB 2556 .db #0xFB + 09BC F5 2557 .db #0xF5 + 09BD FB 2558 .db #0xFB + 09BE E4 2559 .db #0xE4 + 09BF FB 2560 .db #0xFB + 09C0 F2 2561 .db #0xF2 + 09C1 FD 2562 .db #0xFD + 09C2 F2 2563 .db #0xF2 + 09C3 FD 2564 .db #0xFD + 09C4 F0 2565 .db #0xF0 + 09C5 FF 2566 .db #0xFF + 09C6 3F 2567 .db #0x3F + 09C7 FF 2568 .db #0xFF + 09C8 1F 2569 .db #0x1F + 09C9 FF 2570 .db #0xFF + 09CA 1F 2571 .db #0x1F + 09CB FF 2572 .db #0xFF + 09CC 1F 2573 .db #0x1F + 09CD FF 2574 .db #0xFF + 09CE 5F 2575 .db #0x5F + 09CF FF 2576 .db #0xFF + 09D0 3F 2577 .db #0x3F + 09D1 FF 2578 .db #0xFF + 09D2 3F 2579 .db #0x3F + 09D3 FF 2580 .db #0xFF + 09D4 1F 2581 .db #0x1F + 09D5 FF 2582 .db #0xFF + 09D6 F2 2583 .db #0xF2 + 09D7 FD 2584 .db #0xFD + 09D8 F8 2585 .db #0xF8 + 09D9 FF 2586 .db #0xFF + 09DA F8 2587 .db #0xF8 + 09DB FF 2588 .db #0xFF + 09DC FA 2589 .db #0xFA + 09DD FD 2590 .db #0xFD + 09DE F8 2591 .db #0xF8 + 09DF FF 2592 .db #0xFF + 09E0 F8 2593 .db #0xF8 + 09E1 FF 2594 .db #0xFF + 09E2 F9 2595 .db #0xF9 + 09E3 FE 2596 .db #0xFE + 09E4 FC 2597 .db #0xFC + 09E5 FF 2598 .db #0xFF + 09E6 FF 2599 .db #0xFF + 09E7 FF 2600 .db #0xFF + 09E8 FF 2601 .db #0xFF + 09E9 FF 2602 .db #0xFF + 09EA FF 2603 .db #0xFF + 09EB FF 2604 .db #0xFF + 09EC FF 2605 .db #0xFF + 09ED FF 2606 .db #0xFF + 09EE FF 2607 .db #0xFF + 09EF FF 2608 .db #0xFF + 09F0 7F 2609 .db #0x7F + 09F1 FF 2610 .db #0xFF + 09F2 7F 2611 .db #0x7F + 09F3 FF 2612 .db #0xFF + 09F4 7F 2613 .db #0x7F + 09F5 FF 2614 .db #0xFF + 09F6 2615 _bg_tilemap: + 09F6 01 2616 .db #0x01 + 09F7 01 2617 .db #0x01 + 09F8 02 2618 .db #0x02 + 09F9 03 2619 .db #0x03 + 09FA 03 2620 .db #0x03 + 09FB 04 2621 .db #0x04 + 09FC 05 2622 .db #0x05 + 09FD 06 2623 .db #0x06 + 09FE 07 2624 .db #0x07 + 09FF 08 2625 .db #0x08 + 0A00 09 2626 .db #0x09 + 0A01 0A 2627 .db #0x0A + 0A02 0B 2628 .db #0x0B + 0A03 0C 2629 .db #0x0C + 0A04 0D 2630 .db #0x0D + 0A05 0E 2631 .db #0x0E + 0A06 0F 2632 .db #0x0F + 0A07 10 2633 .db #0x10 + 0A08 03 2634 .db #0x03 + 0A09 03 2635 .db #0x03 + 0A0A 01 2636 .db #0x01 + 0A0B 01 2637 .db #0x01 + 0A0C 11 2638 .db #0x11 + 0A0D 03 2639 .db #0x03 + 0A0E 03 2640 .db #0x03 + 0A0F 12 2641 .db #0x12 + 0A10 13 2642 .db #0x13 + 0A11 03 2643 .db #0x03 + 0A12 14 2644 .db #0x14 + 0A13 15 2645 .db #0x15 + 0A14 16 2646 .db #0x16 + 0A15 17 2647 .db #0x17 + 0A16 18 2648 .db #0x18 + 0A17 19 2649 .db #0x19 + 0A18 1A 2650 .db #0x1A + 0A19 1B 2651 .db #0x1B + 0A1A 0F 2652 .db #0x0F + 0A1B 1C 2653 .db #0x1C + 0A1C 1D 2654 .db #0x1D + 0A1D 03 2655 .db #0x03 + 0A1E 1E 2656 .db #0x1E + 0A1F 1F 2657 .db #0x1F + 0A20 20 2658 .db #0x20 + 0A21 03 2659 .db #0x03 + 0A22 03 2660 .db #0x03 + 0A23 21 2661 .db #0x21 + 0A24 22 2662 .db #0x22 + 0A25 23 2663 .db #0x23 + 0A26 24 2664 .db #0x24 + 0A27 25 2665 .db #0x25 + 0A28 26 2666 .db #0x26 + 0A29 27 2667 .db #0x27 + 0A2A 28 2668 .db #0x28 + 0A2B 29 2669 .db #0x29 + 0A2C 2A 2670 .db #0x2A + 0A2D 2B 2671 .db #0x2B + 0A2E 0F 2672 .db #0x0F + 0A2F 2C 2673 .db #0x2C + 0A30 2D 2674 .db #0x2D + 0A31 2E 2675 .db #0x2E + 0A32 03 2676 .db #0x03 + 0A33 03 2677 .db #0x03 + 0A34 03 2678 .db #0x03 + 0A35 03 2679 .db #0x03 + 0A36 2F 2680 .db #0x2F + 0A37 30 2681 .db #0x30 + 0A38 31 2682 .db #0x31 + 0A39 32 2683 .db #0x32 + 0A3A 33 2684 .db #0x33 + 0A3B 34 2685 .db #0x34 + 0A3C 35 2686 .db #0x35 + 0A3D 36 2687 .db #0x36 + 0A3E 37 2688 .db #0x37 + 0A3F 38 2689 .db #0x38 + 0A40 39 2690 .db #0x39 + 0A41 3A 2691 .db #0x3A + 0A42 0F 2692 .db #0x0F + 0A43 3B 2693 .db #0x3B + 0A44 0F 2694 .db #0x0F + 0A45 3C 2695 .db #0x3C + 0A46 3D 2696 .db #0x3D + 0A47 3E 2697 .db #0x3E + 0A48 3F 2698 .db #0x3F + 0A49 03 2699 .db #0x03 + 0A4A 40 2700 .db #0x40 + 0A4B 41 2701 .db #0x41 + 0A4C 42 2702 .db #0x42 + 0A4D 43 2703 .db #0x43 + 0A4E 44 2704 .db #0x44 + 0A4F 45 2705 .db #0x45 + 0A50 0F 2706 .db #0x0F + 0A51 46 2707 .db #0x46 + 0A52 47 2708 .db #0x47 + 0A53 48 2709 .db #0x48 + 0A54 49 2710 .db #0x49 + 0A55 4A 2711 .db #0x4A + 0A56 0F 2712 .db #0x0F + 0A57 4B 2713 .db #0x4B + 0A58 0F 2714 .db #0x0F + 0A59 4C 2715 .db #0x4C + 0A5A 4D 2716 .db #0x4D + 0A5B 4E 2717 .db #0x4E + 0A5C 4F 2718 .db #0x4F + 0A5D 03 2719 .db #0x03 + 0A5E 50 2720 .db #0x50 + 0A5F 51 2721 .db #0x51 + 0A60 52 2722 .db #0x52 + 0A61 53 2723 .db #0x53 + 0A62 54 2724 .db #0x54 + 0A63 55 2725 .db #0x55 + 0A64 0F 2726 .db #0x0F + 0A65 0F 2727 .db #0x0F + 0A66 56 2728 .db #0x56 + 0A67 57 2729 .db #0x57 + 0A68 58 2730 .db #0x58 + 0A69 59 2731 .db #0x59 + 0A6A 0F 2732 .db #0x0F + 0A6B 5A 2733 .db #0x5A + 0A6C 5B 2734 .db #0x5B + 0A6D 5C 2735 .db #0x5C + 0A6E 5D 2736 .db #0x5D + 0A6F 5E 2737 .db #0x5E + 0A70 5F 2738 .db #0x5F + 0A71 03 2739 .db #0x03 + 0A72 60 2740 .db #0x60 + 0A73 61 2741 .db #0x61 + 0A74 62 2742 .db #0x62 + 0A75 63 2743 .db #0x63 + 0A76 64 2744 .db #0x64 + 0A77 65 2745 .db #0x65 + 0A78 66 2746 .db #0x66 + 0A79 67 2747 .db #0x67 + 0A7A 68 2748 .db #0x68 + 0A7B 69 2749 .db #0x69 + 0A7C 6A 2750 .db #0x6A + 0A7D 0F 2751 .db #0x0F + 0A7E 0F 2752 .db #0x0F + 0A7F 6B 2753 .db #0x6B + 0A80 03 2754 .db #0x03 + 0A81 03 2755 .db #0x03 + 0A82 6C 2756 .db #0x6C + 0A83 6D 2757 .db #0x6D + 0A84 6E 2758 .db #0x6E + 0A85 03 2759 .db #0x03 + 0A86 6F 2760 .db #0x6F + 0A87 70 2761 .db #0x70 + 0A88 71 2762 .db #0x71 + 0A89 72 2763 .db #0x72 + 0A8A 0F 2764 .db #0x0F + 0A8B 73 2765 .db #0x73 + 0A8C 74 2766 .db #0x74 + 0A8D 75 2767 .db #0x75 + 0A8E 76 2768 .db #0x76 + 0A8F 77 2769 .db #0x77 + 0A90 78 2770 .db #0x78 + 0A91 79 2771 .db #0x79 + 0A92 7A 2772 .db #0x7A + 0A93 7B 2773 .db #0x7B + 0A94 03 2774 .db #0x03 + 0A95 7C 2775 .db #0x7C + 0A96 7D 2776 .db #0x7D + 0A97 7E 2777 .db #0x7E + 0A98 7F 2778 .db #0x7F + 0A99 03 2779 .db #0x03 + 0A9A 03 2780 .db #0x03 + 0A9B 03 2781 .db #0x03 + 0A9C 80 2782 .db #0x80 + 0A9D 03 2783 .db #0x03 + 0A9E 81 2784 .db #0x81 + 0A9F 82 2785 .db #0x82 + 0AA0 83 2786 .db #0x83 + 0AA1 84 2787 .db #0x84 + 0AA2 85 2788 .db #0x85 + 0AA3 86 2789 .db #0x86 + 0AA4 03 2790 .db #0x03 + 0AA5 03 2791 .db #0x03 + 0AA6 03 2792 .db #0x03 + 0AA7 03 2793 .db #0x03 + 0AA8 03 2794 .db #0x03 + 0AA9 87 2795 .db #0x87 + 0AAA 03 2796 .db #0x03 + 0AAB 03 2797 .db #0x03 + 0AAC 03 2798 .db #0x03 + 0AAD 03 2799 .db #0x03 + 0AAE 03 2800 .db #0x03 + 0AAF 03 2801 .db #0x03 + 0AB0 03 2802 .db #0x03 + 0AB1 03 2803 .db #0x03 + 0AB2 88 2804 .db #0x88 + 0AB3 89 2805 .db #0x89 + 0AB4 8A 2806 .db #0x8A + 0AB5 01 2807 .db #0x01 + 0AB6 8B 2808 .db #0x8B + 0AB7 8C 2809 .db #0x8C + 0AB8 01 2810 .db #0x01 + 0AB9 01 2811 .db #0x01 + 0ABA 01 2812 .db #0x01 + 0ABB 01 2813 .db #0x01 + 0ABC 01 2814 .db #0x01 + 0ABD 01 2815 .db #0x01 + 0ABE 03 2816 .db #0x03 + 0ABF 03 2817 .db #0x03 + 0AC0 03 2818 .db #0x03 + 0AC1 03 2819 .db #0x03 + 0AC2 03 2820 .db #0x03 + 0AC3 03 2821 .db #0x03 + 0AC4 03 2822 .db #0x03 + 0AC5 03 2823 .db #0x03 + 0AC6 8D 2824 .db #0x8D + 0AC7 8E 2825 .db #0x8E + 0AC8 01 2826 .db #0x01 + 0AC9 01 2827 .db #0x01 + 0ACA 8F 2828 .db #0x8F + 0ACB 90 2829 .db #0x90 + 0ACC 01 2830 .db #0x01 + 0ACD 01 2831 .db #0x01 + 0ACE 01 2832 .db #0x01 + 0ACF 01 2833 .db #0x01 + 0AD0 01 2834 .db #0x01 + 0AD1 01 2835 .db #0x01 + 0AD2 03 2836 .db #0x03 + 0AD3 03 2837 .db #0x03 + 0AD4 03 2838 .db #0x03 + 0AD5 03 2839 .db #0x03 + 0AD6 03 2840 .db #0x03 + 0AD7 03 2841 .db #0x03 + 0AD8 03 2842 .db #0x03 + 0AD9 03 2843 .db #0x03 + 0ADA 91 2844 .db #0x91 + 0ADB 01 2845 .db #0x01 + 0ADC 01 2846 .db #0x01 + 0ADD 01 2847 .db #0x01 + 0ADE 01 2848 .db #0x01 + 0ADF 92 2849 .db #0x92 + 0AE0 01 2850 .db #0x01 + 0AE1 01 2851 .db #0x01 + 0AE2 01 2852 .db #0x01 + 0AE3 01 2853 .db #0x01 + 0AE4 01 2854 .db #0x01 + 0AE5 01 2855 .db #0x01 + 0AE6 03 2856 .db #0x03 + 0AE7 03 2857 .db #0x03 + 0AE8 03 2858 .db #0x03 + 0AE9 03 2859 .db #0x03 + 0AEA 03 2860 .db #0x03 + 0AEB 03 2861 .db #0x03 + 0AEC 03 2862 .db #0x03 + 0AED 03 2863 .db #0x03 + 0AEE 93 2864 .db #0x93 + 0AEF 01 2865 .db #0x01 + 0AF0 01 2866 .db #0x01 + 0AF1 01 2867 .db #0x01 + 0AF2 01 2868 .db #0x01 + 0AF3 94 2869 .db #0x94 + 0AF4 01 2870 .db #0x01 + 0AF5 01 2871 .db #0x01 + 0AF6 01 2872 .db #0x01 + 0AF7 01 2873 .db #0x01 + 0AF8 01 2874 .db #0x01 + 0AF9 01 2875 .db #0x01 + 0AFA 03 2876 .db #0x03 + 0AFB 03 2877 .db #0x03 + 0AFC 03 2878 .db #0x03 + 0AFD 03 2879 .db #0x03 + 0AFE 03 2880 .db #0x03 + 0AFF 03 2881 .db #0x03 + 0B00 03 2882 .db #0x03 + 0B01 03 2883 .db #0x03 + 0B02 95 2884 .db #0x95 + 0B03 01 2885 .db #0x01 + 0B04 01 2886 .db #0x01 + 0B05 01 2887 .db #0x01 + 0B06 01 2888 .db #0x01 + 0B07 96 2889 .db #0x96 + 0B08 97 2890 .db #0x97 + 0B09 01 2891 .db #0x01 + 0B0A 01 2892 .db #0x01 + 0B0B 01 2893 .db #0x01 + 0B0C 01 2894 .db #0x01 + 0B0D 01 2895 .db #0x01 + 0B0E 01 2896 .db #0x01 + 0B0F 01 2897 .db #0x01 + 0B10 01 2898 .db #0x01 + 0B11 01 2899 .db #0x01 + 0B12 01 2900 .db #0x01 + 0B13 01 2901 .db #0x01 + 0B14 01 2902 .db #0x01 + 0B15 01 2903 .db #0x01 + 0B16 01 2904 .db #0x01 + 0B17 01 2905 .db #0x01 + 0B18 01 2906 .db #0x01 + 0B19 01 2907 .db #0x01 + 0B1A 01 2908 .db #0x01 + 0B1B 01 2909 .db #0x01 + 0B1C 01 2910 .db #0x01 + 0B1D 01 2911 .db #0x01 + 0B1E 01 2912 .db #0x01 + 0B1F 01 2913 .db #0x01 + 0B20 01 2914 .db #0x01 + 0B21 01 2915 .db #0x01 + 0B22 01 2916 .db #0x01 + 0B23 01 2917 .db #0x01 + 0B24 01 2918 .db #0x01 + 0B25 01 2919 .db #0x01 + 0B26 01 2920 .db #0x01 + 0B27 01 2921 .db #0x01 + 0B28 01 2922 .db #0x01 + 0B29 01 2923 .db #0x01 + 0B2A 01 2924 .db #0x01 + 0B2B 01 2925 .db #0x01 + 0B2C 01 2926 .db #0x01 + 0B2D 01 2927 .db #0x01 + 0B2E 01 2928 .db #0x01 + 0B2F 01 2929 .db #0x01 + 0B30 01 2930 .db #0x01 + 0B31 01 2931 .db #0x01 + 0B32 01 2932 .db #0x01 + 0B33 01 2933 .db #0x01 + 0B34 01 2934 .db #0x01 + 0B35 01 2935 .db #0x01 + 0B36 01 2936 .db #0x01 + 0B37 01 2937 .db #0x01 + 0B38 01 2938 .db #0x01 + 0B39 01 2939 .db #0x01 + 0B3A 01 2940 .db #0x01 + 0B3B 01 2941 .db #0x01 + 0B3C 01 2942 .db #0x01 + 0B3D 01 2943 .db #0x01 + 0B3E 01 2944 .db #0x01 + 0B3F 01 2945 .db #0x01 + 0B40 01 2946 .db #0x01 + 0B41 01 2947 .db #0x01 + 0B42 01 2948 .db #0x01 + 0B43 01 2949 .db #0x01 + 0B44 01 2950 .db #0x01 + 0B45 01 2951 .db #0x01 + 0B46 01 2952 .db #0x01 + 0B47 01 2953 .db #0x01 + 0B48 01 2954 .db #0x01 + 0B49 01 2955 .db #0x01 + 0B4A 01 2956 .db #0x01 + 0B4B 01 2957 .db #0x01 + 0B4C 01 2958 .db #0x01 + 0B4D 01 2959 .db #0x01 + 0B4E 01 2960 .db #0x01 + 0B4F 01 2961 .db #0x01 + 0B50 01 2962 .db #0x01 + 0B51 01 2963 .db #0x01 + 0B52 01 2964 .db #0x01 + 0B53 01 2965 .db #0x01 + 0B54 01 2966 .db #0x01 + 0B55 01 2967 .db #0x01 + 0B56 01 2968 .db #0x01 + 0B57 01 2969 .db #0x01 + 0B58 01 2970 .db #0x01 + 0B59 01 2971 .db #0x01 + 0B5A 01 2972 .db #0x01 + 0B5B 01 2973 .db #0x01 + 0B5C 01 2974 .db #0x01 + 0B5D 01 2975 .db #0x01 + 0B5E 2976 _border: + 0B5E 00 2977 .db #0x00 + 0B5F 00 2978 .db #0x00 + 0B60 1F 2979 .db #0x1F + 0B61 1F 2980 .db #0x1F + 0B62 20 2981 .db #0x20 + 0B63 20 2982 .db #0x20 + 0B64 4F 2983 .db #0x4F + 0B65 4F 2984 .db #0x4F + 0B66 50 2985 .db #0x50 + 0B67 50 2986 .db #0x50 + 0B68 50 2987 .db #0x50 + 0B69 50 2988 .db #0x50 + 0B6A 50 2989 .db #0x50 + 0B6B 50 2990 .db #0x50 + 0B6C 50 2991 .db #0x50 + 0B6D 50 2992 .db #0x50 + 0B6E 50 2993 .db #0x50 + 0B6F 50 2994 .db #0x50 + 0B70 50 2995 .db #0x50 + 0B71 50 2996 .db #0x50 + 0B72 50 2997 .db #0x50 + 0B73 50 2998 .db #0x50 + 0B74 50 2999 .db #0x50 + 0B75 50 3000 .db #0x50 + 0B76 4F 3001 .db #0x4F + 0B77 4F 3002 .db #0x4F + 0B78 20 3003 .db #0x20 + 0B79 20 3004 .db #0x20 + 0B7A 1F 3005 .db #0x1F + 0B7B 1F 3006 .db #0x1F + 0B7C 00 3007 .db #0x00 + 0B7D 00 3008 .db #0x00 + 0B7E 00 3009 .db #0x00 + 0B7F 00 3010 .db #0x00 + 0B80 F8 3011 .db #0xF8 + 0B81 F8 3012 .db #0xF8 + 0B82 04 3013 .db #0x04 + 0B83 04 3014 .db #0x04 + 0B84 F2 3015 .db #0xF2 + 0B85 F2 3016 .db #0xF2 + 0B86 0A 3017 .db #0x0A + 0B87 0A 3018 .db #0x0A + 0B88 0A 3019 .db #0x0A + 0B89 0A 3020 .db #0x0A + 0B8A 0A 3021 .db #0x0A + 0B8B 0A 3022 .db #0x0A + 0B8C 0A 3023 .db #0x0A + 0B8D 0A 3024 .db #0x0A + 0B8E 0A 3025 .db #0x0A + 0B8F 0A 3026 .db #0x0A + 0B90 0A 3027 .db #0x0A + 0B91 0A 3028 .db #0x0A + 0B92 0A 3029 .db #0x0A + 0B93 0A 3030 .db #0x0A + 0B94 0A 3031 .db #0x0A + 0B95 0A 3032 .db #0x0A + 0B96 F2 3033 .db #0xF2 + 0B97 F2 3034 .db #0xF2 + 0B98 04 3035 .db #0x04 + 0B99 04 3036 .db #0x04 + 0B9A F8 3037 .db #0xF8 + 0B9B F8 3038 .db #0xF8 + 0B9C 00 3039 .db #0x00 + 0B9D 00 3040 .db #0x00 + 0B9E 00 3041 .db #0x00 + 0B9F 00 3042 .db #0x00 + 0BA0 FF 3043 .db #0xFF + 0BA1 FF 3044 .db #0xFF + 0BA2 00 3045 .db #0x00 + 0BA3 00 3046 .db #0x00 + 0BA4 FF 3047 .db #0xFF + 0BA5 FF 3048 .db #0xFF + 0BA6 00 3049 .db #0x00 + 0BA7 00 3050 .db #0x00 + 0BA8 00 3051 .db #0x00 + 0BA9 00 3052 .db #0x00 + 0BAA 00 3053 .db #0x00 + 0BAB 00 3054 .db #0x00 + 0BAC 00 3055 .db #0x00 + 0BAD 00 3056 .db #0x00 + 0BAE 00 3057 .db #0x00 + 0BAF 00 3058 .db #0x00 + 0BB0 00 3059 .db #0x00 + 0BB1 00 3060 .db #0x00 + 0BB2 00 3061 .db #0x00 + 0BB3 00 3062 .db #0x00 + 0BB4 00 3063 .db #0x00 + 0BB5 00 3064 .db #0x00 + 0BB6 FF 3065 .db #0xFF + 0BB7 FF 3066 .db #0xFF + 0BB8 00 3067 .db #0x00 + 0BB9 00 3068 .db #0x00 + 0BBA FF 3069 .db #0xFF + 0BBB FF 3070 .db #0xFF + 0BBC 00 3071 .db #0x00 + 0BBD 00 3072 .db #0x00 + 0BBE 50 3073 .db #0x50 + 0BBF 50 3074 .db #0x50 + 0BC0 50 3075 .db #0x50 + 0BC1 50 3076 .db #0x50 + 0BC2 50 3077 .db #0x50 + 0BC3 50 3078 .db #0x50 + 0BC4 50 3079 .db #0x50 + 0BC5 50 3080 .db #0x50 + 0BC6 50 3081 .db #0x50 + 0BC7 50 3082 .db #0x50 + 0BC8 50 3083 .db #0x50 + 0BC9 50 3084 .db #0x50 + 0BCA 50 3085 .db #0x50 + 0BCB 50 3086 .db #0x50 + 0BCC 50 3087 .db #0x50 + 0BCD 50 3088 .db #0x50 + 0BCE 0A 3089 .db #0x0A + 0BCF 0A 3090 .db #0x0A + 0BD0 0A 3091 .db #0x0A + 0BD1 0A 3092 .db #0x0A + 0BD2 0A 3093 .db #0x0A + 0BD3 0A 3094 .db #0x0A + 0BD4 0A 3095 .db #0x0A + 0BD5 0A 3096 .db #0x0A + 0BD6 0A 3097 .db #0x0A + 0BD7 0A 3098 .db #0x0A + 0BD8 0A 3099 .db #0x0A + 0BD9 0A 3100 .db #0x0A + 0BDA 0A 3101 .db #0x0A + 0BDB 0A 3102 .db #0x0A + 0BDC 0A 3103 .db #0x0A + 0BDD 0A 3104 .db #0x0A + 0BDE 00 3105 .db #0x00 + 0BDF 00 3106 .db #0x00 + 0BE0 00 3107 .db #0x00 + 0BE1 00 3108 .db #0x00 + 0BE2 00 3109 .db #0x00 + 0BE3 00 3110 .db #0x00 + 0BE4 00 3111 .db #0x00 + 0BE5 00 3112 .db #0x00 + 0BE6 00 3113 .db #0x00 + 0BE7 00 3114 .db #0x00 + 0BE8 00 3115 .db #0x00 + 0BE9 00 3116 .db #0x00 + 0BEA 00 3117 .db #0x00 + 0BEB 00 3118 .db #0x00 + 0BEC 00 3119 .db #0x00 + 0BED 00 3120 .db #0x00 + 0BEE 3121 _window: + 0BEE 98 3122 .db #0x98 + 0BEF 9C 3123 .db #0x9C + 0BF0 9C 3124 .db #0x9C + 0BF1 9C 3125 .db #0x9C + 0BF2 9C 3126 .db #0x9C + 0BF3 9C 3127 .db #0x9C + 0BF4 9C 3128 .db #0x9C + 0BF5 9C 3129 .db #0x9C + 0BF6 9C 3130 .db #0x9C + 0BF7 9C 3131 .db #0x9C + 0BF8 9C 3132 .db #0x9C + 0BF9 9C 3133 .db #0x9C + 0BFA 9C 3134 .db #0x9C + 0BFB 9C 3135 .db #0x9C + 0BFC 9C 3136 .db #0x9C + 0BFD 9C 3137 .db #0x9C + 0BFE 9C 3138 .db #0x9C + 0BFF 9C 3139 .db #0x9C + 0C00 9C 3140 .db #0x9C + 0C01 9A 3141 .db #0x9A + 0C02 9E 3142 .db #0x9E + 0C03 A0 3143 .db #0xA0 + 0C04 A0 3144 .db #0xA0 + 0C05 A0 3145 .db #0xA0 + 0C06 A0 3146 .db #0xA0 + 0C07 A0 3147 .db #0xA0 + 0C08 A0 3148 .db #0xA0 + 0C09 A0 3149 .db #0xA0 + 0C0A A0 3150 .db #0xA0 + 0C0B A0 3151 .db #0xA0 + 0C0C A0 3152 .db #0xA0 + 0C0D A0 3153 .db #0xA0 + 0C0E A0 3154 .db #0xA0 + 0C0F A0 3155 .db #0xA0 + 0C10 A0 3156 .db #0xA0 + 0C11 A0 3157 .db #0xA0 + 0C12 A0 3158 .db #0xA0 + 0C13 A0 3159 .db #0xA0 + 0C14 A0 3160 .db #0xA0 + 0C15 9F 3161 .db #0x9F + 0C16 9E 3162 .db #0x9E + 0C17 A0 3163 .db #0xA0 + 0C18 A0 3164 .db #0xA0 + 0C19 A0 3165 .db #0xA0 + 0C1A A0 3166 .db #0xA0 + 0C1B A0 3167 .db #0xA0 + 0C1C A0 3168 .db #0xA0 + 0C1D A0 3169 .db #0xA0 + 0C1E A0 3170 .db #0xA0 + 0C1F A0 3171 .db #0xA0 + 0C20 A0 3172 .db #0xA0 + 0C21 A0 3173 .db #0xA0 + 0C22 A0 3174 .db #0xA0 + 0C23 A0 3175 .db #0xA0 + 0C24 A0 3176 .db #0xA0 + 0C25 A0 3177 .db #0xA0 + 0C26 A0 3178 .db #0xA0 + 0C27 A0 3179 .db #0xA0 + 0C28 A0 3180 .db #0xA0 + 0C29 9F 3181 .db #0x9F + 0C2A 99 3182 .db #0x99 + 0C2B 9D 3183 .db #0x9D + 0C2C 9D 3184 .db #0x9D + 0C2D 9D 3185 .db #0x9D + 0C2E 9D 3186 .db #0x9D + 0C2F 9D 3187 .db #0x9D + 0C30 9D 3188 .db #0x9D + 0C31 9D 3189 .db #0x9D + 0C32 9D 3190 .db #0x9D + 0C33 9D 3191 .db #0x9D + 0C34 9D 3192 .db #0x9D + 0C35 9D 3193 .db #0x9D + 0C36 9D 3194 .db #0x9D + 0C37 9D 3195 .db #0x9D + 0C38 9D 3196 .db #0x9D + 0C39 9D 3197 .db #0x9D + 0C3A 9D 3198 .db #0x9D + 0C3B 9D 3199 .db #0x9D + 0C3C 9D 3200 .db #0x9D + 0C3D 9B 3201 .db #0x9B + 3202 .area _CODE + ASxxxx Assembler V01.75 (GameBoy Z80-like CPU), page 1. + +Symbol Table + + 0 ___main_end 0076 R + 0 ___main_start 0000 R + 0 _bg_tiledata 0076 GR + 0 _bg_tilemap 09F6 GR + 0 _border 0B5E GR + 0 _main 0000 GR + _move_win **** GX + _set_bkg_data **** GX + _set_bkg_tiles **** GX + _set_win_data **** GX + _set_win_tiles **** GX + 0 _window 0BEE GR + + ASxxxx Assembler V01.75 (GameBoy Z80-like CPU), page 2. + +Area Table + + 0 _CODE size C3E flags 0 + 1 _DATA size 0 flags 0 + 2 _OVERLAY size 0 flags 0 + 3 _ISEG size 0 flags 0 + 4 _BSEG size 0 flags 0 + 5 _XSEG size 0 flags 0 + 6 _GSINIT size 0 flags 0 + 7 _GSFINAL size 0 flags 0 + 8 _HOME size 0 flags 0 diff --git a/window/window.c b/window/window.c new file mode 100644 index 0000000..4ba0834 --- /dev/null +++ b/window/window.c @@ -0,0 +1,15 @@ +#define windowWidth 20 +#define windowHeight 4 +#define windowBank 0 + +const unsigned char window[] = +{ + 0x98,0x9C,0x9C,0x9C,0x9C,0x9C,0x9C,0x9C,0x9C,0x9C, + 0x9C,0x9C,0x9C,0x9C,0x9C,0x9C,0x9C,0x9C,0x9C,0x9A, + 0x9E,0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,0xA0, + 0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,0x9F, + 0x9E,0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,0xA0, + 0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,0x9F, + 0x99,0x9D,0x9D,0x9D,0x9D,0x9D,0x9D,0x9D,0x9D,0x9D, + 0x9D,0x9D,0x9D,0x9D,0x9D,0x9D,0x9D,0x9D,0x9D,0x9B +}; diff --git a/window/window.gb b/window/window.gb new file mode 100644 index 0000000..ebfad6d Binary files /dev/null and b/window/window.gb differ diff --git a/z_gbdk_playground_original/README.md b/z_gbdk_playground_original/README.md new file mode 100644 index 0000000..f598b48 --- /dev/null +++ b/z_gbdk_playground_original/README.md @@ -0,0 +1,39 @@ +# GBDK Playground + +It has 16 kB of RAM, man. + +## Samples +| [Blank](blank) | [Hello World](hello_world) | [Small Sprite](small_sprite) | +|:-------------------------:|:-------------------------------:|:--------------------------------:| +| ![](blank/screenshot.png) | ![](hello_world/screenshot.png) | ![](small_sprite/screenshot.png) | +| Minimum required code | Print `Hello World!` | Render small 8x8 sprite | + +| [Big Sprite](big_sprite) | [Big Sprite Animation](big_sprite_animation) | [Input State](input_state) | +|:------------------------------:|:--------------------------------------------:|:-------------------------------:| +| ![](big_sprite/screenshot.png) | ![](big_sprite_animation/screenshot.gif) | ![](input_state/screenshot.png) | +| Render big 16x16 sprite | Animate big 16x16 sprite | Read joypad state | + +| [Input Wait](input_wait) | [Move Sprite](move_sprite) | [Background](background) | +|:------------------------------:|:-------------------------------:|:-------------------------------:| +| ![](input_wait/screenshot.png) | ![](move_sprite/screenshot.gif) | ![](background/screenshot.png) | +| Wait for button input | Move a sprite using joypad | Render a full-screen background | + +| [Window](window) | [Beep](beep) | [Simple SHMUP](simple_shmup) | +|:--------------------------:|:------------------------:|:--------------------------------:| +| ![](window/screenshot.png) | ![](beep/screenshot.png) | ![](simple_shmup/screenshot.png) | +| Renders a window | Make a sound | Very simple SHMUP | + +| [Huge Sprite](huge_sprite) | [Drawing](drawing) | [Detect GB Type](detect_gb) | +|:-------------------------------:|:-------------------------------:|:----------------------------------:| +| ![](huge_sprite/screenshot.png) | ![](drawing/screenshot.png) | ![](detect_gb/screenshot.png) | +| Renders a huge 40x64 sprite | Built-in drawing functions | Detect which GB is being used | + +| [Save RAM](save_ram) | [Font](font) | [Link](link) | +|:-------------------------------:|:-------------------------------:|:----------------------------------:| +| ![](save_ram/screenshot.png) | ![](font/screenshot.png) | ![](link/screenshot.png) | +| Save/load variables | Load a new font | Send/Receive data using link cable | + +| [Color](color) | More coming soon... | +|:-------------------------------:|:----------------------------------:| +| ![](color/screenshot.png) | ![](docs/res/more_coming_soon.png) | +| Use palettes for Game Boy Color | Contributions are welcome! | diff --git a/z_gbdk_playground_original/background/Makefile b/z_gbdk_playground_original/background/Makefile new file mode 100644 index 0000000..b67bd36 --- /dev/null +++ b/z_gbdk_playground_original/background/Makefile @@ -0,0 +1,17 @@ +AS = lcc -c +CC = lcc -Wa-l -Wl-m + +BIN = background.gb +OBJS = background.o + +all: $(BIN) + +%.s: %.ms + maccer -o $@ $< + +$(BIN): $(OBJS) + $(CC) -o $(BIN) $(OBJS) + +clean: + rm -rf *.o *.lst + diff --git a/z_gbdk_playground_original/background/README.md b/z_gbdk_playground_original/background/README.md new file mode 100644 index 0000000..04e16c1 --- /dev/null +++ b/z_gbdk_playground_original/background/README.md @@ -0,0 +1,94 @@ + + + + +# Background +
+ +Renders a full-screen background image. + +## Source + + + + +```c + +#include + +#include "bg_data.c" +#include "bg_data.map" + +void main() { + +``` + + + + + + + +First load the tile patterns in the Background Tile Pattern table. This +means that we load all the 8x8 images that make up our picture (131 of them +to be exact). + + + + +```c + set_bkg_data(0, 131, tiledata); + + VBK_REG = 1; + VBK_REG = 0; + + +``` + + + + + + + +Then we set the tile pattern in the background tile table. The variable +`tilemap` contains an array of tile numbers that reference to the the tiles +we loaded previously using `set_bkg_data`. + +Our image is `20` tiles wide and `18` tiles high, thus having a total of 360 +tiles. How is that possible when we only loaded `131` tiles? + +Well, that is because some in the image are identical. So instead the tile +is only saved once in the `tiledata` variable and reused multiple times in +the `tilemap` variable. + + + + +```c + set_bkg_tiles(0, 0, 20, 18, tilemap); + +``` + + + + + + + +In order for the background to actually show up we call `SHOW_BKG`. + + + + +```c + SHOW_BKG; + + DISPLAY_ON; +} + + +``` + + + diff --git a/z_gbdk_playground_original/background/background.c b/z_gbdk_playground_original/background/background.c new file mode 100644 index 0000000..f666c7c --- /dev/null +++ b/z_gbdk_playground_original/background/background.c @@ -0,0 +1,37 @@ +// # Background +//
+// +// Renders a full-screen background image. +// +// ## Source + +#include + +#include "bg_data.c" +#include "bg_data.map" + +void main() { +// First load the tile patterns in the Background Tile Pattern table. This +// means that we load all the 8x8 images that make up our picture (131 of them +// to be exact). + set_bkg_data(0, 131, tiledata); + + VBK_REG = 1; + VBK_REG = 0; + +// Then we set the tile pattern in the background tile table. The variable +// `tilemap` contains an array of tile numbers that reference to the the tiles +// we loaded previously using `set_bkg_data`. +// +// Our image is `20` tiles wide and `18` tiles high, thus having a total of 360 +// tiles. How is that possible when we only loaded `131` tiles? +// +// Well, that is because some in the image are identical. So instead the tile +// is only saved once in the `tiledata` variable and reused multiple times in +// the `tilemap` variable. + set_bkg_tiles(0, 0, 20, 18, tilemap); +// In order for the background to actually show up we call `SHOW_BKG`. + SHOW_BKG; + + DISPLAY_ON; +} diff --git a/z_gbdk_playground_original/background/bg_data.c b/z_gbdk_playground_original/background/bg_data.c new file mode 100644 index 0000000..9d18c45 --- /dev/null +++ b/z_gbdk_playground_original/background/bg_data.c @@ -0,0 +1,142 @@ +/* + Advanced PCX to GameBoy converter v2.15 + + Tiles data + Original PCX File : "BG_DATA.PCX" + + Number of Tiles : 131 + TileMap Size : 20x18 +*/ + +unsigned const char tiledata[] = { +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0xDF,0xDF,0xC1,0xC1,0xC0,0xC0,0xC0,0xC0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x3F,0x3F,0x0F,0x0F,0x01,0x01,0x00,0x00,0x00,0x00, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x7F,0x1F,0x1F, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0xFE,0xF8,0xF8, +0xFE,0xFE,0xFC,0xFC,0xF8,0xF8,0xF0,0xF0,0xC0,0xC0,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x01,0x03,0x03,0x07,0x07,0x07,0x07,0x0F,0x0F, +0xE0,0xE0,0xE0,0xE0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF8,0xF8,0xF8,0xF8,0xF8,0xF8, +0x03,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0xFF,0xFF,0x0F,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0xFF,0xFF,0xFF,0xFF,0x7F,0x7F,0x07,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x7F,0x0F,0x0F,0x00,0x00,0x00,0x00, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F,0x0F, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF8,0xF8, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xE0,0xE0,0x00,0x00, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFC,0xFC,0xF0,0xF0,0x00,0x00,0x00,0x00,0x00,0x00, +0xE0,0xE0,0xC0,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01, +0x0F,0x0F,0x1F,0x1F,0x3F,0x3F,0x3F,0x3F,0x7F,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xF8,0xF8,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFE,0xFE, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x40,0x40,0x40,0xC0,0xC0,0x80,0x80, +0xFF,0xFF,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0xFF,0xFF,0xF0,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0xC0,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x04,0x0C,0x0C,0x18,0x18, +0x01,0x01,0x03,0x03,0x07,0x07,0x07,0x07,0x0F,0x0F,0x0F,0x0F,0x1F,0x1F,0x1F,0x1F, +0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0x02,0x02,0x06,0x06,0x0C,0x0C,0x08,0x08,0x18,0x18,0x30,0x30,0x20,0x20,0x20,0x20, +0x0C,0x0C,0x18,0x18,0x10,0x10,0x20,0x20,0x60,0x60,0x40,0x40,0xC0,0xC0,0x80,0x80, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x03,0x03,0x02,0x02,0x04,0x04, +0x30,0x30,0x20,0x20,0x60,0x60,0xC0,0xC0,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x00, +0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x7F,0x7F,0x7F,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0x00,0x00,0x00,0x00,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x02,0x02,0x02,0x02,0x06,0x06, +0x40,0x40,0xC0,0xC0,0x80,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x00, +0x01,0x01,0x02,0x02,0x06,0x06,0x08,0x08,0x18,0x18,0x30,0x30,0x60,0x60,0x40,0x40, +0x08,0x08,0x18,0x18,0x30,0x30,0x60,0x60,0x40,0x40,0xC0,0xC0,0x80,0x80,0x00,0x00, +0x00,0x00,0x01,0x01,0x01,0x01,0x03,0x03,0x03,0x03,0x03,0x03,0x07,0x07,0x07,0x07, +0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0, +0x04,0x04,0x08,0x08,0x08,0x08,0x10,0x10,0x30,0x30,0x20,0x20,0x00,0x00,0x00,0x00, +0x00,0x00,0x01,0x01,0x03,0x03,0x02,0x02,0x06,0x06,0x04,0x04,0x08,0x08,0x18,0x18, +0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x02,0x02,0x02,0x02,0x06,0x06,0x04,0x04,0x0C,0x0C,0x18,0x18,0x10,0x10,0x20,0x20, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0xC0,0xC0,0x20,0x20,0x18,0x18, +0x07,0x07,0x07,0x07,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F, +0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x01, +0x10,0x10,0x20,0x20,0x20,0x20,0x40,0x40,0xC0,0xC0,0x80,0x80,0x80,0x80,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x01,0x02,0x02, +0x60,0x60,0x40,0x40,0x40,0x40,0xC0,0xC0,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x00, +0x0C,0x0C,0x02,0x02,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x80,0x80,0x80,0x80,0x60,0x60,0x18,0x18,0x04,0x04,0x03,0x03, +0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, +0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0, +0x02,0x02,0x06,0x06,0x0C,0x0C,0x08,0x08,0x18,0x18,0x30,0x30,0x20,0x20,0x40,0x40, +0x02,0x02,0x06,0x06,0x0C,0x0C,0x08,0x08,0x18,0x18,0x10,0x10,0x10,0x10,0x20,0x20, +0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x80,0x80,0x60,0x60,0x30,0x30,0x18,0x18,0x0E,0x0E,0x01,0x01,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0xC0,0xC0,0x60,0x60, +0x1F,0x1F,0x1F,0x1F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F, +0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0, +0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x01,0x02,0x02,0x02,0x02,0x04,0x04, +0x40,0x40,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x40,0x40,0x40,0x40,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x1C,0x1C,0x06,0x06,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0xC0,0xC0,0x70,0x70,0x1C,0x1C,0x07,0x07,0x01,0x01,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xC0,0x60,0x60, +0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x1F,0x1F,0x1F,0x1F, +0x08,0x08,0x10,0x10,0x10,0x10,0x10,0x10,0x20,0x20,0x20,0x20,0x40,0x40,0x40,0x40, +0x0C,0x0C,0x08,0x08,0x10,0x10,0x10,0x10,0x30,0x30,0x60,0x60,0x40,0x40,0x40,0x40, +0x00,0x00,0x01,0x01,0x01,0x01,0x03,0x03,0x02,0x02,0x04,0x04,0x04,0x04,0x08,0x08, +0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x01,0x01,0x01,0x01,0x01,0x01,0x02,0x02,0x04,0x04,0x04,0x04,0x08,0x08,0x10,0x10, +0x00,0x00,0x00,0x00,0x0E,0x0E,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0x40,0x40,0x30,0x30,0x08,0x08, +0x1F,0x1F,0x1F,0x1F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F, +0x08,0x08,0x10,0x10,0x20,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x03,0x02,0x02, +0x10,0x10,0x20,0x20,0x60,0x60,0x40,0x40,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x00, +0x0E,0x0E,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x80,0x80,0x60,0x60,0x38,0x38,0x0C,0x0C,0x07,0x07,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0xE0,0xE0,0x30,0x30, +0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x03,0x03,0x03,0x03,0x03,0x03, +0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xE0,0xE0,0xE0,0xE0, +0x02,0x02,0x04,0x04,0x08,0x08,0x18,0x18,0x10,0x10,0x20,0x20,0x40,0x40,0x40,0x40, +0x18,0x18,0x06,0x06,0x03,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x80,0x80,0xC0,0xC0,0x20,0x20,0x1C,0x1C,0x06,0x06,0x03,0x03, +0x03,0x03,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x00,0x00, +0x00,0x00,0x00,0x00,0x01,0x01,0x02,0x02,0x02,0x02,0x04,0x04,0x08,0x08,0x08,0x08, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xC0,0x78,0x78,0x07,0x07, +0xC0,0xC0,0x60,0x60,0x30,0x30,0x08,0x08,0x0E,0x0E,0x03,0x03,0x01,0x01,0x00,0x00, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F, +0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0, +0x10,0x10,0x20,0x20,0x20,0x20,0x40,0x40,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x00, +0xC0,0xC0,0x40,0x40,0x60,0x60,0x30,0x30,0x0C,0x0C,0x02,0x02,0x03,0x03,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0xE0,0xE0, +0x18,0x18,0x0E,0x0E,0x03,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x80,0x80,0xE0,0xE0,0x38,0x38,0x0E,0x0E,0x03,0x03,0x00,0x00, +0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x1F,0x1F,0x1F,0x1F,0x0F,0x0F,0x0F,0x0F, +0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0x80,0x80, +0x02,0x02,0x04,0x04,0x08,0x08,0x18,0x18,0x10,0x10,0x20,0x20,0x20,0x20,0x40,0x40, +0x38,0x38,0x0C,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x38,0x38,0x06,0x06,0x03,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x80,0x80,0xC0,0xC0,0x40,0x40,0x00,0x00,0x00,0x00,0x00,0x00, +0x07,0x07,0x07,0x07,0x03,0x03,0x03,0x03,0x03,0x03,0x01,0x01,0x01,0x01,0x00,0x00, +0x80,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x01,0x01,0x03,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x03,0x0F,0x0F, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x0F,0xFF,0xFF,0xFF,0xFF, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x3F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x3F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0x00,0x00,0x00,0x00,0x1F,0x1F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0x00,0x00,0x00,0x00,0xF0,0xF0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0xFC,0xFF,0xFF,0xFF,0xFF, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xC0,0xFE,0xFE, +0xFF,0xFF,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0x3F,0x3F,0x3F,0x3F,0x1F,0x1F,0x1F,0x1F, +0xFF,0xFF,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFC,0xFC,0xFD,0xFD, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x03,0x1F,0x1F,0x7F,0x7F,0xFF,0xFF, +0x00,0x00,0x03,0x03,0x0F,0x0F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0x7F,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0x80,0x80,0xF8,0xF8,0xFE,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xC0,0xFC,0xFC,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0x0F,0x0F,0x0F,0x0F,0x07,0x07,0x07,0x07,0x03,0x03,0x01,0x01,0xE1,0xE1,0xF8,0xF8}; diff --git a/z_gbdk_playground_original/background/bg_data.pcx b/z_gbdk_playground_original/background/bg_data.pcx new file mode 100644 index 0000000..cc10795 Binary files /dev/null and b/z_gbdk_playground_original/background/bg_data.pcx differ diff --git a/z_gbdk_playground_original/background/docs.sh b/z_gbdk_playground_original/background/docs.sh new file mode 100644 index 0000000..60e26b8 --- /dev/null +++ b/z_gbdk_playground_original/background/docs.sh @@ -0,0 +1,2 @@ +docco -t ../docs/res/readme_c.jst -o ./ background.c +mv background.html README.md diff --git a/z_gbdk_playground_original/background/screenshot.png b/z_gbdk_playground_original/background/screenshot.png new file mode 100644 index 0000000..4b338ab Binary files /dev/null and b/z_gbdk_playground_original/background/screenshot.png differ diff --git a/z_gbdk_playground_original/beep/Makefile b/z_gbdk_playground_original/beep/Makefile new file mode 100644 index 0000000..e8e5845 --- /dev/null +++ b/z_gbdk_playground_original/beep/Makefile @@ -0,0 +1,17 @@ +AS = lcc -c +CC = lcc -Wa-l -Wl-m + +BIN = beep.gb +OBJS = beep.o + +all: $(BIN) + +%.s: %.ms + maccer -o $@ $< + +$(BIN): $(OBJS) + $(CC) -o $(BIN) $(OBJS) + +clean: + rm -rf $(BIN) $(OBJS) *~ + diff --git a/z_gbdk_playground_original/beep/README.md b/z_gbdk_playground_original/beep/README.md new file mode 100644 index 0000000..4144194 --- /dev/null +++ b/z_gbdk_playground_original/beep/README.md @@ -0,0 +1,6 @@ +# Beep + +![](screenshot.png) + +Demonstrates how to play a simple SFX sound. + diff --git a/z_gbdk_playground_original/beep/beep.c b/z_gbdk_playground_original/beep/beep.c new file mode 100644 index 0000000..fb6ab34 --- /dev/null +++ b/z_gbdk_playground_original/beep/beep.c @@ -0,0 +1,31 @@ +#include +#include + +void main() { + NR50_REG = 0xFF; + NR51_REG = 0xFF; + NR52_REG = 0x80; + + gotogxy(1, 1); + gprintf("====== Beep ======"); + + gotogxy(2, 3); + gprintf("Press any button"); + + while(1) { + UBYTE joypad_state = joypad(); + + if(joypad_state) { + NR10_REG = 0x38U; + NR11_REG = 0x70U; + NR12_REG = 0xE0U; + NR13_REG = 0x0AU; + NR14_REG = 0xC6U; + + NR51_REG |= 0x11; + + delay(200); + } + } +} + diff --git a/z_gbdk_playground_original/beep/screenshot.png b/z_gbdk_playground_original/beep/screenshot.png new file mode 100644 index 0000000..8e7c65b Binary files /dev/null and b/z_gbdk_playground_original/beep/screenshot.png differ diff --git a/z_gbdk_playground_original/big_sprite/Makefile b/z_gbdk_playground_original/big_sprite/Makefile new file mode 100644 index 0000000..b452375 --- /dev/null +++ b/z_gbdk_playground_original/big_sprite/Makefile @@ -0,0 +1,17 @@ +AS = lcc -c +CC = lcc -Wa-l -Wl-m + +BIN = big_sprite.gb +OBJS = big_sprite.o sprite.o + +all: $(BIN) + +%.s: %.ms + maccer -o $@ $< + +$(BIN): $(OBJS) + $(CC) -o $(BIN) $(OBJS) + +clean: + rm -rf $(BIN) $(OBJS) *~ + diff --git a/z_gbdk_playground_original/big_sprite/README.md b/z_gbdk_playground_original/big_sprite/README.md new file mode 100644 index 0000000..febf0fc --- /dev/null +++ b/z_gbdk_playground_original/big_sprite/README.md @@ -0,0 +1,178 @@ + + + + +# Big Sprite +
+ +Renders a big sprite of 16x16. Since the Game Boy hardware does not directly +support sprites that large + +## Source +Start by including `gb/gb.h` this file defines most important functions you +are going to need when develop Game Boy games. + + + + +```c +#include + +``` + + + + + + + +The `sprite.c` file defines the sprite data in the form of an unsigned char +array. Most of the time you want to generate this file using tools such as +GBTD. + + + + +```c +#include "sprite.c" + +void main() { + +``` + + + + + + + +Set the sprite size to 8x16 pixels, two tiles one above the other. Internally +sets bit 2 of the LCDC register to 1. + + + + +```c + SPRITES_8x16; + +``` + + + + + + + +Loads the tile patterns stored in `sprite` into the Sprite Tile Pattern +table. + +* first parameter `0` determines at which position we should start loading. +* second parameter `4` determines how many tiles we want to loading +* third parameter `sprite` sets the variable to load from + +This means that we are loading 4 tiles starting at 0 from the variable +sprite. + + + + +```c + set_sprite_data(0, 4, sprite); + +``` + + + + + + + +Tell sprite `0` to display sprite `0`. Since we are loading 8x16 tiles this +will make sprite 0 show tile `0` and tile `1`. + + + + +```c + set_sprite_tile(0, 0); + +``` + + + + + + + +Finally move a sprite to a position that we can see. + + + + +```c + move_sprite(0, 75, 75); + + +``` + + + + + + + +We want to display a 16x16 sprite. Unfortunately the Game Boy hardware does +not directly support a sprite that large. So in order to have a sprite of +that size we are simply displaying two 8x16 tiles next to each other! + +Since we've already loaded our entire sprite in line 16 we can now simply +tell sprite `1` to display our second sprite. Again, since we are displaying +8x16 tiles this statement will display tile `2` and tile `3`. + + + + +```c + set_sprite_tile(1, 2); + +``` + + + + + + + +In order to form the illusion of a bigger sprite we display the second tile +directly next to the other simply by offsetting the position 8 pixels to the +right. + + + + +```c + move_sprite(1, 75 + 8, 75); + +``` + + + + + + + +As always, in order for the sprites to display we need to call +`SHOW_SPRITES` once. + + + + +```c + SHOW_SPRITES; +} + + +``` + + + diff --git a/z_gbdk_playground_original/big_sprite/big_sprite.c b/z_gbdk_playground_original/big_sprite/big_sprite.c new file mode 100644 index 0000000..6c77496 --- /dev/null +++ b/z_gbdk_playground_original/big_sprite/big_sprite.c @@ -0,0 +1,51 @@ +// # Big Sprite +//
+// +// Renders a big sprite of 16x16. Since the Game Boy hardware does not directly +// support sprites that large +// +// ## Source +// Start by including `gb/gb.h` this file defines most important functions you +// are going to need when develop Game Boy games. +#include +// The `sprite.c` file defines the sprite data in the form of an unsigned char +// array. Most of the time you want to generate this file using tools such as +// GBTD. +#include "sprite.c" + +void main() { +// Set the sprite size to 8x16 pixels, two tiles one above the other. Internally +// sets bit 2 of the LCDC register to 1. + SPRITES_8x16; +// Loads the tile patterns stored in `sprite` into the Sprite Tile Pattern +// table. +// +// * first parameter `0` determines at which position we should start loading. +// * second parameter `4` determines how many tiles we want to loading +// * third parameter `sprite` sets the variable to load from +// +// This means that we are loading 4 tiles starting at 0 from the variable +// sprite. + set_sprite_data(0, 4, sprite); +// Tell sprite `0` to display sprite `0`. Since we are loading 8x16 tiles this +// will make sprite 0 show tile `0` and tile `1`. + set_sprite_tile(0, 0); +// Finally move a sprite to a position that we can see. + move_sprite(0, 75, 75); + +// We want to display a 16x16 sprite. Unfortunately the Game Boy hardware does +// not directly support a sprite that large. So in order to have a sprite of +// that size we are simply displaying two 8x16 tiles next to each other! +// +// Since we've already loaded our entire sprite in line 16 we can now simply +// tell sprite `1` to display our second sprite. Again, since we are displaying +// 8x16 tiles this statement will display tile `2` and tile `3`. + set_sprite_tile(1, 2); +// In order to form the illusion of a bigger sprite we display the second tile +// directly next to the other simply by offsetting the position 8 pixels to the +// right. + move_sprite(1, 75 + 8, 75); +// As always, in order for the sprites to display we need to call +// `SHOW_SPRITES` once. + SHOW_SPRITES; +} diff --git a/z_gbdk_playground_original/big_sprite/docs.sh b/z_gbdk_playground_original/big_sprite/docs.sh new file mode 100644 index 0000000..c30add2 --- /dev/null +++ b/z_gbdk_playground_original/big_sprite/docs.sh @@ -0,0 +1,2 @@ +docco -t ../docs/res/readme_c.jst -o ./ big_sprite.c +mv big_sprite.html README.md diff --git a/z_gbdk_playground_original/big_sprite/screenshot.png b/z_gbdk_playground_original/big_sprite/screenshot.png new file mode 100644 index 0000000..3933542 Binary files /dev/null and b/z_gbdk_playground_original/big_sprite/screenshot.png differ diff --git a/z_gbdk_playground_original/big_sprite/sprite.c b/z_gbdk_playground_original/big_sprite/sprite.c new file mode 100644 index 0000000..81f8674 --- /dev/null +++ b/z_gbdk_playground_original/big_sprite/sprite.c @@ -0,0 +1,38 @@ +/* + + SPRITE.C + + Tile Source File. + + Info: + Form : All tiles as one unit. + Format : Gameboy 4 color. + Compression : None. + Counter : None. + Tile size : 16 x 16 + Tiles : 0 to 0 + + Palette colors : None. + SGB Palette : None. + CGB Palette : None. + + Convert to metatiles : No. + + This file was generated by GBTD v2.2 + +*/ + +/* Start of tile array. */ +unsigned char sprite[] = +{ + 0xFF,0xFF,0x80,0x80,0x80,0x80,0x81,0x81, + 0x83,0x83,0x87,0x87,0x81,0x81,0x81,0x81, + 0x81,0x81,0x81,0x81,0x81,0x81,0x81,0x81, + 0x83,0x83,0x87,0x87,0x80,0x80,0xFF,0xFF, + 0xFF,0xFF,0x01,0x01,0xC1,0xC1,0xC1,0xC1, + 0xC1,0xC1,0xC1,0xC1,0xC1,0xC1,0xC1,0xC1, + 0xC1,0xC1,0xC1,0xC1,0xC1,0xC1,0xC1,0xC1, + 0xE1,0xE1,0xF1,0xF1,0x01,0x01,0xFF,0xFF +}; + +/* End of SPRITE.C */ diff --git a/z_gbdk_playground_original/big_sprite/sprite.h b/z_gbdk_playground_original/big_sprite/sprite.h new file mode 100644 index 0000000..700896c --- /dev/null +++ b/z_gbdk_playground_original/big_sprite/sprite.h @@ -0,0 +1,31 @@ +/* + + SPRITE.H + + Include File. + + Info: + Form : All tiles as one unit. + Format : Gameboy 4 color. + Compression : None. + Counter : None. + Tile size : 16 x 16 + Tiles : 0 to 0 + + Palette colors : None. + SGB Palette : None. + CGB Palette : None. + + Convert to metatiles : No. + + This file was generated by GBTD v2.2 + +*/ + + +/* Bank of tiles. */ +#define spriteBank 0 +/* Start of tile array. */ +extern unsigned char sprite[]; + +/* End of SPRITE.H */ diff --git a/z_gbdk_playground_original/big_sprite_animation/Makefile b/z_gbdk_playground_original/big_sprite_animation/Makefile new file mode 100644 index 0000000..e2a80c8 --- /dev/null +++ b/z_gbdk_playground_original/big_sprite_animation/Makefile @@ -0,0 +1,17 @@ +AS = lcc -c +CC = lcc -Wa-l -Wl-m + +BIN = big_sprite_animation.gb +OBJS = big_sprite_animation.o cards.o + +all: $(BIN) + +%.s: %.ms + maccer -o $@ $< + +$(BIN): $(OBJS) + $(CC) -o $(BIN) $(OBJS) + +clean: + rm -rf $(BIN) $(OBJS) *~ + diff --git a/z_gbdk_playground_original/big_sprite_animation/README.md b/z_gbdk_playground_original/big_sprite_animation/README.md new file mode 100644 index 0000000..e67a0f6 --- /dev/null +++ b/z_gbdk_playground_original/big_sprite_animation/README.md @@ -0,0 +1,6 @@ +# Big Sprite Animation + +![](screenshot.gif) + +Renders a big 16x16 animated sprite of 2 frames using a delay of 500. + diff --git a/z_gbdk_playground_original/big_sprite_animation/big_sprite_animation.c b/z_gbdk_playground_original/big_sprite_animation/big_sprite_animation.c new file mode 100644 index 0000000..02f71f0 --- /dev/null +++ b/z_gbdk_playground_original/big_sprite_animation/big_sprite_animation.c @@ -0,0 +1,21 @@ +#include +#include "cards.c" + +void main() { + SPRITES_8x16; + set_sprite_data(0, 8, cards); + set_sprite_tile(0, 0); + move_sprite(0, 75, 75); + set_sprite_tile(1, 2); + move_sprite(1, 75 + 8, 75); + SHOW_SPRITES; + + while(1) { + set_sprite_tile(0, 4); + set_sprite_tile(1, 6); + delay(500); + set_sprite_tile(0, 0); + set_sprite_tile(1, 2); + delay(500); + } +} diff --git a/z_gbdk_playground_original/big_sprite_animation/cards.c b/z_gbdk_playground_original/big_sprite_animation/cards.c new file mode 100644 index 0000000..495b7fe --- /dev/null +++ b/z_gbdk_playground_original/big_sprite_animation/cards.c @@ -0,0 +1,46 @@ +/* + + CARDS.C + + Tile Source File. + + Info: + Form : All tiles as one unit. + Format : Gameboy 4 color. + Compression : None. + Counter : None. + Tile size : 16 x 16 + Tiles : 0 to 1 + + Palette colors : None. + SGB Palette : None. + CGB Palette : None. + + Convert to metatiles : No. + + This file was generated by GBTD v2.2 + +*/ + +/* Start of tile array. */ +unsigned char cards[] = +{ + 0xFF,0xFF,0x80,0x80,0x80,0x80,0x81,0x81, + 0x83,0x83,0x87,0x87,0x81,0x81,0x81,0x81, + 0x81,0x81,0x81,0x81,0x81,0x81,0x81,0x81, + 0x83,0x83,0x87,0x87,0x80,0x80,0xFF,0xFF, + 0xFF,0xFF,0x01,0x01,0xC1,0xC1,0xC1,0xC1, + 0xC1,0xC1,0xC1,0xC1,0xC1,0xC1,0xC1,0xC1, + 0xC1,0xC1,0xC1,0xC1,0xC1,0xC1,0xC1,0xC1, + 0xE1,0xE1,0xF1,0xF1,0x01,0x01,0xFF,0xFF, + 0xFF,0xFF,0x80,0x80,0x83,0x83,0x87,0x87, + 0x8E,0x8E,0x8C,0x8C,0x80,0x80,0x80,0x80, + 0x80,0x80,0x80,0x80,0x81,0x81,0x83,0x83, + 0x87,0x87,0x8F,0x8F,0x80,0x80,0xFF,0xFF, + 0xFF,0xFF,0x01,0x01,0xC1,0xC1,0xE1,0xE1, + 0x71,0x71,0x31,0x31,0x31,0x31,0x31,0x31, + 0x71,0x71,0xE1,0xE1,0xC1,0xC1,0x81,0x81, + 0xF1,0xF1,0xF1,0xF1,0x01,0x01,0xFF,0xFF +}; + +/* End of CARDS.C */ diff --git a/z_gbdk_playground_original/big_sprite_animation/cards.gbr b/z_gbdk_playground_original/big_sprite_animation/cards.gbr new file mode 100644 index 0000000..20665ef Binary files /dev/null and b/z_gbdk_playground_original/big_sprite_animation/cards.gbr differ diff --git a/z_gbdk_playground_original/big_sprite_animation/cards.h b/z_gbdk_playground_original/big_sprite_animation/cards.h new file mode 100644 index 0000000..0a40241 --- /dev/null +++ b/z_gbdk_playground_original/big_sprite_animation/cards.h @@ -0,0 +1,31 @@ +/* + + CARDS.H + + Include File. + + Info: + Form : All tiles as one unit. + Format : Gameboy 4 color. + Compression : None. + Counter : None. + Tile size : 16 x 16 + Tiles : 0 to 1 + + Palette colors : None. + SGB Palette : None. + CGB Palette : None. + + Convert to metatiles : No. + + This file was generated by GBTD v2.2 + +*/ + + +/* Bank of tiles. */ +#define cardsBank 0 +/* Start of tile array. */ +extern unsigned char cards[]; + +/* End of CARDS.H */ diff --git a/z_gbdk_playground_original/big_sprite_animation/screenshot.gif b/z_gbdk_playground_original/big_sprite_animation/screenshot.gif new file mode 100644 index 0000000..317d531 Binary files /dev/null and b/z_gbdk_playground_original/big_sprite_animation/screenshot.gif differ diff --git a/z_gbdk_playground_original/blank/Makefile b/z_gbdk_playground_original/blank/Makefile new file mode 100644 index 0000000..022f249 --- /dev/null +++ b/z_gbdk_playground_original/blank/Makefile @@ -0,0 +1,17 @@ +AS = lcc -c +CC = lcc -Wa-l -Wl-m + +BIN = blank.gb +OBJS = blank.o + +all: $(BIN) + +%.s: %.ms + maccer -o $@ $< + +$(BIN): $(OBJS) + $(CC) -o $(BIN) $(OBJS) + +clean: + rm -rf $(BIN) $(OBJS) *~ + diff --git a/z_gbdk_playground_original/blank/README.md b/z_gbdk_playground_original/blank/README.md new file mode 100644 index 0000000..fbdc15e --- /dev/null +++ b/z_gbdk_playground_original/blank/README.md @@ -0,0 +1,35 @@ + + + + +# Blank +
+ +This example contains the minimal amount of code needed to create a working +Game Boy game. Though not a very exciting one. + +## Source + + + + + + + + +All a GBDK game needs to compile and run (any C-program, in fact) is a main +function. This is the entry point into your program. + + + + +```c +void main() { + +} + + +``` + + + diff --git a/z_gbdk_playground_original/blank/blank.c b/z_gbdk_playground_original/blank/blank.c new file mode 100644 index 0000000..ed4d041 --- /dev/null +++ b/z_gbdk_playground_original/blank/blank.c @@ -0,0 +1,13 @@ +// # Blank +//
+// +// This example contains the minimal amount of code needed to create a working +// Game Boy game. Though not a very exciting one. +// +// ## Source + +// All a GBDK game needs to compile and run (any C-program, in fact) is a main +// function. This is the entry point into your program. +void main() { + +} diff --git a/z_gbdk_playground_original/blank/docs.sh b/z_gbdk_playground_original/blank/docs.sh new file mode 100644 index 0000000..150d0ab --- /dev/null +++ b/z_gbdk_playground_original/blank/docs.sh @@ -0,0 +1,2 @@ +docco -t ../docs/res/readme_c.jst -o ./ blank.c +mv blank.html README.md diff --git a/z_gbdk_playground_original/blank/screenshot.png b/z_gbdk_playground_original/blank/screenshot.png new file mode 100644 index 0000000..814c7dd Binary files /dev/null and b/z_gbdk_playground_original/blank/screenshot.png differ diff --git a/z_gbdk_playground_original/color/Makefile b/z_gbdk_playground_original/color/Makefile new file mode 100644 index 0000000..c218116 --- /dev/null +++ b/z_gbdk_playground_original/color/Makefile @@ -0,0 +1,17 @@ +AS = lcc -c +CC = lcc -Wa-l -Wl-yp0x143=0x80 + +BIN = color.gbc +OBJS = color.o + +all: $(BIN) + +%.s: %.ms + maccer -o $@ $< + +$(BIN): $(OBJS) + $(CC) -o $(BIN) $(OBJS) + +clean: + rm -rf $(BIN) $(OBJS) *~ + diff --git a/z_gbdk_playground_original/color/README.md b/z_gbdk_playground_original/color/README.md new file mode 100644 index 0000000..b6118dc --- /dev/null +++ b/z_gbdk_playground_original/color/README.md @@ -0,0 +1,6 @@ +# Color + +![](screenshot.png) + +Demonstrates how to use palettes and create a Game Boy Color ROM. + diff --git a/z_gbdk_playground_original/color/bg_data.c b/z_gbdk_playground_original/color/bg_data.c new file mode 100644 index 0000000..9d18c45 --- /dev/null +++ b/z_gbdk_playground_original/color/bg_data.c @@ -0,0 +1,142 @@ +/* + Advanced PCX to GameBoy converter v2.15 + + Tiles data + Original PCX File : "BG_DATA.PCX" + + Number of Tiles : 131 + TileMap Size : 20x18 +*/ + +unsigned const char tiledata[] = { +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0xDF,0xDF,0xC1,0xC1,0xC0,0xC0,0xC0,0xC0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x3F,0x3F,0x0F,0x0F,0x01,0x01,0x00,0x00,0x00,0x00, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x7F,0x1F,0x1F, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0xFE,0xF8,0xF8, +0xFE,0xFE,0xFC,0xFC,0xF8,0xF8,0xF0,0xF0,0xC0,0xC0,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x01,0x03,0x03,0x07,0x07,0x07,0x07,0x0F,0x0F, +0xE0,0xE0,0xE0,0xE0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF8,0xF8,0xF8,0xF8,0xF8,0xF8, +0x03,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0xFF,0xFF,0x0F,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0xFF,0xFF,0xFF,0xFF,0x7F,0x7F,0x07,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x7F,0x0F,0x0F,0x00,0x00,0x00,0x00, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F,0x0F, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF8,0xF8, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xE0,0xE0,0x00,0x00, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFC,0xFC,0xF0,0xF0,0x00,0x00,0x00,0x00,0x00,0x00, +0xE0,0xE0,0xC0,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01, +0x0F,0x0F,0x1F,0x1F,0x3F,0x3F,0x3F,0x3F,0x7F,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xF8,0xF8,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFE,0xFE, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x40,0x40,0x40,0xC0,0xC0,0x80,0x80, +0xFF,0xFF,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0xFF,0xFF,0xF0,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0xC0,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x04,0x0C,0x0C,0x18,0x18, +0x01,0x01,0x03,0x03,0x07,0x07,0x07,0x07,0x0F,0x0F,0x0F,0x0F,0x1F,0x1F,0x1F,0x1F, +0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0x02,0x02,0x06,0x06,0x0C,0x0C,0x08,0x08,0x18,0x18,0x30,0x30,0x20,0x20,0x20,0x20, +0x0C,0x0C,0x18,0x18,0x10,0x10,0x20,0x20,0x60,0x60,0x40,0x40,0xC0,0xC0,0x80,0x80, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x03,0x03,0x02,0x02,0x04,0x04, +0x30,0x30,0x20,0x20,0x60,0x60,0xC0,0xC0,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x00, +0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x7F,0x7F,0x7F,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0x00,0x00,0x00,0x00,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x02,0x02,0x02,0x02,0x06,0x06, +0x40,0x40,0xC0,0xC0,0x80,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x00, +0x01,0x01,0x02,0x02,0x06,0x06,0x08,0x08,0x18,0x18,0x30,0x30,0x60,0x60,0x40,0x40, +0x08,0x08,0x18,0x18,0x30,0x30,0x60,0x60,0x40,0x40,0xC0,0xC0,0x80,0x80,0x00,0x00, +0x00,0x00,0x01,0x01,0x01,0x01,0x03,0x03,0x03,0x03,0x03,0x03,0x07,0x07,0x07,0x07, +0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0, +0x04,0x04,0x08,0x08,0x08,0x08,0x10,0x10,0x30,0x30,0x20,0x20,0x00,0x00,0x00,0x00, +0x00,0x00,0x01,0x01,0x03,0x03,0x02,0x02,0x06,0x06,0x04,0x04,0x08,0x08,0x18,0x18, +0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x02,0x02,0x02,0x02,0x06,0x06,0x04,0x04,0x0C,0x0C,0x18,0x18,0x10,0x10,0x20,0x20, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0xC0,0xC0,0x20,0x20,0x18,0x18, +0x07,0x07,0x07,0x07,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F, +0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x01, +0x10,0x10,0x20,0x20,0x20,0x20,0x40,0x40,0xC0,0xC0,0x80,0x80,0x80,0x80,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x01,0x02,0x02, +0x60,0x60,0x40,0x40,0x40,0x40,0xC0,0xC0,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x00, +0x0C,0x0C,0x02,0x02,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x80,0x80,0x80,0x80,0x60,0x60,0x18,0x18,0x04,0x04,0x03,0x03, +0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, +0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0, +0x02,0x02,0x06,0x06,0x0C,0x0C,0x08,0x08,0x18,0x18,0x30,0x30,0x20,0x20,0x40,0x40, +0x02,0x02,0x06,0x06,0x0C,0x0C,0x08,0x08,0x18,0x18,0x10,0x10,0x10,0x10,0x20,0x20, +0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x80,0x80,0x60,0x60,0x30,0x30,0x18,0x18,0x0E,0x0E,0x01,0x01,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0xC0,0xC0,0x60,0x60, +0x1F,0x1F,0x1F,0x1F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F, +0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0, +0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x01,0x02,0x02,0x02,0x02,0x04,0x04, +0x40,0x40,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x40,0x40,0x40,0x40,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x1C,0x1C,0x06,0x06,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0xC0,0xC0,0x70,0x70,0x1C,0x1C,0x07,0x07,0x01,0x01,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xC0,0x60,0x60, +0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x1F,0x1F,0x1F,0x1F, +0x08,0x08,0x10,0x10,0x10,0x10,0x10,0x10,0x20,0x20,0x20,0x20,0x40,0x40,0x40,0x40, +0x0C,0x0C,0x08,0x08,0x10,0x10,0x10,0x10,0x30,0x30,0x60,0x60,0x40,0x40,0x40,0x40, +0x00,0x00,0x01,0x01,0x01,0x01,0x03,0x03,0x02,0x02,0x04,0x04,0x04,0x04,0x08,0x08, +0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x01,0x01,0x01,0x01,0x01,0x01,0x02,0x02,0x04,0x04,0x04,0x04,0x08,0x08,0x10,0x10, +0x00,0x00,0x00,0x00,0x0E,0x0E,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0x40,0x40,0x30,0x30,0x08,0x08, +0x1F,0x1F,0x1F,0x1F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F, +0x08,0x08,0x10,0x10,0x20,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x03,0x02,0x02, +0x10,0x10,0x20,0x20,0x60,0x60,0x40,0x40,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x00, +0x0E,0x0E,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x80,0x80,0x60,0x60,0x38,0x38,0x0C,0x0C,0x07,0x07,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0xE0,0xE0,0x30,0x30, +0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x03,0x03,0x03,0x03,0x03,0x03, +0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xE0,0xE0,0xE0,0xE0, +0x02,0x02,0x04,0x04,0x08,0x08,0x18,0x18,0x10,0x10,0x20,0x20,0x40,0x40,0x40,0x40, +0x18,0x18,0x06,0x06,0x03,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x80,0x80,0xC0,0xC0,0x20,0x20,0x1C,0x1C,0x06,0x06,0x03,0x03, +0x03,0x03,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x00,0x00, +0x00,0x00,0x00,0x00,0x01,0x01,0x02,0x02,0x02,0x02,0x04,0x04,0x08,0x08,0x08,0x08, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xC0,0x78,0x78,0x07,0x07, +0xC0,0xC0,0x60,0x60,0x30,0x30,0x08,0x08,0x0E,0x0E,0x03,0x03,0x01,0x01,0x00,0x00, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F, +0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0, +0x10,0x10,0x20,0x20,0x20,0x20,0x40,0x40,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x00, +0xC0,0xC0,0x40,0x40,0x60,0x60,0x30,0x30,0x0C,0x0C,0x02,0x02,0x03,0x03,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0xE0,0xE0, +0x18,0x18,0x0E,0x0E,0x03,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x80,0x80,0xE0,0xE0,0x38,0x38,0x0E,0x0E,0x03,0x03,0x00,0x00, +0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x1F,0x1F,0x1F,0x1F,0x0F,0x0F,0x0F,0x0F, +0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0x80,0x80, +0x02,0x02,0x04,0x04,0x08,0x08,0x18,0x18,0x10,0x10,0x20,0x20,0x20,0x20,0x40,0x40, +0x38,0x38,0x0C,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x38,0x38,0x06,0x06,0x03,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x80,0x80,0xC0,0xC0,0x40,0x40,0x00,0x00,0x00,0x00,0x00,0x00, +0x07,0x07,0x07,0x07,0x03,0x03,0x03,0x03,0x03,0x03,0x01,0x01,0x01,0x01,0x00,0x00, +0x80,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x01,0x01,0x03,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x03,0x0F,0x0F, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x0F,0xFF,0xFF,0xFF,0xFF, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x3F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x3F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0x00,0x00,0x00,0x00,0x1F,0x1F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0x00,0x00,0x00,0x00,0xF0,0xF0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0xFC,0xFF,0xFF,0xFF,0xFF, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xC0,0xFE,0xFE, +0xFF,0xFF,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0x3F,0x3F,0x3F,0x3F,0x1F,0x1F,0x1F,0x1F, +0xFF,0xFF,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFC,0xFC,0xFD,0xFD, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x03,0x1F,0x1F,0x7F,0x7F,0xFF,0xFF, +0x00,0x00,0x03,0x03,0x0F,0x0F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0x7F,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0x80,0x80,0xF8,0xF8,0xFE,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xC0,0xFC,0xFC,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0x0F,0x0F,0x0F,0x0F,0x07,0x07,0x07,0x07,0x03,0x03,0x01,0x01,0xE1,0xE1,0xF8,0xF8}; diff --git a/z_gbdk_playground_original/color/color.c b/z_gbdk_playground_original/color/color.c new file mode 100644 index 0000000..a7f2d63 --- /dev/null +++ b/z_gbdk_playground_original/color/color.c @@ -0,0 +1,39 @@ +#include +#include // Include cgb functions + +// Background taken from 'background' example +#include "bg_data.c" +#include "bg_data.map" + +// Sprite taken from 'small_sprite' example +const unsigned char sprite[] = +{ + 0x7E,0x7E,0x99,0x99,0x81,0x81,0xA5,0xA5, + 0x81,0x81,0xDB,0xDB,0xC3,0xC3,0x3C,0x3C +}; + +// These palettes replace the default palette with the appropriate colors. See cgb.h for more defined colors. + +UWORD bkgPalette[] = { + RGB_PURPLE, RGB_BLACK, RGB_ORANGE, RGB_BROWN +}; + +UWORD sprPalette[] = { + RGB_GREEN, RGB_BLUE, RGB_RED, RGB_YELLOW +}; + +void main(void){ + + set_bkg_palette(0, 1, bkgPalette); // UBYTE first_palette, UBYTE nb_palettes, UWORD *rgb_data + set_bkg_data(0, 131, tiledata); + set_bkg_tiles(0, 0, 20, 18, tilemap); + SHOW_BKG; + + set_sprite_palette(0, 1, sprPalette); // UBYTE first_palette, UBYTE nb_palettes, UWORD *rgb_data + set_sprite_data(0, 1, sprite); + set_sprite_tile(0, 0); + move_sprite(0, 50, 50); + SHOW_SPRITES; + + DISPLAY_ON; +} \ No newline at end of file diff --git a/z_gbdk_playground_original/color/screenshot.png b/z_gbdk_playground_original/color/screenshot.png new file mode 100644 index 0000000..699b11c Binary files /dev/null and b/z_gbdk_playground_original/color/screenshot.png differ diff --git a/z_gbdk_playground_original/detect_gb/Makefile b/z_gbdk_playground_original/detect_gb/Makefile new file mode 100644 index 0000000..0d25e92 --- /dev/null +++ b/z_gbdk_playground_original/detect_gb/Makefile @@ -0,0 +1,16 @@ +AS = lcc -c +CC = lcc -Wa-l -Wl-m + +BIN = detect_gb.gb +OBJS = detect_gb.o + +all: $(BIN) + +%.s: %.ms + maccer -o $@ $< + +$(BIN): $(OBJS) + $(CC) -o $(BIN) $(OBJS) + +clean: + rm -rf $(BIN) $(OBJS) *~ \ No newline at end of file diff --git a/z_gbdk_playground_original/detect_gb/README.md b/z_gbdk_playground_original/detect_gb/README.md new file mode 100644 index 0000000..4d6884d --- /dev/null +++ b/z_gbdk_playground_original/detect_gb/README.md @@ -0,0 +1,5 @@ +# Detect GB + +![](screenshot.png) + +Detect which GB is being used/emulated. \ No newline at end of file diff --git a/z_gbdk_playground_original/detect_gb/detect_gb.c b/z_gbdk_playground_original/detect_gb/detect_gb.c new file mode 100644 index 0000000..33955c5 --- /dev/null +++ b/z_gbdk_playground_original/detect_gb/detect_gb.c @@ -0,0 +1,21 @@ +#include +#include + +extern UBYTE _cpu; + +void main() { + switch (_cpu) { + case 0x01: + printf("DMG or SGB"); + break; + case 0xFF: + printf("POCKET or SGB2"); + break; + case 0x11: + printf("COLOR"); + break; + default: + printf("OTHER"); + break; + } +} \ No newline at end of file diff --git a/z_gbdk_playground_original/detect_gb/screenshot.png b/z_gbdk_playground_original/detect_gb/screenshot.png new file mode 100644 index 0000000..612d3b7 Binary files /dev/null and b/z_gbdk_playground_original/detect_gb/screenshot.png differ diff --git a/z_gbdk_playground_original/docs/res/more_coming_soon.png b/z_gbdk_playground_original/docs/res/more_coming_soon.png new file mode 100644 index 0000000..0807576 Binary files /dev/null and b/z_gbdk_playground_original/docs/res/more_coming_soon.png differ diff --git a/z_gbdk_playground_original/docs/res/readme_c.jst b/z_gbdk_playground_original/docs/res/readme_c.jst new file mode 100644 index 0000000..98f7446 --- /dev/null +++ b/z_gbdk_playground_original/docs/res/readme_c.jst @@ -0,0 +1,15 @@ +<% for (var i = 0, l = sections.length; i + +<% var section = sections[i]; %> + +<%= section.docsText %> + +<% if (!(/^\s*$/).test(section.codeText)) { %> + +```c +<%= section.codeText %> +``` + +<% } %> + +<% } %> \ No newline at end of file diff --git a/z_gbdk_playground_original/drawing/Makefile b/z_gbdk_playground_original/drawing/Makefile new file mode 100644 index 0000000..4ffa041 --- /dev/null +++ b/z_gbdk_playground_original/drawing/Makefile @@ -0,0 +1,16 @@ +AS = lcc -c +CC = lcc -Wa-l -Wl-m + +BIN = drawing.gb +OBJS = drawing.o + +all: $(BIN) + +%.s: %.ms + maccer -o $@ $< + +$(BIN): $(OBJS) + $(CC) -o $(BIN) $(OBJS) + +clean: + rm -rf $(BIN) $(OBJS) *~ \ No newline at end of file diff --git a/z_gbdk_playground_original/drawing/README.md b/z_gbdk_playground_original/drawing/README.md new file mode 100644 index 0000000..e7ccf62 --- /dev/null +++ b/z_gbdk_playground_original/drawing/README.md @@ -0,0 +1,5 @@ +# Drawing + +![](screenshot.png) + +Demonstrates built-in GBDK drawing functions. Operate the D-Pad to use the plot function to draw on the screen. Press the A Button to change plot point colors (Black, White, Dark Gray, Light Gray). Press the B button to clear the screen. \ No newline at end of file diff --git a/z_gbdk_playground_original/drawing/drawing.c b/z_gbdk_playground_original/drawing/drawing.c new file mode 100644 index 0000000..0abf74f --- /dev/null +++ b/z_gbdk_playground_original/drawing/drawing.c @@ -0,0 +1,41 @@ +#include +#include + +UINT8 x = 1, y = 1, i = 3, j, f; + +void main() { + color(BLACK, WHITE, SOLID); // forecolor, backcolor, mode [Colors: WHITE (0), LTGREY (1), DKGREY(2), BLACK (3)] + circle(100, 60, 30, M_FILL); // x, y, radius, style (M_FILL or M_NOFILL) + line(40, 40, 50, 50); // x1, y1, x2, y2 + box(120, 125, 125, 135, M_NOFILL); // x1, y1, x2, y2, style (M_FILL or M_NOFILL) + plot_point(3, 4); // Plot a single pixel on the screen + gotogxy(18, 15); // Places you at these coordinates + gprintf("Hi"); // When using the drawing library you must use gprintf instead of printf + + while (1) { + if (joypad() == J_UP && y != 0) + y--; + if (joypad() == J_DOWN && y != 143) + y++; + if (joypad() == J_LEFT && x != 0) + x--; + if (joypad() == J_RIGHT && x != 159) + x++; + if (joypad() == J_A) { // Change colors + waitpadup(); + i++; + if (i > 3) + i = 0; + } + if (joypad() == J_B) { // Function to 'clear' the screen + for (j = 0; j < 20; j++) { // GB screen is 20 columns wide and 18 columns tall + for (f = 0; f < 18; f++) { + gotogxy(j, f); + wrtchr(' '); // Use wrtchr to place a character when using the drawing library + } + } + } + plot(x, y, i, SOLID); // Draws a pixel on the screen (x, y, color, mode) + delay(10); + } +} \ No newline at end of file diff --git a/z_gbdk_playground_original/drawing/screenshot.png b/z_gbdk_playground_original/drawing/screenshot.png new file mode 100644 index 0000000..6310c27 Binary files /dev/null and b/z_gbdk_playground_original/drawing/screenshot.png differ diff --git a/z_gbdk_playground_original/font/Makefile b/z_gbdk_playground_original/font/Makefile new file mode 100644 index 0000000..b4fbc3c --- /dev/null +++ b/z_gbdk_playground_original/font/Makefile @@ -0,0 +1,16 @@ +AS = lcc -c +CC = lcc -Wa-l -Wl-m + +BIN = font.gb +OBJS = font.o + +all: $(BIN) + +%.s: %.ms + maccer -o $@ $< + +$(BIN): $(OBJS) + $(CC) -o $(BIN) $(OBJS) + +clean: + rm -rf $(BIN) $(OBJS) *~ \ No newline at end of file diff --git a/z_gbdk_playground_original/font/README.md b/z_gbdk_playground_original/font/README.md new file mode 100644 index 0000000..dacb33c --- /dev/null +++ b/z_gbdk_playground_original/font/README.md @@ -0,0 +1,5 @@ +# Font + +![](screenshot.png) + +Demonstrates how to switch from the default font. Be careful when using/loading fonts as they are loaded into VRAM and may overwrite tiles you're using. Built-in fonts include: font_spect, font_italic, font_ibm, font_min. \ No newline at end of file diff --git a/z_gbdk_playground_original/font/font.c b/z_gbdk_playground_original/font/font.c new file mode 100644 index 0000000..3bbcfd3 --- /dev/null +++ b/z_gbdk_playground_original/font/font.c @@ -0,0 +1,9 @@ +#include +#include +#include + +void main() { + font_init(); // Initialize font + font_set(font_load(font_spect)); // Set and load the font + printf("New font!"); +} \ No newline at end of file diff --git a/z_gbdk_playground_original/font/screenshot.png b/z_gbdk_playground_original/font/screenshot.png new file mode 100644 index 0000000..0f21735 Binary files /dev/null and b/z_gbdk_playground_original/font/screenshot.png differ diff --git a/z_gbdk_playground_original/hello_world/Makefile b/z_gbdk_playground_original/hello_world/Makefile new file mode 100644 index 0000000..90125b7 --- /dev/null +++ b/z_gbdk_playground_original/hello_world/Makefile @@ -0,0 +1,17 @@ +AS = lcc -c +CC = lcc -Wa-l -Wl-m + +BIN = hello_world.gb +OBJS = hello_world.o + +all: $(BIN) + +%.s: %.ms + maccer -o $@ $< + +$(BIN): $(OBJS) + $(CC) -o $(BIN) $(OBJS) + +clean: + rm -rf $(BIN) $(OBJS) *~ + diff --git a/z_gbdk_playground_original/hello_world/README.md b/z_gbdk_playground_original/hello_world/README.md new file mode 100644 index 0000000..1a367ff --- /dev/null +++ b/z_gbdk_playground_original/hello_world/README.md @@ -0,0 +1,95 @@ + + + + +# Hello World +
+ +Prints `Hello World!` to the screen using GBDK's `printf` function. + +## Source +Includes ``. This file contains all Gameboy specific functions. +It's the one you're going to use the most. + + + + +```c +#include + +``` + + + + + + + +Includes `` it contains funtions for basic file/console input and +output. + + + + +```c +#include + +``` + + + + + + + +A C program always starts by calling the `main()` function. If you are +unfamiliar with this I suggest reading up on C first. + + + + +```c +void main() { + +``` + + + + + + + +Prints the string `Hello World!` to the screen. Internally it uses the +background layer to do so as you can see in the VRAM of your favorite +emulator. + + + + +```c + printf("Hello World!"); + +``` + + + + + + + +Using `\n` you can create a new line. In this case it is used to create some +space between the previous sentence and the next. + + + + +```c + printf("\n\nPress Start"); +} + + + +``` + + + diff --git a/z_gbdk_playground_original/hello_world/docs.sh b/z_gbdk_playground_original/hello_world/docs.sh new file mode 100644 index 0000000..e0ae605 --- /dev/null +++ b/z_gbdk_playground_original/hello_world/docs.sh @@ -0,0 +1,3 @@ +docco -t ../docs/res/readme_c.jst -o ./ hello_world.c +mv hello_world.html README.md + diff --git a/z_gbdk_playground_original/hello_world/hello_world.c b/z_gbdk_playground_original/hello_world/hello_world.c new file mode 100644 index 0000000..7615bba --- /dev/null +++ b/z_gbdk_playground_original/hello_world/hello_world.c @@ -0,0 +1,24 @@ +// # Hello World +//
+// +// Prints `Hello World!` to the screen using GBDK's `printf` function. +// +// ## Source +// Includes ``. This file contains all Gameboy specific functions. +// It's the one you're going to use the most. +#include +// Includes `` it contains funtions for basic file/console input and +//output. +#include +// A C program always starts by calling the `main()` function. If you are +// unfamiliar with this I suggest reading up on C first. +void main() { +// Prints the string `Hello World!` to the screen. Internally it uses the +// background layer to do so as you can see in the VRAM of your favorite +// emulator. + printf("Hello World!"); +// Using `\n` you can create a new line. In this case it is used to create some +// space between the previous sentence and the next. + printf("\n\nPress Start"); +} + diff --git a/z_gbdk_playground_original/hello_world/screenshot.png b/z_gbdk_playground_original/hello_world/screenshot.png new file mode 100644 index 0000000..10c5334 Binary files /dev/null and b/z_gbdk_playground_original/hello_world/screenshot.png differ diff --git a/z_gbdk_playground_original/huge_sprite/Makefile b/z_gbdk_playground_original/huge_sprite/Makefile new file mode 100644 index 0000000..bc7654b --- /dev/null +++ b/z_gbdk_playground_original/huge_sprite/Makefile @@ -0,0 +1,17 @@ +AS = lcc -c +CC = lcc -Wa-l -Wl-m + +BIN = huge_sprite.gb +OBJS = huge_sprite.o + +all: $(BIN) + +%.s: %.ms + maccer -o $@ $< + +$(BIN): $(OBJS) + $(CC) -o $(BIN) $(OBJS) + +clean: + rm -rf $(BIN) $(OBJS) *~ *.lst *.map + diff --git a/z_gbdk_playground_original/huge_sprite/README.md b/z_gbdk_playground_original/huge_sprite/README.md new file mode 100644 index 0000000..c886d83 --- /dev/null +++ b/z_gbdk_playground_original/huge_sprite/README.md @@ -0,0 +1,99 @@ + + + + +# Huge Sprite +
+ +Render a huge 40x64 sprite that can be moved around with the D-pad. + +## Source + + + + +```c + +#include +#include + +#include "sprite.h" +#include "bg.h" + +#define SPR_WIDTH 8 +#define SPR_HEIGHT 5 +#define TOTAL_SPR SPR_WIDTH * SPR_HEIGHT + +UINT8 x = 64; +UINT8 y = 96; + +void render_huge_sprite() { + UINT8 i, j; + UINT8 sprite_index; + + set_sprite_tile(0, 1); + + for(i = 0; i < SPR_WIDTH; ++i) { + for(j = 0; j < SPR_HEIGHT; ++j) { + sprite_index = i * SPR_HEIGHT + j; + set_sprite_tile(sprite_index, sprite_index); + move_sprite(sprite_index, x + (j * 8), y + (i * 8)); + } + } +} + +void load_background() { + set_bkg_data(0, 2, bg_tile_data); + set_bkg_tiles(0, 0, 20, 18, bg_map_data); +} + +void move_huge_sprite(UINT8 nx, UINT8 ny) { + UINT8 i, lx, ly; + lx = 0; + ly = 0; + for(i = 0; i < 40; i++) { + if(lx == 40) { + lx = 0; + ly += 8; + } + move_sprite(i, nx + lx, ny + ly); + lx += 8; + } + +} + +void move_right() { + move_huge_sprite(++x, y); +} + +void move_left() { + move_huge_sprite(--x, y); +} + +void main() { + SPRITES_8x8; + set_sprite_data(0, 40, sprite_tile_data); + + render_huge_sprite(); + load_background(); + + SHOW_SPRITES; + SHOW_BKG; + + while(1) { + if(joypad() & J_RIGHT) { + move_right(); + } + if(joypad() & J_LEFT) { + move_left(); + } + delay(10); + } +} + + +``` + + + + diff --git a/z_gbdk_playground_original/huge_sprite/bg.h b/z_gbdk_playground_original/huge_sprite/bg.h new file mode 100644 index 0000000..1d04ea3 --- /dev/null +++ b/z_gbdk_playground_original/huge_sprite/bg.h @@ -0,0 +1,67 @@ +// /////////////////////// +// // // +// // File Attributes // +// // // +// /////////////////////// + +// Filename: bg.png +// Pixel Width: 144px +// Pixel Height: 160px + +// WARNING: Width of input image padded 3px to 144px + +// ///////////////// +// // // +// // Constants // +// // // +// ///////////////// + +const int bg_tile_map_size = 0x0168; +const int bg_tile_map_width = 0x12; +const int bg_tile_map_height = 0x14; + +const int bg_tile_data_size = 0x20; +const int bg_tile_count = 0x0168; + +// //////////////// +// // // +// // Map Data // +// // // +// //////////////// + +const unsigned char bg_map_data[] ={ + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01 +}; + +// ///////////////// +// // // +// // Tile Data // +// // // +// ///////////////// + +const unsigned char bg_tile_data[] ={ + 0x80,0x80,0x40,0x40,0x20,0x20,0x10,0x10,0x08,0x08,0x04,0x04,0x02,0x02,0x01,0x01, + 0x80,0x80,0x40,0x40,0x20,0x20,0x10,0x10,0x08,0x08,0x00,0x00,0x00,0x00,0x00,0x00 +}; diff --git a/z_gbdk_playground_original/huge_sprite/bg.png b/z_gbdk_playground_original/huge_sprite/bg.png new file mode 100644 index 0000000..150843f Binary files /dev/null and b/z_gbdk_playground_original/huge_sprite/bg.png differ diff --git a/z_gbdk_playground_original/huge_sprite/docs.sh b/z_gbdk_playground_original/huge_sprite/docs.sh new file mode 100755 index 0000000..ad8b16a --- /dev/null +++ b/z_gbdk_playground_original/huge_sprite/docs.sh @@ -0,0 +1,2 @@ +docco -t ../docs/res/readme_c.jst -o ./ huge_sprite.c -c "" +mv huge_sprite.html README.md diff --git a/z_gbdk_playground_original/huge_sprite/huge_sprite.c b/z_gbdk_playground_original/huge_sprite/huge_sprite.c new file mode 100644 index 0000000..08fd9a2 --- /dev/null +++ b/z_gbdk_playground_original/huge_sprite/huge_sprite.c @@ -0,0 +1,84 @@ +// # Huge Sprite +//
+// +// Render a huge 40x64 sprite that can be moved around with the D-pad. +// +// ## Source + +#include +#include + +#include "sprite.h" +#include "bg.h" + +#define SPR_WIDTH 8 +#define SPR_HEIGHT 5 +#define TOTAL_SPR SPR_WIDTH * SPR_HEIGHT + +UINT8 x = 64; +UINT8 y = 96; + +void render_huge_sprite() { + UINT8 i, j; + UINT8 sprite_index; + + set_sprite_tile(0, 1); + + for(i = 0; i < SPR_WIDTH; ++i) { + for(j = 0; j < SPR_HEIGHT; ++j) { + sprite_index = i * SPR_HEIGHT + j; + set_sprite_tile(sprite_index, sprite_index); + move_sprite(sprite_index, x + (j * 8), y + (i * 8)); + } + } +} + +void load_background() { + set_bkg_data(0, 2, bg_tile_data); + set_bkg_tiles(0, 0, 20, 18, bg_map_data); +} + +void move_huge_sprite(UINT8 nx, UINT8 ny) { + UINT8 i, lx, ly; + lx = 0; + ly = 0; + for(i = 0; i < 40; i++) { + if(lx == 40) { + lx = 0; + ly += 8; + } + move_sprite(i, nx + lx, ny + ly); + lx += 8; + } + +} + +void move_right() { + move_huge_sprite(++x, y); +} + +void move_left() { + move_huge_sprite(--x, y); +} + +void main() { + SPRITES_8x8; + set_sprite_data(0, 40, sprite_tile_data); + + render_huge_sprite(); + load_background(); + + SHOW_SPRITES; + SHOW_BKG; + + while(1) { + wait_vbl_done(); + if(joypad() & J_RIGHT) { + move_right(); + } + if(joypad() & J_LEFT) { + move_left(); + } + delay(10); + } +} diff --git a/z_gbdk_playground_original/huge_sprite/screenshot.png b/z_gbdk_playground_original/huge_sprite/screenshot.png new file mode 100644 index 0000000..9d50c55 Binary files /dev/null and b/z_gbdk_playground_original/huge_sprite/screenshot.png differ diff --git a/z_gbdk_playground_original/huge_sprite/sprite.h b/z_gbdk_playground_original/huge_sprite/sprite.h new file mode 100644 index 0000000..afb302d --- /dev/null +++ b/z_gbdk_playground_original/huge_sprite/sprite.h @@ -0,0 +1,82 @@ +// /////////////////////// +// // // +// // File Attributes // +// // // +// /////////////////////// + +// Filename: sprite.png +// Pixel Width: 40px +// Pixel Height: 64px + +// ///////////////// +// // // +// // Constants // +// // // +// ///////////////// + +const int sprite_tile_map_size = 0x28; +const int sprite_tile_map_width = 0x05; +const int sprite_tile_map_height = 0x08; + +const int sprite_tile_data_size = 0x0280; +const int sprite_tile_count = 0x28; + +// //////////////// +// // // +// // Map Data // +// // // +// //////////////// + +const unsigned char sprite_map_data[] ={ + 0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F, + 0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1A,0x1B,0x1C,0x1D,0x1E,0x1F, + 0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27 +}; + +// ///////////////// +// // // +// // Tile Data // +// // // +// ///////////////// + +const unsigned char sprite_tile_data[] ={ + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x03,0x03,0x1F,0x1F, + 0x00,0x00,0x01,0x01,0x0F,0x0F,0x1F,0x1F,0x7F,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0x3F,0x3F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0x80,0x80,0xE0,0xE0,0xF0,0xF0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xC0,0xE0,0xE0,0xF0,0xF0,0xF0,0xF0, + 0x07,0x07,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0E,0x0F,0x0E,0x0F,0x0F,0x0E,0x02,0x03, + 0xFD,0xFF,0xDE,0xBD,0x75,0x9E,0xFF,0x0E,0xDA,0x27,0xC6,0x39,0xDB,0x74,0xBD,0x5A, + 0xFF,0xFF,0xFF,0xFF,0x7F,0xFF,0xDF,0x3F,0xCF,0x3F,0x1B,0xE7,0xBF,0x5F,0xCF,0x37, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xBD,0xFE,0xDE,0xB9,0xF7,0x9A, + 0xF0,0xF0,0xF8,0xF8,0xF8,0xF8,0xF8,0xF8,0xF8,0xF8,0x78,0xF8,0xF8,0x78,0xF8,0x78, + 0x01,0x00,0x01,0x00,0x01,0x00,0x03,0x02,0x02,0x03,0x03,0x02,0x06,0x07,0x00,0x01, + 0x7B,0x9C,0x3D,0xDE,0xB3,0x4C,0xC8,0x37,0xFB,0x04,0xFA,0x05,0xFF,0x00,0xFF,0x00, + 0xDF,0x27,0xFD,0x03,0xF9,0x06,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF,0x00, + 0x92,0xFF,0xB2,0x5F,0xDC,0x33,0xDA,0x37,0xCA,0x35,0xFF,0x23,0x9F,0x6F,0xBF,0x5F, + 0xF8,0x78,0xF0,0x70,0x70,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0, + 0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0xFF,0x00,0x7A,0x87,0xFF,0x83,0x7C,0x43,0x0F,0x10,0x04,0x07,0x00,0x01,0x00,0x01, + 0xAF,0x50,0x9F,0xE0,0xBF,0xC0,0x7D,0x83,0xF7,0x0F,0x3E,0xFF,0x5C,0xBF,0xC5,0x3B, + 0x5F,0xBF,0xAF,0x7F,0x7B,0xC7,0xAB,0xD7,0xD7,0x6F,0x17,0xFF,0x9F,0x6F,0x0F,0xFF, + 0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xE8,0xE8, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x01,0x02,0x03,0x03,0x0C,0x0F,0x10,0x3E,0x21,0x15,0x2A,0x20,0x5F,0x8A,0xF5, + 0x4D,0xB3,0x69,0xB6,0x39,0xE6,0x09,0xF6,0x53,0xAC,0x19,0xE6,0xBD,0x42,0xFC,0x03, + 0xB7,0x4F,0x7B,0x87,0xFD,0x03,0xFE,0x01,0xFF,0x00,0xFF,0x00,0xFE,0x01,0xFB,0x04, + 0xE8,0xE8,0xE4,0xE4,0xF4,0xF4,0x70,0xF0,0xB0,0x70,0xD8,0x38,0xD8,0x38,0xD8,0x38, + 0x00,0x00,0x01,0x01,0x01,0x02,0x01,0x02,0x05,0x06,0x07,0x04,0x03,0x0C,0x1B,0x14, + 0xB7,0xC8,0x77,0x88,0xFB,0x04,0xFB,0x04,0xFA,0x05,0xFB,0x04,0xF9,0x06,0xFB,0x04, + 0xFA,0x05,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF,0x00, + 0xF7,0x08,0x6F,0x90,0xAF,0x50,0xBF,0x40,0xBF,0x40,0x3F,0xC0,0xAF,0x50,0x3F,0xC0, + 0xDC,0x3C,0xFC,0x1C,0xFC,0x1C,0xFE,0x1E,0xFE,0x1E,0xFE,0x1E,0xFF,0x1F,0xFF,0x1F, + 0x0F,0x10,0x19,0x26,0x10,0x2F,0x3F,0x40,0x3F,0x40,0xFF,0x80,0x7F,0x80,0x3E,0x41, + 0xFD,0x02,0xFE,0x01,0xFF,0x00,0x4F,0xB0,0xC3,0x7C,0x08,0xF7,0x9F,0xE0,0xBE,0xC1, + 0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFC,0x03,0x33,0xCC,0x4F,0xB0,0xBF,0xC0, + 0xB7,0x48,0xB7,0x48,0xFF,0x00,0x9F,0x78,0x77,0xF8,0x17,0xE8,0x9F,0x60,0x4F,0xB0, + 0xFF,0x1F,0xFF,0x1F,0xFF,0x1F,0xEF,0x1F,0xFF,0x1F,0xEF,0x1F,0xFF,0x1F,0xFF,0x1F, + 0x06,0x19,0x00,0x03,0x01,0x01,0x00,0x01,0x01,0x00,0x01,0x02,0x01,0x02,0x03,0x00, + 0x3C,0xC3,0x3C,0xC3,0xBC,0xC3,0x1E,0xE1,0xA0,0x5F,0xFF,0x00,0xFF,0x00,0xFF,0x00, + 0x7F,0x80,0xFF,0x00,0xFE,0x01,0xFF,0x00,0x04,0xFB,0xEF,0x10,0xFF,0x00,0xEF,0x10, + 0xBF,0x40,0x3F,0xC0,0x9F,0x60,0x1F,0xE0,0x4F,0xB0,0x40,0xBF,0x5F,0xAF,0xDF,0x2F, + 0xFF,0x1F,0xFF,0x1F,0xFF,0x1F,0xFF,0x1F,0xFF,0x1F,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF}; diff --git a/z_gbdk_playground_original/huge_sprite/sprite.png b/z_gbdk_playground_original/huge_sprite/sprite.png new file mode 100644 index 0000000..5155c61 Binary files /dev/null and b/z_gbdk_playground_original/huge_sprite/sprite.png differ diff --git a/z_gbdk_playground_original/input_state/Makefile b/z_gbdk_playground_original/input_state/Makefile new file mode 100644 index 0000000..5d635e6 --- /dev/null +++ b/z_gbdk_playground_original/input_state/Makefile @@ -0,0 +1,17 @@ +AS = lcc -c +CC = lcc -Wa-l -Wl-m + +BIN = input_state.gb +OBJS = input_state.o + +all: $(BIN) + +%.s: %.ms + maccer -o $@ $< + +$(BIN): $(OBJS) + $(CC) -o $(BIN) $(OBJS) + +clean: + rm -rf $(BIN) $(OBJS) *~ + diff --git a/z_gbdk_playground_original/input_state/README.md b/z_gbdk_playground_original/input_state/README.md new file mode 100644 index 0000000..9c4b4fc --- /dev/null +++ b/z_gbdk_playground_original/input_state/README.md @@ -0,0 +1,6 @@ +# Input State + +![](screenshot.png) + +Prints the pressed button every 100ms. + diff --git a/z_gbdk_playground_original/input_state/input_state.c b/z_gbdk_playground_original/input_state/input_state.c new file mode 100644 index 0000000..0a3fcaa --- /dev/null +++ b/z_gbdk_playground_original/input_state/input_state.c @@ -0,0 +1,41 @@ +#include +#include + +void main() { + while(1) { + switch(joypad()) { + case J_LEFT: + printf("Left!\n"); + delay(100); + break; + case J_RIGHT: + printf("Right!\n"); + delay(100); + break; + case J_UP: + printf("Up!\n"); + delay(100); + break; + case J_DOWN: + printf("Down!\n"); + delay(100); + break; + case J_START: + printf("Start!\n"); + delay(100); + break; + case J_SELECT: + printf("Select!\n"); + delay(100); + break; + case J_A: + printf("A!\n"); + delay(100); + break; + case J_B: + printf("B!\n"); + delay(100); + break; + } + } +} diff --git a/z_gbdk_playground_original/input_state/screenshot.png b/z_gbdk_playground_original/input_state/screenshot.png new file mode 100644 index 0000000..f82ef94 Binary files /dev/null and b/z_gbdk_playground_original/input_state/screenshot.png differ diff --git a/z_gbdk_playground_original/input_wait/Makefile b/z_gbdk_playground_original/input_wait/Makefile new file mode 100644 index 0000000..27e06a6 --- /dev/null +++ b/z_gbdk_playground_original/input_wait/Makefile @@ -0,0 +1,17 @@ +AS = lcc -c +CC = lcc -Wa-l -Wl-m + +BIN = input_wait.gb +OBJS = input_wait.o + +all: $(BIN) + +%.s: %.ms + maccer -o $@ $< + +$(BIN): $(OBJS) + $(CC) -o $(BIN) $(OBJS) + +clean: + rm -rf $(BIN) $(OBJS) *~ + diff --git a/z_gbdk_playground_original/input_wait/README.md b/z_gbdk_playground_original/input_wait/README.md new file mode 100644 index 0000000..5ff6940 --- /dev/null +++ b/z_gbdk_playground_original/input_wait/README.md @@ -0,0 +1,6 @@ +# Input Wait + +![](screenshot.png) + +Demonstrates how to wait for key pressed and releases. + diff --git a/z_gbdk_playground_original/input_wait/input_wait.c b/z_gbdk_playground_original/input_wait/input_wait.c new file mode 100644 index 0000000..0ce0dcb --- /dev/null +++ b/z_gbdk_playground_original/input_wait/input_wait.c @@ -0,0 +1,15 @@ +#include +#include + +void main() { + while(1) { + printf("Press Start\n\n"); + waitpad(J_START); + + printf("Please hold down A!\n\n"); + waitpad(J_A); + printf("Holding down A!\n\n"); + waitpadup(); + printf("Tired already?\n\n\n"); + } +} diff --git a/z_gbdk_playground_original/input_wait/screenshot.png b/z_gbdk_playground_original/input_wait/screenshot.png new file mode 100644 index 0000000..1c736a6 Binary files /dev/null and b/z_gbdk_playground_original/input_wait/screenshot.png differ diff --git a/z_gbdk_playground_original/link/Makefile b/z_gbdk_playground_original/link/Makefile new file mode 100644 index 0000000..9a83cfc --- /dev/null +++ b/z_gbdk_playground_original/link/Makefile @@ -0,0 +1,17 @@ +AS = lcc -c +CC = lcc -Wa-l -Wl-m + +BIN = link.gb +OBJS = link.o + +all: $(BIN) + +%.s: %.ms + maccer -o $@ $< + +$(BIN): $(OBJS) + $(CC) -o $(BIN) $(OBJS) + +clean: + rm -rf $(BIN) $(OBJS) *~ + diff --git a/z_gbdk_playground_original/link/README.md b/z_gbdk_playground_original/link/README.md new file mode 100644 index 0000000..afeca64 --- /dev/null +++ b/z_gbdk_playground_original/link/README.md @@ -0,0 +1,6 @@ +# Link + +![](screenshot.png) + +Demonstrates how to use the Link Cable to send and receive bytes. + diff --git a/z_gbdk_playground_original/link/link.c b/z_gbdk_playground_original/link/link.c new file mode 100644 index 0000000..9ee85e0 --- /dev/null +++ b/z_gbdk_playground_original/link/link.c @@ -0,0 +1,30 @@ +#include +#include + +void main(void) { + printf("A: Send\nB: Receive\n\n"); + _io_out = 1; + while (1) { + if (joypad() == J_A) { + waitpadup(); + send_byte(); // send _io_out + printf("Sending...\n"); + while (_io_status == IO_SENDING); // Wait for Send + if (_io_status == IO_IDLE) // If IO status returns to Idle then success + printf("Sent %d\n", (int)_io_out); + else + printf("Error\n"); // Else print error code + _io_out++; + } + if (joypad() == J_B) { + waitpadup(); + receive_byte(); // receive _io_in + printf("Receiving...\n"); + while (_io_status == IO_RECEIVING); // Wait for Receive + if (_io_status == IO_IDLE) // If IO status returns to Idle then success + printf("Received %d\n", (int)_io_in); + else + printf("Error\n"); // Else print error + } + } +} \ No newline at end of file diff --git a/z_gbdk_playground_original/link/screenshot.png b/z_gbdk_playground_original/link/screenshot.png new file mode 100644 index 0000000..0b243fc Binary files /dev/null and b/z_gbdk_playground_original/link/screenshot.png differ diff --git a/z_gbdk_playground_original/move_sprite/Makefile b/z_gbdk_playground_original/move_sprite/Makefile new file mode 100644 index 0000000..44d1327 --- /dev/null +++ b/z_gbdk_playground_original/move_sprite/Makefile @@ -0,0 +1,17 @@ +AS = lcc -c +CC = lcc -Wa-l -Wl-m + +BIN = move_sprite.gb +OBJS = move_sprite.o ufo.o + +all: $(BIN) + +%.s: %.ms + maccer -o $@ $< + +$(BIN): $(OBJS) + $(CC) -o $(BIN) $(OBJS) + +clean: + rm -rf $(BIN) $(OBJS) *~ + diff --git a/z_gbdk_playground_original/move_sprite/README.md b/z_gbdk_playground_original/move_sprite/README.md new file mode 100644 index 0000000..786a2b4 --- /dev/null +++ b/z_gbdk_playground_original/move_sprite/README.md @@ -0,0 +1,6 @@ +# Move Sprite + +![](screenshot.gif) + +Demonstrates how to move a sprite using the d-pad. + diff --git a/z_gbdk_playground_original/move_sprite/move_sprite.c b/z_gbdk_playground_original/move_sprite/move_sprite.c new file mode 100644 index 0000000..20d6a8b --- /dev/null +++ b/z_gbdk_playground_original/move_sprite/move_sprite.c @@ -0,0 +1,37 @@ +#include +#include "ufo.c" + +void main() { + int x = 55; + int y = 75; + + SPRITES_8x8; + set_sprite_data(0, 0, ufo); + set_sprite_tile(0, 0); + move_sprite(0, x, y); + + SHOW_SPRITES; + + while(1) { + if(joypad() & J_RIGHT) { + x++; + move_sprite(0, x, y); + delay(10); + } + if(joypad() & J_LEFT) { + x--; + move_sprite(0, x, y); + delay(10); + } + if(joypad() & J_UP) { + y--; + move_sprite(0, x, y); + delay(10); + } + if(joypad() & J_DOWN) { + y++; + move_sprite(0, x, y); + delay(10); + } + } +} diff --git a/z_gbdk_playground_original/move_sprite/screenshot.gif b/z_gbdk_playground_original/move_sprite/screenshot.gif new file mode 100644 index 0000000..5923e6e Binary files /dev/null and b/z_gbdk_playground_original/move_sprite/screenshot.gif differ diff --git a/z_gbdk_playground_original/move_sprite/ufo.c b/z_gbdk_playground_original/move_sprite/ufo.c new file mode 100644 index 0000000..f0d3637 --- /dev/null +++ b/z_gbdk_playground_original/move_sprite/ufo.c @@ -0,0 +1,32 @@ +/* + + UFO.C + + Tile Source File. + + Info: + Form : All tiles as one unit. + Format : Gameboy 4 color. + Compression : None. + Counter : None. + Tile size : 8 x 8 + Tiles : 0 to 0 + + Palette colors : None. + SGB Palette : None. + CGB Palette : None. + + Convert to metatiles : No. + + This file was generated by GBTD v2.2 + +*/ + +/* Start of tile array. */ +unsigned char ufo[] = +{ + 0x5A,0x3C,0xE3,0x42,0x7C,0x99,0xEB,0xA5, + 0xFB,0xA5,0x66,0x99,0xE7,0x42,0x5A,0x3C +}; + +/* End of UFO.C */ diff --git a/z_gbdk_playground_original/move_sprite/ufo.gbr b/z_gbdk_playground_original/move_sprite/ufo.gbr new file mode 100644 index 0000000..c043f4b Binary files /dev/null and b/z_gbdk_playground_original/move_sprite/ufo.gbr differ diff --git a/z_gbdk_playground_original/move_sprite/ufo.h b/z_gbdk_playground_original/move_sprite/ufo.h new file mode 100644 index 0000000..436d750 --- /dev/null +++ b/z_gbdk_playground_original/move_sprite/ufo.h @@ -0,0 +1,31 @@ +/* + + UFO.H + + Include File. + + Info: + Form : All tiles as one unit. + Format : Gameboy 4 color. + Compression : None. + Counter : None. + Tile size : 8 x 8 + Tiles : 0 to 0 + + Palette colors : None. + SGB Palette : None. + CGB Palette : None. + + Convert to metatiles : No. + + This file was generated by GBTD v2.2 + +*/ + + +/* Bank of tiles. */ +#define ufoBank 0 +/* Start of tile array. */ +extern unsigned char ufo[]; + +/* End of UFO.H */ diff --git a/z_gbdk_playground_original/save_ram/Makefile b/z_gbdk_playground_original/save_ram/Makefile new file mode 100644 index 0000000..fc00971 --- /dev/null +++ b/z_gbdk_playground_original/save_ram/Makefile @@ -0,0 +1,16 @@ +AS = lcc -c +CC = lcc -Wa-l -Wl-m -Wl-yt3 -Wl-yo4 -Wl-ya4 + +BIN = save_ram.gb +OBJS = save_ram.o + +all: $(BIN) + +%.s: %.ms + maccer -o $@ $< + +$(BIN): $(OBJS) + $(CC) -o $(BIN) $(OBJS) + +clean: + rm -rf $(BIN) $(OBJS) *~ \ No newline at end of file diff --git a/z_gbdk_playground_original/save_ram/README.md b/z_gbdk_playground_original/save_ram/README.md new file mode 100644 index 0000000..53dad79 --- /dev/null +++ b/z_gbdk_playground_original/save_ram/README.md @@ -0,0 +1,5 @@ +# Save RAM + +![](screenshot.png) + +Demonstrates how to load and save variables. Using Save RAM requires additional compiler arguments. \ No newline at end of file diff --git a/z_gbdk_playground_original/save_ram/save_ram.c b/z_gbdk_playground_original/save_ram/save_ram.c new file mode 100644 index 0000000..c456586 --- /dev/null +++ b/z_gbdk_playground_original/save_ram/save_ram.c @@ -0,0 +1,22 @@ +#include +#include + +char *saved = (char *)0xa000; // Pointer to memory address +int *num = (int *)0xa001; + +void main() + +{ + ENABLE_RAM_MBC1; // Enable RAM + + if (saved[0] != 's') { // Check to see if the variable's ever been saved before + num[0]=0; // Assign the variable an initial value + saved[0] = 's'; // Assign saved an 's' value so the if statement isn't executed on next load + } + + printf("The value of num is: %d\n", num[0]); + + num[0]++; // Increment so on next load there's a new number + + DISABLE_RAM_MBC1; // Disable RAM +} diff --git a/z_gbdk_playground_original/save_ram/screenshot.png b/z_gbdk_playground_original/save_ram/screenshot.png new file mode 100644 index 0000000..c5a68e9 Binary files /dev/null and b/z_gbdk_playground_original/save_ram/screenshot.png differ diff --git a/z_gbdk_playground_original/simple_shmup/Makefile b/z_gbdk_playground_original/simple_shmup/Makefile new file mode 100644 index 0000000..d9f60b7 --- /dev/null +++ b/z_gbdk_playground_original/simple_shmup/Makefile @@ -0,0 +1,17 @@ +AS = lcc -c +CC = lcc -Wa-l -Wl-m + +BIN = simple_shmup.gb +OBJS = simple_shmup.o bank2.o bank3.o + +all: $(BIN) + +%.s: %.ms + maccer -o $@ $< + +$(BIN): $(OBJS) + $(CC) -o $(BIN) $(OBJS) + +clean: + rm -rf $(BIN) $(OBJS) *~ + diff --git a/z_gbdk_playground_original/simple_shmup/README.md b/z_gbdk_playground_original/simple_shmup/README.md new file mode 100644 index 0000000..8000efc --- /dev/null +++ b/z_gbdk_playground_original/simple_shmup/README.md @@ -0,0 +1,8 @@ +# Simple SHMUP + +![](screenshot.png) + +A simple side-scrolling shoot 'em up game. This example uses several small +sprites, a scrolling background and a full-screen image. + +Tutorial: [How to write a simple side scrolling game in GBDK](https://pastebin.com/F3tHLj68) by Jason diff --git a/z_gbdk_playground_original/simple_shmup/background.bmp b/z_gbdk_playground_original/simple_shmup/background.bmp new file mode 100644 index 0000000..69c9509 Binary files /dev/null and b/z_gbdk_playground_original/simple_shmup/background.bmp differ diff --git a/z_gbdk_playground_original/simple_shmup/backgrounds.gbr b/z_gbdk_playground_original/simple_shmup/backgrounds.gbr new file mode 100644 index 0000000..8edf8ee Binary files /dev/null and b/z_gbdk_playground_original/simple_shmup/backgrounds.gbr differ diff --git a/z_gbdk_playground_original/simple_shmup/bank2.c b/z_gbdk_playground_original/simple_shmup/bank2.c new file mode 100644 index 0000000..c755534 --- /dev/null +++ b/z_gbdk_playground_original/simple_shmup/bank2.c @@ -0,0 +1,154 @@ +#include +#include +#include + +const UBYTE badguy_ai[] = { + 32, 32, 33, 34, 35, 35, 36, 37, + 38, 38, 39, 40, 41, 41, 42, 43, + 44, 44, 45, 46, 46, 47, 48, 48, + 49, 50, 50, 51, 51, 52, 53, 53, + 54, 54, 55, 55, 56, 56, 57, 57, + 58, 58, 58, 59, 59, 60, 60, 60, + 61, 61, 61, 61, 62, 62, 62, 62, + 62, 63, 63, 63, 63, 63, 63, 63, + 63, 63, 63, 63, 63, 63, 63, 63, + 62, 62, 62, 62, 62, 61, 61, 61, + 61, 60, 60, 60, 59, 59, 59, 58, + 58, 57, 57, 56, 56, 55, 55, 54, + 54, 53, 53, 52, 52, 51, 50, 50, + 49, 49, 48, 47, 47, 46, 45, 44, + 44, 43, 42, 42, 41, 40, 39, 39, + 38, 37, 36, 36, 35, 34, 33, 33, + 32, 31, 30, 29, 29, 28, 27, 26, + 26, 25, 24, 23, 23, 22, 21, 20, + 20, 19, 18, 18, 17, 16, 16, 15, + 14, 14, 13, 12, 12, 11, 11, 10, + 9, 9, 8, 8, 7, 7, 6, 6, + 6, 5, 5, 4, 4, 4, 3, 3, + 3, 2, 2, 2, 1, 1, 1, 1, + 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 1, 1, 1, 2, 2, + 2, 3, 3, 3, 4, 4, 4, 5, + 5, 5, 6, 6, 7, 7, 8, 8, + 9, 9, 10, 11, 11, 12, 12, 13, + 14, 14, 15, 16, 16, 17, 18, 18, + 19, 20, 20, 21, 22, 23, 23, 24, + 25, 26, 26, 27, 28, 29, 29, 30 +}; + +UBYTE playing, joypad_state; + +UBYTE player_x, player_y; + +UBYTE badguy_x, badguy_y, badguy_z, badguy_offset; + +UBYTE player_shot_x, player_shot_y, player_shot_z; + +void update_graphics(void) { + disable_interrupts(); + + scroll_bkg(1, 0); + + move_sprite(0, player_x, player_y); + + move_sprite(1, badguy_x, badguy_y); + + move_sprite(2, player_shot_x, player_shot_y); + + enable_interrupts(); +} + +void update_joypad(void) { + joypad_state = joypad(); + + if(joypad_state & J_LEFT) { + if(player_x > 8) + player_x--; + } + if(joypad_state & J_RIGHT) { + if(player_x < 160) + player_x++; + } + if(joypad_state & J_UP) { + if(player_y > 16) + player_y--; + } + if(joypad_state & J_DOWN) { + if(player_y < 152) + player_y++; + } + + if(joypad_state & J_A) { + if(player_shot_z == 0) { + player_shot_z = 1; + player_shot_x = player_x; + player_shot_y = player_y; + } + } + if(player_shot_z == 1) { + player_shot_x = player_shot_x + 2; + if(player_shot_x > 240) { + player_shot_x = 250; + player_shot_y = 250; + player_shot_z = 0; + } + } +} + +void update_badguy(void) { + badguy_x = badguy_x - 1; + if(badguy_x > 240) { + badguy_offset = rand(); + while(badguy_offset > 134) { + badguy_offset = rand(); + } + + badguy_x = 239; + } + + badguy_y = badguy_offset + badguy_ai[badguy_z]; + + badguy_z++; +} + + +void collision_detection(void) { + if(player_shot_y > badguy_y - 4) { + if(player_shot_y < badguy_y + 4) { + if(player_shot_x > badguy_x - 4) { + if(player_shot_x < badguy_x + 4) { + player_shot_z = 0; + player_shot_x = 250; + player_shot_y = 250; + badguy_x = 255; + } + } + } + } + + if(player_y > badguy_y - 4) { + if(player_y < badguy_y + 4) { + if(player_x > badguy_x - 4) { + if(player_x < badguy_x + 4) { + playing = 0; + delay(1000); + } + } + } + } +} + +void do_gameplay(void) { + playing = 1; + + player_x = GRAPHICS_WIDTH / 2; + player_y = GRAPHICS_HEIGHT / 2; + + while(playing == 1) { + update_joypad(); + update_badguy(); + collision_detection(); + delay(10); + } +} diff --git a/z_gbdk_playground_original/simple_shmup/bank3.c b/z_gbdk_playground_original/simple_shmup/bank3.c new file mode 100644 index 0000000..3d3566e --- /dev/null +++ b/z_gbdk_playground_original/simple_shmup/bank3.c @@ -0,0 +1,90 @@ +#include +#include "bg_title.c" +#include "bg_title.map" +#include "bg_tile.c" +#include "spr_tiles.c" + +const UBYTE gamemap[] = { + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +}; + +const UWORD bgpal[] = { + RGB(0, 0, 0), RGB(10, 10, 10), RGB(20, 20, 20), RGB(30, 30, 30), +}; +const UWORD spritepal[] = { + RGB(0, 0, 0), RGB(10, 10, 10), RGB(20, 20, 20), RGB(30, 30, 30), +}; + +void draw_title_screen(void) { + wait_vbl_done(); + + DISPLAY_OFF; + + set_bkg_data(0, 255, bg_title_tiledata); + set_bkg_tiles(0, 0, 20, 18, bg_title_tilemap); + + SHOW_BKG; + + HIDE_WIN; + + HIDE_SPRITES; + + wait_vbl_done(); + + DISPLAY_ON; + + waitpad(255); +} + +void load_game_tiles(void) { + wait_vbl_done(); + + DISPLAY_OFF; + + set_bkg_data(0, 1, BGTile); + set_bkg_tiles(0, 0, 32, 32, gamemap); + set_bkg_palette(0, 1, &bgpal[0]); + set_sprite_data(0, 3, SpriteTiles); + set_sprite_tile(0, 0); + set_sprite_tile(1, 1); + set_sprite_tile(2, 2); + + SPRITES_8x8; + + SHOW_SPRITES; + + SHOW_BKG; + + DISPLAY_ON; +} diff --git a/z_gbdk_playground_original/simple_shmup/bg_tile.c b/z_gbdk_playground_original/simple_shmup/bg_tile.c new file mode 100644 index 0000000..a898997 --- /dev/null +++ b/z_gbdk_playground_original/simple_shmup/bg_tile.c @@ -0,0 +1,32 @@ +/* + + BG_TILE.C + + Tile Source File. + + Info: + Form : All tiles as one unit. + Format : Gameboy 4 color. + Compression : None. + Counter : None. + Tile size : 8 x 8 + Tiles : 0 to 0 + + Palette colors : None. + SGB Palette : None. + CGB Palette : None. + + Convert to metatiles : No. + + This file was generated by GBTD v2.2 + +*/ + +/* Start of tile array. */ +const unsigned char BGTile[] = +{ + 0xFF,0xFF,0xFB,0xFB,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0x7F,0x7F,0xF7,0xF7,0xFF,0xFF +}; + +/* End of BG_TILE.C */ diff --git a/z_gbdk_playground_original/simple_shmup/bg_tile.h b/z_gbdk_playground_original/simple_shmup/bg_tile.h new file mode 100644 index 0000000..2a14b6a --- /dev/null +++ b/z_gbdk_playground_original/simple_shmup/bg_tile.h @@ -0,0 +1,31 @@ +/* + + BG_TILE.H + + Include File. + + Info: + Form : All tiles as one unit. + Format : Gameboy 4 color. + Compression : None. + Counter : None. + Tile size : 8 x 8 + Tiles : 0 to 0 + + Palette colors : None. + SGB Palette : None. + CGB Palette : None. + + Convert to metatiles : No. + + This file was generated by GBTD v2.2 + +*/ + + +/* Bank of tiles. */ +#define BGTileBank 0 +/* Start of tile array. */ +extern unsigned char BGTile[]; + +/* End of BG_TILE.H */ diff --git a/z_gbdk_playground_original/simple_shmup/bg_title.c b/z_gbdk_playground_original/simple_shmup/bg_title.c new file mode 100644 index 0000000..2d51b48 --- /dev/null +++ b/z_gbdk_playground_original/simple_shmup/bg_title.c @@ -0,0 +1,170 @@ +/* + Advanced PCX to GameBoy converter v2.15 + + Tiles data + Original PCX File : "BG.PCX" + + Number of Tiles : 159 + TileMap Size : 20x18 +*/ + +const unsigned char bg_title_tiledata[] = { +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xDF,0xDF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xDF,0xDF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xE0,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x30,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF8,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x07,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x7F,0xFF,0xFF,0xFF,0xFF,0x7F,0xFF, +0xFE,0xFF,0xFF,0xFC,0xF5,0xFB,0xFB,0xF7,0xE7,0xFF,0xFF,0xEF,0xDF,0xEF,0xDF,0xEF, +0xFF,0x00,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0xFF, +0xFF,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0xFF, +0x87,0x30,0xCF,0xB7,0xCF,0xB7,0xCF,0xB7,0xCF,0xB7,0xCF,0xB7,0xCF,0xB7,0x48,0xB7, +0xFF,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x07,0xFF, +0xFF,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0xFF, +0xFE,0x00,0xFE,0xFF,0xFE,0xFF,0xFE,0xFF,0xFE,0xFF,0xFE,0xFF,0xFE,0xFF,0x01,0xFE, +0x77,0xF8,0x7B,0xF7,0x7F,0xF7,0x6F,0xF7,0x67,0xFF,0x7F,0xEF,0x7F,0xEF,0x4F,0xFF, +0xFF,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF7,0xFF, +0xFB,0x07,0xF3,0xFF,0xFF,0xFB,0xFF,0xFB,0xF9,0xFF,0xF9,0xFF,0xFF,0xFD,0xFF,0xFD, +0xFF,0xF8,0x7F,0x7B,0xFF,0xFB,0xFF,0xFB,0xFF,0xFB,0xFF,0xFB,0xFF,0xFB,0xFF,0xFB, +0xFF,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0xFF,0xFC,0xFE, +0xFF,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x01,0xFF,0xFE,0x01, +0xF7,0x0F,0xEF,0xF3,0xFB,0xFD,0xFD,0xFE,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0xBF,0x7F,0x3F,0xFF,0x7F,0xBF, +0xCF,0xFF,0xDF,0xEF,0xFF,0xEF,0xF7,0xEF,0xEF,0xF7,0xF7,0xFB,0xF8,0xFF,0xFE,0xFF, +0xFF,0xFC,0xFE,0xFD,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0xFF, +0xFF,0x00,0xFF,0xFF,0x7F,0xFF,0x3F,0xFF,0xAF,0xDF,0xF7,0xEF,0xFB,0xF7,0xF7,0xFB, +0xCF,0x30,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0x03,0xF7,0xFB,0xF7,0xFB,0xF7,0xFB,0xF7,0xFB,0xF7,0xFB,0xF7,0xFB,0xF7,0xFB, +0xFF,0xFC,0xFE,0xFD,0xFE,0xFD,0xFE,0xFD,0xFE,0xFD,0xFE,0xFD,0xFE,0xFD,0xFE,0xFD, +0xFF,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0x4F,0xFF,0xFF,0xDF,0xFF,0xDF,0x9F,0xFF,0xDF,0xBF,0xFF,0xBF,0xFF,0xBF,0x3F,0xFF, +0xF3,0xFF,0xFF,0xF3,0xFF,0xF3,0xE7,0xFB,0xE1,0xFF,0xFF,0xED,0xFF,0xED,0xCE,0xFD, +0xFC,0xFF,0xFD,0xFE,0xFF,0xFE,0xFF,0xFE,0xFE,0xFF,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFB,0xFF,0xFB,0xFF,0xFB,0xFF,0xFB,0x7F,0xFB,0x7F,0xFB,0xFF,0x7B,0x3F,0xFB, +0xFD,0xFE,0xFD,0xFE,0xFD,0xFE,0xFF,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFE,0xFF,0xFE,0x03,0xFC,0xF9,0x07,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0xFF,0xFD,0xFE,0xFA,0xFD, +0xFF,0xBF,0xFF,0xBF,0xFF,0xBF,0x3F,0xFF,0xBF,0x7F,0xFF,0x7F,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0xFF,0xFE,0xFF,0xFE,0xFF,0xFE,0xFF,0xFE,0xFF,0xFE, +0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0x7F,0xBF,0xDF,0xBF,0xDF,0x3F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFD,0xFB,0xFB,0xFD,0xFF,0xFD,0xFF,0xFD,0xFB,0xFD,0xFD,0xFB,0xF7,0xFB,0xEB,0xF7, +0xF7,0xFB,0xF7,0xFB,0xF7,0xFB,0xF7,0xFB,0xF7,0xFB,0xF7,0xFB,0xF7,0xFB,0xF7,0xFB, +0xFE,0xFD,0xFE,0xFD,0xFE,0xFD,0xFE,0xFD,0xFE,0xFD,0xFE,0xFD,0xFE,0xFD,0xFE,0xFD, +0xFF,0xFF,0xFF,0xFF,0xFE,0xFF,0xFE,0xFF,0xFE,0xFF,0xFF,0xFE,0xFC,0xFF,0xFC,0xFF, +0x3F,0xFF,0xFF,0x7F,0x7F,0xFF,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFE,0xC1,0xC1,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x80,0xFF,0x40,0xBF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0xFF,0xBF,0x7F, +0x3F,0xFB,0xFF,0xBB,0xFF,0xBB,0x9F,0xFB,0x9F,0xFB,0xFF,0xDB,0xFF,0xDB,0xCF,0xFB, +0xFF,0xFF,0xFE,0xFF,0xFD,0xFE,0xFC,0xFE,0xFD,0xFE,0xFD,0xFE,0xFD,0xFE,0xFD,0xFE, +0xFF,0xFF,0xFF,0xFF,0x7F,0xFF,0xBF,0x7F,0x5F,0xBF,0xAF,0xDF,0xD7,0xEF,0xEB,0xF7, +0xED,0xF3,0xEB,0xF7,0xF7,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0x0F,0xDF,0xEF,0xDF,0xEF,0xDF,0xEF,0xDF,0xEF,0xDF,0xEF, +0xFF,0xFE,0xFF,0xFE,0xFF,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0x7F,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0xFE,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xD7,0xEF,0x6F,0x9F,0xBF,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xF7,0xFB,0xF7,0xFB,0xF7,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFE,0xFD,0xFE,0xFD,0xFE,0x01,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFD,0xFF,0xFD,0xFB,0xFC,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFE,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0x7F,0xFF,0x7F,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0x7F,0xBF,0xDF,0xBF,0xFF,0x80,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xCF,0xFB,0xDD,0xEB,0xF7,0x08,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFD,0xFE,0xFD,0xFE,0xFF,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xF5,0xFB,0xFD,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0x7F,0xFF,0x7F,0x80,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xDF,0xEF,0xDF,0xEF,0xEF,0x1F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0xFE,0xFD,0xFD,0xFB,0xFB,0xF7, +0xFF,0xFF,0xF9,0xFE,0xDC,0xE3,0x6F,0x9F,0xBF,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xEF,0x1F,0x2F,0xDF,0xCF,0xFF,0xCF,0xFF,0xCF,0xFF,0xCE,0xFF,0xCF,0xFE, +0xFF,0xFF,0xF6,0xF7,0xFB,0xFC,0xEB,0xF7,0xBF,0xCF,0x5F,0xBF,0xBF,0x7F,0x7F,0xFF, +0xFF,0xFF,0x39,0xC7,0x03,0xFC,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xBF,0x7F,0x6F,0x9F,0xD7,0xEF,0xEB,0xF7,0xFD,0xFB,0xFE,0xFD, +0xFF,0xFF,0xFF,0xE0,0xF0,0xEF,0xFF,0xEF,0xFF,0xEF,0xFF,0xEF,0xFF,0xEF,0xFF,0xEF, +0xFE,0xFE,0xFE,0x01,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0x7F,0xFF,0xDF,0x3F,0xF7,0xCF,0xEB,0xF7,0xF7,0xFB,0xF9,0xFF,0xFF,0xFD, +0xFF,0xFF,0xFE,0xFF,0xFB,0xFC,0xFF,0xF3,0xF7,0xEF,0xEF,0xDF,0xBF,0xDF,0xDF,0xBF, +0xFF,0xFF,0x7F,0x80,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFD,0xFD,0x7F,0xFF,0xFF,0x7F,0xFF,0x7F,0xFF,0x7F,0xFF,0x7F,0xFF,0x7F,0xFF,0x7F, +0xEF,0xF7,0xF7,0xEF,0xDF,0xEF,0xCF,0xFF,0xEF,0xDF,0xFF,0xDF,0xFF,0xDF,0xFF,0xDF, +0xFF,0xFF,0xFD,0xFE,0xF6,0xF9,0xEB,0xF7,0xF7,0xEF,0xDF,0xEF,0xCF,0xFF,0xCF,0xFF, +0xCD,0xFE,0xEF,0x1D,0x19,0xFF,0xFD,0xFB,0xFF,0xFB,0xF7,0xFB,0xF7,0xFB,0xF7,0xFB, +0xFF,0xFF,0xFF,0xFF,0xFE,0xFF,0xFD,0xFE,0xFF,0xFD,0xF9,0xFF,0xFD,0xFB,0xFD,0xFB, +0xFF,0xFF,0xB3,0xCF,0xC5,0x3B,0x7F,0xFC,0xFF,0xFE,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFD,0xFE,0xFF,0xFE,0xFE,0xFF,0xFF,0xFF,0x7F,0xFF,0xFF,0x7F,0xFF,0x7F,0xFF,0x7F, +0xFF,0xEF,0x7F,0xEF,0xFF,0x6F,0xFF,0x6F,0xBF,0x6F,0x3F,0xEF,0x7F,0xAF,0x7F,0xAF, +0xF7,0xF8,0xF7,0xFB,0xF7,0xFB,0xF7,0xFB,0xF3,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xF7,0x0F,0xEF,0xF3,0xFF,0xFB,0xF7,0xFB,0xFB,0x07,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFE,0xFD,0xFD,0xFE,0xFD,0xFE,0xFD,0xFE,0xFD,0xFE,0xFE,0xFD,0xFF,0xFD,0xFD,0xFB, +0xDF,0xBF,0xFF,0xBF,0xFF,0xBF,0xDF,0xBF,0x9F,0xFF,0xFF,0xDF,0xDF,0xEF,0xE7,0xFF, +0xFF,0xFF,0xFB,0xFC,0xF4,0xFB,0xFD,0xFB,0xFC,0xFF,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0x3F,0xFF,0xDF,0xBF,0xEF,0xDF, +0xFF,0xDF,0xEF,0xDF,0xCF,0xFF,0xDF,0xEF,0xF7,0xEF,0xEF,0xF7,0xF7,0xFB,0xFD,0xFB, +0xDF,0xEF,0xF7,0xEF,0xEB,0xF7,0xF6,0xF9,0xFC,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0xFF,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFB,0xFF,0xFB,0xFD,0xFB,0x1B,0xFD,0x2F,0xDD,0xCD,0xFE,0xCF,0xFE,0xCF,0xFF, +0xFB,0xFD,0xFE,0xFD,0xFD,0xFE,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0xFF,0xBF,0x7F, +0xFE,0xFF,0xFF,0xFE,0x7F,0xFC,0xCD,0x33,0x87,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0x7F,0x7F,0xFF,0xFF,0xFF,0xFE,0xFF,0xFF,0xFE,0xFD,0xFE,0xFA,0xFD,0xF5,0xFB, +0x3F,0xEF,0xBF,0x6F,0xFF,0x6F,0xFF,0x6F,0x7F,0xEF,0xFF,0xEF,0xFF,0xEF,0xFF,0xEF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF8,0xFF,0xF4,0xFB,0xF7,0xFB,0xF7,0xFB,0xF7,0xFB, +0xF7,0xFB,0xEB,0xF7,0xBF,0xCF,0xDC,0x3F,0x7A,0xFD,0xFB,0xFD,0xFB,0xFD,0xFB,0xFD, +0xF1,0xFF,0xFC,0xFF,0xFE,0xFF,0x00,0xFF,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0xFF,0x7F,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xF7,0xEF,0xEF,0xF7,0xFF,0xF7,0xFB,0xF7,0xFB,0xF7,0xFB,0xF7,0xFB,0xF7,0xEF,0xF7, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xDF,0xDF,0xFF,0xFF, +0xFF,0xFC,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xBF,0x7F,0x6F,0x9F,0xDC,0xE3,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xCF,0xFF,0xCF,0xFF,0xCF,0xFF,0x2F,0xDF,0x1F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0x5F,0xBF,0xF7,0xCF,0xED,0xF3,0xFB,0xFC,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x87,0x78,0x03,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xEB,0xF7,0xD7,0xEF,0x7F,0x9F,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xEF,0xFF,0xEF,0xFF,0xEF,0xF0,0xEF,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xF7,0xFB,0xF7,0xFB,0xF7,0xFB,0x0F,0xF3,0x03,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFB,0xFD,0xFB,0xFD,0xFB,0xFD,0xFA,0xFD,0xFC,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x03,0xFC,0x01,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xF7,0xEF,0xAF,0xDF,0x5F,0xBF,0xBF,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0x7F,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFB,0xFB,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFC,0xFC, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x01,0x01, +0xFD,0xFD,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF0,0xF0, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F,0x1F, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFD,0xFD,0xFF,0xFF, +0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC, +0x78,0x78,0x78,0x78,0x78,0x78,0x78,0x78,0x01,0x01,0x01,0x01,0x7F,0x7F,0x7F,0x7F, +0xFF,0xFF,0xFF,0xFF,0xF0,0xF0,0xF0,0xF0,0xF1,0xF1,0xF1,0xF1,0xF1,0xF1,0xF1,0xF1, +0xFF,0xFF,0xFF,0xFF,0x07,0x07,0x07,0x07,0xE3,0xE3,0xE3,0xE3,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xF0,0xF0,0xF0,0xF0,0xC7,0xC7,0xC7,0xC7,0xC0,0xC0,0xC7,0xC7, +0xFF,0xFF,0xFF,0xFF,0x1F,0x1F,0x1F,0x1F,0x8F,0x8F,0x8F,0x8F,0x0F,0x0F,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xC0,0xC0,0xC0,0xC0,0x1F,0x1F,0x1F,0x1F,0xC0,0xC0,0xFE,0xFE, +0xFF,0xFF,0xFF,0xFF,0x3F,0x3F,0x3F,0x3F,0xFC,0xFC,0xFC,0xFC,0x7F,0x7F,0x3F,0x3F, +0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x7F,0x7F,0x7F,0x7F,0x01,0x01,0xF8,0xF8, +0xC7,0xC7,0xC7,0xC7,0xC7,0xC7,0xC7,0xC7,0xF0,0xF0,0xF0,0xF0,0xFF,0xFF,0xC7,0xC7, +0x8F,0x8F,0x8F,0x8F,0xFF,0xFF,0xFF,0xFF,0x1F,0x1F,0x1F,0x1F,0x8F,0x8F,0x8F,0x8F, +0xE1,0xE1,0xE1,0xE1,0x00,0x00,0x00,0x00,0xE1,0xE1,0xE1,0xE1,0xE1,0xE1,0xE1,0xE1, +0xFF,0xFF,0xFF,0xFF,0x3F,0x3F,0x3F,0x3F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFC,0xFC, +0xFF,0xFF,0xFF,0xFF,0x01,0x01,0x01,0x01,0xF8,0xF8,0xF8,0xF8,0x00,0x00,0x78,0x78, +0xF8,0xF8,0xF8,0xF8,0xC0,0xC0,0xC0,0xC0,0xF8,0xF8,0xF8,0xF8,0xF8,0xF8,0xF8,0xF8, +0x7F,0x7F,0x7F,0x7F,0x0F,0x0F,0x0F,0x0F,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F, +0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xF1,0xF1,0xF1,0xF1,0xF1,0xF1,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xC7,0xC7,0xF0,0xF0,0xF0,0xF0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0x1F,0x1F,0x1F,0x1F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFE,0xFE,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0x3F,0x3F,0x7C,0x7C,0x7C,0x7C,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xF8,0xF8,0x01,0x01,0x01,0x01,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0x8F,0x8F,0x1F,0x1F,0x1F,0x1F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xE1,0xE1,0xF8,0xF8,0xF8,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFC,0xFC,0x3F,0x3F,0x3F,0x3F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0x78,0x78,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xF8,0xF8,0xFE,0xFE,0xFE,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0x7F,0x7F,0x0F,0x0F,0x0F,0x0F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF}; diff --git a/z_gbdk_playground_original/simple_shmup/make.bat b/z_gbdk_playground_original/simple_shmup/make.bat new file mode 100644 index 0000000..fd7d0f5 --- /dev/null +++ b/z_gbdk_playground_original/simple_shmup/make.bat @@ -0,0 +1,8 @@ +echo off + +lcc -Wa-l -Wl-m -Wl-j -c -o simple_shmup.o simple_shmup.c +lcc -Wa-l -Wl-m -Wl-j -Wf-bo2 -c -o bank2.o bank2.c +lcc -Wa-l -Wl-m -Wl-j -Wf-bo3 -c -o bank3.o bank3.c +lcc -Wa-l -Wl-m -Wl-j -Wl-yt0x01 -Wl-yo4 -o simple_shmup.gb simple_shmup.o bank2.o bank3.o + +rem -Wl-yp0x143=0x80 diff --git a/z_gbdk_playground_original/simple_shmup/screenshot.png b/z_gbdk_playground_original/simple_shmup/screenshot.png new file mode 100644 index 0000000..5d40183 Binary files /dev/null and b/z_gbdk_playground_original/simple_shmup/screenshot.png differ diff --git a/z_gbdk_playground_original/simple_shmup/simple_shmup.c b/z_gbdk_playground_original/simple_shmup/simple_shmup.c new file mode 100644 index 0000000..2b1d617 --- /dev/null +++ b/z_gbdk_playground_original/simple_shmup/simple_shmup.c @@ -0,0 +1,58 @@ +#include +#include +#include + +// bank 0 +void vblint(void); + +// bank 2 +void update_graphics(void); + +void do_gameplay(void); + +void update_joypad(void); + +void update_badguy(void); + +void collision_detection(void); + +// bank 3 +void draw_title_screen(void); + +void load_game_tiles(void); + +fixed seed; + +// main +void main() { + seed.b.l = DIV_REG; + + SWITCH_ROM_MBC1(3); + + draw_title_screen(); + + seed.b.h = DIV_REG; + + initrand(seed.w); + + load_game_tiles(); + + disable_interrupts(); + + add_VBL(vblint); + + SWITCH_ROM_MBC1(2); + + enable_interrupts(); + + do_gameplay(); + + reset(); +} + +void vblint(void) { + SWITCH_ROM_MBC1(2); + + update_graphics(); +} + diff --git a/z_gbdk_playground_original/simple_shmup/spr_tiles.c b/z_gbdk_playground_original/simple_shmup/spr_tiles.c new file mode 100644 index 0000000..9beef84 --- /dev/null +++ b/z_gbdk_playground_original/simple_shmup/spr_tiles.c @@ -0,0 +1,36 @@ +/* + + SPR_TILES.C + + Tile Source File. + + Info: + Form : All tiles as one unit. + Format : Gameboy 4 color. + Compression : None. + Counter : None. + Tile size : 8 x 8 + Tiles : 0 to 2 + + Palette colors : None. + SGB Palette : None. + CGB Palette : None. + + Convert to metatiles : No. + + This file was generated by GBTD v2.2 + +*/ + +/* Start of tile array. */ +const unsigned char SpriteTiles[] = +{ + 0x40,0x40,0xE0,0xA0,0xFE,0x80,0xC8,0xB8, + 0x8C,0xF4,0x96,0xEA,0xA9,0xD7,0xFF,0xFF, + 0x02,0x40,0xC5,0xA3,0xE5,0xBB,0xF5,0xAB, + 0xF5,0xAB,0xF5,0xAB,0xFD,0xBB,0x42,0x42, + 0x00,0x00,0x00,0x18,0x18,0x3C,0x3C,0x66, + 0x3C,0x66,0x18,0x3C,0x00,0x18,0x00,0x00 +}; + +/* End of SPR_TILES.C */ diff --git a/z_gbdk_playground_original/simple_shmup/spr_tiles.h b/z_gbdk_playground_original/simple_shmup/spr_tiles.h new file mode 100644 index 0000000..d3936e6 --- /dev/null +++ b/z_gbdk_playground_original/simple_shmup/spr_tiles.h @@ -0,0 +1,31 @@ +/* + + SPR_TILES.H + + Include File. + + Info: + Form : All tiles as one unit. + Format : Gameboy 4 color. + Compression : None. + Counter : None. + Tile size : 8 x 8 + Tiles : 0 to 2 + + Palette colors : None. + SGB Palette : None. + CGB Palette : None. + + Convert to metatiles : No. + + This file was generated by GBTD v2.2 + +*/ + + +/* Bank of tiles. */ +#define SpriteTilesBank 0 +/* Start of tile array. */ +extern unsigned char SpriteTiles[]; + +/* End of SPR_TILES.H */ diff --git a/z_gbdk_playground_original/simple_shmup/sprites.gbr b/z_gbdk_playground_original/simple_shmup/sprites.gbr new file mode 100644 index 0000000..3e12344 Binary files /dev/null and b/z_gbdk_playground_original/simple_shmup/sprites.gbr differ diff --git a/z_gbdk_playground_original/small_sprite/Makefile b/z_gbdk_playground_original/small_sprite/Makefile new file mode 100644 index 0000000..99a174e --- /dev/null +++ b/z_gbdk_playground_original/small_sprite/Makefile @@ -0,0 +1,17 @@ +AS = lcc -c +CC = lcc -Wa-l -Wl-m + +BIN = small_sprite.gb +OBJS = small_sprite.o sprite.o + +all: $(BIN) + +%.s: %.ms + maccer -o $@ $< + +$(BIN): $(OBJS) + $(CC) -o $(BIN) $(OBJS) + +clean: + rm -rf $(BIN) $(OBJS) *~ + diff --git a/z_gbdk_playground_original/small_sprite/README.md b/z_gbdk_playground_original/small_sprite/README.md new file mode 100644 index 0000000..2ab02a2 --- /dev/null +++ b/z_gbdk_playground_original/small_sprite/README.md @@ -0,0 +1,6 @@ +# Small Sprite + +![](screenshot.png) + +Renders a small 8x8 sprite to the screen. + diff --git a/z_gbdk_playground_original/small_sprite/screenshot.png b/z_gbdk_playground_original/small_sprite/screenshot.png new file mode 100644 index 0000000..cd6c5ee Binary files /dev/null and b/z_gbdk_playground_original/small_sprite/screenshot.png differ diff --git a/z_gbdk_playground_original/small_sprite/small_sprite.c b/z_gbdk_playground_original/small_sprite/small_sprite.c new file mode 100644 index 0000000..ac5472b --- /dev/null +++ b/z_gbdk_playground_original/small_sprite/small_sprite.c @@ -0,0 +1,10 @@ +#include +#include "sprite.c" + +void main() { + SPRITES_8x8; + set_sprite_data(0, 8, sprite); + set_sprite_tile(0, 0); + move_sprite(0, 50, 50); + SHOW_SPRITES; +} diff --git a/z_gbdk_playground_original/small_sprite/sprite.c b/z_gbdk_playground_original/small_sprite/sprite.c new file mode 100644 index 0000000..b01d689 --- /dev/null +++ b/z_gbdk_playground_original/small_sprite/sprite.c @@ -0,0 +1,32 @@ +/* + + SPRITE.C + + Tile Source File. + + Info: + Form : All tiles as one unit. + Format : Gameboy 4 color. + Compression : None. + Counter : None. + Tile size : 8 x 8 + Tiles : 0 to 0 + + Palette colors : None. + SGB Palette : None. + CGB Palette : None. + + Convert to metatiles : No. + + This file was generated by GBTD v2.2 + +*/ + +/* Start of tile array. */ +unsigned char sprite[] = +{ + 0x7E,0x7E,0x99,0x99,0x81,0x81,0xA5,0xA5, + 0x81,0x81,0xDB,0xDB,0xC3,0xC3,0x3C,0x3C +}; + +/* End of SPRITE.C */ diff --git a/z_gbdk_playground_original/small_sprite/sprite.gbr b/z_gbdk_playground_original/small_sprite/sprite.gbr new file mode 100644 index 0000000..76ff02e Binary files /dev/null and b/z_gbdk_playground_original/small_sprite/sprite.gbr differ diff --git a/z_gbdk_playground_original/small_sprite/sprite.h b/z_gbdk_playground_original/small_sprite/sprite.h new file mode 100644 index 0000000..8205443 --- /dev/null +++ b/z_gbdk_playground_original/small_sprite/sprite.h @@ -0,0 +1,31 @@ +/* + + SPRITE.H + + Include File. + + Info: + Form : All tiles as one unit. + Format : Gameboy 4 color. + Compression : None. + Counter : None. + Tile size : 8 x 8 + Tiles : 0 to 0 + + Palette colors : None. + SGB Palette : None. + CGB Palette : None. + + Convert to metatiles : No. + + This file was generated by GBTD v2.2 + +*/ + + +/* Bank of tiles. */ +#define spriteBank 0 +/* Start of tile array. */ +extern unsigned char sprite[]; + +/* End of SPRITE.H */ diff --git a/z_gbdk_playground_original/small_sprite/sprite.png b/z_gbdk_playground_original/small_sprite/sprite.png new file mode 100644 index 0000000..c9335d6 Binary files /dev/null and b/z_gbdk_playground_original/small_sprite/sprite.png differ diff --git a/z_gbdk_playground_original/window/Makefile b/z_gbdk_playground_original/window/Makefile new file mode 100644 index 0000000..e0092f9 --- /dev/null +++ b/z_gbdk_playground_original/window/Makefile @@ -0,0 +1,17 @@ +AS = lcc -c +CC = lcc -Wa-l -Wl-m + +BIN = window.gb +OBJS = main.o + +all: $(BIN) + +%.s: %.ms + maccer -o $@ $< + +$(BIN): $(OBJS) + $(CC) -o $(BIN) $(OBJS) + +clean: + rm -rf $(BIN) $(OBJS) *~ + diff --git a/z_gbdk_playground_original/window/README.md b/z_gbdk_playground_original/window/README.md new file mode 100644 index 0000000..a7d7c70 --- /dev/null +++ b/z_gbdk_playground_original/window/README.md @@ -0,0 +1,7 @@ +# Window + +![](screenshot.png) + +Demonstrates the use of the window layer along with the background layer. Both +use similar API. + diff --git a/z_gbdk_playground_original/window/bg.c b/z_gbdk_playground_original/window/bg.c new file mode 100644 index 0000000..f7611ea --- /dev/null +++ b/z_gbdk_playground_original/window/bg.c @@ -0,0 +1,163 @@ +/* + Advanced PCX to GameBoy converter v2.15 + + Tiles data + Original PCX File : "BG.PCX" + + Number of Tiles : 152 + TileMap Size : 20x18 +*/ + +const unsigned char bg_tiledata[] = { +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFC,0xFF,0xFE,0xFF,0xFC,0xFF,0xFE,0xFF,0xFC,0xFF,0xFE,0xFF,0xFC,0xFF,0xFE,0xFF, +0x00,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF, +0x3E,0xFF,0x3E,0xFF,0x3E,0xFF,0x3E,0xFF,0x3E,0xFF,0x3F,0xFF,0x1F,0xFF,0x3F,0xFF, +0x3F,0xFF,0x7F,0xFF,0x7F,0xFF,0xFD,0xFF,0xFA,0xFF,0xF9,0xFF,0xD4,0xFF,0xAA,0xFF, +0x00,0xFF,0x80,0xFF,0x00,0xFF,0x80,0xFF,0x80,0xFF,0x20,0xFF,0x40,0xFF,0x20,0xFF, +0x00,0xFF,0x00,0xFF,0x02,0xFF,0x00,0xFF,0x23,0xFF,0x01,0xFF,0x20,0xFF,0x15,0xFF, +0x80,0xFF,0x00,0xFF,0x81,0xFF,0x81,0xFF,0x04,0xFF,0x84,0xFF,0x88,0xFF,0x40,0xFF, +0x9E,0xFF,0x82,0xFF,0x3B,0xFE,0x12,0xFF,0x00,0xFF,0x04,0xFB,0x00,0xFF,0x40,0xFF, +0xFC,0x03,0xED,0x12,0xBC,0x43,0xEE,0x11,0x38,0xC7,0x0E,0xF1,0x01,0xFE,0x00,0xFF, +0x4A,0xB5,0x55,0xAA,0x2A,0xD5,0xAA,0x55,0x95,0x6A,0xCA,0xB5,0x2A,0xD5,0xAA,0x55, +0xB6,0x49,0x5B,0xA4,0xD5,0x2A,0xAF,0x50,0x4B,0xB4,0xAA,0x55,0xB7,0x58,0xA1,0x5E, +0x1F,0xE0,0xCD,0x32,0x5F,0xA0,0xED,0x12,0xBF,0x40,0x8F,0x70,0x16,0xE9,0xD7,0x28, +0xFF,0x00,0xF7,0x08,0xBE,0x41,0xFF,0x00,0xDF,0x20,0xED,0x12,0xFF,0x00,0xFF,0x00, +0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF,0x00, +0x78,0xFF,0xB8,0xFF,0x78,0xFF,0x78,0xFF,0x58,0xFF,0x58,0xFF,0x78,0xFF,0x58,0xFF, +0xFC,0xFF,0xFE,0xFF,0xFC,0xFF,0xFC,0xFF,0xFE,0xFF,0xFE,0xFF,0xFA,0xFF,0xFE,0xFF, +0x3F,0xFF,0x1F,0xFF,0x3F,0xFF,0x1F,0xFF,0x3F,0xFF,0x1E,0xFF,0x1E,0xFF,0x1F,0xFF, +0xD4,0xFF,0xC4,0xFF,0x90,0xFF,0x04,0xFF,0x08,0xFF,0x08,0xFF,0x00,0xFF,0x08,0xFF, +0x01,0xFF,0x00,0xFF,0x01,0xFF,0x08,0xFF,0x01,0xFF,0x00,0xFF,0x02,0xFF,0x00,0xFF, +0x20,0xFF,0xD0,0xFF,0x40,0xFF,0x48,0xF7,0x82,0xFF,0x88,0xF7,0x80,0xFF,0x0A,0xF7, +0x00,0xFF,0x80,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF,0x04,0xFB,0x01,0xFE,0x00,0xFF, +0x01,0xFE,0x00,0xFF,0x00,0xFF,0x00,0xFF,0x02,0xFD,0x40,0xBF,0x20,0xDF,0x10,0xEF, +0x55,0xAA,0x55,0xAA,0xAD,0x5A,0x2A,0xD5,0x2A,0xD5,0x2D,0xD6,0x15,0xEA,0x15,0xEE, +0x57,0xA8,0x48,0xB7,0x35,0xCA,0x95,0x6A,0xAA,0x5D,0x33,0xDC,0x8A,0xF5,0xB2,0xFD, +0xB7,0x48,0x93,0x6C,0x6F,0xD0,0xB6,0x49,0x7B,0xC4,0x89,0x76,0xBE,0x61,0xC6,0x39, +0xDB,0x24,0xFF,0x00,0xFD,0x02,0xDF,0x20,0xF5,0x0A,0x5F,0xA0,0xD5,0x2A,0xBD,0x42, +0x78,0xFF,0x58,0xFF,0x78,0xFF,0xB8,0xFF,0x78,0xFF,0x38,0xFF,0x78,0xFF,0x28,0xFF, +0x00,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF,0x06,0xF9,0x02,0xFD, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF, +0xFD,0xFF,0xFF,0xFF,0x6F,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF, +0xEC,0xFF,0xFE,0xFF,0xCC,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF, +0x1E,0xFF,0x1E,0xFF,0x1E,0xFF,0x1E,0xFF,0x1E,0xFF,0x1E,0xFF,0x1F,0xFF,0x1E,0xFF, +0x00,0xFF,0x00,0xFF,0x08,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF, +0x00,0xFF,0x00,0xFF,0x80,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF, +0x01,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF,0x01,0xFF,0x00,0xFF,0x00,0xFF, +0x00,0xFF,0x84,0xFF,0x00,0xFF,0x00,0xFF,0x20,0xFF,0x00,0xFF,0x00,0xFF,0x80,0xFF, +0x00,0xFF,0x3B,0xC4,0x3C,0xC3,0x3F,0xC0,0x70,0x8F,0x7C,0x83,0x7D,0x82,0xFF,0x00, +0x10,0xEF,0x9F,0x60,0x51,0xAE,0x29,0xD6,0x60,0x9F,0x70,0x8F,0xFF,0x00,0xF7,0x08, +0x0C,0xF7,0x0B,0xF6,0x06,0xFD,0xA2,0xDD,0x0C,0xFB,0x8D,0x7B,0x42,0xFF,0x15,0xEB, +0x55,0xEA,0x78,0xFF,0x96,0xED,0xF4,0x6F,0x1B,0xFE,0xCB,0x7F,0xB5,0xFF,0xBD,0x6F, +0x15,0xEA,0xB6,0x5B,0xAA,0x55,0xA7,0x5A,0x1C,0xEB,0xA6,0x5B,0x5A,0xAD,0x8A,0x75, +0xC5,0x3A,0x25,0xDA,0xF5,0xAA,0x49,0xF6,0xB5,0xEA,0xF5,0x7E,0xBD,0xFA,0xBD,0x5E, +0x78,0xFF,0x58,0xFF,0x70,0xFF,0x58,0xFF,0x78,0xFF,0x59,0xFE,0xFB,0xFC,0x5B,0xFC, +0x03,0xFC,0x03,0xFC,0x03,0xFC,0x03,0xFC,0x03,0xFC,0xFF,0x00,0xFF,0x00,0xFF,0x00, +0x00,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF,0x40,0xBF,0xF0,0x0F,0xF0,0x0F,0xF0,0x0F, +0x00,0xFF,0x00,0xFF,0x1F,0xFF,0x07,0xFF,0x30,0xFF,0x2B,0xFC,0x1A,0xF5,0x15,0xFA, +0x1F,0xFF,0x1E,0xFF,0xFF,0xFF,0xFF,0xFF,0x02,0xFF,0xF5,0x0A,0x11,0xEE,0xAD,0x52, +0x00,0xFF,0x08,0xFF,0xFF,0xFF,0xFF,0xFF,0x2B,0xFF,0xA9,0x57,0x13,0xEF,0x45,0xBB, +0x00,0xFF,0x00,0xFF,0x80,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF,0x80,0x7F, +0x04,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF, +0x22,0xDD,0x80,0xFF,0x01,0xFE,0x80,0xFF,0x10,0xFF,0x09,0xFE,0x00,0xFF,0x00,0xFF, +0xFE,0x01,0xFE,0x01,0xFD,0x02,0xFF,0x00,0xFD,0x02,0xFE,0x01,0xFD,0x02,0xFF,0x00, +0xD7,0x28,0x03,0xFC,0xDA,0x25,0xE9,0x16,0x04,0xFB,0x06,0xF9,0x00,0xFF,0x1E,0xFF, +0x1A,0xF7,0x9A,0x77,0x17,0xED,0x15,0xEA,0x14,0xFF,0x87,0xFD,0x04,0xFB,0x05,0xFA, +0xF5,0xFF,0xAA,0xFF,0xB5,0x5F,0xAD,0xD7,0x92,0x7F,0x5D,0xAB,0xB2,0x5D,0x1A,0xED, +0x5B,0xAD,0x49,0xB6,0x92,0x6D,0x4B,0xB4,0xB2,0x6D,0x5D,0xA6,0xA2,0x5F,0x56,0xAB, +0x55,0xFE,0x5D,0xAE,0xEB,0xBE,0x7D,0xAE,0x17,0xFC,0xFD,0xAE,0x95,0xFE,0xDD,0xFE, +0x73,0xFC,0x5B,0xFC,0xF3,0x7C,0xBB,0xFC,0xDB,0x7C,0x5B,0xFC,0xDB,0x7C,0x5B,0xFC, +0xF0,0x0F,0xF0,0x0F,0xF0,0x0F,0xF0,0x0F,0xF0,0x0F,0xF0,0x0F,0xF0,0x0F,0xF0,0x0F, +0x00,0xFF,0xD0,0xFF,0xFF,0xFF,0xFF,0xFF,0xEA,0xFF,0x80,0xFF,0x3F,0xC0,0xBF,0xC0, +0x00,0xFF,0x02,0xFF,0xFF,0xFF,0xFF,0xFF,0x95,0xFF,0x00,0xFF,0xFF,0x00,0xFF,0x00, +0x00,0xFF,0x00,0xFF,0xF0,0xFF,0xF8,0xFF,0x30,0xFF,0x10,0xFF,0x98,0x7F,0xB0,0x5F, +0x1A,0xF5,0x13,0xFC,0x2A,0xF5,0x1A,0xF5,0x0E,0xF9,0x12,0xFD,0x26,0xF9,0x3A,0xFD, +0xA2,0x5D,0x48,0xB7,0xB5,0x4E,0xA9,0x56,0x94,0x6B,0xAB,0x55,0x8A,0x7F,0xAB,0x57, +0x21,0xDF,0xA9,0x57,0x0B,0xF5,0x40,0xBF,0x56,0xEB,0x11,0xFF,0xCB,0x75,0x50,0xFF, +0x00,0xFF,0x80,0xFF,0x80,0x7F,0x80,0xFF,0x00,0xFF,0x80,0xFF,0x00,0xFF,0x80,0xFF, +0x00,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF,0x1F,0xFF,0x3B,0xC7, +0x80,0xFF,0x01,0xFE,0x03,0xFC,0x87,0xF8,0xBF,0xC0,0xBF,0xC0,0xBF,0xC0,0xDF,0xE0, +0xBF,0x7F,0xBF,0x7F,0xBF,0x7F,0x3F,0xFF,0x6D,0x97,0x6F,0x97,0xDE,0x27,0xF7,0x08, +0x35,0xEA,0x05,0xFA,0x39,0xEF,0x8C,0x7B,0x6A,0xD5,0x17,0xED,0xA8,0x57,0xCF,0x35, +0x4A,0xB5,0x3B,0xD5,0x92,0x6D,0xAA,0x55,0x6A,0xB5,0x52,0xBD,0x2B,0xD5,0x42,0xFD, +0x95,0x6F,0x56,0xAB,0xAB,0x5F,0x9D,0x6B,0xA7,0x5B,0x35,0xEF,0xDF,0x6B,0x8D,0x7B, +0xB5,0xFE,0xDF,0xFE,0x75,0xFE,0xBF,0xFE,0xF5,0xFE,0x7D,0xBE,0x6D,0xFA,0x7B,0xDC, +0x7B,0xFC,0x9B,0xFC,0x7B,0xFC,0x5B,0xFC,0x7B,0xFC,0x5B,0xFC,0x7B,0xFC,0x5B,0xFC, +0xE0,0x1F,0xE0,0x1F,0xF0,0x0F,0xF0,0x0F,0xF0,0x0F,0xF0,0x0F,0xF0,0x0F,0xF0,0x0F, +0xBF,0xC0,0xBF,0xC0,0xBE,0xC1,0x8F,0xF0,0xB5,0xCA,0xAA,0xD5,0xAA,0xD5,0xAA,0xD7, +0x7F,0x80,0xBF,0xC0,0x9F,0xE0,0xEF,0xB0,0x37,0xD8,0x27,0xD8,0xAF,0x50,0xAF,0xD0, +0xA8,0x5F,0x88,0x7F,0xD0,0x3F,0xA8,0x5F,0xB8,0x5F,0xC8,0x3F,0xB8,0x5F,0x88,0x7F, +0x0A,0xF5,0x2B,0xFC,0x12,0xFD,0x1B,0xFC,0x12,0xFD,0x2B,0xFC,0x12,0xFD,0x2B,0xFC, +0x45,0xFF,0x26,0xFD,0xA9,0xDE,0xA5,0xDF,0x4D,0xBE,0x54,0xEF,0x55,0xFF,0x4E,0xBB, +0x2B,0xF5,0xB2,0xFD,0xA9,0xF7,0x7B,0xF5,0x81,0xFF,0xFA,0x75,0x51,0xFF,0xBA,0xF5, +0x00,0xFF,0x80,0xFF,0x01,0xFE,0x81,0xFE,0x03,0xFC,0x83,0xFC,0x83,0xFC,0x83,0xFC, +0xFF,0x03,0xFD,0x03,0x7E,0x81,0x5E,0xA1,0xFF,0x00,0xBC,0x43,0x79,0x86,0xFD,0x02, +0xEF,0xF0,0xF7,0xF8,0xFF,0xF8,0xFB,0xFC,0xF9,0x7E,0x3D,0xFE,0x7F,0xBE,0x3E,0xFF, +0x61,0x9F,0x15,0xFB,0xF1,0x1E,0xFC,0x1F,0xF5,0x1A,0xED,0x1E,0xDA,0x3D,0xFC,0x1F, +0xA8,0x57,0x6D,0xDA,0x49,0xBF,0xD6,0xAD,0x34,0xEF,0x57,0xAD,0xC8,0x77,0xDE,0x75, +0x5B,0xEF,0x57,0xED,0x1F,0xFB,0xA5,0xDF,0x1D,0xFA,0xD6,0x6D,0x5A,0xB5,0xDF,0xAA, +0x69,0xF6,0x75,0xDA,0x93,0xEC,0xDB,0x74,0x55,0xAA,0x77,0xA8,0xAB,0x54,0x6F,0xB0, +0x7B,0xFC,0x9B,0xFC,0x7B,0xFC,0x58,0xFF,0xD8,0xFF,0x70,0xFF,0xB8,0xFF,0xD8,0xFF, +0xFF,0x00,0xFF,0x00,0xFF,0x00,0x00,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF, +0xF0,0x0F,0xF0,0x0F,0xC0,0x3F,0x00,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF, +0x97,0xEC,0xA2,0xDF,0x94,0xEF,0xAB,0xD4,0x9A,0xEF,0xAA,0xD7,0x9A,0xED,0xD6,0xEF, +0x57,0xA8,0xA7,0x58,0x7B,0xAC,0x23,0xFC,0xFB,0x74,0x51,0xFE,0xAB,0x54,0x89,0x76, +0xC8,0x3F,0xC8,0x3F,0x98,0x7F,0xC8,0x3F,0xA8,0x5F,0xC8,0x3F,0x98,0x7F,0xE8,0x1F, +0x12,0xFD,0x2B,0xFC,0x12,0xFD,0x1B,0xFC,0x15,0xFA,0x39,0xFE,0x16,0xF9,0x1B,0xFC, +0x31,0xEF,0xD5,0x3A,0xA8,0x57,0x4B,0xB4,0xF4,0x0B,0x55,0xAA,0xB5,0x4A,0xDA,0x25, +0xA1,0xFF,0xBB,0xF5,0xA0,0xFF,0x4A,0xB5,0xAB,0x55,0x50,0xAF,0x53,0xAD,0xA8,0x57, +0x07,0xF8,0x83,0xFC,0x86,0xF9,0x83,0xFC,0x85,0xFA,0x87,0xF8,0x83,0xFC,0x85,0xFA, +0x72,0x8D,0xF2,0x0D,0xF8,0x07,0xD4,0x2B,0xEF,0x19,0xF6,0x09,0xFF,0x00,0xFD,0x02, +0x3F,0xFF,0xBF,0x7F,0x9F,0x7F,0x3F,0xFF,0xDF,0x7F,0xDF,0x7F,0x8F,0xFF,0xAF,0x7F, +0x7F,0x80,0x7F,0x80,0xBF,0xC0,0xBF,0xC0,0xDF,0xE0,0x6F,0xF0,0xE7,0xF8,0x7F,0xF8, +0xFF,0x00,0xFE,0x01,0xFD,0x02,0xFD,0x02,0xFA,0x05,0xF9,0x06,0xF1,0x0E,0xF3,0x0C, +0xDA,0x3D,0x9D,0x7E,0x7F,0xBC,0x7D,0xBE,0x7D,0xBE,0x5D,0xFE,0x6F,0xFC,0xE9,0x7E, +0xA2,0x5F,0xFF,0x03,0x7A,0x85,0xFD,0x02,0xFF,0x00,0xFF,0x00,0x7F,0x80,0xFF,0x00, +0x54,0xEB,0xFF,0x00,0xFF,0x80,0x7F,0x80,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF,0x00, +0x78,0xFF,0x58,0xFF,0xF0,0xFF,0x38,0xFF,0xF8,0xFF,0x38,0xFF,0xF8,0xFF,0x98,0xFF, +0x93,0xEE,0xEE,0xD3,0x8B,0xF4,0xD0,0xEF,0xAA,0xD5,0xCA,0xF5,0x92,0xED,0x8A,0xF5, +0x65,0xDA,0x35,0xFA,0xAB,0x74,0xD5,0x2A,0x55,0xAA,0x94,0x6B,0xAA,0x55,0x95,0x6A, +0x88,0x7F,0xC8,0x3F,0xC8,0x3F,0x48,0xBF,0x88,0x7F,0xE8,0x1F,0x88,0x7F,0x48,0xBF, +0x12,0xFD,0x12,0xFD,0x1B,0xFC,0x0B,0xFF,0x2F,0xFF,0x16,0xFF,0x00,0xFF,0x00,0xFF, +0xAA,0x55,0xEA,0x15,0x10,0xEF,0x7F,0xFF,0xFF,0xFF,0xBA,0xFF,0x00,0xFF,0x00,0xFF, +0x52,0xAD,0xAA,0x55,0x57,0xFF,0xFF,0xFF,0xFE,0xFF,0xA8,0xFF,0x04,0xFF,0x00,0xFF, +0x83,0xFC,0x81,0xFE,0x41,0xFE,0x83,0xFC,0x83,0xFC,0x01,0xFE,0x01,0xFE,0x01,0xFE, +0x4F,0xBF,0xC7,0x3E,0xCF,0x3F,0xE6,0x1F,0xD7,0x2F,0xD6,0x2F,0xE7,0x1F,0xA6,0x5F, +0xD7,0xF8,0xFF,0xF0,0xEF,0xB0,0xEF,0xF0,0x7F,0xD0,0xBF,0xC8,0x7F,0x82,0xFF,0x00, +0xE7,0x18,0xE1,0x1F,0xEF,0x1F,0xAD,0x5F,0xD7,0x3F,0x9B,0x7F,0x3F,0xFB,0x3F,0xFF, +0x7F,0xFC,0xD9,0xFE,0xFB,0xEC,0xF9,0xFE,0xBA,0xED,0xE9,0xFE,0xF5,0x7E,0xF9,0xFE, +0x7F,0x80,0xFF,0x00,0x4A,0xB5,0xFF,0x3F,0xBF,0x7F,0xFF,0x3F,0x7F,0xBF,0x80,0x7F, +0xFF,0x00,0xFF,0x00,0x5F,0xA0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0xFF, +0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x10,0xFF, +0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFB,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xAD,0xFF, +0x70,0xFF,0xF8,0xFF,0xB8,0xFF,0xF8,0xFF,0xD8,0xFF,0xF0,0xFF,0xF8,0xFF,0x50,0xFF, +0x00,0xFF,0x00,0xFF,0x04,0xFF,0x00,0xFF,0x04,0xFF,0x00,0xFF,0x2A,0xFF,0x00,0xFF, +0xB2,0xDD,0x80,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x80,0xFF, +0x44,0xBB,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x6A,0xFF,0x01,0xFF, +0x18,0xFF,0x18,0xFF,0xF8,0xFF,0xF8,0xFF,0xF8,0xFF,0xC0,0xFF,0x00,0xFF,0x00,0xFF, +0x08,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF, +0xFF,0x00,0xFF,0x00,0xFF,0x00,0x3F,0xC0,0x7F,0x80,0x7F,0x80,0x3F,0xC0,0x3F,0xC0, +0xD5,0x2E,0xC3,0x3C,0x87,0x78,0x9F,0x60,0x7F,0x80,0x7F,0x80,0xFF,0x00,0xFF,0x00, +0xF8,0x07,0xFF,0x00,0xFA,0x05,0xFF,0x01,0xE9,0x17,0xFD,0x03,0xAB,0x57,0xDB,0x27, +0xFF,0x7F,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xBD,0xFE,0xF5,0xFE,0xFD,0xBE,0xFD,0xFE,0xFC,0xFF,0xFD,0xFE,0xF9,0xFE,0xF0,0xFF, +0x40,0xBF,0x40,0xBF,0x80,0x7F,0x80,0x7F,0xC0,0x3F,0x40,0xBF,0x80,0x7F,0xC2,0x3F, +0x10,0xFF,0x14,0xFF,0x80,0xFF,0x28,0xFF,0x10,0xFF,0x88,0xFF,0x00,0xFF,0x00,0xFF, +0x1F,0xE0,0x1F,0xE0,0x1F,0xE0,0x0F,0xF0,0x0E,0xF1,0x07,0xF8,0x07,0xF8,0x03,0xFC, +0xFF,0x00,0xFF,0x00,0xFE,0x01,0xFE,0x01,0xF5,0x0A,0xF5,0x0A,0xD8,0x27,0xEA,0x15, +0x6F,0x97,0xA7,0x5F,0xAF,0x5F,0x9F,0x7F,0x5F,0xBF,0x3F,0xFF,0xBF,0x7F,0x7F,0xFF, +0xF3,0xFC,0xF0,0xFF,0xE9,0xFE,0xF0,0xFF,0xE1,0xFE,0xF8,0xFF,0xF1,0xFE,0xF8,0xFF, +0x94,0x7F,0xDF,0x3F,0x9F,0x7F,0xDF,0x3F,0x5F,0xBF,0x5F,0xBF,0x7F,0x9F,0x4F,0xBF, +0x07,0xF8,0x01,0xFE,0x04,0xFF,0x06,0xFF,0x07,0xFF,0x07,0xFF,0x07,0xFF,0x03,0xFF, +0x84,0x7B,0x45,0xBB,0x13,0xEF,0x07,0xFF,0x0F,0xFF,0xFF,0xFF,0xFF,0xFF,0xBF,0xFF, +0xF9,0xFE,0xFC,0xFF,0xF9,0xFE,0xFE,0xFF,0xFC,0xFF,0xFF,0xFF,0xFD,0xFF,0xFD,0xFF, +0x6F,0x9F,0x2F,0xDF,0x57,0xAF,0x57,0xAF,0x17,0xEF,0x17,0xEF,0x2B,0xD7,0x8B,0xF7, +0x0F,0xFF,0x07,0xFF,0x0F,0xFF,0x07,0xFF,0x0F,0xFF,0x0F,0xFF,0x5F,0xFF,0x0F,0xF7, +0xAB,0xD7,0xCB,0xF7,0xDB,0xE7,0x4B,0xF7,0xCD,0xF3,0xC5,0xFB,0xC9,0x77,0xED,0xF3, +0x1F,0xFE,0x0F,0xFF,0x1B,0xFF,0x0F,0xFF,0x1F,0xFF,0x1F,0xFF,0x3F,0xFF,0x1F,0xEF, +0xE5,0xFB,0xF5,0xFB,0xF5,0xFB,0xF5,0xFB,0xE4,0xFB,0xF2,0xFD,0xF2,0xFD,0xF0,0xFF, +0x3F,0xFF,0x1F,0xFF,0x1F,0xFF,0x1F,0xFF,0x5F,0xFF,0x3F,0xFF,0x3F,0xFF,0x1F,0xFF, +0xF2,0xFD,0xF8,0xFF,0xF8,0xFF,0xFA,0xFD,0xF8,0xFF,0xF8,0xFF,0xF9,0xFE,0xFC,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0xFF,0x7F,0xFF,0x7F,0xFF}; diff --git a/z_gbdk_playground_original/window/bg.pcx b/z_gbdk_playground_original/window/bg.pcx new file mode 100644 index 0000000..cb70c1a Binary files /dev/null and b/z_gbdk_playground_original/window/bg.pcx differ diff --git a/z_gbdk_playground_original/window/border.c b/z_gbdk_playground_original/window/border.c new file mode 100644 index 0000000..d5a10a1 --- /dev/null +++ b/z_gbdk_playground_original/window/border.c @@ -0,0 +1,48 @@ +/* + + BORDER.C + + Tile Source File. + + Info: + Form : All tiles as one unit. + Format : Gameboy 4 color. + Compression : None. + Counter : None. + Tile size : 8 x 8 + Tiles : 0 to 8 + + Palette colors : None. + SGB Palette : None. + CGB Palette : None. + + Convert to metatiles : No. + + This file was generated by GBTD v2.2 + +*/ + +/* Start of tile array. */ +const unsigned char border[] = +{ + 0x00,0x00,0x1F,0x1F,0x20,0x20,0x4F,0x4F, + 0x50,0x50,0x50,0x50,0x50,0x50,0x50,0x50, + 0x50,0x50,0x50,0x50,0x50,0x50,0x50,0x50, + 0x4F,0x4F,0x20,0x20,0x1F,0x1F,0x00,0x00, + 0x00,0x00,0xF8,0xF8,0x04,0x04,0xF2,0xF2, + 0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A, + 0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A, + 0xF2,0xF2,0x04,0x04,0xF8,0xF8,0x00,0x00, + 0x00,0x00,0xFF,0xFF,0x00,0x00,0xFF,0xFF, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0xFF,0xFF,0x00,0x00,0xFF,0xFF,0x00,0x00, + 0x50,0x50,0x50,0x50,0x50,0x50,0x50,0x50, + 0x50,0x50,0x50,0x50,0x50,0x50,0x50,0x50, + 0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A, + 0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 +}; + +/* End of BORDER.C */ diff --git a/z_gbdk_playground_original/window/border.gbr b/z_gbdk_playground_original/window/border.gbr new file mode 100644 index 0000000..44eca1e Binary files /dev/null and b/z_gbdk_playground_original/window/border.gbr differ diff --git a/z_gbdk_playground_original/window/border.h b/z_gbdk_playground_original/window/border.h new file mode 100644 index 0000000..407e89d --- /dev/null +++ b/z_gbdk_playground_original/window/border.h @@ -0,0 +1,31 @@ +/* + + BORDER.H + + Include File. + + Info: + Form : All tiles as one unit. + Format : Gameboy 4 color. + Compression : None. + Counter : None. + Tile size : 8 x 8 + Tiles : 0 to 8 + + Palette colors : None. + SGB Palette : None. + CGB Palette : None. + + Convert to metatiles : No. + + This file was generated by GBTD v2.2 + +*/ + + +/* Bank of tiles. */ +#define borderBank 0 +/* Start of tile array. */ +extern unsigned char border[]; + +/* End of BORDER.H */ diff --git a/z_gbdk_playground_original/window/main.c b/z_gbdk_playground_original/window/main.c new file mode 100644 index 0000000..ca83891 --- /dev/null +++ b/z_gbdk_playground_original/window/main.c @@ -0,0 +1,19 @@ +#include + +#include "bg.c" +#include "bg.map" +#include "border.c" +#include "window.c" + +void main() { + set_bkg_data(0, 152, bg_tiledata); + set_bkg_tiles(0, 0, 20, 18, bg_tilemap); + + SHOW_BKG; + + set_win_data(152, 9, border); + set_win_tiles(0, 0, 20, 4, window); + move_win(7, 112); + + SHOW_WIN; +} \ No newline at end of file diff --git a/z_gbdk_playground_original/window/screenshot.png b/z_gbdk_playground_original/window/screenshot.png new file mode 100644 index 0000000..67df930 Binary files /dev/null and b/z_gbdk_playground_original/window/screenshot.png differ diff --git a/z_gbdk_playground_original/window/window.c b/z_gbdk_playground_original/window/window.c new file mode 100644 index 0000000..5f16976 --- /dev/null +++ b/z_gbdk_playground_original/window/window.c @@ -0,0 +1,37 @@ +/* + + WINDOW.C + + Map Source File. + + Info: + Section : + Bank : 0 + Map size : 20 x 4 + Tile set : P:\Homebrew\GB\gbdk_playground\window\border.gbr + Plane count : 1 plane (8 bits) + Plane order : Tiles are continues + Tile offset : 152 + Split data : No + + This file was generated by GBMB v1.8 + +*/ + +#define windowWidth 20 +#define windowHeight 4 +#define windowBank 0 + +const unsigned char window[] = +{ + 0x98,0x9C,0x9C,0x9C,0x9C,0x9C,0x9C,0x9C,0x9C,0x9C, + 0x9C,0x9C,0x9C,0x9C,0x9C,0x9C,0x9C,0x9C,0x9C,0x9A, + 0x9E,0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,0xA0, + 0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,0x9F, + 0x9E,0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,0xA0, + 0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,0x9F, + 0x99,0x9D,0x9D,0x9D,0x9D,0x9D,0x9D,0x9D,0x9D,0x9D, + 0x9D,0x9D,0x9D,0x9D,0x9D,0x9D,0x9D,0x9D,0x9D,0x9B +}; + +/* End of WINDOW.C */ diff --git a/z_gbdk_playground_original/window/window.gbm b/z_gbdk_playground_original/window/window.gbm new file mode 100644 index 0000000..f0349df Binary files /dev/null and b/z_gbdk_playground_original/window/window.gbm differ diff --git a/z_gbdk_playground_original/window/window.h b/z_gbdk_playground_original/window/window.h new file mode 100644 index 0000000..544ce88 --- /dev/null +++ b/z_gbdk_playground_original/window/window.h @@ -0,0 +1,27 @@ +/* + + WINDOW.H + + Map Include File. + + Info: + Section : + Bank : 0 + Map size : 20 x 4 + Tile set : P:\Homebrew\GB\gbdk_playground\window\border.gbr + Plane count : 1 plane (8 bits) + Plane order : Tiles are continues + Tile offset : 152 + Split data : No + + This file was generated by GBMB v1.8 + +*/ + +#define windowWidth 20 +#define windowHeight 4 +#define windowBank 0 + +extern unsigned char window[]; + +/* End of WINDOW.H */