Commit Graph

307 Commits

Author SHA1 Message Date
GearsProgress
a0d2d593ed Removing Pokemon_Party 2026-07-02 16:05:47 -04:00
GearsProgress
150a87c59c Working on transfer Pokemon commands 2026-06-29 21:02:59 -04:00
GearsProgress
84a29e38cc Cleaning up some logic 2026-06-23 15:31:53 -04:00
GearsProgress
c3e30d1313 Continuing to add secondary packets 2026-06-22 00:03:05 -04:00
GearsProgress
3227df35f7 Fixing multi packet talk 2026-06-19 23:27:59 -04:00
GearsProgress
c773b6e9fc Doing some cleanup 2026-06-19 11:13:29 -04:00
GearsProgress
0df1f7203f Adding the soft reset(?) and other commands 2026-06-18 21:18:16 -04:00
GearsProgress
9244fc4082 Adding GBA flag 2026-06-16 20:31:59 -04:00
GearsProgress
f22776f250 Adding in readMemorySection command 2026-06-15 14:22:39 -04:00
TimoVM
3c8ba3c1f1
Merge pull request #147 from TimoVM/gameboy-payload-update
Gameboy payload This update merges CMD_OpenSRAM and CMD_CloseSRAM into the single CMD_ModifySRAMAccess. It also fixes an issue caused by calling CMD_ReloadCurrentBox in gen 2 while the vblank interrupt was still disabled.update
2026-06-12 09:42:59 +02:00
TimoVM
725a7a09c8 Merge branch 'gameboy-payload-update' of https://github.com/TimoVM/Poke_Transporter_GB into gameboy-payload-update 2026-06-12 06:08:19 +02:00
TimoVM
f23e0225bf Merge Open/CloseSRAM into ModifySRAMAccess. 2026-06-12 06:07:14 +02:00
GearsProgress
6118a985d7 Adding automatic payload loading (kinda) 2026-06-11 18:50:23 -04:00
GearsProgress
261d2d8c55 Cleaning up the link handling and preparing for full read chunks (for real this time) 2026-06-10 22:43:16 -04:00
Philippe Symons
0177374f00 Fix broken Write Cbl Data - CART bug.
For some reason, the merge broke the Write Cbl Data - CART functionality in the dbg menu.

The main problem is that writing a whole sector of data and erasing a sector is too slow to do in an IRQ handler.

Fix: Move the actual flash writing process to the main loop by creating a function called handleCartIO().
The IRQ handler writes to global_memory_buffer, and the handleCartIO() copies that
data to a local write buffer while the IRQ may still add more to global_memory_buffer.

Then it modifies the IRQ handlers' offset and moves the data that was appended in between to the start of the buffer all while
the IRQ handler is still appending new bytes.

If we end up at a sector boundary, we also do the erase_sector() call.

This was tested with and without the print link and print packets debug options.
Without the print options enabled, we end up occupying about 20KB on the cartridge save. (for 1st stage only!)

Man, this bug sucked. I rate it 1 star!
2026-06-08 23:01:31 +02:00
GearsProgress
075dbfd162 Merge branch 'gameboy-payload-update' into pr/risingPhil/141 2026-06-04 23:23:45 -04:00
GearsProgress
e268ccccf5 Basic link packet implementation 2026-06-04 23:12:09 -04:00
Philippe Symons
c9ed32e3a1 Debug option: Write/Load Cable data to/from SRAM
This commit allows you to use the Write Cbl Data debug option and new Load Cbl Data debug option to dump a link's data to SRAM
or load it from SRAM and pretend like you got it over the link cable.

This is useful for capturing the link process on gameboy and replay + debug it later in an emulator.
2026-06-04 15:22:46 +02:00
GearsProgress
ebf8a71e8d Starting packet pipeline implementation 2026-06-03 11:36:20 -04:00
GearsProgress
842f5bc259 Fixing specific payload upload process 2026-05-31 19:52:16 -04:00
GearsProgress
64f25b700f Set sprites when cart is recognized 2026-05-27 16:57:51 -04:00
GearsProgress
d1c7adc2ce Decoupling LinkConnection from PokemonParty 2026-05-24 17:42:04 -04:00
GearsProgress
4805aee24b Adding ROM Checksums 2026-05-24 16:59:24 -04:00
GearsProgress
1232800859 Merge branch 'gameboy-payload-update' of https://github.com/Striaton-Lab-Team/Poke_Transporter_GB into gameboy-payload-update 2026-05-22 14:02:06 -04:00
GearsProgress
8d3aca3c66 Obtaining checksum from GB 2026-05-22 13:49:04 -04:00
Philippe Symons
1d57c10333 Replace text_data_table with FileContainerReader
text_data_table was very similar in concept to FileContainerReader.

