コード例 #1
0
ファイル: ZMachine2.cs プロジェクト: Chrislee187/ZMachineLib
 public ZMachine2(IUserIo io, IFileIo fileIo,
                  ILogger logger = null)
 {
     _logger = logger;
     _fileIo = fileIo;
     _io     = io;
 }
コード例 #2
0
 protected BasePrintingOperationsBase(ushort code,
                                      IZMemory memory,
                                      IUserIo io)
     : base(code, memory)
 {
     Io = io;
 }
コード例 #3
0
ファイル: PrintRet.cs プロジェクト: Chrislee187/ZMachineLib
 public PrintRet(IZMemory memory,
                 IUserIo io,
                 RTrue rTrue)
     : base((ushort)OpCodes.PrintRet, memory, io)
 {
     _rTrue = rTrue;
 }
コード例 #4
0
 public Print(IZMemory memory,
              IUserIo io)
     : base((ushort)OpCodes.Print, memory, io)
 {
 }
コード例 #5
0
 public EraseWindow(IZMemory memory, IUserIo io)
     : base((ushort)OpCodes.EraseWindow, memory)
 {
     _io = io;
 }
コード例 #6
0
 public Read(IZMemory memory, IUserIo io)
     : base((ushort)OpCodes.Read, memory)
 {
     _io = io;
 }
コード例 #7
0
 public Newline(IZMemory memory, IUserIo io)
     : base((ushort)OpCodes.NewLine, memory)
 {
     _io = io;
 }
コード例 #8
0
 public ZOperations(IUserIo userIo, IFileIo fileIo, IZMemory zMemory)
 {
     _zMemory            = zMemory;
     _operations         = new Operations(userIo, fileIo, _zMemory);
     _extendedOperations = new KindExtOperations(_operations, _zMemory);
 }
コード例 #9
0
 public SplitWindow(IZMemory memory, IUserIo io)
     : base((ushort)OpCodes.SplitWindow, memory)
 {
     _io = io;
 }
コード例 #10
0
 public SetTextStyle(IZMemory memory, IUserIo io)
     : base((ushort)OpCodes.SetTextStyle, memory)
 {
     _io = io;
 }
コード例 #11
0
 public Quit(IZMemory memory, IUserIo io)
     : base((ushort)OpCodes.Quit, memory)
 {
     _io = io;
 }
