You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: splashasm/README.md
+25-36Lines changed: 25 additions & 36 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -10,30 +10,30 @@ A toy language and binary format for describing SPI & I2C dumps, aimed at puttin
10
10
11
11
2. Write a .splash file, or use one of the examples
12
12
13
-
3. Run ```python3 splash_assembler.py <input>.splash -o output.bin```
13
+
3. Run `python3 splash_assembler.py <input>.splash -o output.bin` (You need python 3.12 or later)
14
14
15
15
4. Either already be on or mount a bootable Raspberry Pi drive
16
16
17
-
5. Copy this output.bin file into ```/boot/firmware/```
17
+
5. Copy this output.bin file into `/boot/firmware/`
18
18
19
-
6. Edit ```/boot/firmware/config.txt```, adding a line ```splash_screen=output.bin``` anywhere in the file
19
+
6. Edit `/boot/firmware/config.txt`, adding a line `splash_screen=output.bin` anywhere in the file
20
20
21
21
## Tips
22
22
23
23
* To import an image for splash screens, write a python script to output your image binary in the correct format into a human readable splash file
24
24
* Consts are useful, the way I have written this is so that you can structure a generic configuration file for your ic, and then have the actual data in another file. This allows the configuration files to be reused. Use extern consts and expressions like I have in st7789.splash to keep things clean
25
25
26
-
## The langauge
26
+
## The language
27
27
28
28
There are five kinds of instructions you can write
29
29
30
-
-```define```
31
-
-```command``` - this is not a keyword, you write the command name as defined in define to invoke it
32
-
-```const```
33
-
-```delay```
34
-
-```import```
30
+
-`define`
31
+
-`command` - this is not a keyword, you write the command name as defined in define to invoke it
@@ -234,8 +223,8 @@ What are valid params for each instruction are better defined in the binary docs
234
223
235
224
## Limitations
236
225
237
-
- This is incompatible with the Pi 5
238
-
- You can only have a maximum of 4 SPI defines
239
-
- You can only have a maximum of 10 I2C defines
226
+
- This is currently incompatible with the Pi 5
227
+
- You can have a maximum of 4 SPI defines
228
+
- You can have a maximum of 10 I2C defines
240
229
- The delays are blocking and therefore a long splash description will slow down a boot
241
-
- The only timing garuntee is that if you write a delay command, there will be a wait strictly greater than your delay command. This is not made for timing sensitive applications, there are further delays due to parsing
230
+
- The only timing guarantee is that if you write a delay command, there will be a wait strictly greater than your delay command. This is not made for timing sensitive applications, there are further delays due to parsing
0 commit comments