News:

Printed Amstrad Addict magazine announced, check it out here!

Main Menu
avatar_freemac

CPC max screen resolution?

Started by freemac, 14:47, 28 April 13

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

freemac

Hi,
Before the Troll effect  :P , let's just focus discussion about :

       
  • maximum screen resolution using just RAM-SCAN hacks not changing output signal VSYNC/HSYNC
Sample of games using RAM-SCAN effects :

       
  • Arkanoid and Donkey Kong (full heigh over scan)
  • Crazy Car II (full screen over scan)
I am currently starting second version of FPGAmstrad (Altera version !), and asking myself about original Amstrad screen ratio (4/3 ?)... I don't have any original Amstrad screen at Home.

So...
Here my two questions :

       
  • Is it output truly a 720_256x2 @60Hz ? (I search here about knowing if my VGA VRAM 800x300(x2) buffer is enough)
  • Is it truly displayed at 4/3 (some steps measures of Amstrad welcome message could be nice to validate my final display)
Freemac

TotO

#1
The best is to support the standard PAL screen display for the CPC. That mean, 768x576@50Hz.
So, most recents TV screens can display it. (need tests !!!)

(768x288 for MODE 2, 384x288 for MODE 1, 192x288 for MODE 0)

"You make one mistake in your life and the internet will never let you live it down" (Keith Goodyer)

Gryzor

Taken from an older discussion, and as displayed on the wiki front page:
Quote from: Sir Alan Sugar
With a possible total amount of 832 x 288 pixel (576 interlaced) the CPC was the 8 bit homecomputer with the highest screen resolution ever.


But I don't have the specifics...

rpalmer

The maximum screen resolution is double the standard resolution when the screen is using 32K RAM.

There was a program which uses an interrupt to switch between the two 16K chunks to give 640 x 400 rather than 640 x 200.
The interrupt was timed to occur when the VSYNC was on the last line of each chunk and the code simply altered the address of the video ram to the alternate 16K chunk.

rpalmer

TFM

Well, it always depends on the monitor, they are all a bit different, the Plus monitor (color) is a bit more different anyway. For one of my games I use (in MODE 0) 208 x 288. That would be 832 x 288 in MODE 2 and would be 832 x 576 in MODE 2 interlaced. It all fits in 32 KB V-RAM. However you wont see everything in the four corners, since there is literally no border left. And on most monitors you may loose a couple of pixel at the borders too.
TFM of FutureSoft
Also visit the CPC and Plus users favorite OS: FutureOS - The Revolution on CPC6128 and 6128Plus

freemac

Quote from: TotO on 17:42, 28 April 13
The best is to support the standard PAL screen display for the CPC. That mean, 768x576@50Hz.
So, most recents TV screens can display it. (need tests !!!)

(768x288 for MODE 2, 384x288 for MODE 1, 192x288 for MODE 0)
I'm displaying on VGA, I tryed 768_288x2@75Hz, it seems supported;
I've got an 5/4 VGA screen, I think I'll try :

       
  • 720_288x2@75Hz (5/4) - to test with Crazy Car II
  • 640_256x2@75Hz (5/4) - can be great for Arkanoid, I think :)

freemac

In last version of FPGAmstrad I finally used :

800x600 for display
with a regular 768x576 fix border
with a internal 768x544 fix border
so finally a  768x272 pixels resolution

Like this I don't get ghosts during demos.

I also noticed that the original  Amstrad release has a bigger border at top than bottom (around 1/2 char)

CloudStrife

Quote from: TotO on 17:42, 28 April 13
The best is to support the standard PAL screen display for the CPC. That mean, 768x576@50Hz.
So, most recents TV screens can display it. (need tests !!!)

(768x288 for MODE 2, 384x288 for MODE 1, 192x288 for MODE 0)

The CPC use a 16MHz clock, so is horizontal resolution is higher than the standard 13.5MHz sampling signal of PAL for digital transport.
16MHz / 15625 kHz = 1024 sample per line. (versus 864 sample per line)

If you use standard timing:
The standard PAL consider a active line of 51.95 +0.4 - 0.1µs, so 838 max for CPC (versus 707 max for digitalized PAL)
But in practice the digital PAL use 720 active pixel, so 854 for CPC in this case.

I don't know the general CTM screen configuration for the real maximum line active video :/ But clearly 768 is not enouth (only 48µs activity per line...)


