Draw in create allot and then copy to screen 4352.
wonderful thing in vforth.
at vforth in $a000 I still have about 20kb over for the program.
greeting
Code: Select all
variable l
create grafscr 3696 allot
: getbad
dup 16 / 336 * swap 15 and +
swap 8 / 16 * + grafscr + ;
create bmask
128 c, 64 c, 32 c, 16 c, 8 c, 4 c, 2 c, 1 c,
: plot
over swap
getbad swap 7 and bmask + c@ over c@ or swap c! ;
: unplot
over swap
getbad swap 7 and bmask + c@ not over c@ and swap c! ;
: xplot
over swap
getbad swap 7 and bmask + c@ over c@ xor swap c! ;
: grafikscr
4352 3696 0 fill
151 36867 c! 21 36866 c! 204 36869 c! 14 36864 c!
255 16 do i i 4096 16 - + c! loop
255 16 do 6 i 37888 16 - + c! loop ;
: rechte
50 l c@ + 10 l c@ + do 10 l c@ + i plot loop
50 l c@ + 10 l c@ + do i 10 l c@ + plot loop
50 l c@ + 10 l c@ + do i 50 l c@ + plot loop
51 l c@ + 10 l c@ + do 50 l c@ + i plot loop ;
: text
12 36864 c! 22 36866 c! 174 36867 c! 192 36869 c! ;
: clsgraf
grafscr 3696 0 fill ;
: gehe
grafikscr
5 l c!
clsgraf
10 0 do rechte l c@ 10 + l c! loop
grafscr 4352 3696 cmove
key . text ;