Example #1
0
        protected override SpectrumRendererParams CreateSpectrumRendererParams()
        {
            // ZX Spectrum +3
            // Total Size:          456 x 311
            // Visible Size:        352 x 303 (48+256+48 x 55+192+56)
            var timing = SpectrumRenderer.CreateParams();

            timing.c_frameTactCount    = 70908;
            timing.c_ulaLineTime       = 228;
            timing.c_ulaFirstPaperLine = 63;
            timing.c_ulaFirstPaperTact = 64;      // 64 [40sync+24border+128scr+32border]
            timing.c_ulaBorder4T       = true;
            timing.c_ulaBorder4Tstage  = 2;

            timing.c_ulaBorderTop    = 32;   //55
            timing.c_ulaBorderBottom = 32;   //56
            timing.c_ulaBorderLeftT  = 16;   //16T
            timing.c_ulaBorderRightT = 16;   //32T

            timing.c_ulaIntBegin  = 64 + 2;
            timing.c_ulaIntLength = 32;    // according to fuse

            timing.c_ulaWidth  = (timing.c_ulaBorderLeftT + 128 + timing.c_ulaBorderRightT) * 2;
            timing.c_ulaHeight = (timing.c_ulaBorderTop + 192 + timing.c_ulaBorderBottom);
            return(timing);
        }
Example #2
0
        protected override SpectrumRendererParams CreateSpectrumRendererParams()
        {
            // PROFI 3.2
            // Total Size:          768 x 312
            // Visible Size:        640 x 240 (64+512+64 x 0+240+0)
            // SYNCGEN: SAMX6 (original)
            var timing = SpectrumRenderer.CreateParams();

            timing.c_frameTactCount    = 69888; // 59904 for profi mode (312x192)
            timing.c_ulaLineTime       = 224;
            timing.c_ulaFirstPaperLine = 56;
            timing.c_ulaFirstPaperTact = 39;    //42;
            timing.c_ulaBorder4T       = false; // TODO: check?
            timing.c_ulaBorder4Tstage  = 1;     // TODO: check?

            timing.c_ulaBorderTop    = 32;
            timing.c_ulaBorderBottom = 32;
            timing.c_ulaBorderLeftT  = 16;
            timing.c_ulaBorderRightT = 16;

            timing.c_ulaIntBegin    = 0;
            timing.c_ulaIntLength   = 32 + 7; // TODO: needs approve
            timing.c_ulaFlashPeriod = 25;     // TODO: check?

            timing.c_ulaWidth  = (timing.c_ulaBorderLeftT + 128 + timing.c_ulaBorderRightT) * 2;
            timing.c_ulaHeight = timing.c_ulaBorderTop + 192 + timing.c_ulaBorderBottom;
            return(timing);
        }
Example #3
0
        protected override SpectrumRendererParams CreateSpectrumRendererParams()
        {
            // Scorpion [Yellow PCB]
            // Total Size:          448 x 312
            // Visible Size:        320 x 240 (32+256+32 x 24+192+24)
            var timing = SpectrumRenderer.CreateParams();

            timing.c_frameTactCount    = 69888;//+
            timing.c_ulaLineTime       = 224;
            timing.c_ulaFirstPaperLine = 64;
            timing.c_ulaFirstPaperTact = 61;// 64;      // 64 [40sync+24border+128scr+32border]
            timing.c_ulaBorder4T       = true;
            timing.c_ulaBorder4Tstage  = 0;

            timing.c_ulaBorderTop    = 32; //64;
            timing.c_ulaBorderBottom = 32; // 40;
            timing.c_ulaBorderLeftT  = 16; // 24;  //24
            timing.c_ulaBorderRightT = 16; // 24; //32

            timing.c_ulaIntBegin  = 61;
            timing.c_ulaIntLength = 32;    // according to fuse

            timing.c_ulaWidth  = (timing.c_ulaBorderLeftT + 128 + timing.c_ulaBorderRightT) * 2;
            timing.c_ulaHeight = (timing.c_ulaBorderTop + 192 + timing.c_ulaBorderBottom);
            return(timing);
        }
