From 13cfe356d678c69aa5a5e19409408f25a38352cf Mon Sep 17 00:00:00 2001 From: mid-kid Date: Sun, 5 May 2019 18:14:46 +0200 Subject: [PATCH] Fix usage of rIE and rSC constants --- constants/hardware_constants.asm | 1 + engine/link/link.asm | 56 +++++++++++++++---------------- engine/link/mystery_gift.asm | 6 ++-- engine/printer/printer.asm | 18 +++++----- engine/printer/printer_serial.asm | 8 ++--- home/handshake.asm | 4 +-- home/init.asm | 4 +-- home/lcd.asm | 2 +- home/serial.asm | 24 ++++++------- home/vblank.asm | 16 ++++----- lib/mobile/main.asm | 8 ++--- mobile/mobile_40.asm | 4 +-- mobile/mobile_46.asm | 2 +- 13 files changed, 77 insertions(+), 76 deletions(-) diff --git a/constants/hardware_constants.asm b/constants/hardware_constants.asm index 34c7d6813..6205a1d7f 100644 --- a/constants/hardware_constants.asm +++ b/constants/hardware_constants.asm @@ -42,6 +42,7 @@ LCD_STAT EQU 1 TIMER EQU 2 SERIAL EQU 3 JOYPAD EQU 4 +IE_DEFAULT EQU (1 << SERIAL) | (1 << TIMER) | (1 << LCD_STAT) | (1 << VBLANK) ; OAM attribute flags OAM_TILE_BANK EQU 3 diff --git a/engine/link/link.asm b/engine/link/link.asm index 3550c2b20..9cb29801c 100644 --- a/engine/link/link.asm +++ b/engine/link/link.asm @@ -50,17 +50,17 @@ Gen2ToGen1LinkComms: call DelayFrames xor a ldh [hSerialSend], a - ld a, (0 << rSC_ON) | 1 + ld a, (0 << rSC_ON) | (1 << rSC_CLOCK) ldh [rSC], a - ld a, (1 << rSC_ON) | 1 + ld a, (1 << rSC_ON) | (1 << rSC_CLOCK) ldh [rSC], a call DelayFrame xor a ldh [hSerialSend], a - ld a, (0 << rSC_ON) | 1 + ld a, (0 << rSC_ON) | (1 << rSC_CLOCK) ldh [rSC], a - ld a, (1 << rSC_ON) | 1 + ld a, (1 << rSC_ON) | (1 << rSC_CLOCK) ldh [rSC], a .player_1 @@ -70,7 +70,7 @@ Gen2ToGen1LinkComms: call DelayFrames xor a ldh [rIF], a - ld a, $8 + ld a, 1 << SERIAL ldh [rIE], a ld hl, wd1f3 ld de, wEnemyMonSpecies @@ -90,7 +90,7 @@ Gen2ToGen1LinkComms: call Serial_ExchangeBytes xor a ldh [rIF], a - ld a, $1d + ld a, (1 << JOYPAD) | (1 << SERIAL) | (1 << TIMER) | (1 << VBLANK) ldh [rIE], a call Link_CopyRandomNumbers ld hl, wOTPlayerName @@ -194,17 +194,17 @@ Gen2ToGen2LinkComms: call DelayFrames xor a ldh [hSerialSend], a - ld a, (0 << rSC_ON) | 1 + ld a, (0 << rSC_ON) | (1 << rSC_CLOCK) ldh [rSC], a - ld a, (1 << rSC_ON) | 1 + ld a, (1 << rSC_ON) | (1 << rSC_CLOCK) ldh [rSC], a call DelayFrame xor a ldh [hSerialSend], a - ld a, (0 << rSC_ON) | 1 + ld a, (0 << rSC_ON) | (1 << rSC_CLOCK) ldh [rSC], a - ld a, (1 << rSC_ON) | 1 + ld a, (1 << rSC_ON) | (1 << rSC_CLOCK) ldh [rSC], a .Player1: @@ -214,7 +214,7 @@ Gen2ToGen2LinkComms: call DelayFrames xor a ldh [rIF], a - ld a, $8 + ld a, 1 << SERIAL ldh [rIE], a ld hl, wd1f3 ld de, wEnemyMonSpecies @@ -243,7 +243,7 @@ Gen2ToGen2LinkComms: .not_trading xor a ldh [rIF], a - ld a, $1d + ld a, (1 << JOYPAD) | (1 << SERIAL) | (1 << TIMER) | (1 << VBLANK) ldh [rIE], a ld de, MUSIC_NONE call PlayMusic @@ -447,7 +447,7 @@ Gen2ToGen2LinkComms: xor a ldh [rIF], a ldh a, [rIE] - set 1, a + set LCD_STAT, a ldh [rIE], a pop af ldh [rIF], a @@ -1558,9 +1558,9 @@ Function28b22: xor a ldh [rSB], a ldh [hSerialSend], a - ld a, (0 << rSC_ON) | 1 + ld a, (0 << rSC_ON) | (1 << rSC_CLOCK) ldh [rSC], a - ld a, (1 << rSC_ON) | 1 + ld a, (1 << rSC_ON) | (1 << rSC_CLOCK) ldh [rSC], a ret @@ -2104,18 +2104,18 @@ WaitForOtherPlayerToExit: xor a ldh [rSB], a ldh [hSerialReceive], a - ld a, (0 << rSC_ON) | 1 + ld a, (0 << rSC_ON) | (1 << rSC_CLOCK) ldh [rSC], a - ld a, (1 << rSC_ON) | 1 + ld a, (1 << rSC_ON) | (1 << rSC_CLOCK) ldh [rSC], a ld c, 3 call DelayFrames xor a ldh [rSB], a ldh [hSerialReceive], a - ld a, (0 << rSC_ON) | 0 + ld a, (0 << rSC_ON) | (0 << rSC_CLOCK) ldh [rSC], a - ld a, (1 << rSC_ON) | 0 + ld a, (1 << rSC_ON) | (0 << rSC_CLOCK) ldh [rSC], a ld c, 3 call DelayFrames @@ -2131,7 +2131,7 @@ WaitForOtherPlayerToExit: push af xor a ldh [rIF], a - ld a, $f + ld a, IE_DEFAULT ldh [rIE], a pop af ldh [rIF], a @@ -2160,9 +2160,9 @@ SetBitsForTimeCapsuleRequest: ldh [rSB], a xor a ldh [hSerialReceive], a - ld a, (0 << rSC_ON) | 0 + ld a, (0 << rSC_ON) | (0 << rSC_CLOCK) ldh [rSC], a - ld a, (1 << rSC_ON) | 0 + ld a, (1 << rSC_ON) | (0 << rSC_CLOCK) ldh [rSC], a xor a ; LINK_TIMECAPSULE - 1 ld [wPlayerLinkAction], a @@ -2177,9 +2177,9 @@ WaitForLinkedFriend: ldh [rSB], a xor a ldh [hSerialReceive], a - ld a, (0 << rSC_ON) | 0 + ld a, (0 << rSC_ON) | (0 << rSC_CLOCK) ldh [rSC], a - ld a, (1 << rSC_ON) | 0 + ld a, (1 << rSC_ON) | (0 << rSC_CLOCK) ldh [rSC], a call DelayFrame call DelayFrame @@ -2202,9 +2202,9 @@ WaitForLinkedFriend: ldh [rSB], a xor a ldh [hSerialReceive], a - ld a, (0 << rSC_ON) | 0 + ld a, (0 << rSC_ON) | (0 << rSC_CLOCK) ldh [rSC], a - ld a, (1 << rSC_ON) | 0 + ld a, (1 << rSC_ON) | (0 << rSC_CLOCK) ldh [rSC], a ld a, [wLinkTimeoutFrames] dec a @@ -2218,9 +2218,9 @@ WaitForLinkedFriend: .not_done ld a, $1 ldh [rSB], a - ld a, (0 << rSC_ON) | 1 + ld a, (0 << rSC_ON) | (1 << rSC_CLOCK) ldh [rSC], a - ld a, (1 << rSC_ON) | 1 + ld a, (1 << rSC_ON) | (1 << rSC_CLOCK) ldh [rSC], a call DelayFrame jr .loop diff --git a/engine/link/mystery_gift.asm b/engine/link/mystery_gift.asm index 840853a87..041127abe 100644 --- a/engine/link/mystery_gift.asm +++ b/engine/link/mystery_gift.asm @@ -434,7 +434,7 @@ Function104bd0: xor a ldh [rIF], a ldh a, [rIE] - or $1 + or 1 << VBLANK ldh [rIE], a ei call DelayFrame @@ -559,7 +559,7 @@ Function104d1c: xor a ldh [rIF], a ldh a, [rIE] - or $1 + or 1 << VBLANK ldh [rIE], a ei call DelayFrame @@ -600,7 +600,7 @@ Function104d56: Function104d5e: call Function104d74 - ld a, $4 + ld a, 1 << TIMER ldh [rIE], a xor a ldh [rIF], a diff --git a/engine/printer/printer.asm b/engine/printer/printer.asm index 93945113c..588699863 100644 --- a/engine/printer/printer.asm +++ b/engine/printer/printer.asm @@ -56,7 +56,7 @@ PrintDexEntry: push af xor a ldh [rIF], a - ld a, $9 + ld a, (1 << SERIAL) | (1 << VBLANK) ldh [rIE], a call Printer_StartTransmission @@ -140,13 +140,13 @@ PrintPCBox: push af xor a ldh [rIF], a - ld a, %1001 + ld a, (1 << SERIAL) | (1 << VBLANK) ldh [rIE], a ld hl, hVBlank ld a, [hl] push af - ld [hl], %0100 + ld [hl], 4 xor a ldh [hBGMapMode], a @@ -219,7 +219,7 @@ PrintUnownStamp: push af xor a ldh [rIF], a - ld a, $9 + ld a, (1 << SERIAL) | (1 << VBLANK) ldh [rIE], a ld hl, hVBlank ld a, [hl] @@ -284,7 +284,7 @@ PrintMail: push af xor a ldh [rIF], a - ld a, %1001 + ld a, (1 << SERIAL) | (1 << VBLANK) ldh [rIE], a xor a @@ -326,7 +326,7 @@ PrintPartymon: push af xor a ldh [rIF], a - ld a, %1001 + ld a, (1 << SERIAL) | (1 << VBLANK) ldh [rIE], a xor a @@ -390,7 +390,7 @@ _PrintDiploma: push af xor a ldh [rIF], a - ld a, %1001 + ld a, (1 << SERIAL) | (1 << VBLANK) ldh [rIE], a ld hl, hVBlank @@ -458,9 +458,9 @@ CheckCancelPrint: ld [wPrinterOpcode], a ld a, $88 ldh [rSB], a - ld a, $1 + ld a, (0 << rSC_ON) | (1 << rSC_CLOCK) ldh [rSC], a - ld a, $81 + ld a, (1 << rSC_ON) | (1 << rSC_CLOCK) ldh [rSC], a .loop2 ld a, [wPrinterOpcode] diff --git a/engine/printer/printer_serial.asm b/engine/printer/printer_serial.asm index 154cc2fd4..e8cec0345 100644 --- a/engine/printer/printer_serial.asm +++ b/engine/printer/printer_serial.asm @@ -279,9 +279,9 @@ Printer_WaitHandshake: ld [wPrinterOpcode], a ld a, $88 ldh [rSB], a - ld a, $1 + ld a, (0 << rSC_ON) | (1 << rSC_CLOCK) ldh [rSC], a - ld a, $81 + ld a, (1 << rSC_ON) | (1 << rSC_CLOCK) ldh [rSC], a ret @@ -622,9 +622,9 @@ Printer_Send0x08: Printer_SerialSend: ldh [rSB], a - ld a, $1 ; switch to internal clock + ld a, (0 << rSC_ON) | (1 << rSC_CLOCK) ldh [rSC], a - ld a, $81 ; start transfer + ld a, (1 << rSC_ON) | (1 << rSC_CLOCK) ldh [rSC], a ret diff --git a/home/handshake.asm b/home/handshake.asm index 44c659496..ee01cfadb 100644 --- a/home/handshake.asm +++ b/home/handshake.asm @@ -32,11 +32,11 @@ AskSerial:: ldh [rSB], a ; switch to internal clock - ld a, %00000001 + ld a, (0 << rSC_ON) | (1 << rSC_CLOCK) ldh [rSC], a ; start transfer - ld a, %10000001 + ld a, (1 << rSC_ON) | (1 << rSC_CLOCK) ldh [rSC], a ret diff --git a/home/init.asm b/home/init.asm index 676b5460a..b8c4d90a9 100644 --- a/home/init.asm +++ b/home/init.asm @@ -6,7 +6,7 @@ Reset:: call ClearPalettes xor a ldh [rIF], a - ld a, 1 ; VBlank int + ld a, 1 << VBLANK ldh [rIE], a ei @@ -154,7 +154,7 @@ Init:: xor a ldh [rIF], a - ld a, %1111 ; VBlank, LCDStat, Timer, Serial interrupts + ld a, IE_DEFAULT ldh [rIE], a ei diff --git a/home/lcd.asm b/home/lcd.asm index e50672f95..59bf22727 100644 --- a/home/lcd.asm +++ b/home/lcd.asm @@ -46,7 +46,7 @@ DisableLCD:: ld b, a ; Disable VBlank - res 0, a ; vblank + res VBLANK, a ldh [rIE], a .wait diff --git a/home/serial.asm b/home/serial.asm index 1d790a79a..d95d6ce49 100644 --- a/home/serial.asm +++ b/home/serial.asm @@ -28,9 +28,9 @@ Serial:: cp USING_INTERNAL_CLOCK jr z, .player2 - ld a, 0 << rSC_ON + ld a, (0 << rSC_ON) | (0 << rSC_CLOCK) ldh [rSC], a - ld a, 1 << rSC_ON + ld a, (1 << rSC_ON) | (0 << rSC_CLOCK) ldh [rSC], a jr .player2 @@ -65,9 +65,9 @@ Serial:: bit 7, a jr nz, .wait_bit_7 - ld a, 0 << rSC_ON + ld a, (0 << rSC_ON) | (0 << rSC_CLOCK) ldh [rSC], a - ld a, 1 << rSC_ON + ld a, (1 << rSC_ON) | (0 << rSC_CLOCK) ldh [rSC], a jr .player2 @@ -130,9 +130,9 @@ Serial_ExchangeByte:: ldh a, [hSerialConnectionStatus] cp USING_INTERNAL_CLOCK jr nz, .not_player_2 - ld a, (0 << rSC_ON) | 1 + ld a, (0 << rSC_ON) | (1 << rSC_CLOCK) ldh [rSC], a - ld a, (1 << rSC_ON) | 1 + ld a, (1 << rSC_ON) | (1 << rSC_CLOCK) ldh [rSC], a .not_player_2 .loop2 @@ -352,9 +352,9 @@ LinkTransfer:: ldh a, [hSerialConnectionStatus] cp USING_INTERNAL_CLOCK jr nz, .player_1 - ld a, (0 << rSC_ON) | 1 + ld a, (0 << rSC_ON) | (1 << rSC_CLOCK) ldh [rSC], a - ld a, (1 << rSC_ON) | 1 + ld a, (1 << rSC_ON) | (1 << rSC_CLOCK) ldh [rSC], a .player_1 @@ -382,9 +382,9 @@ LinkDataReceived:: ldh a, [hSerialConnectionStatus] cp USING_INTERNAL_CLOCK ret nz - ld a, (0 << rSC_ON) | 1 + ld a, (0 << rSC_ON) | (1 << rSC_CLOCK) ldh [rSC], a - ld a, (1 << rSC_ON) | 1 + ld a, (1 << rSC_ON) | (1 << rSC_CLOCK) ldh [rSC], a ret @@ -396,8 +396,8 @@ Unreferenced_Function919:: ldh [rSB], a xor a ldh [hSerialReceive], a - ld a, 0 << rSC_ON + ld a, (0 << rSC_ON) | (0 << rSC_CLOCK) ldh [rSC], a - ld a, 1 << rSC_ON + ld a, (1 << rSC_ON) | (0 << rSC_CLOCK) ldh [rSC], a ret diff --git a/home/vblank.asm b/home/vblank.asm index c26963636..e86ee00b7 100644 --- a/home/vblank.asm +++ b/home/vblank.asm @@ -196,13 +196,13 @@ VBlank1:: xor a ldh [rIF], a ; enable lcd stat - ld a, %10 ; lcd stat + ld a, 1 << LCD_STAT ldh [rIE], a ; rerequest serial int if applicable (still disabled) ; request lcd stat ld a, b - and %1000 ; serial - or %10 ; lcd stat + and 1 << SERIAL + or 1 << LCD_STAT ldh [rIF], a ei @@ -220,7 +220,7 @@ VBlank1:: xor a ldh [rIF], a ; enable ints besides joypad - ld a, %1111 ; serial timer lcdstat vblank + ld a, IE_DEFAULT ldh [rIE], a ; rerequest ints ld a, b @@ -279,7 +279,7 @@ VBlank3:: push af xor a ldh [rIF], a - ld a, %10 ; lcd stat + ld a, 1 << LCD_STAT ldh [rIE], a ldh [rIF], a @@ -302,7 +302,7 @@ VBlank3:: xor a ldh [rIF], a ; enable ints besides joypad - ld a, %1111 ; serial timer lcdstat vblank + ld a, IE_DEFAULT ldh [rIE], a ; request ints ld a, b @@ -368,7 +368,7 @@ VBlank5:: xor a ldh [rIF], a - ld a, %10 ; lcd stat + ld a, 1 << LCD_STAT ldh [rIE], a ; request lcd stat ldh [rIF], a @@ -384,7 +384,7 @@ VBlank5:: xor a ldh [rIF], a ; enable ints besides joypad - ld a, %1111 ; serial timer lcdstat vblank + ld a, IE_DEFAULT ldh [rIE], a ret diff --git a/lib/mobile/main.asm b/lib/mobile/main.asm index 2bf5eef23..ce7c697d6 100644 --- a/lib/mobile/main.asm +++ b/lib/mobile/main.asm @@ -605,7 +605,7 @@ Function11032c: Function110393: ld c, LOW(rIE) ldh a, [c] - or $c + or (1 << SERIAL) | (1 << TIMER) ldh [c], a ret @@ -4101,9 +4101,9 @@ Function111b21: Function111b2e: ld hl, $c822 set 1, [hl] - ld a, $3 + ld a, (0 << rSC_ON) | (1 << rSC_CGB) | (1 << rSC_CLOCK) ldh [rSC], a - ld a, $83 + ld a, (1 << rSC_ON) | (1 << rSC_CGB) | (1 << rSC_CLOCK) ldh [rSC], a Function111b3b: @@ -4684,7 +4684,7 @@ Function111f07: ret .asm_111f17 ldh a, [rSC] - and $80 + and 1 << rSC_ON jr nz, .asm_111f17 di ld a, [$c81e] diff --git a/mobile/mobile_40.asm b/mobile/mobile_40.asm index c342388dd..2d01435ea 100644 --- a/mobile/mobile_40.asm +++ b/mobile/mobile_40.asm @@ -79,7 +79,7 @@ EnableMobile: call DoubleSpeed xor a ldh [rIF], a - ld a, 1 << VBLANK | 1 << LCD_STAT | 1 << TIMER | 1 << SERIAL + ld a, IE_DEFAULT ldh [rIE], a xor a ldh [hMapAnims], a @@ -162,7 +162,7 @@ Function1000fa: xor a ldh [rIF], a ldh a, [rIE] - and $13 + and $1f ^ (1 << SERIAL | 1 << TIMER) ldh [rIE], a xor a ldh [hMobileReceive], a diff --git a/mobile/mobile_46.asm b/mobile/mobile_46.asm index 75ed452b9..78b728e46 100644 --- a/mobile/mobile_46.asm +++ b/mobile/mobile_46.asm @@ -469,7 +469,7 @@ BattleTowerRoomMenu_InitRAM: ld a, [hl] ld [wcd7f], a set 1, [hl] - ld a, $f + ld a, (1 << SERIAL) | (1 << TIMER) | (1 << LCD_STAT) | (1 << VBLANK) ldh [rIE], a ld a, $1 ldh [hMobileReceive], a