01 April 2013, 20:30 | #1 |
Registered User
Join Date: Feb 2013
Location: Hambleton, England
Age: 54
Posts: 9
|
Winning Amiga 500 demo at revision
Hi all,
Perhaps slightly off topic for this forum as it's Amiga Scene stuff, but the winning old-school demo at Revision 2013 was Rink-A-Dink REDUX by Lemon, available from here. http://www.pouet.net/prod.php?which=61182 More on topic is the fact that the original version of this demo used to be a real pain to try and get to run on WinUAE and interestingly, for you Amiga programmers and emulation purists, there's a stack of text at the end of the demo about the changes required for WinUAE over a stock A500 (might be of some interest to Toni) along with a few hints and tips on how the effects were made... cool retro stuff Thanks Ted P.S. I thought about hacking the text out using Action Replay & WinUAE, but then I realised I didn't have an Action Replay ROM... and my hacking skills wouldn't know where to start with compressed text on disk. Maybe some kind demo fan will attach it to this thread, but you should take a look at the demo anyway if you want to see some fast A500 code Last edited by Ted1969; 01 April 2013 at 20:43. |
01 April 2013, 23:03 | #2 |
2 contact me: email only!
Join Date: May 2001
Location: Auckland / New Zealand
Posts: 3,182
|
Rink a Dink end credits
you have been watching
R I N K A D I N K R E D U X by L E M O N - P O I N T an OCS trackmo for the oldschool demo competion at R E V I S I O N 29th March - 1st April 2013 Saarbrucken - Germany - CREDITS - Graphics Facet Prowler Paradroid Original Soundtrack Nuke The Redux Remix Magnar Spatism - second track - Magnar Gone 4D - ending track - Nuke Code & Design Paradroid - also starring - The Red Faced Monster Paradroid 2.0 This Lovely Lady Mrs Paradroid Hi there! Paradroid here, but I don't really have time to write much as the deadline for the compo has already passed. Luckily I already prepared a run down of all the effects in this demo, giving a short explanation of the techniques and tricks used, so at least you're not now viewing an empty screen... : ) (left mouse button to pause) Opening Logo Zoom Same as the original RAD, but with a reverse of direction which leads into a brief mosaic effect. The zoom is a simple enough trick, with each line displaying a coarsely pre-scaled image with the smooth steps in between achieved by spamming the hardware scroll register across the screen. The hardest part was making it work with both real hardware and WinUAE as the DMA timings are slightly different and I'd often get gaps in one or the other. Star Zoom Not much to see here, but I spiced up the transition a little by adding a feedback effect to give the impression of particles. Presents The first thing I coded for the demo. The original twister used pre-calculated points that were plotted and then filled, the shading was probably the same. Not sure why I did it that way as the hardware is plenty fast enough to do it realtime, in fact after recoding it I had so much time left over that I made it solid. All was great until I ran it on a real Amiga and it was hellishly slow – turns out I wasn't running WinUAE in cycle exact mode so had to recode it. Lesson learned and luckily I had been a bit lazy and had plenty of scope for optimisation to get it back into 50Hz, phew! Rink A Dink: Redux Similar to first time around, although I made the logos appear in the correct order this time. The 'A' also now has a transparency effect. The intention was to have a warping lens effect here, but I ran out of time. Most of the coding time was sunk into making the Redux logo fall into place as it required some convoluted clipping of the RAD scene. Lemon Image This was an abandoned effect, but I had a second to fill so used it for the transition to black. It's used again for a different transition later on... Plasma Rewrite of the original plasma effect, but shortened to improve the pacing. The second effect is a simple variation that blends two plasmas together. Glenz Vector I just had to have some classic Celebrandle vectors. The object that zooms into the scene is drawn using a couple of methods as the blitter wasn't quick enough to draw and fill three overscan bitplanes at 50Hz. The front facing and inner white polygons are drawn using the blitter as normal, but the bitplane for the overall shape is achieved using the copper to select bitplane spans. When the clipping kicks in I switch to pure blitter rendering, but this time there are four bitplanes. The rendering is copper controlled while the CPU is running flat out doing the clipping and generating the blitter information. I'd only seen this effect done properly (i.e. all 4 bitplanes clipped) in an A1200 demo, so I was very happy when I finally got it working at full speed on a vanilla A500. Vertical Bars I had this in mind years ago after seeing an ident sequence on TV. I found a rough version of it I'd coded up for a demo called DMA Dream and worked from that. It actually looked a little dull as an effect, so I made the light source dynamic and introduced some stippling to achieve the illusion of extra shades. Colourful Vertical Bars More old code revamped, but it's quick and I needed to buy some time for preparing the next sections of demo. The bars are a realtime generated HAM image and there were going to be a few more patterns, but it was a bit dull to see after the previous effect so I stuck to a single spinner and made it move on as soon as possible. Apologies for the programmer colours, I left it until too late to them properly, oops! Star Field Nothing special with just a couple of thousand stars, but again this is because I needed to leave over some CPU for preparing the next part. You may have missed that the final larger star balls to fly out of the screen are the same colours as the balls in the next sequence. Big Balls A world record? I actually found out about an OCS demo that had already done 8 after finishing this effect, so I went back and redid it to get an extra one in there. This was all done with bitplanes which is why I was able to add a translucency effect too, unlike other demos which use sprites for the balls at the back. A think I can push the number even higher, but that will be a task for another demo. Colourful Image What a pain in the ass this was! It may look like a simple image, but it's HAM mode and changing it's palette every line to get even more colours out of it. Having that and then also stretching it down the screen should have been easy enough, but WinUAE does some strange things when you use HAM and a none black background, so lots of messing about was needed, grrrrr! It was getting close to the deadline for completion and there was no time for anyone to pixel a proper picture, so I opted for a photo of my kid instead. His face painted to look a little like the monster that featured in the original RAD, although you probably wouldn't have noticed until reading this : ) RotoZoom Similar to the original in that it can display 4096 colours, but I managed to more than double the vertical resolution and add a 50Hz offset flicker to give the impression of increased horizontal resolution too. I had some free frame time so chucked in a simple warp effect to finish it off. The tricky part of this effect was to the fade in from white at the very start of it. The original used pre-faded images for this, but I didn't have enough memory this time around, so I instead generated a small animation in the background and played that back – a bit over the top for what is only about 8 frames, but it looked better for it. Greetings So I actually remembered to put greetings in a demo for once! There are several thousand dots being plotted behind the scroller, which isn't a record, but that's the price of having other stuff going on at the same time. The “Heart of Melon” animation is just a little joke dating back to some of the trolling/trash talk that went on between our groups back in the day. No harm is meant by it, in fact they were one of my favourite groups and some of us were friends and remain so to this day. Maybe they should make another OCS demo too so they can send a reply – I can but dream! : ) Dot Vector As seen before in Kefren's Desert Dream. Nothing too clever going on here, I just wanted something to transition to the next effect that wasn't just a simple fade and I had an in progress version ready to work from. Clipping/Morphing Vectors An effect lifted directly from Booze Design's C64 demo “Edge of Disgrace”, which explains the little message that appears at the bottom of the screen ; ) After I finished it I was well within 50Hz so added a stipple layer that allowed for much smoother lighting (when viewing on a CRT display). Lit & Clipped Icosahedron A continuation of the sequence from EoD, but I added some full colour (i.e. not RGB) light sources. It's based on the code for the clipped glenz, so there is nothing more to explain. Filled Balls These are visually the same as the balls I created for Anarchy's Deja-Vu demo, but a little bigger and with an extra ball thrown in. The balls at the front are rendered with bitplane spans, while the furthest is constructed from sprites. The trick was to animate it in such a way that the smallest ball was never over a certain size, otherwise it couldn't be represented with sprites. I could have made them even bigger, but opted to keep the preferred to keep the noisier fill pattern (see Desert Dream for what they look like without this) and avoid losing two sprites as happens when using overscan mode. Credits Pretty much identical to the original RAD but with a few tweaks to allow the top and bottom to animate at the same time. I did rewrite it to handle more colours in zooming logos, but needed the frame time for background tasks relating to the next effect. Tunnels The original RAD stored these on disk and just played them back. I planned to do the same with Redux but we ran out of diskspace towards the end of development and the tunnel data was the stand out candidate for culling. It took a couple of days to rewrite the effect but eventually got it quick enough, saving the second music track from being removed instead, YAY! : ) The End Nothing much to say, it just seemed like a fitting end to a demo that has been an absolute joy to program. Most of my working day is spent making API calls to hardware that does everything for you, so to come back to a platform that lets you get so close to the metal and have some fun has been a truly wonderful experience. Thank you for watching. See you in the post-party AGA fixed version! BYE BYE |
01 April 2013, 23:13 | #3 | |
Registered User
Join Date: Jul 2008
Location: Netherlands
Posts: 485
|
Quote:
@Codetapper: Ahhh, now you've spoiled it... |
|
02 April 2013, 00:54 | #4 |
Registered User
Join Date: Mar 2012
Location: Norfolk, UK
Posts: 1,153
|
Very nice! Just watched it on YouTube, then watched it again "properly" (OK, nearly properly!) on the Minimig.
|
02 April 2013, 09:45 | #5 |
Registered User
Join Date: Feb 2013
Location: Hambleton, England
Age: 54
Posts: 9
|
@ Codetapper - Thanks for pulling the text. I won't ask how you did it but it saves me from trying to find out how to do it myself
@ Dr.Venom & robinsonb5 - No worries. The original version (often labelled Rink-A-Pink, but then that D does look a pit like P) is not very relaxing trying to get it to run in WinUAE and I never even tried on my A12oo. If they make the post-party AGA version then it should work on all Amiga's and WinUAE without issue |
02 April 2013, 10:41 | #6 |
WinUAE developer
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,506
|
I have already requested UAE non-working example code from demo's programmer.
I don't personally like if standard A500 demo has any kinds of UAE workarounds. It is totally wrong, it is my "job" to fix it, original programmer shouldn't care and/or waste time. |
02 April 2013, 11:18 | #7 |
Rock Lobster
Join Date: Nov 2012
Location: Macclesfield
Age: 49
Posts: 40
|
Hey hey hey, Toni! I'd like to say that the demo wouldn't have got made at all if it wasn't for winuae, so please don't take my complaining about it in the demo harshly. It's a wonderful piece of software and works great most of the time
I'm recovering from the run up and the party itself right now and still need to fix some A1200/A4000 issues (once I can face it), but once I'm done I'll get those examples made for you. Be prepared for DMA timing hell, lol (suppose it's better than me emailing directly about audio sync issues that don't really exist... sorry about that ) |
02 April 2013, 11:26 | #8 |
Registered User
Join Date: Feb 2013
Location: Hambleton, England
Age: 54
Posts: 9
|
That's good to hear Toni. If it adds to the accuracy of an emulator that has a very high level of compatibility, with far more configs and software than other emulated systems, then us emulator enthusiasts benefit. Seemingly it will add to your satisfaction in creating something that should handle all the tricks and turns that demo (and some game) programmers throw at it.
I'm quite grateful to the Lemon people (ex-Core Design (Tomb Raider), whom knows ?) for getting it to work on WinUAE, because I currently haven't got a working A500 / A1200 setup. Although I own both machines and I know my A1200 still works, I haven't got a ready display device or external flicker-fixer that will allow me to run native Amiga modes. Perhaps it's just programming evolution for those that have transitioned through many API and hardware revisions applying a little knowledge to extend compatibility... the demo still doesn't work on A1200's apparently and I don't know about other A500 configs. I guess the maxim should be - It's an OCS demo, it's tested and works on A500 OCS. Anyway, enough rambling from me for now, I hope to test a beta WinUAE sometime in the future with the original Rink-A-Dink and get past the bootloader. Thanks Ted |
02 April 2013, 11:35 | #9 |
Rock Lobster
Join Date: Nov 2012
Location: Macclesfield
Age: 49
Posts: 40
|
If you can't get past the bootloader then it's probably to do with the floppy drive speed. Set that to "100% compatible" and also make sure "cycle exact" is ticked in the chipset options. The demo also uses 1MB of ram, so make sure an extra 512KB is added somewhere (should be fine with chip, slow or fast)
EDIT: PS. Yes, many of us were employed at Core Design, but I left just as Tomb Raider went into pre-production. |
02 April 2013, 11:40 | #10 | ||
WinUAE developer
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,506
|
Quote:
btw, I solved missing left edge border in rotozoomer part but implementing it properly won't be trivial.. Bitplanes have the HRM documented delay after BPL1DAT has been written but already "armed" sprites will become visible immediately. Which means sprites can be visible in exactly 1 lores pixel wide region just before first bitplane pixel. (Of course, only if DIWSTRT is small enough) Quote:
(Only known problems are those programs that poke blitter registers, mostly accidentally, while blitter is already active. This is practically impossible to emulate without blitter circuit or logic diagrams..) |
||
02 April 2013, 11:54 | #11 |
Registered User
Join Date: Feb 2013
Location: Hambleton, England
Age: 54
Posts: 9
|
@ Paradroid - REDUX version works just fine, it's the original Rink-A-Dink that gives me the purple OOPS! screen ;o) - REDUX has audio glitches in a couple of places, but I think something is pushing my aging PC a bit too hard at that point, so I get syncing issues ? And Core Design, thought so, I'm more or less ex-game industry... started out at Acid Software in New Zealand (Blitz Basic, etc.)
@ Toni Wilen - Sounds like there may be a free, slightly lame, starfield waiting to be programmed somewhere. Glad you two have linked up. Amiga demos and Amiga emulation - Probably my favourites Thanks, Ted |
02 April 2013, 12:10 | #12 |
2 contact me: email only!
Join Date: May 2001
Location: Auckland / New Zealand
Posts: 3,182
|
For your information, I simply waited until the demo was displaying the credits, saved an uncompressed state in WinUAE, loaded it into CygnusEd and searched for some text that was on the screen. Then cut the text out and made a few substitutions to remove the text formatting control codes.
|
02 April 2013, 13:04 | #13 |
Registered User
Join Date: May 2006
Location: Paris/France
Age: 52
Posts: 527
|
And for further information, it's RNC data on disk (replace PDR with RNC). The text is in one of them. Same for other texts.
|
02 April 2013, 14:47 | #14 |
Old retro god.
Join Date: Apr 2002
Location: Northolt, West London
Age: 62
Posts: 857
|
Ted, just tested Rink a dink original on beta 14 Winuae and it works perfectly, it does seem to sit a wile on the Boris Vajalelo type loader screen but it is still reading tracks and runs fine.
I'm using a DMS of it, maybe you have a corrupt version or as said the floppy timing is set to high. |
02 April 2013, 14:49 | #15 |
tulou
Join Date: Jun 2006
Location: Gothenburg / Sweden
Posts: 88
|
Did anyone rip the music yet? Would really like to get my hands on those mods!
|
02 April 2013, 15:19 | #16 |
Registered User
Join Date: Feb 2013
Location: Hambleton, England
Age: 54
Posts: 9
|
@ Codetapper - I didn't think of that one, emulation state saves to the rescue
@ Asle - RNC is Rob Northern ? I thought he was Gremlin ;o) Thanks for the info though @ Mclane - I just tried the .adf on WinUAE beta14 again too (called Rink-A-Pink) - could be a corrupt image I guess, everything else is set for accuracy (cycle exact, 100% compatible floppy speed, standard memory config 512K chip, 512K 'slow', OCS, KS 1.2). I'm due a format and re-install so I'll check again once I'm up and running |
02 April 2013, 16:25 | #17 |
Join Date: Jul 2008
Location: Sweden
Posts: 2,269
|
Really great looking demo!
|
02 April 2013, 17:07 | #18 |
Amiga Lover
Join Date: Jan 2010
Location: Stockholm / Sweden
Age: 46
Posts: 612
|
Really nice demo..
|
02 April 2013, 17:18 | #19 |
Old retro god.
Join Date: Apr 2002
Location: Northolt, West London
Age: 62
Posts: 857
|
|
02 April 2013, 18:21 | #20 |
Registered User
Join Date: May 2006
Location: Paris/France
Age: 52
Posts: 527
|
Yup, P61A. It's as is on disk. Launch any ripper on the adf.
Was hoping for the original to pop-up, though. |
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
Thread Tools | |
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Winning Tactics (KO2/PM) | adalsgaard | support.Games | 1 | 03 July 2015 16:50 |
revision demo party 2013 excellent !!! | turrican3 | Amiga scene | 23 | 14 April 2013 20:11 |
Amiga 1200 revision | mai | MarketPlace | 8 | 06 March 2010 16:49 |
Amiga 600, A600 what revision? | Whitesnake | support.Hardware | 2 | 10 November 2004 08:15 |
Body Blows winning pose voices | lilalurl | New to Emulation or Amiga scene | 5 | 08 April 2003 18:33 |
|
|