This:
[BITXOV]$ mcr pdp8
PDP-8 simulator V4.0-0 Beta git commit id: f1f8c855
pdp8.ini-9> attach lpt printer.txt
LPT: creating new file
pdp8.ini-32> attach ttix 8888
$JOBening on port 8888
$MSG *** DEFINING LOGICALS ***
WELCOME TO OS/8
DEFINED LOGICALS:
- FOCAL: RKA1: (FOCAL EXAMPLES AND BINARIES)
- GAMES: RKB1: (BASIC GAMES)
- DSK: RKB0: (USER PARTITION)
- SYS: RKA0: (SYSTEM PARTITION)
#END BATCH
.DIR
ISS .DA 1 START .BK 1 MODUL .RL 2
VECSUB.FT 2 BASIC .WS 21 VECSUB.LS 2
VECMUL.FT 1 PASCAL.PA 364 VECSUB.RL 2
VECINV.FT 1 ORB .LD 9 VECINV.LS 2
GRAVF .FT 2 HELPA .PS 1 VECINV.RL 2
MODUL .FT 1 BUBBLE.PS 4 VECMUL.LS 2
TEST .BA 1 ORB .LS 8 VECMUL.RL 2
EARTH .DA 1 ORB .RL 5 ORB .MP 2
ORB .FT 7 GRAVF .LS 3 OUT .LS 185
RUNORB.BI 1 GRAVF .RL 2 START .BI 1
INIT .CM 1 MODUL .LS 2 MESSAG.TX 1
33 FILES IN 642 BLOCKS - 2599 FREE BLOCKS
.COMPILE ORB,ORB<ORB.FT
sim> show ver
PDP-8 simulator V4.0-0 Beta
Simulator Framework Capabilities:
32b data
32b addresses
no Ethernet
Idle/Throttling support is available
Host Platform:
Compiler: DEC C V6.4-005
Simulator Compiled as C on Dec 7 2017 at 23:50:20
Memory Access: Little Endian
Memory Pointer Size: 32 bits
No Large File support
SDL Video support: No Video Support
No RegEx support for EXPECT commands
OS clock resolution: 10ms
Time taken by msleep(1): 10ms
OS: OpenVMS VAX V7.3
git commit id: f1f8c855
Yep, it’s OS/8 running on simh’ PDP-8 running on VAX/VMS 7.3 running on simh
MicroVAX 3900 :) Slow as hell (the VAX is running on an ARM based SoC) but it
works.
Does it compile out of the box? I’m afraid not.
Things I had to do to compile the PDP8 simulator:
- Add /MACRO=“CC_DEFS=__VAX” to the MMS command line. It looks the CC_DEFS
macro gets emptied somehow and then the compiler complains because it does not
like /DEF=()
- Hacked a fast and dirty version of snprintf (which simply ignores the “n”
part), since that routine is not in the DECC RTL. Oh, those were the times.
This is the routine:
#include <stdio.h>
#include <varargs.h>
int snprintf (va_alist)
va_dcl
{
char *buffer;
int size;
char *format;
va_list p;
va_start(p);
buffer = va_arg(p, char*);
size = va_arg(p, int);
format = va_arg(p, char*);
return sprintf(buffer, format, p);
}
Compile it with the /DECC/NAMES=AS_IS qualifiers and insert it into the
[.BIN.VMS.LIB]simh-nonet-.olb library and the compilation should end without
problems.
And voilà! You’ll have a PDP-8 simulator running under a VAX simulator in your
machine of choice.
Or, you can also run it on real VAX hardware… :)
_______________________________________________
Simh mailing list
[email protected]
http://mailman.trailing-edge.com/mailman/listinfo/simh