NLP Lecture 1

Read more »

OPL2


Oct 3, 2020

I’ve been working on OPL2 code for a while now. I’ve started to understand at a level beyond what I could a few years ago. This is progress. What does it mean? Let’s discuss problem-solving in the context of OPL2 in 2020. I want to write a piece of software for the Intel X86 architecture. I want it to be below the kernel of the computer meaning that there is no operating system, no bootloader and if you’re really wild, only a single function needed from the BIOS. I wrote all this and there are bugs, but instead of focusing on those bugs, we’re instead going to look at just OPL2.

Audacity view of Qemu bug waveform
Qemu bug

If I were to get this code working on a host machine, our process of problem-solving would actually be a lot easier. Write more code and fix anything that comes up. Because testing on a host is one step more difficult than testing on a VM, I decided that most people would choose to use a VM instead of running my game on their host or a random piece of ancient hardware they have in storage. It is true of me, but I have an excuse. There is a debugger for my VM, Qemu but there is not one in my game’s kernel. That comes in mighty handy when things go wrong.

Read more »

Ext2


June 9, 2020

This blog post will be a bit weird but I'm trying to find my voice besides the IRC world and the inner world that I've been navigating for more than 20 years. I don't think it's going to be easy, so think of this more as a reference than a blog post. In other words, don't read this blog post unless you're on a path like mine where your stuff has become a deep rabbit hole. Today's rabbit hole, as well as monday and sunday's rabbit hole has been EXT2.

Backstory: I'm writing a kernel and I need a filesystem. A simple one would make my life easier but would then make everyone else's life harder. Do I want to do that when I'm writing a game that is intended to teach people how to write hundreds, even thousands of kernels? Do we want everyone in this tree of learning to be harmed because I wanted to play my game sooner? Maybe. Maybe.

Read more »

SM5 Assembler

SM5 assembler [sig]
git clone https://www.altsci.com/repo/sm5asm.git

I present the SM5 assembler. Derived from the SM5 emulator, it works well in creating new programs for the SM5 architecture. It was necessary as part of a challenge called Game Copy Protection ROM in OpenCTF 2019. It also contains a small patch to sm5emu that improves the stability and benefits the user.

Why would someone want an assembler for an architecture that is not commercially available? If an FPGA version of this architecture were created, an assembler would be handy. But until such a time, I used the assembler to create a challenge which tested the ability for users to adapt to new architectures, SM5 being an architecture that only a handful of people in the world have experience with.

Read more »

« previous next »