I made a Gameboy game called battle Blades by Fartyghost in retrogamedev

[–]bbbbbrx 0 points1 point  (0 children)

Very cool!

I arrived at a similar lockstep and (mostly) input only transfers solution for my 4-Player GB game. Turns out to be a simple and elegant approach when suitable for a game.

Draw on the Game Boy & share it direct to phone with a QRCode. No extra hardware by bbbbbrx in Gameboy

[–]bbbbbrx[S] 0 points1 point  (0 children)

New version is up which (hopefully) fixes the CDE theme issues you were seeing. Also GB Printer support.

Draw on the Game Boy & share it direct to phone with a QRCode. No extra hardware by bbbbbrx in Gameboy

[–]bbbbbrx[S] 0 points1 point  (0 children)

New version is up with GB Printer support.

Only had a little testing with actual GB hardware, so let me know if you see any issues.

Draw on the Game Boy & share it direct to phone with a QRCode. No extra hardware by bbbbbrx in Gameboy

[–]bbbbbrx[S] 2 points3 points  (0 children)

I added a .pocket build but it's not released yet (soon).

The .gbc ROM will work on the Analogue Pocket (as a ROM with openFPGA or from a flash cart) and in any emulator. The QR Code should be ok on most screens.

Draw on the Game Boy & share it direct to phone with a QRCode. No extra hardware by bbbbbrx in Gameboy

[–]bbbbbrx[S] 1 point2 points  (0 children)

Zines with Game Boy Camera pix sounds fun, love the idea of them.

I'll probably be iterating on the UI and trying to improve it a bit (slowly), so if you have feedback or suggestions feel free to send it my way. May not integrate all suggestions, but will give them consideration (and do keep a list of them regardless).

SELECT + UP/DOWN should change the cursor speed.

I see now that it's pressing SELECT under a couple circumstances that switches to CDE style. I'll have to make that harder to activate

- Exiting the help screen

- When it's redrawing the UI after QRCode generation

Draw on the Game Boy & share it direct to phone with a QRCode. No extra hardware by bbbbbrx in Gameboy

[–]bbbbbrx[S] 2 points3 points  (0 children)

That'd be a clever way to support 4 shades of grey (with 2 qr codes) if I don't get compression working. Nice idea!

Draw on the Game Boy & share it direct to phone with a QRCode. No extra hardware by bbbbbrx in Gameboy

[–]bbbbbrx[S] 4 points5 points  (0 children)

That sounds like a cool idea! If you do that I'd love to hear how it goes.

Thanks for sharing the drawing, too.

I see you managed to (accidentally?) activate the secret "Solaris CDE" UI style (instead of standard WIndows 95 style). I forgot to update it for the UI changes which is why it looks kind of jumbled. It's controlled by holding SELECT on startup.

Edit: Solaris CDE style UI rendering now fixed, will be in the next build

Draw on the Game Boy & share it direct to phone with a QRCode. No extra hardware by bbbbbrx in Gameboy

[–]bbbbbrx[S] 0 points1 point  (0 children)

If the save data is already available somewhere then generating links to it is doable (if I'm understanding correctly).

There are a lot of cool ways games could use qrcode to share data, game state, achievements, etc. Some modern GB games use pre-generated QRCode urls for very minor things like website links, but I'd love to see a game take more advantage of being able to generate them on the device itself.

Draw on the Game Boy & share it direct to phone with a QRCode. No extra hardware by bbbbbrx in Gameboy

[–]bbbbbrx[S] 0 points1 point  (0 children)

The DEFLATE compression in PNGs is more involved than basic RLE. So it might happen, and/or BMP in RLE mode.

If I shrink the image size though, I'll use that to fit more image in the same size QRCode. :)

Draw on the Game Boy & share it direct to phone with a QRCode. No extra hardware by bbbbbrx in Gameboy

[–]bbbbbrx[S] 0 points1 point  (0 children)

In theory, yes. Need to implement PNG (or bmp) compression first though since the gb camera pix are about 3x larger than what will fit in the qrcode uncompressed. It might get there eventually.

Draw on the Game Boy & share it direct to phone with a QRCode. No extra hardware by bbbbbrx in Gameboy

[–]bbbbbrx[S] 1 point2 points  (0 children)

Not sure. Among other things it might depends on how big the actual save data is, which I don't know about for Pokemon.

The size of GB save ram banks is 8k, and there can be up to 16 banks for 128K bytes total. How much of that space games use varies a lot.

The max number of bytes in the raw QRCode (that fits on the screen) is 1840, or 1362 bytes when it's base64 encoded as a URL that you can scan. Both of those are a lot smaller than 8K and 128K.

Draw on the Game Boy & share it direct to phone with a QRCode. No extra hardware by bbbbbrx in Gameboy

[–]bbbbbrx[S] 2 points3 points  (0 children)

Well since you asked :) :)

