Skip to content

Commit 191f8cb

Browse files
committed
Add "loader", "linker", and "decuuo" TCL procedures.
1 parent 02b7349 commit 191f8cb

File tree

3 files changed

+53
-82
lines changed

3 files changed

+53
-82
lines changed

build/build.tcl

+25
Original file line numberDiff line numberDiff line change
@@ -181,6 +181,31 @@ proc macro {target sources} {
181181
respond "*" ":kill\r"
182182
}
183183

184+
proc loader {files} {
185+
respond "*" ":dec sys:loader\r"
186+
respond "*" "$files/g\r"
187+
expect "EXIT"
188+
}
189+
190+
proc linker {files} {
191+
respond "*" ":dec sys:link\r"
192+
respond "*" "$files/go\r"
193+
expect "EXIT" {
194+
return
195+
} "%LNKNED" {
196+
# Sometimes there is this error; workaround is to retry.
197+
respond "*" "$files/go\r"
198+
expect "EXIT"
199+
}
200+
}
201+
202+
proc decuuo {file} {
203+
respond "*" ":start 45\r"
204+
respond "Command:" "d"
205+
respond "*" ":pdump $file\r"
206+
respond "*" ":kill\r"
207+
}
208+
184209
proc cwd {directory} {
185210
respond "*" ":cwd $directory\r"
186211
}

build/kl10/processor.tcl

+2-7
Original file line numberDiff line numberDiff line change
@@ -47,13 +47,8 @@ copy_to_klfe "ucode;u1 ram"
4747
# KLDDT
4848
cwd "kldcp"
4949
macro "klddt" "klddt"
50-
respond "*" ":dec sys:link\r"
51-
respond "*" "klddt/go\r"
52-
respond "EXIT" ":start 45\r"
53-
respond "Command:" "d"
54-
respond "*" "\033y"
55-
respond " " "kldcp; klddt bin\r"
56-
respond "*" ":kill\r"
50+
linker "klddt"
51+
decuuo "kldcp; klddt bin"
5752
respond "*" ":mcnvrt kldcp; klddt bin\r"
5853
expect ":KILL"
5954
move_to_klfe "kldcp; klddt a10"

build/misc.tcl

+26-75
Original file line numberDiff line numberDiff line change
@@ -472,14 +472,11 @@ respond "*" "advent=advent\r"
472472
expect "CORE USED"
473473
respond "*" "\032"
474474
type ":kill\r"
475-
respond "*" ":dec sys:loader\r"
476-
respond "*" "advent/g\r"
477-
respond "EXIT" ":start\r"
475+
loader "advent"
476+
respond "*" ":start\r"
478477
respond "*" "\032"
479-
type ":start 45\r"
480-
respond "Command:" "d"
481-
respond "*" ":pdump sys3; ts advent\r"
482-
respond "*" ":kill\r"
478+
type ":vk\r"
479+
decuuo "sys3; ts advent"
483480

484481
# 350-point ADVENT
485482
cwd "games"
@@ -489,17 +486,12 @@ respond "*" "adv3sb=adv3sb\r"
489486
expect "CORE USED"
490487
respond "*" "\032"
491488
type ":kill\r"
492-
respond "*" ":dec sys:loader\r"
493-
respond "*" "adv3sb\r"
494-
respond "*" "adv3sr\r"
495-
respond "*" "/g\r"
496-
respond "EXIT" ":start\r"
489+
loader "adv3sb,adv3sr"
490+
respond "*" ":start\r"
497491
respond "*" "adv3db.1"
498492
respond "*" "\032"
499-
type ":start 45\r"
500-
respond "Command:" "d"
501-
respond "*" ":pdump games; ts adv350\r"
502-
respond "*" ":kill\r"
493+
type ":vk\r"
494+
decuuo "games; ts adv350"
503495

504496
# 448-point ADVENT
505497
cwd "games"
@@ -509,17 +501,12 @@ respond "*" "adv4su=adv4su\r"
509501
expect "CORE USED"
510502
respond "*" "\032"
511503
type ":kill\r"
512-
respond "*" ":dec sys:loader\r"
513-
respond "*" "adv4ma\r"
514-
respond "*" "adv4su\r"
515-
respond "*" "/g\r"
516-
respond "EXIT" ":start\r"
504+
loader "adv4ma,adv4su"
505+
respond "*" ":start\r"
517506
respond "*" "adv4db.2"
518507
respond "Are you a wizard?" "\032"
519-
type ":start 45\r"
520-
respond "Command:" "d"
521-
respond "*" ":pdump games; ts adv448\r"
522-
respond "*" ":kill\r"
508+
type ":vk\r"
509+
decuuo "games; ts adv448"
523510

