Coder Social home page Coder Social logo

visualize_1541's Introduction

visualize_1541

visualize_1541 is a tool that creates visualizations of the data layout on G64 Commodore 1541 disk images.

Circular

This representation is useful to visualize custom disk formats and differences in gap sizes.

  • Every track starts at the bottom and is drawn counter-clockwise.

  • Green represents the data. Darker areas have more 0-bits.

  • Red represents a longer sequence of 1-bits.

  • Blue represents a longer sequence of 0-bits.

    python visualize_1541.py disk.g64 disk.png
    

Sector-by-sector

This representation is useful to visualize errors on Commodore-formatted disks. The tool decodes SYNC marks and sector headers.

  • Every pack of 17-21 lines is a track, numbered 1-41.

  • Every line within a pack is one sector.

  • The raw sector contents are drawn from left to right.

  • The cyan part is the header, the green part the data.

  • Black is 0, cyan/green is 1.

  • White represents missing header or sector sections.

    python visualize_1541_blocks.py disk.g64 disk.png
    

More Information

There are two articles about these tools:

Limitations

These are some limitations of the tool for the circular representation:

  • Because the Pillow library cannot draw antialiased lines, the tool renders the image at 16x (!) the resolution and scales it down at the end. This uses a lot of memory, yet there are still Moiré artifacts. Using a different image library would be a good idea.
  • Red areas (SYNCs marks) show up as soon as there are 8 1-bits. SYNC detection on the 1541 requires at least 10. (The sector-by-sector tool contains logic for correct SYNC detection that should be ported over.)
  • The data area shows the GCR data. An option should be added to show the GCR-decoded data.
  • nibtool .nbz files are better suited as sources, the tool should be extended to support them.

Author

Michael Steil [email protected], https://www.pagetable.com/

visualize_1541's People

Contributors

mist64 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.