diff --git a/gallery/test.pdf b/gallery/test.pdf new file mode 100644 index 0000000..b9d3795 Binary files /dev/null and b/gallery/test.pdf differ diff --git a/gallery/test.typ b/gallery/test.typ new file mode 100644 index 0000000..16b0d90 --- /dev/null +++ b/gallery/test.typ @@ -0,0 +1,7 @@ +#import "../src/lib.typ": * + +#let test = schema.load("/gallery/test.yaml") +#schema.render(test, config: config.blueprint( + full-page: true, + default-font-family: "Ubuntu Mono" +)) \ No newline at end of file diff --git a/gallery/test.yaml b/gallery/test.yaml new file mode 100644 index 0000000..2ca7964 --- /dev/null +++ b/gallery/test.yaml @@ -0,0 +1,73 @@ +structures: + main: + bits: 32 + ranges: + 31-28: + name: cond + 27: + name: 0 + 26: + name: 1 + 25: + name: I + 24: + name: P + description: pre / post indexing bit + values: + 0: post, add offset after transfer + 1: pre, add offset before transfer + 23: + name: U + description: up / down bit + values: + 0: down, subtract offset from base + 1: up, addition offset to base + 22: + name: B + description: byte / word bit + values: + 0: transfer word quantity + 1: transfer byte quantity + 21: + name: W + description: write-back bit + values: + 0: no write-back + 1: write address into base + 20: + name: L + description: load / store bit + values: + 0: store to memory + 1: load from memory + 19-16: + name: Rn + description: base register + 15-12: + name: Rd + description: source / destination register + 11-0: + name: offset + depends-on: 25 + values: + 0: + description: offset is an immediate value + structure: immediateOffset + 1: + description: offset is a register + structure: registerOffset + immediateOffset: + bits: 12 + ranges: + 11-0: + name: 12-bit immediate offset + description: unsigned number + registerOffset: + bits: 12 + ranges: + 11-4: + name: shift + description: shift applied to Rm + 3-0: + name: Rm + description: offset register diff --git a/typst.toml b/typst.toml new file mode 100644 index 0000000..a10dcb7 --- /dev/null +++ b/typst.toml @@ -0,0 +1,14 @@ +[package] +name = "rivet" +version = "0.0.1" +compiler = "0.11.0" +repository = "https://git.kb28.ch/HEL/rivet-typst" +entrypoint = "src/lib.typ" +authors = [ + "Louis Heredero " +] +categories = [ "visualization" ] +license = "Apache-2.0" +description = "Register / Instruction Visualizer & Explainer Tool with Typst, using CeTZ" +keywords = [ "assembly", "instruction", "binary" ] +exclude = [ "/gallery/*" ] \ No newline at end of file