Commit Graph

378 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
GearsProgress
66b7798e06 Fixing payload chunks 2026-06-12 21:24:51 -04:00
GearsProgress
6118a985d7 Adding automatic payload loading (kinda) 2026-06-11 18:50:23 -04:00
GearsProgress
93140c3821 Silly merge conflicts fix 2026-06-11 16:45:24 -04:00
GearsProgress
e4ebd13cdb Merge branch 'gameboy-payload-update' into pr/TimoVM/146 2026-06-11 16:38:49 -04:00
TimoVM
14608eabab Fix issues with gen1 payload (tested on console) 2026-06-11 22:00:30 +02: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
6a3eba2c42 Fix missing erase_sector() call to fix stalls on save for CART link data writing
+ fix broken toggle in debug menu
2026-06-05 01:32:03 +02:00
Philippe Symons
a88b316721 Make sure to clear SRAM before starting to write our link data there. 2026-06-04 23:42:17 +02: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
456c5538d2 Updating gb-payload-generator 2026-06-03 11:42:59 -04: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
003878f381 Fix crash 2026-05-20 13:50:12 +02: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
cf1cc19849 Merging in Emulation Link (again, also not working due to changes) 2026-04-19 15:36:13 -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
d0aea7a581 Fix busy loop 2026-04-16 17:10:51 -04:00
GearsProgress
4e92542f5c Updating global_next_frame to be interrupt based 2026-04-16 13:56:50 -04:00
GearsProgress
0ee063b03a Working emulation link 2026-04-14 17:26:35 -04:00