Mitwirkende
- Code — NoRecess
Mitwirkende wie auf Pouet aufgeführt.
Phat ist meine „Comeback“-Demo. Alles fing 2008 an, als ich mir die neueste Fassung von WinApe geholt und sie mit dem C-Compiler Z88DK ausprobiert habe. Nach ein paar ersten Versuchen wurde mir klar, dass CPC-Entwicklung auf diesem Weg möglich war. Also habe ich angefangen, den „Tunnel-im-Quadrat-Effekt“ zu programmieren, und war mit dem Ergebnis recht zufrieden. Zur selben Zeit hat mir Grim von Arkos sehr geholfen, mein Wissen über den CPC aufzufrischen. Ich habe ihm hin und wieder Vorschauen gezeigt … er hat mir einen maßgeschneiderten PT3-Player für den CPC geschrieben, der fortgeschrittene Funktionen des Amstrad 6128 Plus nutzt und Musik mit 50 Hz abspielt, ohne dass man sich um Interrupts kümmern muss. Diese Demo war schlecht gestaltet, aber es gab trotzdem viele verschiedene Effekte zu sehen.
YouTube:
Bilderfolge
Acht Standbilder, aufgenommen vom Diskettenabbild der Release.








Kommentare von Pouet
Die folgenden Kommentare wurden auf Pouet.net zu Phat hinterlassen. Sie sind so zitiert, wie sie geschrieben wurden. Von jener Seite übernommen am 17. August 2026.
Jaw, I command thee to close. MALAAAKKAAAAA When I have read that it’s written in C and the screenshot didn’t said much I thought it would suck. But it has so much impressed me, more than several assembly coded CPC demos before. I thought at best there would be just good design with gfx, but there were effects. Maybe not the optimal asm could reach but there were many of them in 8*8 blocks that were smooth enough, transitions with blocks, motion captured bob man and some clever writer, cool fades and gfx, great square tunnel effect and an awesome tune all in a package that has really shocked me. C? Is it btw all C or are there some small assembly routines for rendering a block or a bob gfx element and most of the non trivial in C? I would like to learn more technical info about this demo (how is the square tunnel achieved?) It’s impossible to believe it.
— Optimus, 2008-07-20 · rulez
Great
— Buckethead, 2008-07-20 · rulez
Thank you Optimus for your comment. About the tunnel effect, all is done in C. The only ASM code here is the rectangle rasterization. This is the source-code of the squared tunnel effect’s main loop :
for ( iSquare = 0; iSquare < SQUARECOUNT - 1; iSquare++ ) { if ( s_sizes[ iSquare ] > 1 ) { { addX = s_cosX[ s_iSinX ]; addY = s_cosY[ s_iSinY ]; X1 = s_sizeX1[ iSquare ] + addX; Y1 = s_sizeY1[ iSquare ] + addY; X2 = s_sizeX2[ iSquare ] + addX; Y2 = s_sizeY2[ iSquare ] + addY; } { s_iSinX += TUNNEL_CURVEX; if ( s_iSinX >= MAXSINCOS ) { s_iSinX -= MAXSINCOS; } s_iSinY += TUNNEL_CURVEY; if ( s_iSinY >= MAXSINCOS ) { s_iSinY -= MAXSINCOS; } } { if ( X1 < s_prevX1 ) { X1 = s_prevX1; } if ( X1 > s_prevX2 ) { X1 = s_prevX2; } if ( X2 < s_prevX1 ) { X2 = s_prevX1; } if ( X2 > s_prevX2 ) { X2 = s_prevX2; } if ( Y1 < s_prevY1 ) { Y1 = s_prevY1; } if ( Y1 > s_prevY2 ) { Y1 = s_prevY2; } if ( Y2 < s_prevY1 ) { Y2 = s_prevY1; } if ( Y2 > s_prevY2 ) { Y2 = s_prevY2; } } { if ( Y1 > Y2 ) { s_tempValue = Y2; Y1 = Y2; Y2 = s_tempValue; } if ( X1 > X2 ) { s_tempValue = X2; X1 = X2; X2 = s_tempValue; } } s_pen = s_pens[ iSquare ]; if ( s_prevX2 > s_prevX1 ) { width = s_prevX2 - s_prevX1; if ( Y1 > s_prevY1 ) { crGFXDrawRectFast( s_scanlineBuffer + s_prevY1, s_prevX1 + width, width, Y1 - s_prevY1, s_pen ); } if ( s_prevY2 > Y2 ) { crGFXDrawRectFast( s_scanlineBuffer + Y2, s_prevX1 + width, width, s_prevY2 - Y2, s_pen ); } } if ( Y2 > Y1 ) { if ( X1 > s_prevX1 ) { width = X1 - s_prevX1; crGFXDrawRectFast( s_scanlineBuffer + Y1, s_prevX1 + width, width, Y2 - Y1, s_pen ); } if ( s_prevX2 > X2 ) { width = s_prevX2 - X2; crGFXDrawRectFast( s_scanlineBuffer + Y1, X2 + width, width, Y2 - Y1, s_pen ); } } s_prevX1 = X1; s_prevY1 = Y1; s_prevX2 = X2; s_prevY2 = Y2; } }If you want to know more about source-code, you can get the whole C framework I created for the demo, as also the demo itself. In a way, this is the first open-source CPC demo ;) This is the Subversion repository : https://crocolib.svn.sourceforge.net/svnroot/crocolib/trunk Finally, thank you for your comments ! Let’s say I’m waiting your next production now :-) and don’t rush it hehe!
— norecess, 2008-07-21
(sorry for huge code sample!)
— norecess, 2008-07-21
video http://fr.youtube.com/watch?v=HIaVST3ycCY
— norecess, 2008-07-21
It’s interesting but what about memory? Will at least be easy to know which portion of memory the C code and data occupies? Because it’s CPC and memory is already limited. I have tried the Z88 compiler on CPC already but abandoned it because I thought 1) it would take some time to get used (although I know C) 2) Maybe in the middle in the project C would eat so much memory that I won’t be able to use any more.
— Optimus, 2008-07-22
great
— guardian ٩๏̯͡๏۶, 2008-07-22 · rulez
Cool “vieuxcons” stuff :)
— keops, 2008-07-22 · rulez
@Optimus : more information about C on CPC here : http://arnaud.storq.googlepages.com/cforamstradcpc Expect a x2 / x3 size versus ASM, but it packs very well. \1) Yes it takes times to be used to z88dk. \2) Each parts are unpacked at run-time so memory is not a problem here And as a general rule : experiment by yourself ! Dont stop work because of presumptions or people without knowledge ! :o)
— norecess, 2008-07-22
Thanks. It’s getting interesting. I would be motivated to code a little demo or game framework to experiment (even though our next demo as we plan it will be in asm as usual because I will spent a lot of vram and have tiny pieces of soft code and hw tricks there and code would be delicate)
— Optimus, 2008-07-23
Alle 23 Kommentare anzeigenWeniger Kommentare anzeigen
It’s really sad, that it don’t work on an amstrad old :( But, nice come back ! I’m looking forward other demos of this kind
— krusty, 2008-08-13
Not bad. Finally blocky effecs also for CPC. To bad it doesn use any specific features except for the pictures…
— Exin, 2008-08-20 · rulez
Nice stuff Norecess!
— Cleaner, 2009-01-24 · rulez
yep
— kyv, 2010-02-10 · rulez
stylish, and great piccy. but the charmode effects are very very basic. why not use some ditherpatterns?
— earx, 2010-02-10
Nice performance for C. I wish the C compiler we have on the Oric was as good.
— Dbug, 2010-02-10 · rulez
Nice !
— lsl, 2010-02-10 · rulez
imo, this was the first serious demo of NoRecess… It’s good try for a comeback!
— voxy, 2011-08-31 · rulez
wow
— sensenstahl, 2014-11-18 · rulez
Some premises to phX ?
— MacDeath, 2018-04-04 · rulez
Gotta love this!
— SuTeKH/Epyteor, 2019-09-14 · rulez
Cool, FAT demo! Unfortunataly some coder colors here and un-touched, directly converted gfx (yes, coder admited that fact). But still, a very good stuff!
— sim, 2023-10-31 · rulez
Proper YouTube https://www.youtube.com/watch?v=Pp5ynhWfHqI …
— ded^RMDA, 2023-10-31
