News:

Printed Amstrad Addict magazine announced, check it out here!

Main Menu

Video Modes - RGB

Started by sigh, 21:31, 01 April 11

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

redbox

Quote from: hal 6128 on 20:03, 06 May 11
I'm a technical newbie and just an old-generation cpc user. But... how is it possible to create a sprite with 15 colors in mode 2/1. (Is it the ability to use more RAM for storing color informations?) What are the technical difference between plus and old?

Hardware sprites are a feature of the Plus.  There are 16 of them and they are 16x16 in size.  They do take up more space (256 bytes) than a 'normal' sprite (128 bytes).

You modify them by paging in the ASIC.  You can alter their magnification so they can look like they are Mode 0, 1 or 2 irrespective of the actual screen Mode behind them.

MacDeath

As I told you, the HardSprites are independent from the normal Display (video modes).

It is a "second layer" applied on the normal screen by some additionnal components inside the ASIC.

HAL6128

I'm curious and maybe a stupid question. Is it possible to make the same with the old-gen CPCs if I integrate an additional CRTC and monitior I/O (combine both original and new signals) via expansion port?
...proudly supported Schnapps Demo, Pentomino and NQ-Music-Disc with GFX

MacDeath

Well, perhaps with an external Video card... :-\
Not sure if this would be fast enough though.

sigh

I was just looking at Pang youtube. I think it's using mode 1 with the 16 colour hardware sprites as the backgrounds seem to be split into 3 different sections using 4 colours and rasters.

arnoldemu

Quote from: sigh on 18:33, 10 May 11
I was just looking at Pang youtube. I think it's using mode 1 with the 16 colour hardware sprites as the backgrounds seem to be split into 3 different sections using 4 colours and rasters.
I have already checked this one.

It's using mode 0 for backgrounds.
It uses the screen split of the plus to do the panel at the bottom.

The balls are made with sprites and are expanded depending on the size (smallest are not expanded), next size are x2 in x and y, next are x4 in x and y etc.

I think the man is also a sprite.

The harpoon and collectables are software sprites.
My games. My Games
My website with coding examples: Unofficial Amstrad WWW Resource

MacDeath

QuoteI was just looking at Pang youtube. I think it's using mode 1 with the 16 colour hardware sprites as the backgrounds seem to be split into 3 different sections using 4 colours and rasters.
:laugh:

"I don't think so Tim."

The backgrounds and even some sprites are clearly in Blocky pixels (2x1 ratio, sort of) and the "huge" number of colours is clearly mode0.





Youtube's video are somewhat largely compressed... so the Pixelisation is completely erroned.

Those PNG pictures are far more accurate.

Anyway, you got to remember that on an actual original Hardware, the CPC pixels, even in mode0 are not as large as we may believe...
And the graphics are cleverly designed to reduce this feeling, also the number of colours (quite decent for an 8 bit on Amstrad/PLUS) enable ditherings and antialiasing to even further reduce the Blocky effect..


BTW I got to check on Winape's "find graphics" option to see how those Hardwired sprites are actually used...

Axelay

Are plus sprites "disturbed" by file IO?  I mean, could you have a mode 0 loading screen on a 6128+ disk game with up to 31 colours, but 15 of them are used quite sparingly?

arnoldemu

Quote from: Axelay on 10:01, 11 May 11
Are plus sprites "disturbed" by file IO?  I mean, could you have a mode 0 loading screen on a 6128+ disk game with up to 31 colours, but 15 of them are used quite sparingly?
no I don't think they are disturbed, but I never checked.

The only time they would be disturbed is if you multiplexed them using interrupts. Standard loading turns off interrupts during a sector read so this will delay the interrupts.

but a static screen, mode 0, with sprites over the top for extra colours. not a problem.

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

sigh

Quote from: arnoldemu on 21:57, 10 May 11
I have already checked this one.

It's using mode 0 for backgrounds.
It uses the screen split of the plus to do the panel at the bottom.

