: w@-le ( addr ) dup c@ swap 1+ c@ 8 << or ; : test-tree " dev /chosen" evaluate .properties " /openprom" " selftest" execute-device-method " dev /openprom" evaluate .properties ; : init-gfx 10 30 pci-l@ /n 8 = if 10 34 pci-l@ 20 << or then dup 2+ w@-le + 0 byte-load ; init-gfx dev / ls dev /pci ls dev /pci/ATY,QTEMU words .properties " /pci/ATY,QTEMU" open-dev . frame-buffer-adr . : write-line ( char faddr ) over 1 and 0<> over 8 + c! over 2 and 0<> over 7 + c! over 4 and 0<> over 6 + c! over 8 and 0<> over 5 + c! over 10 and 0<> over 4 + c! over 20 and 0<> over 3 + c! over 40 and 0<> over 2 + c! over 80 and 0<> over 1 + c! 2drop ; : func (romfont-8x16) 40 10 * + 10 0 do dup i + c@ frame-buffer-adr d# 20 d# 640 * + 20 + i d# 640 * + write-line loop ; func \ bye