├── DOC ├── ACTIVE.DOC ├── BRESEN.DOC ├── CLASS.TXT ├── DEBUG.DOC ├── FRAGMENT.DOC ├── GRAVITY.DOC ├── KERNEL.TXT ├── NEWCLASS.TXT ├── NLPDOC.PRN ├── NLPDOC.SPR ├── OBJECT.TXT └── SCRIPT.TXT ├── INTERP ├── ADLIB.I ├── ALTRES.C ├── ALTRES.H ├── ALTRES.I ├── ANIMATE.C ├── ANIMATE.H ├── ANIMATE.I ├── ARMASM.H ├── ARMASM.I ├── ARMASM.S ├── AUD.H ├── AUD.I ├── AUD.S ├── AUDIO.C ├── AUDIO.H ├── AUDIO.I ├── BACKUP.BAT ├── BOOTDISK.EXE ├── CELS.H ├── CELS.I ├── CELS.S ├── CONFIG.C ├── CONFIG.H ├── CONFIG.I ├── CTYPE.C ├── CTYPE.H ├── CTYPE.I ├── DBGHELP.TXT ├── DEBUG.C ├── DEBUG.H ├── DEBUG.I ├── DEBUGASM.H ├── DEBUGASM.I ├── DEBUGASM.S ├── DIALOG.C ├── DIALOG.H ├── DIALOG.I ├── DOS.C ├── DOS.H ├── DOS.I ├── DRIVER.H ├── DRIVER.I ├── EMS.H ├── EMS.I ├── EMS.S ├── ERRMSG.C ├── ERRMSG.H ├── ERRMSG.I ├── EVENT.C ├── EVENT.H ├── EVENT.I ├── EVENTASM.H ├── EVENTASM.I ├── EVENTASM.S ├── EXTMEM.H ├── EXTMEM.I ├── EXTMEM.S ├── FARDATA.C ├── FARDATA.H ├── FILEIO.H ├── FILEIO.I ├── FILEIO.S ├── FLIST ├── FLIST.C ├── FLIST.H ├── FLIST.I ├── GETPATH.C ├── GETPATH.H ├── GRAPH.H ├── GRAPH.I ├── GRAPH.S ├── GRAPH256.I ├── GRAPH256.S ├── GRTYPES.H ├── HFC.S ├── HFD.H ├── HFD.I ├── HFD.S ├── IMPLODE.H ├── IMPLODE.LIB ├── INC_IT.EXE ├── INFO.C ├── INFO.H ├── INTASM.S ├── INTERP.ERR ├── INTERP_E.ERR ├── INTERP_F.ERR ├── INTERP_G.ERR ├── INTERP_I.ERR ├── INTERP_S.ERR ├── INTRPT.C ├── INTRPT.H ├── INTRPT.I ├── IO.H ├── IO.I ├── IO.S ├── KERNDISP.H ├── KERNDISP.I ├── KERNDISP.S ├── KERNEL.C ├── KERNEL.H ├── LANGUAGE.C ├── LANGUAGE.H ├── LANGUAGE.I ├── LIBH.LIB ├── LIST.C ├── LIST.H ├── LIST.I ├── MACRO.I ├── MAKE.EXE ├── MAKEFILE.MAK ├── MATH.H ├── MATH.I ├── MATH.S ├── MEMMGR.H ├── MEMMGR.I ├── MEMMGR.S ├── MENU.C ├── MENU.H ├── MENU.I ├── MESSAGE.C ├── MESSAGE.H ├── MIDI.H ├── MIDI.I ├── MIDI.S ├── MIDIHND.I ├── MONO.H ├── MONO.I ├── MONO.S ├── MOTION.C ├── MOTION.H ├── MOUSE.C ├── MOUSE.H ├── MOUSE.I ├── MOUSEASM.S ├── MOVIE.C ├── MOVIE.H ├── MSERIAL.I ├── OBJASM.S ├── OBJECT.C ├── OBJECT.H ├── OBJECT.I ├── ONELINE.EXE ├── OPCODES.H ├── OPCODES.S ├── PALETTE.C ├── PALETTE.H ├── PALETTE.I ├── PARTS ├── PARTS.LST ├── PICTURE.C ├── PICTURE.H ├── PICTURE.I ├── PK.C ├── PK.H ├── PLATFORM.C ├── PLATFORM.H ├── PMACHASM.S ├── PMACHINE.C ├── PMACHINE.H ├── PMACHINE.I ├── RESNAME.C ├── RESNAME.H ├── RESNAME.I ├── RESOURCE.C ├── RESOURCE.H ├── RESOURCE.I ├── RESTART.C ├── RESTART.H ├── RESTYPES.H ├── RESTYPES.I ├── SAVEGAME.C ├── SAVEGAME.H ├── SAVEVARS.H ├── SAVEVARS.I ├── SAVEVARS.S ├── SCALE.C ├── SCALE.H ├── SCI.C ├── SCI.DOC ├── SCI.EXE ├── SCI.H ├── SCI.I ├── SCI.MAP ├── SCI.VER ├── SCI32MOT.CPP ├── SCI32SOL.HPP ├── SCI32TIM.CPP ├── SCI32TYP.HPP ├── SCIFGETS.C ├── SCIFGETS.H ├── SCIGLOBS.H ├── SCITESTR.EXE ├── SCITESTR.MAP ├── SCRIPT.C ├── SCRIPT.H ├── SCRIPT.I ├── SELECTOR.H ├── SELECTOR.I ├── SETJMP.H ├── SETJMP.I ├── SIERRA.EXE ├── SIERRA.MAP ├── SIERRAM.EXE ├── SIERRAM.MAP ├── SLIST ├── SOUND.C ├── SOUND.H ├── SOUND.I ├── START.C ├── START.H ├── START.I ├── STARTASM.S ├── STDARG.H ├── STDIO.C ├── STDIO.H ├── STDIO.I ├── STDIOASM.S ├── STDLIB.C ├── STDLIB.H ├── STDLIB.I ├── STRING.C ├── STRING.H ├── STRING.I ├── SYNC.C ├── SYNC.H ├── TEXT.C ├── TEXT.H ├── TEXT.I ├── TRIG.C ├── TRIG.H ├── TYPES.H ├── VCS.CFG ├── VCSCFG.BAT ├── VIDEO.I ├── VIEW.H ├── VM_DEFS.H ├── VOLLOAD.C ├── VOLLOAD.H ├── WINDOW.C ├── WINDOW.H ├── WINDOW.I ├── XMS.H ├── XMS.I ├── XMS.S └── ___DOVCS.BAT ├── NL ├── IMPORT.H ├── LISTS.C ├── LISTS.H ├── MAKEFILE ├── NL.C ├── NL.EXE ├── NLDEBUG.EXE ├── NLNULL.C ├── PARSE.C ├── PARSE.H ├── PRAGMA.C ├── PRAGMA.H ├── PRINT.C ├── PRINT.H ├── PRINTD.C ├── QUERY.C ├── QUERY.H ├── SAID.C ├── SAID.H ├── SAIDF.C ├── SAIDF.H ├── SEMA.C ├── SEMA.H ├── STRING.H ├── SYMS.C ├── SYMS.H ├── SYMSD.C ├── VOCAB.C └── VOCAB.H ├── SYSTEM ├── 0.FON ├── 1.FON ├── 2.FON ├── 3.FON ├── 4.FON ├── 7.FON ├── 8.FON ├── 990.MSG ├── 990.SHM ├── 994.MSG ├── 994.SHM ├── 994.VOC ├── 996.V56 ├── 996.VOC ├── 997.V56 ├── 997.VOC ├── 998.VOC ├── 999.FON ├── 999.PAL ├── 999.V56 ├── ACTOR.SC ├── APPROACH.SC ├── BLOCK.SC ├── BORDWIND.SC ├── CAT.SC ├── CAT.SH ├── CHASE.SC ├── CONV.SC ├── COUNT.SC ├── COUNT.SH ├── DCICON.SC ├── DIALOG.SC ├── DLGEDIT.SC ├── DOOR.SC ├── DPATH.SC ├── EGO.SC ├── FEATURE.SC ├── FILE.SC ├── FILESEL.SC ├── FLAGS.SC ├── FLIPPOLY.SC ├── FOLLOW.SC ├── FORCOUNT.SC ├── GAME.SC ├── GAME.SH ├── GAUGE.SC ├── GCONTROL.SC ├── GIVEM.BAT ├── GROOPER.SC ├── ICONBAR.SC ├── INSET.SC ├── INTRFACE.SC ├── INVENT.SC ├── JUMP.SC ├── KERNEL.SH ├── LOADMANY.SC ├── LOADMANY.SH ├── LOGGER.SC ├── MENU.SC ├── MENU.SH ├── MESSAGER.SC ├── MOTION.SC ├── MOVECYC.SC ├── MOVEFWD.SC ├── NAMEFIND.SC ├── NAMEFIND.SH ├── ORBIT.SC ├── OSC.SC ├── PATH.SC ├── PAVOID.SC ├── PCHASE.SC ├── PFOLLOW.SC ├── PMOUSE.SC ├── POLYEDIT.SC ├── POLYGON.SC ├── POLYPATH.SC ├── PRINT.SC ├── QSOUND.SC ├── RANDCYC.SC ├── RANGEOSC.SC ├── REGPATH.SC ├── REGPATH.SH ├── RELDPATH.SC ├── REMAKE.BAT ├── REVERSE.SC ├── RFEATURE.SC ├── SAVE.SC ├── SCALER.SC ├── SCALETO.SC ├── SELECTOR.NEW ├── SIGHT.SC ├── SIGHT.SH ├── SLIDICON.SC ├── SMOOPER.SC ├── SORT.SC ├── SORT.SH ├── SOUND.SC ├── STOPWALK.SC ├── SYNC.SC ├── SYSTEM.SC ├── SYSTEM.SH ├── TALKER.SC ├── TALKERS.SH ├── TIMER.SC ├── TRACK.SC ├── TUTORIAL.SC ├── UPDATE.BAT ├── USER.SC ├── WANDER.SC ├── WINDOW.SC └── WRITEFTR.SC └── TOOLS ├── !DIR.DOC ├── 10.PAT ├── 65535.MAP ├── 999.PAL ├── ALTMVOL.EXE ├── ALTSC.BAK ├── ALTSC.EXE ├── AUDADD.EXE ├── AUDAIFF.EXE ├── AUDBITS.EXE ├── AUDCHANS.EXE ├── AUDCHECK.EXE ├── AUDCOMP.EXE ├── AUDDCOMP.EXE ├── AUDDISK.EXE ├── AUDMAP.EXE ├── AUDMEM.EXE ├── AUDPCM.EXE ├── AUDPLAY.EXE ├── AUDRATE.EXE ├── AUDSCRAM.EXE ├── AUDSOL.EXE ├── AUDSTRIP.EXE ├── AUDSYNC.EXE ├── AUDUCOMP.EXE ├── AUDUSCRM.EXE ├── AUDWAVE.EXE ├── BASE36.EXE ├── BETAW.EXE ├── BUILDADL.EXE ├── BUILDGEN.EXE ├── BUILDTDY.BAK ├── BUILDTDY.EXE ├── CE.BAK ├── CE.EXE ├── CEL2LBM.EXE ├── CEL2NEW.EXE ├── CEL2PCX.EXE ├── DBGHELP.000 ├── DBGHELP.001 ├── DBGHELP.002 ├── DIMWIT.EXE ├── DIMWIT.SET ├── DIMWITSX.EXE ├── DOS4GW.EXE ├── DRIVERS ├── !DIR.DOC ├── ADL.DRV ├── EGA640.DRV ├── GENMIDI.DRV ├── IBMKBD.DRV ├── MT32.DRV ├── NON_SHIP │ ├── !DIR.DOC │ ├── 9801ORCH.DRV │ ├── ADL.DRV │ ├── AUDCDROM.DRV │ ├── AUDTANDY.DRV │ ├── CMS.DRV │ ├── FB01.DRV │ ├── GENMIDI.DRV │ ├── GENMIDMV.DRV │ ├── IMF.DRV │ ├── JR3V.DRV │ ├── MT32.DRV │ ├── MT32MV.DRV │ ├── NOLOAD.DRV │ ├── NOLOADMV.DRV │ ├── SNDBLAST.DRV │ ├── TANDY3V.DRV │ └── TANDY3VD.DRV ├── SAV │ ├── !DIR.DOC │ ├── ADL.DRV │ ├── AUDBLAST.DRV │ ├── AUDDISNY.DRV │ ├── AUDMSSYS.DRV │ ├── AUDNONE.DRV │ ├── AUDPRO.DRV │ ├── AUDPRO16.DRV │ ├── AUDPS1.DRV │ ├── AUDTHUND.DRV │ ├── EGA640.DRV │ ├── GENMIDI.DRV │ ├── IBMKBD.DRV │ ├── IBMPS1.DRV │ ├── MICROSOF.DRV │ ├── MT32.DRV │ ├── PROAUDIO.DRV │ ├── SBPRO.DRV │ ├── STD.DRV │ ├── VGA320.DRV │ └── VGA320BW.DRV ├── SBPRO.DRV ├── SOLONLY │ ├── !DIR.DOC │ ├── AUDCDROM.DRV │ ├── GENMIDIX.DRV │ ├── MIDNONE.DRV │ ├── MT32X.DRV │ ├── NOLOAD.DRV │ ├── NOLOADX.DRV │ └── SBPRO.DRV ├── STD.DRV ├── VGA320.DRV └── VGA320BW.DRV ├── FE.DOC ├── FE.EXE ├── FE.HLP ├── INSTALL ├── BOOTDISK.EXE ├── INSTALL.DOC ├── INSTALL.EXE ├── INSTALL.HLP ├── INSTALL.SCR └── INSTALL.TXT ├── INTERP.ERR ├── INTERP.TXT ├── INTERP_S.TXT ├── LBM2CEL.EXE ├── LBM2CEL2.EXE ├── LBM2PAL.EXE ├── LBM2VIEW.EXE ├── MAKECEL.EXE ├── MAKEMAPS.EXE ├── MAKEV.EXE ├── MAKEVOLS.EXE ├── MAKEVSEQ.EXE ├── MC.DOC ├── MC.EXE ├── ME.BAK ├── ME.DOC ├── ME.EXE ├── ME.HLP ├── ME8088.BAK ├── ME8088.EXE ├── MEAUDFIL.DOC ├── MEAUDFIL.EXE ├── MECNV3_4.EXE ├── MEDUMP.BAK ├── MEDUMP.EXE ├── MESCRIPT.EXE ├── MEXLTDIF.EXE ├── MOVIE.EXE ├── MTEST.EXE ├── NIGHTPAL.EXE ├── PAL.EXE ├── PAL2NEW.EXE ├── PAL2OLD.EXE ├── PALPIC.EXE ├── PALVIEW.EXE ├── PCX2CEL.EXE ├── PCX2VIEW.EXE ├── PE.EXE ├── PE.PIF ├── PE256.BAK ├── PE256.EXE ├── PIC2NEW.EXE ├── PIC2PCX.EXE ├── PICTEST.EXE ├── PROGLIB.DLL ├── READPAL.EXE ├── REDOPIC.EXE ├── RESBUILD.EXE ├── RESBUST.DOC ├── RESBUST.EXE ├── RESDIR.EXE ├── RESMIX.EXE ├── SC.BAK ├── SC.DOC ├── SC.EXE ├── SCI.BAK ├── SCI.DOC ├── SCI.EXE ├── SCIDLL.DLL ├── SCITESTR.EXE ├── SCIW.EXE ├── SE.DOC ├── SE.EXE ├── SIERRA.BAK ├── SIERRA.EXE ├── SIERRAM.BAK ├── SIERRAM.EXE ├── SIERRAW.EXE ├── SMF.EXE ├── SND_EDIT.EXE ├── STAMPVER.EXE ├── STAMPVER └── STAMPVOL.EXE ├── TEST.BAT ├── TESTER.EXE ├── TESTIT.EXE ├── VE.BAK ├── VE.DOC ├── VE.EXE ├── VE16.EXE ├── VE256.BAK ├── VE256.EXE ├── VE32.EXE ├── VIEW2LBM.EXE ├── VIEW2NEW.EXE ├── VIEW2OLD.EXE ├── VIEW2PCX.EXE ├── VIEWMARK.EXE ├── VOLCHECK.EXE ├── WE.EXE ├── XE.BAK ├── XE.EXE ├── XEBATCH.EXE ├── XE_CELS.16 ├── XE_CELS.8 ├── XE_LIPS.V16 ├── XE_RAVE.EXE └── XE_RULES.AME /DOC/FRAGMENT.DOC: -------------------------------------------------------------------------------- 1 | Fragments by size 2 | 3 | 4 | Types of fragments: 5 | 6 | 7 | 06 00 xx xx yy yy 8 | This is a list header. 9 | xxxx is the address of the first node in the list 10 | yyyy is the address of the last node in the list 11 | A list header gets created when the add: method of the associated list 12 | first gets invoked. To prevent fragmentation, do an add: with no 13 | arguments early on in your code, creating the node then. 14 | 15 | 16 | 0a 00 nn nn pp pp kk kk dd dd 17 | This is a list node. 18 | nnnn is the address of the next node in the list 19 | pppp is the address of the previous node in the list 20 | dddd is the address of the data 21 | kkkk is the key which is used to look up the data 22 | Typically dddd and kkkk are the same, since an object's ID is used as 23 | its key. You can follow the list in the debugger using the '[' and ']' 24 | keys. Use the right arrow key to move the display so that nnnn is the 25 | first value displayed. Then'[' will change the display to the next 26 | node in the list and ']' will move to the previous node. 27 | 28 | Determining what the fragment is may or may not be easy. If this is 29 | a node for an object, dddd will be the address of the object and you 30 | can inspect that address to determine what it is. Otherwise, think... 31 | 32 | 33 | 14 00 nn nn pp pp kk kk ... 34 | This is a node with information on a load module. 35 | nnnn is the address of the next load module node 36 | pppp is the address of the previous load module node 37 | kkkk is the number of the load module 38 | If you encounter this, preload the module with a (ScriptID kkkk) 39 | at the appropriate time. 40 | 41 | -------------------------------------------------------------------------------- /DOC/GRAVITY.DOC: -------------------------------------------------------------------------------- 1 | GRAVITY SIMULATION IN SCI 2 | 3 | Standard gravitational acceleration is 9.8 m/s/s. To convert this to the 4 | SCI simulation units of pixels/cycle/cycle, we use the following formula 5 | 6 | 7 | g = 9.8 * h/(f ** 2) 8 | 9 | where 10 | 11 | h is the height, in pixels, of a one meter tall object 12 | 13 | f is the frequency, in cycles/second, of the animation cycles 14 | 15 | 16 | Normal animation speed is 10 animation cycles/second, so in general this 17 | reduces to 18 | 19 | g = .098 * h 20 | 21 | 22 | A standard sized actor is about 33 pixels tall. Assuming that the actor is 23 | a meter tall, we get a default g of 24 | 25 | g = 3.23 26 | = 3 27 | 28 | 29 | 30 | 31 | JumpTo 32 | 33 | The JumpTo motion class is designed to allow an actor to jump to a certain 34 | point on the screen. This is done by assuming that, in the Jump class, the 35 | horizontal and vertical speeds are related by the scale factor n. We then 36 | solve for the magnitude which gets us where we want to go. 37 | 38 | The x coordinate of the endpoint is given by 39 | 40 | x1 = x0 + v * t 41 | 42 | so that 43 | 44 | t = (x1 - x0)/v 45 | 46 | The y coordinate is given by 47 | 48 | y1 = y0 + n * v * t + g * t**2/2 49 | 50 | = y0 + n * v * (x1 - x0)/v + g * (x1 - x0)**2/(2 * v**2) 51 | 52 | 53 | writing 54 | 55 | dx = x1 - x0 56 | dy = y1 - y0 57 | 58 | we have 59 | 60 | dy - n * dx = g * dx**2/(2 * v**2) 61 | 62 | so that 63 | 64 | v = sqrt(g * dx**2/(2 * (dy - dx))) 65 | 66 | 67 | -------------------------------------------------------------------------------- /INTERP/ADLIB.I: -------------------------------------------------------------------------------- 1 | ADLIB_I equ 1 2 | 3 | ; ADLIB.I 4 | ; Definitions of sound chip parameters. 5 | ; 1987/01/20, Marc Savary, Ad Lib Inc. 6 | ; Converted to assembly language, 7/88, Stuart Goldstein, Sierra On-Line 7 | 8 | ;Parameters of each voice: 9 | nbLocParam EQU 14 10 | 11 | prmKsl EQU 0 12 | prmMulti EQU 1 13 | prmFeedBack EQU 2 ; use for opr. 0 only 14 | prmAttack EQU 3 15 | prmSustain EQU 4 16 | prmStaining EQU 5 ; Sustaining ... 17 | prmDecay EQU 6 18 | prmRelease EQU 7 19 | prmLevel EQU 8 20 | prmAm EQU 9 21 | prmVib EQU 10 22 | prmKsr EQU 11 23 | prmFm EQU 12 ; use for opr. 0 only 24 | prmWaveSel EQU 13 ; wave select 25 | 26 | ;globals parameters: 27 | prmAmDepth EQU 14 28 | prmVibDepth EQU 15 29 | prmNoteSel EQU 16 30 | prmPercussion EQU 17 31 | 32 | ;melodic voice numbers: 33 | vMelo0 EQU 0 34 | vMelo1 EQU 1 35 | vMelo2 EQU 2 36 | vMelo3 EQU 3 37 | vMelo4 EQU 4 38 | vMelo5 EQU 5 39 | vMelo6 EQU 6 40 | vMelo7 EQU 7 41 | vMelo8 EQU 8 42 | 43 | ;percussive voice numbers: 44 | BD EQU 6 45 | SD EQU 7 46 | TOM EQU 8 47 | CYMB EQU 9 48 | HIHAT EQU 10 49 | 50 | 51 | MAX_VOLUME EQU 7fh 52 | MAX_PITCH EQU 3fffh 53 | MID_PITCH EQU 2000h 54 | 55 | MID_C EQU 60 ; MIDI standard mid C 56 | CHIP_MID_C EQU 48 ; sound chip mid C 57 | NR_NOTES EQU 96 ; # of notes we can play on chip 58 | 59 |  -------------------------------------------------------------------------------- /INTERP/ALTRES.H: -------------------------------------------------------------------------------- 1 | // altres.h alternate resource memory manager 2 | // Mark Wilden, January 1991 3 | 4 | #if !defined(ALTRES_H) 5 | #define ALTRES_H 6 | 7 | #if !defined(RESOURCE_H) 8 | #include "resource.h" 9 | #endif 10 | 11 | #define NARMTYPES 5 12 | 13 | typedef struct { 14 | char* name; 15 | char debugPrefix; 16 | 17 | bool (*init)(void); 18 | int (*memcpy)(void); 19 | void (*term)(void); 20 | 21 | uword pageSize; 22 | bool active; 23 | 24 | Handle pageMap; 25 | int nPages; 26 | int nFreePages; 27 | } ARMType; 28 | 29 | extern int useAltResMem; 30 | 31 | // resource management functions (ALTRES.C) 32 | void AltResMemInit(void); 33 | ARMHandle AltResMemAlloc(uword size, ARMType** type); 34 | Handle AltResMemRead(LoadLink far** loadLink); 35 | bool AltResMemWrite(LoadLink far** loadLink); 36 | void AltResMemFree(LoadLink far** loadLink); 37 | char AltResMemDebugPrefix(LoadLink far** loadLink); 38 | void AltResMemDebugSummary(strptr where); 39 | void AltResMemDebugKey(strptr where); 40 | void AltResMemTerm(void); 41 | 42 | #define NO_MEMORY -1 43 | 44 | #endif 45 | -------------------------------------------------------------------------------- /INTERP/ALTRES.I: -------------------------------------------------------------------------------- 1 | ;------------------------------------------------------------------- 2 | ; altres.i structures and defines for alternate memory types 3 | ; duplicated in altres.h 4 | ;------------------------------------------------------------------- 5 | 6 | ifndef ALTRES_I 7 | ALTRES_I equ 1 8 | 9 | NARMTYPES equ 5 10 | 11 | ARMType struc 12 | aName word 0 13 | debugPrefix byte 0 14 | init dword 0 15 | memcpy dword 0 16 | term dword 0 17 | 18 | pageSize word 0 19 | active word 0 20 | 21 | ; the pageMap is handle to an array of links (much like a DOS FAT) 22 | ; if an entry is FREE_PAGE, the page is free 23 | ; if an entry is the same as the byte offset, this is the last page in the chain 24 | ; otherwise, the entry is the byte offset to the next page of the allocation 25 | ; the WORD offset into this array is the EMS logical page 26 | pageMap word 0 27 | nPages word 0 ; number of total pages 28 | nFreePages word 0 ; number of our free pages 29 | 30 | ARMType ends 31 | 32 | AltResMemInit proto 33 | AltResMemAlloc proto aSize: word, typ: ptr ptr ARMType 34 | AltResMemRead proto loadLink:far ptr ptr 35 | AltResMemWrite proto loadLink:far ptr ptr 36 | AltResMemFree proto loadLink:far ptr ptr 37 | AltResMemDebugPrefix proto loadLink:far ptr ptr 38 | AltResMemDebugSummary proto where:ptr byte 39 | AltResMemDebugKey proto where:ptr byte 40 | AltResMemTerm proto 41 | 42 | NO_MEMORY equ -1 43 | 44 | endif 45 |  -------------------------------------------------------------------------------- /INTERP/ANIMATE.H: -------------------------------------------------------------------------------- 1 | #if !defined(ANIMATE_H) 2 | #define ANIMATE_H 3 | 4 | #if !defined(TYPES_H) 5 | #include "types.h" 6 | #endif 7 | 8 | #if !defined(GRTYPES_H) 9 | #include "grtypes.h" 10 | #endif 11 | 12 | #if !defined(LIST_H) 13 | #include "list.h" 14 | #endif 15 | 16 | // states of actor's "s_signal" property 17 | #define UPDBITS 0x0007 // the update bits 18 | #define STOPUPD 0x0001 // init "stopped condition 19 | #define STARTUPD 0x0002 // abandon "stopped" condition 20 | #define NOUPDATE 0x0004 // actor is stopped 21 | #define HIDE 0x0008 // actor is not to be drawn 22 | #define FIXPRI 0x0010 // use priority in actor 23 | #define VIEWADDED 0x0020 // leave view in picture 24 | #define FORCEUPD 0x0040 // update a stopped actor this time only 25 | #define HIDDEN 0x0080 // an actor to HIDE has been hidden 26 | 27 | #define staticView 0x0100 // no doit: call required 28 | #define blocked 0x0400 // tried to move, but couldn't 29 | #define fixedLoop 0x0800 // loop is fixed 30 | #define fixedCel 0x1000 // cel fixed 31 | #define ignrHrz 0x2000 // can ignore horizon 32 | #define ignrAct 0x4000 // can ignore other actors 33 | #define delObj 0x8000 34 | 35 | extern List* lastCast; 36 | 37 | void DisposeLastCast(void); 38 | void ReAnimate(RRect*); 39 | void Animate(List*, word); 40 | void AddToPic(List*); 41 | 42 | #endif 43 | 44 | 45 |  -------------------------------------------------------------------------------- /INTERP/ANIMATE.I: -------------------------------------------------------------------------------- 1 | ;------------------------------------------------------------------- 2 | ;animate.i 3 | ;------------------------------------------------------------------- 4 | ifndef ANIMATE_I 5 | ANIMATE_I EQU 1 6 | 7 | ifndef GRAPH_I 8 | include graph.i 9 | endif 10 | 11 | ifndef LIST_I 12 | include list.i 13 | endif 14 | 15 | externdef lastCast:word 16 | 17 | DisposeLastCast proto 18 | ReAnimate proto r:ptr Rect 19 | Animate proto l:ptr List, doit:word 20 | AddToPic proto l:ptr List 21 | 22 | endif 23 |  -------------------------------------------------------------------------------- /INTERP/ARMASM.H: -------------------------------------------------------------------------------- 1 | // armasm.h Mark Wilden, May 1992 2 | // interface to assembly helper routines for alternate resource memory access 3 | 4 | #if !defined(ARMASM_H) 5 | #define ARMASM_H 6 | 7 | #if !defined(ALTRES_H) 8 | #include "altres.h" 9 | #endif 10 | 11 | // direction selectors 12 | #define PAGE2MEM 0 13 | #define MEM2PAGE 1 14 | 15 | ARMHandle ARMAlloc(ARMType* arm, unsigned size); 16 | int ARMCopy(int dir, ARMType* arm, ARMHandle handle, unsigned offset, 17 | unsigned size, ubyte far* data); 18 | long ARMMemAvail(ARMType* arm); 19 | void ARMFree(ARMType* arm, ARMHandle handle); 20 | bool ARMCritical(void); 21 | 22 | #define ARMRead(arm, handle, offset, size, data) \ 23 | ARMCopy(PAGE2MEM, arm, handle, offset, size, data) 24 | #define ARMWrite(arm, handle, offset, size, data) \ 25 | ARMCopy(MEM2PAGE, arm, handle, offset, size, data) 26 | 27 | void far* Get32KEMS(void); 28 | void Free32KEMS(void); 29 | 30 | #endif 31 | -------------------------------------------------------------------------------- /INTERP/ARMASM.I: -------------------------------------------------------------------------------- 1 | ;--------------------------------------------------------------------------- 2 | ; armasm.i Mark Wilden, May 1992 3 | ; 4 | ; interface to assembly helper routines for alternate resource memory access 5 | ;--------------------------------------------------------------------------- 6 | 7 | ifndef ARMASM_I 8 | ARMASM_I equ 1 9 | 10 | ifndef ALTRES_I 11 | include altres.i 12 | endif 13 | 14 | ; page parameters 15 | PAGESIZE_LOG2 equ 14 16 | PAGESIZE equ 1 shl PAGESIZE_LOG2 17 | MAXPAGES equ 512 ; allows for 512 * 16K = 8M 18 | MAXPAGES_REQUEST equ 1 shl (16 - PAGESIZE_LOG2) ; 64K / 16K 19 | MINPAGES equ MAXPAGES_REQUEST * 2 20 | 21 | ; direction selectors 22 | PAGE2MEM equ 0 23 | MEM2PAGE equ 1 24 | 25 | ARMAlloc proto arm:ptr ARMType, count:word 26 | ARMCopy proto direction:word, arm:ptr ARMType, aPage:word, 27 | aOffset: word, count:word, data:far ptr 28 | ARMAllocPageMap proto arm:ptr ARMType 29 | ARMFree proto arm:ptr ARMType, aPage:word 30 | ARMGetFreePage proto arm:ptr ARMType 31 | ARMFreePageMap proto arm:ptr ARMType 32 | ARMCritical proto 33 | 34 | 35 | endif 36 |  -------------------------------------------------------------------------------- /INTERP/AUD.H: -------------------------------------------------------------------------------- 1 | #ifndef AUD_H 2 | #define AUD_H 3 | 4 | #ifdef LINT_ARGS 5 | 6 | extern int AudioDrv(int function, uint qualifier); 7 | extern void AudioServer(void); 8 | extern int CDAudioDrv(int function, uint qualifier); 9 | 10 | #else 11 | 12 | extern int AudioDrv(); 13 | extern void AudioServer(); 14 | extern int CDAudioDrv(); 15 | 16 | #endif 17 | #endif 18 | -------------------------------------------------------------------------------- /INTERP/AUD.I: -------------------------------------------------------------------------------- 1 | AUD_I EQU 1 2 | 3 | extrn AudioDrv:proc 4 | extrn AudioServer:proc 5 | -------------------------------------------------------------------------------- /INTERP/AUDIO.H: -------------------------------------------------------------------------------- 1 | // AUDIO.H 2 | 3 | #if !defined(AUDIO_H) 4 | #define AUDIO_H 5 | 6 | #if !defined(TYPES_H) 7 | #include "types.h" 8 | #endif 9 | 10 | #define AUDMODNUM 65535U 11 | #define MAXQ 10 12 | 13 | extern int audVolFd; 14 | extern int sfxVolFd; 15 | 16 | /* Codes to be sent to the audio driver. 17 | */ 18 | #define A_INIT 0 19 | #define A_STAT 1 20 | #define A_TERMINATE 2 21 | #define A_MEMPLAY 3 22 | #define A_MEMCHECK 4 23 | #define A_MEMSTOP 5 24 | #define A_RATE 6 25 | #define A_PAUSE 7 26 | #define A_RESUME 8 27 | #define A_SELECT 9 28 | #define A_WPLAY 10 29 | #define A_PLAY 11 30 | #define A_STOP 12 31 | #define A_LOC 13 32 | #define A_VOLUME 14 33 | #define A_FILLBUFF 15 34 | #define A_QUEUE 16 35 | 36 | enum audioFuncs { 37 | WPLAY = 1, 38 | PLAY, 39 | STOP, 40 | PAUSE, 41 | RESUME, 42 | LOC, 43 | RATE, 44 | VOLUME, 45 | DACFOUND, 46 | CDREDBOOK, 47 | QUEUE 48 | }; 49 | 50 | void KDoAudio(word *); 51 | void SetAudParms(word *); 52 | uint GetAudQCnt(int); 53 | 54 | bool InitAudioDriver(void); 55 | void EndAudio(void); 56 | bool SelectAudio(char); 57 | ulong FindAudEntry(uint); 58 | ulong FindAud36Entry(uint,uchar,uchar,uchar,uchar); 59 | void AudioWPlay(void); 60 | void AudioPlay(void); 61 | void AudioStop(void); 62 | void AudioPause(ubyte resType, uint resId); 63 | void AudioResume(void); 64 | int AudioLoc(void); 65 | uint AudioRate(uint hertz); 66 | void AudioVol(int vol); 67 | void AudioFill(void); 68 | 69 | void KCDAudio(word *); 70 | bool CDAudioPlay(word *); 71 | int CDAudioLoc(void); 72 | bool InitCDAudioDriver(void); 73 | void EndCDAudio(void); 74 | 75 | bool AudARMInit(void); 76 | void AudARMTerm(void); 77 | bool AudARMRead(uint len, void far *buff); 78 | bool AudARMWrite(int fd, ulong flen); 79 | 80 | extern Handle audioDrv; 81 | extern bool audNone; 82 | 83 | #endif 84 | 85 | -------------------------------------------------------------------------------- /INTERP/AUDIO.I: -------------------------------------------------------------------------------- 1 | ;------------------------------------------------------------------- 2 | ; audio.i 3 | ;------------------------------------------------------------------- 4 | 5 | ifndef AUDIO_I 6 | 7 | AUDIO_I EQU 1 8 | 9 | 10 | ;Audio resource ID 11 | AUDIO equ 8dh 12 | 13 | ;Codes to be sent to the audio driver (in BP). 14 | A_STAT equ 1 ; check status 15 | A_MEMPLAY equ 3 16 | A_MEMCHECK equ 4 17 | A_MEMSTOP equ 5 18 | 19 | externdef audioDrv:word 20 | externdef cdaudioDrv:word 21 | externdef audNone:word 22 | 23 | 24 | endif 25 | 26 | -------------------------------------------------------------------------------- /INTERP/BOOTDISK.EXE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/INTERP/BOOTDISK.EXE -------------------------------------------------------------------------------- /INTERP/CELS.H: -------------------------------------------------------------------------------- 1 | #if !defined(CELS_H) 2 | #define CELS_H 3 | 4 | #if !defined(TYPES_H) 5 | #include "types.h" 6 | #endif 7 | 8 | #if !defined(GRTYPES_H) 9 | #include "grtypes.h" 10 | #endif 11 | 12 | #define REMAPCOLOR 0xfe 13 | 14 | extern unsigned char remapTable[256]; 15 | extern unsigned int remapOn[2]; 16 | extern unsigned char remapDepth[2]; 17 | extern char mirrored; 18 | 19 | void AssertViewPalette(Handle,int); 20 | void DrawCel(Handle view, int loop, int cel, RRect* r, int priority); 21 | void DrawMagCursor(struct MagCursorStruct *, struct pseudoCursor *, int, int); 22 | void ScaleDrawCel(Handle view, int loop, int cel, RRect* pt, int pri, int realXDim); 23 | void GetCelRect(Handle, int, int, int, int, int, RRect *); 24 | int GetNumLoops(Handle); 25 | int GetNumCels(Handle, int); 26 | word GetCelWide(Handle, word, word); 27 | word GetCelHigh(Handle, word, word); 28 | int GetCelXOff(Handle, word, word); 29 | int GetCelYOff(Handle, word, word); 30 | void SetNewDim(Handle, int, int, int, int, int, int); 31 | Hunkptr GetCelPointer(Handle, word, word); 32 | void SetupVMap(word sourcePage); 33 | 34 | 35 | #define REMAPCOLORSTART 0xfd 36 | #define REMAPCOLOREND 0xfe 37 | 38 | #endif 39 | 40 | -------------------------------------------------------------------------------- /INTERP/CELS.I: -------------------------------------------------------------------------------- 1 | ;------------------------------------------------------------------- 2 | ; cels.i 3 | ;------------------------------------------------------------------- 4 | 5 | ifndef CELS_I 6 | 7 | CELS_I equ 1 8 | 9 | ifndef GRAPH_I 10 | include graph.i 11 | endif 12 | 13 | DrawCel proto view:word, loop:word, cel:word, pt:ptr RPoint, pri:word 14 | DrawCelZ proto 15 | DrawPicCel proto 16 | ScaleDrawCel proto view:word, lop:word , cel:word, pt:ptr RPoint, pri:word, 17 | realXDim:word 18 | GetCelWide proto view:word, loop:word, cel:word 19 | GetCelHigh proto view:word, loop:word, cel:word 20 | GetCelXOff proto view:word, loop:word, cel:word 21 | GetCelYOff proto view:word, loop:word, cel:word 22 | GetCelRect proto view:word, loop:word, cel:word, x:word, y:word, z:word, rPtr:ptr RRect 23 | GetNumLoops proto view:word 24 | GetNumCels proto view:word, loop:word 25 | RIsItSkip proto view:word, loop:word, cel:word, vOffset:word, hOffset:word 26 | SetNewDim proto view:word, lop:word, cel:word, newxdim:word, newydim:word, newxoff:word, newyoff:word 27 | DrawMagCursor proto magData:ptr MagCursorStruct,pCursor:ptr pseudoCursor, xpos:word, ypos:word 28 | AssertViewPalette proto view:word, flag:word 29 | SetupVMap proto sourcePage:word 30 | 31 | REMAPCOLORSTART equ 0fdh 32 | REMAPCOLOREND equ 0feh 33 | 34 | endif 35 | 36 | -------------------------------------------------------------------------------- /INTERP/CONFIG.H: -------------------------------------------------------------------------------- 1 | #if !defined(CONFIG_H) 2 | #define CONFIG_H 3 | 4 | #if !defined(TYPES_H) 5 | #include "types.h" 6 | #endif 7 | 8 | extern strptr videoDriver; 9 | extern strptr soundDriver; 10 | extern strptr kbdDriver; 11 | extern strptr joyDriver; 12 | extern strptr audioDriver; 13 | extern strptr movieDir; 14 | extern strptr patchDir[]; 15 | extern bool useMouse; 16 | extern int useDiskAudio; 17 | extern uint audBuffKSize; 18 | extern int audioDMA; 19 | extern int audioIRQ; 20 | 21 | extern uint minHunkSize; 22 | extern uint maxHunkUsed; 23 | 24 | bool ReadConfigFile(strptr name, strptr defaultName); 25 | 26 | #endif 27 | -------------------------------------------------------------------------------- /INTERP/CONFIG.I: -------------------------------------------------------------------------------- 1 | ;------------------------------------------------------------------- 2 | ; config.i 3 | ;------------------------------------------------------------------- 4 | 5 | ifndef CONFIG_I 6 | 7 | CONFIG_I equ 1 8 | 9 | externdef videoDriver:word 10 | externdef soundDriver:word 11 | externdef kbdDriver:word 12 | externdef joyDriver:word 13 | externdef audioDriver:word 14 | externdef patchDir:word 15 | externdef useMouse:word 16 | externdef useDiskAudio:word 17 | externdef audioPort:word 18 | 19 | externdef minHunkSize:word 20 | externdef maxHunkUsed:word 21 | 22 | 23 | endif 24 | 25 | -------------------------------------------------------------------------------- /INTERP/CTYPE.C: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/INTERP/CTYPE.C -------------------------------------------------------------------------------- /INTERP/CTYPE.H: -------------------------------------------------------------------------------- 1 | #ifndef CTYPE_H 2 | #define CTYPE_H 3 | 4 | #if !defined(TYPES_H) 5 | #include "types.h" 6 | #endif 7 | 8 | extern bool islower(uchar c); 9 | extern bool isupper(uchar c); 10 | extern char _tolower(uchar c); 11 | extern char _toupper(uchar c); 12 | 13 | /* need defines to avoid Microsoft C defaults 14 | */ 15 | #define lower(c) tolower(c) 16 | #define tolower(c) _tolower(c) 17 | #define toupper(c) _toupper(c) 18 | 19 | #define isalpha(c) ( islower(c) || isupper(c) ) 20 | #define isdigit(c) ( (c) >= '0' && (c) <= '9') 21 | 22 | #define isalnum(c) isalpha(c) || isdigit(c) 23 | #define iscntrl(c) ((c) <= 0x1f || (c) == 0x7f ) 24 | #define isspace(c) strchr(" \t\n\r",c) 25 | #define ispunct(c) !(isalnum(c) || isspace(c) || iscntrl(c)) 26 | 27 | #define iseuro(c) ( (c) >= 0x80 && (c) <= 0xa5 ) 28 | #define iskana(c) ( (c) >= 0xa6 && (c) <= 0xdf ) 29 | #define isgreek(c) ( (c) >= 0xe0 && (c) <= 0xee ) 30 | 31 | #define iskanji(c) ((unsigned char) (c) >= 0x81 &&\ 32 | (unsigned char) (c) <= 0x9f ||\ 33 | (unsigned char) (c) >= 0xe0 &&\ 34 | (unsigned char) (c) <= 0xfc) 35 | #define iskanji2(c) ((unsigned char) (c) >= 0x40 &&\ 36 | (unsigned char) (c) <= 0x7e ||\ 37 | (unsigned char) (c) >= 0x80 &&\ 38 | (unsigned char) (c) <= 0xfc) 39 | 40 | #endif 41 | -------------------------------------------------------------------------------- /INTERP/CTYPE.I: -------------------------------------------------------------------------------- 1 | extrn islower:proc 2 | extrn isupper:proc 3 | extrn _tolower:proc 4 | extrn _toupper:proc 5 | -------------------------------------------------------------------------------- /INTERP/DBGHELP.TXT: -------------------------------------------------------------------------------- 1 | (out-file "vocab.995") 2 | (header (byte #x86 0)) ;set up as a vocab resource 3 | 4 | (define NL '(byte 10)) 5 | 6 | ( 7 | "q - quit" NL 8 | NL 9 | "b - set breakpoint - object,method" NL 10 | "B - set breakpoint - object,method (sticky)" NL 11 | "B - clear sticky object,method breakpoint" NL 12 | "n - set breakpoint - script,offset" NL 13 | "N - set breakpoint - script,offset (sticky)" NL 14 | "N - clear sticky script,offset breakpoint" NL 15 | "R - break at the next return" NL 16 | NL 17 | "C - clear all breakpoints and exit debug" NL 18 | "D - exit debug" NL 19 | "` - toggle debug" NL 20 | NL 21 | "Enter - single step" NL 22 | "Tab - step across send" 23 | ) 24 | 25 | ( 26 | "a - inspect ID in accumulator" NL 27 | "c - inspect current object" NL 28 | "i - inspect object or memory" NL 29 | "d - inspect hunk address" NL 30 | NL 31 | "f - show free heap" NL 32 | "s - show sends" NL 33 | "r - show resource types" NL 34 | "o - show objects in heap" NL 35 | "O - show objects w/ addresses" NL 36 | "S - show stack usage" NL 37 | NL 38 | "g - edit global var" NL 39 | "l - edit local var" NL 40 | "f - edit frame var (temp var)" 41 | ) 42 | 43 | ( 44 | "i - inspect selector" NL 45 | "e - edit heap address or selector" NL 46 | "t - trace heap address or selector" NL 47 | "T - trace hunk address" NL 48 | NL 49 | "c - display collection" NL 50 | NL 51 | "left, right arrow" NL 52 | " - move address by 2 bytes" NL 53 | "up, down arrow" NL 54 | " - move address by 16 bytes" NL 55 | "pageup, pagedown" NL 56 | " - move address by 64 bytes" NL 57 | NL 58 | "[ - move to next in doubly-" NL 59 | " linked list" NL 60 | "] - move to previous in" NL 61 | " doubly-linked list" 62 | ) 63 | -------------------------------------------------------------------------------- /INTERP/DEBUG.I: -------------------------------------------------------------------------------- 1 | ;------------------------------------------------------------------- 2 | ; debug.i 3 | ;------------------------------------------------------------------- 4 | 5 | ifndef DEBUG_I 6 | 7 | DEBUG_I equ 1 8 | 9 | externdef newRoomNum:word 10 | externdef traceOn:word 11 | externdef trace:word 12 | externdef lastSp:word 13 | externdef isDebugVersion:word 14 | 15 | externdef proOn:word 16 | externdef proBuffer:word 17 | externdef proIndex:word 18 | externdef proBufSize:word 19 | 20 | 21 | KShowFree proto 22 | KSetDebug proto args:ptr word 23 | KShowSends proto args:ptr word 24 | KInspectObj proto args:ptr word 25 | 26 | ShowSends proto w:word 27 | SetDebug proto on:word 28 | WriteResUse proto resType:word, resID:word 29 | CheckHunkUse proto paragLocked:word 30 | Debug proto sciIP:ptr byte, sciSP:ptr word, args:vararg 31 | ToggleDebug proto 32 | Resources proto 33 | SizedWindow proto s:ptr byte, titleStr:ptr byte, w:word 34 | DebugWindow proto s:ptr byte, titleStr:ptr byte, s:word, x:word, y:word, w:word 35 | PError proto sciIP:ptr byte, sciSP:ptr byte, errCode:word, args:vararg 36 | 37 | 38 | endif 39 | 40 | -------------------------------------------------------------------------------- /INTERP/DEBUGASM.H: -------------------------------------------------------------------------------- 1 | // debugasm.h 2 | 3 | #if !defined(DEBUGASM_H) 4 | #define DEBUGASM_H 5 | 6 | void DebugInit(void); 7 | void DebugOn(void); 8 | void DebugOff(void); 9 | void RDebugger(void); 10 | void KStackUsage(void); 11 | uint StackUsage(int); 12 | void ShowFreeList(strptr); 13 | void ProfileHandler(void); 14 | 15 | #endif 16 |  -------------------------------------------------------------------------------- /INTERP/DEBUGASM.I: -------------------------------------------------------------------------------- 1 | ;------------------------------------------------------------------- 2 | ; debugasm.i 3 | ;------------------------------------------------------------------- 4 | 5 | ifndef DEBUGASM_I 6 | 7 | DEBUGASM_I equ 1 8 | 9 | DebugInit proto 10 | RDebugger proto near 11 | KStackUsage proto funcPtr:word 12 | 13 | DebugOn proto 14 | DebugOff proto 15 | StackUsage proto func:word 16 | ShowFreeList proto where:word 17 | 18 | ProfileHandler proto 19 | DoTrace proto 20 | 21 | endif 22 | -------------------------------------------------------------------------------- /INTERP/DIALOG.H: -------------------------------------------------------------------------------- 1 | #ifndef DIALOG_H 2 | 3 | #define DIALOG_H 4 | 5 | #include "types.h" 6 | #include "grtypes.h" 7 | #include "window.h" 8 | #include "event.h" 9 | #include "pmachine.h" 10 | #include "kernel.h" 11 | #include "intrpt.h" 12 | 13 | #define MARGIN 4 14 | 15 | #ifdef LINT_ARGS 16 | 17 | extern void InitDialog(boolfptr); 18 | extern void RHiliteControl(Obj *s); 19 | extern word *DrawControl(Obj *); 20 | extern word EditControl(Obj *, Obj *); 21 | extern int GetLine(strptr, strptr, int); /* accept or modify the string in buffer */ 22 | extern void RGlobalToLocal(RPoint *); 23 | extern void RLocalToGlobal(RPoint *); 24 | extern int EditText(RRect *, strptr, int, int, REventRecord *); 25 | extern void DrawCursor(RRect *, strptr, int); 26 | extern void EraseCursor(void); 27 | 28 | #else 29 | 30 | 31 | extern void InitDialog(); 32 | extern void RHiliteControl(); 33 | extern word *DrawControl(); 34 | extern word EditControl(); 35 | extern int GetLine(); /* accept or modify the string in buffer */ 36 | extern void RGlobalToLocal(); 37 | extern void RLocalToGlobal(); 38 | extern int EditText(); 39 | extern void DrawCursor(); 40 | extern void EraseCursor(); 41 | 42 | #endif 43 | 44 | #endif 45 |  46 | -------------------------------------------------------------------------------- /INTERP/DIALOG.I: -------------------------------------------------------------------------------- 1 | ;------------------------------------------------------------------- 2 | ; dialog.i 3 | ;------------------------------------------------------------------- 4 | 5 | ifndef DIALOG_I 6 | 7 | DIALOG_I equ 1 8 | 9 | ifndef OBJECT_I 10 | include object.i 11 | endif 12 | 13 | ifndef GRAPH_I 14 | include graph.i 15 | endif 16 | 17 | ifndef EVENT_I 18 | include event.i 19 | endif 20 | 21 | 22 | RHiliteControl proto s:ptr Obj 23 | DrawControl proto s:ptr Obj 24 | EditControl proto s1:ptr Obj, s2:ptr Obj 25 | GetLine proto s1:ptr byte, s2:ptr byte, i:word 26 | RGlobalToLocal proto p:ptr Point 27 | RLocalToGlobal proto p:ptr Point 28 | EditText proto r:ptr Rect, s:ptr byte, i1:word, i2:word, e:ptr Event 29 | DrawCursor proto r:ptr Rect, s:ptr byte, i:word 30 | EraseCursor proto 31 | 32 | 33 | endif 34 | 35 |  -------------------------------------------------------------------------------- /INTERP/DOS.I: -------------------------------------------------------------------------------- 1 | ;------------------------------------------------------------------- 2 | ; dos.i 3 | ;------------------------------------------------------------------- 4 | 5 | ifndef DOS_I 6 | 7 | DOS_I equ 1 8 | 9 | 10 | ;DOS function calls 11 | dosResetDisk equ 0dh 12 | dosSetDrive equ 0eh 13 | dosEquipCfg equ 11h 14 | dosCurDrive equ 19h 15 | dosSetDTA equ 1ah 16 | dosSetVector equ 25h 17 | dosGetVector equ 35h 18 | dosFreeSpace equ 36h 19 | dosCreat equ 3ch 20 | dosOpen equ 3dh 21 | dosClose equ 3eh 22 | dosRead equ 3fh 23 | dosWrite equ 40h 24 | dosUnlink equ 41h 25 | dosLSeek equ 42h 26 | dosDup equ 45h 27 | dosCurDir equ 47h 28 | dosFirst equ 4eh 29 | dosNext equ 4fh 30 | dosRename equ 56h 31 | dosFileDT equ 57h 32 | 33 | 34 | CleanDir proto dir:ptr byte 35 | KCheckFreeSpace proto args:ptr word 36 | KValidPath proto args:ptr word 37 | KDeviceInfo proto args:ptr word 38 | ExitThroughDebug proto 39 | GetDevice proto path:ptr byte, device:ptr byte 40 | GetCurDevice proto device:ptr byte 41 | GetExecDir proto s:ptr byte 42 | 43 | 44 | endif 45 | 46 |  -------------------------------------------------------------------------------- /INTERP/DRIVER.H: -------------------------------------------------------------------------------- 1 | /* DRIVER.H 2 | * Definitions for drivers. 3 | */ 4 | 5 | /* Magic number to identify drivers. 6 | */ 7 | #define DRIVER 0x87654321L 8 | 9 | /* Driver types. 10 | */ 11 | #define D_VIDEO 0 12 | #define D_MUSIC 1 13 | #define D_VOICE 2 14 | #define D_INPUT 3 15 | #define D_KEYBOARD 4 16 | #define D_COMM 5 17 | #define D_MOUSE 6 18 | #define D_MEMORY 7 /* type used for autodetection purposes only */ 19 | #define D_PRINTER 8 20 | 21 | /* Required driver functions. 22 | */ 23 | #define D_DETECT (0 * sizeof(void *)) 24 | #define D_INIT (1 * sizeof(void *)) 25 | #define D_TERMINATE (2 * sizeof(void *)) 26 | 27 | #define EXTDRV 0xFEDCBA98 28 | 29 | /* extended driver bits */ 30 | 31 | /* video */ 32 | #define MDA_BIT 0x0001 33 | #define HERCULES_BIT 0x0002 34 | #define CGA_BIT 0x0004 35 | #define IBMPCJR_BIT 0x0008 36 | #define TANDY_BIT 0x0010 37 | #define EGA_BIT 0x0020 38 | #define MCGA_BIT 0x0040 39 | #define VGA_BIT 0x0080 40 | #define CGAM_BIT 0x0100 41 | #define CGAC_BIT 0x0200 42 | #define EXPLORER_BIT 0x0400 43 | 44 | /* keyboard */ 45 | #define IBMKBD_BIT 1 46 | #define TANDYKBD_BIT 2 47 | 48 | /* sound */ 49 | #define STD_SPEAKER 0x0001 50 | #define ADLIB 0x0002 51 | #define SBLAST_DAC 0x0004 52 | #define CMS 0x0008 53 | #define TANDY_3VOICE 0x0010 54 | #define TANDY_DAC 0x0020 55 | #define PS1_3VOICE 0x0040 56 | #define PS1_DAC 0x0080 57 | #define IMF 0x0100 58 | #define MPU_MIDI 0x0200 59 | #define DISNEY_DAC 0x0400 60 | #define CDAUDIO_OUT 0x0800 61 |  -------------------------------------------------------------------------------- /INTERP/DRIVER.I: -------------------------------------------------------------------------------- 1 | ;------------------------------------------------------------------- 2 | ; driver.i 3 | ; 4 | ; Definitions for drivers. 5 | ;------------------------------------------------------------------- 6 | 7 | DRIVER_I EQU 1 8 | 9 | 10 | ;Magic number to identify drivers. 11 | DRIVER equ 87654321h 12 | 13 | ;Driver types. 14 | D_VIDEO equ 0 15 | D_MUSIC equ 1 16 | D_VOICE equ 2 17 | D_INPUT equ 3 18 | D_KEYBOARD equ 4 19 | D_COMM equ 5 20 | D_MOUSE equ 6 21 | D_MEMORY equ 7 ; type used for autodetection purposes only 22 | 23 | ;Required driver functions. 24 | D_DETECT equ 0 25 | D_INIT equ 2 26 | D_TERMINATE equ 4 27 | 28 | ; 29 | EXTDRV equ 0FEDCBA98H 30 | 31 | ; extended driver bits 32 | 33 | ; video 34 | MDA_BIT equ 1 35 | HERCULES_BIT equ 2 36 | CGA_BIT equ 4 37 | IBMPCJR_BIT equ 8 38 | TANDY_BIT equ 10H ;16 39 | EGA_BIT equ 20H ;32 40 | MCGA_BIT equ 40H ;64 41 | VGA_BIT equ 80H ;128 42 | CGAM_BIT equ 100H ;256 43 | CGAC_BIT equ 200H ;512 44 | EXPLORER_BIT equ 400H ;1024 45 | 46 | ;keyboard 47 | IBMKBD_BIT equ 1 48 | TANDYKBD_BIT equ 2 49 | NECKBD_BIT equ 4 50 | 51 | ;sound 52 | STD_SPEAKER EQU 0001h 53 | ADLIB EQU 0002h 54 | SBLAST_DAC EQU 0004h 55 | CMS EQU 0008h 56 | TANDY_3VOICE EQU 0010h 57 | TANDY_DAC EQU 0020h 58 | PS1_3VOICE EQU 0040h 59 | PS1_DAC EQU 0080h 60 | SBLAST_PRO EQU 0100h 61 | MPU_MIDI EQU 0200h 62 | DISNEY_DAC EQU 0400h 63 | CDAUDIO_OUT EQU 0800h 64 | PROAUDIO_FM EQU 1000h 65 | ARIA EQU 10000h 66 | GRAVIS EQU 20000h 67 | SADLIB EQU 40000h 68 | PROAUDIO_DAC EQU 2000h 69 | WINDOWS_SS EQU 4000h 70 | NO_MIDI EQU 8000h 71 |  72 | -------------------------------------------------------------------------------- /INTERP/EMS.H: -------------------------------------------------------------------------------- 1 | #ifndef EMS_H 2 | #define EMS_H 3 | 4 | #if !defined(ALTRES_H) 5 | #include "altres.h" 6 | #endif 7 | 8 | extern ARMType ems; 9 | 10 | int EMSDetect(void); 11 | int EMSAlloc(word nPages); 12 | int EMSMapPage(char physicalPage, word logicalPage, word handle); 13 | void EMSFree(word aHandle); 14 | void far* EMSGetPageFrame(void); 15 | 16 | #endif 17 |  -------------------------------------------------------------------------------- /INTERP/EMS.I: -------------------------------------------------------------------------------- 1 | ;------------------------------------------------------------------- 2 | ; ems.i EMS interface 3 | ;------------------------------------------------------------------- 4 | 5 | ifndef EMS_I 6 | EMS_I equ 1 7 | 8 | ifndef ALTRES_I 9 | include altres.i 10 | endif 11 | 12 | externdef ems:ARMType 13 | 14 | EMSDetect proto 15 | EMSAlloc proto nPages:word 16 | EMSMapPage proto physicalPage:byte, logicalPage:word, aHandle:word 17 | EMSFree proto aHandle:word 18 | 19 | endif 20 | -------------------------------------------------------------------------------- /INTERP/EVENTASM.H: -------------------------------------------------------------------------------- 1 | #ifndef EVENTASM_H 2 | #define EVENTASM_H 3 | 4 | extern void PollKeyboard(void); 5 | extern void FlushKeyboard(void); 6 | extern int KeyboardDriver(int, ...); 7 | extern uword GetModifiers(void); 8 | extern void PollJoystick(void); 9 | extern int JoystickDriver(int, ...); 10 | 11 | #endif 12 |  -------------------------------------------------------------------------------- /INTERP/EVENTASM.I: -------------------------------------------------------------------------------- 1 | ;------------------------------------------------------------------- 2 | ; eventasm.i 3 | ;------------------------------------------------------------------- 4 | 5 | ifndef EVENTASM_I 6 | 7 | EVENTASM_I EQU 1 8 | 9 | PollKeyboard proto 10 | FlushKeyboard proto 11 | KeyboardDriver proto func:word, args:vararg 12 | GetModifiers proto 13 | PollJoystick proto 14 | JoystickDriver proto func:word, args:vararg 15 | 16 | 17 | endif 18 | 19 | -------------------------------------------------------------------------------- /INTERP/EXTMEM.H: -------------------------------------------------------------------------------- 1 | #ifndef EXTMEM_H 2 | #define EXTMEM_H 3 | 4 | #include "altres.h" 5 | 6 | extern ARMType extMem; 7 | 8 | #endif 9 | -------------------------------------------------------------------------------- /INTERP/EXTMEM.I: -------------------------------------------------------------------------------- 1 | ifndef EXTMEM_I 2 | EXTMEM equ 1 3 | 4 | externdef extMem:ARMType 5 | 6 | endif 7 | -------------------------------------------------------------------------------- /INTERP/FARDATA.H: -------------------------------------------------------------------------------- 1 | // FARDATA.H 2 | 3 | #if !defined(FARDATA_H) 4 | #define FARDATA_H 5 | 6 | #if !defined(TYPES_H) 7 | #include "types.h" 8 | #endif 9 | 10 | int GetFarData(int moduleNum, int entryNum, memptr buffer); 11 | strptr GetFarStr(int moduleNum, int entryNum, strptr buffer); 12 | void KGetFarText(word *args); 13 | strptr GetFarText(uint module, uint offset, strptr buffer); 14 | 15 | #endif 16 | 17 | -------------------------------------------------------------------------------- /INTERP/FILEIO.I: -------------------------------------------------------------------------------- 1 | ;------------------------------------------------------------------- 2 | ; fileio.i 3 | ;------------------------------------------------------------------- 4 | 5 | ifndef FILEIO_I 6 | 7 | FILEIO_I equ 1 8 | 9 | 10 | externdef criticalError:word 11 | 12 | readfar proto fd:word, buffer:word, len:word 13 | ReadDos proto fd:word, buffer:far ptr byte, len:word 14 | WriteDos proto fd:word, buffer:far ptr word, len:word 15 | filelength proto fd:word 16 | unlink proto filename:ptr byte 17 | firstfile proto spec:ptr byte, atr:word, dta:ptr byte 18 | nextfile proto dta:ptr byte 19 | getcwd proto dir:ptr byte 20 | existdrive proto drive:word 21 | ResetDisk proto 22 | RGetFreeSpace proto drive:byte 23 | Exists proto filename:ptr byte 24 | drivecheck proto pathname:ptr byte 25 | lseek proto fd:word, file_ofs:dword, theOrg:word 26 | 27 | 28 | endif 29 | 30 |  -------------------------------------------------------------------------------- /INTERP/FLIST.H: -------------------------------------------------------------------------------- 1 | // flist.h 2 | 3 | #if !defined(FLIST_H) 4 | #define FLIST_H 5 | 6 | #if !defined(MEMMGR_H) 7 | #include "memmgr.h" 8 | #endif 9 | 10 | typedef struct { 11 | word head; 12 | word tail; 13 | } FList; 14 | 15 | typedef struct { 16 | word prev; 17 | word next; 18 | int key; 19 | } FNode; 20 | 21 | typedef FNode _far* FNodePtr; 22 | typedef FNodePtr* FNodeHandle; 23 | 24 | #define W2H(w) ((FNodeHandle) Native(w)) // word to handle 25 | #define H2W(n) ((word) Pseudo(n)) // handle to word 26 | 27 | bool FIsFirstNode(word node); 28 | word FFirstNode(FList* list); 29 | word FLastNode(FList* list); 30 | word FNextNode(word node); 31 | word FPrevNode(word node); 32 | word FAddToFront(FList* list, word node); 33 | bool FDeleteNode(FList* list, word node); 34 | word FMoveToFront(FList* list, word node); 35 | 36 | #endif 37 |  -------------------------------------------------------------------------------- /INTERP/FLIST.I: -------------------------------------------------------------------------------- 1 | FLIST_I equ 1 2 | 3 | extrn FIsFirstNode:proc 4 | extrn FFirstNode:proc 5 | extrn FLastNode:proc 6 | extrn FNextNode:proc 7 | extrn FPrevNode:proc 8 | extrn FAddToFront:proc 9 | extrn FMoveToFront:proc 10 | extrn FDeleteNode:proc 11 | 12 | -------------------------------------------------------------------------------- /INTERP/GRAPH.H: -------------------------------------------------------------------------------- 1 | #if !defined(GRAPH_H) 2 | #define GRAPH_H 3 | 4 | #if !defined(GRTYPES_H) 5 | #include "grtypes.h" 6 | #endif 7 | 8 | #if !defined(PALETTE_H) 9 | #include "palette.h" 10 | #endif 11 | 12 | struct MagCursorStruct 13 | { 14 | Hunkptr picture; 15 | Hunkptr cursor; 16 | ubyte replaceColor; 17 | int curTop; 18 | int curLeft; 19 | int curBottom; 20 | int curRight; 21 | int picXDim; 22 | int magLevel; 23 | 24 | }; 25 | struct pseudoCursor 26 | { 27 | int xDim; 28 | int yDim; 29 | int xHot; 30 | int yHot; 31 | uchar skipColor; 32 | }; 33 | 34 | extern word NumberColors; 35 | extern uchar currentVideoMode; 36 | extern RGrafPort* rThePort; 37 | extern char palVaryOn; 38 | extern char palVaryPause; 39 | extern word palettePercent; 40 | extern word paletteDir; 41 | extern word paletteTime; 42 | extern word paletteStop; 43 | extern word paletteRes; 44 | extern Handle startPalette; 45 | extern Handle targetPalette; 46 | extern Handle newPalette; 47 | extern word NumberColors; 48 | extern char* theFont; 49 | extern short wordBits[]; 50 | 51 | void GetCLUT(RPalette far *); 52 | void SetCLUT(RPalette far *,int); 53 | int FastMatch(RPalette far *,int,int,int,int,int); 54 | void KGraph(word *); 55 | void GetCursorData(char *); 56 | void MoveCursorData(char *); 57 | void MoveCursor(int,int); 58 | void SetCursorData(char *); 59 | bool RIsItSkip(Handle viewHandle, uint loop, uint cel, int vOffset, int hOffset); 60 | void UnloadBits(Handle handle); 61 | void PaletteServer(void); 62 | void PaletteUpdate(int, int); 63 | void PaletteCheck(void); 64 | void KillPalServer(void); 65 | int PaletteShell(RPalette far *); 66 | 67 | #endif 68 | -------------------------------------------------------------------------------- /INTERP/HFD.H: -------------------------------------------------------------------------------- 1 | #ifndef HFD_H 2 | #define HFD_H 3 | 4 | #ifdef LINT_ARGS 5 | 6 | extern uint HFDecode(word, Handle); /* HUFFMAN decompressor */ 7 | 8 | #else 9 | 10 | extern uint HFDecode(); /* HUFFMAN decompressor */ 11 | 12 | #endif 13 | #endif 14 | -------------------------------------------------------------------------------- /INTERP/HFD.I: -------------------------------------------------------------------------------- 1 | ifndef HFD_I 2 | HFD_I equ 1 3 | 4 | HFDecode proto fd:word, oHandle:word 5 | 6 | endif 7 | -------------------------------------------------------------------------------- /INTERP/IMPLODE.H: -------------------------------------------------------------------------------- 1 | /* 2 | PKWARE Data Compression Library 3 | Copyright 1990,1991 by PKWARE Inc. All Rights Reserved. 4 | */ 5 | 6 | #ifdef __cplusplus 7 | #define EXTERN extern "C" 8 | #else 9 | #define EXTERN extern 10 | #endif 11 | 12 | EXTERN unsigned short far pascal implode( 13 | unsigned (far pascal * read_buff)(char far *buffer,unsigned short far *size), 14 | void (far pascal * write_buff)(char far *buffer,unsigned short far *size), 15 | char far *work_buff, 16 | unsigned short int far *type, 17 | unsigned short int far *dsize); 18 | 19 | 20 | EXTERN unsigned far pascal explode( 21 | unsigned (far pascal * read_buff)(char far *buffer,unsigned short far *size), 22 | void (far pascal * write_buff)(char far *buffer,unsigned short far *size), 23 | char far *work_buff); 24 | 25 | EXTERN unsigned long far pascal crc32( 26 | unsigned char far *buffer, 27 | unsigned short int far *size, 28 | unsigned long far *old_crc); 29 | 30 | 31 | #define CMP_BINARY 0 32 | #define CMP_ASCII 1 33 | 34 | #define CMP_NO_ERROR 0 35 | #define CMP_INVALID_DICTSIZE 1 36 | #define CMP_INVALID_MODE 2 37 | #define CMP_BAD_DATA 3 38 | #define CMP_ABORT 4 39 |  -------------------------------------------------------------------------------- /INTERP/IMPLODE.LIB: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/INTERP/IMPLODE.LIB -------------------------------------------------------------------------------- /INTERP/INC_IT.EXE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/INTERP/INC_IT.EXE -------------------------------------------------------------------------------- /INTERP/INFO.C: -------------------------------------------------------------------------------- 1 | char makeDate[] = __DATE__; 2 | char makeTime[] = __TIME__; 3 | char maker[] = "ChrisS"; 4 | char makeLocation[] = "i:/interp/sci/ibm"; 5 | char version[] = "1.001.099"; 6 | char makeComment[] = "Release Version"; 7 | -------------------------------------------------------------------------------- /INTERP/INFO.H: -------------------------------------------------------------------------------- 1 | // info.h 2 | 3 | extern char makeDate[]; 4 | extern char makeTime[]; 5 | extern char maker[]; 6 | extern char makeLocation[]; 7 | extern char version[]; 8 | extern char makeComment[]; 9 |  -------------------------------------------------------------------------------- /INTERP/INTERP_F.ERR: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/INTERP/INTERP_F.ERR -------------------------------------------------------------------------------- /INTERP/INTERP_G.ERR: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/INTERP/INTERP_G.ERR -------------------------------------------------------------------------------- /INTERP/INTERP_I.ERR: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/INTERP/INTERP_I.ERR -------------------------------------------------------------------------------- /INTERP/INTERP_S.ERR: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/INTERP/INTERP_S.ERR -------------------------------------------------------------------------------- /INTERP/INTRPT.C: -------------------------------------------------------------------------------- 1 | // intrpt.c 2 | 3 | #include "errmsg.h" 4 | #include "intrpt.h" 5 | 6 | void 7 | InstallServer(fptr proc, word ticks) 8 | { 9 | // install a server at the head of the timer interrupt chain. 'proc' 10 | // is a pointer to the server procedure, and 'ticks' is the number of 11 | // ticks between service requests. 12 | 13 | Server* cur; 14 | Server* freeSlot = NULL; 15 | 16 | for (cur = servers; cur < servers + MaxServers; cur++) 17 | // check to see if this server is already in the list. If so, return 18 | if (cur->inUse) { 19 | if (cur->function == proc) 20 | return; 21 | 22 | // otherwise, save this slot 23 | } else if (!freeSlot) 24 | freeSlot = cur; 25 | 26 | if (!freeSlot) 27 | Panic(E_MAX_SERVE); 28 | 29 | freeSlot->freq = ticks; 30 | freeSlot->count = ticks; 31 | freeSlot->function= proc; 32 | freeSlot->inUse = TRUE; 33 | } 34 | 35 | void 36 | DisposeServer(fptr proc) 37 | { 38 | // remove the timer interrupt server pointed to by 'proc' from 39 | // the server chain. 40 | 41 | Server* cur; 42 | 43 | _cli(); 44 | 45 | for (cur = servers; cur < servers + MaxServers; cur++) 46 | if (cur->inUse && cur->function == proc) { 47 | cur->inUse = FALSE; 48 | break; 49 | } 50 | 51 | _sti(); 52 | } 53 | 54 | ulong 55 | RTickCount(void) 56 | { 57 | return sysTicks; 58 | } 59 |  -------------------------------------------------------------------------------- /INTERP/INTRPT.H: -------------------------------------------------------------------------------- 1 | // INTRPT.H 2 | 3 | #if !defined(INTRPT_H) 4 | #define INTRPT_H 5 | 6 | #if !defined(TYPES_H) 7 | #include "types.h" 8 | #endif 9 | 10 | typedef struct { 11 | word inUse; // is server active? 12 | word freq; // desired freqency of service 13 | word count; // count of ticks to next service 14 | fptr function; // pointer to server function 15 | } Server; 16 | 17 | #define MaxServers 4 18 | 19 | extern Server servers[]; 20 | extern ulong sysTicks; 21 | extern bool diskIOCritical; 22 | 23 | void SetInterrupts(void); 24 | void ResetInterrupts(void); 25 | void SetDisneyInt(void); 26 | void InstallServer(fptr, word); 27 | void DisposeServer(fptr); 28 | void _cli(void); 29 | void _sti(void); 30 | ulong RTickCount(void); 31 | word SysTime(word); 32 | 33 | #endif 34 | -------------------------------------------------------------------------------- /INTERP/INTRPT.I: -------------------------------------------------------------------------------- 1 | ;------------------------------------------------------------------- 2 | ; intrpt.i 3 | ;------------------------------------------------------------------- 4 | 5 | ifndef INTRPT_I 6 | INTRPT_I equ 1 7 | 8 | Server struc 9 | inUse word 0 ;is server active? 10 | freq word 0 ;desired freqency of service 11 | count word 0 ;count of ticks to next service 12 | function dword 0 ;pointer to server function 13 | Server ends 14 | 15 | MaxServers equ 4 16 | 17 | externdef servers: Server 18 | externdef sysTicks: dword 19 | externdef diskIOCritical: word 20 | 21 | SetInterrupts proto 22 | ResetInterrupts proto 23 | SetDisneyInt proto 24 | InstallServer proto procPtr:far ptr, ticks:word 25 | DisposeServer proto procPtr:far ptr 26 | InterruptsOn proto 27 | InterruptsOff proto 28 | RTickCount proto 29 | SysTime proto func:word 30 | TimerIntHandler proto 31 | BreakExitHandler proto 32 | CritErrorHandler proto 33 | 34 | endif 35 | 36 |  -------------------------------------------------------------------------------- /INTERP/IO.H: -------------------------------------------------------------------------------- 1 | #ifndef IO_H 2 | #define IO_H 3 | 4 | /*to get ulong def*/ 5 | #include "types.h" 6 | 7 | #define LSEEK_BEG 0 8 | #define LSEEK_CUR 1 9 | #define LSEEK_END 2 10 | 11 | #define CLOSED -1 12 | 13 | ulong lseek(int handle, ulong offset, size_t mode); 14 | int creat(strptr name, int mode); /*stdioasm.s*/ 15 | int open(strptr name, int mode); /*stdioasm.s*/ 16 | size_t read(int handle, void* buffer, size_t length); /*stdioasm.s*/ 17 | size_t write(int handle, void* buffer, size_t length); /*stdioasm.s*/ 18 | int close(int handle); /*stdioasm.s*/ 19 | 20 | #endif 21 | -------------------------------------------------------------------------------- /INTERP/IO.I: -------------------------------------------------------------------------------- 1 | ;------------------------------------------------------------------- 2 | ; io.i 3 | ;------------------------------------------------------------------- 4 | 5 | 6 | ifndef IO_I 7 | IO_I equ 1 8 | 9 | lseek proto fd:word, file_ofs:dword, theOrg:word 10 | 11 | 12 | endif 13 | 14 | -------------------------------------------------------------------------------- /INTERP/IO.S: -------------------------------------------------------------------------------- 1 | ;------------------------------------------------------------------- 2 | ; io.s 3 | ;------------------------------------------------------------------- 4 | 5 | 6 | include macro.i 7 | include stdio.i 8 | include dos.i 9 | include io.i 10 | 11 | 12 | 13 | .CODE 14 | 15 | 16 | lseek proc fd:word, ofs:dword, theOrg:word 17 | 18 | ;Input: 19 | ; fd file handle 20 | ; ofs double-word offset [ofsh, ofsl] 21 | ; theorg offset is from: 22 | ; 0 = offset from beginning of file 23 | ; 1 = current location + offset 24 | ; 2 = EOF + offset 25 | ;Output: 26 | ; returns double-word file pointer 27 | 28 | 29 | call ClearDosError 30 | mov bx, fd 31 | mov al, byte ptr theOrg 32 | mov dx, word ptr ofs+_off 33 | mov cx, word ptr ofs+_seg 34 | dos dosLSeek 35 | .if carry? 36 | mov ax, -1 37 | mov dx, ax 38 | .endif 39 | 40 | ret 41 | 42 | lseek endp 43 | 44 | 45 | end 46 | -------------------------------------------------------------------------------- /INTERP/KERNDISP.H: -------------------------------------------------------------------------------- 1 | #if !defined(KERNDISP_H) 2 | #define KERNDISP_H 3 | 4 | #if !defined(TYPES_H) 5 | #include "types.h" 6 | #endif 7 | 8 | extern strptr kernelNames[]; 9 | 10 | #endif 11 | 12 | -------------------------------------------------------------------------------- /INTERP/KERNDISP.I: -------------------------------------------------------------------------------- 1 | ;------------------------------------------------------------------- 2 | ; kerndisp.i 3 | ;------------------------------------------------------------------- 4 | ifndef KERNDISP_I 5 | KERNDISP_I equ 1 6 | 7 | externdef kernelDispTbl: dword 8 | externdef kernelMax: word 9 | externdef kernelNames: word 10 | 11 | KernelCall typedef proto far argPtr: word 12 | 13 | endif 14 | 15 |  -------------------------------------------------------------------------------- /INTERP/LANGUAGE.C: -------------------------------------------------------------------------------- 1 | #include "language.h" 2 | 3 | #include "types.h" 4 | #include "string.h" 5 | #include "pmachine.h" 6 | #include "selector.h" 7 | #include "start.h" 8 | #include "stdio.h" 9 | #include "object.h" 10 | #include "errmsg.h" 11 | 12 | global int language=ENGLISH; 13 | 14 | global int GetLanguage() 15 | { 16 | if (theGame) SetProperty(theGame, s_printLang, language); 17 | switch (language) 18 | { 19 | case ENGLISH: 20 | case JAPANESE: 21 | case GERMAN: 22 | case FRENCH: 23 | case SPANISH: 24 | case ITALIAN: 25 | case PORTUGUESE: 26 | break; 27 | default: 28 | Panic(E_BAD_LANG, language); 29 | } 30 | 31 | return language; 32 | } 33 | -------------------------------------------------------------------------------- /INTERP/LANGUAGE.H: -------------------------------------------------------------------------------- 1 | /* language.h 3/7/91 2 | */ 3 | 4 | #ifndef LANGUAGE_H 5 | #define LANGUAGE_H 6 | 7 | #include "types.h" 8 | 9 | #ifdef LINT_ARGS 10 | extern int GetLanguage(void); 11 | extern void Clearkanjimode(void); 12 | #else 13 | extern int GetLanguage(); 14 | extern void Clearkanjimode(); 15 | #endif 16 | 17 | extern int language; 18 | extern int kanjimode; 19 | 20 | #define LANGSEPARATOR "\r----------\r" 21 | 22 | /* Country codes per the phone book */ 23 | #define ENGLISH 1 24 | #define JAPANESE 81 25 | #define GERMAN 49 26 | #define FRENCH 33 27 | #define SPANISH 34 28 | #define ITALIAN 39 29 | #define PORTUGUESE 351 30 | 31 | #endif /* ifndef LANGUAGE_H */ 32 | -------------------------------------------------------------------------------- /INTERP/LANGUAGE.I: -------------------------------------------------------------------------------- 1 | ; language.i 9/24/92 2 | 3 | 4 | ifndef LANGUAGE_I 5 | 6 | LANGUAGE_I equ 1 7 | 8 | GetLanguage proto 9 | 10 | ; Country codes per the phone book 11 | ENGLISH equ 1 12 | JAPANESE equ 81 13 | GERMAN equ 49 14 | FRENCH equ 33 15 | SPANISH equ 34 16 | ITALIAN equ 39 17 | PORTUGUESE equ 351 18 | 19 | endif 20 | 21 | -------------------------------------------------------------------------------- /INTERP/LIBH.LIB: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/INTERP/LIBH.LIB -------------------------------------------------------------------------------- /INTERP/LIST.H: -------------------------------------------------------------------------------- 1 | // LIST.H 2 | 3 | #if !defined(LIST_H) 4 | #define LIST_H 5 | 6 | #if !defined(TYPES_H) 7 | #include "types.h" 8 | #endif 9 | 10 | typedef struct { 11 | ObjID next; /* Pseudo-address of next node in list */ 12 | ObjID prev; /* Pseudo-address of previous node in list */ 13 | ObjID key; 14 | } Node; 15 | 16 | typedef struct { 17 | ObjID head; /* Pseudo-address of head of list */ 18 | ObjID tail; /* Pseudo-address of tail of list */ 19 | } List; 20 | 21 | // function definition codes for kernel call ListOps 22 | 23 | #define LEachElementDo 1 24 | #define LFirstTrue 2 25 | #define LAllTrue 3 26 | 27 | #define FirstNode(list) (((List *)list)->head) 28 | #define LastNode(list) (((List *)list)->tail) 29 | #define InitList(list) FirstNode((List *)list)=LastNode((List *)list)=NULL 30 | #define EmptyList(list) (FirstNode((List *)list) == NULL) 31 | #define NextNode(node) (((Node *)Native(node))->next) 32 | #define PrevNode(node) (((Node *)Native(node))->prev) 33 | #define IsFirstNode(node) (PrevNode(node) == NULL) 34 | #define IsLastNode(node) (NextNode(node) == NULL) 35 | #define SetKey(node, aKey) ((Node *)Native(node))->key = aKey 36 | #define GetKey(node) (((Node *)Native(node))->key) 37 | 38 | bool DeleteNode(List *, ObjID); 39 | ObjID AddAfter(List *, ObjID, ObjID, ...); 40 | ObjID AddBefore(List *, ObjID, ObjID, ...); 41 | ObjID AddToFront(List *, ObjID, ...); 42 | ObjID MoveToFront(List *, ObjID); 43 | ObjID AddToEnd(List *, ObjID, ...); 44 | ObjID MoveToEnd(List *, ObjID); 45 | ObjID FindKey(List *, ObjID); 46 | ObjID DeleteKey(List *, ObjID); 47 | 48 | #endif 49 | -------------------------------------------------------------------------------- /INTERP/LIST.I: -------------------------------------------------------------------------------- 1 | ;------------------------------------------------------------------- 2 | ; list.i 3 | ;------------------------------------------------------------------- 4 | 5 | ifndef LIST_I 6 | LIST_I equ 1 7 | 8 | NodePtr typedef ptr Node 9 | 10 | List struc 11 | lHead NodePtr ? 12 | lTail NodePtr ? 13 | List ends 14 | 15 | Node struc 16 | bak NodePtr ? 17 | fwd NodePtr ? 18 | key sword ? 19 | Node ends 20 | 21 | endif 22 | 23 |  -------------------------------------------------------------------------------- /INTERP/MAKE.EXE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/INTERP/MAKE.EXE -------------------------------------------------------------------------------- /INTERP/MATH.H: -------------------------------------------------------------------------------- 1 | #ifndef MATH_H 2 | #define MATH_H 3 | 4 | #include "types.h" 5 | 6 | #ifdef LINT_ARGS 7 | 8 | extern uint sqrt(ulong); 9 | extern ulong LCGRandom(void); 10 | extern uint abs(int); 11 | extern ulong lcgSeed; 12 | 13 | #else 14 | 15 | extern uint sqrt(); 16 | extern ulong LCGRandom(); 17 | extern uint abs(); 18 | extern ulong lcgSeed; 19 | 20 | #endif 21 | 22 | #endif 23 | 24 |  -------------------------------------------------------------------------------- /INTERP/MATH.I: -------------------------------------------------------------------------------- 1 | ifndef MATH_I 2 | MATH_I equ 1 3 | 4 | sqrt proto n:dword 5 | LCGRandom proto 6 | abs proto n:word 7 | 8 | externdef lcgSeed:dword 9 | 10 | endif 11 | 12 |  -------------------------------------------------------------------------------- /INTERP/MENU.H: -------------------------------------------------------------------------------- 1 | #if !defined(MENU_H) 2 | #define MENU_H 3 | 4 | #if !defined(KERNEL_H) 5 | #include "kernel.h" 6 | #endif 7 | #if !defined(PMACHINE_H) 8 | #include "pmachine.h" 9 | #endif 10 | #if !defined(TYPES_H) 11 | #include "types.h" 12 | #endif 13 | #if !defined(GRTYPES_H) 14 | #include "grtypes.h" 15 | #endif 16 | 17 | #define MARKWIDE 8 18 | #define BARSIZE 10 19 | #define MAXMENUS 10 // maximum titles in menu bar 20 | #define CHECKMARK 0x10 // select menu character 21 | #define FIRST 1 // start index for pointer arrays 22 | 23 | typedef struct { 24 | RRect bar; 25 | strptr text; 26 | word value; 27 | word state; 28 | word key; 29 | memptr said; 30 | } RMenuItem; 31 | 32 | typedef struct { 33 | RRect bar; 34 | strptr text; 35 | RRect pageRect; 36 | word items; 37 | Handle ubits; 38 | RMenuItem* item[1]; 39 | } MenuPage; 40 | 41 | typedef struct { 42 | RRect bar; 43 | word hidden; 44 | word pages; 45 | MenuPage* page[1]; 46 | } MenuBar; 47 | 48 | extern MenuBar* theMenuBar; 49 | extern RGrafPort menuPortStruc; 50 | extern RGrafPort* menuPort; 51 | 52 | void InitMenu(void); 53 | void RDrawMenuBar(bool); 54 | word RMenuSelect(Obj *, word); 55 | void DrawStatus(strptr, word, word); 56 | void KDrawStatus(kArgs args); 57 | void KDrawMenuBar(kArgs args); 58 | void KMenuSelect(kArgs args); 59 | void KAddMenu(word *); 60 | void KSetMenu(word *); 61 | void KGetMenu(word *); 62 | 63 | #endif 64 | 65 | 66 | -------------------------------------------------------------------------------- /INTERP/MENU.I: -------------------------------------------------------------------------------- 1 | ; menu.i 2 | 3 | ifndef MENU_I 4 | MENU_I equ 1 5 | 6 | externdef theMenuBar:word 7 | 8 | endif 9 |  -------------------------------------------------------------------------------- /INTERP/MESSAGE.H: -------------------------------------------------------------------------------- 1 | // message.h 2 | 3 | #if !defined(MESSAGE_H) 4 | #define MESSAGE_H 5 | 6 | #if !defined(TYPES_H) 7 | #include "types.h" 8 | #endif 9 | 10 | #define MessageMajorVersion 4000 11 | 12 | typedef struct { 13 | uchar noun; 14 | uchar verb; 15 | uchar cond; 16 | uchar seq; 17 | uchar talker; 18 | uint offset; 19 | uchar refNoun; 20 | uchar refVerb; 21 | uchar refCond; 22 | uchar refSeq; 23 | } IndexEntry; 24 | 25 | typedef struct { 26 | ulong version; 27 | uint length; // size of file starting at count field, excluding 28 | // comments 29 | uint lastMsgNum; 30 | uint count; 31 | IndexEntry entries[1]; 32 | } MsgData; 33 | 34 | #endif 35 | 36 |  -------------------------------------------------------------------------------- /INTERP/MIDI.H: -------------------------------------------------------------------------------- 1 | #ifndef MIDI_H 2 | #define MIDI_H 3 | 4 | #ifdef LINT_ARGS 5 | 6 | extern int DoSound(int, ...); 7 | extern void SoundServer(void); 8 | 9 | #else 10 | 11 | extern int DoSound(); 12 | extern void SoundServer(); 13 | 14 | #endif 15 | #endif 16 | -------------------------------------------------------------------------------- /INTERP/MIDIHND.I: -------------------------------------------------------------------------------- 1 | ;--------------------------------------------------------------------------- 2 | ; midihnd.i resource handle/blockID dereferencing for MIDI.S 3 | ; this version for SCI 4 | ; Mark Wilden, April 1991 5 | ;--------------------------------------------------------------------------- 6 | 7 | ;--------------------------------------------------------------------------- 8 | ; Hnd2Ptr converts an SCI resource handle to a pointer 9 | ; resource header 10 | ; 11 | ; entry: id = resource handle 12 | ; exit: ds:bp = pointer 13 | ;--------------------------------------------------------------------------- 14 | 15 | 16 | ifndef MIDIHND_I 17 | 18 | MIDIHND_I equ 1 19 | 20 | 21 | Hnd2Ptr macro id 22 | lds bp, dword ptr id 23 | lds bp, ds:[bp] 24 | endm 25 | 26 | 27 | 28 | endif 29 | 30 | -------------------------------------------------------------------------------- /INTERP/MONO.H: -------------------------------------------------------------------------------- 1 | #ifndef MONO_H 2 | #define MONO_H 3 | 4 | #include "types.h" 5 | 6 | extern bool xlate; 7 | 8 | #ifdef LINT_ARGS 9 | 10 | extern void MonoStr(char far *text); 11 | extern void DoXlate(void); 12 | 13 | #else 14 | 15 | extern void MonoStr(); 16 | extern void DoXlate(); 17 | 18 | #endif 19 | #endif 20 | -------------------------------------------------------------------------------- /INTERP/MONO.I: -------------------------------------------------------------------------------- 1 | ;------------------------------------------------------------------- 2 | ; mono.i 3 | ;------------------------------------------------------------------- 4 | 5 | ifndef MONO_I 6 | 7 | MONO_I equ 1 8 | 9 | 10 | externdef xlate:word 11 | 12 | DoXlate proto 13 | MonoStr proto tOffset:word, tSegment:word 14 | 15 | 16 | endif 17 | 18 | -------------------------------------------------------------------------------- /INTERP/MOTION.H: -------------------------------------------------------------------------------- 1 | #ifndef MOTION_H 2 | #define MOTION_H 3 | 4 | #include "types.h" 5 | 6 | #ifdef LINT_ARGS 7 | 8 | extern void KSetJump(word *); 9 | extern void KBaseSetter(word *); 10 | extern void KDirLoop(word *); 11 | extern void KInitBresen(word *); 12 | extern void KDoBresen(word *); 13 | extern void KDoAvoider(void); 14 | 15 | #else 16 | 17 | extern void KSetJump(); 18 | extern void KBaseSetter(); 19 | extern void KDirLoop(); 20 | extern void KInitBresen(); 21 | extern void KDoBresen(); 22 | extern void KDoAvoider(); 23 | 24 | #endif 25 | #endif 26 | -------------------------------------------------------------------------------- /INTERP/MOUSE.C: -------------------------------------------------------------------------------- 1 | // mouse.c 2 | 3 | #include "graph.h" 4 | #include "mouse.h" 5 | 6 | bool mouseIsDebug = FALSE; 7 | word buttonState = 0; 8 | 9 | word 10 | RGetMouse(RPoint* pt) 11 | { 12 | // Return interrupt level position in local coords of mouse in the point 13 | 14 | pt->v = mouseY - rThePort->origin.v; 15 | pt->h = mouseX - rThePort->origin.h; 16 | return buttonState; 17 | } 18 | 19 | word 20 | CurMouse(RPoint* pt) 21 | { 22 | // Return interrupt level position in global coords of mouse in the point 23 | 24 | pt->v = mouseY; 25 | pt->h = mouseX; 26 | return buttonState; 27 | } 28 | -------------------------------------------------------------------------------- /INTERP/MOUSE.H: -------------------------------------------------------------------------------- 1 | // mouse.h 2 | 3 | #if !defined(MOUSE_H) 4 | 5 | #if !defined(GRTYPES_H) 6 | #include "grtypes.h" 7 | #endif 8 | 9 | extern word haveMouse; 10 | extern word mouseX; 11 | extern word mouseY; 12 | extern bool mouseIsDebug; 13 | extern RRect restrict; 14 | extern RRect* restrictRecPtr; 15 | extern word buttonState; 16 | 17 | word CurMouse(RPoint *); 18 | void DisposeMouse(void); 19 | void InstallMouse(void); 20 | word RGetMouse(RPoint *); 21 | void SetMouse(RPoint* pt); 22 | 23 | #endif 24 | 25 | -------------------------------------------------------------------------------- /INTERP/MOUSE.I: -------------------------------------------------------------------------------- 1 | ;------------------------------------------------------------------- 2 | ; mouse.i 3 | ;------------------------------------------------------------------- 4 | 5 | ifndef MOUSE_I 6 | 7 | MOUSE_I equ 1 8 | 9 | ifndef GRAPH_I 10 | include graph.i 11 | endif 12 | 13 | externdef mouseX:word 14 | externdef mouseY:word 15 | externdef haveMouse:word 16 | externdef mouseIsDebug:word 17 | externdef restrictRecPtr:RRectPtr 18 | externdef restrict:RRect 19 | externdef buttonState:word 20 | 21 | CurMouse proto mpoint:ptr Point 22 | DisposeMouse proto 23 | InstallMouse proto 24 | RGetMouse proto mpoint:ptr Point 25 | SetMouse proto mpoint:ptr Point 26 | 27 | endif 28 | 29 | -------------------------------------------------------------------------------- /INTERP/MOVIE.H: -------------------------------------------------------------------------------- 1 | // Header file for movie.c -- animated movie display 2 | void RunMovie(int handle,Handle bufferHandle,int speed); 3 | void LoadFrame(char page,int handle, Handle bufferHandle); 4 | void DisplayFrame(int handle, Handle bufferHandle); 5 | void DisplayBlock(char far * buffer,int xOff,int yOff,int xDim,int yDim); 6 | void FillVideoPage(void far * xCel); 7 | void SetVideoMode(int mode); 8 | void ShowPage(int pageOffset); 9 | void CopyPage(int destPage,int srcPage); 10 | void LoadMoviePalette(int handle); 11 | unsigned LoadCelCount(int handle); 12 | 13 | 14 | 15 |  -------------------------------------------------------------------------------- /INTERP/OBJECT.H: -------------------------------------------------------------------------------- 1 | #if !defined(OBJECT_H) 2 | #define OBJECT_H 3 | 4 | #if !defined(TYPES_H) 5 | #include "types.h" 6 | #endif 7 | 8 | #if !defined(SCRIPT_H) 9 | #include "script.h" 10 | #endif 11 | 12 | #define OBJID (uword) 0x1234 13 | #define OBJNUM (uword) 0xffff 14 | 15 | // This structure defines the 'RootObj', the basic properties of all objects. 16 | // Resource fields must be uwords, because size of actual pointers is 17 | // different for each platform. 18 | typedef struct { 19 | uword objID; // object identifier (set to OBJID) 20 | uword size; // number of properties in the object 21 | uword propDict; // offset of property dictionary in hunk resource 22 | uword methDict; // offset of method dictionary in hunk resource 23 | ObjID classScript; // pointer to script node of object's class 24 | ObjID script; // pointer to script node for the object 25 | ObjID super; // pointer to super class of object 26 | uword info; // bit-mapped information 27 | } Obj; 28 | 29 | #define IndexedPropAddr(object, prop) (((word *) object) + objOfs[prop]) 30 | #define IndexedProp(object, prop) (*IndexedPropAddr(object, prop)) 31 | 32 | // format of classTbl resource 33 | typedef struct { 34 | ObjID obj; // pointer to Obj 35 | uword scriptNum; // script number 36 | } ClassEntry; 37 | 38 | extern ClassEntry* classTbl; 39 | extern int objOfs[]; 40 | 41 | #ifdef DEBUG 42 | extern uword sendStack[]; 43 | extern uword* ssPtr; 44 | extern uword ssEnd; 45 | #endif 46 | 47 | int GetProperty(Obj*, uint); 48 | void SetProperty(Obj*, uint, int); 49 | void* GetPropAddr(Obj*, uint); 50 | int InvokeMethod(Obj*, int, int, ...); 51 | memptr CopyScript(Handle, Script*, bool); 52 | bool IsObject(Obj*); 53 | void LoadPropOffsets(void); 54 | bool RespondsTo(Obj*, uint); 55 | Obj* Clone(Obj*); 56 | void DisposeClone(Obj*); 57 | void LoadClassTbl(void); 58 | 59 | #endif 60 | -------------------------------------------------------------------------------- /INTERP/ONELINE.EXE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/INTERP/ONELINE.EXE -------------------------------------------------------------------------------- /INTERP/PALETTE.I: -------------------------------------------------------------------------------- 1 | ;------------------------------------------------------------------- 2 | ; palette.i 3 | ;------------------------------------------------------------------- 4 | 5 | ifndef PALETTE_I 6 | PALETTE_I EQU 1 7 | 8 | danPalette struc 9 | paletteHdSize db ? 10 | sysPalName db 9 dup (?) 11 | paletteCount db ? 12 | dummy dw ? 13 | paletteSize dw ? 14 | danPaltitle db 9 dup (?) 15 | sysPalNum db ? 16 | startOffset db ? 17 | nCycles db ? 18 | dummy2 dw ? 19 | nColors dw ? 20 | defaultFlag db ? 21 | theType db ? 22 | validStamp dd ? 23 | danPalette ends 24 | 25 | InitPalette proto 26 | KPalette proto args:ptr word 27 | SetPalIntensity proto wp:far ptr word, w1:word, w2:word, w3:word 28 | PalMatch proto r:word, g:word, b:word 29 | 30 | SetResPalette proto 31 | RSetPalette proto pal:far ptr word, mode:word 32 | RSetDanPalette proto pal:word 33 | RemapByPercent proto 34 | 35 | externdef sysPalette:word 36 | externdef rempaPercent:word 37 | externdef palStamp:word 38 | 39 | endif 40 |  -------------------------------------------------------------------------------- /INTERP/PICTURE.H: -------------------------------------------------------------------------------- 1 | // PICTURE.H 2 | 3 | #if !defined(PICTURE_H) 4 | #define PICTURE_H 5 | 6 | #if !defined(TYPES_H) 7 | #include "types.h" 8 | #endif 9 | 10 | #if !defined(WINDOW_H) 11 | #include "window.h" 12 | #endif 13 | 14 | // show pic styles 15 | #define HSHUTTER 0 16 | #define VSHUTTER 1 17 | #define WIPELEFT 2 18 | #define WIPERIGHT 3 19 | #define WIPEUP 4 20 | #define WIPEDOWN 5 21 | #define IRISIN 6 22 | #define IRISOUT 7 23 | #define DISSOLVE 8 24 | #define PIXELDISSOLVE 9 25 | #define FADEOUT 10 26 | 27 | // the relative order of these defines is important for ShowPic to work 28 | // correctly. 29 | #define SCROLLRIGHT 11 30 | #define SCROLLLEFT 12 31 | #define SCROLLUP 13 32 | #define SCROLLDOWN 14 33 | 34 | #define DONTSHOW 0x1000 35 | #define VMIRROR 0x2000 36 | #define HMIRROR 0x4000 37 | #define BLACKOUT 0x8000 38 | // Space for 256 different styles and 8 different flags 39 | #define PICFLAGS 0xff00 40 | 41 | #define PDFLAG 0x8000 42 | #define PDBOFLAG 0x4000 43 | 44 | extern word picNotValid; 45 | extern RWindow* picWind; 46 | extern RRect picRect; 47 | extern word showStyle; 48 | extern uword showMap; 49 | 50 | void PriBands(uint far *); 51 | void InitPri(word, word); 52 | void InitPicture(void); 53 | void ShowPic(word, word); 54 | word CoordPri(int); 55 | word PriCoord(int); 56 | 57 | #endif 58 | 59 |  -------------------------------------------------------------------------------- /INTERP/PICTURE.I: -------------------------------------------------------------------------------- 1 | ;------------------------------------------------------------------- 2 | ; picture.i 3 | ;------------------------------------------------------------------- 4 | 5 | ifndef PICTURE_I 6 | PICTURE_I equ 1 7 | 8 | externdef picNotValid:word 9 | 10 | PriBands proto b:far ptr byte 11 | InitPri proto w1:word, w2:word 12 | InitPicture proto 13 | ShowPic proto w1:word, w2:word 14 | CoordPri proto w:word 15 | PriCoord proto w:word 16 | 17 | ; mirroring stuff 18 | VMIRROR equ 2000h 19 | HMIRROR equ 4000h 20 | 21 | endif 22 | 23 |  -------------------------------------------------------------------------------- /INTERP/PK.H: -------------------------------------------------------------------------------- 1 | #if !defined(PK_H) 2 | #define PK_H 3 | 4 | #if !defined(TYPES_H) 5 | #include "types.h" 6 | #endif 7 | 8 | extern Handle dcompBuffer; 9 | 10 | void pkExplode(int fd, uchar far *dst, unsigned length); 11 | void pkImplode(int fd, uchar far *src, unsigned length); 12 | uint pkImplode2Mem(uchar far *dst, uchar far *src, unsigned length); 13 | 14 | #endif 15 | -------------------------------------------------------------------------------- /INTERP/PLATFORM.C: -------------------------------------------------------------------------------- 1 | 2 | #include "kernel.h" 3 | #include "platform.h" 4 | #include "pmachine.h" 5 | 6 | typedef enum 7 | { 8 | Macintosh = 0, 9 | Dos, 10 | DosWindows, 11 | Amiga, 12 | WhatAmI 13 | } PlatformType; 14 | 15 | /* 16 | typedef enum 17 | { 18 | Windows = 0, 19 | EGA 20 | CD 21 | } PlatformCall; 22 | */ 23 | 24 | global void KPlatform(args) 25 | argList; 26 | { 27 | acc = 0; 28 | 29 | if ( argCount < 2 ) 30 | return; 31 | 32 | switch ( (PlatformType) arg(1) ) 33 | { 34 | case Dos: 35 | /* 36 | switch ( (PlatformCall) arg(2) ) 37 | { 38 | case Windows: 39 | break; 40 | case EGA: 41 | break; 42 | case CD: 43 | break; 44 | } 45 | break; 46 | */ 47 | 48 | case Macintosh: 49 | case DosWindows: 50 | case Amiga: 51 | break; 52 | 53 | /* Return the platform type that we are */ 54 | 55 | case WhatAmI: 56 | acc = (word) Dos; 57 | break; 58 | } 59 | } 60 | 61 |  -------------------------------------------------------------------------------- /INTERP/PLATFORM.H: -------------------------------------------------------------------------------- 1 | #ifdef LINT_ARGS 2 | extern void KPlatform(word *); 3 | #else 4 | extern void KPlatform(); 5 | #endif 6 | 7 | -------------------------------------------------------------------------------- /INTERP/PMACHINE.C: -------------------------------------------------------------------------------- 1 | // pmachine.c 2 | 3 | #include "errmsg.h" 4 | #include "language.h" 5 | #include "object.h" 6 | #include "pmachine.h" 7 | #include "sciglobs.h" 8 | #include "selector.h" 9 | #include "start.h" 10 | 11 | word gameStarted = FALSE; 12 | Obj* theGame; 13 | 14 | #ifndef DEBUG 15 | long interpVerStamp; 16 | long gameVerStamp; 17 | // STAMPVER.EXE uses the following particulars to locate the version stamp 18 | long verStamp = -0x1234; 19 | word stampFlag1 = 0x5241; 20 | word stampFlag2 = 0x4552; 21 | word stampFlag3 = 0x5349; 22 | // end of order-dependent constants 23 | #endif 24 | 25 | void 26 | PMachine() 27 | { 28 | // Load the class table, allocate the p-machine stack 29 | 30 | Script* script; 31 | word startMethod; 32 | 33 | theGame = 0; 34 | 35 | if (!gameStarted) { 36 | LoadClassTbl(); 37 | pmCode = (fptr) GetDispatchAddrInHeapFromC; 38 | restArgs = 0; 39 | pStack = NeedPtr(PSTACKSIZE); 40 | pStackEnd = pStack + PSTACKSIZE; 41 | FillPtr(pStack, 'S'); 42 | } 43 | 44 | #if defined(DEBUG) 45 | ssPtr = &sendStack[-2]; 46 | #else 47 | interpVerStamp = verStamp + VERSTAMPDELTA; 48 | if (!interpVerStamp || interpVerStamp != gameVerStamp) 49 | Panic(E_VER_STAMP_MISMATCH,interpVerStamp,gameVerStamp); 50 | #endif 51 | 52 | scriptHandle = 0; 53 | GetDispatchAddrInHeapFromC(0, 0, &object, &script); 54 | theGame = object; 55 | scriptHandle = script->hunk; 56 | globalVar = script->vars; 57 | 58 | GetLanguage(); 59 | 60 | pmsp = pStack; 61 | 62 | if (!gameStarted) { 63 | gameStarted = TRUE; 64 | startMethod = s_play; 65 | } else 66 | startMethod = s_replay; 67 | 68 | InvokeMethod(object, startMethod, 0, 0); 69 | } 70 | -------------------------------------------------------------------------------- /INTERP/PMACHINE.H: -------------------------------------------------------------------------------- 1 | // PMACHINE.H 2 | // Interfaces to the pmachine. 3 | 4 | #if !defined(PMACHINE_H) 5 | #define PMACHINE_H 6 | 7 | #if !defined(OBJECT_H) 8 | #include "object.h" 9 | #endif 10 | 11 | //Bits in the -info- property. 12 | #define CLASSBIT 0x8000 13 | #define CLONEBIT 0x0001 14 | #define NODISPOSE 0x0002 15 | #define NODISPLAY 0x0004 // don't display in ShowObj() 16 | 17 | #define E_BAD_DISPATCH 0 18 | #define E_BAD_OPCODE 1 19 | #define E_BAD_KERNAL 2 20 | #define E_LOAD_CLASS 3 21 | #define E_NOT_OBJECT 4 22 | #define E_BAD_SELECTOR 5 23 | #define E_CANT_FIXUP 6 24 | #define E_ZERO_DIVIDE 7 25 | #define E_STACK_BLOWN 8 26 | #define E_ZERO_MODULO 9 27 | #define E_LEFT_CLONE 10 28 | //unused 11 29 | #define E_PACKHANDLE_HEAP 12 30 | #define E_PACKHANDLE_HUNK 13 31 | #define E_PACKHANDLE_FAILURE 14 32 | #define E_ODD_HEAP_RETURNED 15 33 | 34 | #define VERSTAMPDELTA 0x1234 35 | 36 | #define PSTACKSIZE 0x01400 37 | 38 | extern Obj* theGame; 39 | extern bool gameStarted; 40 | extern fptr pmCode; 41 | extern memptr ip; 42 | extern uword* pmsp; 43 | extern word acc; 44 | extern uword* pStack; 45 | extern uword* pStackEnd; 46 | extern uword* globalVar; 47 | extern word* localVar; 48 | extern word* tempVar; 49 | extern word* parmVar; 50 | extern word restArgs; 51 | extern Obj* object; 52 | extern Handle scriptHandle; 53 | extern uint numClasses; 54 | extern bool defaultES; 55 | extern word thisScript; 56 | extern memptr thisIP; 57 | extern long interpVerStamp; 58 | extern long gameVerStamp; 59 | extern long verStamp; 60 | 61 | void PMachine(void); 62 | memptr GetDispatchAddr(uint, uint); 63 | void GetDispatchAddrInHeapFromC(word scriptNum, word entry, Obj** obj, 64 | Script** script); 65 | 66 | #endif 67 | 68 | -------------------------------------------------------------------------------- /INTERP/RESNAME.H: -------------------------------------------------------------------------------- 1 | #if !defined(RESNAME_H) 2 | #define RESNAME_H 3 | 4 | #if !defined(TYPES_H) 5 | #include "types.h" 6 | #endif 7 | 8 | #define MAXMASKS 10 9 | 10 | typedef struct ResType { 11 | char *name; 12 | char *defaultMask; 13 | char *masks[MAXMASKS]; 14 | } ResType; 15 | 16 | extern ResType resTypes[]; 17 | 18 | char* ResNameMake(int resType, uint resId); 19 | char* ResNameMakeWildCard(int resType); 20 | int ResNameMatch(char * name); 21 | char* ResName(int resType); 22 | int ROpenResFile(int resType, uint resId, char* name); 23 | char* addSlash(strptr dir); 24 | 25 | #endif 26 |  -------------------------------------------------------------------------------- /INTERP/RESNAME.I: -------------------------------------------------------------------------------- 1 | ;------------------------------------------------------------------- 2 | ; resname.i 3 | ;------------------------------------------------------------------- 4 | 5 | ifndef RESNAME_I 6 | 7 | RESNAME_I equ 1 8 | 9 | ResNameMake proto resType:word, resId:word 10 | ResNameMakeWildCard proto resType:word 11 | ResNameMatch proto theName:ptr byte 12 | ResName proto resType:word 13 | ROpenResFile proto resType:word, resId:word, theName:ptr byte 14 | FindResInPath proto resType:word, resId:word, theName:ptr byte, len:ptr dword 15 | addSlash proto dir:ptr byte 16 | 17 | 18 | endif 19 | 20 | -------------------------------------------------------------------------------- /INTERP/RESOURCE.I: -------------------------------------------------------------------------------- 1 | ;------------------------------------------------------------------- 2 | ; resource.i 3 | ;------------------------------------------------------------------- 4 | 5 | ifndef RESOURCE_I 6 | 7 | RESOURCE_I equ 1 8 | 9 | externdef resourceCursorType:word 10 | externdef checkingLoadLinks:bool 11 | 12 | FindResEntry proto resType:word, resID:word 13 | GetResHandle proto memSize:word 14 | PurgeLast proto 15 | LoadHandle proto fileName:ptr byte 16 | ResLoad proto resType:word, resID:word 17 | ResCheck proto resType:word, resID:word 18 | ResLock proto resType:word, resID:word, lockIt:word 19 | ResUnLoad proto resType:word, resID:word 20 | FindPatchEntry proto resType:word, resID:word 21 | InitPatches proto 22 | 23 | endif 24 | 25 | -------------------------------------------------------------------------------- /INTERP/RESTART.C: -------------------------------------------------------------------------------- 1 | /* RESTART 2 | * Procedures used in restarting a game, either from the start of the game 3 | * or from a saved game. 4 | */ 5 | 6 | #include "restart.h" 7 | 8 | #include "graph.h" 9 | #include "script.h" 10 | #include "start.h" 11 | #include "setjmp.h" 12 | #include "resource.h" 13 | #include "kernel.h" 14 | #include "memmgr.h" 15 | #include "pmachine.h" 16 | #include "animate.h" 17 | #include "sound.h" 18 | #include "menu.h" 19 | #include "debug.h" 20 | #include "script.h" 21 | #include "sci.h" 22 | #include "midi.h" 23 | #include "palette.h" 24 | 25 | int gameRestarted; 26 | 27 | global void KRestartGame() 28 | { 29 | /* Get rid of our internal stuff. 30 | */ 31 | static int varyList[] = {1,PALVARYKILL}; 32 | 33 | DoSound(SProcess,FALSE); 34 | gameRestarted = 1; 35 | gameStarted = FALSE; 36 | 37 | /* Turn off PalVary */ 38 | 39 | if (palVaryOn) 40 | { 41 | palVaryOn = FALSE; 42 | palettePercent = 0; 43 | KPalVary(varyList); 44 | } 45 | 46 | KillAllSounds(); 47 | DisposeAllScripts(); 48 | DisposeLastCast(); 49 | /* SetDebug(FALSE); */ 50 | /* free all memory */ 51 | ResUnLoad(RES_MEM, ALL_IDS); 52 | 53 | /* Restore the heap and saved vars to what they were before the call 54 | * to PMachine. 55 | */ 56 | RestartHeap(); 57 | 58 | /* Regenerate the 'patchable resources' table */ 59 | InitPatches(); 60 | 61 | InitMenu(); 62 | DoSound(SProcess,TRUE); 63 | DoSound(SSetReverb,0); 64 | reverbDefault = 0; 65 | 66 | /* Now restore the stack and restart the PMachine. 67 | */ 68 | longjmp(restartBuf, 1); 69 | } 70 | 71 | 72 | 73 | global void KGameIsRestarting(args) 74 | word *args; 75 | { 76 | acc = gameRestarted; 77 | if (argCount && arg(1) == FALSE) 78 | gameRestarted = FALSE; 79 | } 80 | 81 | -------------------------------------------------------------------------------- /INTERP/RESTART.H: -------------------------------------------------------------------------------- 1 | #ifndef RESTART_H 2 | #define RESTART_H 3 | 4 | #include "types.h" 5 | 6 | extern int gameRestarted; 7 | 8 | #ifdef LINT_ARGS 9 | 10 | extern void KRestartGame(void); 11 | extern void KGameIsRestarting(word *); 12 | 13 | #else 14 | 15 | extern void KRestartGame(); 16 | extern void KGameIsRestarting(); 17 | 18 | #endif 19 | #endif 20 | -------------------------------------------------------------------------------- /INTERP/RESTYPES.H: -------------------------------------------------------------------------------- 1 | /* resource types and subtypes */ 2 | #ifndef RESTYPES_H 3 | 4 | #define RESTYPES_H 5 | 6 | /* resource types */ 7 | #define RES_BASE 0x80 8 | #define RES_VIEW 0x80 9 | #define RES_PIC 0x81 10 | #define RES_SCRIPT 0x82 11 | #define RES_TEXT 0x83 12 | #define RES_SOUND 0x84 13 | #define RES_MEM 0x85 14 | #define RES_VOCAB 0x86 15 | #define RES_FONT 0x87 16 | #define RES_CURSOR 0x88 17 | #define RES_PATCH 0x89 18 | #define RES_BITMAP 0x8a 19 | #define RES_PAL 0x8b 20 | #define RES_WAVE 0x8c 21 | #define RES_AUDIO 0x8d 22 | #define RES_SYNC 0x8e 23 | #define RES_MSG 0x8f 24 | #define RES_MAP 0x90 25 | #define RES_HEAP 0x91 26 | #define RES_AUDIO36 0x92 27 | #define RES_SYNC36 0x93 28 | #define RES_XLATE 0x94 29 | 30 | #define NRESTYPES (RES_XLATE - RES_BASE + 1) 31 | 32 | #endif 33 | -------------------------------------------------------------------------------- /INTERP/RESTYPES.I: -------------------------------------------------------------------------------- 1 | ;------------------------------------------------------------------- 2 | ; restypes.i 3 | ;------------------------------------------------------------------- 4 | 5 | ifndef RESTYPES_I 6 | 7 | RESTYPES_I equ 1 8 | 9 | RES_BASE equ 080h 10 | RES_VIEW equ 080h 11 | RES_PIC equ 081h 12 | RES_SCRIPT equ 082h 13 | RES_TEXT equ 083h 14 | RES_SOUND equ 084h 15 | RES_MEM equ 085h 16 | RES_VOCAB equ 086h 17 | RES_FONT equ 087h 18 | RES_CURSOR equ 088h 19 | RES_PATCH equ 089h 20 | RES_BITMAP equ 08ah 21 | RES_PAL equ 08bh 22 | RES_CDAUDIO equ 08ch 23 | RES_AUDIO equ 08dh 24 | RES_SYNC equ 08eh 25 | RES_MSG equ 08fh 26 | RES_MAP equ 090h 27 | RES_HEAP equ 091h 28 | 29 | ;; These are here for compatability only -- the above should be used 30 | ;; when writing new code. 31 | 32 | BASETYPE equ RES_BASE 33 | VIEW equ RES_VIEW 34 | PICTURE equ RES_PIC 35 | SCRIPT equ RES_HUNK 36 | TEXT equ RES_TEXT 37 | SOUND equ RES_SOUND 38 | MEMORY equ RES_MEM 39 | VOCAB equ RES_VOCAB 40 | FONT equ RES_FONT 41 | CURSOR equ RES_CURSOR 42 | PATCH equ RES_PATCH 43 | BITMAP equ RES_BITMAP 44 | PALETTE equ RES_PAL 45 | CDAUDIO equ RES_CDAUDIO 46 | AUDIO equ RES_AUDIO 47 | SYNC equ RES_SYNC 48 | MSG equ RES_MSG 49 | MAP equ RES_MAP 50 | 51 | 52 | endif 53 | 54 | -------------------------------------------------------------------------------- /INTERP/SAVEGAME.H: -------------------------------------------------------------------------------- 1 | #if !defined(SAVEGAME_H) 2 | #define SAVEGAME_H 3 | 4 | #if !defined(TYPES_H) 5 | #include "types.h" 6 | #endif 7 | 8 | ulong GetSaveLength(void); 9 | void MakeFileName(strptr where, strptr name, int num); 10 | void MakeDirName(strptr where, strptr name); 11 | void KSaveGame(word *); 12 | void KRestoreGame(word *); 13 | void KGetSaveFiles(word *args); 14 | void KGetSaveDir(void); 15 | void KCheckSaveGame(word *args); 16 | 17 | extern char saveDir[]; 18 | 19 | #endif 20 |  -------------------------------------------------------------------------------- /INTERP/SAVEVARS.H: -------------------------------------------------------------------------------- 1 | // savevars.h 2 | 3 | #if !defined(SAVEVARS_H) 4 | #define SAVEVARS_H 5 | 6 | extern ubyte saveStart; 7 | extern ubyte saveEnd; 8 | 9 | #endif 10 | -------------------------------------------------------------------------------- /INTERP/SAVEVARS.I: -------------------------------------------------------------------------------- 1 | ;------------------------------------------------------------------- 2 | ; savevars.i 3 | ;------------------------------------------------------------------- 4 | ifndef SAVEVARS_I 5 | SAVEVARS_I equ 1 6 | 7 | externdef saveStart:word 8 | externdef saveEnd:word 9 | 10 | endif 11 | 12 | -------------------------------------------------------------------------------- /INTERP/SCALE.H: -------------------------------------------------------------------------------- 1 | /* Scale.h */ 2 | 3 | #include "vm_defs.h" 4 | 5 | 6 | 7 | extern unsigned short vm_deltaxs[ MAXWIDTH ], vm_deltays[ MAXHEIGHT ]; 8 | 9 | 10 | 11 | #ifdef LINT_ARGS 12 | 13 | extern void vm_size(word, word, word, word, word, word, 14 | word *, word *, word *, word *); 15 | extern void GetNewScaleFactors(Obj *, int, word *, word *); 16 | 17 | 18 | #else 19 | 20 | extern void vm_size(); 21 | extern void GetNewScaleFactors(); 22 | 23 | 24 | #endif 25 | 26 |  27 |  -------------------------------------------------------------------------------- /INTERP/SCI.EXE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/INTERP/SCI.EXE -------------------------------------------------------------------------------- /INTERP/SCI.H: -------------------------------------------------------------------------------- 1 | // SCI.H 2 | 3 | #if !defined(SCI_H) 4 | #define SCI_H 5 | 6 | #if !defined(SETJMP_H) 7 | #include "setjmp.h" 8 | #endif 9 | 10 | extern jmp_buf restartBuf; 11 | extern char whereDisk; 12 | extern char where[]; 13 | 14 | void main(int argc, char* argv[]); 15 | 16 | #endif 17 | -------------------------------------------------------------------------------- /INTERP/SCI.I: -------------------------------------------------------------------------------- 1 | ;------------------------------------------------------------------- 2 | ; sci.i 3 | ;------------------------------------------------------------------- 4 | ifndef SCI_I 5 | SCI_I equ 1 6 | 7 | main proto argc: word, argv: ptr word 8 | 9 | endif 10 | 11 | -------------------------------------------------------------------------------- /INTERP/SCI.VER: -------------------------------------------------------------------------------- 1 | 1.001.100 -------------------------------------------------------------------------------- /INTERP/SCI32SOL.HPP: -------------------------------------------------------------------------------- 1 | // sol.hpp 5/25/93 2 | // standard header for all Sierra On-Line C++ programs 3 | 4 | #ifndef SOL_HPP 5 | #define SOL_HPP 6 | 7 | // turn off WATCOM's "assignment found in boolean" warning: 'if (a = b())' 8 | #pragma warning 391 9 9 | 10 | // turn off WATCOM's "must look ahead ..a declaration/type or an expression" 11 | #pragma warning 604 9 12 | #pragma warning 595 9 13 | 14 | // turn off WATCOM's warning about truncation when assigning ints to shorter 15 | #pragma warning 389 9 16 | 17 | void Panic(char*, ...); 18 | #define assert(expr) \ 19 | if (!(expr)) Panic("Assertion failed: %s: File %s(%d) ", \ 20 | #expr, __FILE__, __LINE__); 21 | 22 | #include "types.hpp" 23 | 24 | const Bool True = 1; 25 | const Bool False = 0; 26 | 27 | #include "memid.hpp" 28 | 29 | template 30 | inline S max(S a, T b) 31 | { 32 | return a > b ? a : b; 33 | } 34 | 35 | template 36 | inline S min(S a, T b) 37 | { 38 | return a < b ? a : b; 39 | } 40 | 41 | // checks for success, and aborts if fails 42 | #define New new(newFailedStr, __FILE__, __LINE__) 43 | extern char newFailedStr[]; 44 | void* operator new(size_t size, char* fmt, ...); 45 | 46 | #endif 47 |  -------------------------------------------------------------------------------- /INTERP/SCI32TYP.HPP: -------------------------------------------------------------------------------- 1 | // types.hpp IBM 5/25/93 2 | // platform-specific typedefs 3 | 4 | #ifndef TYPES_HPP 5 | #define TYPES_HPP 6 | 7 | #ifndef _STDDEF_H_INCLUDED 8 | #include 9 | #endif 10 | 11 | // abbreviations 12 | typedef unsigned char uchar; 13 | typedef unsigned short ushort; 14 | typedef unsigned int uint; 15 | typedef unsigned long ulong; 16 | 17 | // Boolean 18 | typedef int Bool; 19 | 20 | // data types for external data (files or OS data structures) 21 | // each contain the number of bits indicated 22 | typedef short Int16; 23 | typedef ushort UInt16; 24 | typedef int Int32; 25 | typedef int UInt32; 26 | 27 | // data types for interfacing to the SCI language, in which all values 28 | // are 16 bits 29 | typedef Int16 SCIWord; 30 | typedef UInt16 SCIUWord; 31 | typedef SCIUWord Selector; 32 | typedef SCIWord Property; 33 | typedef SCIWord Acc; 34 | 35 | //////////////////////////////////////////////////////////////////////// 36 | // these are soon to disappear or change 37 | 38 | typedef void AlertProc(char*); 39 | 40 | #endif 41 | 42 |  -------------------------------------------------------------------------------- /INTERP/SCIFGETS.C: -------------------------------------------------------------------------------- 1 | /* scifgets.c Our own personal version of fgets() 2 | */ 3 | 4 | #include "scifgets.h" 5 | #include "io.h" 6 | #include "types.h" 7 | 8 | global strptr sci_fgets(str, len, fd) 9 | strptr str; 10 | int len; 11 | int fd; 12 | { 13 | int count = 0; 14 | char c; 15 | char* cp = str; 16 | 17 | --len; /* account for trailing 0 */ 18 | while (count < len) { 19 | if (read(fd, &c, 1) <= 0) 20 | break; 21 | count++; 22 | if (c == '\n') 23 | break; 24 | if (c == '\r') 25 | continue; 26 | *cp++ = c; 27 | }; 28 | *cp = '\0'; 29 | 30 | return count ? str : NULL; 31 | } 32 |  -------------------------------------------------------------------------------- /INTERP/SCIFGETS.H: -------------------------------------------------------------------------------- 1 | #ifndef SCIFGETS_H 2 | #define SCIFGETS_H 3 | 4 | #include "types.h" 5 | 6 | #ifdef LINT_ARGS 7 | extern strptr sci_fgets(strptr str, int len, int fd); 8 | #else 9 | extern strptr sci_fgets(); 10 | #endif 11 | 12 | #endif 13 | -------------------------------------------------------------------------------- /INTERP/SCITESTR.EXE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/INTERP/SCITESTR.EXE -------------------------------------------------------------------------------- /INTERP/SCRIPT.H: -------------------------------------------------------------------------------- 1 | // SCRIPT.H 2 | 3 | #if !defined(SCRIPT_H) 4 | #define SCRIPT_H 5 | 6 | #if !defined(MEMMGR_H) 7 | #include "memmgr.h" 8 | #endif 9 | 10 | #if !defined(LIST_H) 11 | #include "list.h" 12 | #endif 13 | 14 | typedef struct { 15 | uword fixOfs; // offset to fixup table 16 | uword numVars; // number of variables 17 | uword vars; // beginning of variables 18 | } HeapRes; 19 | 20 | typedef struct { 21 | Node link; // list header (list node key is script number) 22 | HeapRes* heap; // pointer to data in heap for script 23 | Handle hunk; // handle pointer to hunkptr for data in hunk for script 24 | uword* vars; // pointer to variables for this script 25 | int clones; // number of clones spawned from this script 26 | } Script; 27 | 28 | typedef struct { 29 | int type; // type of hunk 30 | int size; // size of hunk 31 | byte data; // hunk data follows 32 | } Hunk; 33 | 34 | typedef struct { 35 | uword fixOfs; // offset to fixup table 36 | uword script; // pointer to script node in heap 37 | uword farText; // does this resource have far text? 38 | uword numDisp; // number of dispatch table entries 39 | uword dispTbl; // beginning of dispatch table 40 | } HunkRes; 41 | 42 | // Scripts with numbers higher than 900 are system scripts, as is script 43 | // number 255. 44 | #define IsSysScript(n) ((n) >= 900 || (n) == 255) 45 | #define ScriptNumber(sp) ((sp)->link.key) 46 | 47 | extern List scriptList; 48 | 49 | void InitScripts(void); 50 | Script* ScriptPtr(int); 51 | Script* LoadScript(int); 52 | void ReloadScript(Script *sp); 53 | void DisposeScript(int); 54 | void ResetHunk(HunkRes _far *hunk); 55 | void DisposeAllScripts(void); 56 | 57 | #endif 58 | 59 |  -------------------------------------------------------------------------------- /INTERP/SCRIPT.I: -------------------------------------------------------------------------------- 1 | ;------------------------------------------------------------------- 2 | ; script.i 3 | ; Structures and external definitions for scripts. 4 | ;------------------------------------------------------------------- 5 | 6 | ifndef SCRIPT_I 7 | SCRIPT_I equ 1 8 | 9 | ifndef LIST_I 10 | include list.i 11 | endif 12 | 13 | heapRes struc 14 | hpFixOfs word ? ;offset to fixup table 15 | hpNumVars word ? ;number of variables 16 | hpVars word ? ;start of variables 17 | heapRes ends 18 | 19 | hunkRes struc 20 | hkFixOfs word ? ;offset to fixup table 21 | hkScript word ? ;pointer to script node in heap 22 | hkFarText word ? ;does this resource have far text? 23 | hkNumDisp word ? ;number of dispatch table entries 24 | hkDispTbl word ? ;beginning of dispatch table 25 | hunkRes ends 26 | 27 | scriptNode struc 28 | sNext word ? ;list header on structure 29 | sPrev word ? 30 | sKey word ? ;number of loaded script 31 | sHeap word ? ;pointer to script in heap 32 | sHunk word ? ;handle to script in hunk 33 | sVars word ? ;pointer to variables for script 34 | sClones word ? ;number of clones spawned 35 | scriptNode ends 36 | 37 | externdef scriptList:List 38 | 39 | ScriptPtr proto n:word 40 | LoadScript proto n:word 41 | 42 | endif 43 | 44 | -------------------------------------------------------------------------------- /INTERP/SETJMP.H: -------------------------------------------------------------------------------- 1 | #if !defined(SETJMP_H) 2 | #define SETJMP_H 3 | 4 | #if !defined(TYPES_H) 5 | #include "types.h" 6 | #endif 7 | 8 | #define JMPBUFSIZE 14 9 | 10 | typedef uint jmp_buf[JMPBUFSIZE]; 11 | 12 | int setjmp(jmp_buf); // in startasm.s 13 | void longjmp(jmp_buf, int); // in startasm.s 14 | 15 | #endif 16 |  -------------------------------------------------------------------------------- /INTERP/SETJMP.I: -------------------------------------------------------------------------------- 1 | ; setjmp.i 2 | 3 | ifndef SETJMP_I 4 | SETJMP_H equ 1 5 | 6 | jmp_buf struc 7 | jmp_seg word ? 8 | jmp_off word ? 9 | jmp_si word ? 10 | jmp_di word ? 11 | jmp_bp word ? 12 | jmp_sp word ? 13 | jmp_es word ? 14 | jmp_buf ends 15 | 16 | setjmp proto buf: jmp_buf 17 | longjmp proto buf: jmp_buf, code: word 18 | 19 | endif 20 |  -------------------------------------------------------------------------------- /INTERP/SIERRA.EXE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/INTERP/SIERRA.EXE -------------------------------------------------------------------------------- /INTERP/SIERRAM.EXE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/INTERP/SIERRAM.EXE -------------------------------------------------------------------------------- /INTERP/SLIST: -------------------------------------------------------------------------------- 1 | ARMASM S 8482 Delete 2 | AUD S 1623 ???? 3 | CELS S 33266 Complete re-write 4 | DEBUGASM S 8820 see what happens after C conversion 5 | DONGLE S 4318 DELETE 6 | EMS S 6451 DELETE 7 | EVENTASM S 2838 Need some sort of replacement 8 | EXTMEM S 6992 DELETE 9 | FILEIO S 8465 Complete re-write in c using Folio 10 | GRAPH S 20373 To be re-written in "C"?? Whatever will be VERY different 11 | GRAPH256 S 58467 Complete re-write of any remaining functions 12 | HFC S 4988 used??? 13 | HFD S 5345 used??? 14 | INTASM S 10761 Will not be used or needed, but ... 15 | IO S 791 re-written or not used 16 | KERNDISP S 4946 To be re-written in "C"??? 17 | MATH S 4933 Replaced by math folio 18 | MEMMGR S 41296 Larrys manager 19 | MIDI S 97147 To be re-written in "C". Task rather than interrupt????? 20 | MONO S 1657 Delete 21 | MOUSEASM S 5875 Delete 22 | OBJASM S 10825 ????? 23 | OPCODES S 29461 ??? To remain in assembly??? 24 | PMACHASM S 5512 ??? To remain in assembly??? 25 | SAVEVARS S 1906 C, but saving must be sparse 26 | STARTASM S 4012 Delete 27 | STDIOASM S 1961 Delete/re-write 28 | XMS S 6120 Delete 29 | 30 |  -------------------------------------------------------------------------------- /INTERP/START.H: -------------------------------------------------------------------------------- 1 | // start.h 2 | 3 | #if !defined(START_H) 4 | #define START_H 5 | 6 | #if !defined(TYPES_H) 7 | #include "types.h" 8 | #endif 9 | 10 | #define MAX_QUITSTR 256 11 | 12 | extern int argc; 13 | extern char* argv[]; 14 | extern char bssEnd; 15 | extern char bssStart; 16 | extern char commandLine[]; 17 | extern uint numHandles; 18 | extern strptr panicStr; 19 | extern word pspSeg; 20 | extern char quitStr[]; 21 | extern word stackBase; 22 | 23 | void Start(); 24 | void ExitFromC(char exitCode); 25 | void onexit(fptr); 26 | void exit(char); 27 | void WriteChar(char chr); 28 | 29 | #endif 30 | -------------------------------------------------------------------------------- /INTERP/START.I: -------------------------------------------------------------------------------- 1 | ;------------------------------------------------------------------- 2 | ; start.i 3 | ;------------------------------------------------------------------- 4 | 5 | ifndef START_I 6 | 7 | START_I equ 1 8 | 9 | externdef argc: word 10 | externdef argv: ptr word 11 | externdef bssStart: byte 12 | externdef bssEnd: byte 13 | externdef numHandles: word 14 | externdef pspSeg: word 15 | externdef stackBase: word 16 | externdef panicStr: word 17 | externdef quitStr: byte 18 | externdef commandLine: byte 19 | 20 | exit proto exitCode: byte 21 | ExitFromC proto exitCode: byte 22 | MakeCommandLineArgs proto off: word, segm: word 23 | onexit proto func: FuncPtr 24 | Start proto 25 | WriteChar proto chr: byte 26 | 27 | endif 28 | -------------------------------------------------------------------------------- /INTERP/STDARG.H: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | *stdarg.h - defines ANSI-style macros for variable argument functions 3 | * 4 | * Copyright (c) 1985-1987, Microsoft Corporation. All rights reserved. 5 | * 6 | *Purpose: 7 | * This file defines ANSI-style macros for accessing arguments 8 | * of functions which take a variable number of arguments. 9 | * [ANSI] 10 | * 11 | *******************************************************************************/ 12 | 13 | #ifndef STDARG_H 14 | #define STDARG_H 15 | 16 | #ifndef _VA_LIST_DEFINED 17 | typedef char *va_list; 18 | #define _VA_LIST_DEFINED 19 | #endif 20 | 21 | #define va_start(ap,v) ap = (va_list)&v + sizeof(v) 22 | #define va_arg(ap,t) ((t*)(ap += sizeof(t)))[-1] 23 | #define va_end(ap) ap = NULL 24 | 25 | #endif 26 |  -------------------------------------------------------------------------------- /INTERP/STDIO.H: -------------------------------------------------------------------------------- 1 | #ifndef STDIO_H 2 | #define STDIO_H 3 | 4 | #include "types.h" 5 | 6 | #ifndef STDARG_H 7 | #include "stdarg.h" 8 | #endif 9 | 10 | /* include io.h to make up for the original, incorrect inclusion 11 | in this file of declarations for creat, open, close, read and write. 12 | When there is some spare time, all users of these functions should 13 | be made to include io.h so that it is no longer required here. 14 | --Pablo Ghenis 15 | */ 16 | #include "io.h" 17 | 18 | #ifndef SCI 19 | /* per Microsoft */ 20 | #define FILE struct _iobuf 21 | #endif 22 | 23 | extern void puts(strptr str); 24 | extern int sprintf(char *,char *, ...); 25 | extern int vsprintf(char *,char *, va_list); 26 | 27 | #ifndef SCI 28 | extern char * fgets(char *, int, FILE *); 29 | #endif 30 | 31 | #endif 32 |  -------------------------------------------------------------------------------- /INTERP/STDIO.I: -------------------------------------------------------------------------------- 1 | ;------------------------------------------------------------------- 2 | ; stdio.i 3 | ;------------------------------------------------------------------- 4 | 5 | ifndef STDIO_I 6 | 7 | STDIO_I equ 1 8 | 9 | creat proto fname:ptr byte, mode:word 10 | open proto fname:ptr byte, mode:word 11 | read proto fd:word, buf:ptr byte, n:word 12 | write proto fd:word, buf:ptr byte, n:word 13 | close proto fd:word 14 | ClearDosError proto 15 | 16 | puts proto s:ptr byte 17 | sprintf proto s:ptr byte, fp:ptr byte, arg:vararg 18 | vsprintf proto s:ptr byte, fp:ptr byte, argPtr:ptr byte 19 | 20 | ifndef SCI 21 | sci_fgets proto s:ptr byte, len:word, fd:word 22 | endif 23 | 24 | 25 | endif 26 | 27 | -------------------------------------------------------------------------------- /INTERP/STDLIB.C: -------------------------------------------------------------------------------- 1 | #include "stdlib.h" 2 | 3 | #include "types.h" 4 | #include "ctype.h" 5 | #include "string.h" 6 | 7 | global int atoi(str) 8 | strptr str; 9 | { 10 | int n; 11 | char c; 12 | int sign; 13 | 14 | /* Scan off spaces 15 | */ 16 | for ( ; isspace(*str); str++) 17 | ; 18 | 19 | /* Initialize. 20 | */ 21 | sign = 1; 22 | n = 0; 23 | 24 | /* Check for a negative number. 25 | */ 26 | if (*str == '-') { 27 | sign = -1; 28 | ++str; 29 | } 30 | 31 | if (*str != '$') { 32 | /* A decimal number. 33 | */ 34 | while (isdigit(*str)) 35 | n = 10*n + *str++ - '0'; 36 | } 37 | else { 38 | /* A hex number. 39 | */ 40 | ++str; 41 | forever { 42 | c = lower(*str++); 43 | if (isdigit(c)) 44 | c = c - '0'; 45 | else if (c >= 'a' && c <= 'f') 46 | c = c + 10 - 'a'; 47 | else 48 | break; 49 | n = 16 * n + c; 50 | } 51 | } 52 | 53 | return (sign * n); 54 | } 55 | 56 | 57 | 58 | global strptr itoa(n, sp, radix) 59 | int n, radix; 60 | strptr sp; 61 | { 62 | if (n >= 0) 63 | ultoa((ulong) n, sp, radix); 64 | else { 65 | *sp = '-'; 66 | ultoa((ulong) (-n), sp+1, radix); 67 | } 68 | 69 | return (sp); 70 | } 71 | 72 | 73 | 74 | 75 | global strptr ultoa(n, sp, radix) 76 | ulong n; 77 | strptr sp; 78 | int radix; 79 | { 80 | strptr s; 81 | char c; 82 | 83 | s = sp; 84 | do { 85 | c = (char) (n % radix); 86 | *s++ = c + ((c > 9)? 'a'-10 : '0'); 87 | } while ((n /= radix) > 0); 88 | *s = '\0'; 89 | 90 | return (reverse(sp)); 91 | } 92 | -------------------------------------------------------------------------------- /INTERP/STDLIB.H: -------------------------------------------------------------------------------- 1 | #if !defined(STDLIB_H) 2 | #define STDLIB_H 3 | 4 | #if !defined(TYPES_H) 5 | #include "types.h" 6 | #endif 7 | 8 | int atoi(strptr str); 9 | strptr itoa(int num, strptr str, int radix); 10 | strptr ultoa(ulong num, strptr str, int radix); 11 | 12 | #endif 13 | -------------------------------------------------------------------------------- /INTERP/STDLIB.I: -------------------------------------------------------------------------------- 1 | ;------------------------------------------------------------------- 2 | ; stdlib.i 3 | ;------------------------------------------------------------------- 4 | 5 | ifndef STDLIB_I 6 | 7 | STDLIB_I equ 1 8 | 9 | atoi proto s:ptr byte 10 | itoa proto n:word, s:ptr byte, radix:word 11 | ultoa proto n:word, s:ptr byte, radix:word 12 | 13 | endif 14 |  -------------------------------------------------------------------------------- /INTERP/STRING.I: -------------------------------------------------------------------------------- 1 | ;------------------------------------------------------------------- 2 | ; string.i 3 | ;------------------------------------------------------------------- 4 | 5 | ifndef STRING_I 6 | 7 | STRING_I equ 1 8 | 9 | strlen proto s:ptr byte 10 | strcpy proto dest:ptr byte, src:ptr byte 11 | strncpy proto dest:ptr byte, src:ptr byte, n:word 12 | strdup proto s:ptr byte 13 | strcat proto dest:ptr byte, src:ptr byte 14 | strncat proto dest:ptr byte, src:ptr byte, n:word 15 | strcmp proto s1:ptr byte, s2:ptr byte 16 | strncmp proto s1:ptr byte, s2:ptr byte, n:word 17 | strlwr proto s:ptr byte 18 | strchr proto s:ptr byte, chr:word 19 | strstr proto s1:ptr byte, s2:ptr byte 20 | 21 | memcmp proto buf1:ptr byte, buf2:ptr byte, count:word 22 | memcpy proto to:ptr byte, from:ptr byte, count:word 23 | 24 | strtrn proto s1:ptr byte, s2:ptr byte, s3:ptr byte, s4:ptr byte 25 | strbcat proto dest:ptr byte, src:ptr byte, count:word 26 | reverse proto s:ptr byte 27 | IsPrintStr proto s:ptr byte 28 | 29 | 30 | endif 31 | 32 | -------------------------------------------------------------------------------- /INTERP/SYNC.H: -------------------------------------------------------------------------------- 1 | // SYNC.H 2 | 3 | #if !defined(SYNC_H) 4 | #define SYNC_H 5 | 6 | #if !defined(TYPES_H) 7 | #include "types.h" 8 | #endif 9 | 10 | #if !defined(OBJECT_H) 11 | #include "object.h" 12 | #endif 13 | 14 | /* sync cue structure */ 15 | typedef struct Sync { 16 | uint time; /* absolute frame time to cue */ 17 | uint cue; /* cue number to send at frame time */ 18 | } Sync; 19 | 20 | enum syncFuncs { 21 | STARTSYNC, 22 | NEXTSYNC, 23 | STOPSYNC, 24 | QUEUESYNC 25 | }; 26 | 27 | void KDoSync(word*); 28 | void StartSync(Obj* theSync, uint num); 29 | void StartSync36(Obj*, uint, uchar, uchar, uchar, uchar); 30 | void QueueSync(Obj* theSync, uint num); 31 | void QueueSync36(Obj*, uint, uchar, uchar, uchar, uchar); 32 | void NextSync(Obj* theSync); 33 | void StopSync(void); 34 | ulong FindSync36Entry(uint, uchar, uchar, uchar, uchar, uint*); 35 | 36 | #endif 37 | -------------------------------------------------------------------------------- /INTERP/TEXT.H: -------------------------------------------------------------------------------- 1 | #ifndef TEXT_H 2 | 3 | #define TEXT_H 4 | 5 | #include "types.h" /* for typedef strptr */ 6 | #include "grtypes.h" /* for typedef RRect */ 7 | 8 | /* text justification */ 9 | #define TEJUSTLEFT 0 10 | #define TEJUSTCENTER 1 11 | #define TEJUSTRIGHT -1 12 | 13 | 14 | /* Defines for text strings with special control codes (fonts, colors, etc.) */ 15 | #define MAXTEXTFONTS 100 16 | #define MAXTEXTCOLORS 100 17 | #define CTRL_CHAR '|' 18 | 19 | extern uchar textColors[]; 20 | extern uint textFonts[]; 21 | extern uchar lastTextColor; 22 | extern uchar lastTextFont; 23 | extern word* newRect; 24 | extern word rectIndex; 25 | 26 | #ifdef LINT_ARGS 27 | 28 | extern void KTextColors(word *); 29 | extern void KTextFonts(word *); 30 | extern void RTextSize(RRect *, strptr, word, word); 31 | extern int GetLongest(strptr *, int, int); 32 | extern int GetHighest(strptr, int, int); 33 | extern word *RTextBox(strptr, int, RRect *, word, word); 34 | extern int RStringWidth(strptr); 35 | extern void DrawString(strptr); 36 | extern void ShowString(strptr); 37 | extern void RDrawText(strptr, int, int, int, int); 38 | extern void ShowText(strptr, int, int, int, int); 39 | 40 | #else 41 | 42 | extern void KTextColors(); 43 | extern void KTextFonts(); 44 | extern void RTextSize(); 45 | extern int GetLongest(); 46 | extern int GetHighest(); 47 | extern word *RTextBox(); 48 | extern int RStringWidth(); 49 | extern void DrawString(); 50 | extern void ShowString(); 51 | extern void RDrawText(); 52 | extern void ShowText(); 53 | 54 | #endif 55 | 56 | 57 | #endif 58 | 59 |  -------------------------------------------------------------------------------- /INTERP/TEXT.I: -------------------------------------------------------------------------------- 1 | ;------------------------------------------------------------------- 2 | ; text.i 3 | ;------------------------------------------------------------------- 4 | 5 | ifndef TEXT_I 6 | 7 | TEXT_I equ 1 8 | 9 | CTRL_CHAR equ '|' 10 | 11 | extrn textColors:ptr byte 12 | extrn textFonts:ptr word 13 | extrn lastTextColor:byte 14 | extrn lastTextFont:byte 15 | 16 | endif 17 |  -------------------------------------------------------------------------------- /INTERP/TRIG.H: -------------------------------------------------------------------------------- 1 | #ifndef TRIG_H 2 | #define TRIG_H 3 | 4 | #include "types.h" 5 | 6 | #ifdef LINT_ARGS 7 | 8 | extern long ScaledSin(word); 9 | extern long ScaledCos(word); 10 | extern int ATan(int,int,int,int); 11 | 12 | #else 13 | 14 | extern long ScaledSin(); 15 | extern long ScaledCos(); 16 | extern int ATan(); 17 | 18 | #endif 19 | 20 | 21 | /* n will be under 1000 22 | n*TrigScale must be less than largest long int (2,000,000,000) 23 | so TrigScale<2,000,000 24 | */ 25 | 26 | #define TrigScale (long)10000 27 | #define TrigStep 5 28 | 29 | #define SinMult(a,n) (word)((ScaledSin(a) * n) / TrigScale) 30 | #define CosMult(a,n) (word)((ScaledCos(a) * n) / TrigScale) 31 | #define SinDiv(a,n) (word)((TrigScale * n) / ScaledSin(a)) 32 | #define CosDiv(a,n) (word)((TrigScale * n) / ScaledCos(a)) 33 | 34 | #endif /* ifndef TRIG_H */ 35 | -------------------------------------------------------------------------------- /INTERP/TYPES.H: -------------------------------------------------------------------------------- 1 | /* TYPES.H 2 | */ 3 | 4 | #ifndef TYPES_H 5 | #define TYPES_H 6 | 7 | #ifdef MPU68000 8 | #define far 9 | #define near 10 | #endif 11 | 12 | /* Shorthand for unsigned values. 13 | */ 14 | typedef unsigned char uchar; 15 | typedef unsigned int uint; 16 | typedef unsigned long ulong; 17 | 18 | /* These should always be 8 bit values. 19 | */ 20 | typedef char byte; 21 | typedef uchar ubyte; 22 | 23 | /* These should always be 16 bit values. 24 | */ 25 | typedef int word; 26 | typedef uint uword; 27 | 28 | /* This type should be able to hold the number 29 | * of chars addressable by the machine. 30 | */ 31 | #ifndef _SIZE_T_DEFINED 32 | typedef uint size_t; 33 | #define _SIZE_T_DEFINED 34 | #endif 35 | 36 | // Boolean type 37 | typedef int bool; 38 | 39 | // Some pointer types 40 | typedef void *voidptr; 41 | typedef char *strptr; 42 | typedef ubyte *memptr; 43 | 44 | // A pointer to a function 45 | typedef void (*fptr)(void); 46 | typedef bool (*boolfptr)(); 47 | 48 | // far hunk stuff 49 | typedef void _far *farptr; 50 | typedef ubyte _far *Hunkptr; 51 | typedef uword _far *Dictptr; 52 | typedef Hunkptr *Handle; 53 | 54 | // Pseudo-machine object (or other address) references 55 | typedef uword ObjID; 56 | 57 | #define TRUE 1 58 | #define FALSE 0 59 | 60 | #ifdef NULL 61 | #undef NULL 62 | #endif 63 | #define NULL 0 64 | #define LNULL 0L 65 | 66 | #define NULL_OBJ ((Obj *) 0) 67 | 68 | #define forever for (;;) 69 | #define global 70 | 71 | #define min(a,b) ((a)<(b) ? (a): (b)) 72 | #define max(a,b) ((a)>(b) ? (a): (b)) 73 | 74 | #endif 75 | 76 | -------------------------------------------------------------------------------- /INTERP/VCS.CFG: -------------------------------------------------------------------------------- 1 | vcsDir=i:\interp\sci\ibm\vcs 2 | journal=i:\interp\sci\ibm\vcs\journal 3 | logsuffix=??? 4 | branchWarn 5 | semaphore 6 | writeProtect 7 | logWork = c: 8 | workdir = c: 9 | commentPrefix .i "; " 10 | commentPrefix .s "; " 11 | commentPrefix .bat "rem " 12 | -------------------------------------------------------------------------------- /INTERP/VCSCFG.BAT: -------------------------------------------------------------------------------- 1 | set vcsdir=i:\interp\sci\ibm\vcs\ 2 | set vcssrc=i:\interp\sci\ibm\ 3 | set vcscfg=%vcssrc%vcs.cfg 4 |  -------------------------------------------------------------------------------- /INTERP/VM_DEFS.H: -------------------------------------------------------------------------------- 1 | /* * * * * 2 | * VM_DEFS.H 3 | * COPYRIGHT 1989 BY DYNAMIX, INC 4 | * 5 | * Contains VM defines. 6 | * 7 | * MODIFICATION HISTORY 8 | * NAME DATE WHAT 9 | * 10 | * Richard Rayl 08/23/88 Moved all definitions from VM_GLOBS.H 11 | * M Edwards 10/17/88 Added FLIP defs, changed TRUE/FALSE defs, 12 | * and moved key defs to vm_keys.h 13 | * M Edwards 11/30/8 Added equates from grafix.inc. 14 | * ME 03/07/89 Added def's for MCGA, AMIGAVM, ATARIST. 15 | * ME 03/28/89 Moved uchar, ushort, ulong defs to vm_types.h. 16 | * ME 03/29/89 Added conditional inclusion. 17 | * ME 05/11/89 Added bitfield graphics mode defines. 18 | * 19 | * * * * */ 20 | 21 | 22 | #define MAXWIDTH 320 23 | #define MAXHEIGHT 200 24 | 25 | 26 | 27 | 28 | /* VM Sci defines */ 29 | 30 | #define VM_SCALABLE 0x0001 31 | #define VM_AUTO_SCALE 0x0002 32 | #define VM_SCALE_BASE 128 33 | #define VM_SCALE_SHIFT 7 34 | 35 | 36 | 37 | 38 | 39 | 40 |  -------------------------------------------------------------------------------- /INTERP/VOLLOAD.H: -------------------------------------------------------------------------------- 1 | #ifndef VOLLOAD_H 2 | #define VOLLOAD_H 3 | 4 | #include "types.h" 5 | 6 | #ifdef LINT_ARGS 7 | 8 | extern Handle LoadResMap(strptr); 9 | extern bool FindDirEntry(ulong *, ubyte, uword, int *); 10 | extern bool FindDirEntryMap(ulong *, ubyte, uword, Handle); 11 | extern Handle DoLoad(ubyte, uint); 12 | extern void InitResource(strptr); 13 | 14 | #else 15 | 16 | extern Handle LoadResMap(); 17 | extern bool FindDirEntry(); 18 | extern bool FindDirEntryMap(); 19 | extern Handle DoLoad(); 20 | extern void InitResource(); 21 | 22 | #endif 23 | 24 | #endif 25 | 26 | 27 | -------------------------------------------------------------------------------- /INTERP/WINDOW.I: -------------------------------------------------------------------------------- 1 | ; window.i 2 | 3 | ifndef WINDOW_I 4 | WINDOW_I equ 1 5 | 6 | ifndef GRAPH_I 7 | include graph.i 8 | endif 9 | 10 | ifndef LIST_I 11 | include list.i 12 | endif 13 | 14 | externdef wmgrPort: RGrafPortPtr 15 | externdef windowList: List 16 | 17 | endif 18 | -------------------------------------------------------------------------------- /INTERP/XMS.H: -------------------------------------------------------------------------------- 1 | #ifndef XMS_H 2 | #define XMS_H 3 | 4 | #include "altres.h" 5 | 6 | extern ARMType xms; 7 | 8 | #endif 9 | -------------------------------------------------------------------------------- /INTERP/XMS.I: -------------------------------------------------------------------------------- 1 | ifndef XMS_I 2 | XMS_I equ 1 3 | 4 | externdef xms: ARMType 5 | 6 | endif 7 | -------------------------------------------------------------------------------- /INTERP/___DOVCS.BAT: -------------------------------------------------------------------------------- 1 | vcs -vv1.001.099 vcs\*.* 2 | -------------------------------------------------------------------------------- /NL/LISTS.C: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | 3 | Module : LISTS 4 | 5 | Subprogram : NLP (Natural Language Parser Interface) 6 | 7 | Program : SCI (Script Interpreter for Sierra On-line games) 8 | 9 | Author/Date: Pablo Ghenis for Sierra On-line, July 1988 10 | 11 | Platform : Portable C, any 16+ bit micro with 512k+ RAM 12 | 13 | Purpose : 14 | Provide singly-linked nodes, lists and trees. 15 | Provide node management/garbage collection 16 | 17 | 18 | 19 | ***************************************************************************/ 20 | 21 | 22 | #ifndef LISTS_H 23 | #include "lists.h" 24 | #endif 25 | 26 | #ifndef DLL_H 27 | #include "dll.h" 28 | #endif 29 | 30 | 31 | #ifdef GC_H 32 | 33 | #include "gc.c" 34 | 35 | #else /* the rest of this file (kludge for testing phase) */ 36 | 37 | 38 | int LISTDEBUG=0; 39 | 40 | 41 | 42 | void init_nodepool(nodepool, poolsize) 43 | 44 | nodeptr nodepool; 45 | uint poolsize; 46 | { 47 | uint i; 48 | 49 | for(i=1; i= 'a' && (c) <= 'z' ) 37 | #define isupper(c) ( (c) >= 'A' && (c) <= 'Z' ) 38 | #define isalpha(c) ( islower(c) || isupper(c) ) 39 | #define isdigit(c) ( (c) >= '0' && (c) <= '9') 40 | 41 | #define isalnum(c) isalpha(c) || isdigit(c) 42 | #define isspace(c) ( (c)==' ' || (c)=='\t' || (c)=='\n' || (c)=='\r') 43 | #define ispunct(c) !(isalnum(c) || isspace(c)) 44 | 45 | #define _tolower(c) (char) ( (c)-'A'+'a' ) 46 | #define _toupper(c) (char) ( (c)-'a'+'A' ) 47 | 48 | #define toupper(c) (char) ( (islower(c)) ? _toupper(c) : (c) ) 49 | #define tolower(c) (char) ( (isupper(c)) ? _tolower(c) : (c) ) 50 | 51 | 52 | #endif 53 | 54 | -------------------------------------------------------------------------------- /NL/VOCAB.H: -------------------------------------------------------------------------------- 1 | /* VOCAB.H 2 | * Definitions for the vocabulary compiler and parser. 3 | */ 4 | 5 | 6 | #ifndef VOCAB_H 7 | 8 | #define VOCAB_H 9 | 10 | #ifndef TYPES_H 11 | #include "types.h" 12 | #endif 13 | 14 | 15 | #define LINESIZE 50 16 | #define MAXPARSENODES 200 17 | #define MAXSAIDNODES 300 18 | 19 | 20 | /* Structure of dictionary word entries. 21 | */ 22 | typedef struct AWord 23 | { 24 | word val; /* word token value */ 25 | word tags; /* possible parts of speech */ 26 | word sibs; /* index in this array of next sibling */ 27 | word kids; /* index in this array of its first kid */ 28 | } 29 | AWord; 30 | 31 | /* Structure of the synonym table for a script. 32 | */ 33 | typedef struct synStrc { 34 | uint synonym; 35 | uint baseWord; 36 | } 37 | Synonym; 38 | 39 | #define SYN_END 0xffff 40 | 41 | /* Structure of a word transformation rule 42 | */ 43 | typedef struct deriv 44 | { 45 | strptr derivedStr; 46 | uint derivedTags; 47 | strptr rootStr; 48 | uint rootTags; 49 | } 50 | Deriv; 51 | 52 | 53 | extern ID vocab, vocab_transforms; 54 | extern uint wordVal, wordTags; 55 | 56 | 57 | extern ID ParsePoolID; 58 | extern ID ParseGrammarID; 59 | extern ID SaidPoolID; 60 | 61 | 62 | 63 | #ifdef LINT_ARGS 64 | 65 | void _far _loadds InitVocab(void); 66 | bool FindWordRoot(strptr); 67 | 68 | #else 69 | 70 | void _far _loadds InitVocab(); 71 | bool FindWordRoot(); 72 | 73 | #endif 74 | 75 | #endif 76 | 77 | -------------------------------------------------------------------------------- /SYSTEM/0.FON: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/SYSTEM/0.FON -------------------------------------------------------------------------------- /SYSTEM/1.FON: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/SYSTEM/1.FON -------------------------------------------------------------------------------- /SYSTEM/2.FON: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/SYSTEM/2.FON -------------------------------------------------------------------------------- /SYSTEM/3.FON: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/SYSTEM/3.FON -------------------------------------------------------------------------------- /SYSTEM/4.FON: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/SYSTEM/4.FON -------------------------------------------------------------------------------- /SYSTEM/7.FON: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/SYSTEM/7.FON -------------------------------------------------------------------------------- /SYSTEM/8.FON: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/SYSTEM/8.FON -------------------------------------------------------------------------------- /SYSTEM/990.MSG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/SYSTEM/990.MSG -------------------------------------------------------------------------------- /SYSTEM/990.SHM: -------------------------------------------------------------------------------- 1 | ; 990.SHM -- Produced by SCI Message Editor 3.350 2 | ; This file should only be edited with ME 3 | 4 | ; NOUNS 5 | 6 | (define BUTTON_CANCEL 22) 7 | (define BUTTON_CHANGE 23) 8 | (define BUTTON_DELETE 24) 9 | (define BUTTON_NO 31) 10 | (define BUTTON_NODIRCHG 38) 11 | (define BUTTON_OK 27) 12 | (define BUTTON_REPLACE 25) 13 | (define BUTTON_RESTORE 26) 14 | (define BUTTON_SAVE 28) 15 | (define BUTTON_YES 32) 16 | (define BUT_REPLACE 9) 17 | (define BUT_RESTORE 7) 18 | (define BUT_SAVE 8) 19 | (define CANCEL_BUTTON 5) 20 | (define CHANGE_BUTTON 18) 21 | (define DELETE_BUTTON 19) 22 | (define DEL_NO 13) 23 | (define DEL_TEXT 12) 24 | (define DEL_YES 14) 25 | (define DIALOG_RESTORE 20) 26 | (define DIALOG_SAVE 21) 27 | (define DIR_INVALID 29) 28 | (define DIR_NOROOM 30) 29 | (define DIR_PROMPT 1) 30 | (define DTEXT_REPLACE 33) 31 | (define DTEXT_WITH 34) 32 | (define INVALID_DIR 2) 33 | (define NOROOM 6) 34 | (define NO_DESC 3) 35 | (define OK_BUTTON 4) 36 | (define REPLACE_BUTTON 15) 37 | (define RESTORE_BUTTON 16) 38 | (define SAVE_BUTTON 17) 39 | (define SELECT_GAME 10) 40 | (define TEXT_REPLACE 37) 41 | (define TEXT_RESTORE 35) 42 | (define TEXT_SAVE 36) 43 | (define TYPE_DESC 11) 44 | 45 | ; CASES 46 | 47 | -------------------------------------------------------------------------------- /SYSTEM/994.MSG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/SYSTEM/994.MSG -------------------------------------------------------------------------------- /SYSTEM/994.SHM: -------------------------------------------------------------------------------- 1 | ; 994.SHM -- Produced by SCI Message Editor 3.340 2 | ; This file should only be edited with ME 3 | 4 | ; NOUNS 5 | 6 | (define CANCEL_BUTTON 4) 7 | (define CHG_DIR_BUTTON 5) 8 | (define DISK_FULL 1) 9 | (define GAME_DISK 8) 10 | (define INSERT_DISK 6) 11 | (define INVALID_DIR 9) 12 | (define OK_BUTTON 2) 13 | (define SAVE_DISK 7) 14 | (define WRONG_INTERP 3) 15 | 16 | ; CASES 17 | 18 | -------------------------------------------------------------------------------- /SYSTEM/994.VOC: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/SYSTEM/994.VOC -------------------------------------------------------------------------------- /SYSTEM/996.V56: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/SYSTEM/996.V56 -------------------------------------------------------------------------------- /SYSTEM/996.VOC: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/SYSTEM/996.VOC -------------------------------------------------------------------------------- /SYSTEM/997.V56: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/SYSTEM/997.V56 -------------------------------------------------------------------------------- /SYSTEM/997.VOC: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/SYSTEM/997.VOC -------------------------------------------------------------------------------- /SYSTEM/998.VOC: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/SYSTEM/998.VOC -------------------------------------------------------------------------------- /SYSTEM/999.FON: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/SYSTEM/999.FON -------------------------------------------------------------------------------- /SYSTEM/999.PAL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/SYSTEM/999.PAL -------------------------------------------------------------------------------- /SYSTEM/999.V56: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/SYSTEM/999.V56 -------------------------------------------------------------------------------- /SYSTEM/APPROACH.SC: -------------------------------------------------------------------------------- 1 | (script# APPROACH) 2 | 3 | (class Approach kindof Motion 4 | ;; Try to get near an immobile object. 5 | 6 | (properties 7 | who 0 ;who to approach 8 | distance 20 ;how close to 'who' is considered a 'near' 9 | ) 10 | 11 | 12 | (method (init actor whom howClose whoCares) 13 | (if (>= argc 1) (= client actor) 14 | (if (>= argc 2) (= who whom) 15 | (if (>= argc 3) (= distance howClose) 16 | (if (>= argc 4) (= caller whoCares) 17 | ) 18 | ) 19 | ) 20 | ) 21 | (super init: client (who x?) (who y?) caller) 22 | ) 23 | 24 | 25 | (method (onTarget) 26 | (<= (client distanceTo: who) distance) 27 | ) 28 | 29 | (method (setTarget) 30 | (cond 31 | (argc 32 | (super setTarget: &rest) 33 | ) 34 | ((not (self onTarget?)) 35 | (super setTarget: (who x?) (who y?)) 36 | 37 | ) 38 | ) 39 | ) 40 | 41 | (method (doit) 42 | (if (self onTarget?) 43 | (self moveDone:) 44 | else 45 | (super doit:) 46 | ) 47 | ) 48 | ) 49 | -------------------------------------------------------------------------------- /SYSTEM/BLOCK.SC: -------------------------------------------------------------------------------- 1 | (script# BLOCK) 2 | 3 | 4 | (class Block kindof Object 5 | ;;; A Block is a rectangle meant to exclude Actors. 'theActor' is required 6 | ;;; to stay out of a 'theBlock' by 7 | ;;; (theActor observeBlocks: theBlock ...) 8 | ;;; Similarly, 9 | ;;; (theActor ignoreBlocks: theBlock ...) 10 | ;;; will allow the Actor to be inside the block once more. 11 | 12 | (properties 13 | name "Blk" 14 | top 0 ;coordinates of block edges 15 | left 0 16 | bottom 0 17 | right 0 18 | ) 19 | 20 | 21 | (method (doit theObj) 22 | (return 23 | (or 24 | (<= (theObj brBottom?) top) 25 | (> (theObj brTop?) bottom) 26 | (< (theObj brRight?) left) 27 | (>= (theObj brLeft?) right) 28 | ) 29 | ) 30 | ) 31 | ) 32 | 33 | 34 | 35 | 36 | (class Cage kindof Block 37 | ;;; A Cage is a Block which requires that an Actor be inside the rectangle 38 | ;;; rather than outside. It is set and cleared in the same way as Blocks, 39 | ;;; using observeBlocks: and ignoreBlocks:. 40 | 41 | (method (doit theObj) 42 | (return 43 | (and 44 | (>= (theObj brTop?) top) 45 | (>= (theObj brLeft?) left) 46 | (<= (theObj brBottom?) bottom) 47 | (<= (theObj brRight?) right) 48 | ) 49 | ) 50 | ) 51 | ) 52 | -------------------------------------------------------------------------------- /SYSTEM/CAT.SH: -------------------------------------------------------------------------------- 1 | ;; CAT.SH 2 | ;; header file for mouse follower 3 | 4 | (enum -2 5 | YDOWN ;-2 6 | XDOWN ;-1 7 | NODIAG ;zero 8 | XUP ;1 9 | YUP ;2 10 | ) 11 | 12 | (enum 13 | SELFONLY ;FALSE=only animate yourself 14 | DODOITS ;TRUE=execute cast's doits 15 | ) 16 | -------------------------------------------------------------------------------- /SYSTEM/CHASE.SC: -------------------------------------------------------------------------------- 1 | (script# CHASE) 2 | 3 | (class Chase kindof Motion 4 | ;;; Try to catch a particular Actor. 5 | 6 | (properties 7 | who 0 ;who to chase 8 | distance 0 ;how close to 'who' is considered a 'catch' 9 | ) 10 | 11 | 12 | (method (init actor whom howClose whoCares) 13 | (if (>= argc 1) (= client actor) 14 | (if (>= argc 2) (= who whom) 15 | (if (>= argc 3) (= distance howClose) 16 | (if (>= argc 4) (= caller whoCares) 17 | ) 18 | ) 19 | ) 20 | ) 21 | (super init: client (who x?) (who y?) caller) 22 | ; (super doit:) 23 | ) 24 | 25 | 26 | (method (onTarget) 27 | (<= (client distanceTo: who) distance) 28 | ) 29 | 30 | (method (setTarget) 31 | (cond 32 | (argc 33 | (super setTarget: &rest) 34 | ) 35 | ((not (self onTarget:)) 36 | (super setTarget: (who x?) (who y?)) 37 | 38 | ) 39 | ) 40 | ) 41 | 42 | (method (doit) 43 | (if (self onTarget?) 44 | (self moveDone:) 45 | else 46 | (super doit:) 47 | (if (== b-moveCnt 0) 48 | (super init: client (who x?) (who y?) caller) 49 | ) 50 | ) 51 | ) 52 | ) 53 | -------------------------------------------------------------------------------- /SYSTEM/CONV.SC: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/SYSTEM/CONV.SC -------------------------------------------------------------------------------- /SYSTEM/COUNT.SC: -------------------------------------------------------------------------------- 1 | (script# COUNT) 2 | 3 | (procedure 4 | Count 5 | ) 6 | 7 | (public 8 | Count 0 9 | ) 10 | 11 | (procedure (Count theList theCode &tmp theCount theNode) 12 | (for 13 | 14 | ;; 15 | 16 | ( (= theNode (FirstNode (theList elements))) 17 | (= theCount 0) 18 | ) 19 | theNode 20 | ( (= theNode (NextNode theNode)) 21 | ) 22 | 23 | (if (theCode doit (NodeValue theNode) &rest) 24 | (++ theCount) 25 | ) 26 | ) 27 | (return theCount) 28 | ) 29 | -------------------------------------------------------------------------------- /SYSTEM/COUNT.SH: -------------------------------------------------------------------------------- 1 | (extern 2 | Count COUNT 0 3 | ) 4 | -------------------------------------------------------------------------------- /SYSTEM/DCICON.SC: -------------------------------------------------------------------------------- 1 | (script# DCICON) 2 | 3 | (class DCIcon kindof DIcon 4 | ;;; Cycling Icons are a sub-class of DIcon. 5 | ;;; An instance of DCIcon may be passed to Print for use in 6 | ;;; a dialog. 7 | 8 | ;;; additional properties are required to 9 | ;;;allow cycling via the Cycler classes. 10 | (properties 11 | cycler: 0 ; a cycler must be attached dynamically 12 | cycleSpeed: 6 ; 60ths second between cels. 13 | signal: 0 ; just to satisfy cycler 14 | ) 15 | 16 | (methods 17 | lastCel ; required by cycler class 18 | ) 19 | 20 | ;;; Do not pass a caller to this cycler 21 | (method (init) 22 | ((= cycler (Forward new:)) init: self) 23 | ) 24 | 25 | ;;; invoked at 60 times per second by the Dialog doit: loop 26 | (method (cycle &tmp oldCel) 27 | (if cycler 28 | ;; remember current cel 29 | (= oldCel cel) 30 | (cycler doit:) 31 | 32 | ;;; show new cel if it changed 33 | (if (!= cel oldCel) 34 | (self draw:) 35 | ) 36 | ) 37 | ) 38 | 39 | ;;; A completion type cycler may have already disposed of itself 40 | (method (dispose) 41 | (if cycler 42 | (cycler dispose:) 43 | ) 44 | (super dispose:) 45 | ) 46 | 47 | ;; Return the number of the last cel in the current loop of this object. 48 | ;; this method is called by cycler 49 | (method (lastCel) 50 | (return (- (NumCels self) 1)) 51 | ) 52 | ) 53 | -------------------------------------------------------------------------------- /SYSTEM/DLGEDIT.SC: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/SYSTEM/DLGEDIT.SC -------------------------------------------------------------------------------- /SYSTEM/DOOR.SC: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/SYSTEM/DOOR.SC -------------------------------------------------------------------------------- /SYSTEM/FORCOUNT.SC: -------------------------------------------------------------------------------- 1 | (script# FORCOUNT) 2 | 3 | ;;; ForwardCounter Cycle Class 4 | ;;; Author J.Mark Hood 5 | ;;; Saves states in scripts by cycleing a given number of times 6 | ;;; then cueing on completion. 7 | ;;; Usage : propName setCycle:ForwardCounter numOfCycles whoCares 8 | 9 | (class ForwardCounter kindof Forward 10 | (properties 11 | count 0 12 | ) 13 | 14 | (method (init theObj num whoCares) 15 | (super init: theObj) 16 | (if (>= argc 2) (= count num) 17 | (if (>= argc 3) (= caller whoCares) 18 | ) 19 | ) 20 | ); init 21 | 22 | (method (cycleDone) 23 | (if (-- count) 24 | (super cycleDone:) 25 | else 26 | (= completed TRUE) 27 | (self motionCue:) 28 | ) 29 | ); cycleDone 30 | 31 | ); ForwardCounter 32 | 33 | 34 | -------------------------------------------------------------------------------- /SYSTEM/GAME.SH: -------------------------------------------------------------------------------- 1 | ; dummy game.sh to preclude accidentally including a game-specific one 2 | 3 | 4 | -------------------------------------------------------------------------------- /SYSTEM/GIVEM.BAT: -------------------------------------------------------------------------------- 1 | @echo off 2 | updtools -system %1 3 | -------------------------------------------------------------------------------- /SYSTEM/LOADMANY.SC: -------------------------------------------------------------------------------- 1 | (script# LOADMANY) 2 | 3 | (procedure LoadMany) 4 | (public LoadMany 0) 5 | 6 | (procedure (LoadMany what which &tmp i theRes) 7 | 8 | ;;Author: Pablo Ghenis, 7/17/89 9 | ;; 10 | ;;Usage examples: 11 | ;; (LoadMany VIEW 110 111 201) ;to load a series of views 12 | ;; (LoadMany SCRIPT 110 111 201) ;to load a series of scripts 13 | ;; (LoadMany FALSE 110 111 201) ;to use DisposeScript 14 | 15 | 16 | (for 17 | ((-= argc 2)(= i 0)) 18 | (<= i argc) 19 | ((++ i)) 20 | 21 | (= theRes [which i]) 22 | (if what 23 | (Load what theRes) 24 | else 25 | (DisposeScript theRes) 26 | ) 27 | ) 28 | 29 | (DisposeScript LOADMANY) 30 | ) 31 | -------------------------------------------------------------------------------- /SYSTEM/LOADMANY.SH: -------------------------------------------------------------------------------- 1 | (extern LoadMany LOADMANY 0) 2 | -------------------------------------------------------------------------------- /SYSTEM/LOGGER.SC: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/SYSTEM/LOGGER.SC -------------------------------------------------------------------------------- /SYSTEM/MENU.SH: -------------------------------------------------------------------------------- 1 | ;** 2 | ;** MENU.SH 3 | ;** 4 | 5 | ;** Icon bar 6 | (define ICONBAR_X 0) 7 | (define ICONBAR_Y 0) 8 | (define ICONBAR_H 27) 9 | (define ICONBAR_W 320) 10 | (define ICONBAR_BTM (- (- ICONBAR_H ICONBAR_Y) 1)) 11 | (define PIC_OFFSET 10) 12 | (define BAR_COLOR 5) 13 | (define BORDER_COLOR 19) 14 | (define SHADOW_COLOR 0) 15 | (define SELECTOR_BOX_COLOR 12) 16 | 17 | (define SELECTED $0002) 18 | (define INV_ENABLED $0004) 19 | (define HIDE_CURSOR $0010) ;Don't draw cursor on screen 20 | 21 | ;** Inventory window 22 | (define INV_MAX_W 295) 23 | (define INV_MAX_H 170) 24 | (define INV_LEFT 47) 25 | (define INV_TOP 19) 26 | (define INV_RIGHT 273) 27 | (define INV_BOTTOM 188) 28 | (define INV_HORZ_SEG_Y 173) 29 | (define INV_VERT_SEG_X 255) 30 | (define INV_VERT_SEG_Y 34) 31 | (define INV_COLOR 5); WINDOW_BACK) 32 | (define INV_SEL_BOX_COLOR 12); WINDOW_COLOR) 33 | (define INV_TEXT_COLOR 17) 34 | (define INV_ICON_LEFT 48) 35 | (define INV_ICON_TOP 20) 36 | 37 | (define MASK_VIEW vIcons) 38 | (define MASK_LOOP lUserIcons) 39 | (define MASK_CEL cDimMask) 40 | 41 | (enum 42 | NO_DIR 43 | UP 44 | UP_RIGHT 45 | RIGHT 46 | DOWN_RIGHT 47 | DOWN 48 | DOWN_LEFT 49 | LEFT 50 | UP_LEFT 51 | ) 52 | 53 | (define FIVE_KEY $4C00) 54 | (define INS_KEY $5200) 55 | (define DEL_KEY $5300) 56 | -------------------------------------------------------------------------------- /SYSTEM/MOVEFWD.SC: -------------------------------------------------------------------------------- 1 | (script# MOVEFWD) 2 | ;;;; 3 | ;;;; MOVEFWD.SC 4 | ;;;; (c) Sierra On-Line, Inc, 1990 5 | ;;;; 6 | ;;;; Author: J.Mark Hood 7 | ;;;; 8 | ;;;; Moves an Actor forward depending on his heading. 9 | ;;;; Cues caller when completed as usual for movers. 10 | ;;;; Size: 11 | ;;;; 194 bytes for initial module. 12 | ;;;; 13 | ;;;; Classes: 14 | ;;;; MoveFwd 15 | ;;;; 16 | ;;;; Usage: 17 | ;;;; anActor setMotion: MoveFwd 20 whoToCue 18 | ;;;; 19 | ;;;; modified 4/24/91 to be a kind of PolyPath (JMH) 20 | 21 | 22 | (class MoveFwd kindof PolyPath 23 | (methods 24 | init 25 | ) 26 | 27 | (method (init actor dist toCall) 28 | (if argc 29 | (super init: 30 | actor 31 | (+ (actor x?) (SinMult (actor heading?) dist)) 32 | (- (actor y?) (CosMult (actor heading?) dist)) 33 | (if (>= argc 3) toCall) 34 | ) 35 | else 36 | (super init:) 37 | ) 38 | ) 39 | ) 40 | 41 | -------------------------------------------------------------------------------- /SYSTEM/NAMEFIND.SC: -------------------------------------------------------------------------------- 1 | (script# NAMEFIND) 2 | 3 | (procedure 4 | NameFind 5 | ) 6 | (public 7 | NameFind 0 8 | ) 9 | 10 | (procedure (NameFind theNearName theList) 11 | (theList firstTrue: #perform NameComp theNearName) 12 | ) 13 | 14 | (instance NameComp of Code 15 | (properties name "NC") 16 | (method (doit theObj theName) 17 | (== 0 (StrCmp (theObj name) theName)) 18 | ) 19 | ) 20 | -------------------------------------------------------------------------------- /SYSTEM/NAMEFIND.SH: -------------------------------------------------------------------------------- 1 | (extern 2 | NameFind NAMEFIND 0 3 | ) 4 | -------------------------------------------------------------------------------- /SYSTEM/OSC.SC: -------------------------------------------------------------------------------- 1 | (script# OSC) 2 | 3 | (class Oscillate kindof Cycle 4 | ;;; Author J.Mark Hood 03/24/89 5 | ;;; Cycles client' cel forward and then backwards then forward again 6 | ;;; continuously without stopping by default else it cycles howMany 7 | ;;; times and then cues caller 8 | 9 | (properties 10 | name "Osc" 11 | howManyCycles -1 12 | cycleDir 1 13 | ) 14 | 15 | (method (init who howMany whoCares) 16 | (if (>= argc 2) 17 | (= howManyCycles howMany) 18 | (if (>= argc 3) 19 | (= caller whoCares) 20 | ) 21 | ) 22 | (super init:who) 23 | ) 24 | 25 | (method (doit &tmp newCel) 26 | (= newCel (self nextCel:)) 27 | (if 28 | (or 29 | (> newCel (client lastCel:)) 30 | (< newCel 0) 31 | ) 32 | (= cycleDir (- cycleDir)) 33 | (self cycleDone:) 34 | else 35 | (client cel:newCel) 36 | ) 37 | ) 38 | 39 | (method (cycleDone) 40 | (if howManyCycles 41 | (client cel:(self nextCel:)) 42 | (if (> howManyCycles 0) 43 | (-- howManyCycles) 44 | ) 45 | else 46 | (= completed TRUE) 47 | (self motionCue:) 48 | ) 49 | ) 50 | ) 51 | 52 | 53 | 54 | -------------------------------------------------------------------------------- /SYSTEM/PAVOID.SC: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/SYSTEM/PAVOID.SC -------------------------------------------------------------------------------- /SYSTEM/POLYGON.SC: -------------------------------------------------------------------------------- 1 | (script# POLYGON) 2 | 3 | ;; Polygon class, originally for use by the polygon based avoider. 4 | ;; Other uses are possible however, such as a features onMe check. 5 | ;; 7/23/90 J.M.H. Avoider librarian. 6 | 7 | (class Polygon kindof Object 8 | (properties 9 | size 0 10 | points 0 11 | type PNearestAccess 12 | dynamic FALSE 13 | ) 14 | 15 | (method (init thePoints &tmp i arg) 16 | (= size (/ argc 2)) 17 | (= points (Memory MNeedPtr (* 2 argc))) 18 | (StrCpy points @thePoints (- (* argc 2))) 19 | (= dynamic TRUE) 20 | ) 21 | 22 | (method (dispose) 23 | (if (and dynamic points) 24 | (Memory MDisposePtr points) 25 | ) 26 | (super dispose:) 27 | ) 28 | ) 29 | 30 | -------------------------------------------------------------------------------- /SYSTEM/REGPATH.SH: -------------------------------------------------------------------------------- 1 | (define NEXTROOM $7FFF ) ; Marks end of path for a given room. 2 | ; Next value in array is room number. 3 | 4 | (define RP_QUIT 0) ; Cue s caller when finished. 5 | (define RP_STARTOVER $0001) ; Starts region path over when finished. 6 | 7 | (define RP_REVERSE $0002) ; Implemented by: Randy MacNeill 8 | 9 | 10 | -------------------------------------------------------------------------------- /SYSTEM/RELDPATH.SC: -------------------------------------------------------------------------------- 1 | (script# RELDPATH) 2 | 3 | (class RelDPath of DPath 4 | (method (setTarget) 5 | (if (!= (points at value) PATHEND) 6 | (+= x (points at value)) 7 | (+= y (points at (++ value))) 8 | (++ value) 9 | ) 10 | ) 11 | );RelDPath 12 | -------------------------------------------------------------------------------- /SYSTEM/REMAKE.BAT: -------------------------------------------------------------------------------- 1 | @echo off 2 | 3 | if "%1" == "+b" goto backup 4 | if "%2" == "+b" goto backup 5 | if "%1" == "-b" goto nobackup 6 | if "%2" == "-b" goto nobackup 7 | 8 | rem default is 9 | goto nobackup 10 | 11 | :backup 12 | call backsys 13 | 14 | :nobackup 15 | 16 | del *.hep 17 | del *.scr 18 | del *.tex 19 | 20 | del classdef 21 | copy selector.new selector 22 | 23 | if "%1" == "-l" goto Log 24 | if "%1" == "+l" goto Log 25 | if "%1" == "l" goto Log 26 | 27 | rem need files vocabase.vc deriv.txt grammar.txt nlsyms.txt 28 | rem compile vocab.vc using vcomp to test vocabase.vc 29 | rem 30 | call x:sc -O @remake.lst 31 | goto Exit 32 | 33 | :Log 34 | echo. > remake.log 35 | echo Remaking system >> remake.log 36 | echo. >> remake.log 37 | call x:sc -O @remake.lst >> remake.log 38 | 39 | :Exit 40 | -------------------------------------------------------------------------------- /SYSTEM/REVERSE.SC: -------------------------------------------------------------------------------- 1 | (script# REVERSE) 2 | 3 | 4 | (class Reverse kindof Cycle 5 | ;;; Cycles client's cel constantly in reverse, wrapping to the last cel 6 | ;;; in the client's loop when the cel goes below 0. 7 | 8 | (properties 9 | name "Rev" 10 | cycleDir -1 11 | ) 12 | 13 | (method (doit &tmp newCel) 14 | (= newCel (self nextCel:)) 15 | (if (< newCel 0) 16 | (self cycleDone:) 17 | else 18 | (client cel:newCel) 19 | ) 20 | ) 21 | 22 | 23 | (method (cycleDone) 24 | ;; When 'done', reset to last cel and keep going. 25 | (client cel: (client lastCel:)) 26 | ) 27 | ) 28 | 29 | -------------------------------------------------------------------------------- /SYSTEM/RFEATURE.SC: -------------------------------------------------------------------------------- 1 | (script# RFEATURE) 2 | 3 | (class RFeature of Feature 4 | (properties 5 | nsTop 0 ;nowSeen - current rectangle 6 | nsLeft 0 7 | nsBottom 0 8 | nsRight 0 9 | ) 10 | 11 | ); RFeature 12 | 13 | (class RPicView of PicView 14 | (properties 15 | nsTop 0 ;nowSeen - current rectangle 16 | nsLeft 0 ;assumes origin in bottom middle 17 | nsBottom 0 ;i.e. view editor default 18 | nsRight 0 19 | ) 20 | 21 | (method (init &tmp halfWidth) 22 | (= halfWidth (/ (CelWide view loop cel) 2)) 23 | (= nsBottom (- y z)) 24 | (= nsLeft (- x halfWidth)) 25 | (= nsRight (+ x halfWidth)) 26 | (= nsTop (- y (+ z (CelHigh view loop cel)))) 27 | (super init) 28 | ); init 29 | 30 | ); RPicView 31 | 32 | -------------------------------------------------------------------------------- /SYSTEM/SCALER.SC: -------------------------------------------------------------------------------- 1 | ;;;; 2 | ;;;; SCALER.SC 3 | ;;;; 4 | ;;;; (c) Sierra On-Line, Inc, 1990 5 | ;;;; 6 | ;;;; Written by: 7 | ;;;; Brian K. Hughes 8 | ;;;; February 6, 1992 9 | ;;;; 10 | ;;;; Classes: 11 | ;;;; Scaler 12 | 13 | (script# SCALER) 14 | 15 | (class Scaler kindof Code 16 | (properties 17 | client 0 ; who we are attached to 18 | frontY 190 ; y coordinate to stop scaling up 19 | backY 0 ; y coordinate to stop scaling down 20 | frontSize 100 ; % size at frontY 21 | backSize 0 ; % size at backY 22 | slopeNum 0 ; numerator of slope - difference in % 23 | slopeDen 0 ; denominator of slope - difference in y 24 | const 0 ; constant adjustement for result % 25 | 26 | ) 27 | (method (init who fs bs fy by) 28 | (if argc 29 | (= client who) 30 | (= frontSize fs) 31 | (= backSize bs) 32 | (= frontY fy) 33 | (= backY by) 34 | ) 35 | (= slopeNum (- frontSize backSize)) 36 | (if (not (= slopeDen (- frontY backY))) 37 | (Prints { frontY cannot be equal to backY}) 38 | (return FALSE) 39 | ) 40 | (= const (- backSize (/ (* slopeNum backY) slopeDen) )) 41 | (self doit:) 42 | ) 43 | (method (doit &tmp Y scale) 44 | (= Y (client y?)) 45 | (cond 46 | ((< Y backY) 47 | (= scale backSize) 48 | ) 49 | ((> Y frontY) 50 | (= scale frontSize) 51 | ) 52 | (else 53 | (= scale (+ (/ (* slopeNum Y) slopeDen) const)) 54 | ) 55 | ) 56 | (= scale (/ (* scale scaleBase) 100)) 57 | (client 58 | scaleX: scale, 59 | scaleY: scale 60 | ) 61 | ) 62 | ) 63 | 64 | -------------------------------------------------------------------------------- /SYSTEM/SIGHT.SH: -------------------------------------------------------------------------------- 1 | (extern 2 | IsOffScreen SIGHT 0 3 | CantBeSeen SIGHT 1 4 | AngleDiff SIGHT 2 5 | ) 6 | -------------------------------------------------------------------------------- /SYSTEM/SORT.SC: -------------------------------------------------------------------------------- 1 | (script# SORT) 2 | 3 | (procedure 4 | Sort 5 | ) 6 | 7 | (public 8 | Sort 0 9 | ) 10 | 11 | (procedure (Sort theList theLTCode &tmp temp node minValue tempList) 12 | 13 | ;;Transfer sort (yeech!), isnt really bad since our lists are 14 | ;;only about 10 elements long. Conserving heap memory is a higher 15 | ;;priority nowadays... 16 | ;; 17 | ;; --Pablo Ghenis 6/9/89 18 | 19 | (= tempList (List new)) 20 | 21 | (while (= node (FirstNode (theList elements))) 22 | 23 | (for 24 | ( (= minValue (NodeValue node)) ;start with first node value 25 | ) 26 | node 27 | ( (= node (NextNode node)) 28 | ) 29 | 30 | (if (theLTCode doit (= temp (NodeValue node)) minValue &rest) 31 | (= minValue temp) 32 | ) 33 | 34 | );for 35 | 36 | ;transfer by appending to destination, deleting from source 37 | 38 | (transferElement doit: minValue theList tempList) 39 | 40 | );while 41 | 42 | (tempList 43 | eachElementDo: #perform transferElement tempList theList, 44 | dispose: 45 | ) 46 | 47 | );Sort 48 | 49 | 50 | (instance transferElement of Code 51 | 52 | (properties name "TE") 53 | 54 | (method (doit e sourceList destinationList) 55 | (destinationList addToEnd e) 56 | (sourceList delete e) 57 | ) 58 | ) 59 | 60 | 61 | -------------------------------------------------------------------------------- /SYSTEM/SORT.SH: -------------------------------------------------------------------------------- 1 | (extern 2 | Sort SORT 0 3 | ) -------------------------------------------------------------------------------- /SYSTEM/SYSTEM.SH: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/SYSTEM/SYSTEM.SH -------------------------------------------------------------------------------- /SYSTEM/TALKERS.SH: -------------------------------------------------------------------------------- 1 | ; TALKERS.SH -- Produced by SCI Message Editor 3.411 2 | ; This file should only be edited with ME 3 | 4 | (define NARRATOR 99) 5 | (define PRINTMSG 97) 6 | (define SYSMSG 98) 7 | -------------------------------------------------------------------------------- /SYSTEM/TRACK.SC: -------------------------------------------------------------------------------- 1 | (script# TRACK) 2 | 3 | (class Track of Motion 4 | 5 | ;; keep client at a certain x and y offset relative to position of 6 | ;; object who 7 | ;; 8 | ;; client should come AFTER "who" in the cast 9 | ;; 10 | ;; Usage: 11 | ;; (theTracker setMotion: 12 | ;; Track theTrackee xOffset yOffset zOffset theCaller) 13 | ;; 14 | ;; 2/3/89 by Pablo Ghenis 15 | ;; 16 | ;; (c) 1989 Sierra On-line 17 | 18 | (properties 19 | who 0 20 | xOffset 0 21 | yOffset 0 22 | zOffset 0 23 | ) 24 | 25 | (method (init actor w xo yo zo whoCares) 26 | (= client actor) 27 | (= who w) 28 | (if (>= argc 3) (= xOffset xo) 29 | (if (>= argc 4) (= yOffset yo) 30 | (if (>= argc 5) (= zOffset zo) 31 | (if (>= argc 6) (= caller whoCares) 32 | ) 33 | ) 34 | ) 35 | ) 36 | (client 37 | ignoreActors, 38 | illegalBits: 0, 39 | ) 40 | (self doit) 41 | ) 42 | 43 | (method (doit &tmp angle) 44 | (= angle (who heading)) 45 | (client 46 | heading: angle, 47 | x: (+ (who x?) xOffset), 48 | y: (+ (who y?) yOffset), 49 | z: (+ (who z?) zOffset) 50 | ) 51 | (if (client looper?) 52 | ((client looper?) doit: client angle) 53 | else 54 | (DirLoop client angle) 55 | ) 56 | ) 57 | ) 58 | -------------------------------------------------------------------------------- /SYSTEM/TUTORIAL.SC: -------------------------------------------------------------------------------- 1 | ;;;; 2 | ;;;; TUTORIAL.SC 3 | ;;;; 4 | ;;;; (c) Sierra On-Line, Inc, 1992 5 | ;;;; 6 | ;;;; Author: Brian K. Hughes 7 | ;;;; Updated: 8 | ;;;; 9 | ;;;; This class is designed for in-game tutorials 10 | ;;;; 11 | ;;;; Classes: 12 | ;;;; Tutorial 13 | 14 | 15 | (script# TUTORIAL) 16 | 17 | 18 | (class Tutorial kindof Script 19 | (properties 20 | nextItem NULL 21 | nextAction NULL 22 | numTries NULL 23 | ) 24 | (methods 25 | waitFor 26 | report 27 | ) 28 | 29 | (method (waitFor obj act nOrMsg v c s m) 30 | ; 31 | ; Set up the conditions by which we will be cued next, where 32 | ; 'obj' is the object to watch for and 'act' is the action 33 | ; required to trigger the object. If 'act' is NULL, any 34 | ; action will trigger. 35 | 36 | (= nextItem obj) 37 | (= nextAction act) 38 | (cond 39 | ((== argc 3) 40 | (Prints nOrMsg) 41 | ) 42 | ((> argc 3) 43 | (messager say: nOrMsg v c s m) 44 | ) 45 | ) 46 | ) 47 | 48 | (method (report objOrVerb) 49 | ; 50 | ; Report a wrong action (negative reinforcement, bad!) 51 | ; 'objOrVerb' will be the object ID (if wrong item) or verb 52 | ; number (if wrong action) 53 | ) 54 | 55 | (method (cue) 56 | (= numTries 0) 57 | (super cue: &rest) 58 | ) 59 | ) 60 | -------------------------------------------------------------------------------- /SYSTEM/UPDATE.BAT: -------------------------------------------------------------------------------- 1 | x:sc talker invent game qsound sound logger 2 | -------------------------------------------------------------------------------- /SYSTEM/USER.SC: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/SYSTEM/USER.SC -------------------------------------------------------------------------------- /SYSTEM/WANDER.SC: -------------------------------------------------------------------------------- 1 | (script# WANDER) 2 | 3 | (class Wander kindof Motion 4 | ;;; Wander about the screen. This motion never terminates. 5 | 6 | (properties 7 | distance 30 ;the max distance to move on any one leg of the wander 8 | ) 9 | 10 | (method (init theObj dist) 11 | (if (>= argc 1) (= client theObj) 12 | (if (>= argc 2) (= distance dist) 13 | ) 14 | ) 15 | (self setTarget) 16 | (super init: client) 17 | ; (super doit:) 18 | ) 19 | 20 | 21 | (method (setTarget &tmp diam) 22 | 23 | ;Pick a random position to move to, constrained by 'distance'. 24 | (= x (+ (client x?) (- distance (Random 0 (= diam (* distance 2)))))) 25 | (= y (+ (client y?) (- distance (Random 0 diam)))) 26 | ) 27 | 28 | (method (onTarget) 29 | (return FALSE) ;we're never done wandering 30 | ) 31 | 32 | (method (doit) 33 | ;Take the next step. 34 | (super doit:) 35 | 36 | ;;If the motion is complete or the client is blocked, 37 | ;;we're finished with this leg. 38 | (if (client isStopped:) 39 | (self moveDone:) 40 | ) 41 | ) 42 | 43 | (method (moveDone) 44 | ;;; When done with the current leg of wandering, re-init: the motion 45 | ;;; to continue wandering. 46 | (self init:) 47 | ) 48 | );Wander 49 | -------------------------------------------------------------------------------- /SYSTEM/WRITEFTR.SC: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/SYSTEM/WRITEFTR.SC -------------------------------------------------------------------------------- /TOOLS/!DIR.DOC: -------------------------------------------------------------------------------- 1 | VOL1:\PUBLIC\TOOLS (X:) 2 | ----------------------- 3 | 4 | The files in this directory are used during the development of a game. Most 5 | are built by Sierra. Since they are development tools, they may change in 6 | form and/or function as game resources change. 7 | 8 | Therefore, when a game is shipped (or its system is frozen), this entire 9 | directory should be copied into a PROG\TOOLS directory in the game's 10 | directory structure. 11 | 12 | The files in this directory are periodically maintained and updated, and the 13 | housekeeping of this directory is the responsibility of Game Services. 14 | Obsolete files are routinely archived and removed. 15 | 16 | -------------------------------------------------------------------------------- /TOOLS/10.PAT: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/10.PAT -------------------------------------------------------------------------------- /TOOLS/65535.MAP: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/65535.MAP -------------------------------------------------------------------------------- /TOOLS/999.PAL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/999.PAL -------------------------------------------------------------------------------- /TOOLS/ALTMVOL.EXE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/ALTMVOL.EXE -------------------------------------------------------------------------------- /TOOLS/ALTSC.BAK: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/ALTSC.BAK -------------------------------------------------------------------------------- /TOOLS/ALTSC.EXE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/ALTSC.EXE -------------------------------------------------------------------------------- /TOOLS/AUDADD.EXE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/AUDADD.EXE -------------------------------------------------------------------------------- /TOOLS/AUDAIFF.EXE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/AUDAIFF.EXE -------------------------------------------------------------------------------- /TOOLS/AUDBITS.EXE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/AUDBITS.EXE -------------------------------------------------------------------------------- /TOOLS/AUDCHANS.EXE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/AUDCHANS.EXE -------------------------------------------------------------------------------- /TOOLS/AUDCHECK.EXE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/AUDCHECK.EXE -------------------------------------------------------------------------------- /TOOLS/AUDCOMP.EXE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/AUDCOMP.EXE -------------------------------------------------------------------------------- /TOOLS/AUDDCOMP.EXE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/AUDDCOMP.EXE -------------------------------------------------------------------------------- /TOOLS/AUDDISK.EXE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/AUDDISK.EXE -------------------------------------------------------------------------------- /TOOLS/AUDMAP.EXE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/AUDMAP.EXE -------------------------------------------------------------------------------- /TOOLS/AUDMEM.EXE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/AUDMEM.EXE -------------------------------------------------------------------------------- /TOOLS/AUDPCM.EXE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/AUDPCM.EXE -------------------------------------------------------------------------------- /TOOLS/AUDPLAY.EXE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/AUDPLAY.EXE -------------------------------------------------------------------------------- /TOOLS/AUDRATE.EXE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/AUDRATE.EXE -------------------------------------------------------------------------------- /TOOLS/AUDSCRAM.EXE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/AUDSCRAM.EXE -------------------------------------------------------------------------------- /TOOLS/AUDSOL.EXE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/AUDSOL.EXE -------------------------------------------------------------------------------- /TOOLS/AUDSTRIP.EXE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/AUDSTRIP.EXE -------------------------------------------------------------------------------- /TOOLS/AUDSYNC.EXE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/AUDSYNC.EXE -------------------------------------------------------------------------------- /TOOLS/AUDUCOMP.EXE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/AUDUCOMP.EXE -------------------------------------------------------------------------------- /TOOLS/AUDUSCRM.EXE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/AUDUSCRM.EXE -------------------------------------------------------------------------------- /TOOLS/AUDWAVE.EXE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/AUDWAVE.EXE -------------------------------------------------------------------------------- /TOOLS/BASE36.EXE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/BASE36.EXE -------------------------------------------------------------------------------- /TOOLS/BETAW.EXE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/BETAW.EXE -------------------------------------------------------------------------------- /TOOLS/BUILDADL.EXE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/BUILDADL.EXE -------------------------------------------------------------------------------- /TOOLS/BUILDGEN.EXE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/BUILDGEN.EXE -------------------------------------------------------------------------------- /TOOLS/BUILDTDY.BAK: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/BUILDTDY.BAK -------------------------------------------------------------------------------- /TOOLS/BUILDTDY.EXE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/BUILDTDY.EXE -------------------------------------------------------------------------------- /TOOLS/CE.BAK: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/CE.BAK -------------------------------------------------------------------------------- /TOOLS/CE.EXE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/CE.EXE -------------------------------------------------------------------------------- /TOOLS/CEL2LBM.EXE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/CEL2LBM.EXE -------------------------------------------------------------------------------- /TOOLS/CEL2NEW.EXE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/CEL2NEW.EXE -------------------------------------------------------------------------------- /TOOLS/CEL2PCX.EXE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/CEL2PCX.EXE -------------------------------------------------------------------------------- /TOOLS/DBGHELP.000: -------------------------------------------------------------------------------- 1 | q - quit 2 | ` - toggle debug 3 | C - clear all breakpoints and exit debug 4 | D - exit debug 5 | 6 | b - set breakpoint - object,method 7 | B - set breakpoint - object,method (sticky) 8 | B - clear sticky obj,method brkpoint 9 | n - set breakpoint - script,offset 10 | N - set breakpoint - script,offset (sticky) 11 | N - clear sticky scr,offset brkpoint 12 | k - set breakpoint - kernel call # 13 | K - set breakpoint - kernel call (sticky) 14 | K - clear sticky kernel brkpoint 15 | t - set breakpoint - changed heap 16 | T - set breakpoint - changed hunk 17 | T - clear heap and hunk brkpoints 18 | R - break at the next return 19 | 20 | Enter - single step 21 | Tab - step across send 22 | -------------------------------------------------------------------------------- /TOOLS/DBGHELP.001: -------------------------------------------------------------------------------- 1 | a - inspect ID in accumulator 2 | c - inspect current object 3 | i - inspect object or memory 4 | d - inspect hunk address 5 | 6 | f - show free heap 7 | s - show sends 8 | r - show resource types 9 | o - show objects in heap 10 | O - show objects w/ addresses 11 | S - show stack usage 12 | 13 | g - edit global var 14 | l - edit local var 15 | e - edit heap address 16 | 17 | v - show version info 18 | w - move debug window 19 | -------------------------------------------------------------------------------- /TOOLS/DBGHELP.002: -------------------------------------------------------------------------------- 1 | i - inspect selector 2 | e - edit heap address or selector 3 | t - trace heap address or selector 4 | T - trace hunk address 5 | 6 | c - display collection 7 | 8 | left, right arrow 9 | - move address by 2 bytes 10 | up, down arrow 11 | - move address by 16 bytes 12 | pageup, pagedown 13 | - move address by 64 bytes 14 | 15 | [ - move to next in doubly- 16 | linked list 17 | ] - move to previous in 18 | doubly-linked list 19 | -------------------------------------------------------------------------------- /TOOLS/DIMWIT.EXE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/DIMWIT.EXE -------------------------------------------------------------------------------- /TOOLS/DIMWITSX.EXE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/DIMWITSX.EXE -------------------------------------------------------------------------------- /TOOLS/DOS4GW.EXE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/DOS4GW.EXE -------------------------------------------------------------------------------- /TOOLS/DRIVERS/!DIR.DOC: -------------------------------------------------------------------------------- 1 | VOL1:\PUBLIC\TOOLS\DRIVERS (X:DRIVERS) 2 | -------------------------------------- 3 | 4 | The drivers in this directory are the currently supported shipping drivers. 5 | Unless otherwise determined by management, each game should ship will all the 6 | drivers in this directory. 7 | -------------------------------------------------------------------------------- /TOOLS/DRIVERS/ADL.DRV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/DRIVERS/ADL.DRV -------------------------------------------------------------------------------- /TOOLS/DRIVERS/EGA640.DRV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/DRIVERS/EGA640.DRV -------------------------------------------------------------------------------- /TOOLS/DRIVERS/GENMIDI.DRV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/DRIVERS/GENMIDI.DRV -------------------------------------------------------------------------------- /TOOLS/DRIVERS/IBMKBD.DRV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/DRIVERS/IBMKBD.DRV -------------------------------------------------------------------------------- /TOOLS/DRIVERS/MT32.DRV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/DRIVERS/MT32.DRV -------------------------------------------------------------------------------- /TOOLS/DRIVERS/NON_SHIP/!DIR.DOC: -------------------------------------------------------------------------------- 1 | VOL1:\PUBLIC\TOOLS\DRIVERS\NON_SHIP (X:DRIVERS\NON_SHIP) 2 | -------------------------------------------------------- 3 | 4 | The drivers in this directory are either: 5 | 6 | 1) obsolete, but we want to keep copies to support older games 7 | 2) not popular enough to justify shipping with every game, but 8 | available for the BBS's 9 | 10 | None of these drivers should be shipped with a game. 11 | -------------------------------------------------------------------------------- /TOOLS/DRIVERS/NON_SHIP/9801ORCH.DRV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/DRIVERS/NON_SHIP/9801ORCH.DRV -------------------------------------------------------------------------------- /TOOLS/DRIVERS/NON_SHIP/ADL.DRV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/DRIVERS/NON_SHIP/ADL.DRV -------------------------------------------------------------------------------- /TOOLS/DRIVERS/NON_SHIP/AUDCDROM.DRV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/DRIVERS/NON_SHIP/AUDCDROM.DRV -------------------------------------------------------------------------------- /TOOLS/DRIVERS/NON_SHIP/AUDTANDY.DRV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/DRIVERS/NON_SHIP/AUDTANDY.DRV -------------------------------------------------------------------------------- /TOOLS/DRIVERS/NON_SHIP/CMS.DRV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/DRIVERS/NON_SHIP/CMS.DRV -------------------------------------------------------------------------------- /TOOLS/DRIVERS/NON_SHIP/FB01.DRV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/DRIVERS/NON_SHIP/FB01.DRV -------------------------------------------------------------------------------- /TOOLS/DRIVERS/NON_SHIP/GENMIDI.DRV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/DRIVERS/NON_SHIP/GENMIDI.DRV -------------------------------------------------------------------------------- /TOOLS/DRIVERS/NON_SHIP/GENMIDMV.DRV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/DRIVERS/NON_SHIP/GENMIDMV.DRV -------------------------------------------------------------------------------- /TOOLS/DRIVERS/NON_SHIP/IMF.DRV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/DRIVERS/NON_SHIP/IMF.DRV -------------------------------------------------------------------------------- /TOOLS/DRIVERS/NON_SHIP/JR3V.DRV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/DRIVERS/NON_SHIP/JR3V.DRV -------------------------------------------------------------------------------- /TOOLS/DRIVERS/NON_SHIP/MT32.DRV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/DRIVERS/NON_SHIP/MT32.DRV -------------------------------------------------------------------------------- /TOOLS/DRIVERS/NON_SHIP/MT32MV.DRV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/DRIVERS/NON_SHIP/MT32MV.DRV -------------------------------------------------------------------------------- /TOOLS/DRIVERS/NON_SHIP/NOLOAD.DRV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/DRIVERS/NON_SHIP/NOLOAD.DRV -------------------------------------------------------------------------------- /TOOLS/DRIVERS/NON_SHIP/NOLOADMV.DRV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/DRIVERS/NON_SHIP/NOLOADMV.DRV -------------------------------------------------------------------------------- /TOOLS/DRIVERS/NON_SHIP/SNDBLAST.DRV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/DRIVERS/NON_SHIP/SNDBLAST.DRV -------------------------------------------------------------------------------- /TOOLS/DRIVERS/NON_SHIP/TANDY3V.DRV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/DRIVERS/NON_SHIP/TANDY3V.DRV -------------------------------------------------------------------------------- /TOOLS/DRIVERS/NON_SHIP/TANDY3VD.DRV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/DRIVERS/NON_SHIP/TANDY3VD.DRV -------------------------------------------------------------------------------- /TOOLS/DRIVERS/SAV/!DIR.DOC: -------------------------------------------------------------------------------- 1 | VOL1:\PUBLIC\TOOLS\DRIVERS (X:DRIVERS) 2 | -------------------------------------- 3 | 4 | The drivers in this directory are the currently supported shipping drivers. 5 | Unless otherwise determined by management, each game should ship will all the 6 | drivers in this directory. 7 | -------------------------------------------------------------------------------- /TOOLS/DRIVERS/SAV/ADL.DRV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/DRIVERS/SAV/ADL.DRV -------------------------------------------------------------------------------- /TOOLS/DRIVERS/SAV/AUDBLAST.DRV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/DRIVERS/SAV/AUDBLAST.DRV -------------------------------------------------------------------------------- /TOOLS/DRIVERS/SAV/AUDDISNY.DRV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/DRIVERS/SAV/AUDDISNY.DRV -------------------------------------------------------------------------------- /TOOLS/DRIVERS/SAV/AUDMSSYS.DRV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/DRIVERS/SAV/AUDMSSYS.DRV -------------------------------------------------------------------------------- /TOOLS/DRIVERS/SAV/AUDNONE.DRV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/DRIVERS/SAV/AUDNONE.DRV -------------------------------------------------------------------------------- /TOOLS/DRIVERS/SAV/AUDPRO.DRV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/DRIVERS/SAV/AUDPRO.DRV -------------------------------------------------------------------------------- /TOOLS/DRIVERS/SAV/AUDPRO16.DRV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/DRIVERS/SAV/AUDPRO16.DRV -------------------------------------------------------------------------------- /TOOLS/DRIVERS/SAV/AUDPS1.DRV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/DRIVERS/SAV/AUDPS1.DRV -------------------------------------------------------------------------------- /TOOLS/DRIVERS/SAV/AUDTHUND.DRV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/DRIVERS/SAV/AUDTHUND.DRV -------------------------------------------------------------------------------- /TOOLS/DRIVERS/SAV/EGA640.DRV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/DRIVERS/SAV/EGA640.DRV -------------------------------------------------------------------------------- /TOOLS/DRIVERS/SAV/GENMIDI.DRV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/DRIVERS/SAV/GENMIDI.DRV -------------------------------------------------------------------------------- /TOOLS/DRIVERS/SAV/IBMKBD.DRV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/DRIVERS/SAV/IBMKBD.DRV -------------------------------------------------------------------------------- /TOOLS/DRIVERS/SAV/IBMPS1.DRV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/DRIVERS/SAV/IBMPS1.DRV -------------------------------------------------------------------------------- /TOOLS/DRIVERS/SAV/MICROSOF.DRV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/DRIVERS/SAV/MICROSOF.DRV -------------------------------------------------------------------------------- /TOOLS/DRIVERS/SAV/MT32.DRV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/DRIVERS/SAV/MT32.DRV -------------------------------------------------------------------------------- /TOOLS/DRIVERS/SAV/PROAUDIO.DRV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/DRIVERS/SAV/PROAUDIO.DRV -------------------------------------------------------------------------------- /TOOLS/DRIVERS/SAV/SBPRO.DRV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/DRIVERS/SAV/SBPRO.DRV -------------------------------------------------------------------------------- /TOOLS/DRIVERS/SAV/STD.DRV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/DRIVERS/SAV/STD.DRV -------------------------------------------------------------------------------- /TOOLS/DRIVERS/SAV/VGA320.DRV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/DRIVERS/SAV/VGA320.DRV -------------------------------------------------------------------------------- /TOOLS/DRIVERS/SAV/VGA320BW.DRV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/DRIVERS/SAV/VGA320BW.DRV -------------------------------------------------------------------------------- /TOOLS/DRIVERS/SBPRO.DRV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/DRIVERS/SBPRO.DRV -------------------------------------------------------------------------------- /TOOLS/DRIVERS/SOLONLY/!DIR.DOC: -------------------------------------------------------------------------------- 1 | VOL1:\PUBLIC\TOOLS\DRIVERS\SOLONLY (X:DRIVERS\SOLONLY) 2 | ------------------------------------------------------ 3 | 4 | The drivers in this directory are for use by game developers only. Those 5 | suffixed with an 'x' indicate that the driver will accept patches. 6 | 7 | None of these drivers should be shipped with a game. 8 | -------------------------------------------------------------------------------- /TOOLS/DRIVERS/SOLONLY/AUDCDROM.DRV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/DRIVERS/SOLONLY/AUDCDROM.DRV -------------------------------------------------------------------------------- /TOOLS/DRIVERS/SOLONLY/GENMIDIX.DRV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/DRIVERS/SOLONLY/GENMIDIX.DRV -------------------------------------------------------------------------------- /TOOLS/DRIVERS/SOLONLY/MIDNONE.DRV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/DRIVERS/SOLONLY/MIDNONE.DRV -------------------------------------------------------------------------------- /TOOLS/DRIVERS/SOLONLY/MT32X.DRV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/DRIVERS/SOLONLY/MT32X.DRV -------------------------------------------------------------------------------- /TOOLS/DRIVERS/SOLONLY/NOLOAD.DRV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/DRIVERS/SOLONLY/NOLOAD.DRV -------------------------------------------------------------------------------- /TOOLS/DRIVERS/SOLONLY/NOLOADX.DRV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/DRIVERS/SOLONLY/NOLOADX.DRV -------------------------------------------------------------------------------- /TOOLS/DRIVERS/SOLONLY/SBPRO.DRV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/DRIVERS/SOLONLY/SBPRO.DRV -------------------------------------------------------------------------------- /TOOLS/DRIVERS/STD.DRV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/DRIVERS/STD.DRV -------------------------------------------------------------------------------- /TOOLS/DRIVERS/VGA320.DRV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/DRIVERS/VGA320.DRV -------------------------------------------------------------------------------- /TOOLS/DRIVERS/VGA320BW.DRV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/DRIVERS/VGA320BW.DRV -------------------------------------------------------------------------------- /TOOLS/FE.DOC: -------------------------------------------------------------------------------- 1 | FE Font Editor Changes History 2 | 3 | ------------------------------------------------------------------------------ 4 | Ver 2.211 5 | 6 | Mark Wilden 8 January 1992 7 | 8 | Fixed bug that trashed character or locked up if you click quickly and 9 | frequently in non-edit area of edit window. 10 | 11 | ------------------------------------------------------------------------------ 12 | Ver 2.210 13 | 14 | Mark Wilden 28 December 1992 15 | 16 | After increasing number of characters in font, the added characters were 17 | garbagy, instead of being solid black blocks. 18 | 19 | Added merging capability: if a file to be opened has fewer characters than 20 | the current file, it can optionally have the extra characters from the current 21 | file added to it. 22 | 23 | ------------------------------------------------------------------------------ 24 |  -------------------------------------------------------------------------------- /TOOLS/FE.EXE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/FE.EXE -------------------------------------------------------------------------------- /TOOLS/FE.HLP: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/FE.HLP -------------------------------------------------------------------------------- /TOOLS/INSTALL/BOOTDISK.EXE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/INSTALL/BOOTDISK.EXE -------------------------------------------------------------------------------- /TOOLS/INSTALL/INSTALL.EXE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/INSTALL/INSTALL.EXE -------------------------------------------------------------------------------- /TOOLS/INSTALL/INSTALL.SCR: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/INSTALL/INSTALL.SCR -------------------------------------------------------------------------------- /TOOLS/INTERP_S.TXT: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/INTERP_S.TXT -------------------------------------------------------------------------------- /TOOLS/LBM2CEL.EXE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/LBM2CEL.EXE -------------------------------------------------------------------------------- /TOOLS/LBM2CEL2.EXE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/LBM2CEL2.EXE -------------------------------------------------------------------------------- /TOOLS/LBM2PAL.EXE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/LBM2PAL.EXE -------------------------------------------------------------------------------- /TOOLS/LBM2VIEW.EXE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/LBM2VIEW.EXE -------------------------------------------------------------------------------- /TOOLS/MAKECEL.EXE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/MAKECEL.EXE -------------------------------------------------------------------------------- /TOOLS/MAKEMAPS.EXE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/MAKEMAPS.EXE -------------------------------------------------------------------------------- /TOOLS/MAKEV.EXE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/MAKEV.EXE -------------------------------------------------------------------------------- /TOOLS/MAKEVOLS.EXE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/MAKEVOLS.EXE -------------------------------------------------------------------------------- /TOOLS/MAKEVSEQ.EXE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/MAKEVSEQ.EXE -------------------------------------------------------------------------------- /TOOLS/MC.EXE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/MC.EXE -------------------------------------------------------------------------------- /TOOLS/ME.BAK: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/ME.BAK -------------------------------------------------------------------------------- /TOOLS/ME.EXE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/ME.EXE -------------------------------------------------------------------------------- /TOOLS/ME.HLP: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/ME.HLP -------------------------------------------------------------------------------- /TOOLS/ME8088.BAK: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/ME8088.BAK -------------------------------------------------------------------------------- /TOOLS/ME8088.EXE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/ME8088.EXE -------------------------------------------------------------------------------- /TOOLS/MEAUDFIL.EXE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/MEAUDFIL.EXE -------------------------------------------------------------------------------- /TOOLS/MECNV3_4.EXE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/MECNV3_4.EXE -------------------------------------------------------------------------------- /TOOLS/MEDUMP.BAK: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/MEDUMP.BAK -------------------------------------------------------------------------------- /TOOLS/MEDUMP.EXE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/MEDUMP.EXE -------------------------------------------------------------------------------- /TOOLS/MESCRIPT.EXE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/MESCRIPT.EXE -------------------------------------------------------------------------------- /TOOLS/MEXLTDIF.EXE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/MEXLTDIF.EXE -------------------------------------------------------------------------------- /TOOLS/MOVIE.EXE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/MOVIE.EXE -------------------------------------------------------------------------------- /TOOLS/MTEST.EXE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/MTEST.EXE -------------------------------------------------------------------------------- /TOOLS/NIGHTPAL.EXE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/NIGHTPAL.EXE -------------------------------------------------------------------------------- /TOOLS/PAL.EXE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/PAL.EXE -------------------------------------------------------------------------------- /TOOLS/PAL2NEW.EXE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/PAL2NEW.EXE -------------------------------------------------------------------------------- /TOOLS/PAL2OLD.EXE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/PAL2OLD.EXE -------------------------------------------------------------------------------- /TOOLS/PALPIC.EXE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/PALPIC.EXE -------------------------------------------------------------------------------- /TOOLS/PALVIEW.EXE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/PALVIEW.EXE -------------------------------------------------------------------------------- /TOOLS/PCX2CEL.EXE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/PCX2CEL.EXE -------------------------------------------------------------------------------- /TOOLS/PCX2VIEW.EXE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/PCX2VIEW.EXE -------------------------------------------------------------------------------- /TOOLS/PE.EXE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/PE.EXE -------------------------------------------------------------------------------- /TOOLS/PE.PIF: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/PE.PIF -------------------------------------------------------------------------------- /TOOLS/PE256.BAK: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/PE256.BAK -------------------------------------------------------------------------------- /TOOLS/PE256.EXE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/PE256.EXE -------------------------------------------------------------------------------- /TOOLS/PIC2NEW.EXE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/PIC2NEW.EXE -------------------------------------------------------------------------------- /TOOLS/PIC2PCX.EXE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/PIC2PCX.EXE -------------------------------------------------------------------------------- /TOOLS/PICTEST.EXE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/PICTEST.EXE -------------------------------------------------------------------------------- /TOOLS/PROGLIB.DLL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/PROGLIB.DLL -------------------------------------------------------------------------------- /TOOLS/READPAL.EXE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/READPAL.EXE -------------------------------------------------------------------------------- /TOOLS/REDOPIC.EXE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/REDOPIC.EXE -------------------------------------------------------------------------------- /TOOLS/RESBUILD.EXE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/RESBUILD.EXE -------------------------------------------------------------------------------- /TOOLS/RESBUST.EXE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/RESBUST.EXE -------------------------------------------------------------------------------- /TOOLS/RESDIR.EXE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/RESDIR.EXE -------------------------------------------------------------------------------- /TOOLS/RESMIX.EXE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/RESMIX.EXE -------------------------------------------------------------------------------- /TOOLS/SC.BAK: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/SC.BAK -------------------------------------------------------------------------------- /TOOLS/SC.EXE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/SC.EXE -------------------------------------------------------------------------------- /TOOLS/SCI.BAK: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/SCI.BAK -------------------------------------------------------------------------------- /TOOLS/SCI.EXE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/SCI.EXE -------------------------------------------------------------------------------- /TOOLS/SCIDLL.DLL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/SCIDLL.DLL -------------------------------------------------------------------------------- /TOOLS/SCITESTR.EXE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/SCITESTR.EXE -------------------------------------------------------------------------------- /TOOLS/SCIW.EXE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/SCIW.EXE -------------------------------------------------------------------------------- /TOOLS/SE.EXE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/SE.EXE -------------------------------------------------------------------------------- /TOOLS/SIERRA.BAK: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/SIERRA.BAK -------------------------------------------------------------------------------- /TOOLS/SIERRA.EXE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/SIERRA.EXE -------------------------------------------------------------------------------- /TOOLS/SIERRAM.BAK: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/SIERRAM.BAK -------------------------------------------------------------------------------- /TOOLS/SIERRAM.EXE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/SIERRAM.EXE -------------------------------------------------------------------------------- /TOOLS/SIERRAW.EXE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/SIERRAW.EXE -------------------------------------------------------------------------------- /TOOLS/SMF.EXE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/SMF.EXE -------------------------------------------------------------------------------- /TOOLS/SND_EDIT.EXE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/SND_EDIT.EXE -------------------------------------------------------------------------------- /TOOLS/STAMPVER.EXE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/STAMPVER.EXE -------------------------------------------------------------------------------- /TOOLS/STAMPVER/STAMPVOL.EXE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/STAMPVER/STAMPVOL.EXE -------------------------------------------------------------------------------- /TOOLS/TEST.BAT: -------------------------------------------------------------------------------- 1 | @echo off 2 | map t:=apps\vol1:\games\sci\test > nul 3 | testit %1 4 | -------------------------------------------------------------------------------- /TOOLS/TESTER.EXE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/TESTER.EXE -------------------------------------------------------------------------------- /TOOLS/TESTIT.EXE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/TESTIT.EXE -------------------------------------------------------------------------------- /TOOLS/VE.BAK: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/VE.BAK -------------------------------------------------------------------------------- /TOOLS/VE.DOC: -------------------------------------------------------------------------------- 1 | 4/30/92 a new version of the View Editor (2.11) is now on the net. 2 | This version fixes a bug caused when users adjust the size of a cel 3 | to 0 or pull the lower right corner higher than the upper left 4 | corner. In addition it fixes a problem with when importing a cel 5 | from a picture. That process would change color 16 (10 hex) to skip 6 | color. If there are any problems created by this change, please let 7 | me (Ken Koch) know. 8 | 9 | 10 |  -------------------------------------------------------------------------------- /TOOLS/VE.EXE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/VE.EXE -------------------------------------------------------------------------------- /TOOLS/VE16.EXE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/VE16.EXE -------------------------------------------------------------------------------- /TOOLS/VE256.BAK: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/VE256.BAK -------------------------------------------------------------------------------- /TOOLS/VE256.EXE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/VE256.EXE -------------------------------------------------------------------------------- /TOOLS/VE32.EXE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/VE32.EXE -------------------------------------------------------------------------------- /TOOLS/VIEW2LBM.EXE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/VIEW2LBM.EXE -------------------------------------------------------------------------------- /TOOLS/VIEW2NEW.EXE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/VIEW2NEW.EXE -------------------------------------------------------------------------------- /TOOLS/VIEW2OLD.EXE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/VIEW2OLD.EXE -------------------------------------------------------------------------------- /TOOLS/VIEW2PCX.EXE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/VIEW2PCX.EXE -------------------------------------------------------------------------------- /TOOLS/VIEWMARK.EXE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/VIEWMARK.EXE -------------------------------------------------------------------------------- /TOOLS/VOLCHECK.EXE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/VOLCHECK.EXE -------------------------------------------------------------------------------- /TOOLS/WE.EXE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/WE.EXE -------------------------------------------------------------------------------- /TOOLS/XE.BAK: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/XE.BAK -------------------------------------------------------------------------------- /TOOLS/XE.EXE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/XE.EXE -------------------------------------------------------------------------------- /TOOLS/XEBATCH.EXE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/XEBATCH.EXE -------------------------------------------------------------------------------- /TOOLS/XE_CELS.16: -------------------------------------------------------------------------------- 1 | ;cel number 2 | ; phoneme code(s) 3 | ; example 4 | 5 | 7 IY bEEt 6 | 5 EH bEt 7 | 6 AA hOt 8 | 6 AO tAlk 9 | 3 ER bIRd 10 | 6 AX About 11 | 7 IH bIt 12 | 5 AE bAt 13 | 6 AH Under 14 | 3 UH lOOk 15 | 8 OH bOrder 16 | 7 IX solId 17 | 5 EY,IY mAde 18 | 8 OY,IY bOIl 19 | 8 OW,W lOw 20 | 6 AY,IY hIde 21 | 6 AW,W pOWer 22 | 5 UW,W crEW 23 | 3 R Red 24 | 4 W aWay 25 | 2 M Men 26 | 7 NX siNG 27 | 9 S Sail 28 | 1 F Fed 29 | 9 Z haS 30 | 1 V Very 31 | 12 CH CHeck 32 | 5 /H Hole 33 | 2 B But 34 | 10 D Dog 35 | 14 G Guest 36 | 13 L yeLLow 37 | 10 Y Yellow 38 | 10 N meN 39 | 12 SH ruSH 40 | 11 TH THin 41 | 12 ZH pleaSure 42 | 11 DH THen 43 | 12 J JuDGe 44 | 14 /C loCH 45 | 2 P Put 46 | 10 T Toy 47 | 14 K Camp 48 | 10 DX piTy 49 | 14 Q kitt_en 50 | 3 RX cAR 51 | 5 QX 52 | 6 UL 53 | 6 UM 54 | 6 UN 55 | 13 LX caLL 56 | 7 IL 57 | 7 IM 58 | 7 IN 59 | 0 60 | -------------------------------------------------------------------------------- /TOOLS/XE_CELS.8: -------------------------------------------------------------------------------- 1 | ;cel number 2 | ; phoneme code(s) 3 | ; example 4 | 5 | 7 IY bEEt 6 | 5 EH bEt 7 | 6 AA hOt 8 | 6 AO tAlk 9 | 3 ER bIRd 10 | 6 AX About 11 | 7 IH bIt 12 | 5 AE bAt 13 | 6 AH Under 14 | 3 UH lOOk 15 | 4 OH bOrder 16 | 7 IX solId 17 | 5 EY,IY mAde 18 | 4 OY,IY bOIl 19 | 3 OW,W lOw 20 | 6 AY,IY hIde 21 | 6 AW,W pOWer 22 | 5 UW,W crEW 23 | 3 R Red 24 | 4 W aWay 25 | 2 M Men 26 | 7 NX siNG 27 | 7 S Sail 28 | 1 F Fed 29 | 7 Z haS 30 | 1 V Very 31 | 7 CH CHeck 32 | 5 /H Hole 33 | 2 B But 34 | 7 D Dog 35 | 5 G Guest 36 | 3 L yeLLow 37 | 3 Y Yellow 38 | 7 N meN 39 | 7 SH ruSH 40 | 3 TH THin 41 | 7 ZH pleaSure 42 | 3 DH THen 43 | 7 J JuDGe 44 | 7 /C loCH 45 | 2 P Put 46 | 7 T Toy 47 | 7 K Camp 48 | 5 DX piTy 49 | 5 Q kitt_en 50 | 3 RX cAR 51 | 7 QX 52 | 6 UL 53 | 6 UM 54 | 6 UN 55 | 3 LX caLL 56 | 7 IL 57 | 7 IM 58 | 7 IN 59 | 0 60 | -------------------------------------------------------------------------------- /TOOLS/XE_LIPS.V16: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/XE_LIPS.V16 -------------------------------------------------------------------------------- /TOOLS/XE_RAVE.EXE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/XE_RAVE.EXE -------------------------------------------------------------------------------- /TOOLS/XE_RULES.AME: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmerMor/SCI16/c2de4b0185ec9ef499e5401245b6b69f06a3c03f/TOOLS/XE_RULES.AME --------------------------------------------------------------------------------