nedoPC.org

Electronics hobbyists community established in 2002
Atom Feed | View unanswered posts | View active topics It is currently 28 Mar 2024 04:55



Reply to topic  [ 10 posts ] 
[ZX] Multicolor (Rainbow Graphics) & Border effects 
Author Message
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22409
Location: Silicon Valley
Reply with quote
Rainbow graphics:

48K - River Raid Tech Demo - 2009:
http://www.worldofspectrum.org/infoseek ... id=0023528

48K - Buzzsaw+ (Foxton Locks Mix) - 2011:
http://www.worldofspectrum.org/infoseek ... id=0027057

48K - ZXodus Engine + Sources (Andrew Owen) - 2011:
http://www.worldofspectrum.org/infoseek ... id=0026639

48K - Bozxle (based on ZXodus) - 2011:
http://www.worldofspectrum.org/infoseek ... id=0027065

48K/128K/+2/+2A/+3 - BIFROST* ENGINE + Sources (Einar Saukas, Dave Hughes) - 2012:
http://www.worldofspectrum.org/infoseek ... id=0027405

Border effects:

48K - BorderTrix + Sources (Andrew Owen) - 2012:
http://www.worldofspectrum.org/infoseek ... id=0027293

48K/128K/+2/+2A/+3 - Rotatrix (Einar Saukas) - 2012:
http://www.worldofspectrum.org/infoseek ... id=0027591

_________________
:dj: https://mastodon.social/@Shaos


18 Jun 2013 17:11
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22409
Location: Silicon Valley
Reply with quote
Post 
Classic Border Effects:

48K - Aquaplane (1983):
http://www.worldofspectrum.org/infoseek ... id=0000227

48K - Dark Star (1984):
http://www.worldofspectrum.org/infoseek ... id=0001263

48K - Shock Megademo (1992):
http://www.worldofspectrum.org/infoseek ... id=0007726

_________________
:dj: https://mastodon.social/@Shaos


18 Jun 2013 20:10
Profile WWW
Fanat
User avatar

Joined: 29 Jan 2013 13:43
Posts: 52
Location: 86.182.165.70
Reply with quote
Funny you should mention that. JoeFish only released Buzzsaw+ because he was worried the finished version of Bozxle would be released first. The original ZXodus engine was written in a week. I have a hugely improved version but as Einar already adapted my idea for Bifrost* I'm keeping the ZXodus II engine for my own projects. BorderTrix was written in a couple of hours and was the first western border demo to use that many colours. The lines across the screen actually go all the way from one visible edge of the display to the other. Someone ported it to the Pentagon (and added music) but they forgot to check that the colours were aligned offscreen. There is a slight glitch in it that would require a sub-t-state timing change to fix. I used a loop so the rainbow pattern in the border is only defined once but called three times. And people complained the text didn't scroll!


19 Jun 2013 00:50
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22409
Location: Silicon Valley
Reply with quote
Post 
Yes, right, "Shock Megademo" is "eastern" even for Russians Poland is civilized Europa :)

P.S. I have a question - BIFROST says to support all Spectrums (including Amstrad models), but ZXodus clearly defined as 48K only, but it looks like working in all models (at least in emulator), so is it really detecting model and adjusting timings as BIFROST?

_________________
:dj: https://mastodon.social/@Shaos


19 Jun 2013 07:40
Profile WWW
Fanat
User avatar

Joined: 29 Jan 2013 13:43
Posts: 52
Location: 86.182.165.70
Reply with quote
Post 
Shaos wrote:
Yes, right, "Shock Megademo" is "eastern" even for Russians Poland is civilized Europa :)


BorderTrix does more colours per line in the border than "Shock Megademo". Shock does 2. BorderTrix does 6. But I have seen some Pentagon demos that do more. I think I could probably manage 8 but not as cleanly from the code side.

Quote:
P.S. I have a question - BIFROST says to support all Spectrums (including Amstrad models), but ZXodus clearly defined as 48K only, but it looks like working in all models (at least in emulator), so is it really detecting model and adjusting timings as BIFROST?


