open-simh / simtools Goto Github PK
View Code? Open in Web Editor NEWA collection of tools for use with SIMH
Home Page: https://opensimh.org/
A collection of tools for use with SIMH
Home Page: https://opensimh.org/
I'd like to package simtools for openSUSE and would need a license information that allows for redistribution.
Trying to create a directory on an RK07 image results in an error:
ODS2$> INIT/CREATE/MEDIUM_TYPE=RK07/LOG/MOUNT TREK7_V1.01.RK7 TREK7
This will delete all data in TREK7_V1.01.RK7 and initialize a RK07 image file. Proceed? y
%INIT-I-STARTNG, initializing TREK7 on disk image A as RK07
%INIT-I-SIZING, volume size 53790 blocks, cluster size 3, maximum files 6723
-INIT-I-SIZING, preallocated 16 file headers 16 directory entries
-INIT-I-SIZING, boot block at LBN 0, HOM blocks at LBNs 1 and 90
-INIT-I-SIZING, MFD at LBN 26895, index file at LBNs 26904 thru 26921
%INIT-I-MFGBAD, writing manufacturer's bad block index
%INIT-I-VOLINIT, TREK7 initialized successfully
%MOUNT-I-MOUNTED, TREK7 mounted on A:
ODS2$> CREATE/DIRECTORY/LOG [TREK7]
%CREATE-E-CREDIRFAIL, failed to create directory
-RMS-F-RSZ, invalid record size
ODS2$>
As noted in open-simh/simh#215 (comment)
it might be useful to have an option in ods2 to do the equivalent of
$ mount dua1: STANDBACKUP
$ set def dua1:[000000]
$ set file/enter=[000000]sysexe.dir [sys0]sysexe.dir
to fix up bootable disks.
Compilation fails on NetBSD because
In file included from ./sim_ether.c:1023:
/usr/include/pcap/pcap.h:962: error: "INVALID_SOCKET" redefined [-Werror]
#define INVALID_SOCKET -1
In file included from ./sim_ether.h:70,
from ./sim_ether.c:373:
./sim_sock.h:93: note: this is the location of the previous definition
#define INVALID_SOCKET ((SOCKET)-1)
I suppose the order of include files should be rearranged, and sim_sock.h should test if INVALID_SOCKET is already defined. I haven't checked yet if this actually works.
I use the following commands to transfer the MORIA VMS PASCAL sources (including a MORIAHLP.HLB) from my PC to an RD31 disk image:
SET NOERROR_EXIT
SET VERIFY
INIT/CREATE/MEDIUM_TYPE=RD31/LOG MORIA.RD31 MORIA
SHOW VOL
CREATE/DIRECTORY/LOG [SOURCE]
CREATE/DIRECTORY/LOG [EXECUTE]
CREATE/DIRECTORY/LOG [DOC]
set cwd moria_443
COPY /TO_FILES-11/ASCII build.com [000000].
set cwd doc
COPY /TO_FILES-11/ASCII . [DOC].
set cwd "../execute"
COPY /TO_FILES-11/BINARY/record_format=fixed=512 .hlb [EXECUTE].*
set cwd "../source"
COPY /TO_FILES-11/ASCII .pas [SOURCE].*
CREATE/DIRECTORY/LOG [SOURCE.MACRO]
set cwd "macro"
COPY /TO_FILES-11/ASCII .mar [SOURCE.MACRO].*
CREATE/DIRECTORY/LOG [SOURCE.INCLUDE]
set cwd "../include"
COPY /TO_FILES-11/ASCII . [SOURCE.INCLUDE].
SET DEFAULT [SOURCE.INCLUDE]
DIR /DATE/SIZE
DISMOUNT A:
When I try to read the MORIAHLP.HLB from MORIA (or DCL), I get the following error message:
%HELP-E-OPENIN, error opening DUA1:[EXECUTE]MORIAHLP.HLB; as input
-RMS-F-IRC, illegal record encountered; VBN or record number = 0
The MORIAHLP.HLB characteristics as seen from VMS DCL are:
$ dir/full MORIAHLP.HLB
Directory DUA1:[EXECUTE]
MORIAHLP.HLB;1 File ID: (18,1,0)
Size: 151/151 Owner: [1,1]
Created: 14-AUG-2017 12:08 Revised: 14-AUG-2017 12:08 (0)
Expires: Backup:
File organization: Sequential
File attributes: Allocation: 151, Extend: 0, Global buffer count: 0
Version limit: 0, Contiguous
Record format: Fixed length 512 byte records
Record attributes: None
Journaling enabled: None
File protection: System:RWED, Owner:RWED, Group:RE, World:
Access Cntrl List: None
Total of 1 file, 151/151 blocks.
$
The characteristics of a known working HLB file are:
SDA.HLB;1 File ID: (379,1,0)
Size: 53/54 Owner: [SYSTEM]
Created: 15-JUN-1987 12:17 Revised: 15-JUN-1987 12:17 (1)
Expires: Backup:
File organization: Sequential
File attributes: Allocation: 54, Extend: 0, Global buffer count: 0
No version limit, Contiguous best try
Record format: Fixed length 512 byte records
Record attributes: None
Journaling enabled: None
File protection: System:RWED, Owner:RWED, Group:RWED, World:RE
Access Cntrl List: None
The version of ods2 used is:
ODS2$> sh versi
ODS2 V3.0.2 built Apr 11 2023 20:11:33 with libedit version 2.11
Platform: Linux x86-64 C11
Compiler: gcc, version 10.2.1 20210110
Large files and devices (>2GB) are supported
VHD format image files are supported
ODS2$>
ODS2$> COPY /TO_FILES-11/ASCII/carriage_control=fortran TREKA-CR.FOR [TREK7].
%COPY-I-COPIED, TREKA-CR.FOR copied to A:[TREK7]TREKA-CR.FOR;1 (1766 record(s))
%COPY-I-COPIED, 1 file(s) copied
ODS2$> COPY /TO_FILES-11/ASCII TREKB.FOR [TREK7].
ods2: malloc.c:2379: sysmalloc: Assertion `(old_top == initial_top (av) && old_size == 0) || ((unsigned long) (old_size) >= MINSIZE && prev_inuse (old_top) && ((unsigned long) old_end & (pagesize - 1)) == 0)' failed.
ODS2$> show version
ODS2 V3.0 built Apr 9 2023 18:24:03 with libedit version 2.11
Platform: Linux x86-64 C11
Compiler: gcc, version 10.2.1 20210110
Large files and devices (>2GB) are supported
VHD format image files are supported
The files to be transfered are from: https://www.digiater.nl/openvms/decus/lt92b/cmu/
SET NOERROR_EXIT
SET VERIFY
INIT/CREATE/MEDIUM_TYPE=RK07/LOG CMU063.RK7 CMU063
SHOW VOL
CREATE/DIRECTORY/LOG [CMU063]
COPY /TO_FILES-11/BINARY/record_format=fixed=512 ipdriver063.* [CMU063].
SET DEFAULT [CMU063]
DIR /DATE/SIZE
DISMOUNT A:
$ mou/over=id dma0:
%MOUNT-I-MOUNTED, CMU063 mounted on _DMA0:
$ set def dma0:
$ dir
Directory DMA0:
IPDRIVER063.A;1 IPDRIVER063.B;1 IPDRIVER063.C;1 IPDRIVER063.D;1
Total of 4 files.
$ back/list IPDRIVER063.A/sav
Listing of save set(s)
%BACKUP-F-OPENIN, error opening DMA0:IPDRIVER063.A;1 as input
-RMS-F-IRC, illegal record encountered; VBN or record number = 0
$ type IPDRIVER063.A
%TYPE-W-OPENIN, error opening DMA0:IPDRIVER063.A;1 as input
-RMS-F-IRC, illegal record encountered; VBN or record number = 0
$ analyze/image IPDRIVER063.A
%ANALYZE-E-OPENIN, error opening DMA0:IPDRIVER063.A;1 as input
-RMS-F-IRC, illegal record encountered; VBN or record number = 0
$ analyze/image/header IPDRIVER063.A
%ANALYZE-E-OPENIN, error opening DMA0:IPDRIVER063.A;1 as input
-RMS-F-IRC, illegal record encountered; VBN or record number = 0
$
I just run make with gcc 12.2
cc -g2 -o flx rstsflx.o fip.o rtime.o filename.o doget.o dolist.o doalloc.o docomp.o dotype.o doput.o dodump.o dodelete.o dorename.o dorts.o doprot.o dodir.o doident.o doinit.o dohook.o scancmd.o doclean.o fileio.
o diskio.o absio.o -lreadline -lncurses -fcommon
/usr/bin/ld: doclean.o:/root/simtools/extracters/rstsflx/doclean.c:68: multiple definition of `curproj'; dolist.o:/root/simtools/extracters/rstsflx/dolist.c:17: first defined here
/usr/bin/ld: doclean.o:/root/simtools/extracters/rstsflx/doclean.c:68: multiple definition of `curprog'; dolist.o:/root/simtools/extracters/rstsflx/dolist.c:17: first defined here
/usr/bin/ld: doclean.o:/root/simtools/extracters/rstsflx/doclean.c:73: multiple definition of `files'; dolist.o:/root/simtools/extracters/rstsflx/dolist.c:16: first defined here
collect2: error: ld returned 1 exit status
make: *** [Makefile:58: flx] Error 1
I used the ods2 command procedure:
SET NOERROR_EXIT
SET VERIFY
INIT/CREATE/MEDIUM_TYPE=RK07/LOG MTREK.RK7 MTREK
SHOW VOL
CREATE/DIRECTORY/LOG [MTREK]
COPY /TO_FILES-11/ASCII .for [MTREK].*
COPY /TO_FILES-11/ASCII .com [MTREK].*
COPY /TO_FILES-11/ASCII .map [MTREK].*
COPY /TO_FILES-11/ASCII .rat [MTREK].*
COPY /TO_FILES-11/ASCII .rno [MTREK].*
COPY /TO_FILES-11/ASCII .txt [MTREK].*
COPY /TO_FILES-11/ASCII .doc [MTREK].*
COPY /TO_FILES-11/BINARY .obj [MTREK].*
COPY /TO_FILES-11/BINARY/record_format=fixed=512 .exe [MTREK].*
SET DEFAULT [MTREK]
DIR /DATE/SIZE
DISMOUNT A:
to put the files obtained from https://www.digiater.nl/openvms/decus/vax82a/mtrek/ on an RK07 ods2 image file.
When I edited some of the .com files on the VAX, I noticed that after saving I still had one version of the edited file only.
DIR/FULL shows "No version limit" falsely.
A workaround is: SET FILE/VERSION=0 .;*
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.