524511
# TREK
525512
cwd "games"
@@ -528,13 +515,8 @@ respond "*" "trek=trek\r"
528515
expect "CORE USED"
529516
respond "*" "\032"
530517
type ":kill\r"
531-
respond "*" ":dec sys:loader\r"
532-
respond "*" "trek\r"
533-
respond "*" "/g\r"
534-
respond "EXIT" ":start 45\r"
535-
respond "Command:" "d"
536-
respond "*" ":pdump games; ts trek\r"
537-
respond "*" ":kill\r"
518+
loader "trek"
519+
decuuo "games; ts trek"
538520

539521
# Tech II chess: timesharing, using TV display
540522
respond "*" ":midas games;ts chess2_rg;chess2\r"
@@ -620,26 +602,13 @@ respond "*" "macro=macro\r"
620602
expect "CORE USED"
621603
respond "*" "\003"
622604
respond "*" ":kill\r"
623-
respond "*" ":dec sys:link\r"
624-
respond "*" "macro/go\r"
625-
# Strange error here. Workaround is to retry.
626-
expect "%LNKNED"
627-
respond "*" "macro/go\r"
628-
respond "*" ":start 45\r"
629-
respond "Command" "d"
630-
respond "*" ":pdump sys2; ts macro\r"
631-
respond "*" ":kill\r"
605+
linker "macro"
606+
decuuo "sys2; ts macro"
632607
respond "*" ":delete decsys; macro shr\r"
633608
# Assemble with itself, now no errors
634609
macro "macro" "macro"
635-
respond "*" ":dec sys:link\r"
636-
respond "*" "macro/go\r"
637-
expect "%LNKNED"
638-
respond "*" "macro/go\r"
639-
respond "*" ":start 45\r"
640-
respond "Command" "d"
641-
respond "*" ":pdump sys2; ts macro\r"
642-
respond "*" ":kill\r"
610+
linker "macro"
611+
decuuo "sys2; ts macro"
643612

644613
# MACSYM and MONSYM universal files.
645614
cwd "decsys"
@@ -652,12 +621,8 @@ macro "uuosym.unv" "uuosym.mac"
652621

653622
# CROSS, assembler
654623
macro "cross" "cross"
655-
respond "*" ":dec sys:loader\r"
656-
respond "*" "cross/g\r"
657-
respond "*" ":start 45\r"
658-
respond "Command:" "d"
659-
respond "*" ":pdump sys1; ts cross\r"
660-
respond "*" ":kill\r"
624+
loader "cross"
625+
decuuo "sys1; ts cross"
661626

662627
# Old PALX
663628
respond "*" ":midas 11logo;ts palx_rms;palx 143\r"
@@ -670,13 +635,8 @@ respond "*" ":palx live palx\r"
670635
# MACN11, pdp-11 cross assembler
671636
cwd "sysen3"
672637
macro "macn11" "macn11.hdr,macn11.mac"
673-
respond "*" ":dec sys:loader\r"
674-
respond "*" "macn11/g\r"
675-
expect "EXIT"
676-
respond "*" ":start 45\r"
677-
respond "Command:" "d"
678-
respond "*" ":pdump sys3; ts macn11\r"
679-
respond "*" ":kill\r"
638+
loader "macn11"
639+
decuuo "sys3; ts macn11"
680640

681641
# Cookie Bear
682642
respond "*" ":midas gls; ts check_gls; check\r"
@@ -1640,13 +1600,8 @@ macro "sits.unv" "sits.mac"
16401600
# Datacomputer file transfer.
16411601
cwd "mrc"
16421602
macro "dftp" "dftp"
1643-
respond "*" ":dec sys:link\r"
1644-
respond "*" "dftp/go\r"
1645-
expect "EXIT"
1646-
respond "*" ":start 45\r"
1647-
respond "Command" "d"
1648-
respond "*" ":pdump sys1; ts dftp\r"
1649-
respond "*" ":kill\r"
1603+
linker "dftp"
1604+
decuuo "sys1; ts dftp"
16501605

16511606
# PDP-11 Lisp.
16521607
respond "*" ":palx rms;_lisp11\r"
@@ -1731,12 +1686,8 @@ expect ":KILL"
17311686
# BBN Logo
17321687
cwd "bbn"
17331688
macro "logo" "logo"
1734-
respond "*" ":dec sys:loader\r"
1735-
respond "*" "logo/g\r"
1736-
respond "EXIT" ":start 45\r"
1737-
respond "Command:" "d"
1738-
respond "*" ":pdump bbn; ts logo\r"
1739-
respond "*" ":kill\r"
1689+
loader "logo"
1690+
decuuo "bbn; ts logo"
17401691

17411692
# CLOGO
17421693
respond "*" ":midas sys; ts clogo_rjl; logo\r"

0 commit comments

Comments
 (0)