From 270457fde4d1ca05f2d5f602edb9775b262ed354 Mon Sep 17 00:00:00 2001 From: Lukas Krickl Date: Thu, 2 Apr 2026 07:11:18 +0200 Subject: [PATCH 1/1] Initial commit --- .gitattributes | 2 + .gitignore | 78 +++ BUGS.md | 2 + LICENSE | 18 + README.md | 38 ++ TODO.md | 3 + assets/maps/bank0.tsx | 4 + assets/maps/l1.tmx | 22 + assets/tiles/bank0.png | 3 + assets/tiles/bank1.png | 3 + assets/tiles/bank2.png | 3 + assets/tiles/bank3.png | 3 + gen/maps/l1.inc | 25 + gen/tiles/bank0.inc | 1153 ++++++++++++++++++++++++++++++++++++++++ gen/tiles/bank1.inc | 577 ++++++++++++++++++++ gen/tiles/bank2.inc | 1153 ++++++++++++++++++++++++++++++++++++++++ gen/tiles/bank3.inc | 1153 ++++++++++++++++++++++++++++++++++++++++ makefile | 27 + src/actor.s | 267 ++++++++++ src/d_actor.s | 14 + src/d_map.s | 17 + src/d_oam.s | 8 + src/d_player.s | 8 + src/d_tiles.s | 2 + src/debug.s | 49 ++ src/defs.s | 12 + src/gen.s | 16 + src/header.s | 22 + src/hram.s | 20 + src/hw.s | 122 +++++ src/input.s | 78 +++ src/jmp.s | 37 ++ src/macros.s | 51 ++ src/main.s | 60 +++ src/map.s | 58 ++ src/mem.s | 76 +++ src/player.s | 277 ++++++++++ src/sys.s | 42 ++ src/tiles.s | 57 ++ src/update.s | 12 + src/video.s | 95 ++++ src/wram.s | 34 ++ tools/png2chr.py | 85 +++ tools/tmx2map.py | 67 +++ 44 files changed, 5853 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 BUGS.md create mode 100644 LICENSE create mode 100644 README.md create mode 100644 TODO.md create mode 100644 assets/maps/bank0.tsx create mode 100644 assets/maps/l1.tmx create mode 100644 assets/tiles/bank0.png create mode 100644 assets/tiles/bank1.png create mode 100644 assets/tiles/bank2.png create mode 100644 assets/tiles/bank3.png create mode 100644 gen/maps/l1.inc create mode 100644 gen/tiles/bank0.inc create mode 100644 gen/tiles/bank1.inc create mode 100644 gen/tiles/bank2.inc create mode 100644 gen/tiles/bank3.inc create mode 100644 makefile create mode 100644 src/actor.s create mode 100644 src/d_actor.s create mode 100644 src/d_map.s create mode 100644 src/d_oam.s create mode 100644 src/d_player.s create mode 100644 src/d_tiles.s create mode 100644 src/debug.s create mode 100644 src/defs.s create mode 100644 src/gen.s create mode 100644 src/header.s create mode 100644 src/hram.s create mode 100644 src/hw.s create mode 100644 src/input.s create mode 100644 src/jmp.s create mode 100644 src/macros.s create mode 100644 src/main.s create mode 100644 src/map.s create mode 100644 src/mem.s create mode 100644 src/player.s create mode 100644 src/sys.s create mode 100644 src/tiles.s create mode 100644 src/update.s create mode 100644 src/video.s create mode 100644 src/wram.s create mode 100755 tools/png2chr.py create mode 100755 tools/tmx2map.py diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..56fc00e --- /dev/null +++ b/.gitattributes @@ -0,0 +1,2 @@ +* text=auto +*.png filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..0064c5b --- /dev/null +++ b/.gitignore @@ -0,0 +1,78 @@ +# Build directory +bin/ +obj/ +tags + + Prerequisites +*.d + +# Object files +*.o +*.ko +*.obj +*.elf + +# Linker output +*.ilk +*.map +*.exp + +# Precompiled Headers +*.gch +*.pch + +# Libraries +*.lib +*.a +*.la +*.lo + +# Shared objects (inc. Windows DLLs) +*.dll +*.so +*.so.* +*.dylib + +# Executables +*.exe +*.out +*.app +*.i*86 +*.x86_64 +*.hex + +# Debug files +*.dSYM/ +*.su +*.idb +*.pdb +vgcore.* + +# Kernel Module Compile Results +*.mod* +*.cmd +.tmp_versions/ +modules.order +Module.symvers +Mkfile.old +dkms.conf + +compile_commands.json +.cache/ +.clang_complete +.clangd +.session + +*.pyc + +pcq.gb +pcq.mlb +pcq.lst +testpcq.gb +testpcq.mlb +testpcq.lst + +*.sav +*.patch +*.sym +debugrc diff --git a/BUGS.md b/BUGS.md new file mode 100644 index 0000000..97fed4b --- /dev/null +++ b/BUGS.md @@ -0,0 +1,2 @@ +# Known Bugs + diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..5e5b158 --- /dev/null +++ b/LICENSE @@ -0,0 +1,18 @@ +Copyright 2025-2026 Lukas Krickl (lukas@krickl.dev) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, +including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, +and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", +WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/README.md b/README.md new file mode 100644 index 0000000..7a3406a --- /dev/null +++ b/README.md @@ -0,0 +1,38 @@ +# pocket conquest + +## Table of content + +- [Installation](#Installation) +- [Usage](#Usage) +- [License](#License) +- [Contributing](#Contributing) +- [TODO](#TODO) + +## Installation + +To compile this game you will need a copy of `ulas`. +Then simply run `make` to build the rom. + +## Usage + +This game is compatible with any gameboy emulator. + +### Building assets + +### Directory structure + +- src: all source files +- gen/gen.s: include file for all generated files +- gen: generated source files based on assets + +### Module names + +- w_: wram section +- h_: hram section +- d_: typedefs + +## License + +This program is distributed under the terms of the MIT License. + + diff --git a/TODO.md b/TODO.md new file mode 100644 index 0000000..6bd48d0 --- /dev/null +++ b/TODO.md @@ -0,0 +1,3 @@ +# TODO + + diff --git a/assets/maps/bank0.tsx b/assets/maps/bank0.tsx new file mode 100644 index 0000000..cf4bc12 --- /dev/null +++ b/assets/maps/bank0.tsx @@ -0,0 +1,4 @@ + + + + diff --git a/assets/maps/l1.tmx b/assets/maps/l1.tmx new file mode 100644 index 0000000..4f4ac03 --- /dev/null +++ b/assets/maps/l1.tmx @@ -0,0 +1,22 @@ + + + + + +2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,2,1,1,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,2,2,1,1,1,1,1,1,2,1,1,1,1,1,1,1, +1,1,2,2,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1, +2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2 + + + diff --git a/assets/tiles/bank0.png b/assets/tiles/bank0.png new file mode 100644 index 0000000..1cabed8 --- /dev/null +++ b/assets/tiles/bank0.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:566d9dfa669fe97696f1462c0b3ca8f94847ed783bf6bfe7fb35b8831f8c1035 +size 474 diff --git a/assets/tiles/bank1.png b/assets/tiles/bank1.png new file mode 100644 index 0000000..e1c88ee --- /dev/null +++ b/assets/tiles/bank1.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0b6d132c6b451f364d129b471bbc168fe73640563f2d3b6f49406fae690c28fe +size 312 diff --git a/assets/tiles/bank2.png b/assets/tiles/bank2.png new file mode 100644 index 0000000..5ba7710 --- /dev/null +++ b/assets/tiles/bank2.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4e11371b989afedbd73be6b5d4901f30abb25a536d08d4539548450ea66a2cfc +size 859 diff --git a/assets/tiles/bank3.png b/assets/tiles/bank3.png new file mode 100644 index 0000000..1cabed8 --- /dev/null +++ b/assets/tiles/bank3.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:566d9dfa669fe97696f1462c0b3ca8f94847ed783bf6bfe7fb35b8831f8c1035 +size 474 diff --git a/gen/maps/l1.inc b/gen/maps/l1.inc new file mode 100644 index 0000000..83c28e8 --- /dev/null +++ b/gen/maps/l1.inc @@ -0,0 +1,25 @@ +; this map was generated by tmx2map.py +; flags +.db 0 +; start y/x +.db 0, 0 +; end y/x +.db 0, 0 +; map name +.db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + +.db 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1 +.db 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 +.db 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 +.db 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 +.db 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 +.db 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 +.db 0x0, 0x0, 0x1, 0x0, 0x0, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 +.db 0x0, 0x0, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 +.db 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 +.db 0x0, 0x0, 0x0, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 +.db 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 +.db 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 +.db 0x0, 0x0, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 +.db 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1 + diff --git a/gen/tiles/bank0.inc b/gen/tiles/bank0.inc new file mode 100644 index 0000000..200c0cd --- /dev/null +++ b/gen/tiles/bank0.inc @@ -0,0 +1,1153 @@ +; this tileset was generated by png2chr.py +; tile 0 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 1 +.chr 03333330 +.chr 30000013 +.chr 30022213 +.chr 30222213 +.chr 30222213 +.chr 30222213 +.chr 31111113 +.chr 03333330 +; tile 2 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 3 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 4 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 5 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 6 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 7 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 8 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 9 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 10 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 11 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 12 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 13 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 14 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 15 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 16 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 17 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 18 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 19 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 20 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 21 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 22 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 23 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 24 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 25 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 26 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 27 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 28 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 29 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 30 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 31 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 32 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 33 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 34 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 35 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 36 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 37 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 38 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 39 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 40 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 41 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 42 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 43 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 44 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 45 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 46 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 47 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 48 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 49 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 50 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 51 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 52 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 53 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 54 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 55 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 56 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 57 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 58 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 59 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 60 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 61 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 62 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 63 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 64 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 65 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 66 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 67 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 68 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 69 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 70 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 71 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 72 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 73 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 74 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 75 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 76 +.chr 00000000 +.chr 00033333 +.chr 00322222 +.chr 03322222 +.chr 33222222 +.chr 32333223 +.chr 32333223 +.chr 32333223 +; tile 77 +.chr 00000000 +.chr 33300000 +.chr 11330000 +.chr 21133000 +.chr 22113300 +.chr 33211300 +.chr 33211300 +.chr 33211300 +; tile 78 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 79 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 80 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 81 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 82 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 83 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 84 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 85 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 86 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 87 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 88 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 89 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 90 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 91 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 92 +.chr 32222331 +.chr 32222332 +.chr 32222222 +.chr 33322222 +.chr 00323232 +.chr 00323232 +.chr 00333333 +.chr 00000000 +; tile 93 +.chr 11211300 +.chr 22211300 +.chr 22113300 +.chr 21133000 +.chr 31333000 +.chr 31333000 +.chr 33330000 +.chr 00000000 +; tile 94 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 95 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 96 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 97 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 98 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 99 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 100 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 101 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 102 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 103 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 104 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 105 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 106 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 107 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 108 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 109 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 110 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 111 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 112 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 113 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 114 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 115 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 116 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 117 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 118 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 119 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 120 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 121 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 122 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 123 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 124 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 125 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 126 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 127 +.chr 33333333 +.chr 32333333 +.chr 33333233 +.chr 33333333 +.chr 33233323 +.chr 33333333 +.chr 32332333 +.chr 33333333 diff --git a/gen/tiles/bank1.inc b/gen/tiles/bank1.inc new file mode 100644 index 0000000..12887cb --- /dev/null +++ b/gen/tiles/bank1.inc @@ -0,0 +1,577 @@ +; this tileset was generated by png2chr.py +; tile 0 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 1 +.chr 00000000 +.chr 02222220 +.chr 02232320 +.chr 02232320 +.chr 02222220 +.chr 02222220 +.chr 02222220 +.chr 00000000 +; tile 2 +.chr 00000000 +.chr 00022200 +.chr 00032320 +.chr 00032320 +.chr 00022220 +.chr 00022220 +.chr 00022200 +.chr 00000000 +; tile 3 +.chr 00010000 +.chr 01000000 +.chr 00000100 +.chr 02222220 +.chr 02232320 +.chr 02232320 +.chr 02222220 +.chr 00000000 +; tile 4 +.chr 00000000 +.chr 02222220 +.chr 02232320 +.chr 02232320 +.chr 02222220 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 5 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 6 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 7 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 8 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 9 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 10 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 11 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 12 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 13 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 14 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 15 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 16 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 17 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 18 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 19 +.chr 00000000 +.chr 01000010 +.chr 00010000 +.chr 02222220 +.chr 02232320 +.chr 02232320 +.chr 02222220 +.chr 00000000 +; tile 20 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 21 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 22 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 23 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 24 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 25 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 26 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 27 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 28 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 29 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 30 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 31 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 32 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 33 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 34 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 35 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 36 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 37 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 38 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 39 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 40 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 41 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 42 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 43 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 44 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 45 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 46 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 47 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 48 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 49 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 50 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 51 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 52 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 53 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 54 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 55 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 56 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 57 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 58 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 59 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 60 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 61 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 62 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 63 +.chr 13000000 +.chr 31000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 diff --git a/gen/tiles/bank2.inc b/gen/tiles/bank2.inc new file mode 100644 index 0000000..6e347bd --- /dev/null +++ b/gen/tiles/bank2.inc @@ -0,0 +1,1153 @@ +; this tileset was generated by png2chr.py +; tile 0 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 1 +.chr 00000000 +.chr 00030000 +.chr 00030000 +.chr 00030000 +.chr 00000000 +.chr 00000000 +.chr 00030000 +.chr 00000000 +; tile 2 +.chr 00000000 +.chr 00303000 +.chr 00303000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 3 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 4 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 5 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 6 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 7 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 8 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 9 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 10 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 11 +.chr 00000000 +.chr 00030000 +.chr 00030000 +.chr 03333300 +.chr 00030000 +.chr 00030000 +.chr 00000000 +.chr 00000000 +; tile 12 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00030000 +.chr 00330000 +.chr 00300000 +.chr 00000000 +; tile 13 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 03333300 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 14 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00033000 +.chr 00033000 +.chr 00000000 +; tile 15 +.chr 00000000 +.chr 00003000 +.chr 00030000 +.chr 00030000 +.chr 00300000 +.chr 00300000 +.chr 03000000 +.chr 03000000 +; tile 16 +.chr 00000000 +.chr 00333000 +.chr 03000300 +.chr 03003300 +.chr 03030300 +.chr 03300300 +.chr 03000300 +.chr 00333000 +; tile 17 +.chr 00000000 +.chr 00030000 +.chr 00330000 +.chr 00030000 +.chr 00030000 +.chr 00030000 +.chr 00030000 +.chr 00333000 +; tile 18 +.chr 00000000 +.chr 00333000 +.chr 03000300 +.chr 00003000 +.chr 00030000 +.chr 00300000 +.chr 03000000 +.chr 03333300 +; tile 19 +.chr 00000000 +.chr 03333000 +.chr 00000300 +.chr 00000300 +.chr 00333300 +.chr 00000300 +.chr 00000300 +.chr 03333000 +; tile 20 +.chr 00000000 +.chr 00033000 +.chr 00303000 +.chr 03003000 +.chr 03003000 +.chr 03333300 +.chr 00003000 +.chr 00003000 +; tile 21 +.chr 00000000 +.chr 03333300 +.chr 03000000 +.chr 03000000 +.chr 03333000 +.chr 00000300 +.chr 00000300 +.chr 03333000 +; tile 22 +.chr 00000000 +.chr 00333300 +.chr 03000000 +.chr 03000000 +.chr 03333000 +.chr 03000300 +.chr 03000300 +.chr 00333000 +; tile 23 +.chr 00000000 +.chr 03333000 +.chr 00000300 +.chr 00000300 +.chr 00003000 +.chr 00003000 +.chr 00030000 +.chr 00030000 +; tile 24 +.chr 00000000 +.chr 00333000 +.chr 03000300 +.chr 03000300 +.chr 00333000 +.chr 03000300 +.chr 03000300 +.chr 00333000 +; tile 25 +.chr 00000000 +.chr 00333000 +.chr 03000300 +.chr 03000300 +.chr 00333300 +.chr 00000300 +.chr 00003000 +.chr 00330000 +; tile 26 +.chr 00000000 +.chr 00033000 +.chr 00033000 +.chr 00000000 +.chr 00000000 +.chr 00033000 +.chr 00033000 +.chr 00000000 +; tile 27 +.chr 00000000 +.chr 00033000 +.chr 00033000 +.chr 00000000 +.chr 00000000 +.chr 00033000 +.chr 00003300 +.chr 00000000 +; tile 28 +.chr 00000000 +.chr 00003000 +.chr 00030000 +.chr 00300000 +.chr 03000000 +.chr 00300000 +.chr 00030000 +.chr 00003000 +; tile 29 +.chr 00000000 +.chr 03333300 +.chr 00000000 +.chr 00000000 +.chr 03333300 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 30 +.chr 00000000 +.chr 00300000 +.chr 00030000 +.chr 00003000 +.chr 00000300 +.chr 00003000 +.chr 00030000 +.chr 00300000 +; tile 31 +.chr 00000000 +.chr 00333000 +.chr 03000300 +.chr 00003000 +.chr 00030000 +.chr 00030000 +.chr 00000000 +.chr 00030000 +; tile 32 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 33 +.chr 00000000 +.chr 00333000 +.chr 03000300 +.chr 03000300 +.chr 03333300 +.chr 03000300 +.chr 03000300 +.chr 03000300 +; tile 34 +.chr 00000000 +.chr 03333000 +.chr 03000300 +.chr 03000300 +.chr 03333000 +.chr 03000300 +.chr 03000300 +.chr 03333000 +; tile 35 +.chr 00000000 +.chr 00333300 +.chr 03000000 +.chr 03000000 +.chr 03000000 +.chr 03000000 +.chr 03000000 +.chr 00333300 +; tile 36 +.chr 00000000 +.chr 03333000 +.chr 03000300 +.chr 03000300 +.chr 03000300 +.chr 03000300 +.chr 03000300 +.chr 03333000 +; tile 37 +.chr 00000000 +.chr 03333000 +.chr 03000000 +.chr 03000000 +.chr 03330000 +.chr 03000000 +.chr 03000000 +.chr 03333000 +; tile 38 +.chr 00000000 +.chr 03333000 +.chr 03000000 +.chr 03000000 +.chr 03330000 +.chr 03000000 +.chr 03000000 +.chr 03000000 +; tile 39 +.chr 00000000 +.chr 00333300 +.chr 03000000 +.chr 03000000 +.chr 03000000 +.chr 03033300 +.chr 03000300 +.chr 00333000 +; tile 40 +.chr 00000000 +.chr 03000300 +.chr 03000300 +.chr 03000300 +.chr 03333300 +.chr 03000300 +.chr 03000300 +.chr 03000300 +; tile 41 +.chr 00000000 +.chr 00333000 +.chr 00030000 +.chr 00030000 +.chr 00030000 +.chr 00030000 +.chr 00030000 +.chr 00333000 +; tile 42 +.chr 00000000 +.chr 00000300 +.chr 00000300 +.chr 00000300 +.chr 00000300 +.chr 03000300 +.chr 03000300 +.chr 00333000 +; tile 43 +.chr 00000000 +.chr 03000300 +.chr 03003000 +.chr 03030000 +.chr 03300000 +.chr 03030000 +.chr 03003000 +.chr 03000300 +; tile 44 +.chr 00000000 +.chr 03000000 +.chr 03000000 +.chr 03000000 +.chr 03000000 +.chr 03000000 +.chr 03000000 +.chr 03333300 +; tile 45 +.chr 00000000 +.chr 03000300 +.chr 03303300 +.chr 03030300 +.chr 03000300 +.chr 03000300 +.chr 03000300 +.chr 03000300 +; tile 46 +.chr 00000000 +.chr 03000300 +.chr 03000300 +.chr 03300300 +.chr 03030300 +.chr 03003300 +.chr 03000300 +.chr 03000300 +; tile 47 +.chr 00000000 +.chr 00333000 +.chr 03000300 +.chr 03000300 +.chr 03000300 +.chr 03000300 +.chr 03000300 +.chr 00333000 +; tile 48 +.chr 00000000 +.chr 03333000 +.chr 03000300 +.chr 03000300 +.chr 03333000 +.chr 03000000 +.chr 03000000 +.chr 03000000 +; tile 49 +.chr 00000000 +.chr 00333000 +.chr 03000300 +.chr 03000300 +.chr 03000300 +.chr 03030300 +.chr 03003000 +.chr 00330300 +; tile 50 +.chr 00000000 +.chr 03333000 +.chr 03000300 +.chr 03000300 +.chr 03333000 +.chr 03030000 +.chr 03003000 +.chr 03000300 +; tile 51 +.chr 00000000 +.chr 00333300 +.chr 03000000 +.chr 03000000 +.chr 00333000 +.chr 00000300 +.chr 00000300 +.chr 03333000 +; tile 52 +.chr 00000000 +.chr 03333300 +.chr 00030000 +.chr 00030000 +.chr 00030000 +.chr 00030000 +.chr 00030000 +.chr 00030000 +; tile 53 +.chr 00000000 +.chr 03000300 +.chr 03000300 +.chr 03000300 +.chr 03000300 +.chr 03000300 +.chr 03000300 +.chr 00333000 +; tile 54 +.chr 00000000 +.chr 03000300 +.chr 03000300 +.chr 03000300 +.chr 03000300 +.chr 00303000 +.chr 00303000 +.chr 00030000 +; tile 55 +.chr 00000000 +.chr 03000300 +.chr 03000300 +.chr 03000300 +.chr 03030300 +.chr 03030300 +.chr 03333300 +.chr 00303000 +; tile 56 +.chr 00000000 +.chr 03000300 +.chr 03000300 +.chr 00303000 +.chr 00030000 +.chr 00303000 +.chr 03000300 +.chr 03000300 +; tile 57 +.chr 00000000 +.chr 03000300 +.chr 03000300 +.chr 00303000 +.chr 00303000 +.chr 00030000 +.chr 00030000 +.chr 00030000 +; tile 58 +.chr 00000000 +.chr 03333300 +.chr 00000300 +.chr 00003000 +.chr 00030000 +.chr 00300000 +.chr 03000000 +.chr 03333300 +; tile 59 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 60 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 61 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 62 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 63 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 64 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 65 +.chr 00000000 +.chr 00333000 +.chr 03000300 +.chr 03000300 +.chr 03333300 +.chr 03000300 +.chr 03000300 +.chr 03000300 +; tile 66 +.chr 00000000 +.chr 03333000 +.chr 03000300 +.chr 03000300 +.chr 03333000 +.chr 03000300 +.chr 03000300 +.chr 03333000 +; tile 67 +.chr 00000000 +.chr 00333300 +.chr 03000000 +.chr 03000000 +.chr 03000000 +.chr 03000000 +.chr 03000000 +.chr 00333300 +; tile 68 +.chr 00000000 +.chr 03333000 +.chr 03000300 +.chr 03000300 +.chr 03000300 +.chr 03000300 +.chr 03000300 +.chr 03333000 +; tile 69 +.chr 00000000 +.chr 03333000 +.chr 03000000 +.chr 03000000 +.chr 03330000 +.chr 03000000 +.chr 03000000 +.chr 03333000 +; tile 70 +.chr 00000000 +.chr 03333000 +.chr 03000000 +.chr 03000000 +.chr 03330000 +.chr 03000000 +.chr 03000000 +.chr 03000000 +; tile 71 +.chr 00000000 +.chr 00333300 +.chr 03000000 +.chr 03000000 +.chr 03000000 +.chr 03033300 +.chr 03000300 +.chr 00333000 +; tile 72 +.chr 00000000 +.chr 03000300 +.chr 03000300 +.chr 03000300 +.chr 03333300 +.chr 03000300 +.chr 03000300 +.chr 03000300 +; tile 73 +.chr 00000000 +.chr 00333000 +.chr 00030000 +.chr 00030000 +.chr 00030000 +.chr 00030000 +.chr 00030000 +.chr 00333000 +; tile 74 +.chr 00000000 +.chr 00000300 +.chr 00000300 +.chr 00000300 +.chr 00000300 +.chr 03000300 +.chr 03000300 +.chr 00333000 +; tile 75 +.chr 00000000 +.chr 03000300 +.chr 03003000 +.chr 03030000 +.chr 03300000 +.chr 03030000 +.chr 03003000 +.chr 03000300 +; tile 76 +.chr 00000000 +.chr 03000000 +.chr 03000000 +.chr 03000000 +.chr 03000000 +.chr 03000000 +.chr 03000000 +.chr 03333300 +; tile 77 +.chr 00000000 +.chr 03000300 +.chr 03303300 +.chr 03030300 +.chr 03000300 +.chr 03000300 +.chr 03000300 +.chr 03000300 +; tile 78 +.chr 00000000 +.chr 03000300 +.chr 03000300 +.chr 03300300 +.chr 03030300 +.chr 03003300 +.chr 03000300 +.chr 03000300 +; tile 79 +.chr 00000000 +.chr 00333000 +.chr 03000300 +.chr 03000300 +.chr 03000300 +.chr 03000300 +.chr 03000300 +.chr 00333000 +; tile 80 +.chr 00000000 +.chr 03333000 +.chr 03000300 +.chr 03000300 +.chr 03333000 +.chr 03000000 +.chr 03000000 +.chr 03000000 +; tile 81 +.chr 00000000 +.chr 00333000 +.chr 03000300 +.chr 03000300 +.chr 03000300 +.chr 03030300 +.chr 03003000 +.chr 00330300 +; tile 82 +.chr 00000000 +.chr 03333000 +.chr 03000300 +.chr 03000300 +.chr 03333000 +.chr 03030000 +.chr 03003000 +.chr 03000300 +; tile 83 +.chr 00000000 +.chr 00333300 +.chr 03000000 +.chr 03000000 +.chr 00333000 +.chr 00000300 +.chr 00000300 +.chr 03333000 +; tile 84 +.chr 00000000 +.chr 03333300 +.chr 00030000 +.chr 00030000 +.chr 00030000 +.chr 00030000 +.chr 00030000 +.chr 00030000 +; tile 85 +.chr 00000000 +.chr 03000300 +.chr 03000300 +.chr 03000300 +.chr 03000300 +.chr 03000300 +.chr 03000300 +.chr 00333000 +; tile 86 +.chr 00000000 +.chr 03000300 +.chr 03000300 +.chr 03000300 +.chr 03000300 +.chr 00303000 +.chr 00303000 +.chr 00030000 +; tile 87 +.chr 00000000 +.chr 03000300 +.chr 03000300 +.chr 03000300 +.chr 03030300 +.chr 03030300 +.chr 03333300 +.chr 00303000 +; tile 88 +.chr 00000000 +.chr 03000300 +.chr 03000300 +.chr 00303000 +.chr 00030000 +.chr 00303000 +.chr 03000300 +.chr 03000300 +; tile 89 +.chr 00000000 +.chr 03000300 +.chr 03000300 +.chr 00303000 +.chr 00303000 +.chr 00030000 +.chr 00030000 +.chr 00030000 +; tile 90 +.chr 00000000 +.chr 03333300 +.chr 00000300 +.chr 00003000 +.chr 00030000 +.chr 00300000 +.chr 03000000 +.chr 03333300 +; tile 91 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 92 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 93 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 94 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 95 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 96 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 97 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 98 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 99 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 100 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 101 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 102 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 103 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 104 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 105 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 106 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 107 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 108 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 109 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 110 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 111 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 112 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 113 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 114 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 115 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 116 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 117 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 118 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 119 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 120 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 121 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 122 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 123 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 124 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 125 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 126 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 127 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 diff --git a/gen/tiles/bank3.inc b/gen/tiles/bank3.inc new file mode 100644 index 0000000..200c0cd --- /dev/null +++ b/gen/tiles/bank3.inc @@ -0,0 +1,1153 @@ +; this tileset was generated by png2chr.py +; tile 0 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 1 +.chr 03333330 +.chr 30000013 +.chr 30022213 +.chr 30222213 +.chr 30222213 +.chr 30222213 +.chr 31111113 +.chr 03333330 +; tile 2 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 3 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 4 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 5 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 6 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 7 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 8 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 9 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 10 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 11 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 12 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 13 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 14 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 15 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 16 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 17 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 18 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 19 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 20 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 21 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 22 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 23 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 24 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 25 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 26 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 27 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 28 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 29 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 30 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 31 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 32 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 33 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 34 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 35 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 36 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 37 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 38 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 39 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 40 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 41 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 42 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 43 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 44 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 45 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 46 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 47 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 48 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 49 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 50 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 51 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 52 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 53 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 54 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 55 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 56 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 57 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 58 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 59 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 60 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 61 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 62 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 63 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 64 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 65 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 66 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 67 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 68 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 69 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 70 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 71 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 72 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 73 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 74 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 75 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 76 +.chr 00000000 +.chr 00033333 +.chr 00322222 +.chr 03322222 +.chr 33222222 +.chr 32333223 +.chr 32333223 +.chr 32333223 +; tile 77 +.chr 00000000 +.chr 33300000 +.chr 11330000 +.chr 21133000 +.chr 22113300 +.chr 33211300 +.chr 33211300 +.chr 33211300 +; tile 78 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 79 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 80 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 81 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 82 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 83 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 84 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 85 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 86 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 87 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 88 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 89 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 90 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 91 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 92 +.chr 32222331 +.chr 32222332 +.chr 32222222 +.chr 33322222 +.chr 00323232 +.chr 00323232 +.chr 00333333 +.chr 00000000 +; tile 93 +.chr 11211300 +.chr 22211300 +.chr 22113300 +.chr 21133000 +.chr 31333000 +.chr 31333000 +.chr 33330000 +.chr 00000000 +; tile 94 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 95 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 96 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 97 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 98 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 99 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 100 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 101 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 102 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 103 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 104 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 105 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 106 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 107 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 108 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 109 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 110 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 111 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 112 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 113 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 114 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 115 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 116 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 117 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 118 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 119 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 120 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 121 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 122 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 123 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 124 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 125 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 126 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +.chr 00000000 +; tile 127 +.chr 33333333 +.chr 32333333 +.chr 33333233 +.chr 33333333 +.chr 33233323 +.chr 33333333 +.chr 32332333 +.chr 33333333 diff --git a/makefile b/makefile new file mode 100644 index 0000000..8058367 --- /dev/null +++ b/makefile @@ -0,0 +1,27 @@ +NAME=pcq +TEST_NAME=test$(NAME) +AS=ulas +FLAGS=-D DEBUG +#SYMTYPE=sym +SYMTYPE=mlb +INCS=-I ./src -I ./gen + +bin: + $(AS) $(FLAGS) -o $(NAME).gb -l ${NAME}.lst -s $(NAME).$(SYMTYPE) -S $(SYMTYPE) $(INCS) src/main.s + +.PHONY: tiles +tiles: + ./tools/png2chr.py assets/tiles/bank0.png > gen/tiles/bank0.inc + ./tools/png2chr.py assets/tiles/bank1.png > gen/tiles/bank1.inc + ./tools/png2chr.py assets/tiles/bank2.png > gen/tiles/bank2.inc + ./tools/png2chr.py assets/tiles/bank3.png > gen/tiles/bank3.inc + +.PHONY: maps +maps: + ./tools/tmx2map.py assets/maps/l1.tmx > gen/maps/l1.inc + +.PHONY: clean +clean: + rm -f ./gen/maps/*.inc + rm -f ./gen/tiles/*.inc + diff --git a/src/actor.s b/src/actor.s new file mode 100644 index 0000000..c19affc --- /dev/null +++ b/src/actor.s @@ -0,0 +1,267 @@ + + ; gets the tile an actor is located at + ; inputs: + ; de: actor ptr + ; bc: y/x offset for position + ; returns: + ; b: tile id + ; a: tile flags +act_get_tile: + + ; load tile positions + ld hl, act_hi_y + add hl, de ; hl = actor y + ld a, [hl+] + add a, b ; offset by b +#ifdef DEBUG + ldh [debug_col_point_y], a +#endif + div8 a + + ; b = y tile + ld b, a + + inc hl ; move past lo x + ld a, [hl] + add a, c ; offset by c +#ifdef DEBUG + ldh [debug_col_point_x], a +#endif + div8 a + + ; c = x tile + ld c, a + + ; load map + ld hl, map + ld a, [hl+] + ld h, [hl] + ld l, a + + ld de, map_dat + add hl, de + + ; hl = map ptr + ld de, MAP_W + + ; save coordinate + ld a, b + ldh [col_tile_y], a + ld a, c + ldh [col_tile_x], a + + ; add MAP_W + ; to map ptr y times + ld a, b + cp a, 0 + jr z, @skip_y REL +@y_loop: + add hl, de + dec b + jr nz, @y_loop REL +@skip_y: + + ld d, 0 + ld e, c + add hl, de ; add x offset + + ld a, [hl] ; load tile index + ld b, a ; b = tile index + + ; load tile flags + ld hl, tile_flags + ld e, a + add hl, de + + ld a, [hl] ; laod tile flag + + ; b = tile id + ; a = tile flags + ret + + ; checks actor for wall position + ; inputs: + ; $1: y offset + ; $2: x offset + ; de: actor ptr + ; modifies: + ; registers: all + ; preserves: de + ; sets col_flag++ if collision occured +#macro act_move_wall_check + push de + ld b, $1 & 0xFF + ld c, $2 & 0xFF + call act_get_tile + and a, TILE_F_WALL + + pop de + + call nz, act_inc_col_flag +#endmacro + + ; increments col flag +act_inc_col_flag: + ; if we called this col_flag should be 1 + ldh a, [col_flag] + inc a + ldh [col_flag], a + ret + + ; resets position + ; if col_flag > 0 + ; to tmp_lo/tmp_hi + ; inputs: + ; hl: hl point to reset if wall + ; tmp_lo/hi: original position + ; returns: + ; a: 0 no reset + ; a: 1 reset +act_move_reset: + ldh a, [col_flag] + cp a, 0 + jr z, @no_reset REL + + ldh a, [tmp_lo] + ld [hl+], a + ldh a, [tmp_hi] + ld [hl], a + + ld a, 1 + ret +@no_reset: + ld a, 0 + ret + + ; moves an actor up + ; inputs: + ; de: actor ptr + ; b: lo value to move by + ; c: hi value to move by + ; returns: + ; a: 0 -> move was made + ; a: 1 -> move failed +act_move_up: + xor a, a + ldh [col_flag], a + + ld hl, act_lo_y + add hl, de + + push hl + + ; lo -= b + ld a, [hl] + ldh [tmp_lo], a + sub a, b + ld [hl+], a + + ; hi -= carry + ld a, [hl] + ldh [tmp_hi], a + sbc a, c + ld [hl], a + + act_move_wall_check 0, 4 + act_move_wall_check 0, 2 + + pop hl + call act_move_reset + + ret + + ; same as move up +act_move_down: + xor a, a + ldh [col_flag], a + + ld hl, act_lo_y + add hl, de + + push hl + + ; lo += b + ld a, [hl] + ldh [tmp_lo], a + add a, b + ld [hl+], a + + ; hi += carry + ld a, [hl] + ldh [tmp_hi], a + adc a, c + ld [hl], a + + act_move_wall_check 6, 4 + act_move_wall_check 6, 2 + + pop hl + call act_move_reset + ret + + ; moves an actor left + ; inputs: + ; de: actor ptr + ; b: lo value to move by + ; c: hi value to move by + ; returns: + ; a: 0 -> move was made + ; a: 1 -> move failed +act_move_left: + xor a, a + ldh [col_flag], a + + ld hl, act_lo_x + add hl, de + + push hl + + ; lo -= b + ld a, [hl] + ldh [tmp_lo], a + sub a, b + ld [hl+], a + + ; hi -= carry + ld a, [hl] + ldh [tmp_hi], a + sbc a, c + ld [hl], a + + act_move_wall_check 4, 1 + act_move_wall_check 2, 1 + + pop hl + call act_move_reset + + ret + + + ; same as move right +act_move_right: + xor a, a + ldh [col_flag], a + + ld hl, act_lo_x + add hl, de + + push hl + + ; lo += b + ld a, [hl] + ldh [tmp_lo], a + add a, b + ld [hl+], a + + ; hi += carry + ld a, [hl] + ldh [tmp_hi], a + adc a, c + ld [hl], a + + act_move_wall_check 4, 6 + act_move_wall_check 2, 6 + + pop hl + call act_move_reset + ret diff --git a/src/d_actor.s b/src/d_actor.s new file mode 100644 index 0000000..c952563 --- /dev/null +++ b/src/d_actor.s @@ -0,0 +1,14 @@ +.se 0 +.de ACT_T_NULL, 1 +.de ACT_T_PLAYER, 1 + +.se 0 +.de act_type, 1 +.de act_flags, 1 + ; low and high positon +.de act_lo_y, 1 +.de act_hi_y, 1 +.de act_lo_x, 1 +.de act_hi_x, 1 +.de act_size, 0 + diff --git a/src/d_map.s b/src/d_map.s new file mode 100644 index 0000000..0851c54 --- /dev/null +++ b/src/d_map.s @@ -0,0 +1,17 @@ + +#define MAP_H 14 +#define MAP_W 20 + +; struct map header +.se 0 +.de map_flags, 1 + + ; start and end tile +.de map_start_y, 1 +.de map_start_x, 1 +.de map_end_y, 1 +.de map_end_x, 1 + ; string buffer with map name +.de map_name, 16 + ; lastly map data +.de map_dat, MAP_W * MAP_H diff --git a/src/d_oam.s b/src/d_oam.s new file mode 100644 index 0000000..6f80bd1 --- /dev/null +++ b/src/d_oam.s @@ -0,0 +1,8 @@ +; oam memory layout +.se 0 +.de oamy, 1 +.de oamx, 1 +.de oamchr, 1 +.de oamflag, 1 +.de oamsize, 0 + diff --git a/src/d_player.s b/src/d_player.s new file mode 100644 index 0000000..8874cad --- /dev/null +++ b/src/d_player.s @@ -0,0 +1,8 @@ +#define player_soam shadow_oam + +#define PLAYER_TILE_IDLE 0x81 +#define PLAYER_TILE_HUG_LEFT_WALL 0x82 +#define PLAYER_TILE_FALL 0x93 +#define PLAYER_TILE_JUMP 0x84 + +#define PLAYER_JUMP_TIMER 0x20 diff --git a/src/d_tiles.s b/src/d_tiles.s new file mode 100644 index 0000000..31900ac --- /dev/null +++ b/src/d_tiles.s @@ -0,0 +1,2 @@ +.se 1 +.de TILE_F_WALL, 1 diff --git a/src/debug.s b/src/debug.s new file mode 100644 index 0000000..afa9603 --- /dev/null +++ b/src/debug.s @@ -0,0 +1,49 @@ +#define DEBUG_SOAM_COL_POINT shadow_oam_end-oamsize +#define DEBUG_SOAM_COL_TILE shadow_oam_end-oamsize*2 + + ; called by ASSERT macro if check + ; fails +debug_assert_fail: + BREAK + ret + + ; updates debug information +debug_update: + ; draw debug collision point + ld hl, DEBUG_SOAM_COL_POINT + + ldh a, [debug_col_point_y] + add a, OBJ_OFF_Y + ld [hl+], a + + ldh a, [debug_col_point_x] + add a, OBJ_OFF_X + ld [hl+], a + + ld a, 0xBF + ld [hl+], a + + xor a, a + ld [hl], a + + + ; draw debug collision tile + ld hl, DEBUG_SOAM_COL_TILE + + ldh a, [col_tile_y] + mul8 a + add a, OBJ_OFF_Y + ld [hl+], a + + ldh a, [col_tile_x] + mul8 a + add a, OBJ_OFF_X + ld [hl+], a + + ld a, 0xBF + ld [hl+], a + + xor a, a + ld [hl], a + + ret diff --git a/src/defs.s b/src/defs.s new file mode 100644 index 0000000..aa0081c --- /dev/null +++ b/src/defs.s @@ -0,0 +1,12 @@ +#include "d_oam.s" +#include "d_map.s" +#include "d_actor.s" +#include "d_player.s" +#include "d_tiles.s" + +.def int OAMDMAFN = 0xFF80 + +#define BGP 0b11100100 + +#define STACK_BEGIN 0xDFFF +#define EMPTY_TILE 0x00 diff --git a/src/gen.s b/src/gen.s new file mode 100644 index 0000000..1f80afc --- /dev/null +++ b/src/gen.s @@ -0,0 +1,16 @@ +tile_bank0: +#include "tiles/bank0.inc" +tile_bank0_end: +tile_bank1: +#include "tiles/bank1.inc" +tile_bank2: +#include "tiles/bank2.inc" +tile_bank3: +#include "tiles/bank3.inc" + +maps: + +map_l1: +#include "maps/l1.inc" + +maps_end: diff --git a/src/header.s b/src/header.s new file mode 100644 index 0000000..2e11add --- /dev/null +++ b/src/header.s @@ -0,0 +1,22 @@ +; header + jp entry + nop +logo: +.db 0xCE, 0xED, 0x66, 0x66, 0xCC, 0x0D, 0x00, 0x0B, 0x03, 0x73, 0x00, 0x83, 0x00, 0x0C, 0x00, 0x0D +.db 0x00, 0x08, 0x11, 0x1F, 0x88, 0x89, 0x00, 0x0E, 0xDC, 0xCC, 0x6E, 0xE6, 0xDD, 0xDD, 0xD9, 0x99 +.db 0xBB, 0xBB, 0x67, 0x63, 0x6E, 0x0E, 0xEC, 0xCC, 0xDD, 0xDC, 0x99, 0x9F, 0xBB, 0xB9, 0x33, 0x3E +logo_end: + +.str "nj" +.fill 0, 0x147 - $ + +; cartride type +; MBC1+RAM+Battery +.db 0x03 + ; rom size 32K +.db 0x00 + ; ram size 8k +.db 0x02 +.fill 0, 0x14B - $ +.chksm +.fill 0, 0x150 - $ diff --git a/src/hram.s b/src/hram.s new file mode 100644 index 0000000..e544105 --- /dev/null +++ b/src/hram.s @@ -0,0 +1,20 @@ +#define HRAM 0xFF80 + +; 0x80 - 0x90 are used by dma routines +.org 0xFF90 + + ; tmp y and x registers +tmp_lo: .adv 1 +tmp_hi: .adv 1 + +col_tile_y: .adv 1 +col_tile_x: .adv 1 + ; set to 0 if collision did not occur + ; set to 1 if collision did occur +col_flag: .adv 1 + + ; draws collision point + ; in actual screen coordinates + ; y/x position +debug_col_point_y: .adv 1 +debug_col_point_x: .adv 1 diff --git a/src/hw.s b/src/hw.s new file mode 100644 index 0000000..4aa02f3 --- /dev/null +++ b/src/hw.s @@ -0,0 +1,122 @@ +; register defs + +#define SCRNW 159 +#define SCRNH 143 + +; lcd registers + +; lcd y +#define RLY 0xFF44 +#define RLYC 0xFF45 +#define RLCD 0xFF40 + +#define LCDCF_BGON 0b00000001 +#define LCDCF_ON 0b10000000 +#define LCDCF_OBJON 0b00000010 +#define LCDCF_TILE_BANK 0b00010000 +#define LCDF_WINDOWON 0b00100000 +#define LCDF_OBJ_SIZE 0b00000100 +#define LCDF_WINBANKSELECT 0b01000000 + +#define RSTAT 0xFF41 + +#define STATF_LYC_INT_SELECT 0b01000000 + +#define RBGP 0xFF47 +#define ROBP0 0xFF48 +#define ROBP1 0xFF49 + +; screen scroll y and x +#define RSCY 0xFF42 +#define RSCX 0xFF43 + +; window y and x +#define RWY 0xFF4A +#define RWX 0xFF4B + +; P1: joy pad register +#define RP1 0xFF00 +#define P1F5 0b00100000 ; get buttons +#define P1F4 0b00010000 ; get dpad + +; buttons +.def int BTNDOWN = 0x80 +.def int BTNUP = 0x40 +.def int BTNLEFT = 0x20 +.def int BTNRIGHT = 0x10 +.def int BTNSTART = 0x08 +.def int BTNSELECT = 0x04 +.def int BTNA = 0x01 +.def int BTNB = 0x02 + +; obj off-screen offsets +#define OBJ_OFF_X 8 +#define OBJ_OFF_Y 16 + +; interrupts +; interrupt flag +#define IF 0xFF0F +; interrupt enabled +#define IE 0xFFFF +#define IVBLANK 0b00000001 +#define ILCD 0b00000010 + +; location where code for dma needs to be memcyp'd to +.def int DMAFN = 0xFF80 +#define DMA 0xFF46 + +#define OBJSMAX 40 + +.def int P1FDPAD = P1F5 +.def int P1FBTN = P1F4 +.def int P1FNONE = P1F5 | P1F4 + +; memory map +.def int VRAM = 0x8000 +.def int VRAM8800 = VRAM+0x0800 +.def int VRAM9000 = VRAM+0x1000 + +.def int VIEW_W = 20 +.def int VIEW_H = 20 +.def int SCRN_W = 32 +.def int SCRN_H = 32 + +.def int SCRN0 = 0x9800 +.def int SCRN0_UI = SCRN0 + SCRN_W * 16 + +.def int SCRN1 = 0x9C00 +.def int OAMRAM = 0xFE00 +.def int OBJSIZE = 4 +.def int OAMRAM_SIZE = OBJSMAX * OBJSIZE + +.def int OAM_FPRIO = 0b10000000 +#define OAM_FYFLIP 0b01000000 +#define OAM_FXFLIP 0b00100000 +#define OAM_DMG_PAL 0b00010000 + +; MBC1 registers + +; write 0xA here to enable sram +#define MBC1_SRAM_ENABLE 0x0000 +#define MBC1_ROM_BANKSEL 0x2000 +#define MBC1_SRAM_BANKSEL 0x4000 + +; audio registers +#define AUDIO_CTRL 0xFF26 +#define MASTER_VOLUME 0xFF24 + +#define CH1_SWEEP 0xFF10 +#define CH1_LEN_DUTY 0xFF11 +#define CH1_VOL_ENV 0xFF12 +#define CH1_PERIOD_LO 0xFF13 +#define CH1_PERIOD_HI_CTRL 0xFF14 + +#define CH4_LENGTH 0xFF20 +#define CH4_VOLUME_ENV 0xFF21 +#define CH4_FREQ_RAND 0xFF22 +#define CH4_CTRL 0xFF23 + +#define AUDIO_ALL_ON 0b10000000 +#define AUDIO_ALL_OFF 0b00000000 + + diff --git a/src/input.s b/src/input.s new file mode 100644 index 0000000..5f97539 --- /dev/null +++ b/src/input.s @@ -0,0 +1,78 @@ + + ; checks if an input was just pressed + ; in the last frame + ; inputs: + ; b: button to check + ; returns: + ; a: button state + ; flags +#macro input_just_pressed +.beginscope + ld a, [inputs] + ld c, a ; c = current inputs + ld a, [inputs_prev] + xor a, c ; xor with prev + ld c, a ; c = current xor prev + ld a, [inputs] + and a, c ; give precdence to current inputs + and a, b +.endscope +#endmacro + + ; checks for a button press + ; inputs: + ; b: BUTTON + ; returns: + ; a: button state + ; flags +#macro input_held + ld a, [inputs] + and a, b +#endmacro + + ; poll inputs + ; returns: + ; new inputs in [curr_inputs] + ; previous inputs in [prev_inputs] +inputs_poll: + ld a, [inputs] + ld [inputs_prev], a + + ld a, P1FDPAD + call poll_p1 + swap a + ld b, a + + ld a, P1FBTN + call poll_p1 + or a, b + + ld [inputs], a + ld a, b + + ret + + ; poll p1 + ; inputs: + ; a: P1 key matrix flag + ; returns + ; a: A0-3 -> inputs +poll_p1: + ld [RP1], a + ; wait for values to become stable + ldh a, [RP1] + ldh a, [RP1] + ldh a, [RP1] + ldh a, [RP1] + ldh a, [RP1] + ldh a, [RP1] ; last read counts + xor a, 0x0F + and a, 0x0F + + ld d, a + ; reset P1F + ld a, P1FNONE + ldh [RP1], a + ld a, d + + ret diff --git a/src/jmp.s b/src/jmp.s new file mode 100644 index 0000000..0a4541e --- /dev/null +++ b/src/jmp.s @@ -0,0 +1,37 @@ +; RST $00 +; panic exception handler +rst_panic: + di +@forever: + jp @forever +.fill 0, 0x08 - $ + + ; rst 0008 + ; simple call to hl +sys_call_hl: + jp hl + + +.fill 0, 0x40 - $ +; interrupt vectors + +;============= +; vblank 0x40 +;============= +vec_vblank: + call vblank + reti + +.fill 0, 0x48 - $ +;============= +; STA 0x48 +;============= +vec_stat: + reti + ; disable objects + push af + ld a, [RLCD] + and a, ~LCDCF_OBJON & 0xFF + ld [RLCD], a + pop af + reti diff --git a/src/macros.s b/src/macros.s new file mode 100644 index 0000000..6abcc14 --- /dev/null +++ b/src/macros.s @@ -0,0 +1,51 @@ + + +; relative jump: jr