(And, no the pixel on CPC are not really square even in MODE 1...)

roudoudou

Quote from: TFM on 20:37, 28 April 13
Well, it always depends on the monitor, they are all a bit different,

It depends also of the monitor temperature. Plus monitor display two more lines when they are "hot"
My pronouns are RASM and ACE

TotO

#9
@CloudStrife: 3.5 years for an answer!  :o ;D

768x288 (768x576 interlaced) is the official PAL overscan for analog CRT TV.
That means... No TV set or video monitors will display more w/o risk of garbage signals.

The CRTC was made to produce that sort of screen mode, but sure you can produce biggest resolutions:
http://www.grimware.org/lib/exe/fetch.php/documentations/devices/crtc.6845/crtc.standard.video.frame.png
"You make one mistake in your life and the internet will never let you live it down" (Keith Goodyer)

arnoldemu

Quote from: TotO on 11:57, 22 September 16
@CloudStrife: 3.5 years for an answer!  :o ;D

768x288 (768x576 interlaced) is the official PAL overscan for analog CRT TV.
That means... No TV set or video monitors will display more w/o risk of garbage signals.

The CRTC was made to produce that sort of screen mode, but sure you can produce biggest resolutions:
http://www.grimware.org/lib/exe/fetch.php/documentations/devices/crtc.6845/crtc.standard.video.frame.png
768x288 is PAL pixels I think.

For CPC you should be able to show a few more because the pixels are thinner than PAL ones?
My games. My Games
My website with coding examples: Unofficial Amstrad WWW Resource

TotO

I doubt as the CPC line is 64us / 15.625kHz like standard PAL TV signals.
"You make one mistake in your life and the internet will never let you live it down" (Keith Goodyer)

1024MAK

With analogue TV, there was not really any "pixels" as such in the transmission. The signal and the election beam was continually varable between black level and full intensity. Further, each "TV" line sloped slightly (they were not dead straight and level).

If using a colour CRT, then there is a metal shadowmask that helps the three electron guns (one each for red, green and blue) to only activate the correct colour phosphor on the screen. Now these could be considered pixels. But there was no system to synchronise the alignment to the signal. So these "pixels" had to be small and density packed.

This is why monochrome CRT displays were used for high resolution systems in the 1980's. No display pixels!

So in practice, the level of detail back then on a CRT monitor depended on the quality of the CRT.

Mark






Looking forward to summer in Somerset :-)

TotO

#13
Sure... The system define the pixels, not the display. The dotpitch is function of that metalic grid.
It's also why you can see a scanlines effect on "Aperture grille" CRT but not on "Shadow Mask" CRT.



The CPC's CTM use the shadow mask technology and don't have scanlines effect... Sorry emulators!  :-\
"You make one mistake in your life and the internet will never let you live it down" (Keith Goodyer)

CloudStrife

#14
@TotO: well freemac make the post return to the top :P

First, YES I know that in analog transmission pixel doesn't have sense. But we are not in analog transmission we are in generated signal from digital data.

768x576 is NOT PAL resolution.
The only defined resolution in analogue PAL is 312.5 line per field with 288 active line. And because we are in interlaced in standard PAL, you have 2 field per frame: each frame have 576 active line.
The PAL defined an aspect ratio of 4/3, if you want square pixel you effectively get 768x576.
But it's not an official PAL resolution ! It's not the resolution used by the digital PAL (CCIR 601 norm)



