shithub: pokecrystal

Download patch

ref: 61c4cfe7d7b49821fec4fcfad6b717ee96ff4c67
parent: 69af99da5e4bcfa9cb90394531e531388f1399eb
author: PikalaxALT <PikalaxALT@gmail.com>
date: Thu Jan 7 13:45:32 EST 2016

wram macros moved to new file

--- /dev/null
+++ b/macros/wram.asm
@@ -1,0 +1,212 @@
+
+flag_array: MACRO
+	ds ((\1) + 7) / 8
+ENDM
+
+box_struct: MACRO
+\1Species::        db
+\1Item::           db
+\1Moves::          ds NUM_MOVES
+\1ID::             dw
+\1Exp::            ds 3
+\1StatExp::
+\1HPExp::          dw
+\1AtkExp::         dw
+\1DefExp::         dw
+\1SpdExp::         dw
+\1SpcExp::         dw
+\1DVs::            ds 2
+\1PP::             ds NUM_MOVES
+\1Happiness::      db
+\1PokerusStatus::  db
+\1CaughtData::
+\1CaughtTime::
+\1CaughtLevel::    db
+\1CaughtGender::
+\1CaughtLocation:: db
+\1Level::          db
+\1End::
+ENDM
+
+party_struct: MACRO
+	box_struct \1
+\1Status::         db
+\1Unused::         db
+\1HP::             dw
+\1MaxHP::          dw
+\1Stats:: ; big endian
+\1Attack::         dw
+\1Defense::        dw
+\1Speed::          dw
+\1SpclAtk::        dw
+\1SpclDef::        dw
+\1StatsEnd::
+ENDM
+
+red_box_struct: MACRO
+\1Species::    db
+\1HP::         dw
+\1BoxLevel::   db
+\1Status::     db
+\1Type::
+\1Type1::      db
+\1Type2::      db
+\1CatchRate::  db
+\1Moves::      ds NUM_MOVES
+\1OTID::       dw
+\1Exp::        ds 3
+\1HPExp::      dw
+\1AttackExp::  dw
+\1DefenseExp:: dw
+\1SpeedExp::   dw
+\1SpecialExp:: dw
+\1DVs::        ds 2
+\1PP::         ds NUM_MOVES
+ENDM
+
+red_party_struct: MACRO
+	red_box_struct \1
+\1Level::      db
+\1Stats::
+\1MaxHP::      dw
+\1Attack::     dw
+\1Defense::    dw
+\1Speed::      dw
+\1Special::    dw
+ENDM
+
+
+battle_struct: MACRO
+\1Species::   db
+\1Item::      db
+\1Moves::     ds NUM_MOVES
+\1MovesEnd::
+\1DVs::       ds 2
+\1PP::        ds NUM_MOVES
+\1Happiness:: db
+\1Level::     db
+\1Status::    ds 2
+\1HP::        dw
+\1MaxHP::     dw
+\1Stats:: ; big endian
+\1Attack::    dw
+\1Defense::   dw
+\1Speed::     dw
+\1SpclAtk::   dw
+\1SpclDef::   dw
+\1StatsEnd::
+\1Type::
+\1Type1::     db
+\1Type2::     db
+\1StructEnd::
+ENDM
+
+box: MACRO
+\1::
+\1Count::           ds 1
+\1Species::         ds MONS_PER_BOX + 1
+\1Mons::
+\1Mon1::            box_struct \1Mon1
+\1Mon2::            ds BOXMON_STRUCT_LENGTH * (MONS_PER_BOX +- 1)
+\1MonOT::           ds NAME_LENGTH * MONS_PER_BOX
+\1MonNicknames::    ds PKMN_NAME_LENGTH * MONS_PER_BOX
+\1MonNicknamesEnd::
+\1End::             ds 2 ; padding
+ENDM
+
+
+channel_struct: MACRO
+; Addreses are Channel1 (c101).
+\1MusicID::           dw
+\1MusicBank::         db
+\1Flags::             db ; 0:on/off 1:subroutine 3:sfx 4:noise 5:rest
+\1Flags2::            db ; 0:vibrato on/off 2:duty 4:cry pitch
+\1Flags3::            db ; 0:vibrato up/down
+\1MusicAddress::      dw
+\1LastMusicAddress::  dw
+                      dw
+\1NoteFlags::         db ; 5:rest
+\1Condition::         db ; conditional jumps
+\1DutyCycle::         db ; bits 6-7 (0:12.5% 1:25% 2:50% 3:75%)
+\1Intensity::         db ; hi:pressure lo:velocity
+\1Frequency:: ; 11 bits
+\1FrequencyLo::       db
+\1FrequencyHi::       db
+\1Pitch::             db ; 0:rest 1-c:note
+\1Octave::            db ; 7-0 (0 is highest)
+\1StartingOctave::    db ; raises existing octaves (to repeat phrases)
+\1NoteDuration::      db ; frames remaining for the current note
+\1Field0x16::         ds 1 ; c117
+                      ds 1 ; c118
+\1LoopCount::         db
+\1Tempo::             dw
+\1Tracks::            db ; hi:left lo:right
+\1Field0x1c::         ds 1 ; c11d
+\1VibratoDelayCount:: db ; initialized by \1VibratoDelay
+\1VibratoDelay::      db ; number of frames a note plays until vibrato starts
+\1VibratoExtent::     db
+\1VibratoRate::       db ; hi:frames for each alt lo:frames to the next alt
+\1Field0x21::         ds 1 ; c122
+\1Field0x22::         ds 1 ; c123
+\1Field0x23::         ds 1 ; c124
+\1Field0x24::         ds 1 ; c125
+\1Field0x25::         ds 1 ; c126
+                      ds 1 ; c127
+\1CryPitch::          dw
+\1Field0x29::         ds 1
+\1Field0x2a::         ds 2
+\1Field0x2c::         ds 1
+\1NoteLength::        db ; frames per 16th note
+\1Field0x2e::         ds 1 ; c12f
+\1Field0x2f::         ds 1 ; c130
+\1Field0x30::         ds 1 ; c131
+                      ds 1 ; c132
+ENDM
+
+battle_tower_struct: MACRO
+\1Name:: ds NAME_LENGTH +- 1
+\1TrainerClass:: ds 1
+\1Pkmn1:: party_struct \1Pkmn1
+\1Pkmn1Name:: ds PKMN_NAME_LENGTH
+\1Pkmn1NameEnd::
+\1Pkmn2:: party_struct \1Pkmn2
+\1Pkmn2Name:: ds PKMN_NAME_LENGTH
+\1Pkmn2NameEnd::
+\1Pkmn3:: party_struct \1Pkmn3
+\1Pkmn3Name:: ds PKMN_NAME_LENGTH
+\1Pkmn3NameEnd::
+\1TrainerData:: ds BATTLETOWER_TRAINERDATALENGTH
+\1TrainerEnd::
+endm
+
+mailmsg: MACRO
+\1Message:: ds MAIL_MSG_LENGTH
+\1MessageEnd:: ds 1
+\1Author:: ds PLAYER_NAME_LENGTH
+\1AuthorNationality:: ds 2
+\1AuthorID:: ds 2
+\1Species:: ds 1
+\1Type:: ds 1
+\1End::
+endm
+
+hof_mon: MACRO
+\1Species:: ds 1
+\1ID:: ds 2
+\1DVs:: ds 2
+\1Level:: ds 1
+\1Nickname:: ds PKMN_NAME_LENGTH +- 1
+\1End::
+endm
+
+hall_of_fame: MACRO
+\1::
+\1WinCount:: ds 1
+\1Mon1:: hof_mon \1Mon1	
+\1Mon2:: hof_mon \1Mon2	
+\1Mon3:: hof_mon \1Mon3	
+\1Mon4:: hof_mon \1Mon4	
+\1Mon5:: hof_mon \1Mon5	
+\1Mon6:: hof_mon \1Mon6
+\1End:: ds 1
+ENDM
--- a/misc/gbc_only.asm
+++ b/misc/gbc_only.asm
@@ -10,7 +10,7 @@
 	call ClearTileMap
 
 	ld hl, GBCOnlyGFX
