How Nyan Cat Was Ported To UEFI

The Unified Extensible Firmware Interface (UEFI) took over from the classical BIOS some years into the new millenium. It’s typically used for running a computer at the basic pre-OS level, and most of us don’t even notice it past boot time. However, you can do some neat things in this space—you can even port over Nyan Cat if you’re talented like [Cornelius].

That’s fun. Set your friend’s computer to boot into this instead of their OS by default and see how long it takes them to figure it out.

Yes, Nyan Cat is now available as a UEFI application, running via the EFI Simple Text Output Protocol. [Cornelius] approached this creation by first learning Rust, before progressing to the Hello World stage. Before long, the computer was booting up to display a simple text message with no OS required.

From there, creating the Nyan Cat animation required figuring out how to display it as a bunch of dancing characters, which is where the Simple Text Output Protocol came in. Nyan Cat was really the perfect animation for the UEFI environment, since its simple pixel art style was easily recreated with text. With a bit of work, the animation came together, with a remarkable resemblance to the original artwork.

All that’s missing is a routine to play the music over a PC speaker; only, those are hardly a thing anymore. A pity! In any case, if you’ve been cooking up your own nifty UEFI hacks, don’t hesitate to drop us a line!

6 thoughts on “How Nyan Cat Was Ported To UEFI

  1. I consider UEFI a major security threat. My rig uses Gigabyte EP45-DS3L mobo and C2D E8400 CPU. It’s still more than enough to run web browser, gcc, CLISP (LISP intrerpreter for Windows), Red Faction Guerilla and Gothic 2. TrueCrypt also works like a charm on this setup and provides deniable security in case I ever get raided by ministry of internal security (ABW) or police.

  2. Very nice technical achievement but a failure on the image processing side. The original image has 21 “pixels” in height, stretching it to 24 lines was a terrible idea and it completely breaks the pixelated style of the image. Just needed to fill the extra lines with the background color and it would be perfect.

  3. Interesting timing. I was playing with the POSIX-UEFI project (https://gitlab.com/bztsrc/posix-uefi ) over the weekend just to see what sort of toys I can make for it.
    I think a Zork/z-machine would be a good fit for what’s supported in the libc in POSIX-UEFI or the capabilities of UEFI in general. Maybe not as exciting as Nyan Cat. But a working C environment is more my speed than learning Rust. Another idea is a stripped down version of Rogue, but getting an old build system to target something it was never intended to support can be a wild goose chase sometimes.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.