File download
<root>/parties/2026/sommarhack26/short-demo/jan15.zip
- File size:
- 7 070 590 bytes (6.74M)
- File date:
- 2026-09-20 09:22:04
- Download count:
- all-time: 0
Download:
Preview
- __MACOSX/._README.txt 176B
- __MACOSX/src/._.DS_Store 120B
- __MACOSX/src/._audio.s 176B
- __MACOSX/src/._debug.s 176B
- __MACOSX/src/._fade.s 176B
- __MACOSX/src/._helpers.s 176B
- __MACOSX/src/._main.s 176B
- __MACOSX/src/._Makefile 267B
- __MACOSX/src/._scroll.txt 263B
- __MACOSX/src/._scroller.s 176B
- __MACOSX/src/._spu.s 176B
- __MACOSX/src/assets/._.DS_Store 120B
- __MACOSX/src/assets/._audio.wav 1.66K
- __MACOSX/src/assets/._font6.png 233B
- __MACOSX/src/assets/._image512.png 806B
- __MACOSX/src/assets/._image_full.png 616B
- __MACOSX/src/assets/._regions.csv 262B
- __MACOSX/src/tools/compsample/._.DS_Store 120B
- __MACOSX/src/tools/downsample/._.DS_Store 120B
- __MACOSX/src/tools/emitadjaudio/._.DS_Store 120B
- __MACOSX/src/tools/fontgen/._.DS_Store 120B
- __MACOSX/src/tools/genymtable/._.DS_Store 120B
- __MACOSX/src/tools/spec512/._.DS_Store 120B
- jan15.tos 317.77K
- README.txt 3.41K
- src/ dir
- src/.DS_Store 8.00K
- src/assets/ dir
- src/assets/.DS_Store 6.00K
- src/assets/audio.wav 2.78M
- src/assets/font6.png 478B
- src/assets/image512.png 174.41K
- src/assets/image_full.png 3.08M
- src/assets/regions.csv 82B
- src/audio.s 7.71K
- src/debug.s 1.91K
- src/fade.s 3.01K
- src/helpers.s 4.77K
- src/main.s 18.54K
- src/Makefile 5.18K
- src/scroll.txt 785B
- src/scroller.s 5.33K
- src/spu.s 5.51K
- src/tools/ dir
- src/tools/.DS_Store 10.00K
- src/tools/common/ dir
- src/tools/common/audio.hpp 1.10K
- src/tools/common/byteio.hpp 1.95K
- src/tools/common/util.hpp 1.66K
- src/tools/common/wav.cpp 3.09K
- src/tools/common/wav.hpp 736B
- src/tools/compsample/ dir
- src/tools/compsample/.DS_Store 6.00K
- src/tools/compsample/compsample 179.96K
- src/tools/compsample/Makefile 681B
- src/tools/compsample/README.txt 1.12K
- src/tools/compsample/src/ dir
- src/tools/compsample/src/codec.cpp 23.85K
- src/tools/compsample/src/codec.d 144B
- src/tools/compsample/src/codec.hpp 3.10K
- src/tools/compsample/src/codec.o 30.94K
- src/tools/compsample/src/codec_common.hpp 752B
- src/tools/compsample/src/main.cpp 5.27K
- src/tools/compsample/src/main.d 218B
- src/tools/compsample/src/main.o 116.75K
- src/tools/compsample/src/wav.d 193B
- src/tools/compsample/src/wav.o 109.16K
- src/tools/downsample/ dir
- src/tools/downsample/.DS_Store 6.00K
- src/tools/downsample/downsample 144.43K
- src/tools/downsample/Makefile 0.99K
- src/tools/downsample/README.txt 1.65K
- src/tools/downsample/src/ dir
- src/tools/downsample/src/main.cpp 10.49K
- src/tools/downsample/src/main.d 245B
- src/tools/downsample/src/main.o 118.71K
- src/tools/downsample/src/mp3_decode.cpp 3.01K
- src/tools/downsample/src/mp3_decode.d 378B
- src/tools/downsample/src/mp3_decode.hpp 424B
- src/tools/downsample/src/mp3_decode.o 107.32K
- src/tools/downsample/src/psy.cpp 5.04K
- src/tools/downsample/src/psy.d 48B
- src/tools/downsample/src/psy.hpp 760B
- src/tools/downsample/src/psy.o 5.01K
- src/tools/downsample/src/resample.cpp 3.70K
- src/tools/downsample/src/resample.d 109B
- src/tools/downsample/src/resample.hpp 1.08K
- src/tools/downsample/src/resample.o 5.14K
- src/tools/downsample/src/wav.d 193B
- src/tools/downsample/src/wav.o 109.16K
- src/tools/emitadjaudio/ dir
- src/tools/emitadjaudio/.DS_Store 6.00K
- src/tools/emitadjaudio/Makefile 487B
- src/tools/emitadjaudio/README.txt 1.54K
- src/tools/emitadjaudio/src/ dir
- src/tools/emitadjaudio/src/main.cpp 9.68K
- src/tools/fontgen/ dir
- src/tools/fontgen/.DS_Store 6.00K
- src/tools/fontgen/fontgen 35.88K
- src/tools/fontgen/Makefile 495B
- src/tools/fontgen/README.txt 759B
- src/tools/fontgen/src/ dir
- src/tools/fontgen/src/main.cpp 5.00K
- src/tools/fontgen/src/main.o 8.85K
- src/tools/genymtable/ dir
- src/tools/genymtable/.DS_Store 6.00K
- src/tools/genymtable/genymtable 34.85K
- src/tools/genymtable/Makefile 477B
- src/tools/genymtable/README.txt 1.17K
- src/tools/genymtable/src/ dir
- src/tools/genymtable/src/main.cpp 7.64K
- src/tools/genymtable/src/main.d 25B
- src/tools/genymtable/src/main.o 9.10K
- src/tools/spec512/ dir
- src/tools/spec512/.DS_Store 6.00K
- src/tools/spec512/Makefile 469B
- src/tools/spec512/README.txt 940B
- src/tools/spec512/spec512 77.48K
- src/tools/spec512/src/ dir
- src/tools/spec512/src/color.hpp 2.82K
- src/tools/spec512/src/dither.cpp 3.59K
- src/tools/spec512/src/dither.hpp 943B
- src/tools/spec512/src/dither.o 19.25K
- src/tools/spec512/src/main.cpp 8.22K
- src/tools/spec512/src/main.o 34.12K
- src/tools/spec512/src/metrics.hpp 1.88K
- src/tools/spec512/src/output.cpp 2.72K
- src/tools/spec512/src/output.hpp 1.22K
- src/tools/spec512/src/output.o 6.38K
- src/tools/spec512/src/png_image.cpp 4.55K
- src/tools/spec512/src/png_image.hpp 799B
- src/tools/spec512/src/png_image.o 8.95K
- src/tools/spec512/src/spec512.cpp 7.45K
- src/tools/spec512/src/spec512.hpp 2.27K
- src/tools/spec512/src/spec512.o 25.47K
- src/tools/spec512/src/st_color.hpp 1.37K
file_id.diz
==============================================================================
Janitor 15
==============================================================================
A Short Demo for the Sommarhack 2026 Short Demo compo, by T.O.Y.S.
What to make for a Short Demo? I have lost count of how many times I booted
Starglider just to hear the sampled music, or Wings of Death only to stare
at the intro picture. And I never coded anything for plain ST, so why not...
A 33-second 15 kHz sample AND a Spectrum 512 image on a bog-standard half-meg
plain ST, exactly as one rolled off the assembly line in the summer of 1985.
------------------------------------------------------------------------------
Credits
------------------------------------------------------------------------------
PeyloW code and "design".
AiO audio engineering.
Claude tools.
------------------------------------------------------------------------------
What it does
------------------------------------------------------------------------------
Spectrum 512 image 512 colours via a cycle-exact raster palette. A full
row costs 492 cycles, leaving nothing for the YM - so
every other line reloads only 32 colours, not 48, to
buy back the time the sample replay needs.
33 s 15 kHz sample played on the YM2149 by ganging its three volume
channels into one software DAC (~8-bit PCM), packed
~2:1 with a custom adaptive delta coder, so it fits in
half a meg, with real-time depacking. 300 samples per
VBL in three bands of replay speed for 15kHz average.
6 px scroll text because every demo needs one.
------------------------------------------------------------------------------
Source
------------------------------------------------------------------------------
main.s entry, the VBL + HBL handlers, the cycle-exact display loop.
helpers.s equates, init/deinit, video + palette setup.
fade.s startup palette fade to black (fade_out).
spu.s Spectrum macros (SYNC_BEAM, SPU_ROW), init_spu.
audio.s YM DAC table, SND_PLAY, init_audio, the incbin'd packed sample.
scroller.s the 6 px scroll text.
debug.s the disabled stuff for debugging.
------------------------------------------------------------------------------
Build
------------------------------------------------------------------------------
Source assets live in ./assets/. The root Makefile builds the host tools in
./tools/, runs them to generate every incbin'd input, then assembles:
assets/image512.png -> [spec512] -> image.spu
assets/audio.wav -> [downsample] -> 15 kHz 8-bit wav
-> [compsample] -> audio.tab + audio.dat
make build tools, regenerate stale assets, link jan15.tos
make tools just the host tools (see tools/*/README.txt)
make clean remove the derived files
------------------------------------------------------------------------------
Run
------------------------------------------------------------------------------
Copy jan15.tos to an ST (or Hatari), a floppy, or a hard disk, then run it.
Requires a plain Atari ST or STe, with half a megabyte of memory.
Tested with TOS 1.04, 1.62, and 2.06.