From 561bac75579391c14e47eaccfabdf9eda98855da Mon Sep 17 00:00:00 2001 From: Thomas Albers Date: Wed, 27 Jul 2022 18:13:20 +0200 Subject: Initial commit --- src/z80/prototype1.org | 78 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100644 src/z80/prototype1.org (limited to 'src/z80/prototype1.org') diff --git a/src/z80/prototype1.org b/src/z80/prototype1.org new file mode 100644 index 0000000..23adec1 --- /dev/null +++ b/src/z80/prototype1.org @@ -0,0 +1,78 @@ +#+TITLE: Prototype 1 +#+DATE: <2019-03-03> +#+SETUPFILE: ../../options.org + +#+BEGIN_COMMENT +m4_define(`_REL_HEADER', `Previous: PLM +Next: Prototype 2Up: Z80')m4_dnl +#+END_COMMENT + +{{{date_place(Temuco, Chile)}}}@@html:
@@ Last edited: Bremen, +Germany, February 02, 2021 + +* Background + +Back in 2015 I used to watch gameplays of the just released [[https://en.wikipedia.org/wiki/Fallout_4][Fallout 4]]. +From this game the thing I loved the most was the pip-boy, so much so, +that I had the brilliant idea, /Why don't I build my own pip-boy? I +mean, How hard could it be?/. + +Unsurprisingly, it turned to be harder than expected. I only knew how +to program at an application level (I wasn't that good at it either) +and had basically no knowledge of electronics, assembly language, nor +did I even have the components at my disposal. + +* Beginning + +Some time after this idea, I got myself an atmel328p and a programmer. +I learned to instruct this AVR to draw text on a 16x4 lcd and could +get input from buttons. + +But I had some challenges. First, microcontrollers are usually based +on the Harvard architecture. This means that running programs from ram +was virtually impossible. + +Added to this was the fact that the AVR had only 2K of ram and no way +to add more. I avoided serial alternatives, because they are slower +and can't be used as normal RAM inside C code. + +These problems were ultimately fixed by switching to a Z80 +microprocessor. The Z80 could in fact handle more memory and run code +from its RAM, but with it came also the limitation of size. All memory +had to be external to the chip's package and the processor itself came +with no peripherals, as microcontrollers usually do. + +* First prototype + +Three years later, and with the help of many people, I finally +managed to get all the components and build my first working +prototype. It did not look beautiful, but it was functional. + +#+CAPTION: Prototype 1 together with its serial terminal +[[https://thomaslabs.org/media/prototype1.jpg]] + +I wasn't satisfied with this prototype though. It was not what I had +envisioned. I wanted to have a pocket computer and this was nothing +like that. It was huge and full of parts. + +* Partial conclusion + +Thanks to this project I learned a lot about electronics, programming, +circuit design and the inner workigs from a computer. + +Reinventing the wheel wouldn't have been the only way to acquire this +knowledge. But I would definitely recommend it to anyone wanting to +learn about the internals of computers. + +This being said, I can't deny that I still have a lot left to learn. + +* The end? +I wouldn't publish something on the Internet just to say I wasn't able +to accomplish my dream. Or would I? + +It turned out that the idea managed to stay alive long enough, to see +the day in which I decided to give it another try. This time, hoping +that the collected knowledge allows me to get further. + +This requires its own [[local:/z80/plm.html][series of articles]] though. -- cgit v1.2.3