Terra and Lua - UEFI

Posted on Wed 28 May 2025 in programming • Tagged with lua, terra, c, lowlevel, uefi • 6 min read

2015: Moon crosses Earth (EPIC/DSCOVR)

2015: Moon crosses Earth (EPIC/DSCOVR) Image Credit: NASA/NOAA

Now in part 2 we will see how we can generate code and link it to GNU-EFI so it can run on the EFI environment, but first.

I asked ChatGPT... I'm kidding, I'm kidding. I'll copy more or less the wording on Wikipedia rather. UEFI (Unified Extensible Firmware Interface) is a specification for the firmware of computer systems that supports booting from a hardware-based EFI (Extensible Firmware Interface) environment, and it's used by both UEFI 1.0 & later versions as well with some older BIOSes like …


Continue reading

How to (not) Install C on the AOS on a Nova MV

Posted on Mon 26 May 2025 in programming • Tagged with data general, nova, bcpl, alto • 4 min read

a Nova rack in the center with a terminal on the top, PDP-11/35 control panel to the left on top of some other smaller rack a Data General branded teletype terminal in betwen the two and an old large ociloscope behine. On the right a table with a glass terminal with the Data General colors.

I have this idea of restoring the Mesa/Cedar compiler but discipline and skill are lacking. I have documented the progress I made from a archive that was released by the Computer History Museum while ago in https://github.com/xspager/Cedar_tools.

So I was the other day watching the a Data General Nova being restored (Usagi Electric playlist, Tech Tangents playlist) and wondered if I could get myself familiar with the software on that platform and see if that helps with recreating the kind of …


Continue reading

Terra and Lua

Posted on Thu 27 March 2025 in programming • Tagged with lua, terra, c, lowlevel, uefi • 3 min read

Picture from Pixabay : https://www.pexels.com/photo/blue-and-white-planet-display-87009/

Famous Apollo 8 image titled Earthrise

Let's write some code that uses the services provided by the (U)EFI (modern BIOS) environment and we gonna use Terra, as is says in their website, a counterpart to Lua. I'll assume that you know some C for Part 1.

"Terra is a low-level system programming language that is embedded in and meta-programmed by the Lua programming language". This means you can write some typed code that looks like Lua, embed some Lua code, and compile the whole thing to machine code.

To install Terra you should have a …


Continue reading