well i just updated my pc-gameboy linking program to support custom port mappings meaning you can use it with a parallel port on an expansion card rather than needing a 20 year old computer and/or rare modern motherboard with legacy ports on it
github.com/tzlion/gblinkdx/rel

was looking into the same being possible with my GBA multiboot dumping setup...........lol

that one depends on abandoned closed-source program Xboo Communicator to act as the PC client & that doesn't allow you to configure the port so fuck me i guess. i'm already stuck using linux for it because theres no way to get raw port access on 64bit windows without a library which i have no way to make it use

I got it working by hex editing the port address in the executable :blobsunglasses:

well I was just looking into how the xboo and gblink cables work and i realised there was no fundamental need for the two applications to actually need differently wired cables, they're just using different pins for the same purpose... so i've added xboo compatibility to gblinkdx. meaning if you're a weirdo with extremely specific needs like me you don't need to keep two separate cables around anymore
github.com/tzlion/gblinkdx/rel

the original reason i was looking into that btw is the increasing possibility that i might have to try reimplementing at least some subset of xboo functionality myself.... my attempts to hack xboo communicator were hitting a bit of a brick wall when i tried it on a more up to date linux distro and it would only segfault. and in any case its not a sustainable solution lets face it

i kinda see there being 2 parts to this
1 - figure out how to upload a multiboot program to the gba
2 - then figure out how xboo communicator actually communicates with the program once running

& i would suspect there might be at least some open source implementation of (1) that i can work off of??? and the other stuff i'd just have to reverse engineer??
i wish the people doing this stuff back in like 2005 had just released their source code

OK SO I found this program where someone has actually implemented multiboot and enough of the xboo communicator protocol to do everything i need, but with a Raspberry Pi
github.com/akkera102/gba_01_mu
SO I attempted to modify it to communicate over parallel instead and it just WORKED!?!?!?

It is dog ass slow compared to the original communicator so I probably need to tweak some delays and stuff but i'm so glad this worked oh my god

So initially this was so slow it would've taken over an hour to dump a single megabyte......
After some tweaks I've now got it reliably transferring a MB in 4 mins but the original communicator on Linux could do it in 1 min so it WOULD be nice to bring it down further....

I suppose I should also try compiling this on Linux and see if it's any faster there. The driver it needs on windows might be adding overhead. On Linux it can just raw dog the port

Follow

Yeah it turns out it is faster on Linux and can pretty much get up to the speed of the original (albeit not 100% reliably) so it must just be the Windows driver slowing it down. Which on the one hand is a bit of a pisser that it's a problem I can't fix, but it's also good to know I've done everything "right" on my end and it's not a problem with my code

Also fucking Windows. Oh you can't access the ports on your own computer unless you go through a slow driver written by someone who paid us for a certificate. Fuck off let me bang some bits

Well I've released my modified parallel port version of the xboo reimplementation. It works on modern windows and linux and supports expansion cards. I called it xboop
github.com/tzlion/xboop

In the meantime WinterMute has kindly released the source code for the original Xboo Communicator (github.com/devkitPro/xcomms) but I was already too deep in the hole on this implementation for now so I stuck with it, just used the original source for reference in some places

But I might look at modifying the original at some point later

I also want to write a blog post about all of this but being real don't hold your breath on that one

Sign in to participate in the conversation
Computer Fairies

Computer Fairies is a Mastodon instance that aims to be as queer, friendly and furry as possible. We welcome all kinds of computer fairies!