codebite _

Previous part. If you missed the introductory post, head here: Part 0.

Welcome back to our little endeavour to build a CPU. Last time we finished our adder/subtractor, and it's all fun and cool, but we'd like our CPU to do more than add and subtract. Today we will finish the ALU so we can finally move on to the overall architecture of the CPU.

Let's wrap the arithmetic part of the ALU first. How about multiplication and division? Well, as it turns out it's a bit more convoluted to create multipliers and dividers. And I was thinking for a long time if I even want to cover them. Here's the deal, we can totally emulate multiplication and division with addition and subtraction. Since we're trying to create a simple CPU, not necessarily fast and efficient I think we can leave both multiplication and division to software, not hardware. In fact that's what early CPUs like Intel 4004 did. They didn't have dedicated circuitry for multiplication or division, instead you would have a programmer write code to add in a loop to multiply. This approach is slower, but takes less space ...

Continue reading...


Hibernaculum is a video game me and my friend Quaternius made for Ludum Dare game jam #38.

It's a simple game where to progress to next level you need to collect all the puzzle pieces and solve a riddle. The player can move only left or right, and is stuck in a snow globe. Thankfully the player also controls the rotation of the world, so one can position the world as best suited for the player character.

Now if you don't know what Ludum Dare is, in short it's a game development competition where you have to create a game, based on theme announced at the very beginning, in 48 or 72 hours (depending on rule set). More at:

But, how did the development go? Well, today I am going to answer that question from my perspective.

The bad stuff


As always, nothing can go 100% smoothly. Some bad stuff happened, and we should learn from it.

Character controller

I rewrote the character controller 3 times during the the whole jam. The last one I didn't even use and reverted back to 2nd version. So why?

The 1st version's problem was ground ...

Continue reading...

Page 2 of 8 | Top