コード例 #12
0
ファイル: Operations.cs プロジェクト: Chrislee187/ZMachineLib
        public Operations(IUserIo io, IFileIo fileIo, IZMemory memory)
        {
            // OP2
            _operations.Add(OpCodes.Je, new Je(memory));
            _operations.Add(OpCodes.Jl, new Jl(memory));
            _operations.Add(OpCodes.Jg, new Jg(memory));
            _operations.Add(OpCodes.DecCheck, new DecCheck(memory));
            _operations.Add(OpCodes.IncCheck, new IncCheck(memory));
            _operations.Add(OpCodes.Jin, new Jin(memory));
            _operations.Add(OpCodes.Test, new Test(memory));
            _operations.Add(OpCodes.Or, new Or(memory));
            _operations.Add(OpCodes.And, new And(memory));
            _operations.Add(OpCodes.TestAttribute, new TestAttribute(memory));
            _operations.Add(OpCodes.SetAttribute, new SetAttribute(memory));
            _operations.Add(OpCodes.ClearAttribute, new ClearAttribute(memory));
            _operations.Add(OpCodes.Store, new Store(memory));
            _operations.Add(OpCodes.InsertObj, new InsertObj(memory));
            _operations.Add(OpCodes.LoadW, new LoadW(memory));
            _operations.Add(OpCodes.LoadB, new LoadB(memory));
            _operations.Add(OpCodes.GetProp, new GetProp(memory));
            _operations.Add(OpCodes.GetPropAddr, new GetPropAddr(memory));
            _operations.Add(OpCodes.GetNextProp, new GetNextProp(memory));
            _operations.Add(OpCodes.Add, new Add(memory));
            _operations.Add(OpCodes.Sub, new Sub(memory));
            _operations.Add(OpCodes.Mul, new Mul(memory));
            _operations.Add(OpCodes.Div, new Div(memory));
            _operations.Add(OpCodes.Mod, new Mod(memory));
            _operations.Add(OpCodes.Call2S, new Call2S(memory));
            _operations.Add(OpCodes.Call2N, new Call2N(memory));
            _operations.Add(OpCodes.SetColor, new SetColor(memory, io));

            // OP1
            _operations.Add(OpCodes.Jz, new Jz(memory));
            _operations.Add(OpCodes.GetSibling, new GetSibling(memory));
            _operations.Add(OpCodes.GetChild, new GetChild(memory));
            _operations.Add(OpCodes.GetParent, new GetParent(memory));
            _operations.Add(OpCodes.GetPropLen, new GetPropLen(memory));
            _operations.Add(OpCodes.Inc, new Inc(memory));
            _operations.Add(OpCodes.Dec, new Dec(memory));
            _operations.Add(OpCodes.PrintAddr, new PrintAddr(memory, io));
            _operations.Add(OpCodes.Call1S, new Call1S(memory));
            _operations.Add(OpCodes.RemoveObj, new RemoveObj(memory));
            _operations.Add(OpCodes.PrintObj, new PrintObj(memory, io));
            _operations.Add(OpCodes.Ret, new Ret(memory));
            _operations.Add(OpCodes.Jump, new Jump(memory));
            _operations.Add(OpCodes.PrintPAddr, new PrintPAddr(memory, io));
            _operations.Add(OpCodes.Load, new Load(memory));

            if (memory.Header.Version <= 4)
            {
                _operations.Add(OpCodes.Not, new Not(memory));
            }
            else
            {
                _operations.Add(OpCodes.Call1N, new Call1N(memory));
            }

            // OP0
            _operations.Add(OpCodes.RTrue, new RTrue(memory));
            _operations.Add(OpCodes.RFalse, new RFalse(memory));
            _operations.Add(OpCodes.Print, new Print(memory, io));
            _operations.Add(OpCodes.PrintRet, new PrintRet(memory, io, (RTrue)_operations[OpCodes.RTrue]));
            _operations.Add(OpCodes.Nop, new Nop(memory));
            _operations.Add(OpCodes.Save, new Save(memory, fileIo));
            _operations.Add(OpCodes.Restore, new Restore(memory, fileIo));
            _operations.Add(OpCodes.Restart, new Restart(memory));
            _operations.Add(OpCodes.RetPopped, new RetPopped(memory));
            _operations.Add(OpCodes.Pop, new Pop(memory));
            _operations.Add(OpCodes.Quit, new Quit(memory, io));
            _operations.Add(OpCodes.NewLine, new Newline(memory, io));
            _operations.Add(OpCodes.ShowStatus, new ShowStatus(memory, io));
            _operations.Add(OpCodes.Verify, new Verify(memory));
            _operations.Add(OpCodes.Piracy, new Piracy(memory));

            // OPVAR
            _operations.Add(OpCodes.Call, new Call(memory));
            _operations.Add(OpCodes.StoreB, new StoreB(memory));
            _operations.Add(OpCodes.StoreW, new StoreW(memory));
            _operations.Add(OpCodes.PutProp, new PutProp(memory));
            _operations.Add(OpCodes.Read, new Read(memory, io));
            _operations.Add(OpCodes.PrintChar, new PrintChar(memory, io));
            _operations.Add(OpCodes.PrintNum, new PrintNum(memory, io));
            _operations.Add(OpCodes.Random, new Random(memory));
            _operations.Add(OpCodes.Push, new Push(memory));
            _operations.Add(OpCodes.Pull, new Pull(memory));
            _operations.Add(OpCodes.SplitWindow, new SplitWindow(memory, io));
            _operations.Add(OpCodes.SetWindow, new SetWindow(memory, io));
            _operations.Add(OpCodes.CallVs2, new CallVs2(memory));
            _operations.Add(OpCodes.EraseWindow, new EraseWindow(memory, io));
            _operations.Add(OpCodes.SetCursor, new SetCursor(memory, io));
            _operations.Add(OpCodes.SetTextStyle, new SetTextStyle(memory, io));
            _operations.Add(OpCodes.BufferMode, new BufferMode(memory, io));
            _operations.Add(OpCodes.OutputStream, new OutputStream(memory));
            _operations.Add(OpCodes.SoundEffect, new SoundEffect(memory, io));
            _operations.Add(OpCodes.ReadChar, new ReadChar(memory, io));
            _operations.Add(OpCodes.ScanTable, new ScanTable(memory));
            _operations.Add(OpCodes.NotVar, new Not(memory));
            _operations.Add(OpCodes.CallVn, new CallVn(memory));
            _operations.Add(OpCodes.CallVn2, new CallVn2(memory));
            _operations.Add(OpCodes.CopyTable, new CopyTable(memory));
            _operations.Add(OpCodes.PrintTable, new PrintTable(memory, io));
            _operations.Add(OpCodes.CheckArgCount, new CheckArgCount(memory));
        }
コード例 #13
0
ファイル: BufferMode.cs プロジェクト: Chrislee187/ZMachineLib
 public BufferMode(IZMemory memory, IUserIo io)
     : base((ushort)OpCodes.BufferMode, memory)
 {
     _io = io;
 }
コード例 #14
0
 public SoundEffect(IZMemory memory, IUserIo io)
     : base((ushort)OpCodes.SoundEffect, memory)
 {
     _io = io;
 }
コード例 #15
0
ファイル: ShowStatus.cs プロジェクト: Chrislee187/ZMachineLib
 public ShowStatus(IZMemory memory, IUserIo io)
     : base((ushort)OpCodes.ShowStatus, memory)
 {
     _io = io;
 }
コード例 #16
0
 public SetCursor(IZMemory memory, IUserIo io)
     : base((ushort)OpCodes.SetCursor, memory)
 {
     _io = io;
 }
コード例 #17
0
 public PrintNum(IZMemory memory, IUserIo io)
     : base((ushort)OpCodes.PrintNum, memory)
 {
     _io = io;
 }
コード例 #18
0
ファイル: PrintPAddr.cs プロジェクト: Chrislee187/ZMachineLib
 public PrintPAddr(IZMemory memory,
                   IUserIo io)
     : base((ushort)OpCodes.PrintObj, memory)
 {
     _io = io;
 }