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

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

Overview
Comment:Passing --disable-cc8-cross now effectively sets --disable-os8-cc8. That wasn't necessary before, since we were distributing a pre-built version of the native CC8, but now that we're building it from source, we need the cross-compiler to produce cc8.tu56.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256:ff7ab04cc3e515c70e0530bd64c43dcacdf2c2d63e3136a1adfc87fb2980e1c1
User & Date: tangent 2019-02-13 05:27:32
Context
2019-02-13
06:13
Documented the new ./configure --boot-tape-* options, and updated some of the other configuration option docs in README.md. check-in: f5a05c7790 user: tangent tags: trunk
05:27
Passing --disable-cc8-cross now effectively sets --disable-os8-cc8. That wasn't necessary before, since we were distributing a pre-built version of the native CC8, but now that we're building it from source, we need the cross-compiler to produce cc8.tu56. check-in: ff7ab04cc3 user: tangent tags: trunk
2019-02-12
06:13
Updated ChangeLog.md to cover new CC8 work check-in: 1992d9b147 user: tangent tags: trunk
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to Makefile.in.

298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
...
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
...
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
OS8_BOOT_TAPE = bin/@OS8_BOOT_TAPE@
V3D_TC08_TU56 = bin/v3d-tc08.tu56
V3D_TD12K_TU56 = bin/v3d-td12k.tu56
V3F_TC08_TU56 = bin/v3f-tc08.tu56
V3F_TD12K_TU56 = bin/v3f-td12k.tu56
V3F_BOOT_TAPE= bin/v3f-@OS8_TAPE_DEVICE@.tu56

CC8_TU56 = bin/cc8.tu56
CC8_TU56_SCRIPT = $(OS8_SCRIPTS_DIR)/cc8-tu56.os8

CLTXT = /boot/cmdline.txt

ADF := adrules.mk


