scene.org File Archive

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

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.