Re: Insane new demo in Bauknecht quality Oh. My. Goodness.
Well, congrats to the authors Now that I picked my jaw up from the floor, I can only speak about this in superlatives. The rasters... They rotate! The dypp... It's huge! The twister... How did they put all those colors in there? Wonderful Degauss music too.
After Arok I really felt like coding again, but seeing this sure puts me in my place I have no business writing demos, these guys are light-years ahead.
George, the 2nd pic is interlaced. There are two pictures, they alternate every frame, and one of them is shifted by 1 pixel. The end result is that the resolution seems double (but at the cost of slight flickering and of course double the memory consumption). In YAPE, just press pause and then Page Down to step frame-by-frame.
Re: Insane new demo in Bauknecht quality Hey Csabo,
It was the twister that caught my eyes the most. I think it's "simply" a DFLI screen with horizontal resolution of 80, so quarter high and half wide areas of individual character places are used to have all those colours. Like in the end tunnel part. But the nicest touch in my opinion is that when the segments of the twister face right toward the observer it gets over saturated making a slight illusion of reflecting the light source.
I always thought that this 80*100 resolution would make the colours of the plussy shine brilliantly but my coding and design skill are nowhere near the level necessary to bring that shining out. These guys have proven that I was right. Absolutely brilliant.
Re: Insane new demo in Bauknecht quality That checkered twisting bar was UNREAL and then the whole screen scaling in and out was just MENTAL. Respects for all the hard work put in to this for such eye candy that should not be running on a Plus4, too right I would put an Amiga Guru error on the end. Eat that C64's!
Re: Insane new demo in Bauknecht quality wow, that was really fantastic. Though I am not a big fan of tunnels, that twister just far ahead of C64 versions, and the fast bitmap zoom + the huge scrolltext just shocked me. I though all these could be produced in THAT speed only on Amiga. Or maybe 10-15 years it was the level of best Amiga demos, certainly C64 and Amiga platform developped since then, but yeah, who would buy an Amiga after seeing that
Thanks for the good replies. It was a bit uncertain if we would get done with everything but in the end everything turned out the good way and we had a great time at evoke.
@csabo: If there was anything i DIDN'T want to achieve, it would be discouraging you from coding something. Also, I'd like to remind you, that it was you who coded 6fx - which also has its discouraging moments - ultimately for me when the digi starts.
Re: Insane new demo in Bauknecht quality I have no words for this guys--- It has double effect, I feel like coding again but at the same time I feel the same discouragement as Csabo, but I'm even more behind in capabilities than him so I just shut up and enjoy it again... and again. This is better than sexual intercourse.
I'll put this on the real iron to my 42'' LCD TV. I have got an Ocean drive, I hope it will take it, AFAIK it's basically an 1541.
Re: Insane new demo in Bauknecht quality Concerning different drives:
I doubt we would easily get this working on other drives. The demo is tightly bound to Krills IRQ-Loader - codewise and timeingwise.
I *could* think of making a version that uses ROM-Routines for loading but that would totally kill the flow (blank screens and silence while loading) and would be a lot of work on the other hand. So: Erm, no, 1541 is a requirement. Sorry.
Re: Insane new demo in Bauknecht quality I needed more hours than I forecasted to spend some words about this milestone in the 264 machines demoscene, a production that seriously tends to kill any wish of coding something further on the same platform. Said that way, it sounds like something sad and negative, and of course it's not, it doesn't wanna be that way Because of this, first of all, all my congrats to the ppl involved in the Metamerism project, despite jobs wifes home and sons. And, no one perceive it as offensive, a particular thought to Degauss, a friend toward whom no physical distance or time lapse can decrease my respect, friendship and empathy
Taking back to my previous words, my real hope is that Metamerism will become a 'ceiling' which covers many future 'little' or 'fast' or 'average' products, released even for fun with no fear of comparision with it (Édesanyám is a now classic example of freedom and fun). What is a very good thing, is that Metamerism seals once forever what anybody can now recognize as the distinguishing effects of the machine, deriving from the combination of limitations and features (i.e.: the damn 'white snow' effect, the doublelined DMA cycles, but the extended palette too): Metamerism shows perfect control of the single displayed scanline, and definitively looks like the evolution of the freeline technology used in Questionmark, hence like the champion of a dozen addresses managing from $ff12 to $ff1f.
Let's see the demo.
The title effect puzzled me alot: though similar to a plasma tunnel, it seems to me working like a fire effect with no random component, where the values per element are spiral-rotated toward the outside.
The fake all-around moving rasterbars effect seems to be a quite smart trick, that probably manages the multicolor chroma/luma data in order to move'em in a sort of cartesian space. It somewhat reminds me of Hurryup-flisplit by Csio, in a much complex suit. The part also shows a Plus/4 absolute first 'growth' effect (no random component).
The zooming DYPP seems to be pure multicolour power coding, which steals a variable number of frames depending from how much graphics must be deleted/drawn in that particular moment of the scrolling text (average is 3 frames for the normal up to 5 frames when the letters get bigger). Fantastic. Hey but... NUOOOO, no greetings for FIRE! This put me down alot Does it mean we've to release something to scream we're alive, even if a simple oldschool intro?
A superfast colormask fullscreen plasma and life turns to beautiful
The marble column, oooh THAT checkered column! <3 I've included this effect in the twisters'family, just because it looks like manipulating $ff12/$ff1a/$ff1b/$ff1f with a trick on $ff06 in order to avoid badlines, just like real twisters do. Actually it resembles some flexi chessboards we've seen before, but we've never challenged before this perfect complexity of coloured cleaness!
Ok, here we are, the checkered horizontal twister. Nothing can currently beat this effect, we all loved it at first sight. I think this is the first twister which has dedicately been renderized and then converted and managed directly in order to make it work in zoom4 (thanks forever for that, bubis!), so a checkered one would fit truly well, due to how the zoom4 works. Moreover, this twister seems to use 4x2px (2x2 MC pixels) defined boxes to refresh at 1.87 frames ca. What can I say more? It's astonishing!
Shutterlike shadebobs on (preshuttered, haha) title while loading.
Bitmap zoomer, I have nothing to say, it works in one frame in a disarming easiness, that effect terrificly devastated me inside :o
The final tunnel has been thought in the right size to run it at 50Hz, one single frame, and on the big screen I bet it was spectacular. Lavina is right, he will enjoy it at best on a 42'' TV! It uses the same resolution of the checkered twister, with an incredibly rich palette table, and definitely consecrates this hardcore graphic code.
We are now waiting for the standalone music as usual BKN bonus. Much time will pass until someone else will be able to pair at least in part this fantastic piece of art. But! Waiting for that time, I'm sure Metamerism will push other little/average/great releases for our machine to magically pop out, and as bonus it will force hardcore democoders even from other scenes to face the TED's beast and try to beat it by their general experience. Degauss, Mad, Nero, Krill: thanks and thanks again for this! <3
The first effect seems to be a chaos zoomer. Of course with an overlay upscroller. The horizontal twister and the end tunnel most definitely not zoom4 but standard DFLI. It is easy to see in the case of the twister in the fade-in and fade-out effect, and in the case of the end tunnel by comparing the end pixels of the splash to the "pixels" of the tunnel.
Re: Insane new demo in Bauknecht quality gerliczer: ah a chaos zoomer, I really didn't get a picture. So, it's much closer to a fractal zoomer? And probably Monopsy 2 has another one... zoom4: yes, I've written in a confuse way. I would mean it's more than the zoom4 it appeared to me at first sight, using 4x2px (2x2px mc) elements, my bad. Let me ask pardon with the live footage :)
Re: Insane new demo in Bauknecht quality Well, I don't really know. I mean, I can't tell apart these two effects (chaos zoomer and fractal zoomer). And I don't know either that those two are different effects or the same one called by two different names. Regarding Monopsy 2, I think the one you are talking about is a height mapped tunnel, if there's such a thing, but asking DCD to tell what that is would be the best course of action.
Re: Insane new demo in Bauknecht quality @Luca: Oh, fuck, man... When i read your post it hit me like a kick in the nuts: I'm really sorry we forgot you in the greetings. In the end we looked for glitches here and there but nobody checked for the scrolltext. So: Apologies from Mad and me for giving you that downer, that was ofcourse not intended - we messed it up.
1541 dependency Right, seems like i really need to add native 1551 support soon. But nobody has replied to my last post in the loader thread for a while now, so...
But hey, the demo should work with 1571 and 1581, too!
Any exotic drives which work with the KERNAL calls AND use interruptable transfer routines (such as 1551...) do work with the loader though, provided the KERNAL fallback is enabled. But nobody did this so far except me in the test tool.
Re: Insane new demo in Bauknecht quality Hey Guys,
first of all: I'm so happy and proud to be part of the plus4 scene .. It was a well choosen decision to do stuff for this nice machine! I love the plus4 (except that it's hard to compete with sid music on a stock machine) and will do more prods for sure (with the bauknecht/tek posse).. For the second time (first was states united) I'm really impressed by the "production" flow we have with nero and degauss (degauss it's so cool to do demos with you ).. We will push the limits again for sure (if thats possible in any way(ofcourse))..
Luca: i was shocked to see that we didn't greet Fire this time.. I do not know why and how we could forget it.. It's a big mistake, sorry.. We will learn from it!
Some stuff about the demo: the fire effect is a real fire effect but not up the screen, we do a rotation zoom instead.. (some other nice thing is the overlay it scrolls with parallax scrolling because we coudn't use the softscroll register there)..
the rotating "rasters" is a 1d texture rotzoomer, i found out that 1d texturing is only a scaling and an fixed translation offset..
the dypp is a fast eor routine it clears and fills only the cells needed.. i think it's speed and looktechnically improvable.. for the next demo ..
the plasma is a loader effect thus it consumes almost "no" memory..
the "chesstwister" is a simple idea but turned out to be more complex to code when you put in perspective.. however the perspective is only a "add" instruction
the picture by nero is a standard multicolor picture with very good colorchoices (I think ..
the "shadebobs" is a loader part, the idea was to combine two pictures to get more colors first i tried interlace but the second line trick turned out to be more pleasing.. however perhaps you can combine second line and interlace to get a smoother look and more colors
that's for me so far... Hope you enjoyed watching the demo as much as it was a pleasure for me to do the demo with degauss and nero .. May the plus/4 be with you..
(perhaps degauss can tell some stuff about his effects later on.. dunno cu!
Re: Insane new demo in Bauknecht quality @Luca: Nice you can look at it that way. It is a mess-up: You've been part in so many (almost every) plus/4-production. Not to greet FIRE is like forgetting the third one of the holy trinity
@Krill: I don't think its undeserved. The demo wouldn't be possible without your loader. The port is kind of a door-opener and milestone for the platform.
@Mad: Hell, yeah, It's been a pleasure. I have to agree: The production flow was as if we were used to work together since decades.
Re: Insane new demo in Bauknecht quality Some details about my effects:
The Vertical Twister: ---------------------
The twister operates in DFLI-Mode and its size is 80x50 (or 80x60) pixels. The checkerboard-texture has 50 rotation-angles and is 2 pixels wide. There are no constraints about the colors, every color could occur on every pixel.
Tricks i used to speed it up:
1. If you work on an 80 pixels-per-row screenmode, you would normally need to OR the two colors of a videomatrix-cell together - in the end you work on two pixel-columns per byte. That slows things down heavily. My idea was to put constraints on how big the stride between two rotation-angles can be. If the texture gets "unrolled" or "cooked" in a way that all possible combinations of "rotation-angle" + "stride" get covered, i could get rid of the ORA-instructions. I constrained the strides (maybe "delta" is the better term here) to be -2, -1, 0, 1 and 2 - thats five "versions". So to address these i need a value range of 50 * 5 = 250. Fits in one byte. A piece of pseudo code shows this better i guess:
NUM_ANGLES = 50 LEFT_COLUMN_ROTATION_ANGLE = 4 RIGHT_COLUMN_ROTATION_ANGLE = 5 STRIDE = [RIGHT_COLUMN_ROTATION_ANGLE - LEFT_COLUMN_ROTATION_ANGLE] STRIDE = STRIDE + 2 ; make sure this is between 0 and 5
lda texture_row0,x sta vmem0,y lda texture_row1,x sta vmem1,y lda texture_row2,x sta vmem2,y lda texture_row3,x sta vmem3,y lda texture_row4,x sta vmem0 + 40,y ...
2. Additionally i extended the border in the empty areas of the screen. TED switches to double-clock-mode here, so i have a lot more free cpu-cycles
The Zoomer: -----------
The effect displays 160x190 (or 160x180, i forgot) pixels and works pixel-precise with 8-bit fixed-point precision. The texture is 32x32 pixels in size. It has one fixed color (black, obviously) and three free-to-choose colors per pixel-row. Should sound familiar: Thats character mode, not FLI. The texture is scattered around 4 charsets - again, "cooked" to support the effect. The effect works surprisingly simple, yet its a bit hard to explain. I'll try my best:
The y-stretching is more or less common raster-stuff: I just need to set $FF13 and $FF1F for every rasterline to pick the right pixel-row from the charset. $FF13 = [texture_row DIV 8] and $FF1F = [texture_row MOD 8]; I also need to prevent badlines by settings $FF06 accordingly to not trigger the DMA-cycles. Thats all.
Theres a bit more to tell about the x-stretching: I said i'm preventing badlines but the first two badlines get executed in any case. That means the very same characters from the first row of characters get repeated over the screen over and over. Every char on the screen holds four pixels. The character encodes the stretching of the contained four pixels this way:
bits 0 to 4 : starting pixel-column within the texture (0..31) bit 5 : repeat or advance previous column bit 6 : repeat or advance previous column bit 7 : repeat or advance previous column
So there is a constraint on how much we can zoom (and ofcourse how wide the texture can be). The allowed zoom-factors are in a range between 0.0 and 1.0. So i need to write 40 bytes to stretch along 160 pixels. Summary: The texture got "cooked" into four charsets to support a) the y-stretching via two TED-registers and b) support that "stretch-encoding" for the x-stretch.
However i complicated things a bit by introducing the three arbitrary colors per row and by extending the value-range to work with factors between 0.0 and 2.0. For values between 1.0 and 2.0 i used another set of 4 charsets and this encoding:
bits 0 to 4 : starting pixel-column within the texture (0..31) bit 5 : advance by 1 or by 2 bit 6 : advance by 1 or by 2 bit 7 : advance by 1 or by 2
The Tunnnel: ------------
Yes, this is a straight movetable-effect. However i tried to make it a bit more hi-res and a bit more fluent. It works in almost-DFLI. That means 80x70 (i think) of luminance values but only 80x35 color-attributes; every second color-attribute-reload is skipped. A trick bubis has invented. The idea is that you notice differences in luminance more than color-differences. Contrasted edges get a bit washed out though, but you almost can't see it.
There is no real movetable, the mapping is rolled out to speedcode on PC. However i tried to improve that speedcode to prevent unnecessary loads from memory. To do this i'm not walking along the movetable in the usual way (top-left to bottom-right) but in "strings" that share the same texture-pixels. Instead of loading the same texture-pixel over and over again, i packed all its "occurences" in one string:
; "left-string" starts lax left_pixel ora right pixel sta here sta there sta somewhere and #$0f ora next_right_pixel sta xyz
; switch over to a "right-string" and #$f0 ora some_other_left_pixel sta abc sta def and #$f0 ora some_other_left_pixel sta ghi
; get back to the "left-string" txa ora another_right_pixel ...
So for most of the time i can circumvent reloading the texture-data from memory. A funny side effect is that the effect looks like 25Hz because the screen-updates occur randomly on the screen.
Additionally i extended the border (like in the twister) to gain more free cycles.
Re: Insane new demo in Bauknecht quality Such an utterly amazing demo, I actually had my Plus/4 packed away for space reasons, but when I saw this demo on the stream from Evoke, I knew I had to watch it on the real thing, so it was just a matter of clearing some space on my desk! Since then I have watched it a number of times. Like Csabo, I also got a bit discouraged - I actually have a Plus/4 demo in the works that I've been coding on and off (mostly off...) on for many years now, but after seeing this, it felt like "what's the use of finishing my demo now?". But of course, that's not the way to think, the Plus/4 scene is not very big, and every demo has it's place I think, and probably many will watch and enjoy productions, even if they are not of this magnificent quality.
Regarding greetings I must say I'm extra pleased to see Noice passing by in the DYPP-scroller!
And an extra big thanks to Degauss and Mad for posting some extra goodie-technical information, I love to hear how other coders come up with some of the crazy and brilliant effects.
If I might ask Degauss a thing about the zoomer, are you caclulating the 40 "X-bytes" realtime, or do you have a table with a number of predefined 40-byte lines, one for each zoom level?
/Shadow of Noice
(btw - unrelated question - how the *beep* do I login? I am pretty certain I have had an account here, but it just says that my username doesn't exist)
Re: Insane new demo in Bauknecht quality Hey Shadow, welcome to the forums, I do think this is your first post. I just want to say that I've seen some really impressive demos from you. You're actually not registered here, we usually add people to the members database when they release Plus/4 stuff, or if they simply ask (but since posting doesn't require registration this doesn't happen that often).
To better articulate what I meant earlier... In the "heyday" of Plus/4 demos, when I saw a nice product, I felt like "that was cool, but I can show them something better next time". I think this kind of one-upmanship was driving the scene, and something like this drives the other demoscenes as well. When I look at Metasomething, well, it's out of my league Let me state again: I love this demo and I'm very happy it's been made. And I, like you and several other have said, will probably keep typing away and even probably release stuff eventually, but it won't be this good. Seriously, I mean it, we (meaning LOD) have our first mega demo in the works, but the code is 1992-1994 quality. It has a DYPP in it, for example, that has been seriously put to shame. Well, it is what it is. Strangely enough what's holding up the release is a part featuring only music.
Re: Insane new demo in Bauknecht quality @SDW: Thanks for the good words. On the 40 bytes: Its realtime. Tables would have no real benefit here but cost vast amounts of memory. Building up these 40 bytes is pretty straightforward. This is a function from the zoomer, its not even "good code":
Re: Insane new demo in Bauknecht quality Csabo : Actually I have posted here before, if you press the "Sdw" you'll see my older posts. But I have probably done just what I do now, posted without having a login.
Re: Insane new demo in Bauknecht quality Shadow's Plus/4 demo is really something I'm interested to see, he told me he was coding about that. Now we all have to pass this 'metameristic' period of frustation time, reload our guns and then release. Maybe, the release of an easy intro with, say, 2x2 scrolling text, flash effects and very simple charplasma in a corner would help to break the tension
Re: Insane new demo in Bauknecht quality very good topic with a lot of useful info. One more area we have a little backlog to c64, music. TED music has a special sound, and with digidrums rather acceptable,but still SID is better. Well the question: with the help of double speed mode, is it possible to do a 3 or 4 channel trackplayer for the smallest chiptunes? Even no editor needed, just a crosstool, as there are tons of MOD on internet. 2 years ago there was a polish c64 demo used precalculated tables to play the sample at the necessary frq. At that time we made a draft calculation, and with 70 (maybe 100) visible lines plus/4 would have enough raw power to play 3 channel MOD (though mod way of sound definition should be changed to an easier one). What is your opinion?
Re: Insane new demo in Bauknecht quality Very well done! Surprisingly impressive production using not so difficult effects. I love all the parts. I really appreciate that it's a native Plus/4 production, i.e. no SID involved, pure TED fun! Congratulations!
Degauss: That almost-DFLI mode works from IRQ too, just like Zoom4, i.e. no need to sacrifice all the CPU power to implement this software GFX mode. I have a working routine if someone is interested.
Re: Insane new demo in Bauknecht quality BTW, the tunel code can be improved a bit further using SAX. (http://unusedino.de/ec64/technical/aay/c64/bsax.htm). This saves A&X into memory, so for instance "ldx #$1F; lda #$F2; sax $1000" will save $12 into $1000. This way you can completely save the "and #$0F"/"and #$F0" bits.
Re: Insane new demo in Bauknecht quality @bubis: Ofcourse i'm interested. I tried to fiddle around with the timing in your zoom4-routine but for reasons beyond my knowledge, i couldn't make it work. I need to try the SAX thing, that should speed up the mapper ultimately... And thanks for the good words. Always nice to hear a lifesign from you.
Re: Insane new demo in Bauknecht quality MMS: > would have enough raw power to play 3 channel MOD -------------- Should have. ZX Spectrum 48K has (even with 1 channel only). That's how it sounds from AY chip - http://media.chipmusic.org/music/2011/05/yerzmyey_kaminari.mp3 The program and the music must fit in 48K RAM (even less) so there is no volume command at all. I "simulated" volumes by adding louder and silent samples. The procedure has been ported by us into Atari XL (6502 CPU).