Blender for the Gameboy Advance (not really) ============================================ I saw a funny video on youtube the other day, of a 3D artist who composited blender onto the screen of a GBA, jokingly pretending that he ported blender to the Gameboy Advance. Porting blender to the GBA is of course impossible, but what he actually showed, a mockup of the blender UI with a 3D cube being manipulated is in fact well within the capabilities of the GBA. So I thought it would be fun to actually hack his "demo" for real. Here is the video which kicked this hack off: - https://www.youtube.com/watch?v=BSzM1BvSKUY The only part which I was unable to reproduce was the cube popping out of the screen. That's slightly beyond what the GBA can do, but it could be implemented in a subsequent port to the Nintendo 3DS. Instead of that, I've added a second 3D model, the iconic blender monkey, suzanne. No blender port would be complete without it. Controls -------- The controls mimic the control scheme of the fake GBA blender demo as shown in the original video. - D-pad: orbit or pan the viewport, depending on the current mode - Start: switch viewport mode between orbit or panning - Select: switch model (cube or suzanne) - A: pop up "delete object" dialog, or bring back object if previously deleted - B: confirm object deletion if the "delete dialog" is currently visible - left/right trigger: pan view left/right even in orbit mode License ------- Copyright (C) 2021 John Tsiombikas Blender for the Gameboy Advance is free software. Feel free to use, modify and/or redistribute it under the terms of the GNU General Public License version 3, or at your option any later version published by the Free Software Foundation. See COPYING for details. Download -------- The current release (v1.0) includes full source code, and pre-compiled GBA ROM image, and it's available either as a gzipped tarball or a zip archive. Their contents are identical, choose whichever is more convenient for you. - http://nuclear.mutantstargoat.com/sw/blender_gba-1.0.tar.gz - http://nuclear.mutantstargoat.com/sw/blender_gba-1.0.zip Build ----- To build this program from source you will need the devkitarm GBA toolchain from: https://devkitpro.org No devkitpro libraries are used other than the GCC C runtime support libraries and 1-2 functions from libc. So it should be possible to build with any freestanding ARM toolchain (target `arm-none-eabi`) without much effort. Additionally the `pngdump` tool, which is built as part of the build process, depends on *libpng* and *zlib*.