From Digital Mockery to Physical Reality: The Genesis of Custom Computer Architectures
My journey into computer architecture began with humble beginnings – simple programs in Perl. This initial exploration quickly evolved as I started building a more visually-driven project in C, leveraging the SDL library for display.
Initially, the goal was playful: to create a convincing, albeit fictional, 1980s microcomputer. this led to the “fungal Growth,” a machine built around an emulated Texas Instruments TMS9918 Video Display Processor. The CPU? A custom design I affectionately dubbed “Fungus.”
the initial ROM was deliberately minimal.It contained only the code necessary to decompress a basic font, load it into the VDP’s video memory, activate the display, and proudly present a banner. The result was a charmingly retro aesthetic, as you can see in the screenshot.
Though, this project quickly hit a snag. The emulator relied on an outdated version of SDL and became unmaintainable, unable to even compile with modern toolchains. Despite this, the experience sparked a deeper fascination.
I had initially considered unveiling the Fungal Growth as an April Fools’ Day prank. The name and the TMS9918 were chosen intentionally, reflecting the ubiquitous graphics chip of the early 1980s. Ultimately, time constraints prevented this playful reveal.
But the core experience – designing a Turing-complete architecture from scratch – proved incredibly rewarding. it ignited a desire to move beyond emulation and build a physical machine.
This ambition led to plans for a significantly improved Fungus machine,incorporating features like a two-dimensional memory management unit and hardware contexts. Recognizing the growing complexity,I decided to first explore a simpler,more conventional 16-bit architecture as a proof of concept.
This feasibility study quickly took on a life of its own,blossoming into a dedicated project known as the CFT Project. It represents a significant step forward, building upon the lessons learned from the initial, whimsical creation of the fungal Growth.
Here’s a breakdown of the key stages of this evolution:
* Initial Exploration: Perl scripting and early C/SDL advancement.
* the Fungal Growth: Emulation of a fictional 1980s computer with a custom CPU.
* Design Challenges: Encountering limitations with outdated software dependencies.
* Architectural Expansion: Planning a more advanced physical fungus machine.
* The CFT Project: Development of a dedicated, streamlined 16-bit architecture.
This journey demonstrates how a playful experiment can evolve into a serious pursuit of computer architecture, driven by curiosity and a desire to push the boundaries of what’s possible. You can see how a simple idea can grow into a complex and rewarding project.
Worth a look