Last Updated or created 2023-05-22
Using searle’s design, i can draw pixels using composite video out.
Converting b/w png to hex include files, for usage in vasm I did the following.
#Python script to convert black levels to pixels from PIL import Image i = Image.open("fash.png") pixels = i.load() # this is not a list, nor is it list()'able width, height = i.size all_pixels = [] for x in range(width): for y in range(height): cpixel = pixels[x, y] if cpixel[1] == 255: s = '\t.db 0x05,' + hex(int(x)) + ',' + hex(int(y)) print (s)
Running and output example
python3 image.py > out head out .db 0x05,0x1,0x16 .db 0x05,0x1,0x18 .db 0x05,0x1,0x19 .db 0x05,0x2,0x7 .db 0x05,0x2,0x8 .db 0x05,0x2,0xc .db 0x05,0x2,0xd .db 0x05,0x2,0x17 .db 0x05,0x3,0x5
Control codes and vasm include
01 (01) - Cursor home (Standard ASCII) 04 (04) - Cursor solid 05 (05) - Set graphics pixel (next two bytes = x,y) 0C (12) - Clear screen (Standard ASCII) 0D (13) - Carriage return (Standard ASCII) 0E (14) - Set column 0 to 79 (2nd byte is the column number) or 0 to 39 for a 40 char line 0F (16) - Set row 0 to 24 (2nd byte is the row number) 1B (27) - ESC - reserved for ANSI sequences vasm include part: message: .db 0x01,0x0c ; home and clear .db 0x1b,0x2d ; disable ansi translation include "out" ; include hex "png" .db 0x00 ; end with 0 (part of message print routine)