The design of a video and sound card for MIDI020

For the last few weeks I’ve been working on the design of a video card for my 68020 based computer, MIDI020. Though it will principally be a video card, it makes sense to include sound generation functionality as well, and I’ve been looking at a couple of approaches to this. Though I could look at using an FM synthesis IC,… Read more »

MIDI020 build progress

      No Comments on MIDI020 build progress

The build of MIDI020 is nearly finished. There’s been some hickups along the way, but I have managed to overcome them. My order to jlcpcb.com consisted of three boards: The MIDI020 main board The Test+SRAM expansion card The Ethernet+Printer+Joystick expansion card To make things interesting, and because I wanted to try them out, each came with a solder paste stencil…. Read more »

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 Pi based music player, a MISTer and a new PC

      No Comments on A Pi based music player, a MISTer and a new PC

Before getting back to work on the MAXI000 board, I thought it would be interesting to document three other little projects I’ve been working on, none of which required the picking up of a soldering iron, or writing any programmable logic. None the less they are pretty neat and were a lot of fun. I’ve been a Logitech SqueezeBox user… Read more »

A 16 bit softcore processor: Software

      No Comments on A 16 bit softcore processor: Software

I settled on CustomASM for the re-targetable assembler for my processor, after briefly playing about with the somewhat unconventional axasm. CustomASM allows you to define a processor’s instruction set in a configuration file and then assemble assembly source code using that definition. This is easiest to explain with an example. Here is the definition of the LOADI instruction: load.{width:loadtype} {dst:reg},… 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 »