................................................................................
	@srcdir@/src/os8/v3f/*.MA \
	@srcdir@/src/os8/v3f/*.BI


$(OS8_DIST_RK05): $(V3D_DIST_SRCS) | $(SIM) $(OS8RUN_OUTFILES)
	$(OS8RUN)@OS8_OPTS@ $(V3D_DIST_SCRIPT)

$(OS8_BOOT_DISK): $(V3D_RK05_SCRIPT) $(OS8_DIST_RK05) $(V3D_PATCHES) $(CC8_TU56) | $(SIM) $(OS8RUN_OUTFILES)
	$(OS8RUN)@OS8_OPTS@ $(V3D_RK05_SCRIPT)


# 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
................................................................................
	$(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
$(CC8_TU56): $(CC_OS8_OBJS) $(CC_OS8_SRCS) $(CC_OS8_DEMOS) $(CC8_TU56_SCRIPT) | $(OS8_DIST_RK05)
	$(OS8RUN) $(CC8_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







<







 







|







 







|







298
299
300
301
302
303
304

305
306
307
308
309
310
311
...
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
...
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
OS8_BOOT_TAPE = bin/@OS8_BOOT_TAPE@
V3D_TC08_TU56 = bin/v3d-tc08.tu56
V3D_TD12K_TU56 = bin/v3d-td12k.tu56
V3F_TC08_TU56 = bin/v3f-tc08.tu56
V3F_TD12K_TU56 = bin/v3f-td12k.tu56
V3F_BOOT_TAPE= bin/v3f-@OS8_TAPE_DEVICE@.tu56


CC8_TU56_SCRIPT = $(OS8_SCRIPTS_DIR)/cc8-tu56.os8

CLTXT = /boot/cmdline.txt

ADF := adrules.mk


................................................................................
	@srcdir@/src/os8/v3f/*.MA \
	@srcdir@/src/os8/v3f/*.BI


$(OS8_DIST_RK05): $(V3D_DIST_SRCS) | $(SIM) $(OS8RUN_OUTFILES)
	$(OS8RUN)@OS8_OPTS@ $(V3D_DIST_SCRIPT)

$(OS8_BOOT_DISK): $(V3D_RK05_SCRIPT) $(OS8_DIST_RK05) $(V3D_PATCHES) @CC8_TU56@ | $(SIM) $(OS8RUN_OUTFILES)
	$(OS8RUN)@OS8_OPTS@ $(V3D_RK05_SCRIPT)


# 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
................................................................................
	$(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) | $(OS8_DIST_RK05)
	$(OS8RUN) $(CC8_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 README.md.

351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
...
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392


#### --disable-cc8-cross

Give this option if you do not want to build Ian Schofield's `cc8` C
cross-compiler on the host.

Note that this is different from `--disable-os8-cc8`, which disables the
*native OS/8* C compiler. They are two different C compilers: one runs
outside the SIMH PDP-8 simulator and the other runs inside the simulator
under OS/8.


<a id="disable-os8"></a>
#### --disable-os8-\*

Several default components of the [OS/8 RK05 disk image](#os8di) used by
boot options IF=0 and IF=7 can be left out to save space and build time:
................................................................................
    implies that it is the OS/8 BASIC subsystem that is being left out,
    which is not even currently an option.)

*   **--disable-os8-chess** — Leave out John Comeau's
    [CHECKMO-II chess implementation][chess].

*   **--disable-os8-cc8** - Leave out Ian Schofield's native OS/8 CC8
    compiler normally installed to `SYS:`.

*   **--disable-os8-crt** — Suppress the [console rubout behavior][tty]
    enabled while building the OS/8 binary RK05 disk image. You
    probably only want to do this if you have attached a real teletype
    to your PiDP-8/I, and thus do not want video terminal style rubout
    processing.








|
|
|
|







 







|







351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
...
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392


#### --disable-cc8-cross

Give this option if you do not want to build Ian Schofield's `cc8` C
cross-compiler on the host.

Because the cross-compiler is needed to build the CC8 native OS/8
compiler, disabling the cross-compiler also causes the native compiler
to be left off the bootable OS/8 RK05 disk image, as if you’d passed the
`--disable-os8-cc8` configuration option.


<a id="disable-os8"></a>
#### --disable-os8-\*

Several default components of the [OS/8 RK05 disk image](#os8di) used by
boot options IF=0 and IF=7 can be left out to save space and build time:
................................................................................
    implies that it is the OS/8 BASIC subsystem that is being left out,
    which is not even currently an option.)

*   **--disable-os8-chess** — Leave out John Comeau's
    [CHECKMO-II chess implementation][chess].

*   **--disable-os8-cc8** - Leave out Ian Schofield's native OS/8 CC8
    compiler and all of its ancillary files.

*   **--disable-os8-crt** — Suppress the [console rubout behavior][tty]
    enabled while building the OS/8 binary RK05 disk image. You
    probably only want to do this if you have attached a real teletype
    to your PiDP-8/I, and thus do not want video terminal style rubout
    processing.

Changes to auto.def.

118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135














136
137
138
139
140
141
142
...
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
}
set os8bool(src) [opt-bool os8-src]

# Handle meta-options
set os8min [opt-bool os8-minimal]
set os8src [opt-bool os8-src]
if {![opt-bool os8-focal]} {
    set os8bool(focal69) 0
    set os8bool(uwfocal) 0
}

# -- do not use opt-bool os8-* below this point
# -- use the os8bool() array

# Handle interdependent options
if {$os8bool(cc8) && !$os8bool(fortran-ii)} {
    set $os8bool(fortran-ii) 1
    msg-result "WARNING: Re-enabling OS/8 FORTRAN II: OS/8 CC8 requires it."














}

# Now build the options to os8-run
set os8_opts ""
foreach {opt def desc} $os8opts {
    set val $os8bool($opt)
    if {$os8min} {
................................................................................
    define PCB_SERIAL_MOD_ANY
} elseif {[opt-bool serial-mod]} {
    msg-result "GPIO drive adjusted for O. Vermeulen's serial mods to the Pi & PiDP-8/I PCBs."
    define PCB_SERIAL_MOD_OV
    define PCB_SERIAL_MOD_ANY
}

if {[opt-bool cc8-cross]} {
    define CC8_CROSS bin/cc8
} else {
    define CC8_CROSS {}
    msg-result "Will not build the cc8 cross-compiler."
}

if {[opt-bool debug-mode]} {
    msg-result "Creating a debuggable build."
    define BUILDMODE {-O0 -g}
} else {
    msg-result "Creating a release build."
    define BUILDMODE {-O2}
}







|
|









>
>
>
>
>
>
>
>
>
>
>
>
>
>







 







<
<
<
<
<
<
<







118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
...
223
224
225
226
227
228
229







230
231
232
233
234
235
236
}
set os8bool(src) [opt-bool os8-src]

# Handle meta-options
set os8min [opt-bool os8-minimal]
set os8src [opt-bool os8-src]
if {![opt-bool os8-focal]} {
    set os8bool(focal69) "0"
    set os8bool(uwfocal) "0"
}

# -- do not use opt-bool os8-* below this point
# -- use the os8bool() array

# Handle interdependent options
if {$os8bool(cc8) && !$os8bool(fortran-ii)} {
    set $os8bool(fortran-ii) 1
    msg-result "WARNING: Re-enabling OS/8 FORTRAN II: OS/8 CC8 requires it."
}
define CC8_TU56 {}
if {[opt-bool cc8-cross]} {
    define CC8_CROSS bin/cc8
    if {$os8bool(cc8)} {
        define CC8_TU56 bin/cc8.tu56
    }
} else {
    define CC8_CROSS {}
    msg-result "Will not build the CC8 cross-compiler."
    if {$os8bool(cc8)} {
        msg-result "Also disabling OS/8 CC8: can't cross-compile it now."
        set os8bool(cc8) "0"
    }
}

# Now build the options to os8-run
set os8_opts ""
foreach {opt def desc} $os8opts {
    set val $os8bool($opt)
    if {$os8min} {
................................................................................
    define PCB_SERIAL_MOD_ANY
} elseif {[opt-bool serial-mod]} {
    msg-result "GPIO drive adjusted for O. Vermeulen's serial mods to the Pi & PiDP-8/I PCBs."
    define PCB_SERIAL_MOD_OV
    define PCB_SERIAL_MOD_ANY
}








if {[opt-bool debug-mode]} {
    msg-result "Creating a debuggable build."
    define BUILDMODE {-O0 -g}
} else {
    msg-result "Creating a release build."
    define BUILDMODE {-O2}
}