-	ld de, wd000
+	ld de, $d000
 	ld a, [rSVBK]
 	push af
 	ld a, 0
@@ -19,7 +19,7 @@
 	pop af
 	ld [rSVBK], a
 
-	ld de, wd000
+	ld de, $d000
 	ld hl, VTiles2
 	lb bc, BANK(GBCOnlyGFX), $54
 	call Get2bpp
--- a/wram.asm
+++ b/wram.asm
@@ -1,217 +1,5 @@
 INCLUDE "includes.asm"
-
-flag_array: MACRO
-	ds ((\1) + 7) / 8
-ENDM
-
-box_struct: MACRO
-\1Species::        db
-\1Item::           db
-\1Moves::          ds NUM_MOVES
-\1ID::             dw
-\1Exp::            ds 3
-\1StatExp::
-\1HPExp::          dw
-\1AtkExp::         dw
-\1DefExp::         dw
-\1SpdExp::         dw
-\1SpcExp::         dw
-\1DVs::            ds 2
-\1PP::             ds NUM_MOVES
-\1Happiness::      db
-\1PokerusStatus::  db
-\1CaughtData::
-\1CaughtTime::
-\1CaughtLevel::    db
-\1CaughtGender::
-\1CaughtLocation:: db
-\1Level::          db
-\1End::
-ENDM
-
-party_struct: MACRO
-	box_struct \1
-\1Status::         db
-\1Unused::         db
-\1HP::             dw
-\1MaxHP::          dw
-\1Stats:: ; big endian
-\1Attack::         dw
-\1Defense::        dw
-\1Speed::          dw
-\1SpclAtk::        dw
-\1SpclDef::        dw
-\1StatsEnd::
-ENDM
-
-red_box_struct: MACRO
-\1Species::    db
-\1HP::         dw
-\1BoxLevel::   db
-\1Status::     db
-\1Type::
-\1Type1::      db
-\1Type2::      db
-\1CatchRate::  db
-\1Moves::      ds NUM_MOVES
-\1OTID::       dw
-\1Exp::        ds 3
-\1HPExp::      dw
-\1AttackExp::  dw
-\1DefenseExp:: dw
-\1SpeedExp::   dw
-\1SpecialExp:: dw
-\1DVs::        ds 2
-\1PP::         ds NUM_MOVES
-ENDM
-
-red_party_struct: MACRO
-	red_box_struct \1
-\1Level::      db
-\1Stats::
-\1MaxHP::      dw
-\1Attack::     dw
-\1Defense::    dw
-\1Speed::      dw
-\1Special::    dw
-ENDM
-
-
-battle_struct: MACRO
-\1Species::   db
-\1Item::      db
-\1Moves::     ds NUM_MOVES
-\1MovesEnd::
-\1DVs::       ds 2
-\1PP::        ds NUM_MOVES
-\1Happiness:: db
-\1Level::     db
-\1Status::    ds 2
-\1HP::        dw
-\1MaxHP::     dw
-\1Stats:: ; big endian
-\1Attack::    dw
-\1Defense::   dw
-\1Speed::     dw
-\1SpclAtk::   dw
-\1SpclDef::   dw
-\1StatsEnd::
-\1Type::
-\1Type1::     db
-\1Type2::     db
-\1StructEnd::
-ENDM
-
-box: MACRO
-\1::
-\1Count::           ds 1
-\1Species::         ds MONS_PER_BOX + 1
-\1Mons::
-\1Mon1::            box_struct \1Mon1
-\1Mon2::            ds BOXMON_STRUCT_LENGTH * (MONS_PER_BOX +- 1)
-\1MonOT::           ds NAME_LENGTH * MONS_PER_BOX
-\1MonNicknames::    ds PKMN_NAME_LENGTH * MONS_PER_BOX
-\1MonNicknamesEnd::
-\1End::             ds 2 ; padding
-ENDM
-
-
-channel_struct: MACRO
-; Addreses are Channel1 (c101).
-\1MusicID::           dw
-\1MusicBank::         db
-\1Flags::             db ; 0:on/off 1:subroutine 3:sfx 4:noise 5:rest
-\1Flags2::            db ; 0:vibrato on/off 2:duty 4:cry pitch
-\1Flags3::            db ; 0:vibrato up/down
-\1MusicAddress::      dw
-\1LastMusicAddress::  dw
-                      dw
-\1NoteFlags::         db ; 5:rest
-\1Condition::         db ; conditional jumps
-\1DutyCycle::         db ; bits 6-7 (0:12.5% 1:25% 2:50% 3:75%)
-\1Intensity::         db ; hi:pressure lo:velocity
-\1Frequency:: ; 11 bits
-\1FrequencyLo::       db
-\1FrequencyHi::       db
-\1Pitch::             db ; 0:rest 1-c:note
-\1Octave::            db ; 7-0 (0 is highest)
-\1StartingOctave::    db ; raises existing octaves (to repeat phrases)
-\1NoteDuration::      db ; frames remaining for the current note
-\1Field0x16::         ds 1 ; c117
-                      ds 1 ; c118
-\1LoopCount::         db
-\1Tempo::             dw
-\1Tracks::            db ; hi:left lo:right
-\1Field0x1c::         ds 1 ; c11d
-\1VibratoDelayCount:: db ; initialized by \1VibratoDelay
-\1VibratoDelay::      db ; number of frames a note plays until vibrato starts
-\1VibratoExtent::     db
-\1VibratoRate::       db ; hi:frames for each alt lo:frames to the next alt
-\1Field0x21::         ds 1 ; c122
-\1Field0x22::         ds 1 ; c123
-\1Field0x23::         ds 1 ; c124
-\1Field0x24::         ds 1 ; c125
-\1Field0x25::         ds 1 ; c126
-                      ds 1 ; c127
-\1CryPitch::          dw
-\1Field0x29::         ds 1
-\1Field0x2a::         ds 2
-\1Field0x2c::         ds 1
-\1NoteLength::        db ; frames per 16th note
-\1Field0x2e::         ds 1 ; c12f
-\1Field0x2f::         ds 1 ; c130
-\1Field0x30::         ds 1 ; c131
-                      ds 1 ; c132
-ENDM
-
-battle_tower_struct: MACRO
-\1Name:: ds NAME_LENGTH +- 1
-\1TrainerClass:: ds 1
-\1Pkmn1:: party_struct \1Pkmn1
-\1Pkmn1Name:: ds PKMN_NAME_LENGTH
-\1Pkmn1NameEnd::
-\1Pkmn2:: party_struct \1Pkmn2
-\1Pkmn2Name:: ds PKMN_NAME_LENGTH
-\1Pkmn2NameEnd::
-\1Pkmn3:: party_struct \1Pkmn3
-\1Pkmn3Name:: ds PKMN_NAME_LENGTH
-\1Pkmn3NameEnd::
-\1TrainerData:: ds BATTLETOWER_TRAINERDATALENGTH
-\1TrainerEnd::
-endm
-
-mailmsg: MACRO
-\1Message:: ds MAIL_MSG_LENGTH
-\1MessageEnd:: ds 1
-\1Author:: ds PLAYER_NAME_LENGTH
-\1AuthorNationality:: ds 2
-\1AuthorID:: ds 2
-\1Species:: ds 1
-\1Type:: ds 1
-\1End::
-endm
-
-hof_mon: MACRO
-\1Species:: ds 1
-\1ID:: ds 2
-\1DVs:: ds 2
-\1Level:: ds 1
-\1Nickname:: ds PKMN_NAME_LENGTH +- 1
-\1End::
-endm
-
-hall_of_fame: MACRO
-\1::
-\1WinCount:: ds 1
-\1Mon1:: hof_mon \1Mon1	
-\1Mon2:: hof_mon \1Mon2	
-\1Mon3:: hof_mon \1Mon3	
-\1Mon4:: hof_mon \1Mon4	
-\1Mon5:: hof_mon \1Mon5	
-\1Mon6:: hof_mon \1Mon6
-\1End:: ds 1
-ENDM
-
+INCLUDE "macros/wram.asm"
 INCLUDE "vram.asm"
 
 SECTION "Stack", WRAM0
@@ -1766,7 +1554,7 @@
 wHoursSince:: ds 1
 wDaysSince:: ds 1
 
-wRAM0End:: ; cfc0
+wRAM0End:: ; cfd8
 
 
 SECTION "WRAM 1", WRAMX, BANK [1]