npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

pdp11-playground

v1.0.10

Published

# PDP-11 Playground

Downloads

5

Readme

NOT YET USABLE

PDP-11 Playground

An(other) implementation of a PDP-11 assembler and emulator that runs in the browser.

Unlike the others, this version doesn't require an operating system, and it is designed to give more meaningful errors. It also features breakpoints, and it can switch from the deult octal representation to either decimal or hex for anyone born after 1970.

TL:DR

For End-Users

For Developers

For Folks Who Want To Hack the Code


Why Another PDP-11 Emulator?

I'm creating a course about how computers work. Part of it looks at internal architecture, machine code, memory, registers, processor status, and so on.

The PDP-11 is an elegant, simple, and surprisingly complete machine. It lets me talk about these things without getting in the way.

The only in-browser emulators I could find were either so realistic that they needed to boot a DEC operating system to be useful, or very terse when it came to supporting new users.

What This Is

Create webpages containing placeholder divs and point this library at them.

The library will create an editor window, a machine status area, and a set of control buttons.

The editor knows about PDP-11 assembler syntax, and performs incremental assembly as you type. When it encounters a syntax error, it tries to show you just the text in error:

Whenever the source code assembles cleanly, the playground is ready to run the code. It shows STEP/RUN/RESET buttons and the contents of the processor registers (including the PSW).

As you step through the code the currently executing line is highlighted in the editor. The registers and memory dump (at the left of the source code) show when locations are read and written, along with their new values.

Clicking on a line number sets a breakpoint.

Although the environment does not have an I/O subsystem, it does emulate some basic console output macros (.ttyout and .print).

What This Is Not

  • The built-in assembler is based on DEC's Macro-11 Assembler, but without the macros and the sectioning control.

  • The PDP-11 Playground is not a complete PDP-11 computer; it's just an emulation of the processor. There's no I/O subsystem or memory management unit, so it will not boot DEC operating systems.


For Users of the Playground

Using The Playground

Adding the Playground to Your Site

Installation

API

Contributing to this Repo

Working With The Code Base

Author

Copyright © 2021 Dave Thomas (pragdave)

License

MIT