..

Week of the 09/15/2025 - #38

Contents

tech

  • Shadertoy resources
  • Commodore PET text demo
  • Magazine archive
  • Nanogems
  • The origins of DEL (0x7F) and its Legacy in Amiga ASCII art
  • P01 a.k.a. Mathieu ‘p01’ Henri
  • EP-133 export to DAW

art

  • Urban Sketching

Shadertoy resources

I’ve been looking a little more into Shadertoy and found some useful resources.


Commodore PET text demo

This is an awesome Commodore PET text demo called “Back to the Pet” from 2023.

Commodore PET text demo screenshot

  • YouTube Video - A good quality video of the demo running
  • Demozoo entry - Here you can download the executable code.
  • Meteorics - This demo was nominated for the “Best Oldschool Procution” category.

Magazine archive

Zoomable Byte Magazine Archive screenshot

  • Zoomable Byte Magazine Archive - This is an awesome and very fast archive of all issues of Byte magazine. From the site: “This zoomable map shows every page of every issue of BYTE starting from the front cover of the first issue (top left) to the last page of the final edition (bottom right). The search bar runs RE2 regex over the full text of all 100k pages. The archive itself is not new, scans of BYTE have long existed on the Internet Archive and elsewhere on the net – but I hope seeing everything in single, searchable place offers a unique perspective.”
  • VintageApple.org - Another archive with scanned issues of Byte, PC World Magazine, Macworld, Macuser, and many other Apple related books and manuals.

Urban Sketching

Another thing that I really enjoy is to do Urban Sketching. I follow many great artists in Instagram. Here are some sketches that I love.

Sketch 1

Sketch 2

In these two I love the way the artist (Matt Gibbons) give less detail to the background buildings which really makes the other buildings pop out.

Sketch 3

This is from an Argentinian sketcher (William Trejo). Love how the people in front of the scene make the sketch come alive.

Sketch 4

Love her pencil work. Mariia Ovsianikova


Nanogems

As you know by know I am a fan of sizecoding. There is a site called Nanogems where you can find some cool examples of sizecoding. Some have source code so here are some of the ones I liked:

Kacifantos screenshot

Screenshot of Seeing the light ...

Screenshot of Remnants ...

Shiftride screenshot

Drinking Fountain

Screenshot


The origins of DEL (0x7F) and its Legacy in Amiga ASCII art

This is a very interesting and exhaustive article on the history of the DEL character in Amiga ASCII art. Here is the link

DEL character in Amiga Topaz font

Amiga Topaz font


P01 a.k.a. Mathieu ‘p01’ Henri

Monospace demo

Voltra demo

Creative coder, Technical Speaker, Demoscener, JavaScript freak and size optimizer extraordinaire acting on the web platform and in Assembler on PC and Atari ST.


EP-133 export to DAW

I have a Teenageengineering EP-133 K.O.II sampler/sequencer and I love it. It’s very easy to use and create tunes with it. It has the ability to export the samples / patterns / songs you create to a zip+tar format so you save your projects and re-import them later. It is a browser based app. I had a peek at the zip+tar combo and it seemed that it wouldn’t be hard to reverse-engineer the format. It had a basic structure and then it is as simple as creating some tests samples / projects and looking how it got saved. I didn’t have any time to try to do it but fortunately someone has already moved in that direction! A user called “Yura V” (https://github.com/phones24) has created a project to connect to the EP-133, download the file and export it to Ableton Live 11+, DAWproject and MIDI files. I am interested in maybe using the tool to create music for demos and export it into a format that is suitable to be included in the demos. I’ll review the code to understand the file format.

Pads format:

[
    0  0,
    1  0,     // INSTRUMENT NUM
    2  0,     // INSTRUMENT NUM
    3  0,
    4  0,     // TRIM LEFT
    5  0,     // TRIM LEFT
    6  0,     // TRIM LEFT
    7  0,
    8  0,     // TRIM RIGHT
    9  0,     // TRIM RIGHT
    10  0,    // TRIM RIGHT
    11  0,
    12  0,    // TIME STRETCH BPM
    13  0,    // TIME STRETCH BPM
    14  248,  // TIME STRETCH BPM
    15  66,   // TIME STRETCH BPM
    16  100,  // VOLUME (0-200)
    17  0,    // PITCH (negative: 254-255, zero: 0, positive: 1-12, )
    18  0,    // PAN (left: 240-255, center: 0, right: 1-16)
    19  0,    // ATACK (0-255), when in KEY/LEG mode
    20  255,  // RELEASE (0-255), when in KEY/LEG mode
    21  0,    // TIME STRETCH: 0 - OFF, 1 - BPM, 2 - BARS
    22  0,    // CHOKE GROUP: 0 - true, 1 - false
    23  0,    // PLAY MODE: ONE - 0, KEY - 1, LEG - 2,
    24  60,   // PAD ID ?
    25  0,    // TIME STRETCH BARS: 0 - 1, 1 - 2, 3 - 4, 255 - 1/2, 254 - 1/4
    26  0     // PITCH DECIMAL PART
]

Patterns format:

{
    "0": 0,
    "1": 2, // bars
    "2": 8, // notes count
    "3": 0,

    "4": 0,   // position LB
    "5": 0,   // position HB
    "6": 80,  // N / 8 - pad number
    "7": 60,  // note
    "8": 100, // velocity
    "9": 43,  // duration LB
    "10": 0,  // duration HB
    "11": 0,

    "12": 96,
    "13": 0,
    "14": 80,
    "15": 60,
    "16": 100,
    "17": 44,
    "18": 0,
    "19": 245,

    ...
}

Here is a sample project

├── meta.json
├── projects
│   └── P06.tar
└── sounds
    ├── 006 lock kik.wav
    ├── 100 nt snare.wav
    ├── 104 snare mid.wav
    ├── 204 closed hat mid.wav
    ├── 209 hat closed 5x5.wav
    ├── 218 nt hh open.wav
    ├── 300 nt clap.wav
    ├── 333 cabase lm1.wav
    ├── 425 synth 4th hit.wav
    ├── 526 dr organ chord.wav
    ├── 539 exotic pluck.wav
    ├── 555 nt chordy.wav
    ├── 558 03d.wav
    └── 651 sample.wav

The meta.json looks like this:

{
  "info": "teenage engineering - pak file",
  "pak_version": 1,
  "pak_type": "project",
  "pak_release": "1.2.0",
  "device_name": "EP-133 MIDI 1",
  "device_sku": "TE032AS001",
  "device_version": "2.0.0",
  "generated_at": "2025-04-09T21:17:15.485Z",
  "author": "computer"
}

And the P06.tar has the following structure:

.
├── fx_settings
├── pads
│   ├── a
│   │   ├── p01
│   │   ├── p02
│   │   ├── ...
│   │   └── p12
│   ├── b
│   │   ├── p01
│   │   ├── p02
│   │   ├── ...
│   ├── c
│   │   ├── p01
│   │   ├── p02
│   │   ├── ...
│   └── d
│       ├── p01
│       ├── p02
│       ├── ...
├── patterns
│   ├── a01
│   ├── a02
│   ├── a03
│   ├── a04
│   ├── a05
│   ├── a06
│   ├── a07
│   ├── b02
│   ├── b03
│   ├── b04
│   ├── c01
│   ├── c02
│   ├── c03
│   ├── c04
│   ├── d01
│   ├── d02
│   ├── d03
│   └── d04
├── scenes
└── settings

7 directories, 70 files