1
0
mirror of https://github.com/PDP-10/its.git synced 2026-02-11 02:39:49 +00:00
Files
PDP-10.its/src/zork/build.cmd
2018-04-10 07:42:53 -07:00

146 lines
3.6 KiB
Batchfile
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
MARC MARC
CONN <ZORK>
<MDL>MDL104
<RESTORE "<MDL>M104UNI">
<SNAME "ZORK">
<FLOAD "LITLPK.GBIN">
<USE "CLEAN" "PURITY">
<SETG NULL!- <INSERT <STRING <ASCII 127>> <ROOT>>>
%%<BLOCK (<MOBLIST FROBOZZ> <GET INITIAL OBLIST> <ROOT>)>
<DEFINE GL (FILE "AUX" VAL (CH <OPEN "READ" .FILE>) L)
<SET L
<MAPF ,LIST
<FUNCTION ()
<SET VAL <READ .CH '<MAPSTOP>>>
<EVAL .VAL>
.VAL>>>
<SET <SET VAL <PARSE <7 .CH>>> .L>
.VAL>
<DEFINE FLUSHG (ATM "AUX" (G ..ATM))
<MAPF <>
<FUNCTION (X)
<COND (<AND <TYPE? .X FORM>
<G? <LENGTH .X> 2>
<MEMQ <1 .X> '![SETG DEFMAC DEFINE]>>
<AND <MANIFEST? <2 .X>>
<UNMANIFEST <2 .X>>>
<GUNASSIGN <2 .X>>)>>
.G>
<UNASSIGN <REMOVE .ATM>>>
%%<ENDBLOCK>
<GL!-FROBOZZ "PRIM.NBIN">
<GL!-FROBOZZ "MAKSTR.NBIN">
<FLOAD "ZORK.XGBIN">
<FLUSHG!-FROBOZZ PRIM>
<FLUSHG!-FROBOZZ MAKSTR>
<FLOAD "TYPHAK.NBIN">
<MAPF <> <FUNCTION (X)
<MAPF <> <FUNCTION (X)
<COND (<GBOUND? .X> <PUT-DECL <GLOC .X> ANY>)>>
.X>>
<GET INITIAL OBLIST>>
<CLEANUP>
<PRINT-CLEANUP>
%%<SET X ,PURELST>
<GROUP-PURIFY X>
<GL!-FROBOZZ "PRIM.NBIN">
<GL!-FROBOZZ "MAKSTR.NBIN">
<FLOAD "DUNG">
<SETG END-GAME-EXISTS? T>
%%<BLOCK (<GET FROBOZZ OBLIST> <GET INITIAL OBLIST> <ROOT>)>
<DEFINE ROOM-FROB (RM L "AUX" TL)
<COND (<SET TL <MEMBER <RDESC1 .RM> .L>>
<PUT .RM ,RDESC1 <1 .TL>>)
(<SET L (<RDESC1 .RM> !.L)>)>
<COND (<SET TL <MEMBER <RDESC2 .RM> .L>>
<PUT .RM ,RDESC2 <1 .TL>>)
(<SET L (<RDESC2 .RM> !.L)>)>
<MAPR <>
<FUNCTION (Y "AUX" (X <1 .Y>))
<COND (<AND <TYPE? .X CEXIT> <CXSTR .X>>
<COND (<SET TL <MEMBER <CXSTR .X> .L>>
<PUT .X ,CXSTR <1 .TL>>)
(<SET L (<CXSTR .X> !.L)>)>)
(<AND <TYPE? .X DOOR> <DSTR .X>>
<COND (<SET TL <MEMBER <DSTR .X> .L>>
<PUT .X ,DSTR <1 .TL>>)
(<SET L (<DSTR .X> !.L)>)>)
(<TYPE? .X NEXIT>
<COND (<SET TL <MEMBER .X .L>>
<PUT .Y 1 <1 .TL>>)
(<SET L (.X !.L)>)>)>>
<REXITS .RM>>
.L>
<DEFINE OBJECT-FROB (OBJ L "AUX" TL TEMP)
<COND (<SET TL <MEMBER <ODESC1 .OBJ> .L>>
<OPUT .OBJ ODESC1 <1 .TL>>)
(<SET L (<ODESC1 .OBJ> !.L)>)>
<COND (<SET TL <MEMBER <ODESC2 .OBJ> .L>>
<PUT .OBJ ,ODESC2 <1 .TL>>)
(<SET L (<ODESC2 .OBJ> !.L)>)>
<COND (<SET TL <MEMBER <ODESCO .OBJ> .L>>
<OPUT .OBJ ODESCO <1 .TL>>)
(<SET L (<ODESCO .OBJ> !.L)>)>
<COND (<SET TEMP <OREAD .OBJ>>
<SET L (.TEMP !.L)>)>
<COND (<SET TEMP <OFMSGS .OBJ>>
<SET L (.TEMP !.L)>)>
.L>
%%<ENDBLOCK>
<GL!-FROBOZZ "DISP1.GBIN">
<DISPATCH-HACK>
<FLUSHG!-FROBOZZ PRIM>
<FLUSHG!-FROBOZZ MAKSTR>
<FLUSHG!-FROBOZZ DISP1>
<SET Y ()>
<SETG FF "; \\\"Dungeon\\\"">
%%<MAPF <>
<FUNCTION (X)
<SET Y <ROOM-FROB!-FROBOZZ .X .Y>>>
,ROOMS>
%%<MAPF <>
<FUNCTION (X)
<SET Y <OBJECT-FROB!-FROBOZZ .X .Y>>>
,OBJECTS>
%%<PUT <PUT FROBOZZ OBLIST> OBLIST>
%%<MAPR <>
<FUNCTION (X)
<PUT .X 1 ,<1 .X>>>
,PURE-LIST>
%%<PUTREST <REST ,PURE-LIST <- <LENGTH ,PURE-LIST> 1>> .Y>
%%<SET Y <IVECTOR <LENGTH ,PURE-LIST>>>
%%<MAPR <>
<FUNCTION (X Y)
<PUT .X 1 <1 .Y>>>
.Y ,PURE-LIST>
%%<SETG PURE-LIST .Y>
<UNASSIGN <REMOVE Y>>
<LENGTH ,PURE-LIST>
%%<PURIFY ,PURE-LIST ,DISPATCH-TABLE>
<KILL:PURITY>
<FLUSH-CLEANUP>
<UNASSIGN X>
<REMOVE <GUNASSIGN PURE-LIST>>
<REMOVE <UNASSIGN FOO>>
<DEFINE F (BAR) <GUNASSIGN <REMOVE .BAR>>>
<F DROP>
<F L-UNUSE>
<F USE>
<F ENTRY>
<F PACKAGE>
<F ENDPACKAGE>
<F FIND/LOAD>
<F F>
<HANDLER <GET ERROR!-INTERRUPTS INTERRUPT> ,ERRH>
<SETG MUD-HAND <OFF <3 <GET ,INCHAN INTERRUPT>>>>
<SETG ZORK-HAND <OFF <HANDLER <GET ,INCHAN INTERRUPT> ,CTRL-S>>>
<GC 0 T>
<SETG DBG <>>
<GC-MON T>
<BLOAT 0 0 0 0 0 300>
<SAVE-IT "<TAA>MADADV.SAVE" <>>
<QUIT>
DEL ZORK.XGBIN
EXP