Example #4
0
        protected override SpectrumRendererParams CreateSpectrumRendererParams()
        {
            // Байт
            // Total Size:          448 x 312
            // Visible Size:        320 x 240 (32+256+32 x 24+192+24)
            var timing = SpectrumRenderer.CreateParams();

            timing.c_frameTactCount    = 69888;
            timing.c_ulaLineTime       = 224;
            timing.c_ulaFirstPaperLine = 64;
            timing.c_ulaFirstPaperTact = 56;
            timing.c_ulaBorder4T       = true;
            timing.c_ulaBorder4Tstage  = 0;

            timing.c_ulaBorderTop    = 32;
            timing.c_ulaBorderBottom = 32;
            timing.c_ulaBorderLeftT  = 16;
            timing.c_ulaBorderRightT = 16;

            timing.c_ulaIntBegin    = 0;
            timing.c_ulaIntLength   = 33;
            timing.c_ulaFlashPeriod = 25;

            timing.c_ulaWidth  = (timing.c_ulaBorderLeftT + 128 + timing.c_ulaBorderRightT) * 2;
            timing.c_ulaHeight = (timing.c_ulaBorderTop + 192 + timing.c_ulaBorderBottom);
            return(timing);
        }
Example #5
0
        protected override SpectrumRendererParams CreateSpectrumRendererParams()
        {
            // Pentagon 128K
            // Total Size:          448 x 320
            // Visible Size:        384 x 304 (72+256+56 x 64+192+48)
            var timing = SpectrumRenderer.CreateParams();

            timing.c_frameTactCount    = 71680;
            timing.c_ulaLineTime       = 224;
            timing.c_ulaFirstPaperLine = 80;
            timing.c_ulaFirstPaperTact = 65;    // 68;      // 68 [32sync+36border+128scr+28border]
            timing.c_ulaBorder4T       = false; // TODO: check?
            timing.c_ulaBorder4Tstage  = 1;     // TODO: check?

            timing.c_ulaBorderTop    = 32;
            timing.c_ulaBorderBottom = 32;
            timing.c_ulaBorderLeftT  = 16;
            timing.c_ulaBorderRightT = 16;

            timing.c_ulaIntBegin    = 0;
            timing.c_ulaIntLength   = 32;
            timing.c_ulaFlashPeriod = 25;   // TODO: check?

            timing.c_ulaWidth  = (timing.c_ulaBorderLeftT + 128 + timing.c_ulaBorderRightT) * 2;
            timing.c_ulaHeight = (timing.c_ulaBorderTop + 192 + timing.c_ulaBorderBottom);
            return(timing);
        }
Example #6
0
        protected override SpectrumRendererParams CreateSpectrumRendererParams()
        {
            // Delta-C
            // Total Size:          448 x 320
            // Visible Size:        384 x 304 (72+256+56 x 64+192+48)
            var timing = SpectrumRenderer.CreateParams();

            timing.c_ulaLineTime       = 224;
            timing.c_ulaFirstPaperLine = 68;
            timing.c_ulaFirstPaperTact = 65;    // 68;
            timing.c_frameTactCount    = 69216; //69888;

            timing.c_ulaBorderTop    = 32;
            timing.c_ulaBorderBottom = 32;
            timing.c_ulaBorderLeftT  = 16;
            timing.c_ulaBorderRightT = 16;

            timing.c_ulaIntBegin    = 0;
            timing.c_ulaIntLength   = 836;//224;
            timing.c_ulaFlashPeriod = 8;

            timing.c_ulaWidth  = (timing.c_ulaBorderLeftT + 128 + timing.c_ulaBorderRightT) * 2;
            timing.c_ulaHeight = (timing.c_ulaBorderTop + 192 + timing.c_ulaBorderBottom);
            return(timing);
        }
Example #7
0
        protected override SpectrumRendererParams CreateSpectrumRendererParams()
        {
            // Leningrad 1
            // Total Size:          448 x 320
            // Visible Size:        384 x 304 (72+256+56 x 64+192+48)

            // 224 = 128T scr + 32T right + 32T HSync + 32T left
            // 312 = 192 scr + 40 bottom + 16 VSync + 64 top border
            var timing = SpectrumRenderer.CreateParams();

            timing.c_frameTactCount    = 69888; // +
            timing.c_ulaLineTime       = 224;   // +
            timing.c_ulaFirstPaperLine = 64;    // +
            timing.c_ulaFirstPaperTact = 61;    //64;

            timing.c_ulaBorderTop    = 32;      // 48;
            timing.c_ulaBorderBottom = 32;      // 48;
            timing.c_ulaBorderLeftT  = 16;      // 32;      // +
            timing.c_ulaBorderRightT = 16;      // 32;     // +

            timing.c_ulaIntBegin  = 64 + (64 + 192) * 224;
            timing.c_ulaIntLength = 32;

            timing.c_ulaWidth  = (timing.c_ulaBorderLeftT + 128 + timing.c_ulaBorderRightT) * 2;
            timing.c_ulaHeight = (timing.c_ulaBorderTop + 192 + timing.c_ulaBorderBottom);
            return(timing);
        }
