-
Taking a break
05/24/2022 at 06:12 • 0 commentsI got stuck in trying to debug what went wrong in the Fuzix boot.
To combat that frustration I've been working on learning Kicad 6 properly, while also trying to design a PZ1 PCB around the Raspberry Pi Pico instead of the Teensy.
The Pico is really cheap and readily available but has too few gpio pins, so I use five 74-chips to expand the usage of the available pins. This should work well but requires more cycles on the Pico.
Kicad 6 is really nice to work with, though the bus/wire concept in the schematic capture could really be more streamlined and documented better. I also got Freerouter running, so the resulting PCB is a 75x100mm 4-layer card. Compared to the commercial package I used before 2000, this is a very powerful, quick and easy tool to use!
I'll do a few more inspections spread out over a few days before I feel ready to order a PCB.
This revision of PZ1 has a proper 65C02 CPU and 512KiB SRAM with the Pico acting as glue logic and 6502-I/O. The 74-chips are gpio-expanders to the Pico.
-
Fuzix lives!
03/01/2022 at 10:55 • 1 commentLong time since last update, life got in the way.
Now I am back coding again, and I got some life-signs from my port of Fuzix:FUZIX version 0.4pre1 Copyright (c) 1988-2002 by H.F.Bower, D.Braun, S.Nitschke, H.Peraza Copyright (c) 1997-2001 by Arcady Schekochikhin, Adriano C. R. da Cunha Copyright (c) 2013-2015 Will Sowerbutts Copyright (c) 2014-2021 Alan Cox Devboot 512kB total RAM, 448kB available to processes (15 processes max) Enabling interrupts ...
It hangs at this point, but I have something to work on!
-
OS-work
08/22/2021 at 05:43 • 1 commentI've started porting Fuzix to PZ1, which is very exciting. Much of my own scheduler ideas can be used in some fashion in the Fuzix kernel, but first I need to get it running.
-
A simplification!
08/11/2021 at 05:32 • 0 commentsI happened to read the sticker under the keyboard I'm using and it actually specs the supply voltage to 3.3-5V. This means I can get rid of the level converter.
Fewer components, YAY!
-
Big mess of wires
08/11/2021 at 05:27 • 0 commentsThis is what it looks like right now. The left-most chip on the right board is the ATF22LV10C SPLD, next to the memory. The left board is a Raspberry pi Pico that together with 4 74LVC244 buffers form a 32-bit input bank. The Pico has only 26 usable GPIO, which is not really enough for what I need. Maybe more on that in the future.
The Pico runs a very simple program that reads CLK/RW/address/data from the 65C02 and the outputs from the SPLD so I can see what goes on as I single-step the clock from the Teensy. It is very useful to have a static CPU like the 65C02 that CAN actually work at human-readable speeds!
-
SPLD fault finding
08/10/2021 at 05:38 • 0 commentsIt took far too much time to track down the problem with programming the ATF22LV10C SPLDs.
I started out with the afterburner programmer trying to get the ATF750LVC to program, but failed. The chips are seemingly not compatible enough with ATF750C.
After getting the smaller ATF22LV10C I tried using them instead. The software claimed programming and verifying worked but the chips did NOT work properly in my testbench. I spent a lot of time searching for what was wrong. In the end I succeeded when recompiling all the code for the programmer from the main branch, that lacks support for ATF750C. Oh well, it sometimes takes a long time to travel small distances.
I am very happy to finally being able to program SPLDs, it makes the project so much easier to do properly.
-
SPLD woes
08/02/2021 at 12:19 • 0 commentsI've built an atfblaster/afterburner that can now program my ATF22V10 chips. WinCUPL is not the most expressive software when trying to understand what is wrong in the source, but it works under wine/linux.
My main problem now is that I created a test setup with a Pico and the 22V10 to test the function, but I can't seem to get anything to work. More debugging and trial/error to go.
-
Working on a PCB
06/14/2021 at 14:36 • 0 commentsI've worked on the extended HW version with Teensy, W65C02, memory and bank registers. Updated the schematic and did a 2-layer PCB layout. The auto-router didn't want to play so it was all done by hand. Lots of changes to pinning on the Teensy, bank-registers and memory to ease the routing. It was not possible to route by hand otherwise.
Now I'll wait a few days and then do a proper audit before I commit to an order from some Chinese PCB-manufacturer.
The new pinning means more CPU-cycles spent on the Teensy, but that is not a big problem. The major delays are because of the 74HC bank registers which are sooo slow! A CPLD would have been MUCH faster, AND easier to implement. Unfortunately my old programmer does not want to play...
-
Stability
06/06/2021 at 09:15 • 0 commentsExperimenting on a bread-board is very quick and works well. It is not very stable though, cables come loose too easily. I decided to build a stable HW-platform for my SW-development so I brought out the soldering iron.
The result is compact and stable, but I really don't like to mess with all the wire-cutting and soldering. Next version of the build, with external SRAM and bank registers, will be built on a professionally manufactured PCB.
Missing from this build is the connector to the screen, which will be a (small) build for another day.
-
More cycles counted?
06/03/2021 at 12:46 • 0 commentsNo, not really. But I have worked more on the documentation and converted it to a plain text document, 78 characters wide in true retro fashion. Will print very nicely :D