Updated PC8080 and PDPjs to support RAM images, eliminating the need for the old "writable ROM" kludge; RAM images can include their own load and exec addresses as part of the JSON file, but the RAM component can provide explicit overrides (if no load address is specified either way, the default load address is the starting RAM address)
This commit is contained in:
parent
4cfaa5ef6e
commit
980c2ac5ab
64 changed files with 1479 additions and 1154 deletions
|
|
@ -9,10 +9,10 @@ PDP-11 Device Configurations
|
|||
|
||||
[PDP-11 Machines](/devices/pdp11/machine/) powered by [PDPjs](/modules/pdp11/) rely on a variety of devices and resources, including:
|
||||
|
||||
* [Loaders](loader/)
|
||||
* [Machines](machine/)
|
||||
* [Panels](panel/)
|
||||
* [ROMs](rom/)
|
||||
* [RAM Images](ram/)
|
||||
* [ROM Images](rom/)
|
||||
|
||||
Our collection of sample machines includes a
|
||||
[PDP-11/70 with Front Panel](/devices/pdp11/machine/1170/panel/) and [PDP-11/70 with VT100 Terminal](/devices/pdp11/machine/1170/vt100/).
|
||||
|
|
|
|||
|
|
@ -10,3 +10,4 @@ PDP-11/20 Machine Configurations
|
|||
PCjs is adding support the following PDP-11/20 configurations:
|
||||
|
||||
* [PDP-11/20 Test Machine](/devices/pdp11/machine/1120/test/) ([Debugger](/devices/pdp11/machine/1120/test/debugger/))
|
||||
* [PDP-11/20 with 16Kb and Bootstrap Loader](/devices/pdp11/machine/1120/bootstrap/) ([Debugger](/devices/pdp11/machine/1120/bootstrap/debugger/))
|
||||
|
|
|
|||
10
devices/pdp11/machine/1120/bootstrap/README.md
Normal file
10
devices/pdp11/machine/1120/bootstrap/README.md
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
---
|
||||
layout: page
|
||||
title: PDP-11/20 with 16Kb and Bootstrap Loader
|
||||
permalink: /devices/pdp11/machine/1120/bootstrap/
|
||||
machines:
|
||||
- id: test1120
|
||||
type: pdp11
|
||||
---
|
||||
|
||||
{% include machine.html id="test1120" %}
|
||||
11
devices/pdp11/machine/1120/bootstrap/debugger/README.md
Normal file
11
devices/pdp11/machine/1120/bootstrap/debugger/README.md
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
---
|
||||
layout: page
|
||||
title: PDP-11/20 with 16Kb, Bootstrap Loader, and Debugger
|
||||
permalink: /devices/pdp11/machine/1120/bootstrap/debugger/
|
||||
machines:
|
||||
- id: test1120
|
||||
type: pdp11
|
||||
debugger: true
|
||||
---
|
||||
|
||||
{% include machine.html id="test1120" %}
|
||||
13
devices/pdp11/machine/1120/bootstrap/debugger/machine.xml
Normal file
13
devices/pdp11/machine/1120/bootstrap/debugger/machine.xml
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<?xml-stylesheet type="text/xsl" href="/versions/pdpjs/1.30.1/machine.xsl"?>
|
||||
<machine id="test1120" class="pdp11" border="1" pos="center" background="#FAEBD7">
|
||||
<name pos="center">PDP-11/20: 16Kb, Bootstrap Loader, Debugger</name>
|
||||
<computer id="computer" busWidth="16"/>
|
||||
<cpu id="cpu" model="1120" cycles="6666667"/>
|
||||
<ram id="ram" addr="0x0000" size="0x4000" file="/devices/pdp11/ram/bootstrap/bootstrap.json"/>
|
||||
<device id="default" type="default"/>
|
||||
<device id="pc11" type="pc11"/>
|
||||
<serial id="dl11" adapter="0" binding="print"/>
|
||||
<panel ref="/devices/pdp11/panel/test/debugger/terminal.xml"/>
|
||||
<debugger id="debugger" base="8" messages="" commands=""/>
|
||||
</machine>
|
||||
12
devices/pdp11/machine/1120/bootstrap/machine.xml
Normal file
12
devices/pdp11/machine/1120/bootstrap/machine.xml
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<?xml-stylesheet type="text/xsl" href="/versions/pdpjs/1.30.1/machine.xsl"?>
|
||||
<machine id="test1120" class="pdp11" border="1" pos="center" background="#FAEBD7">
|
||||
<name pos="center">PDP-11/20: 16Kb, Bootstrap Loader</name>
|
||||
<computer id="computer" busWidth="16"/>
|
||||
<cpu id="cpu" model="1120" cycles="6666667"/>
|
||||
<ram id="ram" addr="0x0000" size="0x4000" file="/devices/pdp11/ram/bootstrap/bootstrap.json"/>
|
||||
<device id="default" type="default"/>
|
||||
<device id="pc11" type="pc11"/>
|
||||
<serial id="dl11" adapter="0" binding="print"/>
|
||||
<panel ref="/devices/pdp11/panel/test/terminal.xml"/>
|
||||
</machine>
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
layout: page
|
||||
title: PDP-11/20 Test Machine
|
||||
title: PDP-11/20 Test Machine
|
||||
permalink: /devices/pdp11/machine/1120/test/
|
||||
machines:
|
||||
- id: test1120
|
||||
|
|
|
|||
|
|
@ -1,11 +1,10 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<?xml-stylesheet type="text/xsl" href="/versions/pdpjs/1.30.1/machine.xsl"?>
|
||||
<machine id="test1120" class="pdp11" border="1" pos="center" background="#FAEBD7">
|
||||
<name pos="center">PDP-11/20 Test Machine with Debugger</name>
|
||||
<name pos="center">PDP-11/20 Test Machine with 56Kb and Debugger</name>
|
||||
<computer id="computer" busWidth="16"/>
|
||||
<cpu id="cpu" model="1120" cycles="6666667" resetAddr="0xC000"/>
|
||||
<ram id="ram" addr="0x0000" size="0xC000"/>
|
||||
<rom id="rom" addr="0xC000" file="/devices/pdp11/rom/test/boot.json" writable="true"/>
|
||||
<cpu id="cpu" model="1120" cycles="6666667"/>
|
||||
<ram id="ram" addr="0x0000" size="0xE000" file="/devices/pdp11/ram/bootdemo/bootdemo.json" load="0xC000" exec="0xC000"/>
|
||||
<device id="default" type="default"/>
|
||||
<device id="pc11" type="pc11"/>
|
||||
<serial id="dl11" adapter="0" binding="print"/>
|
||||
|
|
|
|||
|
|
@ -1,12 +1,12 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<?xml-stylesheet type="text/xsl" href="/versions/pdpjs/1.30.1/machine.xsl"?>
|
||||
<machine id="test1120" class="pdp11" border="1" pos="center" background="#FAEBD7">
|
||||
<name pos="center">PDP-11/20 Test Machine</name>
|
||||
<name pos="center">PDP-11/20 Test Machine with 56Kb</name>
|
||||
<computer id="computer" busWidth="16"/>
|
||||
<cpu id="cpu" model="1120" cycles="6666667" resetAddr="0xC000" autoStart="true"/>
|
||||
<ram id="ram" addr="0x0000" size="0xC000"/>
|
||||
<rom id="rom" addr="0xC000" file="/devices/pdp11/rom/test/boot.json" writable="true"/>
|
||||
<cpu id="cpu" model="1120" cycles="6666667" autoStart="true"/>
|
||||
<ram id="ram" addr="0x0000" size="0xE000" file="/devices/pdp11/ram/bootdemo/bootdemo.json" load="0xC000" exec="0xC000"/>
|
||||
<device id="default" type="default"/>
|
||||
<device id="pc11" type="pc11"/>
|
||||
<serial id="dl11" adapter="0" binding="print"/>
|
||||
<panel ref="/devices/pdp11/panel/test/terminal.xml"/>
|
||||
</machine>
|
||||
|
|
|
|||
|
|
@ -3,9 +3,8 @@
|
|||
<machine id="test1170" class="pdp11" border="1" pos="center" background="#FAEBD7">
|
||||
<name pos="center">PDP-11/70 with Front Panel and Debugger</name>
|
||||
<computer id="computer" busWidth="22"/>
|
||||
<cpu id="cpu" model="1170" cycles="6666667" resetAddr="0xC000"/>
|
||||
<ram id="ram" addr="0x0000" size="0xC000"/>
|
||||
<rom id="rom" addr="0xC000" file="/devices/pdp11/rom/test/boot.json" writable="true"/>
|
||||
<cpu id="cpu" model="1170" cycles="6666667"/>
|
||||
<ram id="ram" addr="0x0000" size="0xE000" file="/devices/pdp11/ram/bootdemo/bootdemo.json" load="0xC000" exec="0xC000"/>
|
||||
<ram id="ram" addr="0x10000" size="0x34000"/>
|
||||
<device id="default" type="default"/>
|
||||
<serial id="dl11" adapter="0" binding="print"/>
|
||||
|
|
|
|||
|
|
@ -3,9 +3,8 @@
|
|||
<machine id="test1170" class="pdp11" border="1" pos="center" background="#FAEBD7">
|
||||
<name pos="center">PDP-11/70 with Front Panel</name>
|
||||
<computer id="computer" busWidth="22"/>
|
||||
<cpu id="cpu" model="1170" cycles="6666667" resetAddr="0xC000" autoStart="true"/>
|
||||
<ram id="ram" addr="0x0000" size="0xC000"/>
|
||||
<rom id="rom" addr="0xC000" file="/devices/pdp11/rom/test/boot.json" writable="true"/>
|
||||
<cpu id="cpu" model="1170" cycles="6666667" autoStart="true"/>
|
||||
<ram id="ram" addr="0x0000" size="0xE000" file="/devices/pdp11/ram/bootdemo/bootdemo.json" load="0xC000" exec="0xC000"/>
|
||||
<ram id="ram" addr="0x10000" size="0x34000"/>
|
||||
<device id="default" type="default"/>
|
||||
<serial id="dl11" adapter="0" binding="print"/>
|
||||
|
|
|
|||
|
|
@ -3,9 +3,8 @@
|
|||
<machine id="test1170" class="pdp11" border="1" pos="center" background="#FAEBD7">
|
||||
<name pos="center">PDP-11/70 Test Machine with Debugger</name>
|
||||
<computer id="computer" busWidth="22"/>
|
||||
<cpu id="cpu" model="1170" cycles="6666667" resetAddr="0xC000"/>
|
||||
<ram id="ram" addr="0x0000" size="0xC000"/>
|
||||
<rom id="rom" addr="0xC000" file="/devices/pdp11/rom/test/boot.json" writable="true"/>
|
||||
<cpu id="cpu" model="1170" cycles="6666667"/>
|
||||
<ram id="ram" addr="0x0000" size="0xE000" file="/devices/pdp11/ram/bootdemo/bootdemo.json" load="0xC000" exec="0xC000"/>
|
||||
<ram id="ram" addr="0x10000" size="0x34000"/>
|
||||
<device id="default" type="default"/>
|
||||
<serial id="dl11" adapter="0" binding="print"/>
|
||||
|
|
|
|||
|
|
@ -3,9 +3,8 @@
|
|||
<machine id="test1170" class="pdp11" border="1" pos="center" background="#FAEBD7">
|
||||
<name pos="center">PDP-11/70 Test Machine</name>
|
||||
<computer id="computer" busWidth="22"/>
|
||||
<cpu id="cpu" model="1170" cycles="6666667" resetAddr="0xC000" autoStart="true"/>
|
||||
<ram id="ram" addr="0x0000" size="0xC000"/>
|
||||
<rom id="rom" addr="0xC000" file="/devices/pdp11/rom/test/boot.json" writable="true"/>
|
||||
<cpu id="cpu" model="1170" cycles="6666667" autoStart="true"/>
|
||||
<ram id="ram" addr="0x0000" size="0xE000" file="/devices/pdp11/ram/bootdemo/bootdemo.json" load="0xC000" exec="0xC000"/>
|
||||
<ram id="ram" addr="0x10000" size="0x34000"/>
|
||||
<device id="default" type="default"/>
|
||||
<serial id="dl11" adapter="0" binding="print"/>
|
||||
|
|
|
|||
|
|
@ -3,9 +3,8 @@
|
|||
<machine id="test1170" class="pdp11" border="1" pos="center" background="#FAEBD7">
|
||||
<name pos="center">PDP-11/70 with Front Panel</name>
|
||||
<computer id="computer" busWidth="22"/>
|
||||
<cpu id="cpu" model="1170" cycles="6666667" resetAddr="0xC000" autoStart="true"/>
|
||||
<ram id="ram" addr="0x0000" size="0xC000"/>
|
||||
<rom id="rom" addr="0xC000" file="/devices/pdp11/rom/test/boot.json" writable="true"/>
|
||||
<cpu id="cpu" model="1170" cycles="6666667" autoStart="true"/>
|
||||
<ram id="ram" addr="0x0000" size="0xE000" file="/devices/pdp11/ram/bootdemo/bootdemo.json" load="0xC000" exec="0xC000"/>
|
||||
<ram id="ram" addr="0x10000" size="0x34000"/>
|
||||
<device id="default" type="default"/>
|
||||
<serial id="dl11" adapter="0"/>
|
||||
|
|
|
|||
|
|
@ -3,9 +3,8 @@
|
|||
<machine id="test1170" class="pdp11" border="1" pos="center" background="#FAEBD7">
|
||||
<name pos="center">PDP-11/70 with Front Panel</name>
|
||||
<computer id="computer" busWidth="22"/>
|
||||
<cpu id="cpu" model="1170" cycles="6666667" resetAddr="0xC000" autoStart="true"/>
|
||||
<ram id="ram" addr="0x0000" size="0xC000"/>
|
||||
<rom id="rom" addr="0xC000" file="/devices/pdp11/rom/test/boot.json" writable="true"/>
|
||||
<cpu id="cpu" model="1170" cycles="6666667" autoStart="true"/>
|
||||
<ram id="ram" addr="0x0000" size="0xE000" file="/devices/pdp11/ram/bootdemo/bootdemo.json" load="0xC000" exec="0xC000"/>
|
||||
<ram id="ram" addr="0x10000" size="0x34000"/>
|
||||
<device id="default" type="default"/>
|
||||
<serial id="dl11" adapter="0"/>
|
||||
|
|
|
|||
11
devices/pdp11/ram/README.md
Normal file
11
devices/pdp11/ram/README.md
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
---
|
||||
layout: page
|
||||
title: PDP-11 RAM Images
|
||||
permalink: /devices/pdp11/ram/
|
||||
---
|
||||
|
||||
PDP-11 RAM Images
|
||||
-----------------
|
||||
|
||||
* [PDP-11 Boot Demo](bootdemo/)
|
||||
* [PDP-11 Bootstrap Loader](bootstrap/)
|
||||
15
devices/pdp11/ram/bootdemo/README.md
Normal file
15
devices/pdp11/ram/bootdemo/README.md
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
---
|
||||
layout: page
|
||||
title: PDP-11 Boot Demo
|
||||
permalink: /devices/pdp11/ram/bootdemo/
|
||||
redirect_from:
|
||||
- /devices/pdp11/rom/test/
|
||||
---
|
||||
|
||||
PDP-11 Boot Demo
|
||||
----------------
|
||||
|
||||
[BOOTDEMO.MAC](bootdemo.mac) is based on [BOOT.MAC](http://skn.noip.me/pdp11/boot.mac) written by [Paul Nankervis](mailto:paulnank@hotmail.com))
|
||||
|
||||
[BOOTDEMO.MAC](bootdemo.mac) was cross-assembled with [MACRO11](https://github.com/shattered/macro11) to produce [BOOTDEMO.LST](bootdemo.lst),
|
||||
which was then processed by [FileDump](/modules/filedump/) to produce [BOOTDEMO.JSON](bootdemo.json).
|
||||
11
devices/pdp11/ram/bootdemo/makefile
Normal file
11
devices/pdp11/ram/bootdemo/makefile
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
#
|
||||
# Don't have macro11? Make yourself a copy from https://github.com/shattered/macro11
|
||||
#
|
||||
|
||||
all: bootdemo.json
|
||||
|
||||
bootdemo.lst: bootdemo.mac
|
||||
macro11 bootdemo.mac -l bootdemo.lst
|
||||
|
||||
bootdemo.json: bootdemo.lst
|
||||
node ../../../../modules/filedump/bin/filedump --file=bootdemo.lst --format=octal --output=bootdemo.json --overwrite
|
||||
|
|
@ -1,11 +1,11 @@
|
|||
---
|
||||
layout: page
|
||||
title: PDP-11 Loaders
|
||||
permalink: /devices/pdp11/loader/
|
||||
title: PDP-11 Bootstrap Loader
|
||||
permalink: /devices/pdp11/ram/bootstrap/
|
||||
---
|
||||
|
||||
PDP-11 Loaders
|
||||
--------------
|
||||
PDP-11 Bootstrap Loader
|
||||
-----------------------
|
||||
|
||||
The blog post "[PDP-11 Paper Tape BASIC](http://avitech.com.au/?page_id=709)" describes the *Bootstrap Loader*,
|
||||
a small program used to load the *Absolute Loader*, which in turn loads the *PDP-11 BASIC Paper Tape*.
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
{"words":[
|
||||
{"load":0x3FE4,"exec":0x3FE4,"words":[
|
||||
0x1DC1 /*016701*/,0x0016 /*000026*/,0x15C2 /*012702*/,0x00EA /*000352*/,0x0A89 /*005211*/,0x8BC9 /*105711*/,0x80FE /*100376*/,0x9C72 /*116162*/,
|
||||
0x0002 /*000002*/,0x3F00 /*037400*/,0x0AB7 /*005267*/,0xFFEE /*177756*/,0x01F5 /*000765*/,0xFF68 /*177550*/]
|
||||
}
|
||||
}
|
||||
|
|
@ -1,10 +1,10 @@
|
|||
---
|
||||
layout: page
|
||||
title: PDP-11 ROMs
|
||||
title: PDP-11 ROM Images
|
||||
permalink: /devices/pdp11/rom/
|
||||
---
|
||||
|
||||
PDP-11 ROMs
|
||||
-----------
|
||||
PDP-11 ROM Images
|
||||
-----------------
|
||||
|
||||
* [Test ROM](test/) (based on [BOOT.MAC](http://skn.noip.me/pdp11/boot.mac) written by [Paul Nankervis](mailto:paulnank@hotmail.com))
|
||||
Any ROM images added to the project will be stored here.
|
||||
|
|
|
|||
|
|
@ -1,13 +0,0 @@
|
|||
---
|
||||
layout: page
|
||||
title: PDP-11 Test ROM
|
||||
permalink: /devices/pdp11/rom/test/
|
||||
---
|
||||
|
||||
PDP-11 Test ROM
|
||||
---------------
|
||||
|
||||
This isn't a ROM so much as a read-only image that can be loaded in RAM by the ROM component.
|
||||
|
||||
[BOOT.MAC](boot.mac) was cross-assembled with [MACRO11](https://github.com/shattered/macro11) to produce [BOOT.LST](boot.lst),
|
||||
which was then processed by [FileDump](/modules/filedump/) to produce [BOOT.JSON](boot.json).
|
||||
|
|
@ -1,11 +0,0 @@
|
|||
#
|
||||
# Don't have macro11? Make yourself a copy from https://github.com/shattered/macro11
|
||||
#
|
||||
|
||||
all: boot.json
|
||||
|
||||
boot.lst: boot.mac
|
||||
macro11 boot.mac -l boot.lst
|
||||
|
||||
boot.json: boot.lst
|
||||
node ../../../../modules/filedump/bin/filedump --file=boot.lst --format=octal --output=boot.json --overwrite
|
||||
Loading…
Reference in a new issue