News:

Printed Amstrad Addict magazine announced, check it out here!

Main Menu
avatar_krusty_benediction

History of Amstrad CPC Demomaking

Started by krusty_benediction, 15:58, 18 January 17

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

arnoldemu

#25
Quote from: TomEtJerry on 19:11, 23 January 17
Hello,

Many "classic" technics as rasters, multimode and hardware scrollers have not been discovered by demo-makers but by game coders. Many programs were using these pieces of code, even early ones.  I suppose some other technics have not been used very often just because they were not really compatible with games' restrictions and loading time on tape:-) (fullscreen).

About new effects, I think "New Age 1" intro  from New age is the first one that uses "border split rasters" trick.
First part with digidrums : In "Amazing demo", a part of Longshot uses "Au revoir Monty" music converted from Atari ST.
I agree. I see that Multi-mode was done very early (1984/85), here changing colour at interrupt position. The same is true with multiple colours, this was early. I haven't seen rasters done well in early games. Zynaps is a bit later than with demos?

I have also seen hardware scrolling used early - doesn't it depend on if you are talking hardware scrolling for graphics or hardware scrolling for text?

I will take a look at new age 1 and amazing demo. I haven't seen these.

The part I was talking about before (with digi drums and music) is Weee!'s Wow part in the Terrific demo.

EDIT: Doesn't trailblazer use raster colour changes to make the scroll? That is 1986.
2d stunt rider is hardware scrolling in 1985/86?
My games. My Games
My website with coding examples: Unofficial Amstrad WWW Resource

AMSDOS

ACU published the game Splatch Nov/Dec '85, which is using Rasters on it's title screen & Hiscore screen isn't it?
* Using the old Amstrad Languages :D   * with the Firmware :P
* I also like to problem solve code in BASIC :)   * And type-in Type-Ins! :D

Home Computing Weekly Programs
Popular Computing Weekly Programs
Your Computer Programs
Updated Other Program Links on Profile Page (Update April 16/15 phew!)
Programs for Turbo Pascal 3

kawickboy

crafton&xunk (get dexter) out in 1985 used hard scroll wasn't it ?

Gryzor

Ah... a timeline with demos and explanations (technical advancements etc) would be something really, really sweet! I've often wondered myself...

krusty_benediction

Quote from: TomEtJerry on 19:11, 23 January 17
Hello,

Many "classic" technics as rasters, multimode and hardware scrollers have not been discovered by demo-makers but by game coders. Many programs were using these pieces of code, even early ones.  I suppose some other technics have not been used very often just because they were not really compatible with games' restrictions and loading time on tape:-) (fullscreen).

About new effects, I think "New Age 1" intro  from New age is the first one that uses "border split rasters" trick.
First part with digidrums : In "Amazing demo", a part of Longshot uses "Au revoir Monty" music converted from Atari ST.
Nice remark, I never though of games, I'll look at these demos too (but I already know them at least;) )

arnoldemu

Quote from: AMSDOS on 09:36, 24 January 17
ACU published the game Splatch Nov/Dec '85, which is using Rasters on it's title screen & Hiscore screen isn't it?
yes it is.

My games. My Games
My website with coding examples: Unofficial Amstrad WWW Resource


arnoldemu

Quote from: krusty_benediction on 20:19, 12 February 17
I had not the time time to (re)watch the demos before...

I'm fighting with the maze of the terrific ; is there a way to manually launch a part ?
Yes.
look in the downloads section of www.cpctech.org.uk
Here I "hacked" the demo and put all the parts so they can be launched separately.
My games. My Games
My website with coding examples: Unofficial Amstrad WWW Resource

Longshot

Hello All
About splitting technics, the first game using this technique was genocide with the first vertical scroll (using crtc reg 5)
(revolog was not using reg 5, but page flipping combined with offset split. main menu of the demo was using reg 5)
This game also used the dual playfield technique to rapidly display the sprites (only 3 colors in mode 0)
The fisrt multi directional scrolling was in the game "titan" ans was wery fast (because of offset width)
(the first page flipping with crtc to slow down a scroll was in longshot demo).
The first slow down of an hardware scroll with reg 3 was done in the game "skatewars".
The first use of the "replication char line" was in logon demo 3 (vertical raster)
The first primitive crtc detection was done by Remi Herbulot in his crafton & xunk game to scroll horizontally the screen (but crtc 1 was also considered as a crtc 2)
The first overscan screen on cpc was in the logon demo 1 (1988)
About raster splitting i don't remember if trailblazzer was using this technic to display the rolling road.
(I guess it was changing some inks between each scanline, but not changing the same ink many times during the visible scanline)
I think the first multi split (and first line to line split) was in the amazing demo
The first horizontal split technic was done by overflow (s&koh)
The first horizontal gfx mode split was done by gozeur or duncan (5kb).
I don't know who has coded the first rvmb (used in the grim "s&koh" like) (8 crtc split by scan line (8x8=64 nop))
(only on crtc 1. on crtc 0 : a 1/2 nop of border between each split)
I don't remember what was the fisrt demo using the split border technic
I don't know if someone has ever used the gfx mode 3 for a demo effect (it seems useless)
Some program manage tricky variable/evolutive split :
dtc (for the moving scroll), pinball dreams (for the vertical scroll with a fix part in the top of the screen)
Rhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa!!

