File: hdump_2026.c
Info: News 10 July 2026
File: skytunnel_2026.fs
Info: News 1 June 2026
Secrets: News 8 June 2026
Review: One C File, One Shader, Zero Excuses
File: timeux_2026.c
File: timew_2026.c
Info: News 23 January 2026
Archive: xmasdemo_src_2025.zip (browse)
Archive: xmasdemo_data_2025.zip (browse)
Article: The Xmas Demo 2025
Review: A Masterclass in Technical Excellence and Demoscene Artistry
Archive: xmasdemo_src_2024.zip (browse)
Archive: xmasdemo_data_2024.zip (browse)
Article: The Xmas Demo 2024
File: average_neon_2024.c
Info: News 17 April 2024
Archive: xmasdemo_src_2023.zip (browse)
Archive: xmasdemo_data_2023.zip (browse)
Article: The Xmas Demo 2023
Archive: nano_fractals_2023.zip (browse)
Article: Edgehog: 1080p60 Nano Fractals
Archive: neon_scaler_2023.zip (browse)
Article: A Fast Image Scaler for ARM Neon
Archive: xmasdemo_shaders_2022.zip (browse)
Article: The Xmas Demo 2022
Archive: xmasdemo_2021.zip (browse)
Article: The Xmas Demo 2021
Archive: xmasdemo_2020.zip (browse)
Article: The Xmas Demo 2020
Archive: recycler_2020.zip (browse)
Article: Dreamscape & Eclipse: The Final Cut
Archive: Invention_TG94_2020.zip (browse)
Article: Real Programming
40KB Amiga intro released at The Gathering 1994. I recovered the source in 2020 and fixed an old
timing bug, so it should run smoothly now. On an Amiga 1200 or 4000, of course. Uses the copper to
provide a 92x92 12-bit truecolor screen.
Archive: quat_2019.zip (browse)
Article: Real Programming
Generator for the video
Quaternion HQ Tech Demo [youtube.com].
It's the old Julia quaternion code ported to straight C, a couple of bugs fixed, and quality turned
up to 11. Windows multi-threaded version. Probably trivial to port to Linux. Not real-time at all.
It's a generator.
Archive: cliffy_2019.zip (browse)
Article: Real Programming
Generator for the videos
Superhero [youtube.com]
and
Wobblerne 2 [youtube.com].
YUV dump from the VHS tape not included. It's quite large, around 30 GB. Contact me if you want a
copy.
Archive: remix2_2019.zip (browse)
Article: Dreamscape & Eclipse: The Final Cut
File: bayer_2018.c
Article: Real Programming
It cuts a lot of corners, literally. Uses AVX2 intrinsics including the ultra-cool maddubs. Intel
occasionally gets their naming right.
Archive: imagetrans_2018.zip (browse)
Article: Exploiting the Cache: Faster Separable Filters
Archive: xmasdemo_2017.zip (browse)
Article: The Xmas Demo 2017
Archive: tilegx_int_raytracer_2017.zip (browse)
Article: Integer Raytracing on Tilera TILE-Gx
Archive: gpuray_2017.zip (browse)
Article: GPURay - GPU+CPU Raytracer for NVidia Tegra X1
File: satan2_2017.cpp
Article: Real Programming
A fast way to calculate 2x4 atan2() values using ARM Neon. Also, the name is legendary.
Archive: srtp_aes_revisited_2016.zip (browse)
Article: SRTP AES Optimization Revisited
Archive: gpu_hacks_2016.zip (browse)
Article: GPU Hacks: Fractals, a Raytracer and Raytraced Quaternion Julia Sets
Archive: raytracer_2016.zip (browse)
Info: News 27 June 2016
Archive: tilegx_aes_openssl_2015.zip (browse)
Article: OpenSSL aes_core.c Replacement for Tilera TILE-Gx
File: scharr_tilegx_2014.c
Article: Real Programming
A fast Scharr (Sobel-type) filter for TILE-Gx. Exploits the fact that the vertical filters can be
expressed as sums of horizontal filters.
File: average_neon_2014.c
Article: Real Programming
Calculate the average of an area quickly using ARM Neon intrinsics. It does this by masking out the
left and right parts, so there's just a single X-loop.
Archive: tilegx_bilinear_par_2014.zip (browse)
Article: Bilinear Picture Scaling on Tilera TILE-Gx
Archive: multiquake_2014.zip (browse)
Article: MultiQuake - Quake for Tilera TILE-Gx CPUs
Archive: multidoom_2014.zip (browse)
Article: MultiDoom - Doom for Tilera TILE-Gx CPUs
Archive: tilegx_raytracer_2014.zip (browse)
Article: Raytracing on Tilera TILE-Gx
File: rgb2yuv_tilegx_2013.cpp
Article: RGB to YUV conversion on Tilera TILE-Gx
File: fix_2013.awk
Article: Real Programming
AWK script to convert GCC TILE-Gx assembler output to readable code.
File: yuv2rgb_sse2_2012.cpp
Article: YUV to RGB Conversion using SSE2
File: yuv2rgb_tilegx_2012.c
Article: YUV to RGB Conversion on Tilera TILE-Gx
File: box_sse2_2012.cpp
Article: A look at Halide's SSE2 3x3 Box Filter
File: aes_tilegx_2011.c
Article: AES Optimization on Tilera TILE-Gx
File: srtp_aes_2010.c
Article: SRTP AES Optimization
Unfortunately, I haven't been able to recover much from this period. Pictures of some fun stuff we did for TANDBERG can be found here: TANDBERG Secrets.
Archive: homepilotsrc_1999.zip (browse)
Article: PCTVNet HomePilot Set-Top Box
Archive: Logla_02_1996.zip (browse)
A compiler that generates 68000 code for a simple programming language.
Written in C++ version 2 in 1996.
C++ version 2 was the last version that was useful. They really crapped it up after that. I compiled
the compiler (ha) and tested it in 2020. It still works.
Archive: Speed_TG95.zip (browse)
Article: Real Programming
64KB Amiga intro released at The Gathering 1995. Features a raytracer written by a friend of mine.
Archives: NoTemptations_part1.lha, NoTemptations_part1.zip (browse)
Article: Triumph Amiga Demos and Source Code
This page uses a modified panel from the webcomic
Abstruse Goose, strip 483:
bad boy
Credits: "The Abstruse Goose comic is a subsidiary of the powerful and evil Abstruse Goose Corporation."
License:
Attribution-NonCommercial 3.0 United States (CC BY-NC 3.0 US)