Category Archives: Programmable Logic

More MAXI000 construction and progress towards an EmuTOS port

The absolute minimum hardware requirements to port EmuTOS to a 68000-based micro are straightforward enough: all that is needed is upwards of 512KB of RAM, about 256KB of ROM and some kind of character IO device. Of course such a setup would not be very useful as it would have no GUI or storage, only a not-very-useful command-line, called EmuCON,… Read more »

Sound and video; more MAXI000 bring-up

      No Comments on Sound and video; more MAXI000 bring-up

The build of the MAXI000 board continues. The first job was to finish the quad UART construction. The RJ45 and RJ10 sockets and the MAX238 (PDF) with its associated tantalum capacitors were all attached without any difficulty. After fixing a dodgy joint, caused by there being not enough paste on a corner pin on the MAX238: success. The bootloader was… Read more »

A PS/2 interface and PCB routing progress

Routing the MAXI000 board has been a slog. A mostly enjoyable slog, but a slog all the same. Before actually getting to the PCB design, the first task was to associate footprints with each schematic symbol. I always dread this task; you are presented with an intimidating list of symbols from the schematic and must pick the correct footprint for… Read more »

VGA improvements

      No Comments on VGA improvements

After trying to make some small improvements to my VGA implementation I’ve come to the conclusion that it is deeply flawed. Whilst I can produce a working video controller that appears to operate reliably, if I make an even insignificant change to the VHDL code then corruption when doing writes into the video memory usually occurs. It’s also clear, from… Read more »

IO board bring up

      No Comments on IO board bring up

The IO boards arrived about a week after putting the order in. The front of one of the boards: And the back: Interestingly I received two extra boards. An extra usable board and another one. The other board had been used for some kind of testing by the manufacturer as it had a piece cut out of it. The box… Read more »

Thoughts on future projects (68K!)

      No Comments on Thoughts on future projects (68K!)

This blog post does not document what I’ve done in my hobbies, except for some small projects, but rather what I plan to work on next. Before getting to that though, I should finish my description of the progress I’ve made with the VGA controller. I have attached the  EPF10K10 (PDF) FPGA to the 68000 CPU bus, and have had… Read more »

VGA signal generation with an EPF10K10 FPGA

This post has been a long time in the making. I’ve been distracted by various things: work, family, and CNC related projects. I will create a short post describing my first successfully completed CNC project after this one, since I’m pretty proud of it. But onto the topic at hand. The road to a video display began with a stand-alone breadboard… Read more »

Being sensible: a 68008 computer on breadboard

      No Comments on Being sensible: a 68008 computer on breadboard

After writing about building a 68020 computer I feel slightly silly for going back on my word: I have built up a 68008-based computer on breadboard. For one thing going right to a 68020 felt a bit like I’d be missing out; the pleasure is in exploring not the end result. I’d have left out on the other MPUs in… Read more »

An analogue joystick and implementing an SPI controller

It’s been a while since my last post. The main reason being a house move. On the plus side this is good for my projects as I now have lots more room to work on them. On the negative side, at least as far as my hobbies are concerned I’ve, somewhat unexpectedly, found myself doing some work for my old company…. Read more »

More progress…. Lots of different areas

      No Comments on More progress…. Lots of different areas

Looking again at the VHDL for my interrupt router, I realised that adding a priority encoder was fairly simple: Instead of being the masked and active interrupt lines, ROUTED is now the number (bit position plus one) of the active line. 0 is used as a special case: no interrupt lines, which are exposed by the mask, are active. This… Read more »