Hello,
Long time ago there was a program inside a magazin, should be Schneider International or Schneider Magazin, where you could use a interlace Resolution with 640x400 with Basic. And amother program were you could use more colors.
But i din't find them anymore - does anyone now where to find them?
Axel
I remember those programs but I don't know which issue they were in. You can find all issues of Schneider Magazin here:
https://acpc.me/#ACME/LITTERATURE/REVUES/[GER]GERMAN/[GER][AMSTRAD]CPC_SCHNEIDER_MAGAZIN
First check if your monitor supports interlacing.
Out &bc00,8:out &bd00,1
Quote from: McArti0 on 19:10, 12 March 25First check if your monitor supports interlacing.
Out &bc00,8:out &bd00,1
It is not the CRTC that sends the synchronization signals to the monitor but the GATE ARRAY.
Probably for reasons of economy, the GATE ARRAY merges the HSYNC and VSYNC signals to create the composite signal sent to the monitor, without following the CRTC logic of 1/2 line + additional intermediate line necessary to create two frames separated by 1/2 pixel.
So only modifying register 8 of the CRTC without feinting the GATE ARRAY does not allow to obtain an interlace image.
10 r=&bc00:d=&bd00
20 out r,8:out d,3
30 out r,9:out d,6
40 out r,4:out d,77
And how does it look on your monitor?
The value you assign to R9 for interlace depends on the CRTC type.
If you consider N=8 lines per character, and you want to obtain 4 lines per frame, R9=N-2 on CRTC 0, 3, 4 and N-1 on CRTC 1, 2.
There are other differences (on CRTC 2, it is not necessary to double R4).
I recommend reading chapter 19.3 of the Compendium.
Vsync is framed on Hsync because of the fusion of the two signals in one composite signal.
On a CRT screen, you cannot obtain half a line with these OUTs. You have to cheat to force the GATE ARRAY to generate the HSYNC signal at the right time in order to "displace" the VSYNC attached to it.
On a larger scale, this is what is done here:
https://youtu.be/y1o1Gk-6gGE?si=6IV2Q_IkDmgdWURZ
Fliker colors...
1 MODE 1
5 ON BREAK GOSUB 50000
10 MEMORY &3FFF
20 FRAME:EVERY 2,3 GOSUB 60000
30 FRAME:EVERY 2,2 GOSUB 60001
31 REM
35 WINDOW#1,1,40,1,25
49 PEN#1,1:s$="PEN 1 ...":GOSUB 400
50 PEN#1,3:s$="Mix PEN 1&3...":GOSUB 400
51 PEN 3:PEN#1,3:s$="PEN 3...":GOSUB 400
100 GOTO 100
400 PRINT s$;:POKE &B7C6,&40:PRINT#1,s$;:POKE &B7C6,&C0:RETURN
1000 REM
50000 OUT &BC00,12:OUT &BD00,&30:PEN 1:END
60000 OUT &BC00,12:OUT &BD00,&10:RETURN
60001 OUT &BC00,12:OUT &BD00,&30:RETURN