The balls are made with sprites and are expanded depending on the size (smallest are not expanded), next size are x2 in x and y, next are x4 in x and y etc.

I think the man is also a sprite.

The harpoon and collectables are software sprites.

Whoops! My bad. :-[

arnoldemu

Quote from: sigh on 11:13, 11 May 11
Whoops! My bad. :-[
don't feel bad.

I've updated the pang page on the wiki to reflect what + features are used, I'll probably do the same with the other plus games.

so we can at least get an idea of what is used, and perhaps we can learn how to do similar and get good results for our own + games.
My games. My Games
My website with coding examples: Unofficial Amstrad WWW Resource

MacDeath

#36
The largest bubbles seem to actually use like 3 sprites...

The thing is that you can't have that many buble on screen because to split one buble into 2 smaller, the first (bigger) disapear then...Yet I think the GX4000 version have less bubbles than arcade.
Also the Arcade had a "splitter option" (all bubbles are reduced into smallest possible, hence a lot of those on screen).
Which I don't think the GX4000's have.

(post edit : ok, i saw the dynamite actually exists)

I didn't see vertically magnified sprites but i may be wrong.

Winape is quite strange concerning the find graphics option when you try with a Cartridge game.


Had anyone managed to get the game displaying "more" than the max sprites possible ?

Players seems to be in HardSprites... so if you are playing in 2 players, you then must have 4 sprites used by the players...
This makes "only" 12 available Hardsprites bfor the rest... or is it not ?

Many levels seems to have a theorical number of possible bubbles quite high.

How does the game manage it ?

Anyway Pang seems to make a clever use of PLUS features.

Such a shame a game like Operation thunderbolt didn't (appart from the PLUS palette, which other games didn't even managed...)

I mean some Hardsprites for the visor, the baddies fires, munitions and bonus... and perhaps a few explosions too... could have ease the CPU a little bit (lots of softsprites on it), while their special palette enable to get those sprites to differ from the rest a bit more.

And of course HardScroll for the horizontal parts... smoother.
But hey, they had only 128K cartridges at the time... such an Operation Thunderbolt "PLUS" would need at least 256K IMO...

That's such a shame Amstrad couldn't give them 256K so they had to reduce themselves into low profile production most of time.

sigh

Do you think that maybe the big bubbles and player characters are software sprites and the little bubbles are hardware sprites? The player sprites have very little animation going on, so  maybe they felt that it would be a waste using hardware sprites for them.

MacDeath

#38
No they must be Hardware because I saw them in the find graphics option...

There a picture, so you can also see the setting of winape to display this (perhaps better can be done).

Skunkfish

The largest balls in the above screen shot seem to be 2 hardware sprites arranged vertically with a 2x magnification on the width...

I'm not convinced the players are hardware sprites.
An expanding array of hardware available at www.cpcstore.co.uk (and issue 4 of CPC Fanzine!)

arnoldemu

Quote from: Skunkfish on 14:06, 11 May 11
The largest balls in the above screen shot seem to be 2 hardware sprites arranged vertically with a 2x magnification on the width...

I'm not convinced the players are hardware sprites.
they are. at least player 1 is.
I turned off the sprites in my emu and the man and the balls disapeared along with the small plane that appears on the map screen.

the harpoon, weapons, bird, background and panel remained.

I'm modifying the emu to give me more debugging information and then I may be able to answer how they do it all.
I'll update the wiki page about it when I've got the info.
My games. My Games
My website with coding examples: Unofficial Amstrad WWW Resource

MacDeath

#41
I posted the picture screenshoot of my Winape.

I didn't parametered it well so didn't started a 2player game...but hey, I saw this pink guy too another time.

As you can see the biggest bubbles use 3 Sprites, and are not vertically magnified...they keep the "Mode0" pixels size at max one used.


From what I undestand...
The biggest bubble uses 4 sprites, it splits into 2x2sprites bubles, which turn into 4x1 sprites bubles (not sure if "mode1" pixels or "mode0" pixels... "mode1" I think...), which again turn into 8x1sprites bubles (the smallest bubbles... they seem to be in "mode1" sized pixels...)


When I talk about mode0 and mode1 with Hardsprite, it is just an indication on the pixels size, we know the Sprites are independant from the mode used and just "magnified"...
Also the reference is actually "Mode2 pixels" so a mode0 sized pixel is in fact magnified x4 (max available).

so there must be 4 sizes for bubbles (or 5 ?) each time spliting into 2.

1 biggest can theorically turn into 8 smallest bubbles...
So 3 sprites turn into 8 sprites.

Are there levels with 2+ greater bubbles ?

There on the pic I post :
2x "lvl4" bubles and one "lvl3" bubble. (= 8 sprites used... 4+4+2)

If all splitted (ouch...don't die) this can theorically make like 20 smaller (lvl1) bubbles... ???
Is this possible or does the game simply get such extra bublles to disapear ?
Perhaps it then use 25Hz display ? (flickers) so the same sprites is somewhat alternatively displayed at 2 places ?

arnoldemu

I have run a few games and looked at which parts of the Plus hardware they use and added some implementation details which are appropiate.
I will go through the rest when I have time and add more info.

Plotting sets a not so good value for CRTC Register 0 (64), not sure if this would display ok using Bryce's hardware.
My games. My Games
My website with coding examples: Unofficial Amstrad WWW Resource

Bryce

#43
What exactly does putting 64 in register 0 do? Does it change any of the frequencies?
I think I tried plotting and did indeed have major screen flickering.

I may add a list of Games that won't display with modulators somewhere on the Wiki.

Bryce.

arnoldemu

Quote from: Bryce on 15:19, 12 May 11
What exactly does putting 64 in register 0 do? Does it change any of the frequencies?
I think I tried plotting and did indeed have major screen flickering.

I may add a list of Games that won't display with modulators somewhere on the Wiki.

Bryce.
yes it means each line takes 65 microseconds, compared to 64 microseconds.
So this will effect hsync timings, vsync timings and frame rate.
Only a small amount, but enough.

EDIT: The R3 scrolling actually reduces the length of the hsync for every other frame. So it's 5us instead of 6us, but the overall frame rate is still 50Hz.


So perhaps 49Hz for the frame.

EDIT2: If we had a list of them, perhaps some could be patched to work.
My games. My Games
My website with coding examples: Unofficial Amstrad WWW Resource

arnoldemu

#45
Crazy cars 2 does use some plus features to enhance the game :)

Mystical - well I can't find any evidence to say it uses plus features yet - so this is definitely a direct to cart port.

The others, which I have looked at, use some plus hardware, although it's not often obvious (e.g. some colours have been modified a little compared to the cpc version).

But I still think the "classics": Pang, Navy seals, robocop 2 use the features the best.
My games. My Games
My website with coding examples: Unofficial Amstrad WWW Resource

arnoldemu

I used edit and not reply  :laugh: now I lost my previous info. Well it's on the wiki anyway now.
My games. My Games
My website with coding examples: Unofficial Amstrad WWW Resource

sigh

Wasn't Panza Kickboxing a Plus only game too along with Pang and Robocop 2?

arnoldemu

Quote from: sigh on 11:24, 13 May 11
Wasn't Panza Kickboxing a Plus only game too along with Pang and Robocop 2?
I believe there is a version for cpc too.

question about video modes:

would it help anybody if I published some code to demonstrate various "extra video modes" and code to convert gfx to them.
e.g. bmp->"video mode"
this would also include instructions so you can go all the way from e.g. bmp -> cpc result in dsk format.
So simple that it doesn't require programming knowledge?

examples are:

- showing some gfx using only sprites
- generic code for loading and showing a picture
- generic code for loading and showing overscan picture
- code to do flashing pics (mode 1/mode 0) + converting code

would this help those who can do gfx but don't know how to code do new works and show them off in the new "modes"?

C64 scene has just picture releases and just music releases, cpc doesn't seem to have this much and we can do the same.
My games. My Games
My website with coding examples: Unofficial Amstrad WWW Resource

MacDeath

#49
Panza had 3 versions...


=Panza CPC : some stuff are in Mode1 (menu)
http://www.cpc-power.com/index.php?page=detail&num=1597

=Panza Cart : gets a bigger screen because it use ROM to store Datas so no need to reduces the screen to fill the RAM betterly.
http://www.cpc-power.com/index.php?page=detail&num=3574

=Best of the Best : is both PLUS and CPC, so re-use reduced screen to get more storage in RAM, also no more Mode1 parts.
http://www.cpc-power.com/index.php?page=detail&num=384

Panza cartridge seems to use more than 16 colours...


Cartridge :


32 colours.


34 colours.


I don't know yet if Sprites Are used, perhaps this is done in Rasters.

As you can see, the screen can be divided in 3 horizontal zones...

The bottom (public) part is clearly using raster.

I used Paint.net to cut the screen in 3 parts, and I get 16 colours in each one.

So yeap, rasters, not sprites.
Those must be unused according to the pictures unless some extra special effects.

Such game is clearly the good customer of Rasters...

= no scrollings needed as it uses fixed screens

=Animation is somewhat limited to only 2 Fighters (and the referee) so you can get big well animated softsprites.

=Hardsprites would be a bit clumbersome... I mean, this uses bigger Datas to get this in HardSprites, and those are slow to change/refresh so if many frames are used... this would be no good.

=limited to 128K cartridge too... A complete spritesheet would be far heavier and not especially fast/easy to animate.


But I may be wrong.
Need to check this with Winape.




Anyway, I used to play Panza on my EGA PC at the time... (which is also a softwared machine, concerning sprites and so on...)

Very decent.

This was the time Loriciel did a bunch of great 8/16 bit games :
Disc, Panza, TennisCup, and so on...

And all those CPC/Plus versions were having this Atari ST flavour...

To me, Loriciel was the sort of French OCEAN.


would it help anybody if I published some code to demonstrate various "extra video modes" and code to convert gfx to them.
e.g. bmp->"video mode"
this would also include instructions so you can go all the way from e.g. bmp -> cpc result in dsk format.
So simple that it doesn't require programming knowledge?
I'm craving for an Noob User friendly application to enable the "True Plus Video Mode".

This mean redimensionnable picture (fullscreen of course possible) using Rasters/interrupts (multiple modes, or just palette changes) and HardSprites patches (used as tiles).


ConvimgCPC is not that great when it have to deal with PLUS palette and ditherings.

Such an application that would help to convert/port/design pictures and make "self executable" versions would be a great imrpouvement to bring new talents into our "scene"...


The "self executable" is clearly where it's at...

Many Demoscene competition need your pictures in Graphic Category to be self executable on the real machine... So a guy who don't code like me simply can't do shit without help.


Other usefull features would be flickerings effects of this kind of thing.
Like the thing used in Batman Demo ? what is it ?

Interlaced...

concerning flickerings... could be great to have like...

=limited/partial flickering : only a few tiles are flickering (using the same palette)

=Hardwired Sprites flickers... : some Sprites "patches" could be used with "flickers" to get also extra colours / fine pixels effects.


And needless to say, would be great if this application also supports the CPC old...
in this case, mostly only flickerings, interlaced, Raster palette and/or Mode changes.

A picture using all this could really weight something like 48K in RAM... or less ?

What would be the "weight" for :
= the 16 hardsprites ?
= the code for the various routines (Rasters/interrupts, flickers, Hardsprites management...) ?
= concerning the basic picture, the weight is well known... 16K for a "normal" sized screen, 32K (=24k...) for overscaned picture.


Also to get this Application to enable to make proper Viewer of multiple picture would be great... (Diaporama)

Powered by SMFPacks Menu Editor Mod