Category Archives: Programmable Logic

MAXI000 build complete and thinking about next steps

The physical construction of MAXI000 is complete: It looks good with the SIMM installed. I first attached the joystick parts. Testing the 9 pin Atari joystick went exactly as expected, as did testing the buttons on the Game port joystick I have. After writing a quick test routing for the SPI based MCP3002 (PDF) ADCs, I quickly encountered a problem… Read more »

A 16 bit softcore processor: Implementation

      No Comments on A 16 bit softcore processor: Implementation

In my previous blog post I talked about some of my goals for a simple 16 bit processor implemented in VHDL and running on an FPGA. Here is a diagram showing the top level design, as generated by the Quartus tools: For clarity the Control Unit and associated muxes are not shown; the remaining parts, plus the muxes, constitute the… Read more »

A 16 bit softcore processor: Introduction

      1 Comment on A 16 bit softcore processor: Introduction

During my A-level electronics class I studied many interesting topics including: Basic analogue electronics including Ohm’s law and bipolar transistor switching and amplification circuits Boolean algebra Digital design using 74 series parts Assembly programming with the 6502 The 6502 assembly programming was particularly interesting because it was hands on using some teaching boards that consisted of a 6502, a tiny… Read more »

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 »