RSSAmplifier

Blog

My PDP-11 related electronic projects on My PDP-11 Projects

Recent content in My PDP-11 related electronic projects on My PDP-11 Projects

5volts.chRSS feed ↗89 posts

Latest posts

RLV12 Firmware

As already mentioned the hardware also supports a RLV12 emulation. For this you need to load the alternative RLV12 firmware for the microcontroller.

Universal Harddisk Controller for PDP-11/Hack

The odyssey of disk emulators has finally gotten to an end. At least a status where I can say, new hardware designs are very unlikely, has been reached. After many iterations of new disk emulators up to the version 3.2 for the PDP‑11/Hack and a preliminary version 4.0 I decided to use the design of the MSCP Emulator for the real Q-BUS as the base for my new Universal Disk Emulator for the…

Downloads and Links

In the following page you can find links to all resources mentioned and also download links for the KiCAD Project, the CPLD Design files, CPLD JEDEC files, source code and hex file of the microcontroller firmware.

Command Line Interface

The microcontroller provides a command line interface with a lot of commands. Many commands are used for debugging and development and are typically not used during the normal usage of the disk emulator. Als implemented is a Apple II monitor like command to directly manipulate the SRAM of the microcontroller. As well this is mainly for debugging purposes.

Theory of Operation

Basic operational background of the hardware. The hardware in fact implements a generic Q-Bus interface to a microcontroller. With the appropriate programming of the CPLD and the firmware of the microcontroller you could implement many different devices.

Fast Start

In this page I will show the steps to use a minimal setup with startup configuration and just disk images copied to a FAT-32 formatted SD-Card. The emulator also has a feature to load a boostrap loader via DMA to the PDP-11 memory which is very handy in case you don’t have a bootstrap loader in your boot ROM.

Preparation of SD-Card

Before you can use the MSCP Emulator you need to prepare an SD-Card. PDP-11 diskimages are stored either as partitions or as disk image files on an additional FAT-32 partition. You can mix and match any of the options. In the simplest form you can just use a FAT-32 formatted SD-Card and copy your disk image files.

Building Instructions and Installation

In this web page I will describe the how to install the Q-Bus MSCP Emulator and also how to build your own MSCP Emulator. The firmware is entirely written in AVR assembler and the PCB has been design using KiCAD.

MSCP Emulator

The MSCP Emulator is a disk controller that emulates the MSCP protocol and connects the PDP-11 with a SD-Card where the disk images, that are used as the emulated disks, are stored as normal files. The following describes the Q-BUS version of the MSCP Emulator.

MSCP Emulator - Introduction

Overview of the MSCP Emulator Project. This is a dual width Q-Bus card for LSI-11 systems that implements the MSCP protocol to talk to the system and uses an SD-Card to store disk image files used by the PDP-11

MCU Line Time Clock and Maintenance Register

The last piece for a fully working PDP-11 is a line time clock. In addition I decided to add the so called Maintenance Register which gives information about the installed module and features.

MCU Boot ROM Emulation

In this article I will show the first feature using the MCU, a boot ROM. This will introduce the MCU interface and first MCU firmware.

MCU Interrupt Handler

Next step is to arm the interrupts. We will implement interrupts for the console interface using the DC319 and interrupts generated by the MCU based on the status of the emulated devices.

MCU Serial Line Units Emulation

The next IO we will implement on the MCU IO card are serial line units. We will emulate standard DLV11 units using the MCU and add two SLUs to the DCJ11 SBC.

MCU based IO card

In the following I will show an expansion card which uses an ATF1508 CPLD and an AVR128DB64 microcontroller. The ATF1508 builds the interface between the expansion slot of the DCJ11 SBC and the microcontroller and performs all actions that cannot be built using software and also informs the microcontroller if the accessed device register requires processing by the microcontroller.

FIG-Forth V 1.3.3

Forth exists as well as a stand-alone program für the PDP-11 and to my surprise, it does not make use of interrupts, therefore it can be loaded to the DCJ11 SBC without an expansion board or additional hardware. However that’s not all, the story goes further.

Multi IO Expansion Card

Only a console and ODT is a little dull, so why not add a second serial interface and some EERPOM to make the DCJ11 SBC a bit more useful. And as we are at it why not add some GPIO. This second serial interface still will not make the DCJ11 SBC into a fully functional PDP-11 capable of running major software, but it will enable some interesting applications

Booting RT-11 on the DCJ11 SBC

Now as all pieces have been put together we are ready to boot RT-11 on the DCJ11 SBC using SLUA and a TU-58 emulator. The following describes how to create a minimal bootable TU-58 image.

Interfacing a DCJ11 with a W65C22 VIA

A nice feature to the DCJ11 SBC would be programmable IO. The ubiquos VIA W65C22, the CMOS version from Western Design Centre of the famous MCS6522 from MOS Technology Inc. seems to be on the top of the wish list

CDP6402 Adapter to Replace DC319

For those without the possibility to get their hands on a DC319 UART I have created a small CDP6402 adapter to plug into the socket for the DC319.

Single Board Computer Building Instructions

Detailed building instructions for the SBC giving a step by step description of each individual step.

First Steps in using the DCJ11 SBC

Now as the DCJ11 SBC is completed what can you do with it? Here are some first tests you can run using the console and ODT.

Alternate Decoder Logic using a GAL

Instead of using the six TTL logic devices you can use a GAL16V8. This will save you sockets, soldering time and the need to purchase many different TTL logic components.

Optional Memory and Memory Logic

The DCJ11 SBC is prepared for more RAM and also provides the necessary logic to decode non-existing memory address

DCJ11 SBC Expansion Slot

The DCJ11 SBC is equipped with a edge card holder for an expansion card. This expansion slots can be used to provide additional logic and circuits to either enhance the DCJ11 SBC up to make the DCJ11 SBC behave exactly as a real PDP-11.

Combine the DCJ11 SBC with Breadboards

For more fun, projects or any advanced feature you would develop your own PCB that goes into the card edge slot, the expansion slot. However for many small projects this would be overkill. Therefore I built an interface to savely connect the DCJ11 SBC to a breadboard and also show some experiments you can do with this interface

Description of Circuit

In this article I go more into the details of the circuit used for the DCJ11 SBC

PDP-11/Hack de Luxe

PDP‑11/Hack de Luxe is an Eurocard sized Single Board Computer using a DCJ11 which implements the basic features of a breadboard PDP‑11/Hack with an expansion slot that allows for further enhancement up to a fully functional PDP‑11 running RT‑11.

DCJ11 Single Board Computer

Eurocard sized Single Board Computer using a DCJ11 which implements the basic features of a breadboard PDP-11/Hack with an expansion slot that allows for further enhancement up to a fully functional PDP-11 running RT-11.

Introduction to the DCJ11

The DCJ11 was the last PDP‑11 processor developed by DEC. When you first look at it and try to read the datasheet you might be overhelmed by the complexity and features of this CPU. But compared to other 16-bit processors of this era it was in fact very powerful but yet still easy to use. For those interested I have put together what I know about the DCJ11.

PDP-11 Q-Bus Memory

A PDP-11 is more fun to use, when you have more memory, especially when your system supports 22-bit addressing. This article is about the first memory card I have built for Q-Bus systems. This is a very simple Memory Card which uses 1M x 16 bit SRAM. It supports one or two SRAM for a total of either 2Mbyte or 4Mbyte of RAM.

RLV12 V2.0 Firmware Update

In the meantime I have updated the CPLD interface and the MCU firmware. Everything has changed quite a lot internally however the hardware remains the same.

RLV12 V2.0 Schemata

The following describes the schematics, I use Eagle as CAD

RLV12 V2.0 CPLD Design

In this chapter I go into the details of the CPLD design

RLV12 V2.0 Introduction

What is the RLV12 V2.0 Emulator, how das it work and how it can be used.

RLV12 V2.0 Command Interface

The RLV12 Emulator comes with a serial port to control various features. In this chapter I give an overview of the interface and the commands implemented through the command line interface using the serial port.

RLV12 V2.0 Background

This article describes the new RLV12 Emulator V2.0. Based on the experience with my first RLV12 Emulator V1.0 I decided to create a new version of a RLV12 Emulator which addresses many issues I had with this version.

Introduction to my RTOS for AVR Processors

I have been working on this RTOS for quite some time. Compared to the initial version in 2021 a lot has changed. The following describes the third major revision of my RTOS.

RLV12 V2.0 Logging

The RLV12 Emulator has a built-in logging function that stores all controller activities in a circular buffer in the RAM of the microcontroller

RLV12 V2.0 Firmware Description

Emulation takes place in the microcontroller used in the RLV12 Emulator V2.0. This emulator maps partitions on a MBR formatted SD‑Card or disk images on a FAT‑16/32 partition to the units. The MCU also provides a user interface with many option.

RLV12 V2.0 Hardware Description

In the following page I will describe in details the building blocks and functions used to build version 2.0 of the RLV12 Emulator

RLV12 V2.0 Firmware Update 2024

More than four years, since the first release of the RLV12 Emulator V2.0 firmware and CPLD design files have passed. During this time I have been working on the firmware and have sporadically made enhancements, fixed bugs and added features.

RLV12 V2.0 Overview

The RLV12 V2.0 Emulator consists of two boards, the main board that plugs into the Q-Bus and a break-out board with all required interfaces. They are linked with a 34-pin IDE ribbon cable

Development

Over the years I have changed the way I develop my applications especially how I create programms for my Atmel MCUs. After many detours I have decided to no longer use the Microchip IDEs

New Harddisk Controller for PDP-11/Hack

After creating the RLV12 Emulator V2.0 for the Q-Bus I decided to build as well a new RLV12 Emulator for the PDP‑11/Hack. It also features the break-out board interface and fixes the missing decoupling capacitors and it was built with universal disk controller emulation in mind.

Adapters

I often have the need for prototyping certain features or ideas using either a CPLD or an MCU. I mostly use a breadboard for this purpose. Howeveer when it comes to use a CPLD you need some sort of adapters. After using several off the shelf universal adapters I decided to build my own adapters

RLV12 Emulator Version 2.0

This is the updated RLV12 Emulator with a break-out board for all interfaces.

RLV12 V2.0 Breakout Board

All external interfaces, including the SD-Card slot are now brought to a break-out board that can be installed at a convenient place of your installation

RLV12 V2.0 Breakout Board

All external interfaces, including the SD-Card slot are now brought to a break-out board that can be installed at a convenient place of your installation

RLV12 V2.0 Building Instructions

The following gives some guidelines how to build the Emulator February 2020: Added some information regarding programming the MCU and CPLD