Example #1
0
        public Video_HiRes(TVFORMAT TvFormat, Control Surface, string pPath, int chrPages, PPU pp)
        {
            if (Surface == null)
            {
                return;
            }
            _Surface = Surface;
            oppu     = pp;
            switch (TvFormat)
            {
            case TVFORMAT.NTSC:
                _ScanLines      = 224;
                _FirstLinesTCut = 8;
                break;

            case TVFORMAT.PAL:
                _ScanLines      = 240;
                _FirstLinesTCut = 0;
                break;
            }
            VideoModeSettings sett = new VideoModeSettings();

            sett.Reload();

            if (pPath != "")
            {
                ReadHiResPack(Path.GetDirectoryName(pPath) + Path.DirectorySeparatorChar + Path.GetFileNameWithoutExtension(pPath), chrPages);
            }
            tilePalette = new int[3];
            tileRow     = new int[8];
            MyNesDEBUGGER.WriteLine(this, "Video device " + @"""" + "Hi Res" + @"""" + " Ok !!", DebugStatus.Cool);
        }
Example #2
0
        public Video_SlimDX(TVFORMAT TvFormat, Control Surface)
        {
            if (Surface == null)
            {
                return;
            }
            _Surface = Surface;
            switch (TvFormat)
            {
            case TVFORMAT.NTSC:
                _ScanLines      = 224;
                _FirstLinesTCut = 8;
                break;

            case TVFORMAT.PAL:
                _ScanLines      = 240;
                _FirstLinesTCut = 0;
                break;
            }
            VideoModeSettings sett = new VideoModeSettings();

            sett.Reload();
            ApplaySettings(sett);
            //InitializeDirect3D();
        }
 public Video_GDI(TVFORMAT TvFormat /*, Control Surface*/)
 {
     /*if (Surface == null)
      *      return;
      * switch (TvFormat)
      * {
      *      case TVFORMAT.NTSC:
      *              ScanlinesToCut = 8;
      *              _Scanlines = 224;
      *              bmp = new Bitmap(256, 224);
      *              break;
      *      case TVFORMAT.PAL:
      *              ScanlinesToCut = 0;
      *              _Scanlines = 240;
      *              bmp = new Bitmap(256, 240);
      *              break;
      * }
      * Buffer = new int[256 * _Scanlines];
      * _Surface = Surface;
      * UpdateSize(0, 0, _Surface.Width + 1, _Surface.Height + 1);*/
 }
        public Video_GDI(TVFORMAT TvFormat, Control Surface)
        {
            if (Surface == null)
            {
                return;
            }
            switch (TvFormat)
            {
            case TVFORMAT.NTSC:
                ScanlinesToCut = 8;
                _Scanlines     = 224;
                bmp            = new Bitmap(256, 224);
                break;

            case TVFORMAT.PAL:
                ScanlinesToCut = 0;
                _Scanlines     = 240;
                bmp            = new Bitmap(256, 240);
                break;
            }
            Buffer   = new int[256 * _Scanlines];
            _Surface = Surface;
            UpdateSize(0, 0, _Surface.Width + 1, _Surface.Height + 1);
        }
Example #5
0
        public void SetPallete(TVFORMAT FORMAT, PaletteFormat PlFormat)
        {
            TV = FORMAT;
            switch (FORMAT)
            {
            case TVFORMAT.NTSC:
                //Setup timing
                FramePeriod           = 0.01667;
                ScanlinesPerFrame     = 261;
                ScanlineOfEndOfVblank = 21;
                if (PlFormat.UseInternalPalette)
                {
                    switch (PlFormat.UseInternalPaletteMode)
                    {
                    case UseInternalPaletteMode.Auto:
                        PALETTE = Paletter.NTSCPalette;
                        break;

                    case UseInternalPaletteMode.NTSC:
                        PALETTE = Paletter.NTSCPalette;
                        break;

                    case UseInternalPaletteMode.PAL:
                        PALETTE = Paletter.PALPalette;
                        break;
                    }
                }
                else
                {
                    if (Paletter.LoadPalette(PlFormat.ExternalPalettePath) != null)
                    {
                        PALETTE = Paletter.LoadPalette(PlFormat.ExternalPalettePath);
                    }
                    else
                    {
                        PALETTE = Paletter.NTSCPalette;
                    }
                }
                break;

            case TVFORMAT.PAL:
                //Setup timing
                FramePeriod           = 0.020;
                ScanlinesPerFrame     = 311;
                ScanlineOfEndOfVblank = 71;
                if (PlFormat.UseInternalPalette)
                {
                    switch (PlFormat.UseInternalPaletteMode)
                    {
                    case UseInternalPaletteMode.Auto:
                        PALETTE = Paletter.PALPalette;
                        break;

                    case UseInternalPaletteMode.NTSC:
                        PALETTE = Paletter.NTSCPalette;
                        break;

                    case UseInternalPaletteMode.PAL:
                        PALETTE = Paletter.PALPalette;
                        break;
                    }
                }
                else
                {
                    if (Paletter.LoadPalette(PlFormat.ExternalPalettePath) != null)
                    {
                        PALETTE = Paletter.LoadPalette(PlFormat.ExternalPalettePath);
                    }
                    else
                    {
                        PALETTE = Paletter.PALPalette;
                    }
                }
                break;
            }
        }