Homebrew [WIP] PHBank - Pokémon Homebrew Bank

Minecraftlol

Active Member
Newcomer
Joined
Jul 26, 2014
Messages
29
Trophies
0
Age
48
XP
80
Country
New Zealand
I already know for eggs.
ZL and ZR are only options, you can change pc/bank with touchscreen and Left/Right.
What about when it saves and it says Saving to Card you could change it as the person could be using a eShop copy of the game (like I am)
 

Ekaitz

Redhead Believer
Member
Joined
Jun 13, 2010
Messages
608
Trophies
0
XP
441
Country
France
You are still improving your work..
Guy you are making one of the most useful homebrew...

I hope that the perfect "offline" version of the Pkbank will be available soon...
I'll try the last version today.
Keep up the good work!
 
  • Like
Reactions: Baoulettes

Gocario

GBAFail'd
OP
Member
Joined
Sep 5, 2015
Messages
640
Trophies
0
Location
Bourg Palette
XP
804
Country
France
What about when it saves and it says Saving to Card you could change it as the person could be using a eShop copy of the game (like I am)
I don't know how to detect this.
I can only use the "SD" or the "SAVE" from the filesystem module.

You are still improving your work..
Guy you are making one of the most useful homebrew...

I hope that the perfect "offline" version of the Pkbank will be available soon...
I'll try the last version today.
Keep up the good work!
I have still a lot of work.
Feel free to contribute. :)
 

Ekaitz

Redhead Believer
Member
Joined
Jun 13, 2010
Messages
608
Trophies
0
XP
441
Country
France
It would be a pleasure to help you but I've got no coding skills and I don't have the "legit" Bank. (But I've got Pokemon X, Pokemon OR and Pokemon AS legit cartridges)

Tell me if I can be of any help. (Except for testing your work and report any issue btw)
 

Gocario

GBAFail'd
OP
Member
Joined
Sep 5, 2015
Messages
640
Trophies
0
Location
Bourg Palette
XP
804
Country
France
It would be a pleasure to help you but I've got no coding skills and I don't have the "legit" Bank. (But I've got Pokemon X, Pokemon OR and Pokemon AS legit cartridges)

Tell me if I can be of any help. (Except for testing your work and report any issue btw)
If you encounter a bug, try to determine the cause.
Give feedbacks, or anything which could improve the homebrew.

I guess it can't read ORAS Gateway save?
I have to install CIA version, right?
I don't think so, since I try to load the save from the saveArchive.
CIA version doesn't compile.
 

suloku

Well-Known Member
Member
Joined
Apr 28, 2008
Messages
883
Trophies
0
XP
866
Country
I'll do some tests this afternoon, but I think I have block C (http://projectpokemon.org/wiki/Pokemon_X/Y_3DS_Structure#Block_C_.280x78-0xAF.29) figured out. After that I'll properly document what happens when a pokemon is traded and how the bank does it, and also what happens when the pokemon returns to it's original trainer.

About schoolgirl pikachu, you can't even release it, it is supposed to stay in your savegame forever.

I don't know how to detect this.
I can only use the "SD" or the "SAVE" from the filesystem module.


I have still a lot of work.
Feel free to contribute. :)
Since you are using svdt prototypes, check svdt's main.c: FSUSER_GetMediaType(saveGameFsHandle,&mediatype); --> mediatype will be set to 2 for gamecards and 1 for digital titles. But there's not much point in detecting that.
 

Gocario

GBAFail'd
OP
Member
Joined
Sep 5, 2015
Messages
640
Trophies
0
Location
Bourg Palette
XP
804
Country
France
About schoolgirl pikachu, you can't even release it, it is supposed to stay in your savegame forever.
I know we can trade the Schoolgirl Pikachu to another ORAS game. (I don't know about Pokébank)
It seems to me that ppl are collectionning them.
Tho, filters are fixed for now.
Since you are using svdt prototypes, check svdt's main.c: FSUSER_GetMediaType(saveGameFsHandle,&mediatype); --> mediatype will be set to 2 for gamecards and 1 for digital titles. But there's not much point in detecting that.
Oh, OK! Good to know.
Even if I know that I won't use it since the console will disappear. :nayps3:

Some edit were made.
 
Last edited by Gocario,

Gocario

GBAFail'd
OP
Member
Joined
Sep 5, 2015
Messages
640
Trophies
0
Location
Bourg Palette
XP
804
Country
France
I uploaded the beta 1.0.6.
It adds a box selector feature.
While in Multiselection mode (green), press Y.
You can scroll with stylus if you are in the bank. (DPad is not very effective)
Select one square (box): it turns blue. Tap again, to validate.
 

supercarotte

Well-Known Member
Member
Joined
May 21, 2015
Messages
691
Trophies
0
Age
30
XP
938
Country
France
This looks cool ! I paid for pokebank subscription on my o3DS account but can't use it because my n3DS doesn't share the same account^^

I like to breed a lot, and missed a replacement for the pokebank so I'm really glad you came up with this !

Will be using it a lot from now, I'll report any bug I find =)

I've got 2 questions for now :
1) Would it be possible to show your in-game "box wallpaper" in the PC section of the homebrew ? I use them to locate myself as I have a lot of "random" pokemons and I tend to get lost otherwise. PKHex does it so maybe you could use tricks from its code, though I can understand this is not a major feature^^

2) Are you planning on allowing translations (I'm asking this because of the /data/en subfolder) ?

PS: oh and btw I own cartridges copies of X, RO and SA and o3DS/n3ds consoles so tell me if you want me to test something in particular.
 
Last edited by supercarotte,

Gocario

GBAFail'd
OP
Member
Joined
Sep 5, 2015
Messages
640
Trophies
0
Location
Bourg Palette
XP
804
Country
France
This looks cool ! I paid for pokebank subscription on my o3DS account but can't use it because my n3DS doesn't share the same account^^

I like to breed a lot, and missed a replacement for the pokebank so I'm really glad you came up with this !

Will be using it a lot from now, I'll report any bug I find =)

I've got 2 questions for now :
1) Would it be possible to show your in-game "box wallpaper" in the PC section of the homebrew ? I use them to locate myself as I have a lot of "random" pokemons and I tend to get lost otherwise. PKHex does it so maybe you could use tricks from its code, though I can understand this is not a major feature^^