But FileContainerReader is generally more flexible, as it allows you to split up your table into several chunks.
This takes away the worry of these files getting too big to compress.

However, we now have a maintenance duty for the text_tables file, which maps a table index to the list of chunks.

We also need to be careful about every use of FileContainerReader::getPointerToFileInDecompressionBuffer().

Using it is fine when you're dealing with a single chunk or if you're sure the file doesn't span multiple chunks.
But the moment you seek to a different chunk, any pointer obtained from getPointerToFileInDecompressionBuffer()
becomes stale as the decompression buffer gets overwritten.

Still, this function is necessary for high memory pressure situations, such as mystery_gift_builder, because we can't maintain
multiple lineBuffers there.
2026-05-20 13:31:28 +02:00
GearsProgress
bb3c863c70 Merge branch 'gameboy-payload-update' into pr/risingPhil/139 2026-05-19 10:52:54 -04:00
Philippe Symons
218e30a273 Use make-file-container for the universal payloads! 2026-05-18 13:57:44 +02:00
Philippe Symons
83614dbfaf Add FileContainerReader to PTGB 2026-05-18 12:44:35 +02:00
Philippe Symons
e5e50f5b12 Add entries to debug menu to unlock Mystery Gift and Mystery Events
NOTE: to test this with ignore_game_pak, you need to make sure DEBUG_GAME is set correctly to the game that matches
2026-05-18 12:44:35 +02:00
Philippe Symons
385135de62 Cleanup: Delete unused rom-value-generator 2026-05-18 12:40:23 +02:00
GearsProgress
e4db1d75c8 Updating payload and accounting for payload waiting 2026-05-17 14:57:44 -04:00
GearsProgress
eeb14a8b2a Fixing a few bugs 2026-05-12 23:08:40 -04:00
GearsProgress
722c767b47 Updating link implementation 2026-05-12 14:51:01 -04:00
GearsProgress
aea8997c45 Updating to handle mail data in gen 2 2026-05-07 15:17:28 -04:00
GearsProgress
0b99140f26 Adding in universal payload support 2026-05-07 14:41:58 -04:00
GearsProgress
5ad082e07a Compressing asm payloads and updating link_handler 2026-04-26 14:02:02 -04:00
GearsProgress
4deef3f8af Reworking single byte sending 2026-04-23 16:44:01 -04:00
GearsProgress
f76604820d Speeding things up! 2026-04-19 14:42:44 -04:00
GearsProgress
3c26aec186 Switching to an interrupt timer based system 2026-04-17 13:17:02 -04:00
GearsProgress
be0fb6dcca Cleaning up the link handler (aka gameboy_colour) 2026-04-17 12:05:00 -04:00
GearsProgress
9b382c659c Inital commit 2026-04-03 21:20:37 -04:00
Philippe Symons
ffdcd13f80 revert DEBUG_GAME 2026-04-02 11:55:16 +02:00
Philippe Symons
9967fde1ad Fix urgent bug in flash_mem.cpp (I broke checksums) and update PCCS submodule with injection bugfixes 2026-04-02 01:30:09 +02:00
Philippe Symons
167f49a468 Fix grey filter over front sprite during pkmn injection 2026-04-01 22:07:39 +02:00
Philippe Symons
c2aad6d82a Show front sprite during pkmn injection 2026-04-01 21:26:19 +02:00
Philippe Symons
67930671b7 Implement the PCCS change to turn Gen3SaveManager into a template class 2026-04-01 16:37:29 +02:00
Philippe Symons
7273334efa Make gen3 pokemon injection work by fixing several bugs 2026-03-31 22:35:28 +02:00
Philippe Symons
fa39c1f60c Merge branch 'release-candidate' into feature/inject-gen3-pokemon-into-pcbox 2026-03-31 19:56:40 +02:00
Philippe Symons
58654de02c Fix MGBA logging bug
va args passing was broken in my initial implementation, causing garbage values to get printed whenever you try
to print an actual argument.

Moreover, I also had a bug in the PTGB_MGBA_XYZ macros.

Sorry, I should've tested it with actual arguments.
2026-03-31 16:40:16 +02:00