shithub: pokecrystal

ref: cc0d5d4c8bb9721f8ab0354d87c8f6d848dbe23b
dir: /home/mobile.asm/

View raw version
Function3e32:: ; 3e32
; Mobile
	cp $2
	ld [$c988], a
	ld a, l
	ld [$c986], a
	ld a, h
	ld [$c987], a
	jr nz, .asm_3e4f

	ld [$c982], a
	ld a, l
	ld [$c981], a
	ld hl, $c983
	ld a, c
	ld [hli], a
	ld a, b
	ld [hl], a

.asm_3e4f
	ld hl, $c822
	set 6, [hl]
	ld a, [hROMBank]
	push af
	ld a, BANK(Function110030)
	ld [$c981], a
	rst Bankswitch

	jp Function110030
; 3e60

Function3e60:: ; 3e60
	ld [$c986], a
	ld a, l
	ld [$c987], a
	ld a, h
	ld [$c988], a

	pop bc
	ld a, b
	ld [$c981], a
	rst Bankswitch

	ld hl, $c822
	res 6, [hl]
	ld hl, $c987
	ld a, [hli]
	ld h, [hl]
	ld l, a
	ld a, [$c986]
	ret
; 3e80

Function3e80:: ; 3e80
	ld a, [hROMBank]
	push af
	ld a, BANK(Function1116c5)
	ld [$c981], a
	rst Bankswitch

	call Function1116c5
	pop bc
	ld a, b
	ld [$c981], a
	rst Bankswitch

	ret
; 3e93


Timer:: ; 3e93
	push af
	push bc
	push de
	push hl

	ld a, [$ffe9]
	and a
	jr z, .asm_3ed2

	xor a
	ld [rTAC], a

; Turn off timer interrupt
	ld a, [rIF]
	and 1 << VBLANK | 1 << LCD_STAT | 1 << SERIAL | 1 << JOYPAD
	ld [rIF], a

	ld a, [$c86a]
	or a
	jr z, .asm_3ed2

	ld a, [$c822]
	bit 1, a
	jr nz, .asm_3eca

	ld a, [rSC]
	and 1 << rSC_ON
	jr nz, .asm_3eca

	ld a, [hROMBank]
	push af
	ld a, BANK(Function1118de)
	ld [$c981], a
	rst Bankswitch

	call Function1118de

	pop bc
	ld a, b
	ld [$c981], a
	rst Bankswitch

.asm_3eca
	ld a, [rTMA]
	ld [rTIMA], a

	ld a, 1 << rTAC_ON | rTAC_65536_HZ
	ld [rTAC], a

.asm_3ed2
	pop hl
	pop de
	pop bc
	pop af
	reti
; 3ed7

Function3ed7:: ; 3ed7
	ld [$dc02], a
	ld a, [hROMBank]
	push af
	ld a, BANK(Function114243)
	rst Bankswitch

	call Function114243
	pop bc
	ld a, b
	rst Bankswitch

	ld a, [$dc02]
	ret
; 3eea