Building Machines In Code – Part 6

This entry is part 6 of 9 in the series Building Machines in Code

Last issue we built a simple assembler for our TIny-P processor emulator. In this installment, we will build a loader. But what is a loader? Loaders are small programs that load other programs into system memory and prepare them for execution. Most loaders are part of an Operating System however, in the embedded world, there

Building Machines In Code – Part 5

This entry is part 5 of 9 in the series Building Machines in Code

Tooling Hardware and software developers are tool makers by trade. Just like a machinist, software developers often need to develop their own tools for the job at hand. Sometimes these tools are simple scripts to automate a boring, or complicated task, or perhaps, a tool to fill a yet unfilled niche. Whatever the reason, tool

Building Machines In Code – Part 4

This entry is part 4 of 9 in the series Building Machines in Code

Programming the Tiny-P Programmers are often confused by the terms machine language and assembly language. Many developers consider these two terms interchangeable. But in fact, they mean very different things. If you go back to the Tiny-P Opcode table presented in part-3 of this series, you can see how the various machine code values are

Building Machines In Code – Part 3

This entry is part 3 of 9 in the series Building Machines in Code

Creating the Tiny-P CPU In this post, we will finally write some code. I promise! We’ll be using Python here as one of the most popular languages these days according to the Tiobe index, narrowly beating out C. So, in the interest of reaching as many people as possible I settled on Python for this

Building Machines In Code

This entry is part 1 of 9 in the series Building Machines in Code

Regarding the difference between simulation and emulation:
Not limited to computers I use this distinction:
– A simulation mimics the outward appearance
– An emulation mimics the cause/process.

If you want to convince people that watching television gives you
stomach-aches, you can simulate this by holding your chest/abdomen and

Stepping Back in Time

Many of us have retired and are looking for something to do. Others have found themselves stuck at home and socializing much less due to the Covid outbreak. This has caused many of us to dig out our old dusty computer systems and begin re-living the magical adventures we had when the web was still the future, BBSs were the rage, real programmers used assembly, BASIC was for everyone, and nerds knew every detail of the hardware they used!

Extensible Dart Classes with Extension Methods

I was recently tasked with creating a general-purpose unit conversion class. The class needed to be easily extensible so new conversions could be easily added at any time. It also needed to throw an exception when an unsupported conversion was attempted. Furthermore, I was told that the conversion method needed to take in two string

Introduction to Algorithms with Dart

Once a novice developer learns the basic syntax of their programming language, and begins writing anything more than simple hello-world type apps, they start to encounter problems. At first, these problems seem daunting. To find answers, they usually start hitting the various software development forums and social sites where their kindred spirits tend to congregate