Like I say before, the sampling frequency of the CCIR 601 is 13.5MHz. You get 864 sample per line (64µs per line) and because the active line size defined by PAL is 52µs, you get a resolution of 702 active pixel. So... 702x576 resolution per frame...
(For the NTSC it's rouglhy the same but with with 480 active line so 702x480 resolution per frame)

But the CCIR 601 define a slightly higher active part and give a resolution a 720x576 (and 720x480) for supporting the timing variation of the back and front porch ("inactive" part before and after the pulse synchronization).
(You can verify that on DVD, DVB-T or DVB-S signal, resolution used a generally 720x576, sometime 704x576 (the closest 16 multiplier to 702))



For the CPC we have a signal generation made by the CRTC and the GateArray from a 16MHz clock.

For the line timing of the CPC yes is 64µs at 15625 Hz like PAL signal. It's defined by the CRTC configuration:
R0 = 63, so 64 "char" per scanline,
Because the CRTC frequency is 1MHz, a "char" in CRTC term is 1µs. We got 64µs per line, so we got exactly 1 / 64µs = 15625 Hz as horizontal frequency.

And for vertical:
R9 = 7, so 8 scanline per char,
R4 = 38, so 39 "char" per frame (no interlaced mode)
R5 = 0, so no supplementary scanline

Number of line per field = (R4+1) * (R9+1) + R5 = 39*8 + 0 = 312 scanline per frame.
So 1 / (312 * 64µs) = ~50.08 Hz as vertical frequency

And because we generate signal from this 16MHz clock. We have exactly 1024 clock step per full scanline. With an active part of 52µs ("PAL standard") we got 832 active pixel.
(To verify you can do the calculation with the default CRTC configuration, R1 is 40, 40 µs of active line, 1024*40/64 = 640 active pixel...)

So if you want to make good signal generation, like in your case on a emulator in a FPGA... You need to do this 1024 sample per line. And you need a frame buffer that support the maximum active line.

(The default HSYNC is 14µs but it's seems that the minimum is 8µs, so 56µs of active line as an absolute maximum, we arrive to 896 pixels...)

TotO

Sure, all your explanations about the CRTC are right, but that doesn't challenge the fact that analog PAL is 768x576.
It was defined like that for Analog video broadcasting because that match with a 1:1 pixel ratio on a 4/3 TV @ 15.625kHz. That all. What you are speaking is about Digital PAL... That use lowest sampling clock and produce only 704 to 720 horizontal resolution.

And like you confirm:

QuoteFor the line timing of the CPC yes is 64µs at 15625 Hz like PAL signal. It's defined by the CRTC configuration:
R0 = 63, so 64 "char" per scanline, Because the CRTC frequency is 1MHz, a "char" in CRTC term is 1µs. We got 64µs per line, so we got exactly 1 / 64µs = 15625 Hz as horizontal frequency.

It is why, if you are using a CTM or a CRT TV, the CPC will display its full screen at 384x288 1:1 ratio in MODE 1.
By the way, yes the CRTC can be configured up to 1024 steps in MODE 2. But, I doubt that can be used as you will skip HSync.
"You make one mistake in your life and the internet will never let you live it down" (Keith Goodyer)

1024MAK

Analogue 625 line, 15625Hz, 50Hz video signals (PAL is the colour encoding added to the monochrome signal) has no pixels, as designed for CRT displays. Only a colour screen CRT with a shadowmask has pixels. [Or of course a modern LCD].

You can have as many or as few signal translations as you like in the signal. But the maximum frequency of these will be limited by bandwidth limiting. And the effect on a CRT screen will be better for fine pitched shadowmasks. It also varies depending on the actual version of the video standard in use and the transmission or connection method that is used.

Now that digital encoding and transmission is used, people like to quote the screen as a matrix of pixels. This is true for the digital format. And because of this, it has become common to give the analogue signal a value in terms of pixels. But this is misleading.

Go and look at the history of why the TV test cards of the analogue era had very finely spaced patterns of lines if you don't believe me...

Now, the signal that the CPC can actually produce, that's a different matter...

Mark
Looking forward to summer in Somerset :-)

TotO

Yes, 625 lines but 49 for blanking that carry some informations like teletext, services and test signals. (not displayed)
"You make one mistake in your life and the internet will never let you live it down" (Keith Goodyer)

CloudStrife

@1024MAK Yes, it's what a say ! PAL have line, no pixel. And final "optical resolution" is not defined only by the analogue bandwidth but with the interaction with the tube and the shadowmask.

@TotO: analog PAL is 5MHz bandwidth with 576 active line.
If you have 768 active transition between black and white per scanline (and not 768 black and white pixel who are square signal and need an infinite bandwith) you need a signal of 7.38MHz

Considering 52µs active time per 64µs line mean you have 945 transistion per full scanline. Each couple of "pixel" being one period of the sinusoidal signal (when the sinus as it's lowest value, black, when at is biggest value, white...)
0.5 * (768 * (64 / 52)) * 15625 = ~7.38MHz
(And because of the sinus with 7.38MHz you have something really blurry, to get something a bit better you need at least the third harmonics... so around 22MHz of bandwith, not 5 MHz...)

The 768x576 resolution come from not a single real used standard, not the CCIR 601, not the PAL specification, not the DVD standard not the EDTV standard, not from DVB broadcasting standard...

@1024MAK: The signal that the CPC can actually produce is NOT a different matter because it's actually what we want to reproduce here in a FPGA CPC hardware emulator !
And for this we need at least 832 pixels (52µs active line as the standard), at most 896 pixels (56µs active line with the minimum HSYNC usable by the CTM (8µs))
(so the 800x300 frame buffer is not enouth)

GFXOR

Will there be anybody here to think about the green screen ? I have no intelligent data to give, but this smaller screen displays more pixels. The X ratio is different than on the CTM.

Love the green power.
Supersly from the Les sucres en morceaux

TotO

#20
Quote from: CloudStrife on 23:28, 22 September 16
Analog PAL is 5MHz bandwidth with 576 active line. If you have 768 active transition between black and white per scanline you need a signal of 7.38MHz

OK... To do more simple:

CPC is 52 * 16 (Mhz) = 832 pixels wide @ 15.625 kHz
PAL is 52 * 14.75 (Mhz) = 768 pixels wide @ 15.625 kHz

The CTM and TV set are calibrated to display up to 768 pixels (active transitions) in overscan at 15.625 kHz.
Thant means, the pixel ratio is the same (1:1) but all the extra resolution (832-768) is over the overscan.

At end, the fact is that no 4/3 PAL CRT can display 832 pixels wide with a CPC.
The max visible screen resolution is the same that defined for analog PAL: 768x576.

In all cases, we don't speak about how the monitor display an analog picture, because:
- If you argue that no horizontal resolution exist (that is physicaly true)
- I can argue that no vertical resolution exist too (that is physicaly true)

:-\
"You make one mistake in your life and the internet will never let you live it down" (Keith Goodyer)

PulkoMandy

The CTM and TVs have no idea about "active transitions" or "pixels". They just sync once at the start of each line.


If you look closely at the pixels, you will see that they don't match the shadow mask at all. If someone wants to count the number of RGB triplets in a line on the CTM, that would give the maximal resolution of the display (all you need is a high resolution picture of the CTM and some patience).


The number of lines is fixed by the scanning, so no, you can't argue that there is no vertical resolution. If you add or remove just a single line, your timings are off. If, however, you change the number of pixels, while keeping the 15625Hz line frequency, you have a perfectly valid and standard signal. The only limit is the bandwidth allocated for modulation, as Cloudstrife says, it is 5MHz. But this is irrelevant for the CPC, because it isn't modulated (unless you want to emulate the MP1 or MP2).

TotO

Stop to only think about the hardware side and think about how the hardware had been calibrated for the TV usage.
The 15.625 kHz clock define the horizontal resolution and the 50/60Hz clock the vertical resolution.
With those 2 values and the knobs on the control board, you define how the display area is set for that.
To change the screen ratio and resolutions you have to divide this base time or change it. (PC monitors does)
"You make one mistake in your life and the internet will never let you live it down" (Keith Goodyer)

CloudStrife

Quote from: TotO on 08:40, 23 September 16
OK... To do more simple:

CPC is 52 * 16 (Mhz) = 832 pixels wide @ 15.625 kHz
PAL is 52 * 14.75 (Mhz) = 768 pixels wide @ 15.625 kHz

The CTM and TV set are calibrated to display up to 768 pixels (active transitions) in overscan at 15.625 kHz.
Thant means, the pixel ratio is the same (1:1) but all the extra resolution (832-768) is over the overscan.

No, the TV is calibrated to display 52µs[1], not 768 ou 832 pixels ! It have not a fucking idea of what is your "pixel clock".
The TV display 52µs and if you put more pixel in this 52µs you get non square pixel.
So on CPC you get non square pixel...


PS: I doesn't know a single digital standard that use a 14.75MHz pixel clock... If you know one, please give the source...

TotO

#24
Just search any page that explain how that work...  Here, in example: http://martin.hinner.info/vga/pal.html
The line period is the same than CPC: 64us. (52us is only the display area on both)
The display clock is 14.75MHz. (half if not interlaced)

How the pixel ratio will be not 1:1 (MODE 1) with a 384x288 resolution fitting into 4/3 CRT screen area?
Because, for me: 768/576 = 384/288 = 4/3 = 1.33

Probably we spoke about the same things, but not explain in the same way.
By the way, the max CPC display resolution is 768x576 in answer to the topic.
"You make one mistake in your life and the internet will never let you live it down" (Keith Goodyer)

Powered by SMFPacks Menu Editor Mod