......................................................................... : : : ### #### ### #### # # # # ### #### ### ##### : : # # # # # # # # # ## # # # # # # # # : : ##### #### ##### # ##### # # # # # ### #### # # # : : # # # # # # # # # # ## # # # # # # # : : # # # # # # #### # # # # ### #### ### # : : : : a 256b MS-DOS intro . VGA mode 13h . PC speaker . by Tomkh : : : ......................................................................... . * . * * . . \ \ | | / / \ \ | | / / \ \ \ | | / / / \ \ \_____|_|_____/ / / \_____\___/ \___/_____/ | / _________ \ | | | / \ | | | | | ####### | | | <-- visor | | \_________/ | | | \ ||| / | | \ ||| / | | ||| | /#####\ /#######\ /#########\ /###########\ /#############\ ----------------/###############\---------------- WHAT IT IS ---------- A lone machine patrols a grey plain under a thin starfield. Its mission: ERASE ORGANIC LIFE. It works the ground back and forth, firing a red laser cone across the field on every pass. Five shots in it halts, holds the beam half a second, and fires the sixth - the one that takes the whole field. Mission accomplished. Only silence remains. arachno.com is exactly 256 bytes. No data tables, no compression, no loader. Every pixel and every note is generated by code that fits inside a single disk sector. RUNNING IT ---------- DOSBox (0.74-3 tested) or real VGA hardware. Give it roughly 10000 cycles or more: the intro writes straight to video memory and waits on the retrace, so an underclocked machine tears rather than breaks. The sound is PC speaker, so make sure that is switched on. THE PROCESS ----------- Written by two models from Anthropic's Claude 5 family, directed prompt by prompt by a human who set the goals, tuned the story beats and called every visual judgement - but left the assembly to the models. CLAUDE FABLE 5 (claude-fable-5) The first session: the spider itself. Flat-shaded body, procedural walk cycle, the left-right patrol, the laser cone, and the debug harness that made any of it verifiable in the first place. CLAUDE OPUS 5 (claude-opus-5) This session: the PC-speaker zap, the banner, the starfield, the ending - and the byte golf that paid for each of them out of the same 256. Also the capture pipeline behind the video. Both worked the same way: assemble it, run it in DOSBox, dump video memory or record the speaker, and measure the result rather than trust it. Two bugs were caught that way which screenshots had hidden entirely. THE PROMPTS ----------- Six prompts, from a much longer conversation, that shaped it: 1. "please create dos intro in asm with binary size <= 256b that renders animated walking 3d flat-shaded spiders possibly with shadow and orthographic/isometric view" 2. "can it go in a loop left to right and right to left ? and at some point start shooting laser towards the camera? figure out the tricks to pack it, golf some existing code, you can do it" 3. "I don't know how, but please squeze into arachno.asm shooting sound when laser fires (can be pc speaker or midi whatever smaller) and add centered text" 4. "i think the story should conclude somehow, so spider shoots few laser rounds and then... what do you think should happen?" 5. "i'm thinking maybe you can squeeze in some static stars above horizon" 6. "great job, but i liked the wide visor, please find 1b saving without sacrificing any visual aspect" INSIDE THE 256 BYTES -------------------- One triangle-wave routine drives the patrol position, the leg gait, the foot lift (sampled a quarter phase away) and even the body silhouette. The rest is bought with tricks: * the frame counter lives in the zero word DOS leaves on the stack * the banner's '$' terminator is really the opcode byte of the AND instruction that happens to follow the text * the starfield is the program's own machine code read as 16-bit screen offsets - stars landing below the horizon erase themselves on the first frame, and the sky above is never cleared again * the laser's pitch is the spider's x coordinate, so the sweep is free * the ending re-enters the laser loop with an oversized cone: the row arithmetic wraps the segment and paints all 64000 bytes in one frame * salc, an undocumented one-byte instruction, stands in for sbb al,al FILES ----- arachno.asm the source: NASM syntax, one file, no includes arachno.com 256 bytes, the intro itself arachno.png screenshot arachno.mp4 video capture readme.txt this file . . . . . . . . . . . . . 256 bytes. One sector. Eight legs.