2) Are you planning on allowing translations (I'm asking this because of the /data/en subfolder) ?

Thanks. :)
  1. I want the PC boxes to have the same background like in game and a possible customization of the bank boxes background. The problem is not about the background ID. I have to include a png reader (probably sfilib). But like you said, not a major feature.
  2. I want but since some characters are 2-bytes coded (comme les accents en français), I delayed it for later...
Might be silly question and maybe you said it before, but how many box we can have on SD ? (exported from game*)
I ask it to know if i can save absolutly all my poke without problem (only sd size limits) or if i have to take care^^
The bank is limited to 100 boxes, like the official Pokébank.
(100 boxes => 30 Pokémon * 100 boxes => 3'000 Pokémon, isn't it enough?)
I may not extend the boxes limit because of the Output time (writing).
 
Last edited by Gocario,

uyjulian

Homebrewer
Member
Joined
Nov 26, 2012
Messages
2,567
Trophies
2
Location
United States
Website
sites.google.com
XP
3,888
Country
United States
Thanks. :)
  1. I want the PC boxes to have the same background like in game and a possible customization of the bank boxes background. The problem is not about the background ID. I have to include a png reader (probably sfilib). But like you said, not a major feature.
  2. I want but since some characters are 2-bytes coded (comme les accents en français), I delayed it for later...

The bank is limited to 100 boxes, like the official Pokébank.
(100 boxes => 30 Pokémon * 100 boxes => 30'000 Pokémon, isn't it enough?)
I may not extend the boxes limit because of the Output time (writing).
Maybe background I/O would help with that issue? For example, each time you drop a Pokémon into a spot, writing is added into a queue, and a background thread checks that queue and starts writing.
 

suloku

Well-Known Member
Member
Joined
Apr 28, 2008
Messages
883
Trophies
0
XP
866
Country
Suggestion for the future: add sprites for alternate formes, my vivillion box is a nightmare to navigate.

The box selector is looking great!
 

Gocario

GBAFail'd
OP
Member
Joined
Sep 5, 2015
Messages
640
Trophies
0
Location
Bourg Palette
XP
804
Country
France
Maybe background I/O would help with that issue? For example, each time you drop a Pokémon into a spot, writing is added into a queue, and a background thread checks that queue and starts writing.
Hum, I have to see, because I am using the FSFILE_Write.
Is there any kind of stream alternative?

