AGC/Agat Container Editor

drop an .agc container here to change what it says, or a .dsk, .nib, .aim or .fil to start one that carries it — or Open… one
ready
Takes An .agc container, to change what it says. Any image the emulator takes — .dsk, .nib, .aim, .fil — opens as a new container carrying it, which is how one is made. Format is detected by size, not by extension.
Program What the program is and where it came from. Info and Hint are shown on the emulator's card under the controls: info is what the program is, at whatever length it takes, and the hint is the one thing whoever is about to play has to be told. Notes is the record — provenance, credits, what a patch does — and nothing shows it.
Machine The machine the container asks for. Every slot is listed with what would actually be fitted there, so a slot left at stock shows the card the model brings rather than nothing. A card named in one slot is that card moved, not a second one: putting the 840K controller in slot 6 takes it out of slot 5.
Keys A host key the program reads, and what it sends: $5E, ^ or a name like Up. The hint says what the key does and is printed beside it on the on-screen board. A key with a hint and no code is declared as it already is.
Controls What the program reads and what each code is for, in the groups the card prints side by side. These are Agat codes, not host keys: a line is one or more of them sharing a label, so Up Down Left Right is one line rather than four. Groups and lines are printed in the order they are in here.
Media The images the container carries, in the order the drives are filled. in overrides that — a drive, with :2 for the second on that cable, or none for a medium carried without being mounted. Every medium is locked unless writable says otherwise. Merge folds a medium's patches into the image it carries, which is for a disk that has been written to and is not going back; a patch with a note on it is somebody's writing, and merging says so first.
Saving The payloads are written back as they were found, byte for byte, and the fields keep the order the file had them in — so a container edited here shows up in a diff as the fields that were changed. A field this reader does not know is dropped rather than carried through.
CLI node tools/agc.js does all of this on a command line, and globs medium names as well.

Part of agat-web.