8-bit Deconstructed
I ran @geoffl's program and got this.
Source: https://bbcmic.ro/?t=aNqOo #bbcbasic
Are all the GXR's pattern fills properly documented anywhere?
I ran @geoffl's program and got this.
Source: https://bbcmic.ro/?t=aO2jh #bbcbasic
#bbcmicrobot @geoffl
MO.1:S=128:s=4:F.C=0TO79:F.X=0TO1:F.Y=0TO1:GC.C,X+Y+Y:MOVE(C DIV8+X/2)*S,((7A.C)+Y/2)*S:PL.97,60,60:GC.C,3:P.TAB(C DIV8*s,28-(7A.C)*s);C;CHR$(42A.C>0A.(15A.C)=0):N.,,:V.5,21
Only *ed patterns seem documented.
In the left two columns the first GCOL arg is (partly?) interpreted as a logical op, and the second arg has some influence.
I suspect other patterns are accidental due to reading outside of the built-in tables for 4-colour modes.
They seem the same on a master though.
I ran @rheolism's program and got this.
Source: https://bbcmic.ro/?t=aPgsU #bbcbasic
#bbcmicrobot MO.1:F.P=2TO5:V.23,P:F.I=0TO7:V.I?(&C078+P*8):N.,:S=128:s=4:F.C=0TO79:F.X=0TO1:F.Y=0TO1:GC.C,X+Y+Y:MOVE(C DIV8+X/2)*S,((7A.C)+Y/2)*S:PL.97,60,60:GC.C,3:P.TAB(C DIV8*s,28-(7A.C)*s);C;CHR$(42A.C>0A.(15A.C)=0):N.,,:V.5,21
This redefines each of the 4 patterns using the character data of digit 1 to 4 respectively.
It shows most "extra" patterns depend on the data of the defined pattern which is the set pattern number AND &70
I ran @rheolism's program and got this.
Source: https://bbcmic.ro/?t=aPner #bbcbasic
#bbcmicrobot
MO.1:F.C=0TO3:V.28;C*8+7,39,C*8:C.NOTC:C.C:CLS:P.;3-C:N.:V.26,20:F.C=16TO31:GC.C,0:MOVE(C-14)*64,32:PL.97,60,@%:V.31,C*2-28,31:P.;C;:N.:V.5,21
This shows that pattern number AND 15 is actually still interpreted as a logical operation.
16->0 so replaces, 17->1 ORs the pattern bits, 18->2 ANDs, 19->3 EORs and 20->4 simply inverts the pixels already there (ignoring the pattern just like GCOL4,X ignores X).
21 to 31 -> 5 to 15 which have undefined effects.
I ran @rheolism's program and got this.
Source: https://bbcmic.ro/?t=aPAz8 #bbcbasic