CPCWiki forum

General Category => Programming => Topic started by: ComSoft6128 on 16:38, 10 June 21

Title: 3MODE
Post by: ComSoft6128 on 16:38, 10 June 21
One screen/three modes

1986 program by Petrel Informatique.
The two BASIC files are Listed in the video.

https://www.youtube.com/watch?v=Bfx_cCeZyfI (https://www.youtube.com/watch?v=Bfx_cCeZyfI)

Links:
https://www.cpc-power.com/index.php?page=detail&num=16687 (https://www.cpc-power.com/index.php?page=detail&num=16687)

https://cpcrulez.fr/info-petrel.htm (https://cpcrulez.fr/info-petrel.htm)


Not  emulated - original hardware and software.

Please note that  the aspect ratio for this YouTube video is 16:9 but the CPC monitor
has an aspect ratio of 4:3 so you may wish to adjust your viewing device accordingly.
Title: Re: 3MODE
Post by: Gryzor on 17:00, 10 June 21
*magic*!

Well, it'd have looked like it to my eyes back in '86...
Title: Re: 3MODE
Post by: ComSoft6128 on 17:06, 10 June 21
Same here
Title: Re: 3MODE
Post by: eto on 22:20, 10 June 21
Pretty clever !
Title: Re: 3MODE
Post by: ComSoft6128 on 08:19, 11 June 21
I imagine the answer to how this was done is in the .BIN file but the way the effect is achieved is beyond me.
Can anyone explain?
Title: Re: 3MODE
Post by: Kris on 08:51, 11 June 21
It uses the fast interrupt of the CPC: when synchronized with the CRTC refresh rate @50Hz, it occurs 6 times per screen refresh (fast interrupt is performed every 1/300th second) so that you can define area and change mode very quickly at the line you want.
Title: Re: 3MODE
Post by: eto on 13:27, 11 June 21
so that you can define area and change mode very quickly at the line you want.

The |3mode command is probably doing this. The (imho) clever part is the |Defmo command. I haven't checked the BIN but from the BASIC program, I would expects, that this command tells Basic which Mode is selected, then the program is drawing in an area which is set to this Mode. This makes sure that drawing graphics or text it doesn't create garbage on screen.