|
@@ -0,0 +1,115 @@
|
|
1
|
+title: Blog
|
|
2
|
+post: Game Boy Color modding and experiments
|
|
3
|
+description: Adding an OLED display and building a Game Boy Printer emulator for the Game Boy Camera
|
|
4
|
+date: 2025-03-16
|
|
5
|
+comments: true
|
|
6
|
+---
|
|
7
|
+
|
|
8
|
+I recently pulled out my old childhood Game Boy Color from a drawer to play around with it.
|
|
9
|
+The idea is to use [LSDJ](https://www.littlesounddj.com/) to accompany [LARS](lars_v2.html).
|
|
10
|
+Unfortunately I kinda forgot _how bad_ the GBC screen is, without any backlight.
|
|
11
|
+
|
|
12
|
+So I looked around AliExpress a bit and found the [store](https://www.aliexpress.com/store/1102204288) of [HISPEEDIDO](https://hispeedido.com/home).
|
|
13
|
+They offer many nice modding kits for old consoles, so I got the [OLED screen and USB-C battery replacements](https://www.aliexpress.com/item/1005007009553275.html).
|
|
14
|
+
|
|
15
|
+<!--%
|
|
16
|
+lightgallery([
|
|
17
|
+ [ "img/gb_mod_9.jpg", "Front of modded GBC" ],
|
|
18
|
+ [ "img/gb_mod_8.jpg", "Back of modded GBC with USB-C charging" ],
|
|
19
|
+])
|
|
20
|
+%-->
|
|
21
|
+
|
|
22
|
+The installation is very easy, you just need to solder a single wire according to their manual and it all worked out fine.
|
|
23
|
+
|
|
24
|
+I also found my old Game Boy printer, a small thermal printer that can be used with some games and, most importantly, the Game Boy camera.
|
|
25
|
+
|
|
26
|
+<!--%
|
|
27
|
+lightgallery([
|
|
28
|
+ [ "img/gb_mod_10.jpg", "My old GB Printer" ],
|
|
29
|
+])
|
|
30
|
+%-->
|
|
31
|
+
|
|
32
|
+I didn't have my old Game Boy camera, as I took it apart and used the sensor many years ago for my [robot](xyrobot.html).
|
|
33
|
+So I got a used one on eBay.
|
|
34
|
+
|
|
35
|
+<!--%
|
|
36
|
+lightgallery([
|
|
37
|
+ [ "img/gb_cam_1.png", "Cat pic of Ares (1)" ],
|
|
38
|
+ [ "img/gb_cam_2.png", "Cat pic of Ares (2)" ],
|
|
39
|
+ [ "img/gb_cam_6.png", "Cat pic of Ares (3)" ],
|
|
40
|
+])
|
|
41
|
+%-->
|
|
42
|
+
|
|
43
|
+Here are some photos I took for testing.
|
|
44
|
+
|
|
45
|
+<!--%
|
|
46
|
+lightgallery([
|
|
47
|
+ [ "img/gb_cam_7.png", "Cat pic of Ares (4)" ],
|
|
48
|
+ [ "img/gb_cam_3.png", "Ares and Aphrodite together" ],
|
|
49
|
+ [ "img/gb_cam_12.png", "GTA:SA screenshot" ],
|
|
50
|
+])
|
|
51
|
+%-->
|
|
52
|
+
|
|
53
|
+As you can tell, Ares has better contrast compared to Aphrodite 😄
|
|
54
|
+
|
|
55
|
+<!--%
|
|
56
|
+lightgallery([
|
|
57
|
+ [ "img/gb_cam_4.png", "Cat pic of Aphrodite (1)" ],
|
|
58
|
+ [ "img/gb_cam_5.png", "Cat pic of Aphrodite (2)" ],
|
|
59
|
+ [ "img/gb_cam_8.png", "Cat pic of Aphrodite (3)" ],
|
|
60
|
+])
|
|
61
|
+%-->
|
|
62
|
+
|
|
63
|
+And you really need to take the lighting situation into consideration.
|
|
64
|
+
|
|
65
|
+<!--%
|
|
66
|
+lightgallery([
|
|
67
|
+ [ "img/gb_cam_9.png", "Cat pic of Aphrodite (4)" ],
|
|
68
|
+ [ "img/gb_cam_10.png", "Cat pic of Aphrodite (5)" ],
|
|
69
|
+ [ "img/gb_cam_11.png", "Cat pic of Aphrodite (6)" ],
|
|
70
|
+])
|
|
71
|
+%-->
|
|
72
|
+
|
|
73
|
+To get the pictures off the cartridge I built an ESP8266-based WiFi printer emulator.
|
|
74
|
+I ordered these [PCBs](https://github.com/cristofercruz/gbp-esp-shield-pcb) and soldered them to a [LILYGO TTGO D1 mini](https://www.aliexpress.com/item/4000429611680.html) as mentioned in the README of the PCB repo.
|
|
75
|
+The OLED screen was still left over from my [E-Cig repair](2024_09_16_istick_pico_oled.html).
|
|
76
|
+The software running on there is the [wifi-gbp-emulator](https://github.com/HerrZatacke/wifi-gbp-emulator).
|
|
77
|
+
|
|
78
|
+<!--%
|
|
79
|
+lightgallery([
|
|
80
|
+ [ "img/gb_mod_1.jpg", "Using the WiFi GB Printer emulator" ],
|
|
81
|
+ [ "img/gb_mod_7.jpg", "Front of WiFi GB Printer emulator" ],
|
|
82
|
+ [ "img/gb_mod_6.jpg", "Back of WiFi GB Printer emulator" ],
|
|
83
|
+])
|
|
84
|
+%-->
|
|
85
|
+
|
|
86
|
+To get back to the original topic of creating sounds though, there are multiple options.
|
|
87
|
+The most popular one, as mentioned, is [LSDJ](https://www.littlesounddj.com/).
|
|
88
|
+This is basically a tracker or sequencer for the sound hardware in the Game Boy.
|
|
89
|
+Using external hardware, it can either sync on incoming MIDI signals or output MIDI notes for other devices.
|
|
90
|
+For the other way round, playing the Game Boy using incoming MIDI notes, the [mGB](https://github.com/trash80/mGB) synthesizer can be used.
|
|
91
|
+
|
|
92
|
+The hardware to interface with these is called [Arduinoboy](https://github.com/trash80/arduinoboy), but I used the [ProMicroGal](https://github.com/thikness/Arduinoboy-ProMicroGal) fork with an ATmega32u4 that can interface to MIDI devices via USB, so I left out the hardware MIDI interface.
|
|
93
|
+You can get (backwards-compatible) GBA link cable sockets from [AliExpress](https://www.aliexpress.com/item/1005006358075502.html).
|
|
94
|
+To easily be able to solder them, I ordered the GB-BRK-LINK-B PCBs from the [gb-hardware](https://github.com/Gekkio/gb-hardware) repo.
|
|
95
|
+I also was lazy and used [pio to build the firmware](https://github.com/xythobuz/Arduinoboy-ProMicroGal/commit/aa66eabc54f39b34d05347ec0711d3e2e204d3c8).
|
|
96
|
+
|
|
97
|
+<!--%
|
|
98
|
+lightgallery([
|
|
99
|
+ [ "img/gb_mod_5.jpg", "Front of ArduinoBoy" ],
|
|
100
|
+ [ "img/gb_mod_4.jpg", "Back of ArduinoBoy" ],
|
|
101
|
+])
|
|
102
|
+%-->
|
|
103
|
+
|
|
104
|
+To run LSDJ or mGB you can either use a [EEPROM cartridge](https://www.aliexpress.com/item/1005006294370333.html) and write the ROM to it with a [USB programmer](https://www.aliexpress.com/item/1005007652321830.html), or get an [Everdrive](https://krikzz.com/our-products/cartridges/edgbx7.html).
|
|
105
|
+Unfortunately they are really expensive, so I got a [chinese clone](https://www.aliexpress.com/item/1005007560023741.html) (that is unfortunately no longer available, but you may be able to [find others](https://www.aliexpress.com/w/wholesale-game-boy-cartridge-micro-sd.html)).
|
|
106
|
+It works fine with all games I tested and also both LSDJ and mGB.
|
|
107
|
+
|
|
108
|
+<!--%
|
|
109
|
+lightgallery([
|
|
110
|
+ [ "img/gb_mod_3.jpg", "Chinese Everdrive clone" ],
|
|
111
|
+ [ "img/gb_mod_2.jpg", "Screenshot of Everdrive-clone menu" ],
|
|
112
|
+])
|
|
113
|
+%-->
|
|
114
|
+
|
|
115
|
+And it's great fun, all [GB](https://archive.org/details/Cyles_Gameboy_roms) and [GBC](https://archive.org/details/CylesGameBoyColorRomPack) games ever released come in at less than 2GB combined 🕵️
|