diff options
Diffstat (limited to 'main.asm')
-rw-r--r-- | main.asm | 324 |
1 files changed, 161 insertions, 163 deletions
@@ -447,37 +447,35 @@ GetJoypadPublic: ; 984 jr z, .auto ; get input - ld a, [$ff00+$a4] ; real input + ld a, [$ffa4] ; real input ld b, a - ld a, [$ff00+$a8] ; last frame mirror + ld a, [$ffa8] ; last frame mirror ld e, a ; released xor b ld d, a and e - ld [$ff00+$a6], a + ld [$ffa6], a ; pressed ld a, d and b - ld [$ff00+$a7], a + ld [$ffa7], a ; leftover from pasted code ld c, a ; ld a, b - ld [$ff00+$a8], a ; frame input - + ld [$ffa8], a ; frame input .quit pop bc pop de pop hl pop af - ret - - + ret + .auto ; use predetermined input feed (used in catch tutorial) ; struct: [input][duration] @@ -547,8 +545,8 @@ GetJoypadPublic: ; 984 rst $10 ; update mirrors ld a, b - ld [$ff00+$a7], a ; pressed - ld [$ff00+$a8], a ; input + ld [$ffa7], a ; pressed + ld [$ffa8], a ; input jr .quit ; 9ee @@ -566,9 +564,9 @@ StartAutoInput: ; 9ee ld [AutoInputLength], a ; clear input mirrors xor a - ld [$ff00+$a7], a ; pressed - ld [$ff00+$a6], a ; released - ld [$ff00+$a8], a ; input + ld [$ffa7], a ; pressed + ld [$ffa6], a ; released + ld [$ffa8], a ; input ; start reading input stream instead of player input ld a, $ff ; INPUT_AUTO ld [InputType], a @@ -741,10 +739,10 @@ INCBIN "baserom.gbc",$d79,$e8d - $d79 ; copy bc bytes from a:hl to de FarCopyBytes: ; e8d - ld [$ff00+$8b], a - ld a, [$ff00+$9d] ; save old bank + ld [$ff8b], a + ld a, [$ff9d] ; save old bank push af - ld a, [$ff00+$8b] + ld a, [$ff8b] rst $10 call CopyBytes pop af @@ -754,10 +752,10 @@ FarCopyBytes: ; e8d ; copy bc*2 source bytes from a:hl to de, doubling each byte in process FarCopyBytesDouble: ; e9b - ld [$ff00+$8b], a - ld a, [$ff00+$9d] ; save current bank + ld [$ff8b], a + ld a, [$ff9d] ; save current bank push af - ld a, [$ff00+$8b] + ld a, [$ff8b] rst $10 ; bankswitch ld a, h ; switcheroo, de <> hl ld h, d @@ -974,7 +972,7 @@ CheckDict: INCBIN "baserom.gbc",$117b,$1203 - $117b Char5D: - ld a, [$ff00+$e4] + ld a, [$ffe4] push de and a jr nz, .asm_120e ; 0x1207 $5 @@ -1068,7 +1066,7 @@ GetTileType: ; 185d ld e, a ld d, $00 add hl, de - ld a, [$ff00+$9d] ; current bank + ld a, [$ff9d] ; current bank push af ld a, BANK(TileTypeTable) rst $10 @@ -1169,7 +1167,7 @@ GetMapHeaderMember: ; 0x2c04 GetAnyMapHeaderMember: ; 0x2c0c ; bankswitch - ld a, [$ff00+$9d] + ld a, [$ff9d] push af ld a, BANK(MapHeaderPointers) rst $10 @@ -1381,7 +1379,7 @@ Function2fb1: ; 2fb1 push bc .asm_2fbb call $2f8c - ld a, [$ff00+$e1] + ld a, [$ffe1] ld c, a add b jr c, .asm_2fbb @@ -1485,31 +1483,31 @@ ByteFill: ; 0x3041 GetFarByte: ; 0x304d ; retrieve a single byte from a:hl, and return it in a. ; bankswitch to new bank - ld [$ff00+$8b], a - ld a, [$ff00+$9d] + ld [$ff8b], a + ld a, [$ff9d] push af - ld a, [$ff00+$8b] + ld a, [$ff8b] rst $10 ; get byte from new bank ld a, [hl] - ld [$ff00+$8b], a + ld [$ff8b], a ; bankswitch to previous bank pop af rst $10 ; return retrieved value in a - ld a, [$ff00+$8b] + ld a, [$ff8b] ret GetFarHalfword: ; 0x305d ; retrieve a halfword from a:hl, and return it in hl. ; bankswitch to new bank - ld [$ff00+$8b], a - ld a, [$ff00+$9d] + ld [$ff8b], a + ld a, [$ff9d] push af - ld a, [$ff00+$8b] + ld a, [$ff8b] rst $10 ; get halfword from new bank, put it in hl @@ -1667,7 +1665,7 @@ PrintLetterDelay: ; 313d jr nz, .wait ; wait one frame if holding a - ld a, [$ff00+$a8] ; joypad + ld a, [$ffa8] ; joypad bit 0, a ; A jr z, .checkb jr .delay @@ -1691,7 +1689,7 @@ PrintLetterDelay: ; 313d .end ; restore oam update flag (not touched in this fn anymore) pop af - ld [$ff00+$d8], a + ld [$ffd8], a pop bc pop de pop hl @@ -1790,7 +1788,7 @@ NamesPointerTable: ; 33ab dbw $04, $4b52 GetName: ; 33c3 - ld a, [$ff00+$9d] + ld a, [$ff9d] push af push hl push bc @@ -2012,12 +2010,12 @@ LoadMusicByte: ; 3b86 ; input: ; a: bank ; de: address - ld [$ff00+$9d], a + ld [$ff9d], a ld [$2000], a ; bankswitch ld a, [de] ld [CurMusicByte], a ld a, $3a ; manual bank restore - ld [$ff00+$9d], a + ld [$ff9d], a ld [$2000], a ; bankswitch ret ; 3b97 @@ -2029,10 +2027,10 @@ StartMusic: ; 3b97 push de push bc push af - ld a, [$ff00+$9d] ; save bank + ld a, [$ff9d] ; save bank push af ld a, BANK(LoadMusic) - ld [$ff00+$9d], a + ld [$ff9d], a ld [$2000], a ; bankswitch ld a, e ; song number and a @@ -2043,7 +2041,7 @@ StartMusic: ; 3b97 call SoundRestart .end pop af - ld [$ff00+$9d], a ; restore bank + ld [$ff9d], a ; restore bank ld [$2000], a pop af pop bc @@ -2070,16 +2068,16 @@ StartSFX: ; 3c23 cp e jr c, .quit .asm_3c32 - ld a, [$ff00+$9d] ; save bank + ld a, [$ff9d] ; save bank push af ld a, $3a ; music bank - ld [$ff00+$9d], a + ld [$ff9d], a ld [$2000], a ; bankswitch ld a, e ld [CurSFX], a call LoadSFX pop af - ld [$ff00+$9d], a ; restore bank + ld [$ff9d], a ; restore bank ld [$2000], a ; bankswitch .quit pop af @@ -2652,11 +2650,11 @@ INCBIN "baserom.gbc",$c472,$c478 - $c472 SpecialGameboyCheck: ; c478 ; check cgb - ld a, [$ff00+$e6] + ld a, [$ffe6] and a jr nz, .cgb ; check sgb - ld a, [$ff00+$e7] + ld a, [$ffe7] and a jr nz, .sgb ; gb @@ -12713,7 +12711,7 @@ BattleStartMessage: xor a ld [$cfca], a ld a, $1 - ld [$ff00+$e4], a + ld [$ffe4], a ld a, $1 ld [$c689], a ld de, $0101 @@ -30841,7 +30839,7 @@ UnknownScript_0x683ec: ; 0x683ec setbit1 $03fb setbit1 $03fc domaptrigger GROUP_ELMS_LAB, MAP_ELMS_LAB, $2 - specialphonecall $3, $0 + specialphonecall $3 2writetext UnknownText_0x685c8 keeptextopen verbosegiveitem TM_31, 1 @@ -76248,10 +76246,10 @@ UpdateSound: ; e805c call FadeMusic ; write volume to hardware register ld a, [Volume] - ld [$ff00+$24], a + ld [$ff24], a ; write SO on/off to hardware register ld a, [SoundOutput] - ld [$ff00+$25], a + ld [$ff25], a ret ; e8125 @@ -76291,7 +76289,7 @@ UpdateChannels: ; e8125 jr z, .asm_e8159 ; ld a, [SoundInput] - ld [$ff00+$10], a + ld [$ff10], a .asm_e8159 bit 5, [hl] ; rest jr nz, .ch1rest @@ -76304,33 +76302,33 @@ UpdateChannels: ; e8125 jr .asm_e8175 .asm_e816b ld a, [$c294] - ld [$ff00+$13], a + ld [$ff13], a ld a, [$c295] - ld [$ff00+$14], a + ld [$ff14], a .asm_e8175 bit 0, [hl] ret z ld a, [$c292] ld d, a - ld a, [$ff00+$11] + ld a, [$ff11] and a, $3f ; sound length or d - ld [$ff00+$11], a + ld [$ff11], a ret .asm_e8184 ld a, [$c292] ld d, a - ld a, [$ff00+$11] + ld a, [$ff11] and a, $3f ; sound length or d - ld [$ff00+$11], a + ld [$ff11], a ld a, [$c294] - ld [$ff00+$13], a + ld [$ff13], a ret .ch1rest - ld a, [$ff00+$26] + ld a, [$ff26] and a, %10001110 ; ch1 off - ld [$ff00+$26], a + ld [$ff26], a ld hl, $ff10 call ClearChannel ret @@ -76338,14 +76336,14 @@ UpdateChannels: ; e8125 ld hl, $c292 ld a, $3f ; sound length or [hl] - ld [$ff00+$11], a + ld [$ff11], a ld a, [$c293] - ld [$ff00+$12], a + ld [$ff12], a ld a, [$c294] - ld [$ff00+$13], a + ld [$ff13], a ld a, [$c295] or a, $80 - ld [$ff00+$14], a + ld [$ff14], a ret .Channel2 @@ -76362,31 +76360,31 @@ UpdateChannels: ; e8125 ret z ld a, [$c292] ld d, a - ld a, [$ff00+$16] + ld a, [$ff16] and a, $3f ; sound length or d - ld [$ff00+$16], a + ld [$ff16], a ret .asm_e81db ; unused ld a, [$c294] - ld [$ff00+$18], a + ld [$ff18], a ld a, [$c295] - ld [$ff00+$19], a + ld [$ff19], a ret .asm_e81e6 ld a, [$c292] ld d, a - ld a, [$ff00+$16] + ld a, [$ff16] and a, $3f ; sound length or d - ld [$ff00+$16], a + ld [$ff16], a ld a, [$c294] - ld [$ff00+$18], a + ld [$ff18], a ret .ch2rest - ld a, [$ff00+$26] + ld a, [$ff26] and a, %10001101 ; ch2 off - ld [$ff00+$26], a + ld [$ff26], a ld hl, $ff15 call ClearChannel ret @@ -76394,14 +76392,14 @@ UpdateChannels: ; e8125 ld hl, $c292 ld a, $3f ; sound length or [hl] - ld [$ff00+$16], a + ld [$ff16], a ld a, [$c293] - ld [$ff00+$17], a + ld [$ff17], a ld a, [$c294] - ld [$ff00+$18], a + ld [$ff18], a ld a, [$c295] or a, $80 ; initial (restart) - ld [$ff00+$19], a + ld [$ff19], a ret .Channel3 @@ -76417,34 +76415,34 @@ UpdateChannels: ; e8125 ret .asm_e822f ; unused ld a, [$c294] - ld [$ff00+$1d], a + ld [$ff1d], a ld a, [$c295] - ld [$ff00+$1e], a + ld [$ff1e], a ret .asm_e823a ld a, [$c294] - ld [$ff00+$1d], a + ld [$ff1d], a ret .ch3rest - ld a, [$ff00+$26] + ld a, [$ff26] and a, %10001011 ; ch3 off - ld [$ff00+$26], a + ld [$ff26], a ld hl, $ff1a call ClearChannel ret .asm_e824d ld a, $3f - ld [$ff00+$1b], a + ld [$ff1b], a xor a - ld [$ff00+$1a], a + ld [$ff1a], a call .asm_e8268 ld a, $80 - ld [$ff00+$1a], a + ld [$ff1a], a ld a, [$c294] - ld [$ff00+$1d], a + ld [$ff1d], a ld a, [$c295] or a, $80 - ld [$ff00+$1e], a + ld [$ff1e], a ret .asm_e8268 push hl @@ -76463,42 +76461,42 @@ UpdateChannels: ; e8125 add hl, de ; load wavepattern into $ff30-$ff3f ld a, [hli] - ld [$ff00+$30], a + ld [$ff30], a ld a, [hli] - ld [$ff00+$31], a + ld [$ff31], a ld a, [hli] - ld [$ff00+$32], a + ld [$ff32], a ld a, [hli] - ld [$ff00+$33], a + ld [$ff33], a ld a, [hli] - ld [$ff00+$34], a + ld [$ff34], a ld a, [hli] - ld [$ff00+$35], a + ld [$ff35], a ld a, [hli] - ld [$ff00+$36], a + ld [$ff36], a ld a, [hli] - ld [$ff00+$37], a + ld [$ff37], a ld a, [hli] - ld [$ff00+$38], a + ld [$ff38], a ld a, [hli] - ld [$ff00+$39], a + ld [$ff39], a ld a, [hli] - ld [$ff00+$3a], a + ld [$ff3a], a ld a, [hli] - ld [$ff00+$3b], a + ld [$ff3b], a ld a, [hli] - ld [$ff00+$3c], a + ld [$ff3c], a ld a, [hli] - ld [$ff00+$3d], a + ld [$ff3d], a ld a, [hli] - ld [$ff00+$3e], a + ld [$ff3e], a ld a, [hli] - ld [$ff00+$3f], a + ld [$ff3f], a pop hl ld a, [$c293] and a, $f0 sla a - ld [$ff00+$1c], a + ld [$ff1c], a ret .Channel4 @@ -76512,24 +76510,24 @@ UpdateChannels: ; e8125 ret .asm_e82c1 ; unused ld a, [$c294] - ld [$ff00+$22], a + ld [$ff22], a ret .ch4rest - ld a, [$ff00+$26] + ld a, [$ff26] and a, %10000111 ; ch4 off - ld [$ff00+$26], a + ld [$ff26], a ld hl, $ff1f call ClearChannel ret .asm_e82d4 ld a, $3f ; sound length - ld [$ff00+$20], a + ld [$ff20], a ld a, [$c293] - ld [$ff00+$21], a + ld [$ff21], a ld a, [$c294] - ld [$ff00+$22], a + ld [$ff22], a ld a, $80 - ld [$ff00+$23], a + ld [$ff23], a ret ; e82e7 @@ -76575,15 +76573,15 @@ Functione8307: ; e8307 ld hl, Tablee8350 .updatehw xor a - ld [$ff00+$10], a ; sweep off + ld [$ff10], a ; sweep off ld a, [hli] - ld [$ff00+$11], a ; sound length / duty cycle + ld [$ff11], a ; sound length / duty cycle ld a, [hli] - ld [$ff00+$12], a ; ch1 volume envelope + ld [$ff12], a ; ch1 volume envelope ld a, [hli] - ld [$ff00+$13], a ; ch1 frequency lo + ld [$ff13], a ; ch1 frequency lo ld a, [hli] - ld [$ff00+$14], a ; ch1 frequency hi + ld [$ff14], a ; ch1 frequency hi .asm_e8335 ld a, d inc a @@ -77232,7 +77230,7 @@ ParseMusic: ; e85e1 jr nz, .ok ; ???? xor a - ld [$ff00+$10], a ; sweep = 0 + ld [$ff10], a ; sweep = 0 .ok ; stop playing ; turn channel off @@ -78494,56 +78492,56 @@ LoadSFX: ; e8c04 jr z, .ch6 res 0, [hl] ; turn it off xor a - ld [$ff00+$11], a ; length/wavepattern = 0 + ld [$ff11], a ; length/wavepattern = 0 ld a, $08 - ld [$ff00+$12], a ; envelope = 0 + ld [$ff12], a ; envelope = 0 xor a - ld [$ff00+$13], a ; frequency lo = 0 + ld [$ff13], a ; frequency lo = 0 ld a, $80 - ld [$ff00+$14], a ; restart sound (freq hi = 0) + ld [$ff14], a ; restart sound (freq hi = 0) xor a ld [SoundInput], a ; global sound off - ld [$ff00+$10], a ; sweep = 0 + ld [$ff10], a ; sweep = 0 .ch6 ld hl, $c1fe ; ch6 on? bit 0, [hl] jr z, .ch7 res 0, [hl] ; turn it off xor a - ld [$ff00+$16], a ; length/wavepattern = 0 + ld [$ff16], a ; length/wavepattern = 0 ld a, $08 - ld [$ff00+$17], a ; envelope = 0 + ld [$ff17], a ; envelope = 0 xor a - ld [$ff00+$18], a ; frequency lo = 0 + ld [$ff18], a ; frequency lo = 0 ld a, $80 - ld [$ff00+$19], a ; restart sound (freq hi = 0) + ld [$ff19], a ; restart sound (freq hi = 0) .ch7 ld hl, $c230 ; ch7 on? bit 0, [hl] jr z, .ch8 res 0, [hl] ; turn it off xor a - ld [$ff00+$1a], a ; sound mode #3 off - ld [$ff00+$1b], a ; length/wavepattern = 0 + ld [$ff1a], a ; sound mode #3 off + ld [$ff1b], a ; length/wavepattern = 0 ld a, $08 - ld [$ff00+$1c], a ; envelope = 0 + ld [$ff1c], a ; envelope = 0 xor a - ld [$ff00+$1d], a ; frequency lo = 0 + ld [$ff1d], a ; frequency lo = 0 ld a, $80 - ld [$ff00+$1e], a ; restart sound (freq hi = 0) + ld [$ff1e], a ; restart sound (freq hi = 0) .ch8 ld hl, $c262 ; ch8 on? bit 0, [hl] jr z, .chscleared res 0, [hl] ; turn it off xor a - ld [$ff00+$20], a ; length/wavepattern = 0 + ld [$ff20], a ; length/wavepattern = 0 ld a, $08 - ld [$ff00+$21], a ; envelope = 0 + ld [$ff21], a ; envelope = 0 xor a - ld [$ff00+$22], a ; frequency lo = 0 + ld [$ff22], a ; frequency lo = 0 ld a, $80 - ld [$ff00+$23], a ; restart sound (freq hi = 0) + ld [$ff23], a ; restart sound (freq hi = 0) xor a ld [NoiseSampleAddressLo], a ld [NoiseSampleAddressHi], a @@ -80032,30 +80030,30 @@ CalcMagikarpLength: ; fbbfc ; c = bc / [hl] call .BCMinusDE ld a, b - ld [$ff00+$b3], a + ld [$ffb3], a ld a, c - ld [$ff00+$b4], a + ld [$ffb4], a ld a, [hl] - ld [$ff00+$b7], a + ld [$ffb7], a ld b, $02 call Divide - ld a, [$ff00+$b6] + ld a, [$ffb6] ld c, a ; de = c + $64 * (2 + number of rows down the table) xor a - ld [$ff00+$b4], a - ld [$ff00+$b5], a + ld [$ffb4], a + ld [$ffb5], a ld a, $64 - ld [$ff00+$b6], a + ld [$ffb6], a ld a, [$d265] - ld [$ff00+$b7], a + ld [$ffb7], a call Multiply ld b, $00 - ld a, [$ff00+$b6] + ld a, [$ffb6] add c ld e, a - ld a, [$ff00+$b5] + ld a, [$ffb5] adc b ld d, a jr .endtable @@ -80232,13 +80230,13 @@ INCBIN "baserom.gbc",$114000,$117a7f - $114000 ; Mobile Stadium option from the continue/newgame menu. ; XXX better function names Function117a7f: ; 0x117a7f - ld a, [$ff00+$aa] + ld a, [$ffaa] push af ld a, $1 - ld [$ff00+$aa], a + ld [$ffaa], a call Function117a8d pop af - ld [$ff00+$aa], a + ld [$ffaa], a ret ; 0x117a8d @@ -80353,7 +80351,7 @@ Function117b31: jp Function117cdd Function117b4f: - ld a, [$ff00+$a7] + ld a, [$ffa7] cp $2 jr z, .asm_117ba4 ; 0x117b53 $4f cp $1 @@ -80411,7 +80409,7 @@ Function117b4f: Function117bb6: call Function117c89 ld a, $1 - ld [$ff00+$d4], a + ld [$ffd4], a ld a, $46 ld hl, $4284 rst $8 @@ -80435,10 +80433,10 @@ Function117bb6: ld [$cf63], a ret .asm_117be7 - ld a, [$ff00+$70] + ld a, [$ff70] push af ld a, $3 - ld [$ff00+$70], a + ld [$ff70], a ld a, [$cd89] and $1 jr nz, .asm_117c16 ; 0x117bf3 $21 @@ -80462,20 +80460,20 @@ Function117bb6: jr .asm_117c20 ; 0x117c14 $a .asm_117c16 pop af - ld [$ff00+$70], a + ld [$ff70], a ld a, $d3 ld [$c300], a jr .asm_117bd0 ; 0x117c1e $b0 .asm_117c20 pop af - ld [$ff00+$70], a + ld [$ff70], a ld a, $5c ld hl, $6eb9 rst $8 - ld a, [$ff00+$70] + ld a, [$ff70] push af ld a, $3 - ld [$ff00+$70], a + ld [$ff70], a ld a, $7 call GetSRAMBank ld hl, $d002 @@ -80484,7 +80482,7 @@ Function117bb6: call $3026 call CloseSRAM pop af - ld [$ff00+$70], a + ld [$ff70], a jp Function117cdd Function117c4a: @@ -80497,10 +80495,10 @@ Function117c4a: rst $8 ld hl, MobileStadiumSuccessText call $1057 - ld a, [$ff00+$70] + ld a, [$ff70] push af ld a, $5 - ld [$ff00+$70], a + ld [$ff70], a ld hl, $d000 ld de, $0008 ld c, $8 @@ -80516,7 +80514,7 @@ Function117c4a: jr nz, .asm_117c71 ; 0x117c7b $f4 call $04b6 pop af - ld [$ff00+$70], a + ld [$ff70], a ld a, $80 ld [$cf63], a ret @@ -82049,7 +82047,7 @@ UnknownScript_0x181454: ; 0x181454 special $001b checkbit1 $0024 iftrue UnknownScript_0x181497 - specialphonecall $5, $0 + specialphonecall $5 UnknownScript_0x181497: ; 0x181497 halloffame end @@ -90024,7 +90022,7 @@ UnknownScript_0x18d100: ; 0x18d100 playsound $009c waitbutton special $003d - specialphonecall $8, $0 + specialphonecall $8 dotrigger $1 domaptrigger GROUP_DRAGONS_DEN_B1F, MAP_DRAGONS_DEN_B1F, $1 2writetext UnknownText_0x18d9f2 @@ -99236,7 +99234,7 @@ UnknownScript_0x196ec9: ; 0x196ec9 dotrigger $1 domaptrigger GROUP_CHERRYGROVE_CITY, MAP_CHERRYGROVE_CITY, $1 domaptrigger GROUP_ELMS_LAB, MAP_ELMS_LAB, $3 - specialphonecall $2, $0 + specialphonecall $2 clearbit1 $0702 checkbit1 $001c iftrue UnknownScript_0x196f49 @@ -111645,7 +111643,7 @@ UnknownScript_0x1a543c: ; 0x1a543c ; 0x1a5443 UnknownScript_0x1a5443: ; 0x1a5443 - specialphonecall $7, $0 + specialphonecall $7 return ; 0x1a5447 |