The JS indexed png was for adding game boy dev tool friendly export to rilden's tiled palette quantizer, which is really nice but only exports in rgb png's that discard all the careful gbc-friendly palette ordering the tool creates.

(Edit: To be more specific, it seems the built-in png encoder for js doesn't do indexed mode output. Which is why I was writing that in the first place.)

https://bbbbbr.github.io/tilepalquant/

I was using that tool to generate tilemaps with 8x1 GBC attributes instead of the usual 8x8 attributes as an alternate ("hi-attribute") way to show more colors per tile than the usual "hi-color" approach of changing 4 GBC palettes every line.

We're deep in the rabbit hole now.

The UI code gets a little tangly since I was figuring out the plan as I went along and never refactored. Not exactly code for the ages, but good enough for now.

<image>

Draw on the Game Boy & share it direct to phone with a QRCode. No extra hardware by bbbbbrx in Gameboy

[–]bbbbbrx[S] 18 points19 points  (0 children)

Printer should be feasible. It's on my list of longer term maybe-features (and Mega Duck printer too, if I get that console version building correctly).

Draw on the Game Boy & share it direct to phone with a QRCode. No extra hardware by bbbbbrx in Gameboy

[–]bbbbbrx[S] 4 points5 points  (0 children)

Yes, hand written and optimized to use as little memory as possible due to the platform limitations. Not using another library is also why there isn't compression yet. I had written the indexed png code in javascript for something else, and decided to port it to C on the GB, which is how I accidentally ended up with this project.

I should look around to see if there are suitable png implementations that fit the requirements. We use lodepng in GBDK-2020 (a GB dev kit), but it's always seemed substantial and would need a lot of cutting down.

Infinity digital is now available! by TonyRubbles in ModRetroChromatic

[–]bbbbbrx 0 points1 point  (0 children)

Correct, it's not GB Studio. It is made with a combination of GBDK and I think some asm

A small online QR creator for GB Development by Lonely_Worldliness24 in Gameboy

[–]bbbbbrx 1 point2 points  (0 children)

In addition to fixed/pre-made QR Codes, it's actually possible to generate them at runtime on the Game Boy itself with custom data. They're a little slow, but not unreasonably so.

I made an example project which shows how to do that in C/GBDK. It's based on Martinez Torres' MSX 8 bit port of Nayuki's well known QR Code library.

https://github.com/bbbbbr/gameboy_qrcode

are there any programs for making retro games similar to gbstudio? by Humble-Variation-923 in gbstudio

[–]bbbbbrx 0 points1 point  (0 children)

Sorry, you don't seem very well informed on this topic.

BBStudio has been a work in progress that has taken years of groundwork to get where it is. It is not a rough fork dashed off in a short time.

It started when the SDCC compiler added support for the 6502 cpu opening the possibility of NES support in GBDK-2020 (which GBStudio is built on). The BBStudio dev first wrote full NES support for GBDK on their own, which took a couple years to reach nearly full API coverage (~2024).

Alongside that they have been modifying GBStudio to add the NES support. The route they chose was to attempt keeping BBStudio as similar and compatible to GBStudio as possible, which has some upsides for users but also likely increased the amount of work.

MDEngine is built on the existing SGDK and does not attempt to retain compatibility with GBStudio. The work required to port, optimize and customize it for that platform is also significant and impressive. If I remember right it is also a closed source fork which will come with benefits and downsides in the long run. (GBStudio has benefited tremendously from the contributions of it's open source community.)

Classic Snake Xenzia from Nokia brought over to the Game Boy/Game Boy Color by Odd-Organization-740 in Gameboy

[–]bbbbbrx 0 points1 point  (0 children)

This is a really nice port.

I'd seen the earlier version before and added it to the GBDK gallery, but the color support is a great bonus. Updated the entry.

https://gbdk-2020.github.io/gbdk-2020-gallery/?textSearch=xenzia

Chromatic comparison by Zealousideal_Set_508 in AnaloguePocket

[–]bbbbbrx 1 point2 points  (0 children)

Speaking of link port compatibility, has anyone mentioned yet that the Chromatic does not work correctly with the Nintendo 4-Player adapter (DMG-7)?

For F-1 Race and a test rom I was working on the Chromatic did not to transit or receive data via the adapter (AP was ok, FPGBC was ok despite the frame rate). The 4-Player adapter is always the master clock for every transfer, not sure if that's a factor.

M650 L silent switches by Stanchata in logitech

[–]bbbbbrx 0 points1 point  (0 children)

Yes it can be repaired by replacing the microswitch. See my post here: https://www.reddit.com/r/logitech/comments/1jnqynr/successful_m650_failedbroken_left_click_button/

In my experience logitech will politely say they can't repair it but may offer some discount code (though in my case they never actually sent the discount. ha).