示例#1
0
        public AppleII(CoreComm comm, GameInfo game, byte[] rom, Settings settings)
        {
            GameInfoSet = new List<GameInfo>();

            var ser = new BasicServiceProvider(this);
            ServiceProvider = ser;
            CoreComm = comm;

            Tracer = new TraceBuffer
            {
                Header = "6502: PC, opcode, register (A, X, Y, P, SP, Cy) flags (NVTBDIZC)"
            };

            MemoryCallbacks = new MemoryCallbackSystem();
            InputCallbacks = new InputCallbackSystem();

            _disk1 = rom;
            RomSet.Add(rom);

            _appleIIRom = comm.CoreFileProvider.GetFirmware(
                SystemId, "AppleIIe", true, "The Apple IIe BIOS firmware is required");
            _diskIIRom = comm.CoreFileProvider.GetFirmware(
                SystemId, "DiskII", true, "The DiskII firmware is required");

            _machine = new Machine(_appleIIRom, _diskIIRom);

            _machine.BizInitialize();

            //make a writeable memory stream cloned from the rom.
            //for junk.dsk the .dsk is important because it determines the format from that
            InitDisk();

            ser.Register<ITraceable>(Tracer);

            setCallbacks();

            InitSaveStates();
            SetupMemoryDomains();
            PutSettings(settings ?? new Settings());
        }
示例#2
0
 protected MachineComponent(Machine machine)
 {
     _machine = machine;
 }
示例#3
0
 public Keyboard(Machine machine) :
     base(machine)
 {
 }
示例#4
0
 public Cassette(Machine machine) :
     base(machine)
 {
 }