fgbrain

#34
the first multi direction multi speed smooth hardware scroll  is in game TLL (tornado low level) in 1985....
even Roland in the Caves /Ropes uses 4 direction hw scroll [but not smooth] in 1984.


furthermore, BSC crazyscroll is the first one to display a rasterscroll with gfx screen as background  (1991).
I think Elmsoft in Chain demo has same effect using a different trick...


also btw  the best 3D raster scroll is made by Executioner at Riverscroll demo in 2010


but it would be nice to talk about software techniques as well!!?
_____

6128 (UK keyboard, Crtc type 0/2), 6128+ (UK keyboard), 3.5" and 5.25" drives, Reset switch and Digiblaster (selfmade), Inicron Romram box, Bryce Megaflash, SVideo & PS/2 mouse, , Magnum Lightgun, X-MEM, X4 Board, C4CPC, Multiface2 X4, RTC X4 and Gotek USB Floppy emulator.

Longshot

 :-[ Yes, of course, "roland in the caves" and "ttl" used a multi directionnal hardware scroll.
But the first hardware scroll on your cpc is called "locomative basic"...just type "list" in basic.  ;D

About 3d scroll, the first time i've see that in a cpc demo was in 1989 in the pict part for "the demo".

The "rasterscroll with gfx screen as background" is made using crtc to display border (reg 8 on some crtc, or reg 6).
I don't know if bsc was the first one to do that (1991 seems late in retrospect)

If you want to speak also about "software techniques", i think that many cpc games were much more advanced than demoes, even speaking about 3d. (see driller, sentinel,...)
Rhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa!!

krusty_benediction

Hello, thank you so much for these information.

I have to confess I have no more investigated the subject because someone have told me he is writing a book on the subject ; and I do not want to make the same research work in parallel.

I used mode 3 several 1 or 2 times in my demos :
- 30 Years Amstrad Megademo   http://www.pouet.net/prod.php?which=67656 during the intro, in the screen with the parallax scrollers with the names of the participants: I display half of a scroll line by using mode 0 and half by using mode 3 with exactly the same address. T think it was mandatory because I had not enough memory screen available to do that (because there are too many scroller or because I have the code and data of the remaining effects,  I do not remember)
- Wake up ! http://www.pouet.net/prod.php?which=59073 for he screen with the 3 rotozoomed-boxed (but maybe I'm wrong and it is simple rasters)

BSC

Additional to what Longshot wrote:


- BSC was the first to display a doubled vertical resolution screen aka interlaced video, see http://www.cpc-power.com/index.php?page=detail&num=9029 - Displaying a 320 x 400 pixel screen. Must have been around 1989.


AFAIK there has not been anything like the Crazy Scroll effect before BSC Megademo, that is using CRTC register 8 to overlay the screen with the border. That part was written in 1990, I think.
** My SID player/tracker AYAY Kaeppttn! on github **  Some CPC music and experiments ** Other music ** More music on scenestream (former nectarine) ** Some shaders ** Some Soundtrakker tunes ** Some tunes in Javascript

My hardware: ** Schneider CPC 464 with colour screen, 64k extension, 3" and 5,25 drives and more ** Amstrad CPC 6128 with M4 board, GreaseWeazle.

Longshot

QuoteDisplaying a 320 x 400 pixel screen
It's not a first time because it's not possible on cpc.... ;)
Interlace mode does not run properly on cpc and btw 272 vertical pixels are the maximum displayable
Rhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa!!

GOB

I think also BSC is the first on the BSC megademo (part with crazy cars 2 gfx) to make split border.

BSC

Quote from: Longshot on 22:51, 27 June 17
It's not a first time because it's not possible on cpc.... ;)
Interlace mode does not run properly on cpc and btw 272 vertical pixels are the maximum displayable

:D  But I have done it! On my good old 464. A screen with 400 pixels on the Y-axis. Have you ever had a look at it?

Try it out:

http://cpcrulez.fr/demostestDO_betasoft_demo_7-interlace_demo.htm

It might not work on all machines. And I had to adjust the V-hold control to a very delicate, unstable setting,
BUT: There was a screen made up of 2 (read: TWO) 320x200 screens on top of each other.


