aboutsummaryrefslogtreecommitdiffstats
path: root/tools/ppmview.py
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--tools/ppmview.py16
1 files changed, 16 insertions, 0 deletions
diff --git a/tools/ppmview.py b/tools/ppmview.py
new file mode 100644
index 0000000..1e54bd4
--- /dev/null
+++ b/tools/ppmview.py
@@ -0,0 +1,16 @@
+#!/usr/bin/env python3
+# Render a PPM screenshot as ASCII so we can "read" the GB LCD.
+import sys
+def load(path):
+ f=open(path,'rb'); assert f.readline().strip()==b'P6'
+ w,h=map(int,f.readline().split()); f.readline()
+ d=f.read(w*h*3); return w,h,d
+w,h,d=load(sys.argv[1] if len(sys.argv)>1 else 'shot.ppm')
+y0=int(sys.argv[2]) if len(sys.argv)>2 else 0
+y1=int(sys.argv[3]) if len(sys.argv)>3 else h
+for y in range(y0,min(y1,h)):
+ row=[]
+ for x in range(w):
+ i=(y*w+x)*3; b=(d[i]+d[i+1]+d[i+2])//3
+ row.append('#' if b<128 else '.')
+ print(''.join(row))