_ _ ____
| |__ (_)_ __ |___ \__ _____ ____
| '_ \| | '_ \ __) \ \ /\ / / _ \_ /
| |_) | | | | |/ __/ \ V V / (_) / /
|_.__/|_|_| |_|_____| \_/\_/ \___/___|
A Node.js-based utility for converting binary files to Wozmon formatted text.
Wozmon — Steve Wozniak's 256-byte Apple 1 monitor — takes memory deposits in the
form ADDR: XX XX XX. That is all this tool emits, so its output can be pasted
over a serial terminal into any machine running Wozmon or a compatible monitor,
on the Apple 1 or otherwise.
npm install -g bin2woz
- Clone the repository:
git clone https://github.com/acwright/bin2woz.git
cd bin2woz
- Install dependencies:
npm install
- Build the project:
npm run build
- (Optional) Link globally:
npm link
Convert a binary file to Wozmon format starting at address 0x0000:
bin2woz <path-to-binary-file>
Specify a custom starting address in hexadecimal:
bin2woz -a 0x800 <path-to-binary-file>
or
bin2woz --address 0x800 <path-to-binary-file>
bin2woz -a 0x800 program.prg > output.txt
-v, --version- Output the current version-h, --help- Display help information-a, --address <address>- Starting address in hexadecimal (default: 0x0000)
The tool outputs binary data in hexadecimal format with 16 bytes per line:
0800: AA BB CC DD EE 00 11 22 33 44 55 66 77 88 99 FF
0810: 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10
Each line contains:
- 4-digit hexadecimal address
- Colon separator
- Up to 16 bytes in hexadecimal format, space-separated
# Convert a 6502 program binary starting at address 0x800
bin2woz -a 0x800 /path/to/binary/file.bin > output.txt
npm run build
node ./dist/index.js -a 0x800 <path-to-binary-file>
git tag vX.Y.Z
git push origin main --tags
npm publish
bin2woz/
├── src/
│ ├── index.ts # CLI entry point
│ └── Bin2Woz/
│ └── Bin2Woz.ts # Core conversion logic
├── dist/ # Compiled JavaScript
├── package.json
├── tsconfig.json
└── README.md
MIT: https://github.com/acwright/bin2woz/blob/main/LICENSE
Inspired by: https://github.com/simonsunnyboy/bin2woz