Add instruction format types
diff --git a/index.html b/index.html
index 4f8a689..33812cb 100644
--- a/index.html
+++ b/index.html
@@ -1,17 +1,46 @@
 <!DOCTYPE html>
 
+<title>Searchable RISC-V instruction set reference</title>
+
 <div class="wrapper">
 <input type="text" id="searchbox" placeholder="Search RISC-V Instructions"></input>
 </div>
 
+<details>
+	<summary>Instruction format types</summary>
+
+	<ul>
+		<li>R - registers, <code>op rd, rs1, rs2</code>. 3 opcode
+			parts, <code>opcode, funct7, funct3</code></li>
+
+		<li>I - immediate, <code>op rd, rs1, imm[12]</code>. 2 opcode
+			parts, <code>opcode, funct3</code>. Except on ECALL when
+			it uses the immediate section for an opcode, called
+			funct12</li>
+
+		<li>S - store, <code>op, rs1, rs2+imm[12]</code>. 2 opcode
+			parts, <code>opcode</code> and <code>funct3</code>.</li>
+
+		<li>B - Variant of S type, probably means "branch". 2 opcode
+			parts, <code>opcode</code> and <code>funct3</code>.</li>
+
+		<li>U - upper load, <code>op rd, imm[20]</code>.  1 opcode
+			part, <code>opcode</code>.</li>
+
+		<li>J - Variant of J type, jump???. 1 opcode part, <code>opcode</code>.</li>
+
+		<li>pseudo - Pseudo-instruction</li>
+	</ul>
+</details>
+
 <div id="ilist">
 </div>
 
 <hr>
 
 <p class="cite">
-	These listings are generated from documentation written
-	by <a href="https://hg.sr.ht/~icefox/riscv-reference">~icefox</a>
+	The listings in this searchable RISC-V instruction set reference
+	are generated from documentation written by <a href="https://hg.sr.ht/~icefox/riscv-reference">~icefox</a>
 	on sourcehut. Website created by <a href="https://swisschili.sh">swissChili</a>.
 </p>
 <p class="cite">
@@ -32,13 +61,18 @@
  }
 
  dd div,
- #searchbox {
+ #searchbox,
+ code {
 	 background: #fcfaf2;
 	 padding: 4px;
 	 border-radius: 4px;
 	 border: 1px solid #f4f2e8;
  }
 
+ code {
+	 padding: 2px;
+ }
+
  #searchbox {
 	 font-size: 14pt;
 	 padding: 12px 20px;
@@ -61,6 +95,14 @@
  hr {
 	 border-color: #CCC;
  }
+
+ details {
+	 margin-bottom: 2em;
+ }
+
+ summary {
+	 cursor: pointer;
+ }
 </style>
 
 <script>