I think Bifrost* has some timing detect code. ZXodus is timed for the 48K only. However, as it uses contention to synchronize the timing, it kind-of works on other models. You do get some off colour tiles and glitching on non 48 displays though. The ZXodus II engine can be tweaked to run on whatever hardware you want, but is targetted at the Spectrum +2B which has the most t-states per frame out of the Sinclair branded machines. It can handle up to 66 animated rainbow tiles on screen at once. Hardware errors and slower CPUs in the earlier machines mean they can't do as many.


19 Jun 2013 15:42
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22409
Location: Silicon Valley
Reply with quote
Post 
Another question - ZXodus uses sprites in ColorTILE format.
Could you please explain in details what is this format?
I know that it's 32 bytes of pixels and 32 bytes of attributes for each 16x16 sprite,
but how these bytes organized? I didn't find anything about it...

P.S. According to source code of ColorTILE it looks like a sequence of 2-byte words:

Byte 0: left part of 1st line;
Byte 1: right part of 1st line;
Byte 2: left part of 2nd line;
Byte 3: right part of 2nd line;
.....
Byte 30: left part of 16th line;
Byte 31: right part of 16th line.

Is it correct?

_________________
:dj: https://mastodon.social/@Shaos


19 Jun 2013 21:58
Profile WWW
Fanat
User avatar

Joined: 29 Jan 2013 13:43
Posts: 52
Location: 86.182.165.70
Reply with quote
Post 
Shaos wrote:
Another question - ZXodus uses sprites in ColorTILE format.
Could you please explain in details what is this format?
I know that it's 32 bytes of pixels and 32 bytes of attributes for each 16x16 sprite,
but how these bytes organized? I didn't find anything about it...

P.S. According to source code of ColorTILE it looks like a sequence of 2-byte words:

Byte 0: left part of 1st line;
Byte 1: right part of 1st line;
Byte 2: left part of 2nd line;
Byte 3: right part of 2nd line;
.....
Byte 30: left part of 16th line;
Byte 31: right part of 16th line.

Is it correct?


That's correct. Bifrost* uses the same format and ZX Paintbrush can export it. I created ColorTILE when I while I was still attempting to port Ultima 4 to the ZX Spectrum SE. It also runs on the TC2048 though as it requires a standard ROM and the Timex 8x1 mode.


20 Jun 2013 01:11
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22409
Location: Silicon Valley
Reply with quote
Post 
OK, thanks!

_________________
:dj: https://mastodon.social/@Shaos


20 Jun 2013 04:28
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22409
Location: Silicon Valley
Reply with quote
Post 
I have an idea! In Russia (and may be not only in Russia) there is some number of extended ZX-compatible computers "ATM Turbo 2+" and its modern "pentagonized" reincarnation ZX Evolution with hardware "multicolor" (8x1 attributes) 640x200 pixels and EGA-like 16 colors per pixel 320x200 (palette 16 out of 64). Theoretically I can create a library with Zxodus and/or Bifrost compatible API so some existing games and "rainbow" sprites can be recompiled/reused in this new hardware with a lot of freed CPU that is not used to switch attributes constantly anymore.What do you think?

P.S. ZX-evolution has its own extended video modes 256x192 multicolor 8x1 (offset between pixels and attributes is #2000) and 256x192 16-colors.

_________________
:dj: https://mastodon.social/@Shaos


08 Jul 2013 20:15
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22409
Location: Silicon Valley
Reply with quote
Post 
Interesting reading about "rainbow" effect with code examples :)

http://simonowen.com/blog/2011/09/29/zxodus-engine/

_________________
:dj: https://mastodon.social/@Shaos


09 Jul 2013 07:48
Profile WWW
Display posts from previous:  Sort by  
Reply to topic   [ 10 posts ] 

Who is online

Users browsing this forum: No registered users and 2 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software.