Posts

First Steps with Programmable Logic Let's say you need a five bit binary counter and do not happen to have one in store. What would you do? I did have a few Atmel/Microchip GALs which I never had a chance to put to good use up until now. The WinCUPL syntax for specifying a design is a bit odd and it takes some time to get used to when you are coming from a software background. But it can be done, perstistence beeing, as often, the mother of all virtues. I spent quite some time figuring out what the proper equations should be but I eventually found out. The ATF22V10C has registered outputs, which means they can be used for counting purposes or as shift registers. The magic incantations happen to be as follows: q4.d = q4 $ (q3 & q2 & q1 & q0); q3.d = q3 $ (q2 & q1 & q0); q2.d = q2 $ (q1 & q0); q1.d = q1 $ q0; q0.d = !q0; The beauty of the design is simply outstanding!
The Sum of Many Hopes Very few things in life are as rewarding as engineering can be. That is especially true from a hardware perspective. About three years ago, I bought a double Europe format prototyping board and, essentially, I had a whole world of potential creativity ahead of me. I restricted the field to a project that I had in mind for quite a long time (more than thirty years): put an actual 6809 processor to work. As often in life, your own personal evolution is guided by role models--people who inspire you to go above and beyond. Many of my former teachers are part of my personal history. Before I began my associate degree in EE I was already engaged in hardware experimentation. In other words, by reading amateur electronics publications, I already knew way more than I was supposed to when I entered the field as a student. That helped quite a bit with the academic curriculum. I remember this particular test in embedded software. I had spent countless hours in the lab develop...
Schematics 2.2 are finalized. I will add no new features to it. Compared to the 2.1 implementation, it will add: a jumper based USB/RS232 multiplexer. interrupt driven serial communications. Both HW and SW flow control will be supported. a simplified (and fixed) JK flip-flop based CPU clock generator with possible support for clock stretching via signals provided over an extension connector. a divide by three circuit in the ACIA clock generation path. Serial communications will be either at 38400 or 115200 bps. simplified CompactFlash connectivity over an inexpensive ATA/CF adapter. All I need to do now is to thoroughly verify the thing, come up with a realistic and detailed enough bill of material and send the outcome to Jean-Marc for an initial PCB batch. I am still missing components (IC sockets, resistor networks, straps, headers and capacitors) that will eventually be needed for the first PCB trials. Stay tuned!  
 To choose is to renounce this was the input I got very early on when I approached my hardware partner (Jean-Marc) about the possibility of building a kit on the basis of the Z79Forth prototype. The message is something one might hear in church but, in his mind, this took a particular meaning. It took me a while to realize the extent to which he was right, as a seasoned hardware designer himself. At some particular point in time, I decided that it did not have to be so and I could have serial communications either on USB or on RS232. I made this a reality by the end of last year by resorting to a jumper based multiplexer. This was rewarding by itself and I remain proud of the result as an integrator. The additional required hardware is minimal: a pair of 10 K resistors. five 1 muF capacitors (ceramic un-polarized). four dual-throw jumper based switches. one Max 232 integrated circuit. a ten pin Intel DTK compatible header. Jean-Marc's opinion remains valid nonetheless. He also sugg...
On Creativity License in the Engineering Field My position in this topic is that it is possible but is is a rarity. It might happen early during your career as a rookie. " Not knowing what one cannot do makes the impossible possible " and all that. Beyond your first steps as a designer you will have to build on other engineers' accomplishments. Isaac Newton once famously claimed he " was standing on the shoulders of giants. " https://fs.blog/2020/04/shoulders-of-giants/ is quite interesting to that respect. And then you have Pablo Picasso saying that " great artists steal. " He was relayed by Steve Jobs who liked to think of himself as an artist but was IMHO, to the core, a very shrewd businessman with a particular appreciation for esthetics. https://www.creativethinkinghub.com/creative-thinking-and-stealing-like-an-artist/ In engineering terms you cannot steal anything. All you can do is compose (integrate design elements) based on publicly available ...
So when you consider yourself a designer, from a hardware perspective especially, you will have to make decisions that are not directly driven by your project's goals but rather by some production costs constraints. This is the voice of reason and it is what your boss wants to hear, obviously.   Z79Forth is not a professional product development effort in any modern way. It is a neo-retro endeavor. What this means is that I stayed away from contemporary packaging technology--namely SMT, which I think is not to be considered in scope for the amateur market. Deliberate choices were made at various points in time during the hardware development phase of the project. I think a few of them are worth elaborating on: use of through-hole only TI's HCT technology. This will get you TTL level compatible inputs, CMOS level compatible outputs and low power consumption, the whole thing under adequate switching times for old times' clock frequencies. use of CXO integrated oscillators. Th...
I should have started with the publicly available output of the project in the first place. It is reachable at https://github.com/frenchie68/Z79Forth. It remains a work in progress, of which I am not completely proud of. For now,  the 2.1 schematics feature a blatant bug in the the CPU clock generation path. This is extremely embarrassing to me. Yet I am working on the 2.2 generation of the electronics design.  A number if issues will eventually be fixed in that new release but that is not what I want to talk about right now. In my opinion, hardware design should evolve from basic functionalities and the system itself will eventually grow to become the concept you had in mind to begin with. This is the typical bottom-up approach which the Forth language also encourages. In Forth, you tend to think of a project as a problem to be solved and you will deal with it by thinking about it in terms of high level functions that needs to be broken down into increasingly smaller, more ma...