The 20c is a learninfg platform consiting on hardware, articles and videos created to learn about computer architecture.
The articles
In the articles there we will find the theoretical framework for the architecture in general and each of its components, here we will see things such as what each pin of the ICs are used for (the pinout), what is the internal architecture of the registers they have and what functions each one performs.
The videos
In the videos we develop the experiments for each part of the computer. For example, we can use two different CPU models, connect them to a protocol analyzer, add some LEDs or other devices and show how to read from the RAM and ROM step by step, electrically comparing what happens in the hardware simultaneously with what happens in the program we have created.
The Hardware
If I want to see how a Commodore 64 works, I have specific modules that reflect its components, such as a 6510 CPU or a CIA 6526 I/O device. To test an Atari 2600, we have 6507, RIOT and TIA CPU modules.
- ROM
- RAM
- Address and Data BUS
- GLUE LOGIC
- I/O (PIA, VIA, CIA)
- CLOCK
- CONNECTOR for connecting modules
- ARDUINO CONNECTOR to connect and Arduino and use it as a protocol analyzer
Having different modules allows me to make the combination that I require in my experiment, always being sure that I can connect the chip the right way respecting the expected pinout every time using the right socket.
Each module has a single function to easily explain the operation of the computer, you can clearly distinguish between the CPU, RAM, ROM, the data and address buses that connect the equipment and the input and output interfaces.
Each part of the module is clearly labeled by indicating the name of each pin and connector and having the connections between the different components of the same module clearly identified through the PCB traces.
We use headers that accept dupont type jumper wires that you do not need to strip or cut ad they come ready made in different lenghts. If you do not want to use so many cables we have a special module called CONNECTOR that connect to modules address and data buses.
Why Open Source
I owe much of what I learned about the 6502, the Commodore and computing in general to the Public University (hello UTN!!) and to thousands of hours of video and millions of words from people who wrote articles on their blogs, forums, The Internet Archive, and Social media groups on Facebook, Twitter and WhatsApp. All these people disinterestedly, or rather interested more than anything in disseminating knowledge, shared their hours of research with me and the world.
To add to these efforts, 20c is Open Source, with each episode while we talk about a module, its IC and the experiments we can carry, we will also talk about its circuit, how the PCB was created with diagrams included and how it is sent to manufacture. The Gerber files to create the board will be available on the OsoLabs.tech github after each episode (https://github.com/osolabstech/The20c/).
To Learn the right way
Since I started desinging and using The 20c, I am able to better express my love for computerts and it inner workings, basing everything on first principles and developing the experiments from there.
I invite you to join me in the voyage of fun learning, reading the articles, seeing the videos and building your own 20c
osolabs