> Pixels ; Test correct number of logical pixels for screen size : ( : =25: : 2: <-bbfw%=: >&FFFF:bbfw%=(-256 &DB)=&53 F&: :gap$=3+6+7+11+14+17 P) bbfw%:gap$=3+6+7+20+21+28+29 Z M%=0 127 d M%:':8:txW%=+1 n:txH%=+1::txH%=+1 x8 &BF: 32:cols%=0,0)+1:cols%=cols%-192*(cols%=64)  cols%<3: M%=7:cols%=8  128: 7: 0,128: 0,5 ! 19,5,7,0,0,0, 23,1,0;0;0;0;  5: :gap%=gap$,M%)<>0 (txH%=22 txH%=25) G bbfw%:gap%=gap$,M%)<>0 : Slightly different for BBFW : ! Calculation should be this: ? LOGICAL_XPIXELS=TEXTCOLS*2^(10-INT(LN(TEXTCOLS)/LN(2))) , LOGICAL_YPIXELS=TEXTROWS*(8-2*GAP)*4 : But this works in reality: DgfH%=txH%*(8-2*gap%) : Physical pixels gfW%=txW%*8 :gfY%=gfH%::gfY%=gfY%*2: gfY%>=&300 : Logical pixels (gfX%=gfW%::gfX%=gfX%*2: gfX%>=&400 " Doesn't work for MODE 22 ,% Doesn't work for some DOS MODEs 6: @ Subtly different for BBFW JJ bbfw%:gfY%=gfH%*4 : Fixed EigenY TJ bbfw%:gfX%=gfW%::gfX%=gfX%*2: gfX%>=gfY% : width always > height ^: h#(txW%-M%-5)/2,1);"MODE ";M% r/txW%/2-9,2);txW%;" x ";txH%;" characters" |OtxW%/2-6-gfW%-gfH%,3);gfW%;" x ";gfH%;" physical ";"pixels",txW%>20) NtxW%/2-5-gfX%-gfY%,4);gfX%;" x ";gfY%;" logical ";"pixels",txW%>20) 6 cols%>1:(txW%-cols%-8)/2,5);cols%;" colours"  0,0: 0,7: A%=1 7 !x%="1100101",A%,1)*(gfX%-1) !y%="0110110",A%,1)*(gfY%-1)  x%,y%: A%  (500)=8:M%=M%-2  M%