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]