It’s been over a year since the first release of BlocksDS , and over half year since this blog post , which was written after version 0.8.1 was released. The current version is 1.1.0, which means it’s time to write a new post with the current state of BlocksDS! First of all, check this up-to-date introduction if you have never heard of BlocksDS. Feel free to skip it if you are already…
The Nintendo DS has a GPU with a 3D engine that supports a surprising amount of features. Normally it can only be used to display 3D graphics on one screen, but it is possible to display 3D on both screens by using a special video capture circuit. This technique isn’t straightforward. The video hardware of the NDS is very flexible, and there are several ways to achieve 3D graphics on both…
A few months ago I created BlocksDS , a new SDK for Nintendo DS. It uses libnds, DS WiFI and Maxmod, so it is compatible with projects that use devkitARM. The toolchain it uses comes from Wonderful Toolchain by asie . Its main objective is to remain as compatible as possible with old projects that use devkitARM, while adding new features that have been needed for a long time, but that would have…
A few months ago (before the lockdown started) I was shopping at the Cambridge city center, I popped by the Raspberry Pi Store and I saw something called Mood Light - Pi Zero W Project Kit . This is basically a kit that contains: Raspberry Pi Zero W : Pretty nice, as it has integrated WiFI. Unicorn HAT : 32x4 RGB LED matrix with a pretty simple Python library to control it. A plastic case to put…
RGBDS is a toolchain to develop in assembly for the Game Boy. It is used by many projects nowadays, and I’m not talking about small ones: Disassemblies of games released during the lifetime of the GB: https://github.com/pret/pokered https://github.com/pret/pokecrystal https://github.com/pret/pokepinball Completely new projects: https://github.com/ISSOtm/Aevilia-GB Of course, it’s the…
This is a small project I worked on before Christmas. The Trusted Firmware-A is a reference implementation of a secure firmware for ARMv8-A CPUs. It has ports to both AArch64 (64-bit Arm Instruction Set Architecture) and AArch32 (32-bit Arm ISA). AArch32 is almost the same as ARMv7-A, for backwards compatibility. The SoC of the Raspberry Pi 3 is the Broadcom BCM2937, which has 4 Cortex-A53 cores.…
Hello again! It’s a bit late to publish this, but hey, it only comes 7 months late! I had no website to upload this to, anyway… In any case, here it is, µCity , the open-source city-building game for Game Boy Color! It can also be spelled ‘uCity’, but it’s pronounced ‘micro-city’. This game is completely free, licensed under the GPLv3+. Just download the…
Hello! After almost a year of having my website down, I decided it was time to do something about it! This is my attempt at creating a new website. I’m using Pelican . Let’s see how code looks like, for example… 1 2 3 4 5 6 7 8 #include <stdio.h> int main ( int argc , char * argv []) { /* Print string */ printf ( "Hello, world! \n " ); return 0 ; } It will take some time to…
Hello! This is my entry for the GBdev Game Boy Coding Compo 2015 ! Sadly, only one more game entered the compo . But anyway, here it is! Video: https://www.youtube.com/watch?v=qAvW2n8Qbeg Source, binary and more information: https://codeberg.org/SkyLyrac/geometrix Screenshots: Update (2026-01-14) Updated links from GitHub to Codeberg.
Hello again! This time I’m writing to show you my newest electronic creation: a “videogame console” made with a PIC18F2550 as its brain. It has a 8x16 LED matrix as main display and 4 seven segment displays to show the player score, for example. It has 8 buttons (4 in a pad, the rest like a Game Boy or similar). The PIC doesn’t have enough pins to control everything easily,…
Well, after a few weeks not doing almost anything I’ve decided to post the last useless device I’ve made. It’s a simple electronic dice using a decade counter and some inverters (used for logic and as oscillator). I decided not to use a microcontroller because it felt like it was cheating for a circuit this simple… There’s not much to say: pressing the button will…
Over the last months I’ve seen a few tutorials about GB programming that use my GBT Player for music. I have to say a few things about that. First: Thanks a lot for using my library! The fact that you like it enough to use it in your projects is what keeps it alive. Version 2 only happened because I was asked to add a few things to previous versions. Second: You are using it wrong! Ok,…
Over the last few weeks I’ve been doing some reverse engineering on the GB Camera and I think I’ve documented it good enough for most things. I’ve reversed the cartridge controller registers and measured the capture timings. The only thing that I can’t understand is the level/gain control of the sensor (its datasheet is really bad) but it shouldn’t matter for an…
Well, after a few weeks of coding at last I have a release of this game. :) This is just a 3D pong, inspired by my old Pong 3DS for Nintendo DS . This was a test to see if I could manage to setup a correct perspective for stereoscopic 3D, but I decided to make a simple game out of it. I haven’t used hardware accelerated graphics because I couldn’t manage to compile any shader assembler…
Ok, this has nothing to do with this other game . This is just a stupid stereoscopic 3D software rendering test. Oh, the 3D slider actually does something when you change its position. No screenshot because it’s just a bunch of wireframe boxes IN THREE DIMENSIONS. Maybe next time. Link: https://codeberg.org/SkyLyrac/pong-3ds Update (2015-01-25) : Well, I’ve updated it a bit. Filled…
Hello again! This time I’m here to show you my first GBC demo! Made specially for the 2014 GBDev Game Boy Coding Compo . In fact, I started it like four years ago, but stopped after doing 3 scenes (the first effect, the text scroller at the end of the first song and the colorful horizontal bars before the matrix effect). I’ve coded the rest in just a few weeks, in fact I started doing…
Hello! A few days ago I discovered this game, I tried it, and got disappointed because it has a painfully low framerate video … So I opened it with BGB and decided to fix it! :) I’ve changed the initial jump to an empty area just before the ROM header. I just switch to CPU double speed mode, wait for VBL, load greyscale palettes for BGs and sprites and jump to real start point. Of…
Hello again! This is just a bugfix release. I’ve modified the samples included in the mod file in order to avoid transposing notes when converting it with mod2gbt. This means that you can use all notes from C3 to B8. You can find source, binaries and examples (RGBDS and GBDK) for version 1.2 here: https://codeberg.org/SkyLyrac/gbt-player/releases/tag/v1.2 And any other improvements, here:…
Hello! I know dwedit did something like this a few years ago, but I never managed to compile its code and make it run (even though the precompiled binary worked fine). Anyway, the code was incomprehensible: http://www.dwedit.org/dwedit_board/viewtopic.php?id=339 This morning I’ve read that the GBA bios still had the piece of code that switches the GBA into GBC mode, like Nintendo planned to…
Hello! After a few years, at last I continue with this emulator. :P I’ve been coding for a few weeks and at last I have a release. The main change is that it now uses SDL2 for the GUI, not WinAPI. It can compile under Windows or Linux with the included Code::Blocks project file (I want to add a Makefile later). You can check the source code here: https://codeberg.org/SkyLyrac/giibiiadvance…
Hello! I’ve been messing around with electronics lately (after all, that’s what I’m studying :P), and this is the result! A 32x8 LED Matrix controlled by a PIC18F2550. You can click in the pictures for full size! At the end of the post there is a video of the screen running. It can show any image you want, and the microcontroller can hold more than 900 of them! You can set…
Well, I should have put this here a few months ago, but I’ve been lazy to do so. Anyway, here is Root Locus 0.3. It now supports discrete systems, and it lets you set a value for ‘k’ (the one of the regulator) manually. You can also ask it for the position of the poles in the current position. Everything is in the manual. Link to hpcalc: http://www.hpcalc.org/details.php?id=7354…
Hello! This is a program I’ve been coding for university. It is a library for the HP50g. This program draws the root locus of a given transfer function and lets you add a regulator, as well as change the proportional value of the regulator and see the new position for the poles of the system for that value. I’ve sent it to www.hpcalc.org , too. There are a lot of great programs there.…
Well… I just looked at the code this morning and saw that the code looked horrible… So I just reorganised it a bit (included the code of examples), added a few “static” keywords and fixed a few warnings related to new versions of libnds and devkitARM. Nothing else, though. Everything worked fine, so I didn’t have to do anything else… Link to web with the…
Special Scenery Beta 2011 edition. This is what I’ve been working on since last summer, and I think it is a quite good program right now. It is just another GBA emulator, just like VisualBoyAdvance , and it emulates the same: GB, GBC, SGB and GBA. I’ve used the GB, GBC and SGB emulation code from GiiBii, so GiiBiiAdvance has the same compatibility (a bit more, I’ve changed a bit…
Special Scenery Beta 2010 version! The most important change is that it now uses OpenGL instead of drawing directly to the framebuffer, which makes it work a bit faster. I’ve also allowed to use 3x zoom because the screen size is no longer a problem. Changes : Dissasembler fixes. Debugger screen now gets focus when reaching a breakpoint. Changed to OpenGL, allowed 3x zoom. Fullscreen mode is…
Hello! Since GiiBii works really well for what I expected, I wanted to do a GBA emulator. I’ve been working on it since July, and after 2 months of work, here are some results: “Kirby - Nightmare in Dream Land” and “Need For Speed - Underground 2”. Obviously, there is still a lot to do, most games are unplayable (in fact, NFS runs very slowly, there is a problem with…
New version! This time, GiiBii comes with an interesting new feature… It can emulate the GB Camera with camera features! I’ll explain more about this later, before that: Changes : New mappers supported: MMM01 (Taito Variety Pack works, Momotarou Collection 2 doesn’t…), MBC7 (controls need some improvements…). You can set the screen size to 1x or 2x now. You can…
Hello again! This time I’m going to show you a music player… for Game Boy. :P It’s very easy to use, and easy to compose music for it. I’ve included source code (100% asm) and templates for RGBDS and GBDK . You have to compose the music in a tracker in the PC using a custom mod file included in the download. Available effects and other instructions to modify it are in a…
Well… This is what happens when I’m bored and I feel a bit guilty because I haven’t practised anything with pascal (they make us code with Turbo Pascal in university)… I don’t know exactly why I’ve put v0.1 as there won’t probably be more updates… :P Anyway, download links here, source + win32 binary: Download And a screenshot…
Well, it took me some days more to finish this because of some (sound related) bugs I couldn’t fix, but here it is! GiiBii v0.1, first version of GiiBii for PC. I hope you like it. I think this is the first “official” release of an emulator that supports the GBC boot ROM (not included in the downloads). :) Features : Supports MBC1, MBC2, MBC3 (RTC emulated), MBC5, HuC-1. Sound…
Well, this is the first “real” post. :P I’ve been working on a port of GiiBii (my Game Boy emulator) to PC for about 3 weeks. It has been a bit difficult, as I used libraries that are only available in Wii (libogc, asndlib…), and I wanted to make the port using only cross-platform libraries (as I want to make Linux binaries). The first thing I have to decide was the…
Hello everybody! This is my new blog. I think it’s time to create one, so that I can say when update one of my projects, or just I’ve done something I consider interesting to say. :) I’m not quite good at writing, and my English isn’t great, either, so you can expect a lot of mistakes in my writing. Just let me know where I made any mistake and I’ll correct it. By the…
I’m Antonio Niño Díaz , and this is a short story of my hacking life. I’m Spanish, born in a city near Madrid. I studied Industrial Engineering in Madrid, and specialized in Electronics and Control. After getting my degree I got a job at Arm in Cambridge, UK, where I’ve lived since January 2016. Most of what I know about programming is self-taught. I started trying a few simple…