Python script to convert Apple II/III .DSK (DO) images to ProDOS-ordered images
Go to file
Paul Hagstrom 70e8879bfc
Merge pull request #5 from ct6502/master
Support for disks with arbitrary number of tracks; add sample disks
2024-02-25 16:27:56 -05:00
.gitignore Add support for disks with arbitrary number of tracks; add sample disk images 2024-02-21 09:13:55 -07:00
35track.dsk Add support for disks with arbitrary number of tracks; add sample disk images 2024-02-21 09:13:55 -07:00
35track.po Add support for disks with arbitrary number of tracks; add sample disk images 2024-02-21 09:13:55 -07:00
40track.dsk Add support for disks with arbitrary number of tracks; add sample disk images 2024-02-21 09:13:55 -07:00
40track.po Add support for disks with arbitrary number of tracks; add sample disk images 2024-02-21 09:13:55 -07:00
dsk2po.py Add support for disks with arbitrary number of tracks; add sample disk images 2024-02-21 09:13:55 -07:00
po2dsk.py Add support for disks with arbitrary number of tracks; add sample disk images 2024-02-21 09:13:55 -07:00
README.md Add support for disks with arbitrary number of tracks; add sample disk images 2024-02-21 09:13:55 -07:00

dsk2po and po2dsk

Python scripts to convert Apple II/III .DSK (DO) images to ProDOS-ordered images and vice versa.

This is nothing very exciting, it just maps sectors in .dsk (DOS-order, .do) files into those of a .po (ProDOS-order) file. Most Apple II emulators can handle both, but certain utilities (with which I wanted to use existing .dsk images) assume ProDOS-ordered files.

Usage is just (assuming you've done chmod 755 dsk2po.py, else precede with python command):

./dsk2po.py image.dsk

This will create image.dsk.po alongside it. Pretty much no checking is done. It just goes through all the tracks and converts them, then ends.

Both scripts will handle an arbitrary number of tracks, but will print a warning if the number of tracks is not 35.

This can be used as an action for find, like so:

find imagefolders/\*/\*.dsk -exec ./dsk2po.py {} \;

...which was mostly the point.

You can also go the opposite direction:

./po2dsk.py image.po