PiDP-8/I SoftwareCheck-in [c548a7866c]
Not logged in

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Implemented the clearer demarkation of different levels of OS8 boot media, as per Forum discussion: https://tangentsoft.com/pidp8i/forumpost/dcf09a8902
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: c548a7866c19ce69e168e9be44109bd8005b98ba
User & Date: poetnerd 2020-07-31 02:13:38
Context
2020-08-01
01:27
Subtle mistake: OS8_RK05S needs V3D_RUNTIME and OCK_RUNTIME. It had OS8_RUNTIME which might be one or the other. I don't know where the dependencies would go if use-ock were set. Right now we unconditionally build both. check-in: d11565ea4f user: poetnerd tags: trunk
2020-07-31
02:13
Implemented the clearer demarkation of different levels of OS8 boot media, as per Forum discussion: https://tangentsoft.com/pidp8i/forumpost/dcf09a8902 check-in: c548a7866c user: poetnerd tags: trunk
2020-07-20
21:10
Merge github-ci, CI builds via mirror look good: https://github.com/tangentsoft/pidp8i/actions check-in: 3d63f75bdc user: ryan tags: trunk
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to Makefile.in.

100
101
102
103
104
105
106

107




108
109
110
111
112
113
114
...
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314




315
316
317
318
319
320
321
322
323
324
325
...
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
...
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
...
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
...
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
	lib/pidp8i/ips.py \
	lib/pidp8i/os8opts.py \
	$(PIDP8I_DIRS)

SIMH_PY     := lib/simh.py
SIMH_PY_SRC := @srcdir@/$(SIMH_PY)


OS8RUN          = bin/os8-run




OS8SCRIPT      := lib/os8script.py
OS8RUN_PY_ALL  := $(GENNED_PY) $(OS8SCRIPT) $(SIMH_PY_SRC)
OS8RUN_SRCS    := $(OS8RUN) $(OS8RUN_PY_ALL) $(PIDP8I_DIN)

# If you edit this directory list, you should probably also edit
# the argument list to the mkadrules call in auto.def!
BUILDDIRS := \
................................................................................
OS8RUN_OUTFILES := $(subst @srcdir@/,,$(OS8RUN_INFILES))
OS8RUN_OUTFILES := $(subst .in,,$(OS8RUN_OUTFILES))
PRECIOUS_OUTFILES := $(subst @srcdir@/,,$(PRECIOUS_INFILES))
PRECIOUS_OUTFILES := $(subst .in,,$(PRECIOUS_OUTFILES))
OUTFILES := $(subst @srcdir@/,,$(INFILES))
OUTFILES := $(subst .in,,$(OUTFILES))

V3D_DIST_RK05 = bin/v3d-dist.rk05
V3D_PATCHED_RK05 = bin/v3d-patched.rk05
V3D_BOOT_DISK = bin/v3d.rk05
OS8_SRC_RK05 = @OS8_SRC_RK05@
OS8_BOOT_DISK = bin/@OS8_BOOT_DISK@
OS8_RK05S = \
	$(V3D_DIST_RK05) \
	$(V3D_PATCHED_RK05) \
	$(OS8_BOOT_DISK) \




	$(OS8_SRC_RK05) \
	$(OS8_OCK_DIST_RK05) \
	$(OS8_OCK_PATCHED_RK05) \
	$(OS8_OCK_RK05)



INC_SCRIPTS_DIR = @srcdir@/scripts/include
MISC_SCRIPTS_DIR = @srcdir@/scripts/misc
OS8_SCRIPTS_DIR = @srcdir@/scripts/os8

................................................................................
OS8_OCK_FIV_MAKER = $(OS8_SCRIPTS_DIR)/ock/fiv-build.os8

OS8_OCK_DIST_RK05 = bin/ock-dist.rk05
OS8_OCK_DIST_MAKER = $(OS8_SCRIPTS_DIR)/ock/dist-rk05.os8
OS8_OCK_PATCHED_RK05 = bin/ock-patched.rk05
OS8_OCK_PATCHED_MAKER = $(OS8_SCRIPTS_DIR)/ock/patch-rk05.os8
OS8_OCK_BOOT_MAKER = $(OS8_SCRIPTS_DIR)/ock/boot-rk05.os8
OS8_OCK_RK05 = bin/ock.rk05

ALL_TU56_SCRIPT = $(OS8_SCRIPTS_DIR)/all-tu56.os8

CUSP_COPYIN_SCRIPT = $(INC_SCRIPTS_DIR)/cusp-copyin.os8

OS8_BOOT_TAPE = bin/@OS8_BOOT_TAPE@
V3D_TC08_TU56 = bin/v3d-tc08.tu56
................................................................................
	@srcdir@/media/os8/subsys/*.tu56 \
	$(OS8_OCK_SYS_OBJ_RK05) $(OS8_OCK_CUSPS_OBJ_RK05) \
	$(OS8_OCK_BF2_OBJ_RK05) $(OS8_OCK_FIV_OBJ_RK05)

OCK_PATCHES := \
	@srcdir@/patches/os8/ock/*.patch8

$(V3D_DIST_RK05): $(V3D_DIST_SRCS) | $(PIDP8I_SIM) $(OS8RUN_OUTFILES)
	$(OS8RUN)@OS8_OPTS@ $(V3D_DIST_SCRIPT)

$(V3D_PATCHED_RK05): $(V3D_PATCH_SCRIPT) $(V3D_DIST_RK05) $(V3D_PATCHES) | $(PIDP8I_SIM) $(OS8RUN_OUTFILES)
	$(OS8RUN)@OS8_OPTS@ $(V3D_PATCH_SCRIPT)

$(OS8_BOOT_DISK): $(V3D_RK05_SCRIPT) $(V3D_PATCHED_RK05) @CC8_TU56@ @E8_TU56@ | $(PIDP8I_SIM) $(OS8RUN_OUTFILES)
	$(OS8RUN)@OS8_OPTS@ $(V3D_RK05_SCRIPT)


$(OS8_OCK_PATCHED_RK05): $(OS8_OCK_PATCHED_MAKER) $(OS8_OCK_DIST_RK05) $(OCK_PATCHES) | $(PIDP8I_SIM) $(OS8RUN_OUTFILES)
	$(OS8RUN)@OS8_OPTS@ $(OS8_OCK_PATCHED_MAKER)

$(OS8_OCK_RK05): $(OS8_OCK_BOOT_MAKER) $(OS8_OCK_PATCHED_RK05) @CC8_TU56@ @E8_TU56@ | $(PIDP8I_SIM) $(OS8RUN_OUTFILES)
	$(OS8RUN)@OS8_OPTS@ $(OS8_OCK_BOOT_MAKER)


# Also build an OS/8 source disk, as a convenience to avoid the 
# need to mount up the 7 source tapes in succession.
#
# Using an order-only dependency for the simulator and the bin disk: we
................................................................................
# only need *a* version of each, they don't have to be recent!
OS8_SRC_SRCS = \
	$(OS8RUN) $(PIDP8I_DIN) \
	lib/pidp8i/dirs.py \
	$(V3D_SRC_SCRIPT) \
	@srcdir@/media/os8/al-*-sa-*.tu56

$(OS8_SRC_RK05): $(V3D_DIST_RK05) $(OS8_SRC_SRCS) | $(PIDP8I_SIM) $(OS8_BOOT_DISK)
	$(OS8RUN)@OS8_OPTS@ $(V3D_SRC_SCRIPT)

# Build the source disk for OS/8 V3F
$(V3F_BUILD_RK05): $(V3F_SRCDIR)/$(V3F_MANIFEST) $(V3F_SOURCES) | $(OS8_BOOT_DISK)
	rm -f $(V3F_BUILD_RK05)
	cd $(V3F_SRCDIR); @builddir@/bin/os8-cp -v --action-file $(V3F_MANIFEST)

# Make a disk with binaries assembled from the V3F source disk
$(V3F_MADE_RK05): $(V3F_BUILD_RK05) $(V3F_MAKER)
	$(OS8RUN) $(V3F_MAKER)

# Build the source disk for OS/8 OCK SYS Component.
$(OS8_OCK_SYS_SRC_RK05): $(OS8_OCK_SYS_SOURCES) | $(OS8_BOOT_DISK)
	@builddir@/bin/os8-cp -v -rk1 $(OS8_OCK_SYS_SRC_RK05) -z -a $(OS8_OCK_SYS_SOURCES) RKA1:

# Make a disk with binaries assembled from the OS8_OCK SYS source disk
$(OS8_OCK_SYS_OBJ_RK05): $(OS8_OCK_SYS_SRC_RK05) $(OS8_OCK_SYS_MAKER)
	$(OS8RUN) $(OS8_OCK_SYS_MAKER)

# Build the source disk for OS/8 OCK CUSPS Component.
$(OS8_OCK_CUSPS_SRC_RK05): $(OS8_OCK_CUSPS_SOURCES) | $(OS8_BOOT_DISK)
	@builddir@/bin/os8-cp -v -rk1 $(OS8_OCK_CUSPS_SRC_RK05) -z -a $(OS8_OCK_CUSPS_SOURCES) RKA1:

# Make a disk with binaries assembled from the OS8_OCK SYS source disk
$(OS8_OCK_CUSPS_OBJ_RK05): $(OS8_OCK_CUSPS_SRC_RK05) $(OS8_OCK_CUSPS_MAKER)
	$(OS8RUN) $(OS8_OCK_CUSPS_MAKER)

# Build the source disk for OS/8 OCK BASIC and FORTRAN II Component.
$(OS8_OCK_BF2_SRC_RK05): $(OS8_OCK_BF2_SOURCES) | $(OS8_BOOT_DISK)
	@builddir@/bin/os8-cp -v -rk1 $(OS8_OCK_BF2_SRC_RK05) -z -a $(OS8_OCK_BF2_SOURCES) RKA1:

# Make a disk with binaries assembled from the OS8_OCK FIRTRAN II source disk
$(OS8_OCK_BF2_OBJ_RK05): $(OS8_OCK_BF2_SRC_RK05) $(OS8_OCK_BF2_MAKER)
	$(OS8RUN) $(OS8_OCK_BF2_MAKER)

# Build the source disk for OS/8 OCK FORTRAN IV Component.
$(OS8_OCK_FIV_SRC_RK05): $(OS8_OCK_FIV_SOURCES) | $(OS8_BOOT_DISK)
	@builddir@/bin/os8-cp -v -rk1 $(OS8_OCK_FIV_SRC_RK05) -z -a $(OS8_OCK_FIV_SOURCES) RKA1:

# Make a disk with binaries assembled from the OS8_OCK FORTRAN IV source disk
$(OS8_OCK_FIV_OBJ_RK05): $(OS8_OCK_FIV_SRC_RK05) $(OS8_OCK_FIV_MAKER)
	$(OS8RUN) $(OS8_OCK_FIV_MAKER)

$(OS8_OCK_DIST_RK05): $(OS8_OCK_DIST_SRCS) | $(PIDP8I_SIM) $(OS8RUN_OUTFILES)
	$(OS8RUN)@OS8_OPTS@ $(OS8_OCK_DIST_MAKER)
................................................................................
	$(OS8RUN)@OS8_OPTS@ $(ALL_TU56_SCRIPT) --enable v3f

# Make a bootable OS/8 v3f TD8E 12K DECtape image
$(V3F_TD12K_TU56): $(V3F_MADE_RK05) $(ALL_TU56_SCRIPT) $(CUSP_COPYIN_SCRIPT)
	$(OS8RUN)@OS8_OPTS@ $(ALL_TU56_SCRIPT) --enable v3f --enable td12k

# Make a bootable OS/8 v3d TCO8 DECtape image
$(V3D_TC08_TU56): $(ALL_TU56_SCRIPT) $(CUSP_COPYIN_SCRIPT) | $(OS8_BOOT_DISK) 
	$(OS8RUN)@OS8_OPTS@ $(ALL_TU56_SCRIPT)

# Make a bootable OS/8 v3d TD8E 12K DECtape image
$(V3D_TD12K_TU56): $(ALL_TU56_SCRIPT) $(CUSP_COPYIN_SCRIPT) | $(OS8_BOOT_DISK) 
	$(OS8RUN)@OS8_OPTS@ $(ALL_TU56_SCRIPT) --enable td12k

# Create the CC8 distribution DECtape image
bin/cc8.tu56: $(CC_OS8_OBJS) $(CC_OS8_SRCS) $(CC_OS8_DEMOS) $(CC8_TU56_SCRIPT) | $(V3D_PATCHED_RK05)
	$(OS8RUN) $(CC8_TU56_SCRIPT)

# Create the E8 distribution DECtape image
bin/e8.tu56: $(E8_SRCS) $(E8_TU56_SCRIPT) | $(V3D_PATCHED_RK05)
	$(OS8RUN) $(E8_TU56_SCRIPT)

# Rule for building PAL assembly language programs in src/asm/*.pal.
obj/%.lst bin/%-pal.pt: @srcdir@/src/asm/%.pal bin/palbart
	bin/palbart -lr $< || cat obj/$*.err
	mv @srcdir@/src/asm/$*.lst obj
	mv @srcdir@/src/asm/$*.rim bin/$*-pal.pt







>

>
>
>
>







 







|
|
|
|
|
|
|
|
|
>
>
>
>



|







 







<







 







|


|


|






|







 







|



|

|






|
|






|
|






|
|






|
|







 







|



|



|



|







100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
...
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
...
373
374
375
376
377
378
379

380
381
382
383
384
385
386
...
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
...
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
...
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
	lib/pidp8i/ips.py \
	lib/pidp8i/os8opts.py \
	$(PIDP8I_DIRS)

SIMH_PY     := lib/simh.py
SIMH_PY_SRC := @srcdir@/$(SIMH_PY)

# Any use of $(OS8RUN) must implicitly depend on $(OS8_TOOLTIME) disk image.
OS8RUN          = bin/os8-run

# Any use of $(OS8CP) must implicitly depend on $(OS8_TOOLTIME) disk image.
OS8CP          = bin/os8-cp

OS8SCRIPT      := lib/os8script.py
OS8RUN_PY_ALL  := $(GENNED_PY) $(OS8SCRIPT) $(SIMH_PY_SRC)
OS8RUN_SRCS    := $(OS8RUN) $(OS8RUN_PY_ALL) $(PIDP8I_DIN)

# If you edit this directory list, you should probably also edit
# the argument list to the mkadrules call in auto.def!
BUILDDIRS := \
................................................................................
OS8RUN_OUTFILES := $(subst @srcdir@/,,$(OS8RUN_INFILES))
OS8RUN_OUTFILES := $(subst .in,,$(OS8RUN_OUTFILES))
PRECIOUS_OUTFILES := $(subst @srcdir@/,,$(PRECIOUS_INFILES))
PRECIOUS_OUTFILES := $(subst .in,,$(PRECIOUS_OUTFILES))
OUTFILES := $(subst @srcdir@/,,$(INFILES))
OUTFILES := $(subst .in,,$(OUTFILES))

OS8_SRC_RK05 = @OS8_SRC_RK05@
OS8_BASELINE = bin/@OS8_BASELINE@
OS8_TOOLTIME = bin/@OS8_TOOLTIME@

# auto.defs will select as OS8_RUNTIME either V3D_RUNTIME or OCK_RUNTIME disk image.
V3D_RUNTIME = bin/v3d.rk05
OCK_RUNTIME = bin/ock.rk05
OS8_RUNTIME = bin/@OS8_RUNTIME@

OS8_RK05S = \
	$(OS8_BASELINE) \
	$(OS8_TOOLTIME) \
	$(OS8_RUNTIME) \
	$(OS8_SRC_RK05) \
	$(OS8_OCK_DIST_RK05) \
	$(OS8_OCK_PATCHED_RK05) \
	$(OCK_RUNTIME)



INC_SCRIPTS_DIR = @srcdir@/scripts/include
MISC_SCRIPTS_DIR = @srcdir@/scripts/misc
OS8_SCRIPTS_DIR = @srcdir@/scripts/os8

................................................................................
OS8_OCK_FIV_MAKER = $(OS8_SCRIPTS_DIR)/ock/fiv-build.os8

OS8_OCK_DIST_RK05 = bin/ock-dist.rk05
OS8_OCK_DIST_MAKER = $(OS8_SCRIPTS_DIR)/ock/dist-rk05.os8
OS8_OCK_PATCHED_RK05 = bin/ock-patched.rk05
OS8_OCK_PATCHED_MAKER = $(OS8_SCRIPTS_DIR)/ock/patch-rk05.os8
OS8_OCK_BOOT_MAKER = $(OS8_SCRIPTS_DIR)/ock/boot-rk05.os8


ALL_TU56_SCRIPT = $(OS8_SCRIPTS_DIR)/all-tu56.os8

CUSP_COPYIN_SCRIPT = $(INC_SCRIPTS_DIR)/cusp-copyin.os8

OS8_BOOT_TAPE = bin/@OS8_BOOT_TAPE@
V3D_TC08_TU56 = bin/v3d-tc08.tu56
................................................................................
	@srcdir@/media/os8/subsys/*.tu56 \
	$(OS8_OCK_SYS_OBJ_RK05) $(OS8_OCK_CUSPS_OBJ_RK05) \
	$(OS8_OCK_BF2_OBJ_RK05) $(OS8_OCK_FIV_OBJ_RK05)

OCK_PATCHES := \
	@srcdir@/patches/os8/ock/*.patch8

$(OS8_BASELINE): $(V3D_DIST_SRCS) | $(PIDP8I_SIM) $(OS8RUN_OUTFILES)
	$(OS8RUN)@OS8_OPTS@ $(V3D_DIST_SCRIPT)

$(OS8_TOOLTIME): $(V3D_PATCH_SCRIPT) $(OS8_BASELINE) $(V3D_PATCHES) | $(PIDP8I_SIM) $(OS8RUN_OUTFILES)
	$(OS8RUN)@OS8_OPTS@ $(V3D_PATCH_SCRIPT)

$(V3D_RUNTIME): $(V3D_RK05_SCRIPT) $(OS8_TOOLTIME) @CC8_TU56@ @E8_TU56@ | $(PIDP8I_SIM) $(OS8RUN_OUTFILES)
	$(OS8RUN)@OS8_OPTS@ $(V3D_RK05_SCRIPT)


$(OS8_OCK_PATCHED_RK05): $(OS8_OCK_PATCHED_MAKER) $(OS8_OCK_DIST_RK05) $(OCK_PATCHES) | $(PIDP8I_SIM) $(OS8RUN_OUTFILES)
	$(OS8RUN)@OS8_OPTS@ $(OS8_OCK_PATCHED_MAKER)

$(OCK_RUNTIME): $(OS8_OCK_BOOT_MAKER) $(OS8_OCK_PATCHED_RK05) @CC8_TU56@ @E8_TU56@ | $(PIDP8I_SIM) $(OS8RUN_OUTFILES)
	$(OS8RUN)@OS8_OPTS@ $(OS8_OCK_BOOT_MAKER)


# Also build an OS/8 source disk, as a convenience to avoid the 
# need to mount up the 7 source tapes in succession.
#
# Using an order-only dependency for the simulator and the bin disk: we
................................................................................
# only need *a* version of each, they don't have to be recent!
OS8_SRC_SRCS = \
	$(OS8RUN) $(PIDP8I_DIN) \
	lib/pidp8i/dirs.py \
	$(V3D_SRC_SCRIPT) \
	@srcdir@/media/os8/al-*-sa-*.tu56

$(OS8_SRC_RK05): $(OS8_BASELINE) $(OS8_SRC_SRCS) | $(PIDP8I_SIM) $(OS8_TOOLTIME)
	$(OS8RUN)@OS8_OPTS@ $(V3D_SRC_SCRIPT)

# Build the source disk for OS/8 V3F
$(V3F_BUILD_RK05): $(V3F_SRCDIR)/$(V3F_MANIFEST) $(V3F_SOURCES) | $(OS8_TOOLTIME)
	rm -f $(V3F_BUILD_RK05)
	cd $(V3F_SRCDIR); @builddir@/$(OS8CP) -v --action-file $(V3F_MANIFEST)

# Make a disk with binaries assembled from the V3F source disk
$(V3F_MADE_RK05): $(V3F_BUILD_RK05) $(V3F_MAKER)
	$(OS8RUN) $(V3F_MAKER)

# Build the source disk for OS/8 OCK SYS Component.
$(OS8_OCK_SYS_SRC_RK05): $(OS8_OCK_SYS_SOURCES) | $(OS8_TOOLTIME)
	@builddir@/$(OS8CP) -v -rk1 $(OS8_OCK_SYS_SRC_RK05) -z -a $(OS8_OCK_SYS_SOURCES) RKA1:

# Make a disk with binaries assembled from the OS8_OCK SYS source disk
$(OS8_OCK_SYS_OBJ_RK05): $(OS8_OCK_SYS_SRC_RK05) $(OS8_OCK_SYS_MAKER)
	$(OS8RUN) $(OS8_OCK_SYS_MAKER)

# Build the source disk for OS/8 OCK CUSPS Component.
$(OS8_OCK_CUSPS_SRC_RK05): $(OS8_OCK_CUSPS_SOURCES) | $(OS8_TOOLTIME)
	@builddir@/$(OS8CP) -v -rk1 $(OS8_OCK_CUSPS_SRC_RK05) -z -a $(OS8_OCK_CUSPS_SOURCES) RKA1:

# Make a disk with binaries assembled from the OS8_OCK SYS source disk
$(OS8_OCK_CUSPS_OBJ_RK05): $(OS8_OCK_CUSPS_SRC_RK05) $(OS8_OCK_CUSPS_MAKER)
	$(OS8RUN) $(OS8_OCK_CUSPS_MAKER)

# Build the source disk for OS/8 OCK BASIC and FORTRAN II Component.
$(OS8_OCK_BF2_SRC_RK05): $(OS8_OCK_BF2_SOURCES) | $(OS8_TOOLTIME)
	@builddir@/$(OS8CP) -v -rk1 $(OS8_OCK_BF2_SRC_RK05) -z -a $(OS8_OCK_BF2_SOURCES) RKA1:

# Make a disk with binaries assembled from the OS8_OCK FIRTRAN II source disk
$(OS8_OCK_BF2_OBJ_RK05): $(OS8_OCK_BF2_SRC_RK05) $(OS8_OCK_BF2_MAKER)
	$(OS8RUN) $(OS8_OCK_BF2_MAKER)

# Build the source disk for OS/8 OCK FORTRAN IV Component.
$(OS8_OCK_FIV_SRC_RK05): $(OS8_OCK_FIV_SOURCES) | $(OS8_TOOLTIME)
	@builddir@/$(OS8CP) -v -rk1 $(OS8_OCK_FIV_SRC_RK05) -z -a $(OS8_OCK_FIV_SOURCES) RKA1:

# Make a disk with binaries assembled from the OS8_OCK FORTRAN IV source disk
$(OS8_OCK_FIV_OBJ_RK05): $(OS8_OCK_FIV_SRC_RK05) $(OS8_OCK_FIV_MAKER)
	$(OS8RUN) $(OS8_OCK_FIV_MAKER)

$(OS8_OCK_DIST_RK05): $(OS8_OCK_DIST_SRCS) | $(PIDP8I_SIM) $(OS8RUN_OUTFILES)
	$(OS8RUN)@OS8_OPTS@ $(OS8_OCK_DIST_MAKER)
................................................................................
	$(OS8RUN)@OS8_OPTS@ $(ALL_TU56_SCRIPT) --enable v3f

# Make a bootable OS/8 v3f TD8E 12K DECtape image
$(V3F_TD12K_TU56): $(V3F_MADE_RK05) $(ALL_TU56_SCRIPT) $(CUSP_COPYIN_SCRIPT)
	$(OS8RUN)@OS8_OPTS@ $(ALL_TU56_SCRIPT) --enable v3f --enable td12k

# Make a bootable OS/8 v3d TCO8 DECtape image
$(V3D_TC08_TU56): $(ALL_TU56_SCRIPT) $(CUSP_COPYIN_SCRIPT) | $(OS8_TOOLTIME) 
	$(OS8RUN)@OS8_OPTS@ $(ALL_TU56_SCRIPT)

# Make a bootable OS/8 v3d TD8E 12K DECtape image
$(V3D_TD12K_TU56): $(ALL_TU56_SCRIPT) $(CUSP_COPYIN_SCRIPT) | $(OS8_TOOLTIME) 
	$(OS8RUN)@OS8_OPTS@ $(ALL_TU56_SCRIPT) --enable td12k

# Create the CC8 distribution DECtape image
bin/cc8.tu56: $(CC_OS8_OBJS) $(CC_OS8_SRCS) $(CC_OS8_DEMOS) $(CC8_TU56_SCRIPT) | $(OS8_TOOLTIME)
	$(OS8RUN) $(CC8_TU56_SCRIPT)

# Create the E8 distribution DECtape image
bin/e8.tu56: $(E8_SRCS) $(E8_TU56_SCRIPT) | $(OS8_TOOLTIME)
	$(OS8RUN) $(E8_TU56_SCRIPT)

# Rule for building PAL assembly language programs in src/asm/*.pal.
obj/%.lst bin/%-pal.pt: @srcdir@/src/asm/%.pal bin/palbart
	bin/palbart -lr $< || cat obj/$*.err
	mv @srcdir@/src/asm/$*.lst obj
	mv @srcdir@/src/asm/$*.rim bin/$*-pal.pt

Changes to auto.def.

67
68
69
70
71
72
73

74
75
76
77
78
79
80
..
98
99
100
101
102
103
104

105
106
107
108
109
110
111
...
211
212
213
214
215
216
217
218




219















220
221
222
223
224
225
226
    fortran-iv  1  "FORTRAN IV"
    init        1  "the OS/8 INIT message"
    k12         1  "12-bit Kermit"
    macrel      1  "the MACREL assembler"
    music       0  "*.MU files"
    uwfocal     1  "U/W FOCAL (only)"
    vtedit      0  "the TECO VTEDIT setup"

}

set alloptions {}

foreach {opt def desc} $os8opts {
    if {$def} {
        set prefix "disable"
................................................................................
    os8-focal=1          => "leave FOCAL,1969 and U/W FOCAL off the built OS/8 RK05 image"
    os8-minimal          => "set all --disable-os8-* options, giving minimal OS/8 bin disk"
    os8-src=1            => "do not build v3d-src.rk05 from OS/8 source tapes"
    savestate            => "save simulator state (regs, core, devices) on exit; restore on restart"
    serial-mod           => "use GPIO drive scheme suitable for Oscar Vermeulen's serial mod method"
    throttle:            => "override the throttle values in the boot scripts"
    usb-automount=1      => "do not automatically mount USB drives for SING_STEP + DF"

}

options $alloptions

# use btc and btv to set defaults because I can't get the documented
# syntax of <name>:=<value> to work.

................................................................................
if {$os8src} {
    msg-result "Building v3d-src.rk05 from OS/8 source tapes."
    define OS8_SRC_RK05 bin/v3d-src.rk05
} else {
    msg-result "Will not build v3d-src.rk05 from OS/8 source tapes."
    define OS8_SRC_RK05 {}
}
# Define our boot image. (Note, we ALWAYS apply patches.)




define OS8_BOOT_DISK "v3d.rk05"
















# Compose our boot tape image name from boot-tape-config and boot-tape-version
# Pull defaults from $btc for boot-tape-config, and $btv for boot-tape-version.

set btn "$btv-$btc.tu56"

msg-result "Boot tape name: $btn"







>







 







>







 







<
>
>
>
>
|
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>







67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
..
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
...
213
214
215
216
217
218
219

220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
    fortran-iv  1  "FORTRAN IV"
    init        1  "the OS/8 INIT message"
    k12         1  "12-bit Kermit"
    macrel      1  "the MACREL assembler"
    music       0  "*.MU files"
    uwfocal     1  "U/W FOCAL (only)"
    vtedit      0  "the TECO VTEDIT setup"
    use-ock	0  "Use OS/8 Combined Kit as boot disk"
}

set alloptions {}

foreach {opt def desc} $os8opts {
    if {$def} {
        set prefix "disable"
................................................................................
    os8-focal=1          => "leave FOCAL,1969 and U/W FOCAL off the built OS/8 RK05 image"
    os8-minimal          => "set all --disable-os8-* options, giving minimal OS/8 bin disk"
    os8-src=1            => "do not build v3d-src.rk05 from OS/8 source tapes"
    savestate            => "save simulator state (regs, core, devices) on exit; restore on restart"
    serial-mod           => "use GPIO drive scheme suitable for Oscar Vermeulen's serial mod method"
    throttle:            => "override the throttle values in the boot scripts"
    usb-automount=1      => "do not automatically mount USB drives for SING_STEP + DF"
    use-ock		 => "Boot the OS/8 Combined Kit built from source instead of binary v3d."
}

options $alloptions

# use btc and btv to set defaults because I can't get the documented
# syntax of <name>:=<value> to work.

................................................................................
if {$os8src} {
    msg-result "Building v3d-src.rk05 from OS/8 source tapes."
    define OS8_SRC_RK05 bin/v3d-src.rk05
} else {
    msg-result "Will not build v3d-src.rk05 from OS/8 source tapes."
    define OS8_SRC_RK05 {}
}


# Define boot image used in various places.

# OS8_BASELINE is used at the lowest levels of building.
define OS8_BASELINE "v3d-dist.rk05"

# OS8_TOOLTIME is used by tools, it is the patched version of OS8_BASELINE.
# This enables tools and higher levels of building to work with the
# most up-to-date revisions of system and utilities.
define OS8_TOOLTIME "v3d-patched.rk05"

# OS8_RUNTIME is what the end user boots.  It contains the patched OS and utilies.
# It also contains all configured third party components.
# This boot disk is a choice between v3d, and ock.
# The ock image is built from source using OS8_BASELINE and OS8_TOOLTIME.
if {[opt-bool use-ock]} {
    define OS8_RUNTIME "ock.rk05"
} else {
    define OS8_RUNTIME "v3d.rk05"
}

# Compose our boot tape image name from boot-tape-config and boot-tape-version
# Pull defaults from $btc for boot-tape-config, and $btv for boot-tape-version.

set btn "$btv-$btc.tu56"

msg-result "Boot tape name: $btn"

Changes to bin/os8-cp.in.

55
56
57
58
59
60
61
62
63
64
65
66
67
68
69

progmsg = True
DEBUG = False
VERBOSE = False
QUIET = False

# Default RK05 system image to attach if no sys specified.
_default_sys_image = "@OS8_BOOT_DISK@"
_default_sys_path = dirs.os8mo + _default_sys_image
_default_att_spec = ["rk", "0", _default_sys_path]

# Regex for parsing an argument string into a sys device
_dev_arg_regex_str = "-(rk|td|dt|rx)(\d?)(s)?"
_dev_arg_re = re.compile(_dev_arg_regex_str)








|







55
56
57
58
59
60
61
62
63
64
65
66
67
68
69

progmsg = True
DEBUG = False
VERBOSE = False
QUIET = False

# Default RK05 system image to attach if no sys specified.
_default_sys_image = "@OS8_TOOLTIME@"
_default_sys_path = dirs.os8mo + _default_sys_image
_default_att_spec = ["rk", "0", _default_sys_path]

# Regex for parsing an argument string into a sys device
_dev_arg_regex_str = "-(rk|td|dt|rx)(\d?)(s)?"
_dev_arg_re = re.compile(_dev_arg_regex_str)

Changes to boot/0.script.in.

23
24
25
26
27
28
29
30
31
32
33
;
echo Loading OS/8 from the RK05 cartridge disk...
@include boot/common.script

@define SHORTNAME 0
@include @ABSSRCDIR@/boot/savestate.script

att rk0 @MEDIADIR@/os8/@OS8_BOOT_DISK@
boot rk0

:end







|



23
24
25
26
27
28
29
30
31
32
33
;
echo Loading OS/8 from the RK05 cartridge disk...
@include boot/common.script

@define SHORTNAME 0
@include @ABSSRCDIR@/boot/savestate.script

att rk0 @MEDIADIR@/os8/@OS8_RUNTIME@
boot rk0

:end

Changes to boot/run.script.in.

4
5
6
7
8
9
10
11
12
13
14
;
echo Loading OS/8 from the RK05 cartridge disk in the build directory...
@include boot/common.script

@define SHORTNAME run
@include @ABSSRCDIR@/boot/savestate.script

att rk0 bin/@OS8_BOOT_DISK@
boot rk0

:end







|



4
5
6
7
8
9
10
11
12
13
14
;
echo Loading OS/8 from the RK05 cartridge disk in the build directory...
@include boot/common.script

@define SHORTNAME run
@include @ABSSRCDIR@/boot/savestate.script

att rk0 bin/@OS8_RUNTIME@
boot rk0

:end

Changes to tools/os8-cmp.

58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
DEBUG = False
VERBOSE = False
QUIET = False
SYSTEM = False
FORCE = False

# Default RK05 system image to attach if no sys specified.
_default_sys_image = "v3d.rk05"
_default_sys_path = dirs.os8mo + _default_sys_image
_default_att_spec = {"simh_name": "rk", "unit": "0", "image": _default_sys_path}
# _default_att_spec = ["rk", "0", _default_sys_path]

# Regex for parsing an argument string into a sys device
_dev_arg_regex_str = "-(rk|td|dt|rx)(\d?)(s)?"
_dev_arg_re = re.compile(_dev_arg_regex_str)







|







58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
DEBUG = False
VERBOSE = False
QUIET = False
SYSTEM = False
FORCE = False

# Default RK05 system image to attach if no sys specified.
_default_sys_image = "v3d-patched.rk05"
_default_sys_path = dirs.os8mo + _default_sys_image
_default_att_spec = {"simh_name": "rk", "unit": "0", "image": _default_sys_path}
# _default_att_spec = ["rk", "0", _default_sys_path]

# Regex for parsing an argument string into a sys device
_dev_arg_regex_str = "-(rk|td|dt|rx)(\d?)(s)?"
_dev_arg_re = re.compile(_dev_arg_regex_str)

Changes to tools/os8-cmp.in.

58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
DEBUG = False
VERBOSE = False
QUIET = False
SYSTEM = False
FORCE = False

# Default RK05 system image to attach if no sys specified.
_default_sys_image = "@OS8_BOOT_DISK@"
_default_sys_path = dirs.os8mo + _default_sys_image
_default_att_spec = {"simh_name": "rk", "unit": "0", "image": _default_sys_path}
# _default_att_spec = ["rk", "0", _default_sys_path]

# Regex for parsing an argument string into a sys device
_dev_arg_regex_str = "-(rk|td|dt|rx)(\d?)(s)?"
_dev_arg_re = re.compile(_dev_arg_regex_str)







|







58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
DEBUG = False
VERBOSE = False
QUIET = False
SYSTEM = False
FORCE = False

# Default RK05 system image to attach if no sys specified.
_default_sys_image = "@OS8_TOOLTIME@"
_default_sys_path = dirs.os8mo + _default_sys_image
_default_att_spec = {"simh_name": "rk", "unit": "0", "image": _default_sys_path}
# _default_att_spec = ["rk", "0", _default_sys_path]

# Regex for parsing an argument string into a sys device
_dev_arg_regex_str = "-(rk|td|dt|rx)(\d?)(s)?"
_dev_arg_re = re.compile(_dev_arg_regex_str)