diff options
author | PikalaxALT <PikalaxALT@gmail.com> | 2016-01-07 18:45:32 -0500 |
---|---|---|
committer | PikalaxALT <PikalaxALT@gmail.com> | 2016-01-07 18:45:32 -0500 |
commit | 61c4cfe7d7b49821fec4fcfad6b717ee96ff4c67 (patch) | |
tree | 9b0e4806e4b8f5a6d712e9b7208320f0077c5a0d | |
parent | 69af99da5e4bcfa9cb90394531e531388f1399eb (diff) |
wram macros moved to new file
-rwxr-xr-x | macros/wram.asm | 212 | ||||
-rw-r--r-- | misc/gbc_only.asm | 4 | ||||
-rw-r--r-- | wram.asm | 216 |
3 files changed, 216 insertions, 216 deletions
diff --git a/macros/wram.asm b/macros/wram.asm new file mode 100755 index 000000000..8e5e55cba --- /dev/null +++ b/macros/wram.asm @@ -0,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 diff --git a/misc/gbc_only.asm b/misc/gbc_only.asm index 81d3eadb4..2349bb687 100644 --- a/misc/gbc_only.asm +++ b/misc/gbc_only.asm @@ -10,7 +10,7 @@ GBCOnlyScreen: ; 4ea82 call ClearTileMap ld hl, GBCOnlyGFX - ld de, wd000 + ld de, $d000 ld a, [rSVBK] push af ld a, 0 @@ -19,7 +19,7 @@ GBCOnlyScreen: ; 4ea82 pop af ld [rSVBK], a - ld de, wd000 + ld de, $d000 ld hl, VTiles2 lb bc, BANK(GBCOnlyGFX), $54 call Get2bpp @@ -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 @@ wMinutesSince:: ds 1 wHoursSince:: ds 1 wDaysSince:: ds 1 -wRAM0End:: ; cfc0 +wRAM0End:: ; cfd8 SECTION "WRAM 1", WRAMX, BANK [1] |