Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Gen 5 Pokémon games experience severe slowdown if the "C-Gear" is enabled when running in DSi Mode. #1695

Open
1 of 9 tasks
real-F-00 opened this issue Apr 27, 2024 · 2 comments

Comments

@real-F-00
Copy link

Game Console(s) used

  • Nintendo DS
  • Nintendo DS Lite
  • Nintendo DSi
  • Nintendo DSi XL/LL
  • Nintendo 3DS
  • Nintendo 3DS XL/LL
  • New Nintendo 3DS XL/LL
  • Nintendo 2DS
  • New Nintendo 2DS XL/LL

Launch Method

The game is being launched via the SD Card, using TWiLightMenu++ v27.1.2

Version used

Release v1.5.0

Game tested/used/applicable

TWL-IRBO-USA md5: 37bff1431eda9b3a525737c7f59a432d , TWL-IRDI-ITA md5: 143304fd40e3d536d30542142165a7b1 , TWL-IRAI-ITA md5: 80821ad5ea8eab99dc5db8ab1e0fa0e0

Expected Behavior

the game should run normally and without excruciatingly long wait times when opening your bag, moving through items in your bag and exiting the bag, battles should be of normal speed.

Actual Behavior

the game has unusually long wait times when transitioning between menus and increased slowdowns in battles.

Steps to reproduce

