Skip to content
deckyardPublic

About

Read, write, create and format Commodore 1541 D64 disk images: CBM DOS 2A directories, BAM allocation, PETSCII names, and the 40-track SpeedDOS / DolphinDOS / PrologicDOS extensions

Topics

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

5 Commits

Folders and files

Repository files navigation

@deckyard/d64

test Documentation release

Reads, writes, creates and formats Commodore 1541 D64 disk images: the CBM DOS 2.6 BAM and directory, SEQ, PRG and USR files, PETSCII names, raw block access, and the 40-track SpeedDOS, DolphinDOS and PrologicDOS BAM layouts. Pure Jennifer with no capabilities, so it runs on jennifer-tiny; only open and save touch the filesystem.

Manual: https://deckyard.github.io/deck-d64/

Install

Requires Jennifer 0.25.0 or newer.

jvc add @deckyard/d64

jvc vendors the deck to vendor/deckyard/d64/. Without jvc, copy src/ from a checkout or a deckyard-d64-<version>.tar.gz release archive there, minus the test overlays:

mkdir -p vendor/deckyard/d64
cp -R path/to/deck-d64/src/. vendor/deckyard/d64/
find vendor/deckyard/d64 -name '*_test.j' -delete

Example

use io;
use binary;
import "@deckyard/d64/" as d64;

def code as bytes init binary.make(600);
def img as d64.Image init d64.formatDisk("sample disk", "01");
$img = d64.writeText($img, "readme", d64.FileType.Seq, "hello from jennifer\n");
$img = d64.writeProgram($img, "demo", 0x0801, $code);

io.printf("%s", d64.directoryText($img));
# 0 "sample disk     " 01 2a
#    1 "readme"            seq
#    3 "demo"              prg
# 660 blocks free.

d64.save($img, "sample.d64");

Licence

LGPL-3.0-only, see LICENSE. Copyright (C) 2026 mplx <mplx@jennifer-lang.dev>.

About

Read, write, create and format Commodore 1541 D64 disk images: CBM DOS 2A directories, BAM allocation, PETSCII names, and the 40-track SpeedDOS / DolphinDOS / PrologicDOS extensions

Topics

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages