including the runtime of DUNGEON, compiled from the FORTRAN Sources.
Transferred the image together with a command file to QBONE.
My 11/73 could boot it without any complaints.
brought DUNGEON to life and it seems to work.
Maybe this is of any interest to QBONE users.
I could upload the disk on request.
11/73's console....
root@qbone:~/10.03_app_demo/5_applications/w_dun# ~/10.03_app_demo/4_deploy/demo -aw 22 --verbose --cmdfile
rt11_dk0_73_dungeon.cmd
iarg1=8, iarg2=15
[18:54:39.732656 Inf APP] Printing verbose output.
demo - QUniBone QBUS test application.
Version DBG v1.5.0, compile Dec 13 2020 19:07:49.
[18:54:39.736799 Inf APP] Registering Non-PRU GPIO pins.
[18:54:39.737834 Inf GPIOS] GPIO0 registers at 44E07000 - 44E07FFF (size = 1000)
[18:54:39.738875 Inf GPIOS] GPIO1 registers at 4804C000 - 4804CFFF (size = 1000)
[18:54:39.739889 Inf GPIOS] GPIO2 registers at 481AC000 - 481ACFFF (size = 1000)
[18:54:39.741178 Inf GPIOS] GPIO3 registers at 481AE000 - 481AEFFF (size = 1000)
[18:54:39.746517 Inf APP] Disable DS8641 drivers.
[18:54:39.747826 Inf APP] Leave SYSBOOT mode.
*** QUniBone QBUS technology demonstrator build Dec 13 2020 19:15:35
tg Test of single non-PRU GPIO pins
tp Test I2C paneldriver
tl Test of IO bus latches
bs Stimulate QBUS bus signals
tm Test Bus Master: access QBUS address range without PDP-11 CPU arbitration
ts Test shared DDR memory = QBUS memory as BUS SLAVE
ti Test Interrupts (needs physical PDP-11 CPU)
d Emulate devices, with PDP-11 CPU arbitration
dc Emulate devices and CPU, PDP-11 must be disabled.
m Full memory slave emulation with DMA bus master functions by PDP-11 CPU.
i Info, help
q Quit
d
[18:54:39.754989 Inf APP] Connecting to PRU.
[18:54:39.756080 Inf DDRMEM] Shared DDR memory: 4194304 bytes available, 4194304 bytes needed.
[18:54:39.756196 Inf DDRMEM] Virtual (ARM Linux-side) address: 0xb5b67000
[18:54:39.756265 Inf DDRMEM] Physical (PRU-side) address:9d100000
[18:54:39.756327 Inf DDRMEM] 4194304 bytes of QBone memory allocated
[18:54:39.757974 Inf PRU] Loaded and started PRU code with id = 2
[18:54:39.860464 Inf APP] Registering non-PRU pins.
[18:54:39.861759 Inf GPIOS] GPIO0 registers at 44E07000 - 44E07FFF (size = 1000)
[18:54:39.862851 Inf GPIOS] GPIO1 registers at 4804C000 - 4804CFFF (size = 1000)
[18:54:39.864572 Inf GPIOS] GPIO2 registers at 481AC000 - 481ACFFF (size = 1000)
[18:54:39.865909 Inf GPIOS] GPIO3 registers at 481AE000 - 481AEFFF (size = 1000)
[18:54:39.871025 Inf APP] Disable DS8641 drivers.
[18:54:39.872247 Inf APP] Leave SYSBOOT mode.
[18:54:39.873846 Inf APP] Registering multiplex bus latches, initialized later by PRU code.
[18:54:39.874853 Inf APP] Initializing device register maps.
[18:54:39.882166 Inf QUNAPT] QUNIBUSADAPTER::worker(0) started
[18:54:39.884108 Inf QUNAPT] Trying to set thread realtime priority = 50
[18:54:39.885546 Inf QUNAPT] Scheduling is at RT priority.
[18:54:39.885705 Inf QUNAPT] Thread priority is 50
[18:54:39.893271 Inf pnl] PANEL::worker(0) started
[18:54:39.895332 Inf MSSVR] Trying to set thread realtime priority = 50
[18:54:39.897289 Inf MSSVR] Scheduling is at RT priority.
[18:54:39.897455 Inf MSSVR] Thread priority is 50
*** Test of device parameter interface and states.
QBUS devices are clients to PDP-11 CPU acting asg DMR/IRQ Arbitrator
(CPU active: running or HALTed executing microcode ODT).
CPU is physical or emulated.
Memory access as Bus Master with DMR/DMG/SACK handshake.
No current device selected
NO QBUS memory installed ... device test limited!
m i Install (emulate) max QBUS memory
m f [word] Fill QBUS memory (with 0 or other octal value)
m d Dump QBUS memory to disk
m ll <filename> Load memory content from MACRO-11 listing file (boot loader)
m lp <filename> Load memory content from absolute papertape image
m lp Reload last memory content from file ""
ld List all defined devices
en <dev> Enable a device
dis <dev> Disable device
sd <dev> Select "current device"
e <addr> Examine octal QBUS address.
d <addr> <val> Deposit octal val into QBUS address.
dbg c|s|f Debug log: Clear, Show on console, dump to File.
(file = qunibone.log.csv)
init Pulse QBUS INIT
pwr Simulate QBUS power cycle (DCOK/POK)
q Quit
pwr
<<<
<<< Input: waiting for 3000 milli seconds >>>
<<<
m i
Disable memory emulation, size physical memory ...
Found physical memory in full range 0..17757776, no emulation necessary!
*** Test of device parameter interface and states.
QBUS devices are clients to PDP-11 CPU acting asg DMR/IRQ Arbitrator
(CPU active: running or HALTed executing microcode ODT).
CPU is physical or emulated.
Memory access as Bus Master with DMR/DMG/SACK handshake.
No current device selected
NO QBUS memory installed ... device test limited!
m i Install (emulate) max QBUS memory
m f [word] Fill QBUS memory (with 0 or other octal value)
m d Dump QBUS memory to disk
m ll <filename> Load memory content from MACRO-11 listing file (boot loader)
m lp <filename> Load memory content from absolute papertape image
m lp Reload last memory content from file ""
ld List all defined devices
en <dev> Enable a device
dis <dev> Disable device
sd <dev> Select "current device"
e <addr> Examine octal QBUS address.
d <addr> <val> Deposit octal val into QBUS address.
dbg c|s|f Debug log: Clear, Show on console, dump to File.
(file = qunibone.log.csv)
init Pulse QBUS INIT
pwr Simulate QBUS power cycle (DCOK/POK)
q Quit
m ll dk.lst
Loaded MACRO-11 listing from file "dk.lst" into memory: 61 words from 000000 to 010160.
No entry address at "start" label is 17777777777.
en rk
[18:54:47.339198 Inf QUNAPT] QUnibusAdapter: Registering device rk
en rk0
sd rk0
Current device is "rk0"
Controller base address = io17777400
*** Test of device parameter interface and states.
QBUS devices are clients to PDP-11 CPU acting asg DMR/IRQ Arbitrator
(CPU active: running or HALTed executing microcode ODT).
CPU is physical or emulated.
Memory access as Bus Master with DMR/DMG/SACK handshake.
Current device is "rk0"
QBUS controller base address = 17777400
NO QBUS memory installed ... device test limited!
m i Install (emulate) max QBUS memory
m f [word] Fill QBUS memory (with 0 or other octal value)
m d Dump QBUS memory to disk
m ll <filename> Load memory content from MACRO-11 listing file (boot loader)
m ll Reload last memory content from file "dk.lst"
m lp <filename> Load memory content from absolute papertape image
m lp Reload last memory content from file "dk.lst"
ld List all defined devices
en <dev> Enable a device
dis <dev> Disable device
sd <dev> Select "current device"
p <param> <val> Set parameter value of current device
p <param> Get parameter value of current device
p panel Force parameter update from panel
p Show all parameter of current device
d <regname> <val> Deposit octal value into named device register
e <regname> Examine single device register (regno decimal)
e Examine all device registers
e <addr> Examine octal QBUS address.
d <addr> <val> Deposit octal val into QBUS address.
dbg c|s|f Debug log: Clear, Show on console, dump to File.
(file = qunibone.log.csv)
init Pulse QBUS INIT
pwr Simulate QBUS power cycle (DCOK/POK)
q Quit
p image rtv4_DUNGEON_rk.dsk
[18:54:47.353860 Inf rk0] rk0::worker(0) started
Name Short Value Unit Access Info
----- ----- ------------------- ---- -------- ------------------
image img rtv4_DUNGEON_rk.dsk writable Path to image file
<<< Disk drive now on track after 5 secs
<<<
<<< Input: waiting for 6000 milli seconds >>>
[18:54:47.355335 Inf rk] rk::worker(0) started
[18:54:47.356576 Inf rk] Trying to set thread realtime priority = 50
[18:54:47.356764 Inf rk] Scheduling is at RT priority.
[18:54:47.356839 Inf rk] Thread priority is 50
<<<
p
Parameters of device rk0:
Name Short Value Unit Access Info
--------------- ----- ------------------- ---- --------- ------------------------------------------------------
name name rk0 read only Unique identifier of device
type type RK05 read only Type
enabled en 1 read only device installed and ready to use?
emulation_speed es 1 writable 1 = original speed, > 1: faster
verbosity v 4 writable 1 = fatal, 2 = error, 3 = warning, 4 = info, 5 = debug
unit unit 0 read only Unit # of drive
capacity cap 0 byte read only Storage capacity
image img rtv4_DUNGEON_rk.dsk writable Path to image file
<<< RK drives ready.
<<< RK11 boot loader installed.
<<< Start 10000 to boot from drive 0
<<< Reload boot loader with "m ll"
D>>>
#################################################################
11/73 terminal
###################################################################
Testing in progress - Please wait
Memory Size is 4088 K Bytes
9 Step memory test
Step 1 2 3 4 5 6 7 8 9
Starting automatic boot
---- Input <CTRL> C via keyboard .....
Commands are Help, Boot, List, Setup, Map and Test.
Type a command then press the RETURN key: B DK0:
Trying DK0
Starting system from DK0
RT-11SJ V04.00C
.D 56=5015
.TYPE V4USER.TXT
Welcome to RT-11 Version 4. RT-11 V04 provides new hardware support
and some major enhancements over Version 3B.
Please use the HELP command; it describes the new options in many
of the utilities.
If you are using a terminal that requires fill characters,
modify location 56 with a Deposit command before proceeding with
system installation. LA36 DECwriter II and VT52 DECscope terminals
do NOT require such modification.
.D 56=0
.R DUNGEO
Welcome to Dungeon. This version created 18-JUL-80.
You are in an open field west of a big white house with a boarded
front door.
There is a small mailbox here.
>HELP
Useful commands:
The 'BRIEF' command suppresses printing of long room descriptions
for rooms which have been visited. The 'SUPERBRIEF' command suppresses
printing of long room descriptions for all rooms. The 'VERBOSE'
command restores long descriptions.
The 'INFO' command prints information which might give some idea
of what the game is about.
The 'QUIT' command prints your score and asks whether you wish
to continue playing.
The 'SAVE' command saves the state of the game for later continuation.
The 'RESTORE' command restores a saved game.
The 'INVENTORY' command lists the objects in your possession.
The 'LOOK' command prints a description of your surroundings.
The 'SCORE' command prints your current score and ranking.
The 'TIME' command tells you how long you have been playing.
The 'DIAGNOSE' command reports on your injuries, if any.
Command abbreviations:
The 'INVENTORY' command may be abbreviated 'I'.
The 'LOOK' command may be abbreviated 'L'.
The 'QUIT' command may be abbreviated 'Q'.
Containment:
Some objects can contain other objects. Many such containers can
be opened and closed. The rest are always open. They may or may
not be transparent. For you to access (e.g., take) an object
which is in a container, the container must be open. For you
to see such an object, the container must be either open or
transparent. Containers have a capacity, and objects have sizes;
the number of objects which will fit therefore depends on their
sizes. You may put any object you have access to (it need not be
in your hands) into any other object. At some point, the program
will attempt to pick it up if you don't already have it, which
process may fail if you're carrying too much. Although containers
can contain other containers, the program doesn't access more than
one level down.
Fighting:
Occupants of the dungeon will, as a rule, fight back when
attacked. In some cases, they may attack even if unprovoked.
Useful verbs here are 'ATTACK <villain> WITH <weapon>', 'KILL',
etc. Knife-throwing may or may not be useful. You have a
fighting strength which varies with time. Being in a fight,
getting killed, and being injured all lower this strength.
Strength is regained with time. Thus, it is not a good idea to
fight someone immediately after being killed. Other details
should become apparent after a few melees or deaths.
Command parser:
A command is one line of text terminated by a carriage return.
For reasons of simplicity, all words are distinguished by their
first six letters. All others are ignored. For example, typing
'DISASSEMBLE THE ENCYCLOPEDIA' is not only meaningless, it also
creates excess effort for your fingers. Note that this trunca-
tion may produce ambiguities in the intepretation of longer words.
You are dealing with a fairly stupid parser, which understands
the following types of things--
Actions:
Among the more obvious of these, such as TAKE, PUT, DROP, etc.
Fairly general forms of these may be used, such as PICK UP,
PUT DOWN, etc.
Directions:
NORTH, SOUTH, UP, DOWN, etc. and their various abbreviations.
Other more obscure directions (LAND, CROSS) are appropriate in
only certain situations.
Objects:
Most objects have names and can be referenced by them.
Adjectives:
Some adjectives are understood and required when there are
two objects which can be referenced with the same 'name' (e.g.,
DOORs, BUTTONs).
Prepositions:
It may be necessary in some cases to include prepositions, but
the parser attempts to handle cases which aren't ambiguous
without. Thus 'GIVE CAR TO DEMON' will work, as will 'GIVE DEMON
CAR'. 'GIVE CAR DEMON' probably won't do anything interesting.
When a preposition is used, it should be appropriate; 'GIVE CAR
WITH DEMON' won't parse.
Sentences:
The parser understands a reasonable number of syntactic construc-
tions. In particular, multiple commands (separated by commas)
can be placed on the same line.
Ambiguity:
The parser tries to be clever about what to do in the case of
actions which require objects that are not explicitly specified.
If there is only one possible object, the parser will assume
that it should be used. Otherwise, the parser will ask.
Most questions asked by the parser can be answered.
>QUIT
Your score would be 0 [total of 585 points], in 2 moves.
This gives you the rank of Beginner.
Do you wish to leave the game?
Y
.DIR
SWAP .SYS 25 01-Feb-82 RT11BL.SYS 65 01-Feb-82
RT11SJ.SYS 67 01-Feb-82 RT11FB.SYS 80 01-Feb-82
TT .SYS 2 01-Feb-82 DT .SYS 3 01-Feb-82
DP .SYS 3 01-Feb-82 DX .SYS 3 01-Feb-82
DY .SYS 4 01-Feb-82 RF .SYS 3 01-Feb-82
RK .SYS 3 01-Feb-82 DL .SYS 4 01-Feb-82
DM .SYS 5 01-Feb-82 DS .SYS 3 01-Feb-82
DD .SYS 5 01-Feb-82 MT .SYS 9 01-Feb-82
MM .SYS 9 01-Feb-82 MS .SYS 10 01-Feb-82
LP .SYS 2 01-Feb-82 LS .SYS 2 01-Feb-82
CR .SYS 3 01-Feb-82 NL .SYS 2 01-Feb-82
PC .SYS 2 01-Feb-82 PD .SYS 3 01-Feb-82
CT .SYS 6 01-Feb-82 BA .SYS 7 01-Feb-82
PIP .SAV 23 01-Feb-82 DUP .SAV 41 01-Feb-82
DIR .SAV 17 01-Feb-82 FORMAT.SAV 19 01-Feb-82
SLP .SAV 9 01-Feb-82 SIPP .SAV 20 01-Feb-82
V4USER.TXT 1 01-Feb-82 CREF .SAV 6 01-Feb-82
DUMP .SAV 8 01-Feb-82 MBOT16.BOT 1 01-Feb-82
RESORC.SAV 15 01-Feb-82 SYSMAC.SML 42 01-Feb-82
EDIT .SAV 19 01-Feb-82 KED .SAV 60 01-Feb-82
K52 .SAV 55 01-Feb-82 TECO .SAV 50 01-Feb-82
MACRO .SAV 51 01-Feb-82 MAC8K .SAV 56 01-Feb-82
LINK .SAV 41 01-Feb-82 LIBR .SAV 22 01-Feb-82
FILEX .SAV 18 01-Feb-82 SRCCOM.SAV 13 01-Feb-82
BINCOM.SAV 10 01-Feb-82 MTHD .SYS 4 01-Feb-82
MMHD .SYS 4 01-Feb-82 MSHD .SYS 5 01-Feb-82
PATCH .SAV 10 01-Feb-82 PAT .SAV 8 01-Feb-82
HELP .SAV 107 01-Feb-82 HELP .EXE 7 01-Feb-82
HELP .MLB 98 01-Feb-82 ERROUT.SAV 17 01-Feb-82
SYSGEN.SAV 39 01-Feb-82 SYSGEN.CND 134 01-Feb-82
SYSTBL.CND 23 01-Feb-82 DEMO .FOR 2 01-Oct-78
RSXTIM.MAC 1 01-Dec-89 VMSRND.MAC 1 01-Dec-89
RTBLD .COM 1 01-Dec-89 D .ODL 2 01-Dec-89
RSXBLD.CMD 1 01-Dec-89 RTCMP .COM 1 01-Dec-89
FORTRA.HLP 5 13-Aug-77 RRND .MAC 3 01-Dec-89
QUEMAN.SAV 13 01-Feb-82 QUEUE .REL 14 01-Feb-82
SYSLIB.OBJ 47 01-Feb-82 MDUP .SAV 18 01-Feb-82
MDUP .MM 48 01-Feb-82 MDUP .MT 48 01-Feb-82
MDUP .MS 48 01-Feb-82 MBOOT .BOT 1 01-Feb-82
MSBOOT.BOT 3 01-Feb-82 RSXCMP.CMD 2 01-Dec-89
DEMOED.TXT 1 01-Feb-82 README.TXT 36 01-Feb-82
VT52 .TEC 5 01-Feb-82 VEG .TEC 4 01-Feb-82
EDIT .TEC 1 01-Feb-82 INSERT.TEC 2 01-Feb-82
LOCAL .TEC 3 01-Feb-82 SORT .TEC 3 01-Feb-82
VTEDIT.TEC 32 01-Feb-82 TECO .TC 23 01-Feb-82
SEARCH.TEC 3 01-Feb-82 SQU .TEC 13 01-Feb-82
TYPE .TEC 12 01-Feb-82 TECO .INI 15 01-Feb-82
ODT .OBJ 9 01-Feb-82 VDT .OBJ 9 01-Feb-82
VTHDLR.OBJ 9 01-Feb-82 PLOT55.OBJ 3 01-Feb-82
DEMO .SAV 16 DINDX .DAT 97 01-Dec-89
FORTRA.SAV 128 DUNGEO.DOC 44 01-Dec-89
FORLIB.OBJ 157 RSTSCB.CTL 3 01-Dec-89
SPEED .SAV 4 01-Feb-82 SYCND .BL 3 01-Feb-82
SYSTBL.BL 4 01-Feb-82 SYCND .DIS 5 01-Feb-82
SYCND .HD 5 01-Feb-82 SYSTBL.DIS 4 01-Feb-82
RTBL .MAP 16 01-Feb-82 RTSJ .MAP 16 01-Feb-82
124 Files, 3056 Blocks
1706 Free blocks