Suggestion for the future: add sprites for alternate formes, my vivillion box is a nightmare to navigate.
The box selector is looking great!
A butterfly is butterfly... :c

New version: 1.0.6-beta-a
I improved the DPad controls (and camera view).

Does anybody know about using the romFS to use cartridge-saved sprites?
 

shinyquagsire23

SALT/Sm4sh Leak Guy
Member
Joined
Nov 18, 2012
Messages
1,977
Trophies
2
Age
26
Location
Las Vegas
XP
3,765
Country
United States
Hum, I have to see, because I am using the FSFILE_Write.
Is there any kind of stream alternative?


A butterfly is butterfly... :c

New version: 1.0.6-beta-a
I improved the DPad controls (and camera view).

Does anybody know about using the romFS to use cartridge-saved sprites?
I might try throwing up a PR for that soon. I made a post about accessing the romFS earlier though if you're interested.
 

suloku

Well-Known Member
Member
Joined
Apr 28, 2008
Messages
883
Trophies
0
XP
866
Country
A butterfly is butterfly... :c
Well, I said at some point, it is useful information and instead of showing that information as text in upper screen showing the propper sprite would be great. I know it adds to the filesize, but there aren't that many formes that can be stored in the box (well, 20 vivillion, 15 flabebe line, deerling/sawsbuck....schoolgirl pikachu also has its own sprites, etc...)

Anyway, about the memory information, I'm 99% sure this is how the bank does it (and trading is almost the same, but we are interested in bank)

Data changes when trade/bank RECEIVER is NotOT::
(The following data are relative to the trainer that is RECEIVING the pokemon)
Code:
0x78-0x8F    Name of NotOT is put here
0x90-0x91    Null Terminator
0x92        NotOT Gender (0 - Male, 1 - Female) is put here

0x93        Current Handler is set to 1 (NotOT)

0x94-0x9D    Geolocation Data: when the pokemon is transfered to a different game and the receiver is NotOT, the following happens:
    geolocation 4 is moved to geolocation 5 slot
    geolocation 3 is moved to geolocation 4 slot
    geolocation 2 is moved to geolocation 3 slot
    geolocation 1 is moved to geolocation 2 slot
    geolocation 1 is set to that of the new NotOT
    0x94-0x95    Geolocation 1 - (Region,Country)
    0x96-0x97    Geolocation 2 - (Region,Country)
    0x98-0x99    Geolocation 3 - (Region,Country)
    0x9A-0x9B    Geolocation 4 - (Region,Country)
    0x9C-0x9D    Geolocation 5 - (Region,Country)
0x9E-0x9F    Unused
0xA0-0xA1    Unused
0xA2    NotOT Friendship: this sets friendship to base friendship (depends on species: http://bulbapedia.bulbagarden.net/wiki/List_of_Pok%C3%A9mon_by_base_friendship)
0xA3    NotOT Affection: this is reset to 0
0xA4    NotOT Memory Intensity: all traded pokemon have this value set to 0x01
0xA5    NotOT Memory Line: this is set to 0x04 *Pokemon* became *Trainer*’s friend when it arrived via Link Trade at... *area*."
0xA6    NotOT Memory Feeling: randomly assigned, ranges from 0x00 to 0x09 when traded from pokemon bank (only 10 out of the 24 possible values are used when trading). This is the conclusion after checking about 200 bank transfered pokemon. Normal trades seem to range from 0x00 to 0x12 (19 possible values). I have yet to see the other 5 values being used
0xA7    Unused
0xA8-0xA9    NotOT Memory TextVar: for pokemon bank this is set to 0x0000 ("somewhere"). For normal trades that would be the player's location when the game was saved prior to trading (http://bulbapedia.bulbagarden.net/wiki/Memory_Girl#Locations) and feeling value
0xAA-0xAB    Unused
0xAC-0xAD    Unused
0xAE    Fullness: this is mantained, it's a global value for OT and NotOT
0xAF    Enjoyment:  this is mantained, it's a global value for OT and NotOT
Data changes when trade/bank RECEIVER is OT:
Code:
0x93        Current Handler is set to 0 (OT)

Yes, that's all that happens.
 
Last edited by suloku,
  • Like
Reactions: Gocario

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    K3Nv2 @ K3Nv2: That sick boy yo