There are very many emulators of various platforms for the Amiga. Most of them may be found on Aminet. But it is first emulator of this machine and PDP-11 platform. I don't know, why it is. PDP-11 was very popular mainframes from Digital Equipment Corporation at the 197x years, desktop machines at the 198x (Professional-350 etc) and it is produced even now - by Mentec Corporation. I didn't seen any PDP-11 native emulator for Amiga. There are some portable emulators with sources, but they are written in C and they are EXTREMELY FAAAAST!!! ;-)
PDP-11 CPU was number one across the «Iron Curtain». USSR electronics industry have copied DEC's mainframes, and then even do microprocessors based on PDP-11 architecture. 1801BM1 CPU used in BK0010 was first in this series.
If you don't know, what is PDP-11 CPU - it is 16bit processor with nice symmetric instruction set. Opcodes are 16bit too, they hasn't prefixes and there are 57007 opcodes in use (other are «reserved codes» and cause exception). This version of emulator supports all of them. This CPU has eight general purpose registers, that not divide to address and data registers - all addressing modes can be used with any register. Instruction set and addressing modes are very like to Motorola's ones. Most instructions (e.g. branches) and NZVC condition flags are same that 680x0 ones. More info about PDP-11's instructon set is here.
1801BM1 3 MHz CPU speed is 250000 short (register to register) instructions per second; it's quarter of 68000 7MHz speed and approximately comparable with IBM PC/XT and Sinclair ZX-Spectrum speed.
Memory addressing space of 1801BM1 is 64 Kbytes because it has 16-bit registers (not memory mapped) and it hasn't any MMU. It is divided to different areas and it has peripheral ports included in address space:
This modes are shown simultaneously through two video outputs:
monochrome mode works on monochrome monitor output, and color mode works
on color monitor output. Color modes look as «grayscale» on mono output.
Video RAM is one for two modes; any picture is visible on both outputs.
Emulator has only one screen, video modes can be switched from keyboard or
from parameter in comment of BK program file name. Each pixel on the
screen can have one of accessible colors. Monochrome resolution is
512x256 and color resolution is 256x256 (64 bytes per line).
There are nice feature of this video controller - scroll register
(@177664 or $FFB4, this is assembler numeric format): low byte of this
word defines number of physical screen line for top of screen. This
feature is usually used for hardware text scrolling (and even smooth text
scrolling in several programs). High byte of this word contains second
bit, that controls show of bottom three quarters of screen; it is used for
decrease video RAM size and use low 28 kilobytes of RAM as general purpose
RAM - known as extended memory mode. This mode can be switched
from keyboard by pressing RightAmiga+F9.BK0010 sound is simple «beeper» - 1 bit DAC with only CPU control, not DMA. There are some custom selfmade sound extensions for BK0010 - «COVOX» (8bit DAC on parallel port) and «music processor» (General Instruments AY-3-8910 chip). All of this will be supported in further versions of emulator.
Data storage of original BK0010 is simply an audio tape recorder. All procedures for input-output are located in ROM, and emulator substitutes them by dos.library calls.