Créditos
- Código — NoRecess
Créditos tal como aparecen en Pouet.
Phat es mi demo del «comeback». Todo empezó en 2008, cuando me hice con la última versión de WinApe y la probé con el compilador de C Z88DK. Tras las primeras pruebas me di cuenta de que el desarrollo para CPC era posible por esa vía. Así que empecé a programar el efecto de «túnel al cuadrado» y quedé bastante contento con el resultado. Al mismo tiempo, Grim de Arkos me ayudó muchísimo a refrescar mis conocimientos del CPC. De vez en cuando le enseñaba previews… y me escribió un player PT3 para CPC a medida que aprovechaba las funciones avanzadas del Amstrad 6128 Plus y permitía reproducir música a 50 Hz sin preocuparse por los interrupts. Esta demo estaba mal diseñada, pero aun así había muchos efectos variados que ver.
YouTube :
Presentación
Ocho imágenes, capturadas desde la imagen de disquete de la release.








Comentarios de Pouet
Los comentarios siguientes se dejaron en Pouet.net sobre Phat. Se citan tal como se escribieron. Copiados de esa página el 17 de agosto de 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
Mostrar los 23 comentariosMostrar menos comentarios
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
