From defd8ad8c78c7ecd591a4f30146629aa50ac64d3 Mon Sep 17 00:00:00 2001 From: Mathias Bynens Date: Thu, 9 Apr 2015 13:41:12 +0200 Subject: Enable continuous integration --- .travis.yml | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 .travis.yml diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 00000000..3fe46c2b --- /dev/null +++ b/.travis.yml @@ -0,0 +1,26 @@ +language: c +install: + - sudo easy_install pypng + - path="$(pwd)"; cd; git clone git://github.com/bentley/rgbds.git && cd rgbds && sudo make install; cd "$path" +before_script: + - |- + function check_status() { + if ! git diff-index --quiet HEAD --; then + echo 'Uncommitted changes detected.'; + return 1; + fi; + } + - |- + function verify() { + actual="$(md5sum "${1}" | cut -c 1-32)"; + expected="${2}"; + if [ "${actual}" != "${expected}" ]; then + echo "md5(${1}): expected ${2}, but got ${actual} instead."; + return 1; + fi; + } +script: + - make + - verify pokeblue.gbc 50927e843568814f7ed45ec4f944bd8b + - verify pokered.gbc 3d45c1ee9abd5738df46d2bdda8b57dc + - check_status -- cgit v1.2.3 From f40c979a6cab4904219c6b145ba9549c5a56108d Mon Sep 17 00:00:00 2001 From: dannye Date: Fri, 20 Jan 2017 17:32:43 -0600 Subject: Fix typos --- home.asm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/home.asm b/home.asm index def6200a..8cd85019 100644 --- a/home.asm +++ b/home.asm @@ -208,7 +208,7 @@ DrawHPBar:: and a jr nz, .fill - ; If c iz nonzero, draw a pixel anyway. + ; If c is nonzero, draw a pixel anyway. ld a, c and a jr z, .done @@ -4113,7 +4113,7 @@ EraseMenuCursor:: ; The reason is that most functions that call this initialize H_DOWNARROWBLINKCNT1 to 0. ; The effect is that if the tile at hl is initialized with a down arrow, ; this function will toggle that down arrow on and off, but if the tile isn't -; initliazed with a down arrow, this function does nothing. +; initialized with a down arrow, this function does nothing. ; That allows this to be called without worrying about if a down arrow should ; be blinking. HandleDownArrowBlinkTiming:: -- cgit v1.2.3 From cec6e6e2fb7886acc85200f921d3913fd2ea8a2b Mon Sep 17 00:00:00 2001 From: AntonioND Date: Tue, 14 Mar 2017 20:52:58 +0000 Subject: Fix floating sections This is needed to prevent rgblink from moving them around in future releases. Signed-off-by: AntonioND --- audio.asm | 30 +++++++++++++------------- home.asm | 4 ++-- main.asm | 72 +++++++++++++++++++++++++++++++-------------------------------- sram.asm | 8 +++---- text.asm | 26 +++++++++++------------ wram.asm | 4 ++-- 6 files changed, 72 insertions(+), 72 deletions(-) diff --git a/audio.asm b/audio.asm index 0a344ae7..a2cb3220 100644 --- a/audio.asm +++ b/audio.asm @@ -6,29 +6,29 @@ AUDIO_3 EQU $1f INCLUDE "constants.asm" -SECTION "Sound Effect Headers 1", ROMX, BANK[AUDIO_1] +SECTION "Sound Effect Headers 1", ROMX[$4000], BANK[AUDIO_1] INCLUDE "audio/headers/sfxheaders1.asm" -SECTION "Sound Effect Headers 2", ROMX, BANK[AUDIO_2] +SECTION "Sound Effect Headers 2", ROMX[$4000], BANK[AUDIO_2] INCLUDE "audio/headers/sfxheaders2.asm" -SECTION "Sound Effect Headers 3", ROMX, BANK[AUDIO_3] +SECTION "Sound Effect Headers 3", ROMX[$4000], BANK[AUDIO_3] INCLUDE "audio/headers/sfxheaders3.asm" -SECTION "Music Headers 1", ROMX, BANK[AUDIO_1] +SECTION "Music Headers 1", ROMX[$422E], BANK[AUDIO_1] INCLUDE "audio/headers/musicheaders1.asm" -SECTION "Music Headers 2", ROMX, BANK[AUDIO_2] +SECTION "Music Headers 2", ROMX[$42BE], BANK[AUDIO_2] INCLUDE "audio/headers/musicheaders2.asm" -SECTION "Music Headers 3", ROMX, BANK[AUDIO_3] +SECTION "Music Headers 3", ROMX[$4249], BANK[AUDIO_3] INCLUDE "audio/headers/musicheaders3.asm" -SECTION "Sound Effects 1", ROMX, BANK[AUDIO_1] +SECTION "Sound Effects 1", ROMX[$42FD], BANK[AUDIO_1] INCLUDE "audio/sfx/snare1_1.asm" INCLUDE "audio/sfx/snare2_1.asm" @@ -127,7 +127,7 @@ INCLUDE "audio/sfx/cry21_1.asm" INCLUDE "audio/sfx/cry22_1.asm" -SECTION "Sound Effects 2", ROMX, BANK[AUDIO_2] +SECTION "Sound Effects 2", ROMX[$42FD], BANK[AUDIO_2] INCLUDE "audio/sfx/snare1_2.asm" INCLUDE "audio/sfx/snare2_2.asm" @@ -252,7 +252,7 @@ INCLUDE "audio/sfx/cry21_2.asm" INCLUDE "audio/sfx/cry22_2.asm" -SECTION "Sound Effects 3", ROMX, BANK[AUDIO_3] +SECTION "Sound Effects 3", ROMX[$42FD], BANK[AUDIO_3] INCLUDE "audio/sfx/snare1_3.asm" INCLUDE "audio/sfx/snare2_3.asm" @@ -360,7 +360,7 @@ INCLUDE "audio/sfx/cry22_3.asm" -SECTION "Audio Engine 1", ROMX, BANK[AUDIO_1] +SECTION "Audio Engine 1", ROMX[$50C6], BANK[AUDIO_1] PlayBattleMusic:: xor a @@ -453,7 +453,7 @@ Music_Cities1AlternateTempo:: jp Audio1_OverwriteChannelPointer -SECTION "Audio Engine 2", ROMX, BANK[AUDIO_2] +SECTION "Audio Engine 2", ROMX[$536E], BANK[AUDIO_2] Music_DoLowHealthAlarm:: ld a, [wLowHealthAlarm] @@ -557,7 +557,7 @@ Audio2_OverwriteChannelPointer: ret -SECTION "Audio Engine 3", ROMX, BANK[AUDIO_3] +SECTION "Audio Engine 3", ROMX[$513B], BANK[AUDIO_3] PlayPokedexRatingSfx:: ld a, [$ffdc] @@ -601,7 +601,7 @@ INCLUDE "audio/engine_3.asm" -SECTION "Music 1", ROMX, BANK[AUDIO_1] +SECTION "Music 1", ROMX[$5BA3], BANK[AUDIO_1] INCLUDE "audio/music/pkmnhealed.asm" INCLUDE "audio/music/routes1.asm" @@ -630,7 +630,7 @@ INCLUDE "audio/music/gym.asm" INCLUDE "audio/music/pokecenter.asm" -SECTION "Music 2", ROMX, BANK[AUDIO_2] +SECTION "Music 2", ROMX[$6322], BANK[AUDIO_2] INCLUDE "audio/sfx/pokeflute_ch4_ch5.asm" INCLUDE "audio/sfx/unused2_2.asm" @@ -646,7 +646,7 @@ INCLUDE "audio/music/defeatedwildmon.asm" INCLUDE "audio/music/defeatedgymleader.asm" -SECTION "Music 3", ROMX, BANK[AUDIO_3] +SECTION "Music 3", ROMX[$5BBB], BANK[AUDIO_3] INCLUDE "audio/music/bikeriding.asm" INCLUDE "audio/music/dungeon1.asm" diff --git a/home.asm b/home.asm index 8cd85019..bfd73b31 100644 --- a/home.asm +++ b/home.asm @@ -30,7 +30,7 @@ SECTION "joypad", ROM0 [$60] reti -SECTION "Home", ROM0 +SECTION "Home", ROM0 [$61] DisableLCD:: xor a @@ -99,7 +99,7 @@ SECTION "Header", ROM0 [$104] -SECTION "Main", ROM0 +SECTION "Main", ROM0 [$150] Start:: cp GBC diff --git a/main.asm b/main.asm index da2d3671..7943dc3d 100755 --- a/main.asm +++ b/main.asm @@ -14,7 +14,7 @@ PICS_5 EQU $D INCLUDE "home.asm" -SECTION "bank1",ROMX,BANK[$1] +SECTION "bank1",ROMX[$4000],BANK[$1] INCLUDE "data/facing.asm" @@ -86,7 +86,7 @@ INCLUDE "engine/remove_pokemon.asm" INCLUDE "engine/display_pokedex.asm" -SECTION "bank3",ROMX,BANK[$3] +SECTION "bank3",ROMX[$4000],BANK[$3] INCLUDE "engine/joypad.asm" @@ -127,7 +127,7 @@ INCLUDE "engine/pathfinding.asm" INCLUDE "engine/hp_bar.asm" INCLUDE "engine/hidden_object_functions3.asm" -SECTION "NPC Sprites 1", ROMX, BANK[NPC_SPRITES_1] +SECTION "NPC Sprites 1", ROMX[$4000], BANK[NPC_SPRITES_1] OakAideSprite: INCBIN "gfx/sprites/oak_aide.2bpp" RockerSprite: INCBIN "gfx/sprites/rocker.2bpp" @@ -158,7 +158,7 @@ OldAmberSprite: INCBIN "gfx/sprites/old_amber.2bpp" LyingOldManSprite: INCBIN "gfx/sprites/lying_old_man.2bpp" -SECTION "Graphics", ROMX, BANK[GFX] +SECTION "Graphics", ROMX[$5380], BANK[GFX] PokemonLogoGraphics: INCBIN "gfx/pokemon_logo.2bpp" FontGraphics: INCBIN "gfx/font.1bpp" @@ -184,7 +184,7 @@ PlayerCharacterTitleGraphics: INCBIN "gfx/player_title.2bpp" PlayerCharacterTitleGraphicsEnd: -SECTION "Battle (bank 4)", ROMX, BANK[$4] +SECTION "Battle (bank 4)", ROMX[$68D8], BANK[$4] INCLUDE "engine/overworld/is_player_just_outside_map.asm" INCLUDE "engine/menu/status_screen.asm" @@ -206,7 +206,7 @@ INCLUDE "engine/battle/get_trainer_name.asm" INCLUDE "engine/random.asm" -SECTION "NPC Sprites 2", ROMX, BANK[NPC_SPRITES_2] +SECTION "NPC Sprites 2", ROMX[$4000], BANK[NPC_SPRITES_2] RedCyclingSprite: INCBIN "gfx/sprites/cycling.2bpp" RedSprite: INCBIN "gfx/sprites/red.2bpp" @@ -250,7 +250,7 @@ LoreleiSprite: INCBIN "gfx/sprites/lorelei.2bpp" SeelSprite: INCBIN "gfx/sprites/seel.2bpp" -SECTION "Battle (bank 5)", ROMX, BANK[$5] +SECTION "Battle (bank 5)", ROMX[$7840], BANK[$5] INCLUDE "engine/load_pokedex_tiles.asm" INCLUDE "engine/overworld/map_sprites.asm" @@ -260,7 +260,7 @@ INCLUDE "engine/battle/moveEffects/substitute_effect.asm" INCLUDE "engine/menu/pc.asm" -SECTION "bank6",ROMX,BANK[$6] +SECTION "bank6",ROMX[$4000],BANK[$6] INCLUDE "data/mapHeaders/celadoncity.asm" INCLUDE "data/mapObjects/celadoncity.asm" @@ -335,7 +335,7 @@ INCLUDE "engine/overworld/doors.asm" INCLUDE "engine/overworld/ledges.asm" -SECTION "bank7",ROMX,BANK[$7] +SECTION "bank7",ROMX[$4000],BANK[$7] INCLUDE "data/mapHeaders/cinnabarisland.asm" INCLUDE "data/mapObjects/cinnabarisland.asm" @@ -516,7 +516,7 @@ INCLUDE "engine/menu/oaks_pc.asm" INCLUDE "engine/hidden_object_functions7.asm" -SECTION "Pics 1", ROMX, BANK[PICS_1] +SECTION "Pics 1", ROMX[$4000], BANK[PICS_1] RhydonPicFront:: INCBIN "pic/bmon/rhydon.pic" RhydonPicBack:: INCBIN "pic/monback/rhydonb.pic" @@ -578,13 +578,13 @@ TangelaPicFront:: INCBIN "pic/bmon/tangela.pic" TangelaPicBack:: INCBIN "pic/monback/tangelab.pic" -SECTION "Battle (bank 9)", ROMX, BANK[$9] +SECTION "Battle (bank 9)", ROMX[$7D6B], BANK[$9] INCLUDE "engine/battle/print_type.asm" INCLUDE "engine/battle/save_trainer_name.asm" INCLUDE "engine/battle/moveEffects/focus_energy_effect.asm" -SECTION "Pics 2", ROMX, BANK[PICS_2] +SECTION "Pics 2", ROMX[$4000], BANK[PICS_2] GrowlithePicFront:: INCBIN "pic/bmon/growlithe.pic" GrowlithePicBack:: INCBIN "pic/monback/growlitheb.pic" @@ -652,11 +652,11 @@ MoltresPicFront:: INCBIN "pic/bmon/moltres.pic" MoltresPicBack:: INCBIN "pic/monback/moltresb.pic" -SECTION "Battle (bank A)", ROMX, BANK[$A] +SECTION "Battle (bank A)", ROMX[$7EA9], BANK[$A] INCLUDE "engine/battle/moveEffects/leech_seed_effect.asm" -SECTION "Pics 3", ROMX, BANK[PICS_3] +SECTION "Pics 3", ROMX[$4000], BANK[PICS_3] ArticunoPicFront:: INCBIN "pic/bmon/articuno.pic" ArticunoPicBack:: INCBIN "pic/monback/articunob.pic" @@ -730,7 +730,7 @@ BeedrillPicBack:: INCBIN "pic/monback/beedrillb.pic" FossilKabutopsPic:: INCBIN "pic/bmon/fossilkabutops.pic" -SECTION "Battle (bank B)", ROMX, BANK[$B] +SECTION "Battle (bank B)", ROMX[$7B7B], BANK[$B] INCLUDE "engine/battle/display_effectiveness.asm" @@ -746,7 +746,7 @@ INCLUDE "engine/battle/moveEffects/pay_day_effect.asm" INCLUDE "engine/game_corner_slots2.asm" -SECTION "Pics 4", ROMX, BANK[PICS_4] +SECTION "Pics 4", ROMX[$4000], BANK[PICS_4] DodrioPicFront:: INCBIN "pic/bmon/dodrio.pic" DodrioPicBack:: INCBIN "pic/monback/dodriob.pic" @@ -811,12 +811,12 @@ RedPicBack:: INCBIN "pic/trainer/redb.pic" OldManPic:: INCBIN "pic/trainer/oldman.pic" -SECTION "Battle (bank C)", ROMX, BANK[$C] +SECTION "Battle (bank C)", ROMX[$7F2B], BANK[$C] INCLUDE "engine/battle/moveEffects/mist_effect.asm" INCLUDE "engine/battle/moveEffects/one_hit_ko_effect.asm" -SECTION "Pics 5", ROMX, BANK[PICS_5] +SECTION "Pics 5", ROMX[$4000], BANK[PICS_5] BulbasaurPicFront:: INCBIN "pic/bmon/bulbasaur.pic" BulbasaurPicBack:: INCBIN "pic/monback/bulbasaurb.pic" @@ -874,7 +874,7 @@ VictreebelPicFront:: INCBIN "pic/bmon/victreebel.pic" VictreebelPicBack:: INCBIN "pic/monback/victreebelb.pic" -SECTION "Battle (bank D)", ROMX, BANK[$D] +SECTION "Battle (bank D)", ROMX[$7244], BANK[$D] INCLUDE "engine/titlescreen2.asm" INCLUDE "engine/battle/link_battle_versus_text.asm" @@ -884,7 +884,7 @@ INCLUDE "engine/multiply_divide.asm" INCLUDE "engine/game_corner_slots.asm" -SECTION "bankE",ROMX,BANK[$E] +SECTION "bankE",ROMX[$4000],BANK[$E] INCLUDE "data/moves.asm" BaseStats: INCLUDE "data/base_stats.asm" @@ -910,12 +910,12 @@ INCLUDE "engine/battle/moveEffects/transform_effect.asm" INCLUDE "engine/battle/moveEffects/reflect_light_screen_effect.asm" -SECTION "bankF",ROMX,BANK[$F] +SECTION "bankF",ROMX[$4000],BANK[$F] INCLUDE "engine/battle/core.asm" -SECTION "bank10",ROMX,BANK[$10] +SECTION "bank10",ROMX[$4000],BANK[$10] INCLUDE "engine/menu/pokedex.asm" INCLUDE "engine/trade.asm" @@ -923,7 +923,7 @@ INCLUDE "engine/intro.asm" INCLUDE "engine/trade2.asm" -SECTION "bank11",ROMX,BANK[$11] +SECTION "bank11",ROMX[$4000],BANK[$11] INCLUDE "data/mapHeaders/lavendertown.asm" INCLUDE "data/mapObjects/lavendertown.asm" @@ -1068,7 +1068,7 @@ SeafoamIslands5Blocks: INCBIN "maps/seafoamislands5.blk" INCLUDE "engine/overworld/hidden_objects.asm" -SECTION "bank12",ROMX,BANK[$12] +SECTION "bank12",ROMX[$4000],BANK[$12] INCLUDE "data/mapHeaders/route7.asm" INCLUDE "data/mapObjects/route7.asm" @@ -1247,7 +1247,7 @@ INCLUDE "data/mapObjects/safarizonesecrethouse.asm" SafariZoneSecretHouseBlocks: INCBIN "maps/safarizonesecrethouse.blk" -SECTION "bank13",ROMX,BANK[$13] +SECTION "bank13",ROMX[$4000],BANK[$13] TrainerPics:: YoungsterPic:: INCBIN "pic/trainer/youngster.pic" @@ -1312,7 +1312,7 @@ INCLUDE "engine/give_pokemon.asm" INCLUDE "engine/predefs.asm" -SECTION "bank14",ROMX,BANK[$14] +SECTION "bank14",ROMX[$4000],BANK[$14] INCLUDE "data/mapHeaders/route22.asm" INCLUDE "data/mapObjects/route22.asm" @@ -1390,7 +1390,7 @@ INCLUDE "engine/menu/prize_menu.asm" INCLUDE "engine/hidden_object_functions14.asm" -SECTION "bank15",ROMX,BANK[$15] +SECTION "bank15",ROMX[$4000],BANK[$15] INCLUDE "data/mapHeaders/route2.asm" INCLUDE "data/mapObjects/route2.asm" @@ -1482,7 +1482,7 @@ INCLUDE "engine/menu/diploma.asm" INCLUDE "engine/overworld/trainers.asm" -SECTION "bank16",ROMX,BANK[$16] +SECTION "bank16",ROMX[$4000],BANK[$16] INCLUDE "data/mapHeaders/route6.asm" INCLUDE "data/mapObjects/route6.asm" @@ -1572,7 +1572,7 @@ HallofFameRoomBlocks: INCLUDE "engine/overworld/saffron_guards.asm" -SECTION "bank17",ROMX,BANK[$17] +SECTION "bank17",ROMX[$4000],BANK[$17] SaffronMartBlocks: LavenderMartBlocks: @@ -1728,7 +1728,7 @@ INCLUDE "engine/predefs17_2.asm" INCLUDE "engine/hidden_object_functions17.asm" -SECTION "bank18",ROMX,BANK[$18] +SECTION "bank18",ROMX[$4000],BANK[$18] ViridianForestBlocks: INCBIN "maps/viridianforest.blk" UndergroundPathNSBlocks: INCBIN "maps/undergroundpathns.blk" @@ -1851,7 +1851,7 @@ SilphCo11Blocks: INCBIN "maps/silphco11.blk" INCLUDE "engine/hidden_object_functions18.asm" -SECTION "bank19",ROMX,BANK[$19] +SECTION "bank19",ROMX[$4000],BANK[$19] Overworld_GFX: INCBIN "gfx/tilesets/overworld.t2.2bpp" Overworld_Block: INCBIN "gfx/blocksets/overworld.bst" @@ -1873,7 +1873,7 @@ Plateau_GFX: INCBIN "gfx/tilesets/plateau.t10.2bpp" Plateau_Block: INCBIN "gfx/blocksets/plateau.bst" -SECTION "bank1A",ROMX,BANK[$1A] +SECTION "bank1A",ROMX[$4000],BANK[$1A] INCLUDE "engine/battle/decrement_pp.asm" @@ -1909,7 +1909,7 @@ Facility_GFX: INCBIN "gfx/tilesets/facility.2bpp" Facility_Block: INCBIN "gfx/blocksets/facility.bst" -SECTION "bank1B",ROMX,BANK[$1B] +SECTION "bank1B",ROMX[$4000],BANK[$1B] Cemetery_GFX: INCBIN "gfx/tilesets/cemetery.t4.2bpp" Cemetery_Block: INCBIN "gfx/blocksets/cemetery.bst" @@ -1927,7 +1927,7 @@ Underground_GFX: INCBIN "gfx/tilesets/underground.t7.2bpp" Underground_Block: INCBIN "gfx/blocksets/underground.bst" -SECTION "bank1C",ROMX,BANK[$1C] +SECTION "bank1C",ROMX[$4000],BANK[$1C] INCLUDE "engine/gamefreak.asm" INCLUDE "engine/hall_of_fame.asm" @@ -1942,7 +1942,7 @@ INCLUDE "engine/palettes.asm" INCLUDE "engine/save.asm" -SECTION "bank1D",ROMX,BANK[$1D] +SECTION "bank1D",ROMX[$4000],BANK[$1D] CopycatsHouse1FBlocks: INCBIN "maps/copycatshouse1f.blk" @@ -2074,7 +2074,7 @@ INCLUDE "engine/menu/league_pc.asm" INCLUDE "engine/overworld/hidden_items.asm" -SECTION "bank1E",ROMX,BANK[$1E] +SECTION "bank1E",ROMX[$4000],BANK[$1E] INCLUDE "engine/battle/animations.asm" diff --git a/sram.asm b/sram.asm index 3e7b3e16..3b51df77 100644 --- a/sram.asm +++ b/sram.asm @@ -1,4 +1,4 @@ -SECTION "Sprite Buffers", SRAM, BANK[0] +SECTION "Sprite Buffers", SRAM[$a000], BANK[0] sSpriteBuffer0:: ds SPRITEBUFFERSIZE ; a000 sSpriteBuffer1:: ds SPRITEBUFFERSIZE ; a188 @@ -9,7 +9,7 @@ sSpriteBuffer2:: ds SPRITEBUFFERSIZE ; a310 sHallOfFame:: ds HOF_TEAM * HOF_TEAM_CAPACITY ; a598 -SECTION "Save Data", SRAM, BANK[1] +SECTION "Save Data", SRAM[$a000], BANK[1] ds $598 sPlayerName:: ds NAME_LENGTH ; a598 @@ -21,7 +21,7 @@ sTilesetType:: ds 1 ; b522 sMainDataCheckSum:: ds 1 ; b523 -SECTION "Saved Boxes 1", SRAM, BANK[2] +SECTION "Saved Boxes 1", SRAM[$a000], BANK[2] sBox1:: ds wBoxDataEnd - wBoxDataStart ; a000 sBox2:: ds wBoxDataEnd - wBoxDataStart ; a462 @@ -33,7 +33,7 @@ sBank2AllBoxesChecksum:: ds 1 ; ba4c sBank2IndividualBoxChecksums:: ds 6 ; ba4d -SECTION "Saved Boxes 2", SRAM, BANK[3] +SECTION "Saved Boxes 2", SRAM[$a000], BANK[3] sBox7:: ds wBoxDataEnd - wBoxDataStart ; a000 sBox8:: ds wBoxDataEnd - wBoxDataStart ; a462 diff --git a/text.asm b/text.asm index 866d4a7f..be12aa7d 100644 --- a/text.asm +++ b/text.asm @@ -19,7 +19,7 @@ INCLUDE "macros.asm" INCLUDE "hram.asm" -SECTION "Text 1", ROMX, BANK[TEXT_1] +SECTION "Text 1", ROMX[$4000], BANK[TEXT_1] _CardKeySuccessText1:: text "Bingo!@@" @@ -192,7 +192,7 @@ INCLUDE "text/maps/silph_co_4f.asm" INCLUDE "text/maps/silph_co_5f_1.asm" -SECTION "Text 2", ROMX, BANK[TEXT_2] +SECTION "Text 2", ROMX[$4000], BANK[TEXT_2] INCLUDE "text/maps/silph_co_5f_2.asm" INCLUDE "text/maps/silph_co_6f.asm" @@ -224,7 +224,7 @@ INCLUDE "text/maps/agatha.asm" INCLUDE "text/maps/rock_tunnel_b2f_1.asm" -SECTION "Text 3", ROMX, BANK[TEXT_3] +SECTION "Text 3", ROMX[$4000], BANK[TEXT_3] INCLUDE "text/maps/rock_tunnel_b2f_2.asm" INCLUDE "text/maps/seafoam_islands_b4f.asm" @@ -1939,7 +1939,7 @@ INCLUDE "text/maps/saffron_gates.asm" INCLUDE "text/maps/daycare_1.asm" -SECTION "Text 4", ROMX, BANK[TEXT_4] +SECTION "Text 4", ROMX[$4000], BANK[TEXT_4] INCLUDE "text/maps/daycare_2.asm" INCLUDE "text/maps/underground_path_route_6_entrance.asm" @@ -1978,7 +1978,7 @@ INCLUDE "text/maps/route_10.asm" INCLUDE "text/maps/route_11_1.asm" -SECTION "Text 5", ROMX, BANK[TEXT_5] +SECTION "Text 5", ROMX[$4000], BANK[TEXT_5] INCLUDE "text/maps/route_11_2.asm" INCLUDE "text/maps/route_12.asm" @@ -1996,7 +1996,7 @@ INCLUDE "text/maps/route_23.asm" INCLUDE "text/maps/route_24_1.asm" -SECTION "Text 6", ROMX, BANK[TEXT_6] +SECTION "Text 6", ROMX[$4000], BANK[TEXT_6] INCLUDE "text/maps/route_24_2.asm" INCLUDE "text/maps/route_25.asm" @@ -2339,7 +2339,7 @@ INCLUDE "text/maps/museum_2f.asm" INCLUDE "text/maps/pewter_gym_1.asm" -SECTION "Text 7", ROMX, BANK[TEXT_7] +SECTION "Text 7", ROMX[$4000], BANK[TEXT_7] INCLUDE "text/maps/pewter_gym_2.asm" INCLUDE "text/maps/pewter_house_1.asm" @@ -2371,7 +2371,7 @@ INCLUDE "text/maps/vermilion_mart.asm" INCLUDE "text/maps/vermilion_gym_1.asm" -SECTION "Text 8", ROMX, BANK[TEXT_8] +SECTION "Text 8", ROMX[$4000], BANK[TEXT_8] INCLUDE "text/maps/vermilion_gym_2.asm" INCLUDE "text/maps/vermilion_house.asm" @@ -2403,7 +2403,7 @@ INCLUDE "text/maps/safari_zone_entrance.asm" INCLUDE "text/maps/fuchsia_gym_1.asm" -SECTION "Text 9", ROMX, BANK[TEXT_9] +SECTION "Text 9", ROMX[$4000], BANK[TEXT_9] INCLUDE "text/maps/fuchsia_gym_2.asm" INCLUDE "text/maps/fuchsia_meeting_room.asm" @@ -2646,7 +2646,7 @@ _CableClubNPCLinkClosedBecauseOfInactivityText:: done -SECTION "Text 10", ROMX, BANK[TEXT_10] +SECTION "Text 10", ROMX[$4000], BANK[TEXT_10] _CableClubNPCPleaseComeAgainText:: text "Please come again!" @@ -2992,7 +2992,7 @@ _BoxFullCannotThrowBallText:: prompt -SECTION "Text 11", ROMX, BANK[TEXT_11] +SECTION "Text 11", ROMX[$4000], BANK[TEXT_11] _ItemUseText001:: text " used@@" @@ -3192,11 +3192,11 @@ _UsedCutText:: prompt -SECTION "Pokedex Text", ROMX, BANK[POKEDEX_TEXT] +SECTION "Pokedex Text", ROMX[$4000], BANK[POKEDEX_TEXT] INCLUDE "text/pokedex.asm" -SECTION "Move Names", ROMX, BANK[MOVE_NAMES] +SECTION "Move Names", ROMX[$4000], BANK[MOVE_NAMES] INCLUDE "text/move_names.asm" diff --git a/wram.asm b/wram.asm index 35acff94..af130062 100755 --- a/wram.asm +++ b/wram.asm @@ -60,7 +60,7 @@ battle_struct: MACRO ENDM -SECTION "WRAM Bank 0", WRAM0 +SECTION "WRAM Bank 0", WRAM0 [$c000] wUnusedC000:: ; c000 ds 1 @@ -1610,7 +1610,7 @@ wEnemyMonDefense:: dw wEnemyMonSpeed:: dw wEnemyMonSpecial:: dw wEnemyMonPP:: ds 2 ; NUM_MOVES - 2 -SECTION "WRAM Bank 1", WRAMX, BANK[1] +SECTION "WRAM Bank 1", WRAMX[$d000], BANK[1] ds 2 ; NUM_MOVES - 2 wEnemyMonBaseStats:: ds 5 -- cgit v1.2.3 From cfacfd847c56a5162d33684238acf6c59e0677b9 Mon Sep 17 00:00:00 2001 From: Panda Habert Date: Thu, 16 Mar 2017 20:47:01 +0100 Subject: Fix typo in address --- wram.asm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/wram.asm b/wram.asm index af130062..47502613 100755 --- a/wram.asm +++ b/wram.asm @@ -1414,7 +1414,7 @@ wStatusScreenHPBarColor:: ; cf25 ds 7 -wCopyingSGBTileData:: ; c2fd +wCopyingSGBTileData:: ; cf2d wWhichPartyMenuHPBar:: ; cf2d -- cgit v1.2.3 From ce35f2f7a1d72c3404e3c7953cdaa10a0cff00e8 Mon Sep 17 00:00:00 2001 From: Joe Farebrother Date: Sun, 19 Mar 2017 20:35:40 +0000 Subject: Gave the labels in _MoveMon more descriptive names and added a few comments --- engine/add_mon.asm | 78 ++++++++++++++++++++++++++++-------------------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/engine/add_mon.asm b/engine/add_mon.asm index 19d03942..b2feeb12 100644 --- a/engine/add_mon.asm +++ b/engine/add_mon.asm @@ -340,13 +340,14 @@ _AddEnemyMonToPlayerParty: _MoveMon: ld a, [wMoveMonType] - and a + and a ; BOX_TO_PARTY jr z, .checkPartyMonSlots cp DAYCARE_TO_PARTY jr z, .checkPartyMonSlots cp PARTY_TO_DAYCARE ld hl, wDayCareMon - jr z, .asm_f575 + jr z, .findMonDataSrc + ; else it's PARTY_TO_BOX ld hl, wNumInBox ld a, [hl] cp MONS_PER_BOX @@ -369,24 +370,26 @@ _MoveMon: ld a, [wMoveMonType] cp DAYCARE_TO_PARTY ld a, [wDayCareMon] - jr z, .asm_f556 + jr z, .copySpecies ld a, [wcf91] -.asm_f556 +.copySpecies ld [hli], a ; write new mon ID ld [hl], $ff ; write new sentinel +.findMonDataDest ld a, [wMoveMonType] dec a ld hl, wPartyMons ld bc, wPartyMon2 - wPartyMon1 ; $2c ld a, [wPartyCount] - jr nz, .skipToNewMonEntry + jr nz, .addMonOffset + ; if it's PARTY_TO_BOX ld hl, wBoxMons ld bc, wBoxMon2 - wBoxMon1 ; $21 ld a, [wNumInBox] -.skipToNewMonEntry +.addMonOffset dec a call AddNTimes -.asm_f575 +.findMonDataSrc push hl ld e, l ld d, h @@ -394,16 +397,16 @@ _MoveMon: and a ld hl, wBoxMons ld bc, wBoxMon2 - wBoxMon1 ; $21 - jr z, .asm_f591 + jr z, .addMonOffset2 cp DAYCARE_TO_PARTY ld hl, wDayCareMon - jr z, .asm_f597 + jr z, .copyMonData ld hl, wPartyMons ld bc, wPartyMon2 - wPartyMon1 ; $2c -.asm_f591 +.addMonOffset2 ld a, [wWhichPokemon] call AddNTimes -.asm_f597 +.copyMonData push hl push de ld bc, wBoxMon2 - wBoxMon1 @@ -411,84 +414,85 @@ _MoveMon: pop de pop hl ld a, [wMoveMonType] - and a - jr z, .asm_f5b4 + and a ; BOX_TO_PARTY + jr z, .findOTdest cp DAYCARE_TO_PARTY - jr z, .asm_f5b4 + jr z, .findOTdest ld bc, wBoxMon2 - wBoxMon1 add hl, bc - ld a, [hl] + ld a, [hl] ; hl = Level inc de inc de inc de - ld [de], a -.asm_f5b4 + ld [de], a ; de = BoxLevel +.findOTdest ld a, [wMoveMonType] cp PARTY_TO_DAYCARE ld de, wDayCareMonOT - jr z, .asm_f5d3 - dec a + jr z, .findOTsrc + dec a ld hl, wPartyMonOT ld a, [wPartyCount] - jr nz, .asm_f5cd + jr nz, .addOToffset ld hl, wBoxMonOT ld a, [wNumInBox] -.asm_f5cd +.addOToffset dec a call SkipFixedLengthTextEntries ld d, h ld e, l -.asm_f5d3 +.findOTsrc ld hl, wBoxMonOT ld a, [wMoveMonType] and a - jr z, .asm_f5e6 + jr z, .addOToffset2 ld hl, wDayCareMonOT cp DAYCARE_TO_PARTY - jr z, .asm_f5ec + jr z, .copyOT ld hl, wPartyMonOT -.asm_f5e6 +.addOToffset2 ld a, [wWhichPokemon] call SkipFixedLengthTextEntries -.asm_f5ec +.copyOT ld bc, NAME_LENGTH call CopyData ld a, [wMoveMonType] +.findNickDest cp PARTY_TO_DAYCARE ld de, wDayCareMonName - jr z, .asm_f611 + jr z, .findNickSrc dec a ld hl, wPartyMonNicks ld a, [wPartyCount] - jr nz, .asm_f60b + jr nz, .addNickOffset ld hl, wBoxMonNicks ld a, [wNumInBox] -.asm_f60b +.addNickOffset dec a call SkipFixedLengthTextEntries ld d, h ld e, l -.asm_f611 +.findNickSrc ld hl, wBoxMonNicks ld a, [wMoveMonType] and a - jr z, .asm_f624 + jr z, .addNickOffset2 ld hl, wDayCareMonName cp DAYCARE_TO_PARTY - jr z, .asm_f62a + jr z, .copyNick ld hl, wPartyMonNicks -.asm_f624 +.addNickOffset2 ld a, [wWhichPokemon] call SkipFixedLengthTextEntries -.asm_f62a +.copyNick ld bc, NAME_LENGTH call CopyData pop hl ld a, [wMoveMonType] cp PARTY_TO_BOX - jr z, .asm_f664 + jr z, .done cp PARTY_TO_DAYCARE - jr z, .asm_f664 + jr z, .done push hl srl a add $2 @@ -507,6 +511,6 @@ _MoveMon: add hl, bc ld b, $1 call CalcStats -.asm_f664 +.done and a ret -- cgit v1.2.3 From 39d31cecb263498e286c1fba3b8e0c6d439244b9 Mon Sep 17 00:00:00 2001 From: Joe Farebrother Date: Sun, 19 Mar 2017 21:09:24 +0000 Subject: Gave names to the functions and labels and adresses used in DivideBCD and added a few comments --- engine/bcd.asm | 146 +++++++++++++++++++++++++++++---------------------------- hram.asm | 1 + 2 files changed, 75 insertions(+), 72 deletions(-) diff --git a/engine/bcd.asm b/engine/bcd.asm index 3e693e1f..2d0b43df 100644 --- a/engine/bcd.asm +++ b/engine/bcd.asm @@ -6,155 +6,157 @@ DivideBCDPredef4:: DivideBCD:: xor a - ld [$ffa5], a - ld [$ffa6], a - ld [$ffa7], a + ld [hDivideBCDBuffer], a + ld [hDivideBCDBuffer+1], a + ld [hDivideBCDBuffer+2], a ld d, $1 -.asm_f72a - ld a, [$ffa2] +.mulBy10Loop +; multiply the divisor by 10 until the leading digit is nonzero +; to set up the standard long division algorithm + ld a, [hDivideBCDDivisor] and $f0 - jr nz, .asm_f75b + jr nz, .next inc d - ld a, [$ffa2] + ld a, [hDivideBCDDivisor] swap a and $f0 ld b, a - ld a, [$ffa3] + ld a, [hDivideBCDDivisor+1] swap a - ld [$ffa3], a + ld [hDivideBCDDivisor+1], a and $f or b - ld [$ffa2], a - ld a, [$ffa3] + ld [hDivideBCDDivisor], a + ld a, [hDivideBCDDivisor+1] and $f0 ld b, a - ld a, [$ffa4] + ld a, [hDivideBCDDivisor+2] swap a - ld [$ffa4], a + ld [hDivideBCDDivisor+2], a and $f or b - ld [$ffa3], a - ld a, [$ffa4] + ld [hDivideBCDDivisor+1], a + ld a, [hDivideBCDDivisor+2] and $f0 - ld [$ffa4], a - jr .asm_f72a -.asm_f75b + ld [hDivideBCDDivisor+2], a + jr .mulBy10Loop +.next push de push de - call DivideBCD_f800 + call DivideBCD_getNextDigit pop de ld a, b swap a and $f0 - ld [$ffa5], a + ld [hDivideBCDBuffer], a dec d - jr z, .asm_f7bc + jr z, .next2 push de - call DivideBCD_f7d7 - call DivideBCD_f800 + call DivideBCD_divDivisorBy10 + call DivideBCD_getNextDigit pop de - ld a, [$ffa5] + ld a, [hDivideBCDBuffer] or b - ld [$ffa5], a + ld [hDivideBCDBuffer], a dec d - jr z, .asm_f7bc + jr z, .next2 push de - call DivideBCD_f7d7 - call DivideBCD_f800 + call DivideBCD_divDivisorBy10 + call DivideBCD_getNextDigit pop de ld a, b swap a and $f0 - ld [$ffa6], a + ld [hDivideBCDBuffer+1], a dec d - jr z, .asm_f7bc + jr z, .next2 push de - call DivideBCD_f7d7 - call DivideBCD_f800 + call DivideBCD_divDivisorBy10 + call DivideBCD_getNextDigit pop de - ld a, [$ffa6] + ld a, [hDivideBCDBuffer+1] or b - ld [$ffa6], a + ld [hDivideBCDBuffer+1], a dec d - jr z, .asm_f7bc + jr z, .next2 push de - call DivideBCD_f7d7 - call DivideBCD_f800 + call DivideBCD_divDivisorBy10 + call DivideBCD_getNextDigit pop de ld a, b swap a and $f0 - ld [$ffa7], a + ld [hDivideBCDBuffer+2], a dec d - jr z, .asm_f7bc + jr z, .next2 push de - call DivideBCD_f7d7 - call DivideBCD_f800 + call DivideBCD_divDivisorBy10 + call DivideBCD_getNextDigit pop de - ld a, [$ffa7] + ld a, [hDivideBCDBuffer+2] or b - ld [$ffa7], a -.asm_f7bc - ld a, [$ffa5] - ld [$ffa2], a - ld a, [$ffa6] - ld [$ffa3], a - ld a, [$ffa7] - ld [$ffa4], a + ld [hDivideBCDBuffer+2], a +.next2 + ld a, [hDivideBCDBuffer] + ld [hDivideBCDQuotient], a ; the same memory location as hDivideBCDDivisor + ld a, [hDivideBCDBuffer+1] + ld [hDivideBCDQuotient+1], a + ld a, [hDivideBCDBuffer+2] + ld [hDivideBCDQuotient+2], a pop de - ld a, $6 + ld a, $6 sub d and a ret z -.asm_f7ce +.divResultBy10loop push af - call DivideBCD_f7d7 + call DivideBCD_divDivisorBy10 pop af dec a - jr nz, .asm_f7ce + jr nz, .divResultBy10loop ret -DivideBCD_f7d7: - ld a, [$ffa4] +DivideBCD_divDivisorBy10: + ld a, [hDivideBCDDivisor+2] swap a and $f ld b, a - ld a, [$ffa3] + ld a, [hDivideBCDDivisor+1] swap a - ld [$ffa3], a + ld [hDivideBCDDivisor+1], a and $f0 or b - ld [$ffa4], a - ld a, [$ffa3] + ld [hDivideBCDDivisor+2], a + ld a, [hDivideBCDDivisor+1] and $f ld b, a - ld a, [$ffa2] + ld a, [hDivideBCDDivisor] swap a - ld [$ffa2], a + ld [hDivideBCDDivisor], a and $f0 or b - ld [$ffa3], a - ld a, [$ffa2] + ld [hDivideBCDDivisor+1], a + ld a, [hDivideBCDDivisor] and $f - ld [$ffa2], a + ld [hDivideBCDDivisor], a ret -DivideBCD_f800: +DivideBCD_getNextDigit: ld bc, $3 -.asm_f803 - ld de, $ff9f - ld hl, $ffa2 +.loop + ld de, hMoney ; the dividend + ld hl, hDivideBCDDivisor push bc call StringCmp pop bc ret c inc b - ld de, $ffa1 - ld hl, $ffa4 + ld de, hMoney+2 ; since SubBCD works starting from the least significant digit + ld hl, hDivideBCDDivisor+2 push bc call SubBCD pop bc - jr .asm_f803 + jr .loop AddBCDPredef:: diff --git a/hram.asm b/hram.asm index f5817fa4..9c13e5a1 100644 --- a/hram.asm +++ b/hram.asm @@ -155,6 +155,7 @@ hCoins EQU $FFA0 ; 2-byte BCD number hDivideBCDDivisor EQU $FFA2 ; 3-byte BCD number hDivideBCDQuotient EQU $FFA2 ; 3-byte BCD number +hDivideBCDBuffer EQU $FFA5 ; 3-byte BCD number hSerialReceivedNewData EQU $FFA9 -- cgit v1.2.3 From d7bd7f44530b363bae10bdc558ea556fe13f7272 Mon Sep 17 00:00:00 2001 From: Sanqui Date: Mon, 20 Mar 2017 20:37:02 +0100 Subject: Update Travis script to use `make compare` and rgbds v0.2.5 --- .travis.yml | 28 +++++++++++++--------------- 1 file changed, 13 insertions(+), 15 deletions(-) diff --git a/.travis.yml b/.travis.yml index 3fe46c2b..bd38f51b 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,26 +1,24 @@ language: c install: - - sudo easy_install pypng - - path="$(pwd)"; cd; git clone git://github.com/bentley/rgbds.git && cd rgbds && sudo make install; cd "$path" + - |- + path="$(pwd)"; cd; + wget https://github.com/rednex/rgbds/archive/v0.2.5.tar.gz -O rgbds.tar.gz && + tar xf rgbds.tar.gz && + cd rgbds-0.2.5 && + sudo make install && + cd - && + rm -rf rgbds && + cd "$path" before_script: - |- function check_status() { - if ! git diff-index --quiet HEAD --; then - echo 'Uncommitted changes detected.'; - return 1; - fi; - } - - |- - function verify() { - actual="$(md5sum "${1}" | cut -c 1-32)"; - expected="${2}"; - if [ "${actual}" != "${expected}" ]; then - echo "md5(${1}): expected ${2}, but got ${actual} instead."; + if ! git diff-index --quiet --ignore-submodules=all HEAD --; then + echo 'Uncommitted changes detected:'; + git diff-index HEAD --; return 1; fi; } script: - make - - verify pokeblue.gbc 50927e843568814f7ed45ec4f944bd8b - - verify pokered.gbc 3d45c1ee9abd5738df46d2bdda8b57dc + - make compare - check_status -- cgit v1.2.3 From 3541904411d4051fd7e0635d5f995cbe38dd0867 Mon Sep 17 00:00:00 2001 From: Matthew Glazar Date: Sun, 2 Apr 2017 13:19:04 -0700 Subject: Use correct variable in EngageMapTrainer EngageMapTrainer should write to wEngagedTrainerClass and wEngagedTrainerSet, not wEngagedTrainerClass and wEnemyMonAttackMod. wEnemyMonAttackMod doesn't make any sense in this context. Use the correct variable. These two variables happen to have the same address, so there is no functional difference between using wEnemyMonAttackMod versus using wEngagedTrainerSet. --- home.asm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home.asm b/home.asm index bfd73b31..94125da2 100644 --- a/home.asm +++ b/home.asm @@ -2528,7 +2528,7 @@ EngageMapTrainer:: ld a, [hli] ; load trainer class ld [wEngagedTrainerClass], a ld a, [hl] ; load trainer mon set - ld [wEnemyMonAttackMod], a + ld [wEngagedTrainerSet], a jp PlayTrainerMusic PrintEndBattleText:: -- cgit v1.2.3 From d51dcc263e487d4846cbe989c53c45bc0478b483 Mon Sep 17 00:00:00 2001 From: Matthew Glazar Date: Sun, 2 Apr 2017 13:27:47 -0700 Subject: Remove duplicate OaksLabText labels For unknown reasons, the text pointer list for Oak's Lab is duplicated. This is currently implemented by treating the two text pointer lists as one large list. This leads to duplicate labels and some confusing logic. Refactor the code to treat the two text pointer lists separately. This lets us remove several labels. It also makes the code which sets the text pointer list self-documenting. --- scripts/oakslab.asm | 38 +++++++++++++++----------------------- 1 file changed, 15 insertions(+), 23 deletions(-) diff --git a/scripts/oakslab.asm b/scripts/oakslab.asm index b91abd43..e73d7cf8 100755 --- a/scripts/oakslab.asm +++ b/scripts/oakslab.asm @@ -712,7 +712,7 @@ OaksLabScript_1d02b: ret OaksLabScript_1d076: - ld hl, OaksLabTextPointers + $36 ; starts at OaksLabText28 + ld hl, OaksLabTextPointers2 ld a, l ld [wMapTextPtr], a ld a, h @@ -747,19 +747,20 @@ OaksLabTextPointers: dw OaksLabText25 dw OaksLabText26 dw OaksLabText27 - dw OaksLabText28 - dw OaksLabText29 - dw OaksLabText30 - dw OaksLabText31 - dw OaksLabText32 - dw OaksLabText33 - dw OaksLabText34 - dw OaksLabText35 - dw OaksLabText36 - dw OaksLabText37 - dw OaksLabText38 - -OaksLabText28: + +OaksLabTextPointers2: + dw OaksLabText1 + dw OaksLabText2 + dw OaksLabText3 + dw OaksLabText4 + dw OaksLabText5 + dw OaksLabText6 + dw OaksLabText7 + dw OaksLabText8 + dw OaksLabText9 + dw OaksLabText10 + dw OaksLabText11 + OaksLabText1: TX_ASM CheckEvent EVENT_FOLLOWED_OAK_INTO_LAB_2 @@ -791,7 +792,6 @@ OaksLabText41: TX_FAR _OaksLabText41 db "@" -OaksLabText29: OaksLabText2: TX_ASM ld a, STARTER2 @@ -802,7 +802,6 @@ OaksLabText2: ld b, $2 jr OaksLabScript_1d133 -OaksLabText30: OaksLabText3: TX_ASM ld a, STARTER3 @@ -813,7 +812,6 @@ OaksLabText3: ld b, $3 jr OaksLabScript_1d133 -OaksLabText31: OaksLabText4: TX_ASM ld a, STARTER1 @@ -1070,8 +1068,6 @@ OaksLabText_1d31d: TX_FAR _OaksLabText_1d31d db "@" -OaksLabText34: -OaksLabText33: OaksLabText7: OaksLabText6: TX_ASM @@ -1083,12 +1079,10 @@ OaksLabText_1d32c: TX_FAR _OaksLabText_1d32c db "@" -OaksLabText35: OaksLabText8: TX_FAR _OaksLabText8 db "@" -OaksLabText36: OaksLabText9: TX_ASM ld hl, OaksLabText_1d340 @@ -1227,8 +1221,6 @@ OaksLabText27: TX_FAR _OaksLabText27 db "@" -OaksLabText38: -OaksLabText37: OaksLabText11: OaksLabText10: TX_ASM -- cgit v1.2.3