Beispiel #1
0
        private Cia ChkModel(CiaVMCreate model)
        {
            Cia regreso = new Cia
            {
                rif          = model.rif.Left(20),
                nombre       = model.nombre.Left(100),
                codigo_bd    = model.codigo_bd.Left(12),
                version_app  = model.version_app.Left(8),
                version_bd   = model.version_bd.Left(12),
                marca        = model.marca.Left(60),
                grupo_cia_id = model.grupo_cia_id,
                soporte_id   = model.soporte_id,
                tipo_166_id  = model.tipo_166_id,
                pais_id      = model.pais_id,
                estado_id    = model.estado_id,
                ciudad_id    = model.ciudad_id,
                marca_87_id  = model.marca_87_id,
                activa       = true,
                bloqueada    = false,
                lic_alquiler = model.lic_alquiler,
                lic_vta      = model.lic_vta
            };

            return(regreso);
        }
Beispiel #2
0
        public IActionResult Update(string id, Cia ciaIn)
        {
            var cia = _ciasService.Get(id);

            if (cia == null)
            {
                return(NotFound());
            }
            _ciasService.Update(id, ciaIn);
            return(NoContent());
        }
Beispiel #3
0
        public async Task <CiaVM> Add(CiaVMCreate model)
        {
            Cia cia = ChkModel(model);

            _context.Cias.Add(cia);
            await _context.SaveChangesAsync();

            var regreso = await GetVM(cia.cia_id);

            return(regreso);
        }
Beispiel #4
0
        public void PowerOn()
        {
            if (_isRunnning)
            {
                return;
            }

            Initialize();

            // Apply ROM patches
            if (Settings.Default.KernalWhiteTextColor)
            {
                PatchKernalRomTextColor(0x01);
            }

            Cpu.Reset();

            _isRunnning = true;
            _tcsStop    = new TaskCompletionSource <bool>();

            var swCpuClock = Stopwatch.StartNew();

            var t = new Thread(() => {
                while (_isRunnning)
                {
                    // CPU clock
                    if (swCpuClock.Elapsed.TotalMilliseconds >= CpuPeriodMilliseconds)
                    {
                        CpuPeriodMillisecondsReal = swCpuClock.Elapsed.TotalMilliseconds;
                        CpuClockSpeedRealHz       = 1 / (CpuPeriodMillisecondsReal / 1000.0f);

                        swCpuClock.Restart();

                        // Clock CIA 1
                        Cia.Clock();

                        // Cycle VIC-II
                        Vic.Cycle();

                        // Cycle the CPU
                        Cpu.Cycle();
                    }
                }

                _tcsStop.SetResult(true);
            });

            t.SetApartmentState(ApartmentState.STA);
            t.Start();
        }
        public Motherboard(C64 c64, C64.VicType initRegion, C64.BorderType borderType, C64.SidType sidType, C64.TapeDriveType tapeDriveType, C64.DiskDriveType diskDriveType)
        {
            // note: roms need to be added on their own externally
            _c64 = c64;
            int clockNum, clockDen;

            switch (initRegion)
            {
            case C64.VicType.Pal:
                clockNum = 17734475;
                clockDen = 18;
                break;

            case C64.VicType.Ntsc:
                clockNum = 14318181;
                clockDen = 14;
                break;

            case C64.VicType.NtscOld:
                clockNum = 11250000;
                clockDen = 11;
                break;

            case C64.VicType.Drean:
                clockNum = 14328225;
                clockDen = 14;
                break;

            default:
                throw new System.Exception();
            }
            CartPort = new CartridgePort();
            Cassette = new CassettePort();
            ColorRam = new Chip2114();
            Cpu      = new Chip6510();
            Pla      = new Chip90611401();
            Ram      = new Chip4864();
            Serial   = new SerialPort();

            switch (sidType)
            {
            case C64.SidType.OldR2:
                Sid = Chip6581R2.Create(44100, clockNum, clockDen);
                break;

            case C64.SidType.OldR3:
                Sid = Chip6581R3.Create(44100, clockNum, clockDen);
                break;

            case C64.SidType.OldR4AR:
                Sid = Chip6581R4AR.Create(44100, clockNum, clockDen);
                break;

            case C64.SidType.NewR5:
                Sid = Chip8580R5.Create(44100, clockNum, clockDen);
                break;
            }

            switch (initRegion)
            {
            case C64.VicType.Ntsc:
                Vic  = Chip6567R8.Create(borderType);
                Cia0 = Chip6526.Create(C64.CiaType.Ntsc, Input_ReadKeyboard, Input_ReadJoysticks);
                Cia1 = Chip6526.Create(C64.CiaType.Ntsc, Cia1_ReadPortA);
                break;

            case C64.VicType.Pal:
                Vic  = Chip6569.Create(borderType);
                Cia0 = Chip6526.Create(C64.CiaType.Pal, Input_ReadKeyboard, Input_ReadJoysticks);
                Cia1 = Chip6526.Create(C64.CiaType.Pal, Cia1_ReadPortA);
                break;

            case C64.VicType.NtscOld:
                Vic  = Chip6567R56A.Create(borderType);
                Cia0 = Chip6526.Create(C64.CiaType.NtscRevA, Input_ReadKeyboard, Input_ReadJoysticks);
                Cia1 = Chip6526.Create(C64.CiaType.NtscRevA, Cia1_ReadPortA);
                break;

            case C64.VicType.Drean:
                Vic  = Chip6572.Create(borderType);
                Cia0 = Chip6526.Create(C64.CiaType.Pal, Input_ReadKeyboard, Input_ReadJoysticks);
                Cia1 = Chip6526.Create(C64.CiaType.Pal, Cia1_ReadPortA);
                break;
            }
            User = new UserPort();

            ClockNumerator   = clockNum;
            ClockDenominator = clockDen;

            // Initialize disk drive
            switch (diskDriveType)
            {
            case C64.DiskDriveType.Commodore1541:
            case C64.DiskDriveType.Commodore1541II:
                DiskDrive = new Drive1541(ClockNumerator, ClockDenominator);
                Serial.Connect(DiskDrive);
                break;
            }

            // Initialize tape drive
            switch (tapeDriveType)
            {
            case C64.TapeDriveType.Commodore1530:
                TapeDrive = new TapeDrive();
                Cassette.Connect(TapeDrive);
                break;
            }

            BasicRom  = new Chip23128();
            CharRom   = new Chip23128();
            KernalRom = new Chip23128();
        }
Beispiel #6
0
        public ActionResult <Cia> Create(Cia cia)
        {
            _ciasService.Create(cia);

            return(CreatedAtRoute("GetCia", new { id = cia.Id.ToString() }, cia));
        }