Example #8
0
        protected override SpectrumRendererParams CreateSpectrumRendererParams()
        {
            var timing = SpectrumRenderer.CreateParams();

            timing.c_ulaLineTime       = 0xe0;
            timing.c_ulaFirstPaperLine = 80;
            timing.c_ulaFirstPaperTact = 0x44;
            timing.c_frameTactCount    = 0x11800 * 6;//6 - 21MHz

            timing.c_ulaBorderTop    = 0x18;
            timing.c_ulaBorderBottom = 0x18;
            timing.c_ulaBorderLeftT  = 0x10;
            timing.c_ulaBorderRightT = 0x10;

            timing.c_ulaIntBegin  = 0;
            timing.c_ulaIntLength = 0x20;

            timing.c_ulaWidth  = ((timing.c_ulaBorderLeftT + 0x80) + timing.c_ulaBorderRightT) * 2;
            timing.c_ulaHeight = (timing.c_ulaBorderTop + 0xc0) + timing.c_ulaBorderBottom;
            return(timing);
        }
Example #9
0
        protected override SpectrumRendererParams CreateSpectrumRendererParams()
        {
            // ATM1 v4.50
            // Total Size:          448 x 312
            // Visible Size:        320 x 240 (32+256+32 x 24+192+24)
            var timing = SpectrumRenderer.CreateParams();

            timing.c_frameTactCount    = 69888;
            timing.c_ulaLineTime       = 224;
            timing.c_ulaFirstPaperLine = 80; // proof???80
            timing.c_ulaFirstPaperTact = 65; // 68;      // proof???68 [32sync+36border+128scr+28border]

            timing.c_ulaBorderTop    = 32;   //64;
            timing.c_ulaBorderBottom = 32;   // 40;
            timing.c_ulaBorderLeftT  = 16;
            timing.c_ulaBorderRightT = 16;

            timing.c_ulaIntBegin  = 0;
            timing.c_ulaIntLength = 32;

            timing.c_ulaWidth  = (timing.c_ulaBorderLeftT + 128 + timing.c_ulaBorderRightT) * 2;
            timing.c_ulaHeight = (timing.c_ulaBorderTop + 192 + timing.c_ulaBorderBottom);
            return(timing);
        }
Example #10
0
        protected override SpectrumRendererParams CreateSpectrumRendererParams()
        {
            // Кворум БК-04
            // Total Size:          448 x 312
            // Visible Size:        384 x 296 (72+256+56 x 64+192+40)
            var timing = SpectrumRenderer.CreateParams();

            timing.c_ulaLineTime       = 224;
            timing.c_ulaFirstPaperLine = 80;    // proof???80
            timing.c_ulaFirstPaperTact = 65;    // 68;      // proof???68 [32sync+36border+128scr+28border]
            timing.c_frameTactCount    = 69888; // for pentagon mod = 71680

            timing.c_ulaBorderTop    = 32;      //64;
            timing.c_ulaBorderBottom = 32;      //40;
            timing.c_ulaBorderLeftT  = 16;
            timing.c_ulaBorderRightT = 16;

            timing.c_ulaIntBegin  = 0;
            timing.c_ulaIntLength = 32;

            timing.c_ulaWidth  = (timing.c_ulaBorderLeftT + 128 + timing.c_ulaBorderRightT) * 2;
            timing.c_ulaHeight = (timing.c_ulaBorderTop + 192 + timing.c_ulaBorderBottom);
            return(timing);
        }
Example #11
0
 public EvoA16Renderer()
 {
     Params  = SpectrumRenderer.CreateParams();
     Palette = SpectrumRenderer.CreatePalette();
 }