{"name":"@deckyard/d64","description":"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","versions":{"0.2.0":{"version":"0.2.0","kind":"git","url":"https://github.com/deckyard/deck-d64.git","ref":"0.2.0","commit":"124a07dc8e348b941c1cfa49319b190cf7e22ea0","checksum":"","yanked":false,"license":"LGPL-3.0-only","requires":{},"engines":{"jennifer":"\u003e=0.25.0","jennifer-tiny":"\u003e=0.25.0"},"capabilities":[],"keywords":["d64","commodore","c64","1541","cbm-dos"],"description":"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","publishedAt":"1793208307","repoId":1398621326,"repoOwnerId":346943577,"repoOwner":"deckyard"}},"readme":"# @deckyard/d64\n\n[![test](https://github.com/deckyard/deck-d64/actions/workflows/test.yml/badge.svg)](https://github.com/deckyard/deck-d64/actions/workflows/test.yml)\n[![Documentation](https://img.shields.io/badge/docs-github%20pages-blue)](https://deckyard.github.io/deck-d64/)\n[![release](https://img.shields.io/github/v/release/deckyard/deck-d64)](https://github.com/deckyard/deck-d64/releases/latest)\n\nReads, writes, creates and formats Commodore 1541 D64 disk images: the CBM DOS\n2.6 BAM and directory, SEQ, PRG and USR files, PETSCII names, raw block\naccess, and the 40-track SpeedDOS, DolphinDOS and PrologicDOS BAM layouts.\nPure Jennifer with no capabilities, so it runs on `jennifer-tiny`; only `open`\nand `save` touch the filesystem.\n\nManual: **\u003chttps://deckyard.github.io/deck-d64/\u003e**\n\n## Install\n\nRequires Jennifer 0.25.0 or newer.\n\n```sh\njvc add @deckyard/d64\n```\n\njvc vendors the deck to `vendor/deckyard/d64/`. Without jvc, copy `src/` from\na checkout or a `deckyard-d64-\u003cversion\u003e.tar.gz` release archive there, minus\nthe test overlays:\n\n```sh\nmkdir -p vendor/deckyard/d64\ncp -R path/to/deck-d64/src/. vendor/deckyard/d64/\nfind vendor/deckyard/d64 -name '*_test.j' -delete\n```\n\n## Example\n\n```jennifer\nuse io;\nuse binary;\nimport \"@deckyard/d64/\" as d64;\n\ndef code as bytes init binary.make(600);\ndef img as d64.Image init d64.formatDisk(\"sample disk\", \"01\");\n$img = d64.writeText($img, \"readme\", d64.FileType.Seq, \"hello from jennifer\\n\");\n$img = d64.writeProgram($img, \"demo\", 0x0801, $code);\n\nio.printf(\"%s\", d64.directoryText($img));\n# 0 \"sample disk     \" 01 2a\n#    1 \"readme\"            seq\n#    3 \"demo\"              prg\n# 660 blocks free.\n\nd64.save($img, \"sample.d64\");\n```\n\n## Licence\n\nLGPL-3.0-only, see [LICENSE](LICENSE). Copyright (C) 2026 mplx \u0026lt;mplx@jennifer-lang.dev\u0026gt;.\n"}