PS: to Gryzor: the edit widget sucks.. each time I make a post, line feeds are doubled :/
** My SID player/tracker AYAY Kaeppttn! on github **  Some CPC music and experiments ** Other music ** More music on scenestream (former nectarine) ** Some shaders ** Some Soundtrakker tunes ** Some tunes in Javascript

My hardware: ** Schneider CPC 464 with colour screen, 64k extension, 3" and 5,25 drives and more ** Amstrad CPC 6128 with M4 board, GreaseWeazle.

arnoldemu

Quote from: Longshot on 22:51, 27 June 17
It's not a first time because it's not possible on cpc.... ;)
Interlace mode does not run properly on cpc and btw 272 vertical pixels are the maximum displayable
Some monitors show more than 272 visible lines. I had one that happily showed 280. ;) It depends on the internal v-size adjustment inside the monitor.

My understanding is that the CPC outputs a progressive signal closer to 288p.
PAL television is 576i interlaced.

The CRTC attempts to make interlace by outputting a VSYNC that is delayed by half a line on odd frames. This passes through the gate-array to the monitor.

What I don't know is if the gate-array passes that through or manipulates it based on hsync. I suspect it changes it and this is why the interlace is not true and the screen moves up and down more.

Then what I don't know is when the monitor receives it, is the IC in the monitor capable of interpreting this and generating a true interlaced screen or not.

So without more investigation and somebody with a scope confirming it or not, I am not going to say yes or no.


My games. My Games
My website with coding examples: Unofficial Amstrad WWW Resource

Longshot

#42
QuoteA screen with 400 pixels on the Y-axis
Long, long, long time ago in the cpc galaxy, i had displayed some pictures like that (2 pictures from the dart-scanner) and i thought it was 400 lines (demo 4 with "408" lines). But i was wrong, as several demomaker proved in 2006.
The gate array correct the video signal and makes each line odd. So even=odd in interlace mode.
You see two pictures and believe to see 2 lines instead of one when crtc r8=1 and the two video buffers are switched BUT one time the display start one odd line higher (like if R5 was switched between 0 and 1 each vbl) (or like if the screen started in the first line of border).
It's easy to see. You've just to set your crtc reg (interlace mode with 2 screen in mode 2) and just poke some "255" in the video page in the common line of the two screen (i think the line 1 of first screen and line 2 of the other one). Sorry to burst your bubble  :laugh: ..It's just page flipping...
Rhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa!!

BSC

That sounds reasonable. If I ever find the time, I'll assemble good old Arnold and have a closer look. It's almost impossible that I got so deceived by myself  ;D
** My SID player/tracker AYAY Kaeppttn! on github **  Some CPC music and experiments ** Other music ** More music on scenestream (former nectarine) ** Some shaders ** Some Soundtrakker tunes ** Some tunes in Javascript

My hardware: ** Schneider CPC 464 with colour screen, 64k extension, 3" and 5,25 drives and more ** Amstrad CPC 6128 with M4 board, GreaseWeazle.

SyX

I thought interlace was old news, a few ReSeTs ago (i don't remember if it was before or after, i rediscovered how to get new colours in the CPC while i was playing with the front porch in my NTSC compatible tv), Grimm first and then me showed an interlace Fx that it doesn't depend in the CRTC.

The idea is making the first scanline half size during the odd frame. The pseudo-code would be:
1.- Wait vblank
2.- Wait a full scanline, except the time for making a short line (CRTC REG_02 = $12)
3.- Wait half scanline (32 NOPs), although in this moment is a full scanline :P
4.- Reset the scanline to its normal size (CRTC REG_02 = $32)

And that is all, of course you need to repeat that every 2 frames (and don't forget to set the screen pointers).

You can test the attached example in a real machine using a CRT monitor or TV and you will see that is a real interlace where the scanlines from odd frames are not showed over the same scanlines than the even frames, they are shifted.

The test that i made in a few LCDs/Plasma/LEDs/... showed that you don't need to do nothing special for getting an interlace picture, only change the screen pointers every frame, but that is cheating :P

Longshot

You mean that with every frame, it's only the hbl of the first scanline that is used to define the vertical position on the monitor?
(BTW, the other lines are linked to the first one.)
That also means that without a sync on the first hbl, the first line is always odd, and with a sync, the first line is always even (or vice-versa).
In other words, the operation occurring during the first hbl bypasses the crtc r8 setting.
It's very interesting.  :P
Need to see that on a real cpc with a ctm monitor.
So if it runs on a ctm monitor, the first interlaced picture would be credited to the person who used this technique.  ;D
Rhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa!!

ralferoo

#46
Quote from: Longshot on 18:52, 09 July 17
You mean that with every frame, it's only the hbl of the first scanline that is used to define the vertical position on the monitor?
I'm not sure what that question is exactly, but there's an easy way to explain this...


Lines aren't actually horizontal on a CRT, the end of the line is slightly lower than the start of the line. The reason for this is that both the horizontal and vertical deflector plates are continuously charged, just at different rates. Every time there's a horizontal sync, the X plate is discharged from +ve to fully -ve, and every time there's a horizontal sync, the Y plate is discharged from +ve to fully -ve. The rest of the time, the charge on the plates is increasing (the Y plate at a slower rate than the X plate) and the nominal rates are 15625Hz/50Hz (PAL) 16734Hz/60Hz (NTSC) although the actual values aren't especially important - if the charging rate is too slow then the image will be smaller than nominal, if too fast then the image larger than nominal, but in normal use there is a border that provides plenty of slack and the user can centre their image using the horizontal/vertical position knobs (which just add a slight bias to the charge).


In reality, it's not actually the sync pulses from the monitor that cause the plates to be discharged, it's actually the pair of phase locked loops inside the monitor, again one for each plate. The sync pulses are actually just used to correct minor timing glitches in the PLL, so if the centre of the pulse is before or after the centre of the PLL signal, the frequency of the PLL will be slightly adjusted to compensate until they're in sync again. As an aside, this is why horizontal scrolling by adjusting the horizontal sync pulse position can take a few lines to adjust to the correct position if too large a scroll is attempted between lines.


For interlaced, nominally one frame is one line longer than the other, but in truth it's an extra half-line inserted before the vertical sync pulse at the end of one frame and an extra half-line inserted after the pulse at the start of the next frame. This is exactly half of the cycle of the horizontal PLL, so it doesn't affect the horizontal timings (and even if it was adjusted slightly, it'd be corrected in the remaining off-screen lines after the vertical blank), but the extra half line does affect the vertical charging plates - they'll be alternately discharged at the start of a line and the middle of a line. This has the effect of the vertical deflection plate being charged for half a line longer on alternate frames, which means that the electron beam is actually half a line lower on those frames. Thus, interlaced actually genuinely is filling in the gaps between the lines on the previous frame.


SyX's idea to achieve the same effect is to just move the horizontal sync position by 32 cycles, which should work identically, although I'd be tempted to wait for the full length of the VSYNC before restoring the original value. I can't remember now if the CPC output has Vsync and Hsync signals exclusive-ored (like CGA does), but broadcast TV signals have them ored.

norecess464

Don't know if it can help, but I created a "Amstrad CPC Demoscene Timeline" playlist with my Youtube account:
https://www.youtube.com/playlist?list=PLsP9IyH3f1U8FEYYcc3wp73fVVGaaEYfs

Note that I created and uploaded all those videos by myself.
My personal website: https://norecess.cpcscene.net
My current project is Sonic GX, a remake of Sonic the Hedgehog for the awesome Amstrad GX-4000 game console!

Hicks

Some more stuff... With this interview of NWC, we know that:
- First Overscan/Fullscreen: Final Creation by NWC (June 1988)... And not Logon Demo 2 (end 1988, december probably),
- First Classical Splitting in a demo: Final Creation by NWC (June 1988)... And not Longshot Demo or Revolog (july 1989). The first ever is of course Mission Genocide (mid-1987).
- First Hardware Scroller in a demo: Remix-I by NWC (March 1988)... A lot of hardware scroller were already done in games since 1984.
Coming soon: a list of all these records on Memory Full!

Longshot

I did not think I would have had to revisit this topic--where vanity is out of place--but it is necessary to clarify certain points since I'm involved.

It would indeed be a terrible shame to revise the history of the demoscene on a site (or in a book) based on observations taken out of context (or for other obscure reasons).

I created Logon Demos 1, 2, and 3 in February/March 1988 at the Ubi Castle. I released them to local CPC friends and contacts like Brad, who designed the first Logon logos, and I showed them to several C64 users.
I then created Logon Demo 4 (unreleased) around the same time I met Stephane Picq based on our discussions on the CRTC Reg. 8 that he used in his Birdie CPC game.
In early 1989, I finalized and updated some of the text, and several months later, I re-released the demos (1, 2, 3, 5, 'Longshot', and 'Revolog') all at once to the CPC scene.

I guess NWC's 1988 demos were only distributed to certain contacts in Denmark and did not arrive in France until later (around late 1989/early 1990).
This explains why a lot of people in the scene--and not just myself--questioned the dates, not seeing how such good demos had not circulated before.
I suppose the relatively limited technical evolution of the Not-Dead Demo, released 2 years after Final Creation, added to the doubt.

Furthermore, I created Anti-Multiface in 1987; it thus makes no sense that I would question the date of a 1988 demo by claiming that Multiface did not yet exist at that time.

Speaking of achievements, as far as i know, Peter was the first guy to create a multi-CRTC CPC (three in the same case).
If I remember well, he made some tests switching from one CRTC to another in real time.
Rhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa!!

Powered by SMFPacks Menu Editor Mod