Run the game in DSi Mode, in the main menu, when you are asked if you want to enable the "C-Gear" functionality select "Yes" (note: if you haven't obtained a C-Gear yet the prompt may not appear), once in-game, press 'X' to open a selection menu, select "Bag" and once loaded press 'Up' and 'Down' to move through the items in the Bag, then press 'B' to exit the Bag, you will notice and unusually long wait time.

Here's a save file so that you don't have to play the game up to a certain point in order to reproduce the issue: Pokémon Black Version.sav.zip

nds-bootstrap.ini

NDS_PATH = sd:/Pokémon Black Version.nds
SAV_PATH = sd:/saves/Pokémon Black Version.sav
RAM_DRIVE_PATH = sd:/null.img
GUI_LANGUAGE = en
LANGUAGE = -1
REGION = -1
USE_ROM_REGION = 1
DSI_MODE = 1
BOOST_CPU = 0
BOOST_VRAM = 0
CARD_READ_DMA = 1
ASYNC_CARD_READ = 0
DONOR_SDK_VER = 0
PATCH_MPU_REGION = 0
PATCH_MPU_SIZE = 0
FORCE_SLEEP_PATCH = 0
CACHE_FAT_TABLE = 0
SWI_HALT_HOOK = 1
EXTENDED_MEMORY = 0
CONSOLE_MODEL = 0
AP_FIX_PATH = sd:/_nds/nds-bootstrap/apFix.ips
DEBUG = 0
LOGGING = 1
B4DS_MODE = 0
ROMREAD_LED = 0
DMA_ROMREAD_LED = -1
PRECISE_VOLUME_CONTROL = 0
SDNAND = 0
MACRO_MODE = 0
SLEEP_MODE = 1
SOUND_FREQ = 0
HOTKEY = 284
HOMEBREW_ARG =

Logs

Header CRC is valid!
findModuleParamsOffset:
Module params offset found
Module params offset: 02004FCC
findLtdModuleParamsOffset:
Ltd module params offset found
Ltd module params offset: 02004F7C
sdk_version: 0503757C
arm9 is compressed
arm9i is compressed
Secure area already decrypted
AP-fix found
findHeapPointer2Offset:
020865C8
hi heap end: 020865C8

old hi heap value: 13A007BE

hi heap end: 02086678

new hi heap value: 02F60000

Hi Heap Shrink Successful

patchCardNds

[SDK 5]

findCardIrqEnableOffset:
irq enable found

cardIrqEnable location : 02084968

startOffset : 02004000

findMpuStartOffset:
Mpu init found

Mpu start 2: 02004AD4

findMpuDataOffset:
Mpu data found

Mpu data 2: 02004B90

Mpu init 2: 02004B20

findMpuChange:
Mpu change found

Mpu change: 0208653C

findMpuInitTwlEnd:
Mpu init TWL end found

Mpu init end TWL: 0208656C

findWaitSysCyclesOffset:
Wait system cycles found

waitSysCycles location : 02087A04

findCardReadEndOffsetThumb5Type1:
ARM9 Card read end SDK 5 thumb (type 1) not found

findCardReadEndOffsetThumb5Type0:
ARM9 Card read end SDK 5 thumb alt 1 (type 0) not found

findCardReadEndOffsetThumb:
ARM9 Card read end thumb not found

findCardReadEndOffsetType0:
ARM9 Card read end (type 0) short found: 02076F5C

findCardReadStartOffsetThumb5Type0:
ARM9 Card read start SDK 5 thumb (type 0) not found

findCardReadStartOffsetThumb:
ARM9 Card read start thumb not found
ARM9 Card read start thumb alt not found

findCardReadStartOffset5:
ARM9 Card read start SDK 5 found

cardRead location : 02076E4C
02FD6800

findSwi12Offset:
swi 0x12 call found

swi12 location : 0200407E

findDsiModeCheckOffset
DSi mode check found

findDsiModeCheck2Offset
DSi mode check 2 found

dsiModeCheck location : 02004EB4

dsiModeCheck2 location : 02085D3C

findCardHashInitOffset
Card hash init found

cardHashInit location : 0242EA78

findCardPullOutOffset:
Card pull out handler SDK 5 not found
Card pull out handler SDK 5 alt found

cardPullOut location : 02077410

findCardIdEndOffset:
Card ID end SDK 5 not found
Card ID end SDK 5 alt found: 02076D2C

findCardIdStartOffset:
Card ID start SDK 5 found

cardId location : 02076CD0

findCardReadDmaEndOffset:
Card read DMA end found: 02077160

findCardReadDmaStartOffset:
Card read DMA start SDK 5 found

cardReadDma location : 020770B4

findResetOffset
Reset found: 02087BCC
Reset constant found: 02087C68
Reset found

reset location : 02087BCC

ERR_NONE

a7_findScfgExtOffset:
SCFG_EXT found

SCFG_EXT location : 02380258

findSleepPatchOffset:
Sleep patch found

findRamClearIOffset:
RAM clear I found

RAM clear I location : 02E9700C

findRamClearI2Offset:
RAM clear I 2 found

RAM clear I 2 location : 02E96F2C

findCardIrqEnableOffset:
irq enable not found
irq enable alt found

cardIrqEnable location : 023848C4

findCardCheckPullOutOffset:
Card check pull out not found

Relocation src: 02380644

Arm7 (patch v5)
JumpTableFunc: 0238FB14
card id:	0238FAFC
card read:	0238FB0C
Eeprom read:	0238FB20
Eeprom page write:	0238FB38
Eeprom page prog:	0238FB50
Eeprom verify:	0238FB68
Eeprom page erase:	0238FB7C
findSwi12Offset:
swi 0x12 call found

findSwiGetPitchTableOffset:
swiGetPitchTable call SDK 5 found

swi12 location : 02383BA4

swiGetPitchTable location : 02383BB8

findSdCardResetOffset:
SD Card reset found

sdCardReset location : 02EB3824

ERR_NONE

Card patch successful

hookNdsRetailArm7
hookLocation arm7: 02391918

Cheats found and applied
ERR_NONE
handlerStartSig
020A9F70
handlerEndSig
020A9FB0
tableAddr
02FE0020
returnAddr
01FF8148
hookLocation arm9: 02FE0020

AP-fix applied
chipID: C001FFC2                                                                                                                           

Other notes

the cheat codes applied have no impact whatsoever on the issue.
also, I'm not sure but the SD Card shouldn't be at fault here.

Will you be available for future issues and/or replies?

Yes

@MidyGamy
Copy link

also confirmed for Nintendo DSi XL/LL

@Ninja070903
Copy link

Ninja070903 commented May 16, 2024

To add to this, it also prevents you from accesssing bootloader settings. This issue also appears in normal ds mode.
Happens on v1.4.0 & 1.5.2 nds bootloader versions for the following systems
*DSI XL
*O3DS
*O2DS

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants