This is the project log of the CFT project, updated as the project is being worked on. The changes aren't always published immediately, though. It's a bit dry, but it's probably your best bet for progress information!

There are 612 entries on the project log.

June 2019

2019-06-09

Second release candidate for Microcode Version 7, including support for Memory Bank Registers and full hardware stack. Design Microcode Software

2019-06-07

Memory Bank Register file verifies in Verilog. Design Hardware Sim Testing

Memory Bank Registers schematics complete. Design Hardware

2019-06-06

24-bit Address Register verifies in Verilog. Working on Memory Bank Registers. Design Hardware Sim Testing

2019-06-01

Working on Verilog descriptions of new hardware. Design Hardware Sim Testing

May 2019

2019-05-31

New serial shifter now working. Design Hardware Sim Testing

2019-05-27

New backplanes (datecode 1922) ordered. Orders

New backplanes (datecode 1922) ordered. Orders

2019-05-14

First release candidate for Microcode Version 7. Design Microcode Software

2019-05-13

Working on Version 7 microcode.Major microcode rewrites for version 7. Design Microcode Software

2019-05-12

Working on Version 7 microcode.Major microcode rewrites for version 7. Design Microcode Software

2019-05-11

Working on Version 7 microcode.Major microcode rewrites for version 7. Design Microcode Software

2019-05-10

Working on Version 7 microcode.Major microcode rewrites for version 7. Design Microcode Software

2019-05-04

Working on front panel module board. Design Hardware

Giving the subversion repository some attention before importing it into Github. Tools

Major microcode rewrites for version 7. Design Microcode Software

2019-05-03

Backplane modules routed and ready for fabrication. This didn't take long at all. Design Hardware

April 2019

2019-04-28

Worked on major redesign of the bus and boards. Published the Easter Notes outlining the plan to improve on the CFT's construction quality (and reliability, because that's the main issue). Design Hardware

February 2019

2019-02-23

Worked on DFP documentation. DFP Documentation Web

January 2019

2019-01-29

Worked on DFP documentation. DFP Documentation Web

2019-01-20

Added DEB board description. DEB Documentation Web

2019-01-05

Added MEM board description. Documentation MEM Web

2019-01-04

Completed Theoretical Description. Added Expansion and Control Bus descriptions. Documentation Web

December 2018

2018-12-30

Added schematics to the Theoretical Description. Documentation Web

2018-12-28

ALU description for the processor's Theoretical Description. Documentation Web

2018-12-27

Worked on the processor's Theoretical Description. Documentation Web

2018-12-16

Lots of work on the CFT documentation. Slow work because it needs CSS rework, and also because I've forgotten so much of the CFT's inner workings I keep going back to the schematics to verify all the documentation I'm converting and updating. Documentation Web

2018-12-05

Added a photo of CFT PB0 and PB1 blank PCBs. Documentation Web

2018-12-04

Added a photo from the wiring of the CFT DFP board. Documentation Web

2018-12-03

Simplified addressing mode documentation. Completed Programming Model documentation using new microcode and correct information. Documentation Web

Added new IFxx macros, fixed some of the comments. Code Cross-Assembler

November 2018

2018-11-26

Have been redoing documentation for new site. Documentation Web

August 2016

2016-08-18

Mouser order for PB1 arrived. Orders

2016-08-16

Ordered components for PB1 from Mouser and eBay (for the SN74ACT1071 which Mouser doesn't stock). Orders

2016-08-12

Solder paste has arrived. Orders

2016-08-05

Revision G of the PB1 PCBs have arrived. Orders

July 2016

2016-07-20

Ordered solder paste. Orders

2016-07-17

Reworking the testing framework. Added two new testing targets: emulator (via the DFP), and hardware (also via the DFP, of course). Need to refactor the Verilog testbeds. With mostly working hardware, this is not strictly needed, but it should do it for completeness. Testing

2016-07-16

Created Instagram. Documentation Web

Minor refurbishment of the Twitter account. Documentation Web

Ordered Revision G of the PB1 PCBs. Orders

June 2016

2016-06-25

Writing documentation for the DFP. Started documenting the hardware, including Sketchup renders, PCBs, assemblies etc. Book Documentation

2016-06-12

Writing documentation for the DFP. Started documenting the hardware, including Sketchup renders, PCBs, assemblies etc. Book Documentation

Discovered and fixed a minor bug in the DFP firmware (HALT instruction not being honoured while multistepping or tracing). Colourised error messages. Bugs DFP Testing

Writing documentation for the DFP. Started documenting the hardware, including Sketchup renders, PCBs, assemblies etc. Book Documentation

Discovered and fixed a minor bug in the DFP firmware (HALT instruction not being honoured while multistepping or tracing). Colourised error messages. Bugs DFP Testing

2016-06-11

Writing documentation for the DFP. Book Documentation

Fixed a number of minor bugs in the DFP firmware. Bugs DFP Testing

2016-06-10

Writing documentation for the DFP. Book Documentation

Fixed a number of minor bugs in the DFP firmware. Reflashed the physical DFP and performed a few tests on it. Bugs DFP Testing

2016-06-06

Writing documentation for the DFP. Book Documentation

Fixed a number of minor bugs in the DFP firmware. Bugs DFP Testing

2016-06-05

Writing documentation for the DFP. Book Documentation

2016-06-04

Writing documentation for the DFP. Book Documentation

May 2016

2016-05-30

Writing documentation for the DFP. Book Documentation

Worked on the DFP testing tool. DFP Testing

2016-05-29

Writing documentation for the DFP. Book Documentation

2016-05-28

Writing documentation for the DFP. Book Documentation

2016-05-21

Finished pseudo-TTY code, so the emulator can be used to develop tests for the real, live CFT. The emulated DFP is still not fully implemented, but it's close enough to test things. Fixed minor bugs. Code Emulator

Fixed a number of minor bugs in the DFP firmware just by testing communications with the testing tool. Bugs DFP Testing

February 2016

2016-02-14

Completed first update of the theoretical description chapter. Needs to be re-organised heavily. Book Documentation

2016-02-13

Worked on the web edition of the Theoretical Description chapter. Book Documentation

2016-02-12

Worked on reference resolving code, improved markup framework. Worked on the web edition of the Theoretical Description chapter. Book Documentation

2016-02-08

Worked on the web edition of the Theoretical Description chapter. Book Documentation

2016-02-07

Worked on the Web version of the documentation. Redid the Assembler chapter and worked on formatting code and styling. Debugged plenty of issues with the TeX to HTML conversion. Fixed spelling mistakes. Brought some of the content up to date. Book Documentation

Worked on the web edition of the Theoretical Description chapter. Book Documentation

2016-02-06

Worked on the Web version of the documentation. Redid the Programming Model chapter. Worked on the styling. Added a little information and corrected mistakes. Book Documentation

2016-02-01

Fixed bugs from previous day. The run/stop logic works fine now. Working on more integration of DFP features. Code Emulator

January 2016

2016-01-31

Fixed minor layout issues on G PB1 board. Cons Hardware PB1

Added front panel and bus interrupt support to the emulated DFP. Working on run/stop logic and bus command integration. It's more complex than it looks because of the necessity for synchronisation and thread-safety. I may have to simplify things, but can't really change the firmware code so the separate thread is here to stay. Code Emulator

2016-01-30

Verifying Rev G PB1 schematic and preparing to have it manufactured. Cons Hardware PB1

Added Switch Register support to the emulator and improved the virtual front panel. Continuing to implement virtual DFP integration. Code Emulator

November 2015

2015-11-15

Worked on virtual reset circuitry. Thread synchronisation can be problematic for this stuff, since the DFP runs on its own thread. Using a system of simple messages to the emulator thread. Code Emulator

2015-11-14

Worked out the previous ‘deadlock’ issue: it was OS blocking because the Emulator was opening a debugging pseudo-TTY which wasn't being read from. Once the OS PTY buffer got full, writes blocked blocking the entire DFP thread (but not the rest of the emulator). Code Emulator

September 2015

2015-09-27

Solved serialisation bugs, implemented much more functionality. The DFP can now read and write to memory and I/O. Code Emulator

2015-09-19

DFP firmware now has access to most of the Emulated CFT. Some operations still can't be performed. A couple of serialisation bugs have appeared. Code Emulator

2015-09-10

Working on adding the full DFP firmware into the emulator. Code Emulator

2015-09-04

Working on adding the full DFP firmware into the emulator. Code Emulator

2015-09-03

DFP Firmware now running on the emulator! Still mostly throws ‘NOT IMPLEMENTED’ messages and has no access to the emulated machine. Code Emulator

2015-09-02

Working on adding the full DFP firmware into the emulator. Code Emulator

August 2015

2015-08-31

Working on adding the full DFP firmware into the emulator. Code Emulator

2015-08-30

Working on adding the full DFP firmware into the emulator. DFP firmware now compiling as library and linking against the emulator. Code Emulator

2015-08-29

Working on adding the full DFP firmware into the emulator. Code Emulator

2015-08-01

Working on adding the full DFP firmware into the emulator. Code Emulator

July 2015

2015-07-30

Produced CAM files for PB1, ready to reprint PCB. Bugs Cons Hardware PB1

June 2015

2015-06-15

Progress with the revision G PB1 board. Bugs Cons Hardware PB1

May 2015

2015-05-04

Updated the rev G PB1 schematic with the newest write circuitry bug fix (the added NOT gate so the circuit floats when HALT# is asserted, not the other way round). Bugs Cons Hardware PB1

2015-05-03

Updates the CFT microcode-level emmulator to use the newest DFP addresses, so it can use the newest Assembly include files. Documentation Web

Now tha the Javascrpit emulator is so much faster, I've added short welcome messages to most of the sample ROM's programs, including a boot-up message. The ROM now showcases the Assembler (and instruction set) pretty well: it has macros, scopes, subroutines, extended instructions, the works. I've refactored the ROM to get rid of old cruft, cleaned and reformatted up the source, and annotated everything with comments. The ROM is now published on the web anyway. Code ROM Software

2015-05-01

Patched PB1 write strobe circuitry. One last bug remaining: the circuit should tri-state when HALT# is de-asserted. It's currently doing the reverse (a NOT gate is needed). Bugs Cons Hardware PB1

Patched the DFP so it doesn't use open drain drivers for MEM#, IO#, R# and W#. One minor hardware patch needed: snip the ABOE# signal to board 2. This will permanently disable NOPROC mode, and the current AB-OE# signal will then be renamed to BUSEN#. Obviously, this will require changes to the DFP firmware. On the up side, with NOPROC mode removed, the firmware will be smaller. Bugs DFP Testing

April 2015

2015-04-06

Worked on the documentation. It dawns on me that I should probably port the documentation to HTML, XML or somesuch instead and use LaTeX for the diagrams. I can then re-import it into LaTeX to generate PDFs — when/if I decide to do so. These days, HTML can be have more semantics than TeX!. Book Documentation

2015-04-05

Added some content to the CFT Book (processor description). Corrected a few errors. Re-added the Javascript emulator with new text, including the ROM source code. Published the documentation on the live website. Book Documentation

2015-04-04

More work on the CFT Book conversion, as well as the CFT section on the BedroomLAN site. Book Documentation

2015-04-03

More work on the CFT Book conversion, as well as the CFT section on the BedroomLAN site. Book Documentation

2015-04-02

More work on the CFT Book conversion, as well as the CFT section on the BedroomLAN site. Book Documentation

2015-04-01

First drafts of The CFT Book (at least the non-empty chapters) are now online. Hyperlinks are stripped out of the documents and there's still need for plenty of CSS styling, but at least the information is online again. Book Documentation

March 2015

2015-03-30

Much progress with the documentation converter. For now, it's generating a single, huge HTML file with proper markup including SVG images (but currently not maths). Once cross-chapter links are converted and a stylesheet is written, it will be possible to publish an early version of the documentation. Book Documentation

2015-03-29

Additional work on the documentation converter. Puzzling out TeX Math to SVG conversion. Book Documentation

2015-03-10

Started work on converting the CFT Book (HTML version) to Jinja 2 HTML suitable for the BedroomLAN site. Book Documentation

November 2014

2014-11-07

Rewired control bus to fix issues with the DFP. Bugs DFP Testing

October 2014

2014-10-05

Completed the PS/2 keyboard handler. Keyboard events are now read and inserted into the event queue of the current process. Code ROM Software

2014-10-03

After not having been touched for a couple of weeks, the CFT hardware is failing diagnostics for the AC (IBUS trouble, possibly a short) and PC (it never changes, possibly WPC connection broken or shorted). DFP Board 2 is almost certainly to blame for this. Bugs DFP Testing

September 2014

2014-09-29

Added the KBD Interrupt handler. The OS can now read from a PS/2 keyboard. Code ROM Software

2014-09-28

Worked on the VDU/KBD driver. The driver has extremely rudimentary tty support. It can output characters (so the initial text-mode banner is visible) but not yet scroll, etc. Code cleanups. Code ROM Software

2014-09-27

Work on the VDU driver for the OS. Code ROM Software

Documented the new interrupt state machine, including state diagrams and waveforms. Book Documentation

2014-09-26

Reworked the Rev F PB1 schematics and PCB to include the fifth state in the interrupt state machine. Design Hardware PB1

Work on the VDU driver for the OS. Code ROM Software

2014-09-20

Interrupt driven, FIFO-based I/O is going well, but I have struck my worst-case scenario: an interrupt being signalled between the SEI and RTI instructions, which means two things: (a) the ISR will have to re-entrant (or have a return stack), and (b) interrupts are coming in faster than the ISR can handle, even with just a TTY. Code ROM Setback Software

2014-09-19

Work on interrupt-driven TTY I/O. Code ROM Software

2014-09-18

Work on FIFOs and interrupt-driven TTY I/O. Code ROM Software

2014-09-13

Work on the ROM. Modulo some more refactoring, I'm ready to start adding the ROM Forth interpreter back to the mix. The ROM Forth dictionary will be pared down to the essentials, so the interpreter, compiler and essential features can fit in 8kW. Forth 83 support can be added later, which will allow another 8kW for the language. Then, another 8kW should add support for most of the hardware. Code ROM Software

2014-09-12

Finished the memory inspection code in the emulator and used it to track down an issue with the TTY driver code. Code Emulator

Since the DFP is working well with the processor, and it's the only bus-mastering device, and since the PB1 has so many bugs, I've all but decided to give up on tri-stating the W# signal on it. The design will include it, but PB1 doesn't need it for the computer to work. W# can be driven full-time with no ill effects: the DFP simply drives the processor's internal WEN# signal which generates W# pulses. This should be fine fow now. Later, if I feel like it, I'll have Revision F of the PB1 re-printed and construct a new one with all the corrections. This is a design decision motivated by laziness too: hand-soldering Kynar wire onto SOT-23 devices with a soldering iron (and solder) meant for DIP chips isn't easy. Design Hardware PB1

Work on the ROM. Code ROM Software

2014-09-11

Work on the ROM. Code ROM Software

Fixed numerous bugs with the emulator. Added a memory inspection feature. Code Emulator

Fixed bug with error reporting. Code Cross-Assembler

2014-09-06

Created, rendered and uploaded video of the CFT running its first program. Posted on Google Plus and Facebook. Hardware Testing

2014-09-05

I tracked down garbled register writes (via the DFP) to signals not being deasserted with HALT# asserted, and then to just MEM# and R# staying asserted. These signals are routed to the CFT busplane, and have bus-hold circuits, so when the Microcode Store ROMs stop driving them, the bus hold keeps them at their previous state. I fixed this by pulling up MEM#, IO#, R# and W# and adjusting the schematics. PB1 Testing

The w(rite) command seems to leave the MEM# and R# signals at an indeterminate state (~1.6V). The fill command doesn't do this though. After a fresh power cycle, the DFP can perform reads from the SRAM, fill memory with specific values and read them back. After a single w command, this is compromised. Bugs DFP Testing

At clock frequencies over 0.614 MHz (15% of the intended clock rate), incrementing the AC fails. The second counter seemingly wraps around at 127 or 255. The latter is clearly a carry propagation issue, but I'm not sure what the former is. The AC carry chain works fine at 0.614 MHz, and the PC carry chain works fine at 4 MHz. Bugs PB2 Testing

Write signal generation works, but once the signal is released it slowly curves back to +5V over the course of around 400 ns. This looks like the normal waveform shape for an open drain circuit, just horrendously elongated, possibly because of the parasitic capacitance of the backplane. I need a totem-pole driver for W#, so it's back to the original plan to use a 74'1G125 single tri-state buffer. Bugs PB1 Testing

The CFT processor has executed its first two programs, designed to operate without an ALU (which isn't yet installed). Both programs incremented the AC in tight loops (one also sent data to the front panel debugging interface). Milestone

2014-09-04

The Control Bus ribbon cable needs to be mechanically stronger. Minor movements of cards can unplug it partially, causing various sorts of grief. Bugs PB1 Testing

Some of the control signals appearing on the front panel are mis-read by the input shift registers, breaking microcode disassembly. INCPC# is currently an issue. Bugs DFP Testing

2014-09-01

Minor refactoring of the ROMs. Code ROM Software

August 2014

2014-08-30

Added assembler definitions for 16550 UARTs. I always forget they're quite complex devices!. Code ROM Software

2014-08-29

The RUNIT1 issue seems to be a short. The signal goes up to ~2.4V, but the PB0 tests out okay (10kΩ between the µ00 ROM pin and GND, >1MΩ between the pin and Vcc). The issue must be somewhere else, then (RUNIT1 is also on the control bus). Update: tracked the issue to a tiny solder bridge on DFP Board 2, the usual culprit for shoddy construction. Shockingly, with the RUNIT field operational, the computer is now working and executing a nonsensical program, including talking to the DFP itself! (PRINTx instructions being logged). Bugs PB0 Testing

Some DFP I/O instructions cause the DFP to crash, and the watchdog causes a reset. This one is a bit premature, of course. Bugs DFP Testing

2014-08-28

If the Microcode Store is in a state when IR is being written, even with the processor halted, you can't modify the IR via the switches or debug UI. This shouldn't be the case, all the units should be idle with the processor halted, and the microcode lights certainly indicate just this (all off). Bugs PB0 Testing

When the CFT starts halted, (RAM/ROM switch set to RAM), the DFP doesn't give the processor enough clock ticks to de-assert RSTHOLD#. This should be part of the reset function (let the clock run and ensure the RESETTING state has cleared by looping until the WAIT# input is 1). Bugs DFP Testing

2014-08-27

Signal IBUS10 does not appear to be held properly, or is shorted to ground somewhere. When the DFP writes FFFF to the IBUS and then stops driving, the IBUS changes to FBFF. Likewise, 0400 flickers between 0400 and 0000, even while being supposedly driven. Perhaps DFP Board 2 isn't driving that bit properly. This doesn't always happen, though, and all register diagnostics pass for PC, AC and IR. Bugs PB1 Testing

Sometimes, the AC diagnostics fail with the lower nybble of the AC seemingly stuck to 0. (i.e. writing FFFF, but reading back FFF0). Bugs PB2 Testing

The DFP ustep command can step multiple times (even if single stepping). Sometimes, the step ends with some lights illuminated, other times the lights are idled (and all lights on the front panel are off). Bugs DFP Testing

2014-08-26

Coded DFP TTY driver as a proof of concept. Added NULL (sentinel) driver. Added driver abstraction and basic system call support. You can now output characters to abstract terminal devices. Code ROM Software

2014-08-25

ROM development and fixes. Refactoring old asm directory, and started merging code into a new ROM subproject. Worked on the basic OS calls. Code ROM Software

2014-08-24

Fixed bugs with the IRC in the C emulator. Added support for the DFP terminal using code taken directly from the DFP firmware. Lovely how code can be shared between firmware and emulator!. Code Emulator

Minor ROM development and fixes. Started work on refactoring the Forth interpreter to fit the new memory layout, OS primitives and Assembler improvements. Code ROM Software

2014-08-23

WEN# was pulled up (by the PB0) and down (by the DFP) simultaneously. Removed the DFP resistor and good riddance. I keep finding these! The PC4 pin on PB2's IC12 counter was connected to +5V via a tiny solder bridge under the chip (too much solder paste, which is what you get when you solder with paste and no stencil). I clipped the pin, reheated the space under the chip very carefully, verified the bridge had sublimated and absorbed by pads, then re-connected the pin to the pad with a very short length of wire. Bus Writes via the processor don't seem to work. Bus reads may also be non-functional but it's difficult to test without bus writes (memory seems to initialise to &FFFF). Bugs DFP Testing

2014-08-19

Added memory allocation functionality to the ROM. It only has bank granularity for now. Much closer to re-incorporating the Forth interpreter in the new OS framework. Code ROM Software

2014-08-18

Added entry/exit conventions to the macro definitions. Minor work on the ROM. Code ROM Software

2014-08-15

Fixed halting bug. DFP Firmware Testing

Loading the IR from the SR fails. This could be a firmware bug. The IR0 and IR1 (or IBUS0 and IBUS1) signals are swapped somewhere. Setting the SR for 0002 makes the IR 0001 and vice versa. Tracked down to swapped IBUS wires on the PB2. No biggie. Going through the test script for the DFP, I discovered yet another signal that was pulled up and down simultaneously: WAIT#. I'm removing the pull-down. And more of the same: some unit is still driving the IBUS with the machine halted. It's not DFP board 2, because I'm getting mismatched values when writing to the IBUS from it. PB1 doesn't use the IBUS, so the culprit must be on PB1, and specifically the AGL, Data Bus Transceiver, or numerous shorts. Update: fixed quite early. The real culprit was the control bus ribbon cable not being plugged into PB0. Yet another bug: when microstepping, the last step of a microprogram is skipped because END# seems to take effect immediately. This is probably because the µPC is reset asynchronously but incremented synchronously. Update: fixed when the PB0 ribbon cable was reconnected. The microcode control vector isn't read correctly on the DFP serial interface, but displays correctly on the panel light. The computer seems to be selecting the ROM bank on the MEM board regardless of the setting of the RAM/ROM switch on the front panel. The PC on PB2 does not increment correctly. Bit 4 is stuck on, and the PC counts between &0010-&001F inclusive. Carry aggregation issue? It could also be an issue with the front-panel buffers. Bugs DFP Testing

The ‘reset’ light lights when the RSTHOLD# signal is asserted (processor's reset state). Since resetting always runs at full speed, it may be nice to turn this light on during RESET# or RSTHOLD# assertion. A wired AND gate will do for this, and there's plenty of space available for it. DFP Design Hardware

2014-08-13

The microcode store now works (seemingly). Various apparent issues seem to be stemming from the missing PC and AR registers. Perhaps it's time to start testing PB2. Bugs DFP Hardware Testing

When switching from Creep to Slow mode via the front switch, it often takes a while for the change to take place. This is likely a firmware bug, since the same command from a controlling computer works fine. Bugs DFP Firmware Testing

2014-08-04

It turns out that both control signals to the IR are wrong. when the IR flip flops were replaced with latches, the WIR# active low signal should have been inverted ('573 have an active high latch enable pin). So the IR only updates its value when it's not supposed to, and it never outputs a value. An '1G04 inverter is being used to fix this. Additionally, and this is a good thing, during the patching I discovered the WIR# signal didn't in fact reach both latches. This looks like a PCB defect, and may mean there are others. Bugs DFP Hardware Setbacks Testing

IR issues fixed. The IR now displays as &FFFF without memory installed, and is routed to the µADDR vector correctly. The WIR# signal isn't generated yet though, because there's still a short or other issue with the RUNIT field in the microcode. Hardware PB1 Testing

2014-08-03

Ported stack macros from ROM Forth to the new architecture. Code ROM Software

Fixed macro argument expansion bug. Tools

2014-08-02

Created, rendered and uploaded video of DFP, PB0 and PB1 testing to YouTube. Posted on Google Plus and Facebook. Hardware Testing

2014-08-01

Removed the stupidly connected LEDs from the RESET# circuitry, and the CFT finally works. The µPC is enabled and counts up on the front panel. Updated testing plan with the workings of DFP. Fixed issue with Fetch/Exec decoder (it was working fine, the DIP switches weren't set properly). Fixed issue with AB0 stuck on (the joint between the output and the pull-ups had broken, so the line was never driven down). DFP Hardware Testing

The Fetch/Exec decoder lights don't currently work. Bit 0 of the Address Bus is stuck on (seems to be DFP Board 2's fault). Potential short between RUNIT1 and RUNIT2 on PB0. Lights miswired: the microcode vector goes END, WEN, R, IO, MEM. The panel lights go END, W, R, MEM, IO (this should probably be fixed by rewiring on DFP board 1 and changing the labels on the front panel design). Bugs DFP Hardware Testing

A gorgeous, annoying bug: The part used for the Instruction Register was changed from a flip flop with clock and reset to a latch with latch enable and output enable. The location of the reset (flip-flop) and output enable (latch) signals were the same on both schematic and board, and both received the same signal: RESET#. This work with a flip-flop (resetting the IR), but fails on the latch (the IR only drives during reset, not always). The PB1 will thus have to receive its fourth patch. Bugs Hardware PB1 Testing

Potential LED wiring issue. RUNIT1 bit seems wrong. Bit(s) flipped or shorted somewhere?. Bugs Hardware Testing

July 2014

2014-07-31

Added retro modes. When the computer is booted with the Switch Register holding a BCD-encoded year in the 20th Century (19xx), the computer will only enable some subsystems to emulate a typical computer from that year. Code various other cleanups and added new useful macros. Code ROM Software

2014-07-30

Added code to decode VDU format images and blit them to the VDU. Wrote various additional parts of the boot loader code. Code ROM Software

2014-07-29

Created a small tool to perform minimal quantisation on images and convert them to VDU format. The img2vdu tool already ostensibly does this, but its output is currently flawed. This minimal version will be integrated with it eventually. Tools

Generated the CFT logo in VDU format, suitable for assembling as part of the ROM and blitting to the VDU. Code ROM Software

2014-07-28

Added vdu.asm include file with assembly-level descriptions of the VDU version 5 registers. Code ROM Software

Implented some more of the VDU for the JS emulator. Code Emulator

Fixed minor issues with the VDU documentation. Book Documentation

2014-07-27

Some work on the early boot ROM. Boot banner now prints out available memory. Code ROM Software

Working on implementing banks on the CFT Assembler. Tools

Implemented much of the VDU in the JS emulator. Code Emulator

2014-07-26

Stepped PB1 to Revision F, modified schematics and routed board (datecode 1430). Design Hardware PB1

2014-07-25

Implemented WS state machine fixes. Located more logic errors with the state machine, and also fixed those. Again, only rewiring was necessary. A serious firmware error was also fixed, and now the processor is reset properly and goes through a perfectly valid reset sequence: the microcode store asserts the right signals, and those signals drive the processor and bus. DFP Hardware Testing

The PB1 LEDs lack transistors, so they lower the voltage on their logic lines. This was really stupid. The proposal is to remove the LEDs or hack the board to add the transistors (luckily there's enough space). Bugs DFP Hardware Testing

2014-07-24

The WS state machine errors have been located and fixed. Luckily, only rewiring of a few signals was needed. No IC or passive component changes. DFP Hardware Testing

2014-07-23

There seems to be an issue with the WS# signal. In this condition, the contents of the IR on the front panel ‘fade away’ (either literally fade away flickering, or lights are extinguished one by one) as if the IBUS is floating (which it shouldn't be, there are bus hold ICs in place), or WIR# is triggering. Bugs DFP Hardware Testing

The WS# issue had two parts: one, many of the WS state machine's pins weren't pulled up or down accordingly. Fixing this resolved the instability of the flip flops. Two, there appear to be serious logic errors in the WS state machine design. Bugs DFP Hardware Setbacks Testing

2014-07-19

Last night's problem traced to POWEROK being 3.3V. Temporarily wired POWEROK to +5V and reset (including the RSTHOLD# timing) is working cleanly now. DFP Hardware Testing

The reset sequence fails because of what looks like a software bug. A manually coded RESET sequence (without the firmware fully initialising) seems to work fine. Also, there may be an issue with HALT#. Bugs DFP Hardware Testing

2014-07-18

Patched PB1 so that W# is now an open drain signal. When asserted, it's driven by an open drain NAND gate from the Q (active high) output of write strobe state machine. When de-asserted, the line is at high impedance and pulled up by a 4.7kΩ resistor. Bus Hold and a 30Ω impedance matching resistor take care of signal conditioning. Cons Hardware PB1

Drew up testing plan for each individual unit of the processor. Hardware Testing

The Clock multiplexer (IC40) on board 1 of the DFP is receiving a garbled waveform from the MCU for FPUSTEP-IN. Possible short-circuit? FPCLKEN-IN seems to be okay. There also seems to be a lot of ringing on the longer wires, and IC40 is quite far from the MCU. Bugs DFP Hardware Testing

2014-07-17

Redid the PB1 W# tristate patch to use a open-drain NAND gate rather than a tri-state buffer. This will be much faster (and I have single OD NAND gates in stock as well). Design Hardware PB1

Added EXTSKIP# support to the IOT instruction. I forgot about that in previous versions. Microcode revision is now 6c. Design Microcode Software

2014-07-16

Drew up spreadsheet of all cross-board processor signals and their conditioning. This will be useful in running boards one by one. Hardware Testing

2014-07-14

Added a little bit to the DFP documentation. Book Documentation

June 2014

2014-06-13

Fixed numerous bugs on both DFP boards. All lights are now working properly. DFP Hardware Testing

The Data Bus enable MUX on DFP Board 2 is not putting out correct values. It may have a dry joint or short, though it seems like all pins test correctly. The theory is correct and the chip works (multiple chips tried), so something else is wrong. Bugs DFP Hardware Testing

2014-06-12

The POWEROK signal from modern ATX power supplies uses 3.3V, not 5V. This will eventually have to be level-shifted, but the machine will likely work without it: POWEROK is only used for brownout detection, and the Atmega can detect such cases and hold down RESET#. The DFP also boots with RESET# asserted, until the MCU passes diagnostics, which is the same as waiting for the power supply to assert POWEROK. Bugs DFP Hardware Testing

The entire low order 8 bits of DR have been reversed! They are reversed on Processor Board 1 to simplify routing, and the DFP wiring is wrong. All eight signals will have to be flipped around on Board 1 of the DFP. Bugs DFP Hardware Setbacks Testing

Verified most of the front panel lights. DFP Hardware Testing

2014-06-07

The programmable bus pull-up goes through a diode driven by an inverter (so it's at H or Z, never L). The diode produces a voltage of around 4V, which is quite marginal. Under heavy load and/or fast switching, some active-low bus signals can activate inadvertently. Need to replace the inverter and diode with a '541. It can source 35mA, and provides the same functionality. A capacitor could also help. Bugs DFP Hardware Testing

2014-06-06

Inputs from AB0–AB3 on Board 2 were reversed! Also, AB0 was shorted and producing random values (which appeared as AB3 because of the reversal). After fixing these two issues, the Address Bus diagnostics work fully. Data Bus I/O also works, but the DB can't be tri-stated until the few remaining IC sockets on board 1 are populated. Until then, the Data Bus enable circuitry thinks the CFT is reading from the DFP and drives the Data Bus with data. DFP Hardware Testing

Using the front panel switches to set the address in standalone mode doesn't work because the PC sanity checks fail (value written is not read back correctly — naturally, because there's no PC in standalone mode). Bugs DFP Hardware Testing

2014-06-05

Fixed memory cycle bug. DFP Hardware Testing

The least significant Address Bus nybble (AB0–AB3) seems to have some issue. Values driven are not read back correctly, and DFP bus diagnostics fail. Also, the Data Bus can't be tristated. Bugs DFP Hardware Testing

2014-06-03

Early version of a PC-side DFP communications tool (written in Python 3.4). Code DFP Hardware

Fixed several bugs with the output shift registers (mainly missing wires). The DFP now correctly updates the OR and asserts various bus signals (some incorrectly). DFP Hardware Testing

There are some issues with the bus writes. Some bits of the control bus (namely IC35, the last SR in the chain) seem to be linked: FPRUN/FPSTOP with MEM# or IO#. This is probably a software error. Bugs DFP Hardware Testing

Some command pulses may be too short. Symptom: some reads are incorrect (e.g. 0100 becomes 0110), like the shift registers failed to shift the data between samples. This is plausible since the '165 SRs shift out MSB-first. Bugs DFP Hardware Testing

2014-06-01

Early version of a PC-side DFP communications tool (written in Python 3.4). Code DFP Hardware

May 2014

2014-05-28

Made the swtest command echo the value of the SR to the OR to facilitate testing the lights (and output shift registers, which are currently not working). Code DFP Firmware Hardware

Drew up testing plan for front panel lights. Bugs DFP Hardware Testing

2014-05-16

Broke some cables near the connectors to light assembly 3. I'll have to either find the breaks and patch them somehow, or recrimp an entire new flat cable. DFP Hardware Setbacks Testing

All the light modules were installed upside down. This will necessitate updating the drilling patterns for the light assembly mounting plate. Bugs DFP Hardware Testing

IR11 isn't being pulled up (but is connected). Bugs DFP Hardware Testing

The OR resets to FFFF but the DFP 'or' command doesn't update it. This could be a software bug, or an issue with the shift register clocks. Bugs DFP Hardware Testing

2014-05-10

The R signal was both pulled up and down, ending up at 2.5V and confusing one of the shift registers of the virtual front panel. The same was true of another two signals. Bugs DFP Hardware Testing

2014-05-09

Fixed the lights off switch. Many of the grounding wires from the switch assembly were inadvertently connected to the lights on signal (which connects to ground when lights are on, enabling front panel LEDs). This included the power switch: turning lights off would disconnect ground, deasserting the power on signal and turning the PSU off. DFP Hardware Testing

Second testing session of the DFP. Both boards are plugged into the backplane and communicating. The MCU, both 74HC259 control chips and their inverters, as well as ten input shift registers are populated and working. Current draw is approximately 50 mA. DFP Hardware Testing

Roughly half of the switches are pulled down instead of up (16 signals in all). It was more convenient to do that with the 74HC165 shift registers because half of the pins are closer to the ground rail. The fix is less pleasing to the eye, but it works now. Bugs DFP Hardware Testing

The switch register (as sampled by the MCU) appears to have its bits reversed (switch 0 is bit 15). It's a nomenclature error, since switches were originally numbered in DEC style (the left most switch is SR0, but bit 15 of the SR). It may be a switch assembly wiring issue, but it was trivial to fix in software. Bugs DFP Hardware Testing

I inadvertently swapped the signals for the Set Address and Set Accumulator switches on the switch break-out board. Bugs DFP Hardware Testing

2014-05-08

All of the 40-pin sockets on board 2 are upside down! It's the only way to do it, since the sockets on the other boards are right-angled ones. Unfortunately, this makes the ribbon cables a lot less tidy, but it's not impossible to connect. The DFP board 1 and board 2 connection was going to be diagonal anyway, since the sockets don't align. DFP Hardware Setbacks Testing

Made ‘round’ flat cable assemblies which are more flexible and take up less space. Cons DFP Hardware

The lights off switch apparently shorts the front panel. No harm done, the ATX power supply is protected against shorts. DFP Hardware Setbacks Testing

2014-05-07

Seventeenth construction session for Board 1. The board has now been fully wired, with the exception of the custom peripheral lights, which will be wired on demand. Cons DFP=100 Hardware

Sounded out most of the sensitive connections and removed some duplicate pull-up/donw resistors. DFP Hardware Testing

2014-05-03

Wired power supply harness for backplane and DFP. This one is meant for testing. The final one will be a length appropriate for the layout of the case. Case Cons Hardware

Sixteenth construction session for Board 1. The MCU is now fully wired and can be tested. Cons DFP=93 Hardware

2014-05-02

Experimented with hardware for fixing backplane onto case. Case Cons Hardware

Fifteenth construction session for Board 1. Wiring left-over signals, cleaning up, fixing errors and installing 0805 impedance matching resistors, pull-ups and pull-downs. In some cases, replacing through-hole passives with 0805 parts. Cons DFP=91 Hardware

April 2014

2014-04-29

Additional passives arrived. Orders

2014-04-25

Worked on Drupal side of the Changelog publishing mechanism. Changelog Documentation Progress

2014-04-24

Worked on Drupal side of the Changelog publishing mechanism. Changelog Documentation Progress

Preparing CFT book for publication on the web (using Drupal's Feed module to import HTML as Drupal nodes). Book Documentation Web

2014-04-23

Created conversion/import toolchain to publish the Changelog as a progress log. Changelog Documentation Progress

March 2014

2014-03-28

Fourteenth construction session for Board 1. Rewired the MCU and started adding impedance-matching resistors to most of its outputs. Wired shift register control signals, clocks and enables. Fully connected and tested power and ground. Board 1 is now almost ready to be tested. The remaining signals connect to the right bank of lights, and they will be connected as needed since appropriate headers will need to be made for them. Cons DFP=83 Hardware

Ordered more 30Ω 0805 resistors. Orders

2014-03-24

More work on the case design. Case Design Hardware

Ordered hardware needed to fix the backplane in place (and provide power to it). Orders

2014-03-23

More work on the case design. Placed the backplane and fixed design issues. Case Design Hardware

2014-03-22

More work on the case design, with emphasis on the front panel light and switch assemblies. Case Design Hardware

2014-03-21

Drafted key lock component in SketchUp. Case Design Hardware

Fourteenth construction session for Board 1. Wired the MFD outputs (48 wires). Cons DFP=83 Hardware

2014-03-20

Designing a case in SketchUp to ensure all the assemblies match properly. Completed the switch assembly and drafted the backplane. Case Design Hardware

2014-03-19

Designing a case in SketchUp to ensure all the assemblies match properly. Draw the switch assembly and various additional components. Case Design Hardware

2014-03-18

Designing a case in SketchUp to ensure all the assemblies match properly. Drafting the front panel light assembly. Case Design Hardware

2014-03-17

Designing a case in SketchUp to ensure all the assemblies match properly. Case Design Hardware

2014-03-13

Thirteenth construction session for Board 1. Wired the PC (thus completing the PB2 front panel connections) and various miscellaneous signals, including passive components. Corrected more errors. Cons DFP=81 Hardware

2014-03-12

Twelfth construction session for Board 1. Connected front panel common anodes. The front panel light assembly could now (in theory) be used!. Cons DFP=74 Hardware

2014-03-06

Eleventh construction session for Board 1. Wired the remaining P5 and corrected various wiring errors. (388 signals total). Cons DFP=73 Hardware

2014-03-05

Tenth construction session for Board 1. Wired the remaining P4 (the PB0 front panel connector) and debugged issues. Currently wiring connector P5 (the PB1 front panel connector, carrying the IR and a few other signals). Cons DFP=72 Hardware

2014-03-03

Synchronised the C emulator with the current I/O map. Various minor issues fixed. The C emulator now runs the alpha bootloader ROM. Code Emulator

2014-03-02

Work on boot loader code. Code ROM Software

Some improvements to the JS emulator. Code Web

2014-03-01

Wrote MBU and MEM detection algorithms. Code ROM Software

Added .scope/.endscope directives to allow scoped labels (this internally reduces to anonymous namespaces). Added .longstring/.endstring directives to facilitate packing of multi-line .strp directives. Tools

February 2014

2014-02-28

Refactoring assembler include files to use namespaces and the new, more mature coding style. Code ROM Software

Fixed issues with the assembler getting confused with forward .equ/.reg definitions. Tools

2014-02-26

Version 2.2 of the CFT Assembler. This version introduces namespaces. Tools

Created emacs major mode for editing CFT Assembler files in the proper style. Misc

2014-02-25

Work on the JS emulator continues. A release candidate is now ready, including an updated test ROM. Code Web

Version 2.1 of the CFT Assembler. This version introduces include paths. Tools

Improved the DFP firmware's interrupt handling. Standardised on flag values. Code DFP Firmware Hardware

Started coding early parts of the ROM. Code ROM Software

2014-02-24

Processor, UCB and MBU emulation is now in place. Code Web

2014-02-22

Started work on an instruction-level CFT emulato, which will become version 2. Code Web

2014-02-18

Updated JavaScript CFT microcode-level simulator for the newest panel layout and colours. Documentation Web

Created list of CFT assemblies, wiring and parts. Documentation

2014-02-17

Mouser order (bypass capacitors, pull-up/down resistors, Kynar® wire, NKK® key switches) arrived. Orders

2014-02-14

Numerous small fixes to the DFP firmware. Code DFP Firmware Hardware Testing

2014-02-11

Ninth construction session for Board 1. Wiring the remaining P4 (the PB0 front panel connector). Ran out of Kynar® wire and the replacement turned out not to be Kynar (not enough heat resistance). Cons DFP=71 Hardware

Ordered more bypass capacitors, pull-up/down resistors, Kynar® wire, and also some better-quality NKK key switches for the front panel. Orders

2014-02-10

Implemented first DFP board self-diagnostics. Code DFP Firmware Hardware Testing

Made two slight changes to the hardware for more reliable diagnostics. DFP Design Hardware

2014-02-09

Built more of the test/simulation framework for the DFP. Discovered and fixed some bugs. Code DFP Firmware Hardware Testing

2014-02-08

Built more of the test/simulation framework for the DFP. Code DFP Firmware Hardware Testing

2014-02-07

Eighth construction session for Board 1. Completed wiring of switch input socket. Cons DFP=70 Hardware

2014-02-02

Minor changes to the VDU board design. Design Hardware VDU=100

2014-02-01

Working on HTML version of documentation. Book Com

January 2014

2014-01-27

Working on HTML version of documentation: build framework, macro set, style, content. Created pygments lexer for Microcode assembler, added scripts to generate images of PCBs out of Gerber files. Book Com

2014-01-24

Working on HTML version of documentation: build framework, macro set, style, content. Book Com

2014-01-22

Working on HTML version of documentation: interactive mode demonstration widget for VDU documentation. Book Com

2014-01-21

Working on HTML version of documentation: build framework, macro set, style, content. Book Com

2014-01-20

Minor changes to the VDU board. Added an extender port for optional VDU daughterboards (e.g. for a sprite engine). Design Hardware VDU=100

Working on HTML version of documentation: build framework, macro set, style, content. Book Com

2014-01-17

Working on HTML version of documentation. Book Com

2014-01-15

Drew new version of the datapath. Book Com

Seventh construction session for Board 1. Wired AEXT lights, AC register, plus a few miscellaneous signals. Cons DFP=66 Hardware

2014-01-14

Second attempt to produce a hybrid PDF/HTML version of the CFT book. This one is coming along better than previous ones. It uses TeX4ht with a number of hacks to sidestep issues like colour and Unicode support and converts figures, timing diagrams and other ‘difficult’ objects into bitmaps. Book Com

2014-01-11

Sixth construction session for Board 1. Cons DFP=63 Hardware

2014-01-10

Fifth construction session for Board 1. Added approximately 90 pull-up/down resistors to protect CMOS input stages against operation with floating inputs (e.g. missing processor). Cons DFP=55 Hardware

2014-01-09

Fourth construction session for Board 1. Slow work due to the complex cable routing requirements (376 signals in total, plus bus rails). Cons DFP=53 Hardware

2014-01-08

Debugging DFP with the help of the simavr framework. Fixed bus pull-ups. Code Firmware Hardware PFP Testing

Third construction session for Board 1. Wired bus rails, started light wiring harness. Cons DFP=50 Hardware

2014-01-07

Debugging DFP with the help of the simavr framework. The run/stop/step/microstep state machine now works properly. Code Firmware Hardware PFP Testing

Third construction session for Board 1. Wired bus rails, started light wiring harness. Cons DFP=50 Hardware

2014-01-06

Debugging DFP with the help of the simavr framework. Code Firmware Hardware PFP Testing

2014-01-05

Debugging DFP with the help of the simavr framework. Code Firmware Hardware PFP Testing

December 2013

2013-12-28

Building DFP testbench with simavr. Code Firmware Hardware PFP Testing

Second construction session for Board 1. Placed sockets and bypass capacitors. Cons DFP=50 Hardware

2013-12-27

Building DFP testbench with simavr. Code Firmware Hardware PFP Testing

2013-12-25

Building DFP testbench with simavr. Code Firmware Hardware PFP Testing

2013-12-24

Building DFP testbench with simavr. Code Firmware Hardware PFP Testing

2013-12-23

Building DFP testbench with simavr. Code Firmware Hardware PFP Testing

2013-12-22

Building DFP testbench with simavr. Code Firmware Hardware PFP Testing

Building DFP testbench with simavr. Code Firmware Hardware PFP Testing

2013-12-21

Investigating DFP testbench with simavr. Code Firmware Hardware PFP Testing

2013-12-20

DFP (former PFP) Firmware writing. Code Firmware Hardware PFP

2013-12-17

DFP (former PFP) Firmware writing. Code Firmware Hardware PFP

DFP (former PFP) Firmware writing. Code Firmware Hardware PFP

2013-12-16

DFP (former PFP) Firmware writing. Code Firmware Hardware PFP

2013-12-15

DFP (former PFP) Firmware writing. Code Firmware Hardware PFP

2013-12-14

DFP (former PFP) Firmware writing. Code Firmware Hardware PFP

2013-12-13

DFP (former PFP) Firmware writing. Switched MCU to Atmega328P (from Atmega168) because the firmware will definitely need more than 16k. C is quite bloated in comparison to Assembly. There really isn't that much functionality in there. Code Firmware Hardware PFP

2013-12-12

DFP (former PFP) Firmware writing. Code Firmware Hardware PFP

2013-12-07

Third wiring session for board 2. Cons DFP=40 Hardware

2013-12-06

Second wiring session for board 2. Cons DFP=20 Hardware

2013-12-05

Initial work on board 2 of the front panel. Placed sockets, wires power rails. Started wiring. Cons DFP=10 Hardware

November 2013

2013-11-29

Yet more work on the PFP firmware. Documented some of the reset/start/stop/step clock-synchronous state machine, coded some firmware functions to control it. Code Firmware Hardware PFP

Yet more work on the PFP firmware. Documented some of the reset/start/stop/step clock-synchronous state machine, coded some firmware functions to control it. Code Firmware Hardware PFP

2013-11-23

Worked on the PFP firmware. Compressed strings for a better fit in the 16k MCU. Code Firmware Hardware PFP

More work on the PFP firmware. Code Firmware Hardware PFP

2013-11-17

Completed final layout of both DFP boards. Cons DFP Hardware

Fixed dates in Changelog. Misc

2013-11-16

Wired the switches to the switch break-out board. Cons Hardware PFP

2013-11-15

Reworked the front panel assembly, preparing for laser cutting on acrylic. The LED modules fit on the LED module assembly, and the switches are fastened to a smaller switch sub-assembly, on spacers. The front panel fascia then attaches to the LED assembly completing the design. Design Hardware PFP

Rewired the switch side of the switch assembly with kynar wire. Cons Hardware PFP

2013-11-09

Redesigned the front panel fascia with the key locks moved to the bottom and the µCB display to the left of the IR (so it appears as the IR MSB nybble, which it is). Design Hardware PFP

Created CFT Project logo, version 2. This is cleaner, and probably renders better on the CFT itself. Misc

2013-11-08

Second attempt to separate the PFP into two boards. This one uses a 13 IC daughterboard. Design Hardware PFP

Wired half of the front panel switch assembly before realising the loom was laid out the wrong way. I will have to do this all over. Separated flat cable turned out to be aesthetically displeasing, anyway. The next wiring attempt will use Kynar wire. Easier to bundle into a loom and easier to deal with. The wires may terminate on a small PCB with a 50-pin female socket, which will in turn connect to the PFP board using flat cable. Cons Hardware PFP Setback

2013-11-03

Worked on the PFP/DEB joint firmware. Code Firmware Hardware PFP

Discovered a potential race condition in the interrupt state machine: if interrupts are re-enabled right before an RTI macro, there is a very minor chance the ISR will be re-entered before it exits. Like the PDP-8, the CFT is non-reentrant, and this can cause issues. The flaw can be fixed in microcode (by finding some place to add an atomic RTI instruction), or in software, by saving the ISR return address onto a stack (the Forth Return stack is an ideal choice). The latter choice is easier, of course, although it increases interrupt latency. Design Hardware PB1 Setback

2013-11-02

Worked on the PFP/DEB joint firmware. Code Firmware Hardware PFP

2013-11-01

Cleaned all four processor boards. Cons Hardware

October 2013

2013-10-31

Mouser order with PFP/DEB components arrived. The order also included Intersil 82C54 ICs needed to build the timer board and a second 16C2550 dual UART for the second half of the TTY board. I am now stocked to build the processor, PFP/DEB, interrupt controller, timer and IDE host adaptor boards. Orders

Crimped the Molex side of the front panel lights wiring loom (190 hand-crimped pins). Cons Hardware PFP

2013-10-30

Worked on the PFP/DEB joint firmware. Code Firmware Hardware PFP

The ribbon cable I ordered on Ebay was probably lost en route. Jumped the gun and bought 10m of 50-way ribbon from the high street. The price was comparable. Orders

2013-10-28

Programmed and labeled Flash ROMs. Cons Hardware PB3=100

Ordered additional components needed for the PFP/DEB board. Orders

2013-10-24

Added file removal support. 2013p-10-27 AC . Code Filesystem Software

Finished construction of PB3. Cons Hardware PB3=90

Fixed TTY input bug that would only read one character per interrupt from TTY FIFOs. Code Forth ROM Software

2013-10-22

Added file extraction support and debugged file writing. cftdt now has the essential features needed to create CFT disk images, with the exception of file deletion (which won't be needed until the CFT side can create and write files). Code Filesystem Software

2013-10-21

Restored C filesystem code functionality: cftdt can now create Level 0, 1 and 2 files and can dump filesystem blocks in hex. Code Filesystem Software

2013-10-18

Finished construction of PB2. Cons Hardware PB2=100

2013-10-17

Completed schematics for amalgamated PFP & DEB board. 31 shift registers working as I/O expanders for the MCU! I can use the 6U (double-height) board and connectors previously meant to host the hand-routed PB2. Design Hardware PFP

Placed and reflowed the bottom side of PB2. Cons Hardware PB2=50

Placed and reflowed the bottom side of PB3. The top side will have to be done when the hard to find 74HC670 arrive. Cons Hardware PB3=50

2013-10-15

Rev C PFP schematics are done, but the chip count is too high to implement on even a double-sized PCB. Now considering merging the DEB (debugging) board and PFP so that I can use a microcontroller to implement switch debouncing, lock-out and registration (12 ICs) as well as the switch operation state machine (11 ICs) and part of the start/stop state machine (7 ICs). This would remove some redundancies (e.g. both PFP and DEB implement HALT instructions), and possibly allow a ‘virtual’ front panel where the computer may be debugged and operated via a serial port. The lights would still be driven directly by hardware, of course, since the MCU would be too slow to update them all (and not have anywhere near the enough I/O pins). Design Hardware PFP Setback

2013-10-10

Ordered components for PB2, PB3 and PFP boards, plus leftover parts for wiring the front panel itself. Orders

2013-10-09

Worked on Front Panel schematics. Started splitting PFP into PFP controller, switch break-out board and light break-out board. All three are through-hole. Design Hardware PFP

Generated BOM for PB2, PB3 and PFP. Ordered parts for PB2, PB3 and PFP. Orders

2013-10-08

PB3 arrived. Orders

2013-10-07

Worked on Front Panel schematics. Design Hardware PFP

2013-10-05

Worked on Front Panel schematics. Design Hardware PFP

September 2013

2013-09-25

OPIF0 and FL are buffered but not connected to the front panel connector on PB0. There is a single spare pin (pin 38, previously grounded), now assigned to OPIF0 in the revision F PB0 board. This is less a problem than it seems, because both OPIF0 and FL are present on the control bus, and can be buffered and forwarded over to the control panel lights on the control panel controller (PFP) board. Hardware PB0 Setback Testing

Worked on Front Panel schematics. Design Hardware PFP

PB2 arrived. Orders

2013-09-24

Drafted rack mount case outlines, started changing front panel to fit. Design Hardware PFP

2013-09-21

Fixed issues with front panel assembly diagram. Design Hardware PFP

PB3 ordered. Orders

2013-09-20

Constructed temporary front panel out of cardboard. Switches and lights are still unwired. Cons Hardware PFP

2013-09-17

Screw and front panel hardware has arrived. Orders

2013-09-15

Reworked VDU board from scratch, added ESD protection. Design Hardware VDU=100

2013-09-14

Touched up PB3. Board is now ready for ordering. Rendered board. Design Hardware PB3=100

Completed prototyping board. Rendered top side of board. Design Hardware Prototyping Board=100

2013-09-06

Populated through-hole components. Patched pull-up issue for SBL muxes. PB1 is now complete. Cons Hardware PB1=100

Ordered PB2 PCBs. Orders

2013-09-05

Outputs of SBL muxes are not pulled up (they are tristated when idle). This implies the three-input NOR gate is superfluous too, but better safe than sorry (the external input, ENDEXT#, could be pulled up by mistake). Hardware PB1 Setback Testing

Finished top side of PB1, surface mount components only. Cons Hardware PB1=80

Drew up PB1 testing plan. Hardware PB1 Testing

Screws and front panel hardware. Orders

2013-09-04

Wrote brief description of img2vdu output format. Documentation Extra

C Filesystem code will now compile. Clean ups. Beginnings of rewriting of the lost code. Code Filesystem Software

2013-09-01

Uploaded video of PB0 testing to YouTube. Hardware PB0 Testing

August 2013

2013-08-30

PB0 passes passive tests and most active tests. Hardware Milestone PB0 Testing

2013-08-29

Drew up PB0 testing plan. Hardware PB0 Testing

Burned Microcode EEPROMs. Cons Hardware PB0=100

2013-08-28

Placed and soldered top side of Processor Board 1. Cons Hardware PB0=100

2013-08-27

Completed last remaining front panel boards. Tested all eight boards. Cons Hardware LED_Boards=100 Light_Assembly PFP

Placed and soldered bottom side of Processor Board 0. Cons Hardware PB0=50

2013-08-26

Improvements to the image-to-VDU converter. First revision of the VDU image format. The converter now outputs files in this format too, either binaries or as CFT Assembler source. Tools

2013-08-25

First revision of the image-to-VDU converter. It can handle multicolour and graphics modes for now, and procuces either image format simulating what the VDU displays, or VDU-format files in CFT Assembly or binary formats. Tools

2013-08-23

Mouser order with PB0 and PB1 components has arrived. Orders

2013-08-22

Recreated subversion repository with new versions of all files. Tools

Cleared PB0 and PB1 boards through customs, at the cost of two hours, eleven seperate steps in three buildings, and 75% the value of the boards in various taxes. Orders

2013-08-20

Recreated subversion repository with new versions of all files. Tools

2013-08-19

Data recovered. Didn't bother with the 8×8 font which represents a small amount of effort (early revisions of just the ASCII characters done). Misc

Added BOM for front panel to documentation. Documentation

Ordered SMT components for the printed versions of the CFT PB0 and PB1. Orders

2013-08-17

Rsync accident. Accidentally deleted all files created in the past two weeks, including some filesystem code, the completed reference card, the 8×8 font and the SpeakJet® experiment code. Setback

2013-08-16

CFT PB0 and PB1 boards arrived in Athens and are stuck in Greek customs hell. Orders Setback

Breadboarded and tested the SpeakJet® chip. Hardware SPJ Test

2013-08-11

Minor fixes to the Data Storage (filesystem description) chapter. Book Documentation

C Filesystem code can now create, read and write Level 0 and Level 1 files. Code Filesystem Software

2013-08-10

W# does not tri-state when the processor is halted. Will have to fix using a tri-state buffer. Design Hardware PB1 Setback

C Filesystem code can now create, read and write Level 0 files. Code Filesystem Software

2013-08-09

Minor error corrections. Documentation Refcard

Minor fixes to the Assembler and programming model chapter. Book Documentation

First revision of an ASCII 8×8 font. Code ROM Software

2013-08-07

Produced a bus and instruction set reference card in text, postscript and PDF. Documentation Refcard

2013-08-06

Ordered new PB0 and PB1 boards from Smart Prototyping. Orders

July 2013

2013-07-28

SpeakJet® chips delivered. Orders

2013-07-23

Minor changes to the board layout. Signal conditioning. Re-rendered board. Design Hardware PB2

Minor changes to the board layout. Fixed minor issues with component/label placement. Signal conditioning. Re-rendered board. Design Hardware PB3

SpeakJet® chips ordered. Orders

2013-07-22

Documented new Control Bus signals. Book Documentation

Minor changes to the board layout. Design Hardware PB0

Minor changes to the board layout. Signal conditioning. Re-rendered board. Design Hardware PB1

2013-07-20

Fixed Verilog testbenches for new structures. Tests on the new control bus now pass. Design Hardware Testing

Added pull-ups/pull-downs so the board can be tested on its own. The new testing scheme involves building and testing boards PB0-3 incrementally. Design Hardware PB0

Minor changes to the board layout. Design Hardware PB1

Minor changes to the board layout. Design Hardware PB2

Minor changes to the board layout. Design Hardware PB3

Built and tested the clock generator and write strobe generation logic to verify they work as expected on real hardware. Cons Hardware PB1 Testing

2013-07-19

More solder paste (in syringes), a manual applicator with plunger and an IR thermometer have been delivered. They should make hot-air soldering easier. Orders Tools

Finished routing PB0. Rendered result. Design Hardware PB1

Minor re-routing for amended control and expansion bus signals. Design Hardware PB2

Minor re-routing for amended control and expansion bus signals. Design Hardware PB3

2013-07-18

Routing PB0. Design Hardware PB1

2013-07-17

Minor routing fixes. Re-rendered. Design Hardware PB0

Placing PB1 almost from scratch. Without the unic decoders and separate microcode store connector, there's a lot more space for routing and the process is expect to be considerably less painful than previous revisions of the board. Design Hardware PB1

2013-07-16

Finished routing revision E PB0. Board passes DRC and ERC. Rendered proofs of the board. Design Hardware PB0

2013-07-15

Routing revision E with the new layout and no microcode connector. Design Hardware PB0

2013-07-14

Realised need for pull-ups for all input signals. Added pull-ups. Since I'm reworking PB0 anyway, investigating removing the microcode store connector altogether, in favour of the control bus. Most of the signals are there anyway. However, this requires moving the unit decoders to PB0 too. Added SMT resistor arrays for impedance matching on all outputs. Design Hardware PB0

Reworking PB1 to remove microcode store connector in favour of the control bus. Through-hole resistor nets to be removed in favour of SMT resistor arrays. Design Hardware PB1

PB2 was not receiving DEC# signal from the microcode store because DEC# was never assigned a control bus pin! Reworked control bus to add this. Merged INCCPL# and DECCPL# signals into ACCPL# using an AND gate on PB2. Design Hardware PB2 Setback

PB3 must be reworked to incorporate the merged INCCPL# and DECCPL# signals. This may save up to two gates. Design Hardware PB3

Reworking signals needed for the control bus, merging in signals used in the microcode connector with a view to removing it altogether. Control_Bus Design Hardware

Refactored Verilog code to account for changes in processor design. Design Hardware Sim

2013-07-13

Investigating use of the DS1805 I²C-programmable clock generator on PB1. It'll allow the processor frequency to be changed for testing, and also takes up less space than a traditional oscillator. Design Hardware PB1

Investigating use of the DS1805L I²C-programmable clock generator on the VDU. The CPLD can program it via I²C and we can support arbitrary pixel clocks up to 33 MHz (pixel clocks are currently half the frequency of the CPLD clock). Mostly, it'll be able to generate lower frequencies to drive, for instance, old-style 15 kHz RGB monitors (at lower resolutions, of course). Design Hardware VDU

2013-07-12

The wrong version of PB0 was printed! The CAM job processed the right files (revision C), but the ZIP script zipped up revision A, even after I verified the Gerbers. I'll need to re-order PB0. On the upside, I fixed the IRQS# bug in the µCB extension and rerouted the board using the TSSOP-48 16-bit buffers I ordered by mistake. The new PB0 passes ERC and DRC and has been rendered front and back, as usual. Design Hardware PB0 Routing Setback

2013-07-11

PB1 routing. Design Hardware PB1 Routing

Processor Board 0 (the Microcode Store) PCBs arrive. Milestones Orders

2013-07-10

PB1 routing. Design Hardware PB1 Routing

2013-07-09

Updated Changelog with entries from Subversion log. Changelog Documentation Progress

PB1 routing. Considering re-routing from scratch. Design Hardware PB1 Routing

2013-07-08

Generated Changelog file using entries from Facebook page. Changelog Documentation Progress

2013-07-07

Bug discovered in PB0 µCB extension: executing the Interrupt Service Routing cancels any temporarily set bank. Proposed fix is to AND the INT input to the microcode store with the temporary bank enable, making a temporary bank switch and the instruction following it an atomic operation (as far as interrupts are concerned). The design for this is still not in place and will have to be patched in because the PB0 boards have already been shipped. Design Hardware PB0 Setback

PB1 routing. Design Hardware PB1 Routing=80

Changed semantics of MBU's enable bit. 0 is on, 1 is off. Makes it faster to change banks (no additional OR is required). Makes it harder to turn off banking, which is a very uncommon operation. Design PB2 Schematic

Synchronised emulator with new I/O map. Code Emulator

Rewrote MBU emulation. Code Emulator

Changed code to accommodate new I/O map. Code Forth ROM Software

2013-07-06

6 of 8 boards populated with SMD parts. Cons Hardware LED_Boards=70 Light_Assembly PFP

2013-07-01

Drew panel assembly cross-section. Design Hardware PFP=80

PB1 routing. Design Hardware PB1 Routing

June 2013

2013-06-20

Spray-painted switch paddles for front panel switches. Cons Hardware Light_Assembly PFP Switch_Assembly

PB1 routing. Design Hardware PB1 Routing

2013-06-17

Mouser order with components for the panel and latest PB0 arrived. Orders

I ordered the wrong package for the rather expensive 16-bit buffers used for the front panel. They're TSSOP48 which is smaller than SSOP48 (which is small enough). A few single-gate ICs were ordered in three-input versions rather than two-input versions. Will work into incorporating the mis-ordered parts into other boards. Orders Setback

2013-06-14

Renamed processor boards. The boards are now PB0 (formerly the Microcode Board), PB1 (Processor Board A), PB2 (Processor Board B) and PB3 (Processor Board C). Book Documentation Meta

Moved entire sequencer to PB0. Rerouted. Design Hardware PB0

Produced CAM jobs for printing PB0. Proofed land patterns for SOIC ICs, 0805 passives and other components. Hardware PB0 Prep

Ordered PB0 boards from Smart Prototyping. Orders

Designing layout of light assembly using LED modules. Design Hardware Light_Assembly PFP

2013-06-07

First PCBs (the front panel modules) arrive from Smart Prototyping and they look good. Got a yield of thirteen boards, while ten were ordered. Milestones Orders

Designing layout of light assembly using LED modules. Design Hardware Light_Assembly PFP

2013-06-01

Writing a PC-side tool to manage and access CFT disk images, disk labels and filesystems. Developing the algorithms will provide a basis for coding them in CFT Assembly for inclusion in the ROM. Tools

May 2013

2013-05-31

‘Processor Board C’ routed. Design Hardware PB3

2013-05-23

A batch of front panel modules is on its way from China. The boards serve as a test of the fab facility's quality. Orders

2013-05-22

Touched up design of ‘Processor Board B’, the register board. Rendered the board. Design Hardware PB2

Preparing Microcode Board for printing. Routed another version, rendered result. Design Hardware PB0

2013-05-17

Spent five hours wiring up the register board. Decided 900 nets will take too long to wire and will make issues almost impossible to find and fix. Resigned to making PCBs of all four processor boards. Cons Hardware PB2 Setback

2013-05-14

Verilog verification of processor passes test suite. Design Hardware Sim Testing

2013-05-08

Revived the idea of the panel LED assembly on PCB modules. Eight single-sided modules of 4×5 LEDs were designed. This is Revision C of the front panel module. Design Hardware LED_Boards Light_Assembly PFP

2013-05-06

Microcode card job files ready for fabrication. Hardware PB0 Prep

April 2013

2013-04-22

Ordered Digital Storage Oscilloscope. Tools

2013-04-02

Routing PB2 (as ‘Processor board B’, the register board) on a 16×10cm EuroBoard. Design Hardware PB2

March 2013

2013-03-30

Rewrote tests for the hardware, including new ones to cover design changes. Hardware now covered 100% with exhaustive tests. Testing revealed numerous annoying hardware bugs that were fixed easily. Design Hardware Sim Testing

2013-03-21

Coded 32-bit division. Whoever wrote a 24-bit division routine for a PDP-8 is an unsung hero. If my assembler didn't have macros I'd have gone crazy. Code ROM Software

2013-03-12

Glitch found while testing processor as a whole. Design Hardware Setback Testing

February 2013

2013-02-26

Microcode personality board renamed to Microcode Board, hosts microcode store and µBC extension. Cleaned up schematics and routed Rev A. Rendered routed board. Design Hardware PB0

2013-02-20

Auto-Index Logic bug found. Any Indirect mode instruction immediately following an Autoindex instruction changes into an Autoindex instruction too, no matter what location is being accessed. Hardware PB1 Setback Test

2013-02-17

Toyed with the idea of a Bowen-style reference card. Documentation Refcard

GeSHI PHP syntax highlighter mode for CFT Assembly. Documentation Web

2013-02-16

Wrote CFT microcode-level simulator in Javascript. Shows Front Panel and simple output device, runs considerably slower than real hardware. Documentation Web

2013-02-09

Updated to Microcode version 6. Code Microcode Software

2013-02-06

Microcode version 6 being designed with additional instructions: JMPII (doubly-indirect JUMP, i.e. the Forth ENTER instruction) and POP to help with Forth. Design Microcode Software

Georgios Fountis donated a book on advanced Forth techniques. Misc

2013-02-04

Worked on emulator, fixing issues and refactoring code. Version 0.7 now available. Code Emulator

January 2013

2013-01-31

Started layout of PB2 as ‘Processor Board B’ on double-width Euroboard. Cons Hardware PB1

2013-01-24

VDU fully synehtesisable and tested using JTAG interface. Video of JTAG-based demo uploaded to YouTube. Design Hardware Sim VDU

2013-01-01

Added VDU support for SDRAM. Not needed for final project, but necessary to test the VDU on the dev board (which has no SRAM memory). Design Hardware Sim VDU

Design changed to use 640×480 resolution rather than initial 640×400 because of better support from available monitors. VDU now offers 40×30 and 80×30 text, and high resolution graphics up to 640×480. Design Hardware VDU

December 2012

2012-12-29

VDU design now partly synthesisable. Testing on a physical Terasic® DE-0 Nano board with an Altera® FPGA. First test patterns generated at 640×400 with 64 colours. Design Hardware Sim VDU

2012-12-16

The VDU board passes ERC and DRC tests. Design Hardware Sim VDU

Rendered Altera® CPLD VDU board revision E with PS/2 and Sun keyboard/mouse ports. Design Hardware VDU

2012-12-15

The CFT Book is now 381 pages long and includes documentation on the VDU. Book Documentation

2012-12-06

Implemented VDU in emulator for feasibility testing. It works well. Coding Emulator Sim

Altera® CPLD version of the VDU simulating cleanly. Design Hardware VDU

November 2012

2012-11-28

Debugged and simulated VDU design. Design Hardware VDU

Xilinx® software is getting in the way and crashing on Linux. Design Hardware VDU

VDU design will not fit the chosen Xilinx® CPLD part, so 5V tolerance is no longer an option. Switched camps using an Altera® CP9500XL CPLD. Design Hardware Setback VDU

2012-11-21

Horizontal phase control circuit allows for smooth horizontal scrolling. Design Hardware VDU

2012-11-19

Verified VDU design fits a Xilinx® XC95288XL CPLD. Design Hardware VDU

2012-11-18

Simulated VDU CPLD generating correct 40-column test pattern. Design Hardware Sim VDU

Split-screen working. Design Hardware Sim VDU

2012-11-17

Timing tolerances are too tight for 74HC family. VDU card switched to Xilinx® CPLD, discrete logic abandoned. Design Hardware Setback VDU

CPLD-based VDU card schematics and routing. Design Hardware VDU

First rendering of VDU card. Design Hardware VDU

2012-11-10

Debugging timing issues. Design Hardware VDU

October 2012

2012-10-31

Simulated test of cassette tape encoding. The encoding is similar to Sinclair's and sounds much like a faster version of the ZX-Spectrum's tape encoding. Design Hardware IOB

2012-10-28

First VDU image displaying in simulations. Design Hardware Milestone Sim VDU

2012-10-27

Verilog simulations of parts of the VDU. Design Hardware Sim VDU

2012-10-26

Created monitor emulator to verify VDU designs on. Design Hardware Sim Tools VDU

Verilog simulations of parts of the VDU. Design Hardware VDU

2012-10-24

Initial Verilog simulations of parts of the VDU. Design Hardware VDU

2012-10-08

Designed cassette tape interface to add to the IO Board. Design Hardware IOB

2012-10-05

Worked on documentation. Book Documentation

2012-10-04

Documented filesystem structures. Documentation Filesystem Software

First draft of a floppy controller board. Design FDC Hardware

September 2012

2012-09-27

Drafting schematics of the VDU board. Design Hardware VDU

2012-09-20

First appearance of the CFT Book as a single entity, rather than the various separate guides. The initial version is 309 pages long. Book Documentation

2012-09-18

Potential transmission-line and termination issues with backplane mandate a digital storage oscilloscope for debugging. Construction temporarily on hold while I budget. Setback Tools

2012-09-10

Created first edition of CFT Progress Poster/Infographic. Documentation Progress

2012-09-06

Programmatically extracted signals needed for the control bus using Python script and the processor's netlist. Control_Bus Design Hardware

2012-09-05

Backplane termination resistors burn parts of DEB and MEM boards. Replaced dead memory on MEM board, but one I²C GPIO chip now missing from DEB board. Hardware MEM Setback Testing

August 2012

2012-08-31

Completed construction of the MEM board. 512kW of flash ROM and RAM, debugging LEDs and pull-down resistors for when MBU is missing. Cons Hardware MEM=100

2012-08-29

MOS termination resistors on backplane too strong for CMOS drivers, getting strange readings from DEB board. Resistors getting unacceptably hot in operation. Cons DEB Hardware Setback

2012-08-26

Completed first revision of the DEB firmware. Code DEB Firmware=100 Hardware

2012-08-24

Completed construction of DEB card. Cons DEB=100 Hardware

2012-08-22

Updated Flashprog software. Added PLCC32 socket for CFT Flash ROMs. Tools

2012-08-21

AY-3-8910 chips arrive. Orders

2012-08-17

Updated specification for the DEB board. DEB Documentation Hardware

2012-08-16

Added VDU support to the emulator. Coded various other improvements. Code Emulator

2012-08-15

First round of components ordered. Milestone Orders

2012-08-09

Designed layout templates for double-width DIP boards. Documentation Hardware

Laid out PB1 as ‘Processor Board A’ with DIP components. Design Hardware PB1

Laid out PB2 as ‘Processor Board B’ with DIP components. Design Hardware PB2

Laid out PB3 as ‘Processor Board C’ with DIP components. Design Hardware PB3

2012-08-06

Finished design of debugging board. DEB Design Hardware

Rendered DEB board. DEB Documentation Hardware

Rendered DEB board. DEB Documentation Hardware

2012-08-04

Started @CFTProject twitter account. Documentation Web

July 2012

2012-07-29

Drafted specification for compact music file format to help ripping music from Z80 executables to compact files for the CFT. Documentation Hardware SND

2012-07-28

First draft of sound card incorporating an GI AY-3-8910 chip. Design Hardware SND

2012-07-23

Simplified clock generator. Design Hardware PB0

2012-07-20

Added Flickr set, opened it to the public. Documentation Web

2012-07-13

Designed front panel layout version 4 (4U, three bank). Design Hardware PFP

2012-07-12

Updated front panel specification. Documentation Hardware PFP

2012-07-01

Initial design of a VDU board. Design Hardware VDU

May 2012

2012-05-14

Completed DOES> implementation. Code Forth ROM Software

2012-05-12

Many changes to the word set. Code Forth ROM Software

Added more screenshots. Documentation Gallery

Released Revision F of the Programming Guide. Book Documentation

April 2012

2012-04-19

Additional changes to implement more words and more IDE support. Code Forth ROM Software

IDE emulation improvements. Minor changes to support updated hardware. Added more debugging info. Code Emulator

Minor bug fixes and .reg directive support. Code Cross-Assembler

2012-04-16

Major changes to the ROM to facilitate device detection/initialisation etc. Code ROM Software

Major changes to add device drivers, clean up code and implement banked memory. Code Emulator

2012-04-14

Autoindex bug located in the IN instruction. Fixed. Code Microcode Setback Software

Work on attaching new I/O devices. Code Emulator

Numerous additions to dictionary. IDE test code. Minor changes to the user area. Code Forth ROM Software

2012-04-12

Considerable amounts of work done. Compiler is now in place. Code Forth ROM Software

2012-04-11

Forth 83 multiple vocabulary support is now in place. Code Forth ROM Software

2012-04-06

More vocabulary work. Renumbering to fit ONLY vocabulary. Code Forth ROM Software

2012-04-05

Major additions for debugging, testing. Added compiler words, some defining words and more vocabulary functionality. Code Forth ROM Software

2012-04-02

Most of the interpreter is now in place, including error handling. Code Forth ROM Software

Fixed issues with excessive CPU power due to tight select(2) loops. Added more I/O. Fixed fetch/execute cycle detection. Code Emulator

March 2012

2012-03-30

Major changes to the dictionary structure. Coded user area, added some vocabulary support. Lots of refactoring. Code Forth ROM Software

2012-03-26

Various bits of Forth work. Code Forth ROM Software

2012-03-22

Implemented algorithms and unit tests for unsigned, symmetric and floored division in 16 and 32 bits. For now, Forth algorithm tests are shared with the Verilog tests (and executed with the Verilog simulator). Code Forth ROM Software

Bug fixes and implementation of various Forth words. Code Forth ROM Software

2012-03-18

Added more hardware tests. Design Hardware Testing

Imported mkskiptable, meant to speed up minor operation instructions. The functionality is currently too complex, so not used. Design Hardware

Bug fixes and Forth work. Code ROM Software

2012-03-12

Created Facebook page. Documentation Web

More Forth primitives. Code reorganisation. Code Forth ROM Software

First OS traps added. Code ROM Software

2012-03-09

Cleaning up Subversion repository. Removing temporary files. Tools

Coded core ROM Forth words (and then some). Code Forth ROM Software

February 2012

2012-02-25

Completed CFT schematic collection into a very large Eagle file. This will help keep signal names constant, and will eventually aid DRC. Design Hardware

2012-02-17

Fixed ALU bugs. Recoded Verilog ROM-ALU to handle the new ALU design. Design Hardware

Updated schematics, fixing numerous issues (including the ALU one). Design Hardware

Added batch tests for the ALU. Design Hardware Testing

Added Forth documentation (external to the project). Documentation Extra

Added FlashForth distribution (also external). Documentation Extra

Work on the filesystem code. Code Filesystem Software

2012-02-14

Corrected issues with the ROM-based ALU. Design Hardware

Coded ALU test benches in Verilog. Design Hardware Testing

2012-02-04

Drafting timer layout. CTN Design Hardware

January 2012

2012-01-20

Considerable amount of work on the front panel controller. Controller Design Hardware PFP

Worked on the clock generator. Design Hardware

2012-01-16

SMD test of front panel controller. Superseded design, now using new version of front panel controller. Controller Design Hardware PFP

Various changes and corrections to the front panel. itself. Design Hardware PFP

Added PNG files to the gallery. Documentation Gallery

2012-01-09

Added functionality to extract bills of materials from Eagle schematics. Tools

Added BOM for front panel to documentation. Book Documentation

Added external documents useful for the development of the project (datasheets, etc). Documentation Extra

First filesystem experiments. Code Filesystem Software

Front Panel version 2 (rev B). Design Hardware PFP

Front Panel Bill of Materials generated. Documentation Hardware PFP

December 2011

2011-12-30

Cleaned up crud entries from Subversion repository. Tools

2011-12-28

Added macro and file inclusion support. Code Cross-Assembler

Slight changes to Eagle3D board rendering options. Tools

Rendered front panel controller. Controller Design Hardware PFP

2011-12-26

Completed first revision of Front Panel Controller board. Controller Design Hardware PFP

2011-12-22

Additional work on the front panel. Design Hardware PFP

2011-12-21

More work on the front panel and its documentation. Design Hardware PFP

2011-12-19

Further design and verification work on the panel. Design Hardware PFP

2011-12-13

First release candidate of the front panel. Design Hardware PFP

2011-12-03

First draft of the front panel. Design Hardware PFP

2011-12-01

Worked on Front Panel schematics. Design Hardware PFP

November 2011

2011-11-30

Removed VHDL support and relevant directories. The project has been using Verilog for verification for a while. Tools

Created CFT Project logo. Misc

2011-11-08

Released FlashProg hardware and software design. Tools

October 2011

2011-10-25

Released mcasm (the Microcode Assembler). Tools

2011-10-24

Released ROMtools, a Python library to generate complex function tables on multiple ROMs. This is used to generate the ALU tables. Tools

September 2011

2011-09-02

More changes to the hardware and PCBs. Design Hardware

August 2011

2011-08-31

Changes to PCBs for new hardware style. Design Hardware

2011-08-30

Switched to ROM-based ALU. Design Hardware

2011-08-08

Many changes to the hardware design. Design Hardware

March 2011

2011-03-14

Major changes to support autoincrement mode, fix issues with the L flag (excessive toggling), rework microcode, uaddr vector, control vector, register types, etc. Design Hardware

Autoincrement now supported in LOAD. Design Microcode Software

Playing around with Eagle schematics as a very early feasibility study. Design Hardware

2011-03-03

Created Subversion repository. Initial import of pre-existing code and data. Tools

Removed Page Register from CPU design. Design Hardware

Changed MAR to '193-based register. Design Hardware

February 2011

2011-02-11

Earliest version of the ‘simple 16-bit CPU’ description, a direct descendant of the Fungus CPU. Still references 18-bit registers (like Fungus). Design Hardware

January 2011

2011-01-25

Earliest draft version of the ‘memory mapped stack machine’ CPU description referencing a PDP-8-like design, but with an 8 bit word. Design Hardware