Skip to content

A JS/WASM sandbox for halfphi #1

Description

@isenbek

Asked for when the library was scoped, and not built yet: a browser surface that
drives halfphi directly rather than through the 6502 layer, so the library can
be used and demonstrated on any die in the visual6502 three-file form.

What it needs to do

Load a chip's segdefs.js / transdefs.js / nodenames.js at runtime —
not baked in at build time, which is how this project's wasm works today and is
the reason it is about one chip.

That is also the licence-safe shape: the sandbox ships no die data, the user
supplies it, and the CC BY-NC-SA obligations never attach to what is served.

Rough surface

  • Parse three files into a netlist; report nodes, transistors, names, polygons,
    layers present, rails.
  • Power on, settle, report convergence.
  • Read and drive named nodes.
  • Ideally: draw the polygons, since Parsed already returns them and the
    renderer in web/ proves the geometry pipeline works.

Watch out for

  • The layer set differs per chip: the 6800 and Z80 have no layer 2, so the
    exploded view's layer collapsing cannot be a constant here.
  • Rails differ: the 6800 calls ground gnd.
  • The Z80 does not converge from a cold power-on (The Z80 does not converge from a cold power-on halfphi#2), so
    the sandbox must display that state rather than spin.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions